.ph-feature-page { min-height: 100vh; background: #f8fafc; color: var(--ph-navy, #0a1c37); }
.ph-feature-shell { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 52px 0 88px; }
.ph-feature-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.ph-feature-eyebrow { margin-bottom: 7px; color: var(--ph-signature-blue, #1368ff); font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.ph-feature-heading h1 { margin: 0; font: 700 clamp(32px, 4vw, 46px)/1.08 "Plus Jakarta Sans", sans-serif; letter-spacing: -.045em; }
.ph-feature-heading p { max-width: 700px; margin: 9px 0 0; color: #68758a; font-size: 15px; line-height: 1.65; }
.ph-feature-heading p a { color: var(--ph-signature-blue, #1368ff); font-weight: 700; text-underline-offset: 3px; }
.ph-feature-heading-icon { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; border-radius: 50%; background: #eaf2ff; color: var(--ph-signature-blue, #1368ff); }
.ph-feature-heading-icon svg { width: 23px; height: 23px; }
.ph-personalize-card { display: flex; align-items: center; gap: 14px; margin-bottom: 25px; padding: 15px; border: 1px solid #e4e9f0; border-radius: 16px; background: #fff; }
.ph-personalize-icon { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 13px; background: #fef2f2; color: #ef4444; }
.ph-personalize-icon svg { width: 19px; fill: currentColor; }
.ph-personalize-card > div { min-width: 0; flex: 1; }
.ph-personalize-card strong { font: 700 15px "Plus Jakarta Sans", sans-serif; }
.ph-personalize-card p { margin: 3px 0 0; color: #68758a; font-size: 13px; }
.ph-feature-primary { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--ph-signature-blue, #1368ff); color: #fff; font: 700 13px "Plus Jakarta Sans", sans-serif; cursor: pointer; }
.ph-feature-primary:hover { background: var(--ph-signature-blue-hover, #0a50d2); }
.ph-chip-toolbar { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; }
.ph-feature-chips { display: flex; flex: 1; gap: 8px; overflow-x: auto; padding: 2px 1px 7px; scrollbar-width: thin; }
.ph-feature-chip { min-height: 38px; flex: 0 0 auto; padding: 0 15px; border: 1px solid #dce3ea; border-radius: 999px; background: #fff; color: #5a687c; font: 600 12px "Plus Jakarta Sans", sans-serif; cursor: pointer; }
.ph-feature-chip[aria-pressed="true"] { border-color: var(--ph-signature-blue, #1368ff); background: var(--ph-signature-blue, #1368ff); color: #fff; }
.ph-feature-clear { align-self: flex-start; min-height: 38px; padding: 0 9px; border: 0; background: transparent; color: var(--ph-signature-blue, #1368ff); font: 700 12px "Plus Jakarta Sans", sans-serif; cursor: pointer; }
.ph-feature-section-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding-top: 22px; border-top: 1px solid #e7ebf0; }
.ph-feature-section-head h2 { margin: 0; font: 700 24px "Plus Jakarta Sans", sans-serif; letter-spacing: -.025em; }
.ph-feature-section-meta { display: flex; align-items: center; gap: 14px; color: #8791a0; font-size: 12px; }
.ph-icon-text-button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 15px; border: 1px solid #dce3ea; border-radius: 999px; background: #fff; color: #182a44; font: 700 12px "Plus Jakarta Sans", sans-serif; cursor: pointer; }
.ph-icon-text-button svg { width: 16px; height: 16px; }
.ph-icon-text-button:hover { border-color: #b9c6d5; }
.ph-icon-text-button.is-loading svg { animation: ph-spin .8s linear infinite; }
#favoriteFilterCount { min-width: 17px; height: 17px; display: inline-grid; place-items: center; padding: 0 4px; border-radius: 999px; background: var(--ph-signature-blue, #1368ff); color: #fff; font-size: 9px; font-weight: 800; }
@keyframes ph-spin { to { transform: rotate(360deg); } }
.ph-feature-loading, .ph-feature-empty { min-height: 250px; display: grid; place-items: center; align-content: center; gap: 8px; padding: 44px 20px; border: 1px solid #e1e7ee; border-radius: 16px; background: #fff; color: #68758a; text-align: center; }
.ph-feature-empty svg { width: 28px; height: 28px; color: var(--ph-signature-blue, #1368ff); }
.ph-feature-empty h3 { margin: 4px 0 0; color: #0a1c37; font: 700 18px "Plus Jakarta Sans", sans-serif; }
.ph-feature-empty p { margin: 0; font-size: 13px; }
.ph-feature-deal-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ph-calendar-shell { max-width: 920px; }
.ph-calendar-segment { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 24px; padding: 4px; border-radius: 999px; background: #edf1f5; }
.ph-calendar-segment button { min-height: 44px; border: 0; border-radius: 999px; background: transparent; color: #68758a; font: 700 13px "Plus Jakarta Sans", sans-serif; cursor: pointer; }
.ph-calendar-segment button[aria-selected="true"] { background: #fff; color: #0a1c37; box-shadow: 0 3px 11px rgba(10,28,55,.09); }
.ph-calendar-month-panel { margin-bottom: 28px; padding: 24px; border: 1px solid #e1e7ee; border-radius: 20px; background: #fff; }
.ph-calendar-month-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.ph-calendar-arrow { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #dce3ea; border-radius: 50%; background: #fff; cursor: pointer; }
.ph-calendar-arrow svg { width: 19px; height: 19px; }
.ph-calendar-today { display: grid; gap: 3px; border: 0; background: transparent; cursor: pointer; }
.ph-calendar-today strong { font: 800 20px "Plus Jakarta Sans", sans-serif; }
.ph-calendar-today span { color: var(--ph-signature-blue, #1368ff); font-size: 11px; font-weight: 700; }
.ph-calendar-week, .ph-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.ph-calendar-week span { padding: 5px; color: #9aa3b1; font-size: 11px; text-align: center; }
.ph-calendar-day { position: relative; width: min(58px, 100%); aspect-ratio: 1; min-height: 0; display: grid; place-items: center; justify-self: center; border: 4px solid #fff; border-radius: 50%; background: transparent; color: #0a1c37; font: 700 13px "Plus Jakarta Sans", sans-serif; cursor: pointer; }
.ph-calendar-day.has-deals { background: #fff3e9; }
.ph-calendar-day.is-selected { background: var(--ph-signature-blue, #1368ff); color: #fff; }
.ph-calendar-day.is-today:not(.is-selected) { background: #f2e8ff; color: #7e22ce; }
.ph-calendar-day small { position: absolute; bottom: 2px; min-width: 16px; height: 16px; display: grid; place-items: center; border-radius: 9px; background: #ffd3b0; color: #0a1c37; font-size: 9px; }
.ph-calendar-day.is-selected small { background: rgba(255,255,255,.27); color: #fff; }
.ph-calendar-day.is-blank { cursor: default; }
.ph-calendar-list-head { margin-top: 0; }
.ph-calendar-deals { overflow: hidden; border: 1px solid #e1e7ee; border-radius: 20px; background: #fff; }
.ph-calendar-deal { padding: 22px; border-bottom: 1px solid #edf0f4; }
.ph-calendar-deal:last-child { border-bottom: 0; }
.ph-calendar-when { margin-bottom: 11px; color: #8791a0; font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.ph-calendar-deal-row { display: flex; align-items: center; gap: 16px; }
.ph-calendar-deal-icon { width: 82px; height: 82px; flex: 0 0 82px; display: grid; place-items: center; border-radius: 19px; }
.ph-calendar-deal-icon svg { width: 29px; height: 29px; }
.ph-calendar-deal-copy { min-width: 0; flex: 1; }
.ph-calendar-badge { width: max-content; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: #d8f8e9; color: #167a5a; font-size: 10px; font-weight: 800; letter-spacing: .04em; }
.ph-calendar-badge i { width: 6px; height: 6px; border-radius: 50%; background: #16b77a; }
.ph-calendar-deal h3 { margin: 7px 0 0; color: #0a1c37; font: 700 16px/1.35 "Plus Jakarta Sans", sans-serif; }
.ph-calendar-retailer { margin-top: 2px; color: #68758a; font-size: 12px; }
.ph-calendar-deal p { margin: 6px 0 0; color: #68758a; font-size: 12px; line-height: 1.55; }
.ph-calendar-reminder { min-height: 36px; display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; padding: 0 14px; border: 0; border-radius: 999px; background: #F97316; color: #fff; font: 700 12px "Plus Jakarta Sans", sans-serif; cursor: pointer; }
.ph-calendar-reminder svg { width: 15px; height: 15px; }
.ph-calendar-reminder.is-active { background: #eaf2ff; color: var(--ph-signature-blue, #1368ff); }

.ph-favorites-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.ph-favorites-tabs { flex: 0 0 auto; display: flex; gap: 5px; padding: 4px; border-radius: 999px; background: #edf1f5; }
.ph-favorites-tabs button { min-height: 42px; padding: 0 17px; border: 0; border-radius: 999px; background: transparent; color: #68758a; font: 700 12px "Plus Jakarta Sans", sans-serif; cursor: pointer; }
.ph-favorites-tabs button[aria-selected="true"] { background: #fff; color: #0a1c37; box-shadow: 0 3px 10px rgba(10,28,55,.08); }
.ph-favorites-tabs span { min-width: 19px; height: 19px; display: inline-grid; place-items: center; margin-left: 5px; border-radius: 10px; background: var(--ph-signature-blue, #1368ff); color: #fff; font-size: 10px; }
.ph-favorites-guest { max-width: 670px; margin: 20px auto; padding: 48px; border: 1px solid #e1e7ee; border-radius: 24px; background: #fff; text-align: center; box-shadow: 0 18px 50px rgba(10,28,55,.07); }
.ph-favorites-guest-icon { width: 70px; height: 70px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 22px; background: #fef2f2; color: #ef4444; }
.ph-favorites-guest-icon svg { width: 32px; height: 32px; fill: currentColor; }
.ph-favorites-guest h2 { margin: 0; font: 800 29px "Plus Jakarta Sans", sans-serif; letter-spacing: -.035em; }
.ph-favorites-guest > p { max-width: 500px; margin: 10px auto 22px; color: #68758a; line-height: 1.65; }
.ph-favorites-guest ul { width: max-content; max-width: 100%; display: grid; gap: 12px; margin: 0 auto 25px; padding: 0; list-style: none; text-align: left; }
.ph-favorites-guest li { display: flex; align-items: center; gap: 10px; color: #34435a; font-size: 13px; }
.ph-favorites-guest li svg { width: 17px; color: var(--ph-signature-blue, #1368ff); }
.ph-favorites-signin { font-size: 12px !important; }
.ph-favorites-signin button { border: 0; background: transparent; color: var(--ph-signature-blue, #1368ff); font: 700 12px "Plus Jakarta Sans", sans-serif; cursor: pointer; }
.ph-favorites-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.ph-favorites-toolbar h2 { margin: 0; font: 700 24px "Plus Jakarta Sans", sans-serif; }
.ph-favorites-active-title { display: flex; align-items: center; gap: 8px; }
.ph-favorites-active-title > button { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid #dce3ea; border-radius: 50%; background: #fff; color: var(--ph-signature-blue, #1368ff); cursor: pointer; }
.ph-favorites-active-title > button svg { width: 14px; height: 14px; }
.ph-favorites-toolbar p { margin: 5px 0 0; color: #68758a; font-size: 13px; }
.ph-favorites-toolbar > div > button { padding: 3px 0; border: 0; background: transparent; color: var(--ph-signature-blue, #1368ff); font-size: 12px; font-weight: 700; cursor: pointer; }
.ph-favorite-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: end; gap: 12px; margin: 0 0 20px; padding: 17px; border: 1px solid #e1e7ee; border-radius: 16px; background: #fff; }
.ph-favorite-filters label { display: grid; gap: 6px; color: #526176; font-size: 11px; font-weight: 700; }
.ph-favorite-filters select { min-height: 42px; padding: 0 13px; border: 1px solid #dce3ea; border-radius: 999px; background: #f8fafc; color: #0a1c37; font: 500 12px "Poppins", sans-serif; }
.ph-favorite-filters > button { min-height: 42px; border: 0; background: transparent; color: var(--ph-signature-blue, #1368ff); font-size: 12px; font-weight: 700; cursor: pointer; }
.ph-collections-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ph-collection-card { position: relative; overflow: hidden; border: 1px solid #e5eaf2; border-radius: 22px; background: #fff; box-shadow: 0 6px 22px rgba(10,28,55,.05); }
.ph-collection-main { width: 100%; min-height: 142px; display: grid; grid-template-columns: 122px minmax(0,1fr) 20px; align-items: center; gap: 16px; padding: 10px 14px 10px 10px; border: 0; background: transparent; color: #0a1c37; text-align: left; cursor: pointer; }
.ph-list-cover { position: relative; width: 122px; height: 122px; flex-shrink: 0; display: grid; place-items: center; overflow: hidden; border-radius: 16px; }
.ph-list-cover::before { content: ""; position: absolute; width: 160px; height: 160px; left: 30px; top: 25px; border: 1px solid currentColor; border-radius: 50%; opacity: .15; }
.ph-list-cover svg { position: relative; width: 52px; height: 52px; stroke-width: 1.5; }
.ph-list-cover-gifts { background: linear-gradient(135deg,#fde9f0,#f9b8ce); color: #c72e6b; }
.ph-list-cover-home { background: linear-gradient(135deg,#e2f8ee,#a7e5c9); color: #087f5b; }
.ph-list-cover-travel { background: linear-gradient(135deg,#e6f1ff,#a8ccff); color: #1764c6; }
.ph-list-cover-school { background: linear-gradient(135deg,#fff2d8,#ffd494); color: #bd7010; }
.ph-list-cover-custom { background: linear-gradient(135deg,#eee8ff,#c9b5fb); color: #7248c9; }
.ph-list-card-copy { display: flex; min-width: 0; min-height: 116px; flex-direction: column; justify-content: flex-start; padding-top: 8px; }
.ph-collection-main strong, .ph-collection-main small { display: block; }
.ph-collection-main strong { font: 700 15px "Plus Jakarta Sans", sans-serif; overflow: hidden; text-overflow: ellipsis; }
.ph-collection-main small { margin-top: 5px; color: #8791a0; font-size: 11px; }
.ph-collection-main > svg { width: 18px; color: #0a1c37; }
.ph-collection-edit { position: absolute; right: 15px; bottom: 14px; width: 32px; height: 32px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #f4f6fa; color: #0a1c37; cursor: pointer; }
.ph-list-people { display: flex; align-items: center; gap: 7px; margin-top: auto; margin-bottom: 7px; color: #68758a; font-size: 11px; min-width: 0; }
.ph-list-people > svg { width: 15px; height: 15px; }
.ph-list-people > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ph-list-avatars { display: flex; padding-left: 4px; }
.ph-list-avatar { width: 23px; height: 23px; margin-left: -4px; border: 2px solid #fff; border-radius: 50%; display: grid; place-items: center; overflow: hidden; background: #e6ebf8; color: #0a1c37; font-size: 10px; font-weight: 700; }
.ph-list-avatar img { width: 100%; height: 100%; object-fit: cover; }
.ph-list-ideas { margin-top: 32px; }
.ph-list-ideas h2 { margin: 0; font: 800 22px "Plus Jakarta Sans", sans-serif; }
.ph-list-ideas p { margin: 5px 0 15px; color: #68758a; font-size: 13px; }
.ph-list-idea-choices { display: flex; flex-wrap: wrap; gap: 12px; }
.ph-list-idea-choices button { width: 98px; padding: 0 0 9px; border: 0; border-radius: 17px; overflow: hidden; background: #f8faff; color: #0a1c37; cursor: pointer; font-weight: 600; font-size: 12px; }
.ph-list-idea-choices .ph-list-cover { width: 98px; height: 88px; border-radius: 17px 17px 0 0; margin-bottom: 8px; }
.ph-list-idea-choices .ph-list-cover svg { width: 34px; height: 34px; }
.ph-list-cover-label { margin: 16px 0 7px; color: #526176; font-size: 12px; font-weight: 700; }
.ph-list-cover-choices { display: flex; gap: 5px; margin-bottom: 12px; }
.ph-list-cover-choice { padding: 2px; border: 2px solid transparent; border-radius: 14px; background: transparent; cursor: pointer; }
.ph-list-cover-choice[aria-pressed="true"] { border-color: var(--ph-signature-blue, #1368ff); }
.ph-list-cover-choice .ph-list-cover { width: 52px; height: 52px; border-radius: 10px; }
.ph-list-cover-choice .ph-list-cover svg { width: 25px; height: 25px; }
.ph-list-menu-actions { display: grid; gap: 6px; }
.ph-list-menu-actions button { display: flex; align-items: center; gap: 11px; min-height: 46px; padding: 0 10px; border: 0; border-radius: 12px; background: #fff; color: #0a1c37; text-align: left; cursor: pointer; font-weight: 600; }
.ph-list-menu-actions button:hover { background: #f5f8fc; }
.ph-list-menu-actions button svg { width: 18px; height: 18px; }
.ph-list-share-link { display: flex; gap: 8px; margin: 13px 0; }
.ph-list-share-link input { flex: 1; min-width: 0; }
.ph-list-share-members { margin-top: 18px; }
.ph-list-share-members > div { min-height: 42px; border-top: 1px solid #e9edf3; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #68758a; font-size: 12px; }
.ph-list-share-members button { border: 0; background: none; color: #b91c1c; cursor: pointer; font-weight: 600; }
.ph-feature-dialog { width: min(460px, calc(100% - 28px)); padding: 26px; border: 0; border-radius: 20px; color: #0a1c37; box-shadow: 0 28px 90px rgba(10,28,55,.28); }
.ph-feature-dialog::backdrop { background: rgba(10,28,55,.55); backdrop-filter: blur(3px); }
.ph-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.ph-dialog-head h2 { margin: 0; font: 800 23px "Plus Jakarta Sans", sans-serif; }
.ph-dialog-head > button { width: 35px; height: 35px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #f4f7fa; cursor: pointer; }
.ph-feature-dialog label { display: block; margin-bottom: 7px; color: #526176; font-size: 12px; font-weight: 700; }
.ph-feature-dialog input { width: 100%; min-height: 48px; padding: 0 16px; border: 1px solid #dce3ea; border-radius: 999px; background: #f8fafc; color: #0a1c37; font: 500 14px "Poppins", sans-serif; }
.ph-dialog-error { min-height: 18px; margin-top: 8px; color: #b91c1c; font-size: 12px; }
.ph-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 13px; }
.ph-assign-options { display: grid; gap: 8px; margin-bottom: 14px; }
.ph-assign-options > button { width: 100%; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 11px; padding: 13px; border: 1px solid #e1e7ee; border-radius: 14px; background: #fff; color: #0a1c37; text-align: left; cursor: pointer; }
.ph-assign-options > button > svg { color: var(--ph-signature-blue, #1368ff); }
.ph-assign-options strong, .ph-assign-options small { display: block; }
.ph-assign-options small { margin-top: 2px; color: #8791a0; }
.ph-assign-options > button:disabled { cursor: default; opacity: .55; }

@media (max-width: 980px) {
  .ph-feature-deal-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ph-collections-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .ph-feature-shell { width: min(100% - 28px, 1120px); padding-top: 34px; }
  .ph-feature-heading, .ph-favorites-heading { align-items: flex-start; }
  .ph-favorites-heading { flex-direction: column; }
  .ph-favorites-tabs { width: 100%; }
  .ph-favorites-tabs button { flex: 1; }
  .ph-feature-deal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ph-favorite-filters { grid-template-columns: 1fr 1fr; }
  .ph-favorites-guest { padding: 36px 24px; }
}
@media (max-width: 520px) {
  .ph-feature-heading-icon { display: none; }
  .ph-personalize-card { align-items: flex-start; flex-wrap: wrap; }
  .ph-personalize-card .ph-feature-primary { margin-left: 56px; }
  .ph-feature-section-head { align-items: flex-start; }
  .ph-feature-section-meta { align-items: flex-end; flex-direction: column-reverse; }
  .ph-feature-deal-grid { grid-template-columns: 1fr; }
  .ph-calendar-month-panel { padding: 15px 10px; }
  .ph-calendar-day { width: min(44px, 100%); border-width: 2px; }
  .ph-calendar-deal { padding: 18px; }
  .ph-calendar-deal-row { align-items: flex-start; }
  .ph-calendar-deal-icon { width: 62px; height: 62px; flex-basis: 62px; border-radius: 15px; }
  .ph-favorites-toolbar { align-items: flex-start; }
  .ph-favorite-filters, .ph-collections-grid { grid-template-columns: 1fr; }
  .ph-dialog-actions { flex-wrap: wrap-reverse; }
}

.ph-calendar-artwork { display:block; width:100%; height:clamp(160px, 28vw, 300px); background:#f3f4f6; border-radius:16px; margin-bottom:16px; }
.ph-calendar-artwork[hidden] { display:none; }

.ph-calendar-summary { display:flex; align-items:center; gap:16px; flex:1; min-width:0; color:inherit; text-decoration:none; }
.ph-calendar-deal { cursor:pointer; }
.ph-calendar-deal-icon { overflow:hidden; }
.ph-calendar-deal-icon img { width:100%; height:100%; object-fit:cover; }
.ph-calendar-deal-row > .ph-calendar-reminder { flex-shrink:0; margin-top:0; }
.ph-event-shell { max-width:850px; }
.ph-event-back { display:inline-block; margin-bottom:22px; color:var(--ph-signature-blue,#1368FF); font-weight:600; }
#eventDetail { border:1px solid #e5e7eb; border-radius:20px; overflow:hidden; background:#fff; }
.ph-event-image { display:block; width:100%; height:auto; object-fit:contain; background:#f3f4f6; }
.ph-event-image[hidden], #eventDetail[hidden] { display:none; }
.ph-event-content { padding:28px; }
.ph-event-content h1 { font-size:clamp(24px,4vw,36px); font-weight:700; line-height:1.25; margin:12px 0; }
.ph-event-dates { margin:12px 0 20px; color:#4b5563; }
.ph-event-actions { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:28px; }
.ph-event-actions button { border:1px solid #d1d5db; border-radius:999px; padding:10px 20px; font-weight:600; background:white; }
.ph-event-actions button[aria-pressed="true"] { color:var(--ph-signature-blue,#0271fd); background:#eaf2ff; border-color:var(--ph-signature-blue,#0271fd); }
.ph-event-description { white-space:pre-wrap; line-height:1.75; margin:12px 0 28px; overflow-wrap:anywhere; }
.ph-event-view { margin:0 10px 12px 0; text-decoration:none; }
.ph-event-view[hidden] { display:none; }
#eventReminder { background:#F97316; display:flex; width:100%; justify-content:center; box-sizing:border-box; }
#eventReminder:hover { background:#EA580C; }
.ph-event-note { color:#6b7280; font-size:13px; line-height:1.6; margin:12px 0; }
#eventMessage { margin:12px 0; font-weight:600; }
.ph-event-content button:disabled { opacity:.55; cursor:wait; }
@media(max-width:520px) {
 .ph-calendar-deal-row { flex-wrap:wrap; }
 .ph-calendar-summary { flex-basis:100%; }
 .ph-calendar-deal-row > .ph-calendar-reminder { margin-left:78px; }
 .ph-event-content { padding:20px; }
}
.ph-calendar-reminder:disabled { opacity:.5; cursor:default; }
.ph-calendar-view-toggle { display:flex; flex-shrink:0; gap:2px; padding:4px; border-radius:999px; background:#f1f5f9; }
.ph-calendar-view-toggle button { display:grid; place-items:center; width:40px; height:40px; border:0; border-radius:50%; background:transparent; color:#64748b; }
.ph-calendar-view-toggle button[aria-pressed="true"] { background:#ECFDF5; color:#047857; }
.ph-calendar-view-toggle svg { width:20px; height:20px; }
.ph-calendar-shell .ph-feature-heading > div:first-child { min-width:0; }
