#app:has(.discovery){padding-top:30px}
/* Discovery shares the homepage's compact search and scroll animation. Keep the
   controls in their catalogue view while the placeholder preserves its layout. */
.discovery-page .market-header{position:sticky;top:0;z-index:50;border-bottom:0;background:transparent;box-shadow:none}
/* Blur a separate surface; fixed search controls and menus stay viewport based. */
.discovery-page .market-header:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(248,250,253,.78));box-shadow:inset 0 1px rgba(255,255,255,.9),inset 0 -1px rgba(12,26,51,.09),0 5px 24px rgba(12,26,51,.055)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .discovery-page .market-header:before{background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(247,250,255,.42));-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%)}
}
.discovery-page .market-header .site-menu-panel{position:fixed;top:calc(var(--home-header-h) + 8px);right:18px}
.catalog-search-slot{height:0}
.discovery-page[data-search-docked] .discovery>.discovery-search-wrap{position:fixed;top:calc((var(--home-header-h) - 52px)/2);left:var(--home-dock-left);z-index:55;width:var(--home-dock-width);margin:0}
.discovery-page[data-search-docked] .discovery-search{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 40px;min-height:52px;padding:5px;border:0;box-shadow:0 3px 16px rgba(12,26,51,.16)}
.discovery-page[data-search-docked] .discovery-search-segment{height:42px;min-height:42px;padding:7px 16px;gap:0}
.discovery-page[data-search-docked] .discovery-segment-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.discovery-page[data-search-docked] .discovery-search-value{font-size:.78rem;line-height:1.4}
.discovery-page[data-search-docked] .discovery-location:after{top:9px;bottom:9px}
.discovery-page[data-search-docked] .discovery-search-submit{width:38px;height:38px}
.discovery-page[data-search-docked] .discovery-search-submit svg{width:17px;height:17px}
.discovery-page[data-search-docked] .discovery-active-pill{top:5px;bottom:5px}
.discovery-page[data-search-docked] .discovery-popover{top:calc(100% + 13px);right:auto;max-width:calc(100vw - 24px);translate:none}
.discovery-page[data-search-docked] .discovery-popover[data-view="location"]{left:var(--home-location-panel-left,0px);width:min(420px,calc(100vw - 24px))}
.discovery-page[data-search-docked] .discovery-popover:not([data-view="location"]){left:var(--home-date-panel-left,0px);width:min(720px,calc(100vw - 24px));transform-origin:top center}
.discovery-page[data-header-minimal] .discovery-search-segment{padding-inline:10px}
.discovery-page[data-header-minimal] .discovery-search-value{font-size:.72rem}
@media(max-width:600px){.discovery-page .market-header .site-menu-panel{left:12px;right:12px;width:auto}}
.discovery-search-wrap{position:relative;width:min(100%,720px);margin:0 auto 36px;z-index:10}
.discovery-category+.discovery-category{margin-top:68px;padding-top:48px;border-top:1px solid var(--line)}
.discovery-category-title{padding-right:84px;display:flex;align-items:center;gap:10px;margin:0 0 24px;font-size:1.45rem;line-height:1.35;letter-spacing:-.035em}
.discovery-category-arrow{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#f3f3f3}
.discovery-category-arrow svg{width:17px;height:17px}
.discovery-category-empty{margin:0;padding:16px 0;color:var(--muted);font-size:.85rem}
.discovery-search{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) 56px;align-items:center;width:100%;min-height:82px;margin:0;padding:7px 8px;border:1px solid #dce0dc;border-radius:50px;background:#fff;box-shadow:0 3px 12px #0f1b3209;transition:background 240ms ease,box-shadow 240ms ease}
.discovery-search[data-active]{background:#f0f1ef;box-shadow:0 3px 14px #0f1b320b}
.discovery-active-pill{position:absolute;z-index:-1;top:7px;bottom:7px;left:0;width:var(--active-width,0px);border-radius:40px;background:#fff;box-shadow:0 3px 12px #0f1b3214,0 1px 3px #0f1b320a;opacity:0;transform:translateX(var(--active-x,0px));pointer-events:none;transition:transform 260ms cubic-bezier(.22,1,.36,1),width 260ms cubic-bezier(.22,1,.36,1),opacity 180ms ease}
.discovery-search[data-active] .discovery-active-pill{opacity:1}
.discovery-search-segment{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:5px;min-width:0;min-height:66px;padding:10px 25px;border:0;border-radius:40px;background:transparent;text-align:left;font-size:.7rem;font-weight:700;line-height:1.4;transition:background 180ms ease}
.discovery-search-segment:hover:not([aria-expanded="true"]){background:#e7e9e580}
.discovery-search-segment:focus-visible{outline-offset:-3px}
.discovery-segment-label{display:flex;align-items:center;justify-content:space-between;gap:8px}
.discovery-chevron{width:14px;height:14px;flex:none;opacity:.6;transition:transform 240ms cubic-bezier(.22,1,.36,1)}
.discovery-search-segment[aria-expanded="true"] .discovery-chevron{transform:rotate(180deg)}
.discovery-search-value{display:block;width:100%;min-width:0;color:#606975;font-size:.86rem;font-weight:400;line-height:1.5;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
.discovery-search-segment.has-selection .discovery-search-value{color:var(--ink)}
.discovery-search-submit{display:grid;place-items:center;width:54px;height:54px;padding:0;border:0;border-radius:50%;background:var(--lime);transition:background 180ms ease,transform 180ms ease}
.discovery-search-submit:hover{background:#cde78f;transform:scale(1.04)}
.discovery-search-submit:active{transform:scale(.96)}
.discovery-search-submit svg{width:21px;height:21px}

/* One floating surface follows the active search segment. */
.discovery-popover{position:absolute;top:calc(100% + 12px);right:0;z-index:40;width:720px;max-width:100%;max-height:calc(100dvh - 205px);border:1px solid #e4e7e3;border-radius:28px;background:#fff;box-shadow:0 18px 48px #0f1b321a,0 3px 10px #0f1b3206;overflow:hidden;opacity:0;transform:translateY(-9px) scale(.975);transform-origin:top right;transition:width 260ms cubic-bezier(.22,1,.36,1),height 260ms cubic-bezier(.22,1,.36,1),opacity 180ms ease,transform 260ms cubic-bezier(.22,1,.36,1)}
.discovery-popover.is-open{opacity:1;transform:translateY(0) scale(1)}
.discovery-popover-content{position:relative;padding:28px;max-height:inherit;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d8dcd5 transparent}
.discovery-popover.is-open .discovery-popover-content{animation:discovery-panel-in 220ms cubic-bezier(.22,1,.36,1) both}
.discovery-panel-heading{margin-bottom:24px}
.discovery-panel-heading h2{margin:0;font-size:1.12rem;font-weight:700;line-height:1.45;letter-spacing:-.03em}
.discovery-calendar-body{position:relative}
.discovery-calendar-nav{position:absolute;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:1}
.discovery-calendar-nav button{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;pointer-events:auto;transition:background 150ms ease,transform 150ms ease}
.discovery-calendar-nav button:hover:not(:disabled){background:#f0f2ed}
.discovery-calendar-nav button:active:not(:disabled){transform:scale(.92)}
.discovery-calendar-nav button:disabled{opacity:.25}
.discovery-calendar-nav svg{width:17px;height:17px}
.discovery-month-prev svg{transform:rotate(180deg)}
.discovery-calendars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.discovery-calendar-month{min-width:0}
.discovery-calendar-month h3{display:flex;align-items:center;justify-content:center;min-height:36px;margin:0 0 15px;font-size:.83rem;font-weight:700;line-height:1.4;letter-spacing:-.01em}
.discovery-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:5px;text-align:center;color:var(--muted);font-size:.64rem;font-weight:500;line-height:1.5}
.discovery-weekdays span{padding-block:6px}
.discovery-calendar-grid{display:grid;gap:3px}
.discovery-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.discovery-day-cell{position:relative;display:grid;place-items:center;min-width:0;height:42px;isolation:isolate}
.discovery-day-cell:is(.in-range,.is-preview-range):before{content:"";position:absolute;z-index:-1;inset:1px 0;background:#edf0e8}
.discovery-day-cell.is-preview-range:before{background:#f3f5ee}
.discovery-day-cell.is-start:before{left:50%}
.discovery-day-cell.is-end:before{right:50%}
.discovery-day-cell.is-start.is-end:before{display:none}
.discovery-day-cell.is-empty:before{display:none}
.discovery-day{position:relative;display:grid;place-items:center;flex:none;width:40px;max-width:100%;height:40px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--ink);font-size:.75rem;font-weight:500;line-height:1;transition:background 120ms ease,border-color 120ms ease,transform 120ms ease}
.discovery-day:hover:not(:disabled){border-color:var(--ink);background:#fff}
.discovery-day:active:not(:disabled){transform:scale(.94)}
.discovery-day:focus-visible{outline-width:2px;outline-offset:1px;z-index:2}
.discovery-day[aria-current="date"]:after{content:"";position:absolute;bottom:5px;left:calc(50% - 1.5px);width:3px;height:3px;border-radius:50%;background:currentColor}
.discovery-day.is-selected,.discovery-day.is-selected:hover:not(:disabled){border-color:var(--ink);background:var(--ink);color:#fff;font-weight:700}
.discovery-day:disabled{color:#bcc1c2;opacity:1}
.discovery-date-footer{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid #edf0ec}
.discovery-date-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex:none}
.discovery-date-actions .button{min-height:42px;padding:10px 20px;border-radius:12px;font-size:.77rem}
.discovery-date-actions .discovery-clear{font-size:.74rem;white-space:nowrap}
.discovery-popover[data-view="location"]{left:0;right:auto;width:360px;transform-origin:top left}
.discovery-location-content{padding:16px}
.discovery-location-label{display:grid;gap:3px;min-width:0}
.discovery-location-name{font-weight:600}
.discovery-location-description{color:var(--muted);font-size:.75rem;font-weight:400;line-height:1.5}
.discovery-location-coming-soon{margin:12px 12px 4px;padding-top:16px;border-top:1px solid #ededed;color:var(--muted);font-size:.75rem;font-weight:400;line-height:1.5}
.discovery-location-options{display:grid;gap:8px}
.discovery-location-option{display:flex;align-items:center;gap:15px;width:100%;min-height:72px;padding:12px;border:1px solid transparent;border-radius:16px;background:transparent;color:var(--ink);text-align:left;font-size:.85rem;font-weight:600;transition:background 150ms ease,border-color 150ms ease}
.discovery-location-option:hover{background:#f3f3f3}
.discovery-location-option[aria-pressed="true"]{background:#f7f7f7}
.discovery-location-icon{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:12px;background:#f0f4f8;color:#51789f}
.discovery-location-icon svg{width:23px;height:23px}
.discovery-location-check{display:grid;place-items:center;margin-left:auto;opacity:0}
.discovery-location-option[aria-pressed="true"] .discovery-location-check{opacity:1}
.discovery-location-check svg{width:18px;height:18px}
.discovery-location:after{content:"";position:absolute;top:18px;bottom:18px;right:0;width:1px;background:#dce0dc;pointer-events:none}
.discovery-search[data-active] .discovery-location:after{opacity:0}

@keyframes discovery-panel-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

.discovery-results-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:0;margin-bottom:0;font-size:.75rem;color:var(--muted)}
.discovery-results-meta:has(#catalog-count:not(:empty)),.discovery-results-meta:has(.discovery-clear:not([hidden])){margin-bottom:22px}
.discovery-clear{width:fit-content;border:0;background:transparent;padding:4px 0;font-size:.77rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.discovery-row{position:relative;margin-bottom:36px;min-width:0}
.discovery-row:last-child{margin-bottom:0}
.discovery-row-heading{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-bottom:17px;min-height:30px}
.discovery-category > .discovery-row:first-of-type .discovery-row-heading{position:absolute;right:0;bottom:calc(100% + 24px);margin:0}
.discovery-row-heading:has(.discovery-row-controls[hidden]){display:none}
.discovery-row-controls{display:flex;gap:8px;flex:none}
.discovery-row-controls button{display:grid;place-items:center;width:31px;height:31px;padding:0;border:1px solid var(--line);border-radius:50%;background:white}
.discovery-row-controls button:hover:not(:disabled){background:var(--soft);border-color:#adb5ab}
.discovery-row-controls button:disabled{opacity:.3}
.discovery-row-controls svg{width:16px;height:16px}
.discovery-offers{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 88px)/5);align-items:start;gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 1px 7px;margin:-2px -1px -7px}
.discovery-offers::-webkit-scrollbar{display:none}
.discovery-offers .offer-card{scroll-snap-align:start}
.discovery-offers .offer-card-image{aspect-ratio:1.08;border-radius:16px}
.discovery-offers .offer-category{display:none}
.discovery-offers h3{font-size:.91rem;line-height:1.45;letter-spacing:-.025em;margin:12px 0 4px}
.discovery-offers h3 a{display:block;min-height:24px}
.discovery-offers .operator-line{font-size:.73rem;line-height:1.65}
.discovery-offers .card-price{font-size:.79rem;margin-top:6px}
.discovery-offers .card-price span{font-size:.72rem}
.discovery-loading{padding:65px 0;text-align:center;font-size:.84rem;color:var(--muted)}
.discovery-empty{padding-block:55px}

@media(min-width:1500px){.discovery-offers{grid-auto-columns:calc((100% - 88px)/5)}}
@media(max-width:1100px){.discovery-offers{grid-auto-columns:calc((100% - 44px)/3)}.discovery-search-segment{padding-inline:21px}}
@media(max-width:850px){
  .discovery-search-wrap{margin-bottom:32px}
  .discovery-search{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) 48px;min-height:76px}
  .discovery-search-segment{min-height:60px;padding-inline:19px}
  .discovery-search-submit{width:46px;height:46px}
  .discovery-popover-content{padding:25px}
  .discovery-calendars{gap:22px}
  .discovery-offers{grid-auto-columns:calc((100% - 38px)/2.5);gap:19px}
  .discovery-category-title{font-size:1.3rem}
}
@media(max-width:600px){
  #app:has(.discovery){padding-top:21px}
  .discovery-search-wrap{margin-bottom:29px}
  .discovery-search{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) 42px;min-height:0;padding:6px;border-radius:28px}
  .discovery-active-pill{top:6px;bottom:6px;border-radius:22px}
  .discovery-search-segment{min-height:66px;padding:9px 12px;gap:4px;border-radius:22px;font-size:.72rem}
  .discovery-search-value{font-size:.77rem;line-height:1.4}
  .discovery-chevron{width:12px;height:12px}
  .discovery-search-submit{width:40px;height:40px;justify-self:end}
  .discovery-search-submit svg{width:19px;height:19px}
  .discovery-popover{top:calc(100% + 10px);width:100%;max-height:calc(100dvh - 192px);border-radius:23px}
  .discovery-popover-content{padding:23px 20px 20px}
  .discovery-panel-heading{margin-bottom:18px}
  .discovery-panel-heading h2{font-size:1.04rem}
  .discovery-calendars{grid-template-columns:minmax(0,1fr);gap:0}
  .discovery-calendar-month+.discovery-calendar-month{display:none}
  .discovery-calendar-month h3{font-size:.8rem;margin-bottom:11px}
  .discovery-weekdays{font-size:.63rem}
  .discovery-calendar-grid{gap:2px}
  .discovery-day-cell{height:40px}
  .discovery-day{width:38px;height:38px;font-size:.74rem}
  .discovery-date-footer{align-items:stretch;flex-direction:column;gap:15px;margin-top:18px;padding-top:16px}
  .discovery-date-actions{justify-content:space-between;gap:16px}
  .discovery-date-actions .button{min-height:42px;padding-inline:21px}
  .discovery-category+.discovery-category{margin-top:44px;padding-top:32px}
  .discovery-category-title{font-size:1.22rem;margin-bottom:18px}
  .discovery-category-arrow{width:27px;height:27px}
  .discovery-category > .discovery-row:first-of-type .discovery-row-heading{bottom:calc(100% + 18px)}
  .discovery-row{margin-bottom:28px}
  .discovery-row-heading{margin-bottom:14px;gap:14px;min-height:27px}
  .discovery-row-controls{gap:5px}
  .discovery-row-controls button{width:27px;height:27px}
  .discovery-offers{grid-auto-columns:72%;gap:16px;margin-right:-20px;padding-right:20px;scroll-padding-inline:1px}
  .discovery-offers .offer-card-image{aspect-ratio:1.08;border-radius:14px}
  .discovery-offers h3{font-size:.87rem;margin-top:10px}
  .discovery-offers .operator-line{font-size:.72rem}
  .discovery-offers .card-price{font-size:.79rem;margin-top:5px}
  .discovery-offers .card-price span{font-size:.72rem}
  .discovery-results-meta{font-size:.7rem}
  .discovery-results-meta:has(#catalog-count:not(:empty)),.discovery-results-meta:has(.discovery-clear:not([hidden])){margin-bottom:20px}
}
@media(max-width:359px){
  .discovery-search-segment{padding-inline:9px}
  .discovery-search-value{font-size:.73rem}
  .discovery-popover-content{padding-inline:15px}
  .discovery-day{width:34px;height:36px}
  .discovery-category-title{font-size:1.15rem}
  .discovery-row-controls{gap:4px}
  .discovery-row-controls button{width:25px;height:25px}
}
@media(prefers-reduced-motion:reduce){
  .discovery-popover.is-open .discovery-popover-content{animation:none}
}

.discovery-search-with-location{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 56px}
@media(max-width:850px){.discovery-search-with-location{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px}}
@media(max-width:600px){
  .discovery-search-with-location{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px}
  .discovery-search-with-location .discovery-search-segment{min-height:57px}
  .discovery-popover[data-view="location"]{width:100%}
}

/* Service categories use the approved sculptural icons; listing cards retain their photos. */
.service-card{min-width:0;scroll-snap-align:start}
.service-card-link{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}
.service-card-link:focus-visible{border-radius:18px;outline-offset:-2px}
.service-card-image{display:grid;place-items:center;aspect-ratio:1;overflow:hidden;border-radius:22px;background:#f6f6f6}
.service-card-image img{display:block;width:80%;height:80%;object-fit:contain;transition:transform 220ms ease}
/* Balance the fuller silhouettes without changing the cards or hover zoom. */
.service-card-image img:is([src*="/education-research-"],[src*="/just-curious-"],[src*="/other-"]){scale:.88}
.service-card-link:hover .service-card-image img{transform:scale(1.035)}
.discovery-offers .service-card-title{display:block;margin:12px 3px 0;font-size:.91rem;font-weight:600;line-height:1.45;letter-spacing:-.025em}
.service-card-link:hover .service-card-title{text-decoration:underline;text-underline-offset:3px}
/* Icons always wrap, matching the homepage's six-column desktop grid. */
.discovery-page .discovery-category:has(.service-card){display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 16px;align-items:start}
.discovery-page .discovery-category:has(.service-card)>.discovery-category-title{grid-column:1/-1;margin-bottom:0}
.discovery-page .discovery-category:has(.service-card) .discovery-row,.discovery-page .discovery-category:has(.service-card) .discovery-offers{display:contents}
.discovery-page .discovery-category:has(.service-card) .discovery-row-heading{display:none}
@media(max-width:850px){
  .discovery-page .discovery-category:has(.service-card){grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
  .discovery-page .discovery-category:has(.service-card){grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
}
.store-selected-dates{margin-top:-8px;margin-bottom:24px;color:var(--muted);font-size:.85rem}
@media(max-width:600px){
  .service-card-image{border-radius:20px}
  .discovery-offers .service-card-title{margin-top:10px;font-size:.87rem}
}
@media(prefers-reduced-motion:reduce){.service-card-image img{transition:none}.service-card-link:hover .service-card-image img{transform:none}}
