/* Taste task surfaces. Shared timing and restrained, editorial hierarchy. */
:root {
  --motion-press:140ms; --motion-state:200ms; --motion-arrive:240ms;
  --motion-ease:cubic-bezier(.2,.7,.2,1);
  --taste-width:1040px; --taste-ink:#171719; --taste-paper:#f3efe7;
  --taste-muted:#c0bab4; --taste-line:#4a4447; --taste-sage:#c6d3bd;
}
body { font-size:16px; }
body[data-task] { background:var(--taste-ink); }
body[data-task] .nav { background:var(--taste-ink); backdrop-filter:none; }
body[data-task] main { min-height:calc(100svh - 280px); }
body[data-task] main > section:not(.hero) { display:none; }
body[data-task=pair] #pair, body[data-task=bottle] #bottle, body[data-task=host] #host,
body[data-task=saved] #saved, body[data-task=about] #about, body[data-task=about] #faq { display:block; }
body[data-task]:not([data-task=pair]) #dish-form,
body[data-task]:not([data-task=bottle]) #wine-form { display:none; }

body[data-task] .hero { position:relative; min-height:0; padding:40px 0 24px; }
body[data-task] .hero-copy { width:100%; max-width:var(--taste-width); margin:auto; }
.hero h1 { font-size:48px; line-height:1.15; margin:0 0 12px; }
.hero-copy > p { font-size:18px; color:var(--taste-muted); margin:0 0 24px; }
body[data-task] .wine-scene { display:none; }
body:is([data-task=pair],[data-task=bottle]) .hero {
  isolation:isolate; overflow:clip; max-width:none;
  margin-inline:calc((min(1240px,100vw - var(--tannin-page-gutter)) - 100vw)/2);
  padding-inline:max(calc(var(--tannin-page-gutter)/2),calc((100vw - 1240px)/2));
}
body:is([data-task=pair],[data-task=bottle]) .wine-scene { display:block; position:absolute; inset:0; pointer-events:none; }
.wine-scene picture,.wine-scene img { display:block; width:100%; height:100%; }
body:is([data-task=pair],[data-task=bottle]) .wine-scene img { object-fit:contain; object-position:right center; mask-image:linear-gradient(to right,transparent 24%,#000 70%); }
body:is([data-task=pair],[data-task=bottle]) .hero-copy { position:relative; z-index:1; }
.hero-copy > :is(.search-panel,.pair-mode-switch,.pairing-access) { max-width:640px; }
body:is([data-task=pair],[data-task=bottle],[data-task=saved]) #task-intro { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body:not(.has-pairing):is([data-task=pair],[data-task=bottle]) .hero h1 { margin-bottom:28px; }
.pair-mode-switch {
  position:relative; display:grid; grid-template-columns:1fr 1fr; width:300px;
  isolation:isolate; max-width:100%; padding:3px; gap:0; border:1px solid #62595e; background:#242124; border-radius:4px;
}
.pair-mode-switch::after {
  content:""; position:absolute; z-index:-1; top:3px; bottom:3px; left:3px; width:calc((100% - 6px)/2); border-radius:2px;
  background:#eeeae2; transform:translateX(0); transition:transform 200ms var(--motion-ease);
}
.pair-mode-switch[data-selected=bottle]::after { transform:translateX(100%); }
.pair-mode-switch button { background:none; color:#d2cbc5; min-height:44px; border:0; border-radius:2px; padding:10px 14px; font-weight:400; }
.pair-mode-switch button[aria-pressed=true] { color:#292426; font-weight:600; }
.pair-mode-switch button:focus-visible { outline:3px solid #9b803c; outline-offset:-3px; }
.hero-copy .search-panel { padding:0; margin:18px 0 0; background:none; border:0; border-radius:0; width:100%; }
.hero-copy .search-panel > label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.hero-copy .search-row { display:flex; gap:4px; align-items:stretch; width:100%; max-width:none; padding:4px; border:1px solid #dbd6cc; border-radius:5px; background:#f5f4ef; }
.hero-copy .search-row input { flex:1; }
.hero-copy .search-row input { color-scheme:light; min-width:0; min-height:52px; background:transparent; color:#252423; border:0; border-radius:2px; padding:12px 14px; font-size:18px; box-shadow:none; }
.hero-copy .search-row input::placeholder { color:#686560; opacity:1; }
.hero-copy .search-row input:focus { outline:2px solid #75603c; outline-offset:-2px; }
.hero-copy .search-row button { min-width:108px; padding:12px 18px; background:#d8bc8b; color:#211d17; border:1px solid #d8bc8b; border-radius:3px; font-size:16px; white-space:nowrap; }
.hero-copy .search-row button:focus-visible { outline:3px solid #75603c; outline-offset:-3px; }
.hero-copy .search-row button:disabled { opacity:.75; cursor:wait; }
.search-ideas { display:block; margin-top:12px; }
.search-ideas > span { color:var(--taste-muted); font-size:14px; }
.hero .search-ideas .chips { margin:0; gap:4px 16px; }
.search-ideas .chips button { font-size:14px; font-weight:400; min-height:44px; padding:6px 0; color:var(--taste-paper); border:0; background:none; border-radius:0; }
.field-note, #pairing-usage { font-size:14px; line-height:1.55; color:var(--taste-muted); }
.pairing-access { display:flex; flex-wrap:wrap; align-items:center; gap:0 20px; margin-top:8px; }
#pairing-usage { flex:1; min-height:24px; margin:0; }
#pairing-upgrade { display:inline-flex; min-height:44px; align-items:center; color:#dbc295; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
#pairing-upgrade[hidden] { display:none; }
.search-ideas button:disabled { opacity:.55; cursor:default; }
.hero .field-note:has(#dish-count[hidden]) { display:none; }

/* Once there is an answer, the search becomes a work surface, not a second hero. */
body.has-pairing .hero .wine-scene, body.has-pairing #task-intro,
body.has-pairing .hero .search-ideas { display:none; }
body.has-pairing .hero h1 { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.has-pairing .hero { padding-top:24px; padding-bottom:12px; }
body.has-pairing .hero-copy { display:grid; grid-template-columns:270px minmax(0,1fr); gap:0 24px; text-shadow:none; align-items:center; }
body.has-pairing .pair-mode-switch { grid-column:1; grid-row:1; width:100%; }
body.has-pairing .hero .search-panel { grid-column:2; grid-row:1; margin:0; max-width:none; }
body.has-pairing .pairing-access { grid-column:1/-1; max-width:none; margin-top:8px; }

body[data-task] :is(#pair,#bottle,#host) { max-width:var(--taste-width); margin-inline:auto; padding:12px 0 32px; border:0; }
.results-grid, .bottle-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; }
.result-heading { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; gap:8px 24px; padding:0 0 12px; }
.result-context { margin:0; min-width:0; font-size:17px; line-height:1.55; color:var(--taste-paper); overflow-wrap:anywhere; }
.result-heading .text-action { flex:0 0 auto; font-weight:400; }
.text-action { border:0; background:none; padding:10px 0; width:fit-content; min-height:44px; color:#dbc295; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.wine-card, .bottle-result-card { padding:24px 0; border:0; border-top:1px solid var(--taste-line); background:none; border-radius:0; min-width:0; }
.wine-card { display:block; }
.results-grid > .wine-card:first-of-type {
  display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:48px;
  grid-column:1/-1; padding:28px 0 24px; border-top:1px solid #b59c73; background:none;
}
.wine-choice,.wine-reference { min-width:0; }
.card-topline { display:flex; justify-content:space-between; align-items:center; margin:0 0 8px; min-height:44px; gap:16px; }
.wine-card .badge,.bottle-result-card .badge { padding:0; border:0; background:none; color:#d8bc8b; font-size:14px; font-weight:400; text-transform:none; letter-spacing:0; }
.wine-card h3,.bottle-result-card h3 { font:400 30px/1.2 Georgia,"Times New Roman",serif; margin:0 0 14px; overflow-wrap:anywhere; }
.results-grid > .wine-card:first-of-type h3 { font-size:42px; }
.wine-card .reason,.bottle-result-card p { font-size:16px; font-weight:400; line-height:1.65; margin:0 0 20px; max-width:65ch; color:var(--taste-paper); }
.wine-card .save-button,.bottle-result-card .save-button { min-width:76px; min-height:44px; padding:8px 16px; border:1px solid #766e69; color:var(--taste-paper); background:none; border-radius:4px; font-size:14px; }
.wine-card .save-button.is-active,.bottle-result-card .save-button.is-active { background:var(--taste-sage); color:#243324; border-color:var(--taste-sage); }
.wine-facts { display:grid; gap:16px; margin:0; }
.wine-facts > div { display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px; }
.wine-facts dt { font-size:14px; line-height:1.7; color:var(--taste-muted); }
.wine-facts dd { font-size:16px; font-weight:400; line-height:1.6; color:var(--taste-paper); margin:0; overflow-wrap:anywhere; }
.wine-warning { font-size:14px; line-height:1.6; color:var(--taste-muted); margin:14px 0 0; }
.shared-wine-warning { margin:0 0 16px; font-size:14px; line-height:1.6; color:var(--taste-muted); }
.difficult-pairing { border:0; border-left:2px solid #b59c73; padding:8px 0 8px 18px; margin:0 0 24px; background:none; }
.difficult-pairing strong { display:block; font:600 16px/1.6 var(--body); }
.difficult-pairing p { margin:4px 0 0; font-size:16px; line-height:1.6; }
.results-grid > .wine-card:first-of-type .wine-reference { padding-top:60px; }
.wine-card .wine-notes { border:0; margin:8px 0 0; padding:0; }
.wine-notes summary { min-height:44px; padding:12px 0; font-size:14px; color:var(--taste-muted); cursor:pointer; }
.wine-notes .profile-tags { display:flex; flex-wrap:wrap; gap:8px 16px; margin:8px 0 12px; }
.profile-tags span { font-size:14px; color:var(--taste-muted); border:0; background:none; padding:0; }
.profile-tags span::before { content:none; }
.wine-notes .notes { font-size:15px; line-height:1.6; color:var(--taste-muted); margin:0 0 12px; }
.wine-notes .like-button { min-height:44px; font-size:14px; padding:8px 0; border:0; border-radius:0; background:none; text-decoration:underline; text-underline-offset:4px; }
.pairing-caution,.more-results { grid-column:1/-1; }
.more-results { border-top:1px solid var(--taste-line); margin-top:8px; }
.more-results > summary { padding:16px 0; min-height:48px; color:#dbc295; font-size:15px; cursor:pointer; }
.more-results .wine-card { max-width:760px; }
.bottle-results > .bottle-result-card:first-of-type { grid-column:1/-1; border-top:1px solid #b59c73; }
.bottle-results > .bottle-result-card:first-of-type h3 { font-size:40px; }
.bottle-result-card small { color:var(--taste-muted); font-size:14px; line-height:1.5; }
body[data-task] .premium-details { max-width:none; margin-top:20px; }
.premium-details .premium-unlocked-card { border:0; background:none; padding:0 0 20px; }
.premium-details .premium-note-strip { padding:16px 0 0; border:0; background:none; }
.premium-details .premium-note-strip > span { display:none; }
.premium-details #premium-brief-title { font-size:26px; }
.premium-details .premium-brief-grid { gap:24px; }
.premium-details .premium-brief-grid > span { padding:0; border:0; background:none; }
.premium-details .premium-brief-grid em { font-size:16px; line-height:1.6; }
.premium-details .premium-brief-grid b { font-size:14px; text-transform:none; letter-spacing:0; color:var(--taste-muted); }
body[data-task=host] #host > .section-heading,body[data-task=saved] #saved > .section-heading { display:none; }
body[data-task=host] .hero,body[data-task=saved] .hero,body[data-task=about] .hero { padding-bottom:8px; }
.task-bottom-nav { display:none; }
.pwa-banner { position:static; margin:24px 0; transform:none; width:auto; }

:where(button,.primary-link,.secondary-link) { transition:color var(--motion-press),background-color var(--motion-press),transform var(--motion-press); }
button:active,.primary-link:active { transform:translateY(1px); }
.wine-card,.bottle-result-card,.dinner-result-card { animation:result-arrive var(--motion-arrive) var(--motion-ease); }
@keyframes result-arrive { from { opacity:.6; transform:translateY(6px); } to { opacity:1; transform:none; } }
details[open] > :not(summary) { animation:detail-arrive var(--motion-state) var(--motion-ease); }
@keyframes detail-arrive { from { opacity:.7; } to { opacity:1; } }
@media (hover:hover) {
 .hero-copy .search-row button:hover:not(:disabled) { background:#e4cda6; }
 .save-button:hover { background:#f3efe5; color:#282325; }
 .search-ideas .chips button:hover { text-decoration:underline; text-underline-offset:5px; }
}

body[data-task] .site-footer { display:flex; flex-wrap:wrap; align-items:center; gap:8px 24px; padding:24px 0; margin-top:32px; border-top:1px solid #373437; font-size:14px; }
body[data-task] .site-footer .canadian-owned-badge { display:none; }
body[data-task] .site-footer .footer-company-link { font-size:14px; margin-right:auto; }
body[data-task] .site-footer > nav { gap:24px; width:auto; }
.footer-details { border:0; margin:0; padding:0; }
.footer-details summary { min-height:44px; padding:12px 0; color:var(--taste-muted); font-size:14px; }
.footer-details[open] { flex:1 0 100%; }
.footer-details nav { display:flex; flex-wrap:wrap; gap:8px 24px; }
.footer-details .metrics-choice { margin-top:12px; font-weight:400; }
.metrics-choice { display:flex; gap:10px; align-items:center; font-size:14px; line-height:1.5; max-width:36rem; min-height:44px; text-align:left; }
.metrics-choice input { flex:0 0 20px; min-height:44px; width:20px; }
.premium-guidance-example { padding:32px 0; max-width:760px; }
.premium-guidance-example h2 { font-size:30px; }
.premium-guidance-example p,.premium-guidance-example dd { font-size:16px; line-height:1.65; }
.premium-guidance-example dt { font-weight:600; margin-top:20px; }
.premium-guidance-example dd { margin:6px 0 0; color:var(--muted); }
@media(max-width:1000px) {
 body:is([data-task=pair],[data-task=bottle]) .wine-scene img { object-position:right center; }
 body.has-pairing .hero-copy { grid-template-columns:240px minmax(0,1fr); gap:0 24px; }
 .results-grid > .wine-card:first-of-type { gap:32px; }
}
@media(max-width:680px) {
 body[data-task] { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
 body[data-task] .hero { padding-top:28px; }
 body:not(.has-pairing):is([data-task=pair],[data-task=bottle]) .hero { padding-bottom:24px; }
 body:is([data-task=pair],[data-task=bottle]) .wine-scene { height:210px; }
 body:is([data-task=pair],[data-task=bottle]) .wine-scene img { object-fit:cover; object-position:right center; mask-image:none; }
 body:not(.has-pairing):is([data-task=pair],[data-task=bottle]) .hero h1 { max-width:210px; min-height:172px; margin:0; }
 body:is([data-task=pair],[data-task=bottle]) #task-intro { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .hero h1 { font-size:36px; }
 .hero-copy > p { font-size:16px; margin-bottom:20px; }
 .pair-mode-switch { width:100%; }
 .hero-copy .search-row input { min-height:48px; padding:10px; font-size:16px; }
 .hero-copy .search-row button { min-width:78px; padding:10px; font-size:14px; }
 .search-ideas { display:block; margin-top:12px; }
 .search-ideas > span { display:block; font-size:13px; }
 .hero .search-ideas .chips { gap:2px 16px; }
 .search-ideas .chips button { font-size:14px; }
 #pairing-usage { font-size:14px; }
 body.has-pairing .hero { padding-top:12px; }
 body.has-pairing .hero-copy { display:block; }
 body.has-pairing .hero .search-panel { margin-top:14px; }
 body.has-pairing .pairing-access { margin-top:8px; align-items:start; gap:12px; }
 body.has-pairing #pairing-usage { margin:0; }
 .results-grid,.bottle-results { grid-template-columns:minmax(0,1fr); gap:0; }
 .result-heading { gap:0 16px; padding:0 0 8px; }
 .result-context { font-size:16px; }
 .result-heading .text-action { font-size:14px; }
 .results-grid > .wine-card:first-of-type { display:block; padding:16px 0 20px; }
 .wine-card,.bottle-result-card { padding:18px 0; }
 .results-grid > .wine-card:first-of-type h3,.bottle-results > .bottle-result-card:first-of-type h3 { font-size:32px; }
 .wine-card h3,.bottle-result-card h3 { font-size:28px; }
 .results-grid > .wine-card:first-of-type .wine-reference { padding-top:0; }
 .wine-facts { gap:10px; }
 .wine-facts > div { grid-template-columns:64px minmax(0,1fr); gap:10px; }
 .wine-facts dd { font-size:15px; }
 .wine-card .reason { margin-bottom:16px; }
 .task-bottom-nav { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:30; padding:6px 12px calc(6px + env(safe-area-inset-bottom)); background:#171719; border-top:1px solid var(--taste-line); }
 .task-bottom-nav a { display:flex; align-items:center; justify-content:center; min-height:48px; flex:1; border-bottom:2px solid transparent; color:var(--taste-muted); }
 .task-bottom-nav a.active { color:var(--taste-paper); border-color:var(--champagne); }
 body.age-pending .task-bottom-nav { visibility:hidden; }
 .pwa-banner { margin:24px 16px; }
 body[data-task] .site-footer { gap:4px 20px; }
 .site-footer .footer-company-link { flex-basis:100%; }
 .footer-details { min-width:120px; }
 .footer-details[open] { flex-basis:100%; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Host: the menu and shopping plan share one readable course structure. */
.host-example { max-width:none; }
.host-offer { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:8px 0 32px; }
.host-offer .eyebrow { margin:0 0 8px; font-size:12px; color:#d8bc8b; }
.host-offer p { margin:0 0 8px; font-size:16px; }.host-offer span { color:#c4bbb5; font-size:14px; }
.host-offer .primary-link { margin:0; flex-shrink:0; }
.sample-menu { background:#eef0e8; color:#28382e; padding:32px; border-top:3px solid #9aab91; }
.sample-menu p { color:#455247; }.sample-menu .sample-budget strong { color:#25382b; }
.sample-menu-heading { display:flex; gap:24px; justify-content:space-between; align-items:end; padding-bottom:24px; }
.sample-menu-heading .eyebrow { color:#4c5c50; font-size:12px; margin:0 0 8px; }
.sample-menu-heading h2 { font:400 32px/1.2 Georgia,serif; margin:0; color:#25382b; }
.sample-budget { margin:0; text-align:right; flex-shrink:0; }.sample-budget strong { display:block; font:400 28px/1.3 Georgia,serif; }.sample-budget span { display:block; font-size:13px; color:#526155; }
.sample-courses { margin:0; padding:0; list-style:none; gap:0; }
.sample-courses li { display:grid; grid-template-columns:100px minmax(0,1fr) 84px; gap:20px; border-top:1px solid #bec7b8; padding:22px 0; align-items:start; }
.sample-courses h3 { font:400 24px/1.3 Georgia,serif; color:#25382b; margin:0 0 5px; }.sample-courses p { margin:0; }
.sample-courses span { font-size:14px; color:#526155; }.sample-courses .course-role { font-size:12px; padding-top:6px; }
.sample-courses .course-cost { font-size:13px; text-align:right; color:#526155; padding-top:5px; }.course-cost strong { display:block; font:600 18px/1.5 Inter,system-ui,sans-serif; color:#28382e; }
.sample-total { font-size:13px; border-top:1px solid #bec7b8; padding-top:18px; margin:0; color:#526155; }
.host-responsibility { max-width:65ch; margin:20px 0; }
#dinner-form { display:block; background:none; border:0; padding:0; max-width:none; }
#dinner-form[hidden] { display:none; }
.host-form-section { border:0; padding:24px 0 0; margin:0 0 24px; min-width:0; }
.host-form-section legend { padding:0; font:600 18px/1.4 Inter,system-ui,sans-serif; color:#eee9e1; }
.dinner-form label { position:relative; font-size:14px; font-weight:400; gap:10px; }
.dinner-form .optional-label { position:absolute; top:0; right:0; }.optional-label { color:#b9b2ac; font-size:12px; font-weight:400; }
.dinner-form .course-fields { gap:20px; }.dinner-form .dinner-fields { grid-template-columns:1.3fr 1.1fr .8fr 1fr; gap:16px; }
.dinner-form input,.dinner-form select { min-height:48px; padding:12px; background:#242326; border-color:#625c5f; border-radius:4px; font-size:16px; }
.dinner-form .host-preferences .dinner-fields { grid-template-columns:1fr 1fr; padding:12px 0; }
.host-preferences { border-top:1px solid #423e40; }.host-preferences summary { cursor:pointer; min-height:48px; padding:14px 0; font-size:14px; }
.dinner-form > .section-disclosure { margin:0 0 24px; border-top:1px solid #423e40; padding:0; }.dinner-form > .section-disclosure summary { font-size:14px; }
.dinner-form .dinner-submit { min-height:50px; padding:12px 24px; width:fit-content; background:#d8bc8b; color:#211d17; border:0; border-radius:4px; }
.dinner-results { margin-top:32px; }.dinner-plan-card { padding:0; background:none; border:0; border-radius:0; }
.plan-heading { display:flex; align-items:start; justify-content:space-between; gap:24px; border-top:2px solid #d8bc8b; padding-top:24px; }
.plan-heading h3 { font-size:30px; margin:0 0 12px; }.plan-heading .card-actions { margin:0; flex-shrink:0; }.plan-heading #save-dinner-plan { background:#eaece2; color:#28382e; border-color:#eaece2; }
.plan-heading .eyebrow { margin:0 0 8px; color:#d8bc8b; font-size:12px; }
.plan-facts { display:flex; flex-wrap:wrap; gap:8px 24px; margin:0 0 24px; color:#cec6bd; font-size:14px; }
.dinner-pours { display:block; }.dinner-pours > article { display:grid; grid-template-columns:115px minmax(0,1fr) 100px; gap:20px; background:none; border:0; border-top:1px solid #514b4e; border-radius:0; padding:24px 0; }
.dinner-pours .pour-role { color:#d8bc8b; font-size:12px; padding-top:6px; }.dinner-pours strong { font:400 27px/1.3 Georgia,serif; display:block; margin:0 0 8px; }
.dinner-pours b { display:block; font:500 16px/1.5 Inter,system-ui,sans-serif; color:#e5ded5; margin-bottom:12px; }.dinner-pours .pour-reason { display:block; font-size:16px; line-height:1.6; }
.dinner-pours em { display:block; font-size:14px; font-style:normal; color:#c2b6a6; margin-top:12px; }.dinner-pours .pour-quantity { text-align:right; font-size:14px; color:#d0c6ba; }.pour-quantity span { display:block; font-size:18px; color:#f3eee5; margin-top:4px; }
.plan-notes { border-top:1px solid #514b4e; margin-top:8px; }.plan-notes summary { min-height:48px; padding:14px 0; font-size:14px; }.plan-notes .hosting-notes { display:block; }.plan-notes .hosting-notes span { display:block; background:none; border:0; padding:0; margin-bottom:12px; font-size:14px; }

/* Saved: scan the collection, then open or edit one item. */
body[data-task] .saved-section { max-width:var(--taste-width); margin-inline:auto; padding:12px 0 0; border:0; }
.saved-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin:24px 0 8px; }
.saved-toolbar[hidden], .saved-count[hidden], .pairing-access[hidden] { display:none; }
.saved-toolbar .saved-filter-row { display:flex; gap:16px; margin:0; padding:0; border:0; }
.saved-filter-row button,.saved-filter-row button.active-filter { border:0; border-bottom:2px solid transparent; border-radius:0; background:none; padding:10px 0; min-height:46px; font-weight:400; color:#bab4ae; }
.saved-filter-row button.active-filter { border-bottom-color:#d8bc8b; color:#f3ede3; }
.saved-search { flex:1; min-width:190px; max-width:250px; }.saved-search input { width:100%; min-height:46px; border:1px solid #625c5f; border-radius:4px; background:#242326; color:#f3ede3; padding:10px 14px; font-size:16px; }
.saved-count { font-size:13px; color:#b9b2ac; margin:16px 0; }
.saved-results { display:block; }.saved-result-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; border:0; border-top:1px solid #514b4e; border-radius:0; padding:24px 0; background:none; }
.saved-result-card h3 { font:400 26px/1.3 Georgia,serif; margin:6px 0 8px; }.saved-result-card p { margin:0; font-size:16px; line-height:1.6; color:#d2cac2; overflow-wrap:anywhere; }.saved-result-card .saved-meta { font-size:12px; color:#b9b2ac; margin:0; }
.saved-card-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0; padding:0; }.saved-card-actions button { min-height:44px; border:1px solid #71686c; border-radius:4px; padding:8px 16px; background:none; color:#f3ede3; font-size:14px; }
.saved-card-actions [data-saved-action=open] { background:#eaece2; border-color:#eaece2; color:#28382e; }.saved-card-actions [aria-pressed=true] { background:#34423a; color:#e7eee8; border-color:#7e9a84; }
.saved-more { position:relative; border:0; padding:0; margin:0; }.saved-more summary { list-style:none; width:44px; height:44px; min-width:44px; min-height:44px; padding:0; display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:24px; border-radius:4px; border:1px solid #71686c; }.saved-more summary::-webkit-details-marker { display:none; }
.saved-more > div { position:absolute; right:0; top:48px; z-index:10; display:grid; min-width:140px; padding:6px; background:#282529; border:1px solid #71686c; border-radius:4px; box-shadow:0 12px 24px #0004; }.saved-more button { text-align:left; border:0; }
.saved-empty-card { background:none; border:0; padding:24px 0; }.saved-empty-card h3 { font:400 28px/1.3 Georgia,"Times New Roman",serif; margin:0 0 20px; }.saved-empty-card a,.saved-empty-card button { min-height:44px; display:inline-flex; align-items:center; }
.saved-dialog { width:min(520px,calc(100% - 32px)); max-height:calc(100dvh - 40px); overflow:auto; padding:28px; background:#252326; color:#f4eee5; border:1px solid #746c70; border-radius:8px; box-shadow:0 24px 100px #0008; }
.saved-dialog::backdrop { background:#080709b8; }.saved-dialog[open] { animation:detail-arrive 180ms ease-out; }.dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }.dialog-heading h2 { font-size:28px; margin:0; }.dialog-heading button { font:28px/1 Inter,system-ui,sans-serif; padding:0; background:none; color:#f4eee5; border:0; min-width:44px; min-height:44px; }
.saved-dialog p { font-size:15px; line-height:1.6; color:#cfc6be; margin:0 0 20px; overflow-wrap:anywhere; }.saved-dialog label { display:block; font-size:14px; margin-bottom:20px; }.saved-dialog input,.saved-dialog textarea { display:block; width:100%; margin-top:8px; padding:12px; min-height:48px; font:16px/1.5 Inter,system-ui,sans-serif; background:#171719; color:#f4eee5; border:1px solid #746c70; border-radius:4px; resize:vertical; box-sizing:border-box; }.saved-dialog [role=alert] { color:#ffb9a8; }
.dialog-actions { display:flex; justify-content:flex-end; gap:12px; padding-top:8px; }.dialog-actions button { min-height:46px; font-size:14px; padding:10px 20px; background:none; border:1px solid #827577; border-radius:4px; color:#f4eee5; }.dialog-actions button[type=submit] { color:#28382e; background:#eaece2; border-color:#eaece2; }
@media(max-width:680px) {
 .host-offer { display:block; }.host-offer .primary-link { margin-top:20px; }.sample-menu { padding:22px 18px; }.sample-menu-heading h2 { font-size:27px; }.sample-menu-heading { gap:12px; }.sample-budget strong { font-size:23px; }.sample-budget span { font-size:12px; }
 .sample-courses li { grid-template-columns:minmax(0,1fr) 72px; gap:8px 16px; padding:20px 0; }.sample-courses .course-role { grid-column:1/-1; padding:0; }.sample-courses h3 { font-size:24px; }
 .dinner-form .course-fields { grid-template-columns:1fr; }.dinner-form .dinner-fields { grid-template-columns:1fr 1fr; gap:20px 16px; }
 .plan-heading { flex-wrap:wrap; gap:12px; }.plan-heading h3 { font-size:27px; }.plan-facts { margin-top:20px; gap:8px 16px; }.dinner-pours > article { grid-template-columns:minmax(0,1fr) 80px; gap:8px 12px; }.dinner-pours .pour-role { grid-column:1/-1; padding:0; }.dinner-pours strong { font-size:25px; }
 .saved-toolbar { display:block; }.saved-toolbar .saved-filter-row { gap:20px; overflow-x:auto; white-space:nowrap; }.saved-search { display:block; max-width:none; margin-top:20px; }.saved-result-card { grid-template-columns:1fr; gap:16px; }.saved-result-card h3 { font-size:25px; }.saved-card-actions { flex-wrap:nowrap; }.saved-more { margin-left:auto; }
 .saved-dialog { padding:20px; }.dialog-heading h2 { font-size:25px; }.dialog-actions button { flex:1; padding-inline:12px; }
}
