﻿@font-face{font-family:Barlow Condensed;src:url("fonts/BarlowCondensed-Bold-latin.woff2") format("woff2"),url("fonts/BarlowCondensed-Bold.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
/* Drinks-magazine palette: cherry, white and ink; compact display type echoes a bar menu. */
:root{--ink:#252021;--muted:#6c6265;--accent:#b8273e;--accent-hover:#921c30;--line:#e4dadd;--blush:#fbeef0;--page:#fff;--surface:#fff;--surface-raised:#fff;--mint:#f5faf8;--on-accent:#fff;--shadow:rgba(30,20,20,.18);--width:1220px;--display:'Barlow Condensed','Arial Narrow',sans-serif;--body:'Trebuchet MS',Arial,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--page);color:var(--ink);font:17px/1.65 var(--body)}a{color:var(--accent);text-underline-offset:5px}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit;letter-spacing:inherit}button,.button{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);padding:11px 18px;cursor:pointer;text-decoration:none;border-radius:3px;transition:background .18s,color .18s}button:hover,.button:hover{background:var(--accent-hover);color:var(--on-accent);text-decoration:none}button[hidden],[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.quiet-button{background:var(--surface);color:var(--ink);border-color:var(--line)}.quiet-button:hover{background:var(--blush);color:var(--accent)}.topline{background:var(--accent);color:var(--on-accent);text-align:center;font-size:10px;font-weight:bold;letter-spacing:.19em;padding:7px 16px}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.header-inner{max-width:var(--width);margin:auto;min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{font-family:var(--display);font-size:27px;letter-spacing:-.7px;text-decoration:none;color:var(--ink);white-space:nowrap}.wordmark>span:not(.brand-dot){color:var(--accent)}.brand-dot{color:var(--accent)}.wordmark:hover{text-decoration:none}nav{display:flex;gap:25px;align-items:center}nav a,summary{color:var(--ink);text-decoration:none;font-size:14px}nav a:hover{color:var(--accent)}.nav-search{border-bottom:2px solid var(--accent);padding:7px 0}.menu-button{display:none}.home-lead{max-width:var(--width);margin:38px auto;display:grid;grid-template-columns:1fr 1.08fr;min-height:590px}.lead-copy{background:var(--blush);padding:50px 42px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:bold;text-transform:uppercase;color:var(--accent);margin:0 0 15px}.lead-copy h1{font-family:var(--display);font-weight:700;font-size:clamp(56px,6.8vw,93px);line-height:.97;letter-spacing:-2px;margin:6px 0 25px}.lead-copy h1 span{color:var(--accent)}.lead-deck{font-size:18px;line-height:1.6;max-width:360px;margin:0 0 28px}.quick-search{display:flex;width:100%;margin-bottom:22px;border-bottom:2px solid var(--ink);background:var(--surface)}.quick-search input{width:100%;min-width:0;border:0;background:transparent;padding:15px 12px;font-size:14px}.quick-search button{white-space:nowrap;border-radius:0;padding:12px 15px;font-size:14px}.text-link{font-size:14px;font-weight:bold;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}.lead-feature{position:relative;display:block;min-width:0;color:var(--ink);overflow:hidden}.lead-feature>img{display:block;width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 48%}.feature-caption{position:absolute;left:24px;right:24px;bottom:24px;background:var(--surface);padding:21px 56px 21px 23px}.feature-caption h2{font-size:23px;line-height:1.2;margin:8px 0 0;max-width:420px}.feature-caption .eyebrow{font-size:10px}.feature-arrow{position:absolute;right:22px;top:28px;color:var(--accent);font-size:32px}.lead-feature:hover .feature-arrow{transform:translate(3px,-3px)}.feature-arrow{transition:transform .2s}.category-strip{max-width:var(--width);margin:0 auto 68px;border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:20px 0;justify-content:space-between;gap:18px;flex-wrap:wrap}.category-strip>span{font-size:10px;letter-spacing:.12em;font-weight:bold}.category-strip a{font-size:14px;font-weight:bold}.category-strip a span{color:var(--accent);margin-left:8px}.listing,.related{max-width:var(--width);margin:48px auto 80px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:6px}.listing-title,.related>h2{font-family:var(--display);font-weight:700;font-size:clamp(34px,4vw,49px);line-height:1.1;margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}.card{min-width:0}.card-photo{position:relative;overflow:hidden;background:var(--blush)}.card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.card h2{font-size:23px;line-height:1.24;letter-spacing:-.4px;margin:9px 0 12px}.card h2 a{color:var(--ink);text-decoration:none}.card h2 a:hover{color:var(--accent)}.card p{font-size:15px;line-height:1.65;margin:12px 0;color:var(--muted)}.card .card-category{font-size:10px;color:var(--accent);margin:20px 0 8px}.read-more{font-weight:bold;font-size:13px;text-decoration:none}.read-more span[aria-hidden]{display:inline-block;margin-left:8px;transition:transform .18s}.read-more:hover span[aria-hidden]{transform:translate(3px,-3px)}.save-button{position:absolute;top:12px;right:12px;font-size:12px;padding:7px 12px;background:var(--surface);color:var(--ink);border-color:var(--on-accent)}.save-button[aria-pressed=true],[data-save][aria-pressed=true],#saved-filter[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.pagination{margin-top:52px;flex-wrap:wrap;gap:8px}.pagination a{padding:6px 13px;border:1px solid var(--line)}.pagination [aria-current]{background:var(--accent);color:var(--on-accent)}h1{font-size:clamp(32px,4.5vw,55px);line-height:1.12;letter-spacing:-1.3px;margin:18px 0 22px}h2{font-size:28px;line-height:1.25}h3{font-size:23px;line-height:1.3}.article{max-width:820px;margin:40px auto 60px}.breadcrumb{font-size:12px;color:var(--muted)}.byline{font-size:13px;color:var(--muted)}.recipe-actions{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.recipe-actions>*{font-size:14px}.article-toc{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:24px 0}.article-toc summary{font-size:16px;font-weight:bold;cursor:pointer}.article-toc summary span{font-weight:normal;font-size:12px;color:var(--muted);margin-left:12px}.article-toc ol{columns:2;column-gap:32px;padding-left:23px}.article-toc li{font-size:14px;break-inside:avoid;margin:8px 0}.prose{overflow-wrap:break-word;hyphens:auto;font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.8}.prose h2,.prose h3,.prose h4{font-family:var(--body);letter-spacing:-.4px;margin-top:1.8em}.prose h2{padding-top:18px;border-top:1px solid var(--line)}.prose p,.prose ul,.prose ol{margin:1.2em 0}.prose li{margin:8px 0}.prose img{display:block;height:auto;max-width:100%;margin:30px auto}.prose figure{margin:30px 0}.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font:15px/1.6 var(--body)}.prose th,.prose td{overflow-wrap:normal;hyphens:manual}.prose h2,.prose h3,.prose h4{hyphens:manual}.prose td,.prose th{padding:12px;border:1px solid var(--line)}.recipe{border:1px solid var(--line);border-top:6px solid var(--accent);padding:32px;margin:48px 0;scroll-margin-top:24px;background:var(--surface)}.recipe-heading{display:flex;gap:25px;align-items:flex-start}.recipe-heading img{width:180px;height:180px;object-fit:cover}.recipe-heading h2{margin-top:0;font-size:30px}.recipe-heading p{font-size:15px}.recipe-heading button{font-size:13px}.ingredient-heading{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}.ingredient-heading h3{margin:0 auto 0 0}.ingredient-heading button{font-size:12px;padding:6px 10px}.ingredient-count{font-size:12px;color:var(--muted)}.ingredients{list-style:none;padding:0}.ingredients li{border-bottom:1px solid var(--line)}.ingredients label{display:flex;align-items:baseline;gap:12px;padding:12px 0;cursor:pointer}.ingredients input{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}.ingredients input:checked+span{text-decoration:line-through;color:var(--muted)}.recipe-steps{font:17px/1.75 var(--body)}.nutrition{border-top:1px solid var(--line);padding-top:15px}.nutrition summary{cursor:pointer}.nutrition dl{display:grid;grid-template-columns:1fr 1fr;font-size:14px}.nutrition dd{margin:0}.comments{border-top:1px solid var(--line);padding-top:24px}.comments article{border-bottom:1px solid var(--line);padding:10px 0;font-size:15px}.related>h2{margin-bottom:32px}footer{border-top:3px solid var(--accent);max-width:var(--width);padding:38px 0;margin:auto;font-size:13px;display:flex;justify-content:space-between;align-items:start;gap:26px}.footer-brand{font-family:var(--display);font-size:25px;text-decoration:none;color:var(--accent)}footer nav{flex-wrap:wrap;gap:15px}footer p{margin:7px 0;color:var(--muted)}.search-page{max-width:1100px}.search-page h1{font-family:var(--display);font-weight:700;font-size:clamp(42px,6vw,72px)}.search-intro{color:var(--muted);margin-bottom:28px}#recipe-search{display:block;margin:12px 0 24px;width:100%;padding:17px;border:1px solid var(--muted);border-radius:3px}.search-controls{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.search-controls label{font-size:12px;font-weight:bold;display:grid;gap:5px}.search-controls select{background:var(--surface);border:1px solid var(--line);padding:12px;min-width:180px;font-size:14px}.search-controls button{font-size:14px}.save-note,#search-status{color:var(--muted);font-size:13px}#search-status{margin:28px 0}#search-results:empty{min-height:80px}.empty-state{padding:24px;background:var(--blush);grid-column:1/-1}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:var(--surface);padding:10px;z-index:10}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){:root{--width:1360px}.home-lead{min-height:660px}}
@media(max-width:1300px){.header-inner,.home-lead,.category-strip,.listing,.related,footer{margin-left:28px;margin-right:28px}.article{padding:0 24px}.header-inner{gap:18px}nav{gap:18px}.wordmark{font-size:25px}.lead-copy{padding:36px 30px}}
@media(max-width:1000px){.wordmark{font-size:24px}#navigation{gap:15px}#navigation a{font-size:12px}.home-lead{min-height:520px}.lead-copy h1{font-size:68px}.lead-deck{font-size:16px}.feature-caption{left:16px;right:16px;bottom:16px}.feature-caption h2{font-size:20px}.category-strip{justify-content:flex-start;gap:15px 25px}.category-strip>span{width:100%}.grid{gap:38px 22px}.card h2{font-size:21px}}
@media(max-width:800px){.header-inner{min-height:80px;flex-wrap:wrap;padding:16px 0}.menu-button{display:block;background:var(--surface);color:var(--ink);border-color:var(--line);font-size:13px;padding:7px 12px}#navigation{display:none;flex-basis:100%;flex-wrap:wrap;gap:14px 22px;padding:12px 0 4px}#navigation.open{display:flex}#navigation a{font-size:14px}.home-lead{grid-template-columns:1fr 1fr;min-height:490px}.lead-copy{padding:28px 24px}.lead-copy h1{font-size:56px;letter-spacing:-1px}.lead-deck{font-size:15px}.quick-search{flex-wrap:wrap}.quick-search input{flex-basis:100%;font-size:13px}.quick-search button{width:100%}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{align-items:flex-start;flex-direction:column}.recipe-heading{display:block}.recipe-heading img{float:right;width:125px;height:125px;margin:0 0 15px 15px}footer{flex-direction:column}.recipe{padding:22px}.article-toc ol{columns:1}}
@media(max-width:600px){.header-inner,.home-lead,.category-strip,.listing,.related,footer{margin-left:18px;margin-right:18px}.home-lead{grid-template-columns:1fr;margin-top:20px}.lead-copy{padding:30px 26px}.lead-copy h1{font-size:72px}.lead-deck{max-width:100%}.quick-search{flex-wrap:nowrap}.quick-search input{flex-basis:auto}.quick-search button{width:auto}.lead-feature{height:430px}.feature-caption h2{font-size:22px}.category-strip{margin-bottom:40px;padding:18px 0;gap:14px 24px}.category-strip a{font-size:13px}.grid{grid-template-columns:1fr;gap:38px}.card img{aspect-ratio:4/3}.card h2{font-size:25px}.listing{margin-top:36px}.article{padding:0 18px;margin-top:25px}.article h1{font-size:36px}.prose{font-size:18px}.recipe{padding:18px}.recipe-heading img{float:none;width:100%;height:auto;aspect-ratio:4/3;margin:0 0 20px}.search-controls>label{flex:1;min-width:130px}.search-controls select{min-width:0;width:100%}.wordmark{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.topline,header,footer,.breadcrumb,.recipe-actions,.article-toc,.related,.comments,.skip,button,.article>h1,.article>.byline,.article>.prose{display:none!important}.article{max-width:none;padding:0;margin:0}.recipe{border:0;margin:0;padding:0;break-after:page}.recipe-heading img{max-width:130px}.ingredients input{display:none}.ingredients input:checked+span{text-decoration:none;color:black}body{font-size:11pt;color:black}.recipe h2{font-size:20pt}.recipe h3{font-size:14pt}.recipe .prose{font-size:11pt}a{color:black;text-decoration:none}.nutrition,.ingredient-count{display:none}}


.tested-note{font-size:13px;background:var(--blush);border-left:3px solid var(--accent);padding:10px 12px;margin:18px 0}.seasonal-links{max-width:820px;margin:28px auto 48px;padding:20px;border:1px solid var(--line);background:var(--blush);display:flex;gap:12px 20px;align-items:center;flex-wrap:wrap}.seasonal-links .eyebrow{width:100%;margin:0}.seasonal-links a{font-weight:bold;text-decoration:none}.reader-feedback{max-width:820px;margin:48px auto;padding-top:28px;border-top:1px solid var(--line)}.reader-feedback h2{margin-top:4px}.rating-stars{display:flex;gap:6px}.rating-star{background:var(--surface);color:#b2a5a8;border:1px solid var(--line);font-size:30px;line-height:1;padding:8px 10px}.rating-star:hover,.rating-star.selected{color:var(--accent);background:var(--blush);border-color:var(--accent)}.rating-summary,.rating-status{font-size:14px;color:var(--muted)}.listing-intro{max-width:720px;color:var(--muted);line-height:1.65;margin:12px 0 0}

.feedback-panel{background:var(--surface)}.feedback-rating{padding:18px 0 24px;border-bottom:1px solid var(--line)}.comment-form{padding:26px 0;border-bottom:1px solid var(--line)}.comment-form h3,.community-comments h3{margin:0 0 16px}.comment-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.comment-fields label{display:grid;gap:6px;font-size:13px;font-weight:bold}.comment-fields input,.comment-fields textarea{width:100%;border:1px solid var(--line);padding:11px;background:var(--surface);color:var(--ink);border-radius:3px}.comment-fields textarea{resize:vertical;min-height:120px}.comment-wide{grid-column:1/-1}.comment-form>button{margin-top:16px}.comment-note,.comment-status,.comment-empty{font-size:13px;color:var(--muted)}.feedback-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.community-comments{padding-top:26px}.reader-comment{padding:16px 0;border-bottom:1px solid var(--line)}.reader-comment-meta{font-size:13px;color:var(--muted);margin:0 0 7px}.reader-comment>p:not(.reader-comment-meta){margin:0;white-space:pre-wrap}
.comment-reply{margin:12px 0 0 6px;padding:2px 0 2px 14px;border-left:3px solid var(--accent)}
.comment-reply>p:last-child{margin:0;white-space:pre-wrap}@media(max-width:600px){.comment-fields{grid-template-columns:1fr}.comment-wide{grid-column:auto}}

.feedback-top{max-width:820px;margin:22px auto 28px;padding:22px 24px;border:1px solid var(--line);border-left:6px solid var(--accent);background:var(--blush);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;align-items:center}.feedback-top .eyebrow{margin-bottom:4px}.feedback-top h2{font-family:var(--display);font-size:32px;line-height:1;margin:0 0 8px}.feedback-top .feedback-rating{padding:0;border:0;text-align:right}.feedback-top .rating-summary{margin:0}.feedback-top .rating-stars{justify-content:flex-end}.feedback-top .rating-status{margin:6px 0 0;min-height:1.4em}.feedback-top .rating-followup{grid-column:1/-1;margin-top:2px;padding:22px 0 4px;border-top:1px solid var(--line);border-bottom:0}.feedback-top .comment-prompt h3{margin:0 0 16px;font-size:22px}.feedback-top .community-comments{grid-column:1/-1;padding-top:12px;border-top:1px solid var(--line)}.feedback-top .community-comments summary{cursor:pointer;font-weight:bold;color:var(--accent)}.feedback-top .community-comments[open] summary{margin-bottom:12px}@media(max-width:700px){.feedback-top{grid-template-columns:1fr;padding:18px}.feedback-top .feedback-rating{text-align:left}.feedback-top .rating-stars{justify-content:flex-start}.feedback-top .rating-followup,.feedback-top .community-comments{grid-column:auto}.rating-star{font-size:27px;padding:8px 9px}}

.moderation-page{max-width:920px;margin:48px auto 80px;padding:0 24px}.moderation-intro{max-width:720px;color:var(--muted)}.moderation-login{margin:28px 0;padding:22px;border:1px solid var(--line);background:var(--blush)}.moderation-login label{display:block;font-size:13px;font-weight:bold;margin-bottom:7px}.moderation-token-row{display:flex;gap:10px}.moderation-token-row input{flex:1;min-width:0;border:1px solid var(--line);padding:12px;background:var(--surface)}.moderation-status{font-size:13px;color:var(--muted);min-height:1.4em}.moderation-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:30px 0 16px}.moderation-toolbar h2{margin:0}.moderation-card{border:1px solid var(--line);padding:20px;margin:0 0 14px;background:var(--surface)}.moderation-meta{font-size:13px;color:var(--muted);margin:0 0 10px}.moderation-body{white-space:pre-wrap;margin:0 0 16px}.moderation-actions{display:flex;gap:10px}.moderation-actions .quiet-button{color:var(--ink)}@media(max-width:600px){.moderation-token-row{flex-direction:column}.moderation-actions{flex-direction:column}.moderation-actions button{width:100%}}

.feedback-link{display:inline-flex;align-items:center;text-decoration:none}.feedback-link:hover{text-decoration:none}


/* Recipe energy / alcohol facts and collection filters. */
.recipe-facts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}.recipe-facts span{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid var(--line);background:var(--blush);border-radius:3px;font-size:12px;color:var(--muted)}.recipe-facts strong{color:var(--ink);font-size:14px;margin-right:4px}.estimate-note{max-width:520px;margin:6px 0 14px!important;font-size:11px!important;line-height:1.45!important;color:var(--muted)}
.card-facts{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 4px!important}.card-facts span{display:inline-block;padding:4px 7px;background:var(--blush);border:1px solid var(--line);border-radius:3px;font-size:11px;font-weight:bold;color:var(--ink)}
.listing-tools{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:-8px 0 28px;padding:14px 16px;border:1px solid var(--line);background:var(--surface)}.listing-tools label{display:grid;gap:5px;font-size:11px;font-weight:bold}.listing-tools select{min-width:190px;padding:9px 11px;border:1px solid var(--line);background:var(--surface);font-size:13px}.listing-filter-status{margin:0 0 9px auto;font-size:12px;color:var(--muted)}
@media(max-width:600px){.recipe-facts{gap:6px}.recipe-facts span{flex:1 1 auto;justify-content:center}.listing-tools{align-items:stretch}.listing-tools label{flex:1 1 100%}.listing-tools select{width:100%;min-width:0}.listing-filter-status{margin:0}}


/* Recipe page redesign: one useful recipe experience instead of a repeated card. */
.recipe-page{max-width:1220px;margin:26px auto 70px}.recipe-page>.breadcrumb{margin-bottom:14px}.recipe-page .recipe-hero.recipe{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:30px;align-items:start;border:0;border-top:0;padding:0;margin:0;background:transparent;scroll-margin-top:18px}
.recipe-hero-main{min-width:0;border:1px solid var(--line);border-top:6px solid var(--accent);background:var(--surface);padding:26px 28px 24px}.recipe-overview{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}.recipe-hero-image{width:230px;height:230px;object-fit:cover;display:block;background:var(--blush)}.recipe-overview-copy h1{font-family:var(--display);font-size:clamp(38px,4.3vw,58px);line-height:.98;letter-spacing:-1.2px;margin:2px 0 10px}.recipe-overview-copy .byline{margin:0 0 12px}.recipe-intro{font:17px/1.55 Georgia,'Times New Roman',serif;color:var(--ink)}.recipe-intro p{margin:0}.recipe-meta-line{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 6px;font-size:13px;color:var(--muted)}.recipe-meta-line strong{color:var(--ink)}.tested-inline{margin:8px 0 14px;font-size:12px;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;gap:8px}.hero-actions button,.hero-actions .button{font-size:12px;padding:8px 12px}
.hero-ingredients{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.hero-ingredients .ingredient-heading{margin-top:0}.hero-ingredients .ingredient-heading .eyebrow{margin:0 0 2px}.hero-ingredients .ingredient-heading h2{font-family:var(--display);font-size:32px;line-height:1;margin:0}.hero-ingredients .ingredients{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;margin:14px 0 0}.hero-ingredients .ingredients li{min-width:0}.hero-ingredients .ingredients label{padding:10px 0;font-size:15px;line-height:1.35}
.recipe-hero-side{display:grid;gap:16px;position:sticky;top:18px;align-self:start}.recipe-side-card{border:1px solid var(--line);background:var(--surface);padding:20px}.recipe-side-card h2{font-family:var(--display);font-size:30px;line-height:1;margin:2px 0 14px}.recipe-at-a-glance{border-top:6px solid var(--accent)}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.fact-grid>div{display:grid;gap:4px;background:var(--surface);padding:12px}.fact-grid span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:bold}.fact-grid strong{font-size:16px;line-height:1.2}.recipe-at-a-glance .estimate-note{margin:12px 0 0!important}.mini-nutrition{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;margin:13px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:12px}.mini-nutrition dt{color:var(--muted)}.mini-nutrition dd{margin:0;text-align:right;font-weight:bold}
.feedback-sidebar.reader-feedback{max-width:none;margin:0;padding:20px;border-top:1px solid var(--line)}.feedback-sidebar .feedback-top-copy .eyebrow{margin-bottom:2px}.feedback-sidebar .feedback-rating{padding:0;border:0}.feedback-sidebar .rating-stars{gap:4px;flex-wrap:nowrap}.feedback-sidebar .rating-star{font-size:26px;padding:7px 8px;min-width:0}.feedback-sidebar .rating-summary{margin:0 0 10px;font-size:12px}.feedback-sidebar .rating-status{margin:7px 0 0;min-height:1.2em;font-size:12px}.feedback-sidebar .rating-followup{padding:16px 0 0;margin-top:14px;border-top:1px solid var(--line);border-bottom:0}.feedback-sidebar .comment-prompt h3{margin:0 0 10px;font-size:18px}.feedback-sidebar .comment-fields{grid-template-columns:1fr;gap:10px}.feedback-sidebar .comment-wide{grid-column:auto}.feedback-sidebar .comment-fields input,.feedback-sidebar .comment-fields textarea{padding:9px;font-size:13px}.feedback-sidebar .comment-fields textarea{min-height:90px}.feedback-sidebar .comment-form>button{margin-top:10px;padding:8px 12px;font-size:12px}.feedback-sidebar .community-comments{padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.feedback-sidebar .community-comments summary{cursor:pointer;font-weight:bold;color:var(--accent);font-size:13px}.feedback-sidebar .reader-comment{padding:11px 0}.feedback-sidebar .reader-comment>p:last-child{font-size:13px}
.recipe-method{max-width:820px;margin:34px 0 0;padding:30px 0 0;border-top:1px solid var(--line)}.recipe-method>.eyebrow{margin-bottom:4px}.recipe-method>h2{font-family:var(--display);font-size:44px;line-height:1;margin:0 0 18px}.recipe-method .recipe-steps{font-size:18px;line-height:1.7}.recipe-method .recipe-steps ol{padding-left:25px}.recipe-method .recipe-steps li{margin:12px 0}.recipe-notes{margin-top:20px;padding:14px 16px;border:1px solid var(--line);background:var(--blush)}.recipe-notes summary{cursor:pointer;font-weight:bold}.recipe-notes .prose{font-size:15px;line-height:1.6}.recipe-toc,.article-continuation,.recipe-page>.comments,.additional-recipes{max-width:820px}.article-continuation{margin-top:28px}.additional-recipes{margin-top:44px}.additional-recipes>h2{font-family:var(--display);font-size:36px}.secondary-recipe{margin:24px 0}.recipe-page>.comments{margin-top:40px}
@media(max-width:1300px){.recipe-page{margin-left:28px;margin-right:28px;padding:0}.recipe-page .recipe-hero.recipe{grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr)}}
@media(max-width:980px){.recipe-page .recipe-hero.recipe{grid-template-columns:1fr}.recipe-hero-side{position:static;grid-template-columns:1fr 1fr}.recipe-overview{grid-template-columns:190px minmax(0,1fr)}.recipe-hero-image{width:190px;height:190px}.recipe-method,.recipe-toc,.article-continuation,.recipe-page>.comments,.additional-recipes{max-width:none}}
@media(max-width:700px){.recipe-page{margin:20px 18px 55px}.recipe-hero-main{padding:18px}.recipe-overview{grid-template-columns:1fr}.recipe-hero-image{width:100%;height:auto;aspect-ratio:4/3}.recipe-overview-copy h1{font-size:42px}.hero-ingredients .ingredients{grid-template-columns:1fr}.recipe-hero-side{grid-template-columns:1fr}.recipe-method{margin-top:26px;padding-top:24px}.recipe-method>h2{font-size:38px}.recipe-method .recipe-steps{font-size:17px}.fact-grid{grid-template-columns:1fr 1fr}}
@media print{.recipe-page{max-width:none;margin:0}.recipe-page>.breadcrumb,.recipe-hero-side,.hero-actions,.tested-inline,.ingredient-count,.recipe-toc,.article-continuation,.additional-recipes,.recipe-page>.comments{display:none!important}.recipe-page .recipe-hero.recipe{display:block}.recipe-hero-main{border:0;padding:0}.recipe-overview{grid-template-columns:120px 1fr}.recipe-hero-image{width:120px;height:120px}.hero-ingredients .ingredients{display:block}.recipe-method{max-width:none;border-top:1px solid #bbb;margin-top:18px;padding-top:18px}.recipe-method .recipe-steps{display:block!important}}

.anchor-alias{display:block;height:0;position:relative;top:-18px;visibility:hidden}


/* UX pass: serving controls, pantry finder, mobile shortcuts and clearer discovery. */
.ingredient-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0 4px}.serving-control,.unit-toggle{display:inline-flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid var(--line);background:var(--blush);border-radius:3px}.serving-control>span{font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-right:3px}.serving-control strong{min-width:24px;text-align:center}.serving-control button,.unit-toggle button,.reset-checklist{padding:5px 8px!important;font-size:12px!important}.unit-toggle button.selected{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.reset-checklist{margin-left:auto}
.comment-toggle{margin:8px 0 2px;font-size:12px!important}
.recipe-mobile-nav{display:none}
.home-discovery{max-width:var(--width);margin:-16px auto 42px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.8fr);gap:28px;align-items:center}.home-discovery h2{font-family:var(--display);font-size:34px;line-height:1.05;margin:4px 0}.discovery-links{display:flex;flex-wrap:wrap;gap:10px}.discovery-links a{display:inline-block;padding:9px 12px;border:1px solid var(--line);background:var(--surface);text-decoration:none;font-size:13px;font-weight:bold}.discovery-links a:hover{border-color:var(--accent);color:var(--accent)}
.load-more-wrap{text-align:center;margin:30px 0 10px}.load-more{min-width:230px}
.pantry-finder{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:24px;align-items:center;margin:24px 0 30px;padding:22px;border:1px solid var(--line);border-left:6px solid var(--accent);background:var(--blush)}.pantry-finder h2{font-family:var(--display);font-size:30px;margin:2px 0 7px}.pantry-finder p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.pantry-row{display:flex;gap:8px;flex-wrap:wrap}.pantry-row input{flex:1 1 240px;min-width:0;padding:12px;border:1px solid var(--line);background:var(--surface)}.pantry-row button{font-size:13px}.pantry-match{display:inline-block!important;margin:6px 0 2px!important;padding:5px 8px;background:var(--blush);border-left:3px solid var(--accent);font-size:11px!important;font-weight:bold;color:var(--ink)!important}
@media(max-width:1300px){.home-discovery{margin-left:28px;margin-right:28px}}
@media(max-width:800px){.home-discovery{grid-template-columns:1fr}.pantry-finder{grid-template-columns:1fr}.listing-tools{align-items:stretch}.listing-tools label{flex:1 1 180px}}
@media(max-width:700px){
  body:has(.recipe-page){padding-bottom:62px}
  .recipe-mobile-nav{position:fixed;left:12px;right:12px;bottom:10px;z-index:30;display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 30px var(--shadow);border-radius:5px;overflow:hidden}
  .recipe-mobile-nav a,.recipe-mobile-nav button{appearance:none;border:0;border-right:1px solid var(--line);background:var(--surface);color:var(--ink);padding:13px 8px;text-align:center;text-decoration:none;font:700 12px/1 var(--body)}
  .recipe-mobile-nav>*:last-child{border-right:0}.recipe-mobile-nav button[aria-pressed="true"]{background:var(--blush);color:var(--accent)}
  .ingredient-tools{align-items:stretch}.serving-control,.unit-toggle{flex:1 1 auto;justify-content:center}.reset-checklist{margin-left:0;flex:1 1 100%}
  .home-discovery{margin-left:18px;margin-right:18px;padding:20px 0}.discovery-links{gap:7px}.discovery-links a{font-size:12px;padding:8px 10px}
  .pantry-finder{padding:18px}.pantry-row{display:grid;grid-template-columns:1fr}.pantry-row input{width:100%;flex-basis:auto}
}
@media print{.ingredient-tools,.recipe-mobile-nav,.comment-toggle{display:none!important}}


/* My Bar: an app-like workspace with focused task tabs. */
.my-bar-page{max-width:var(--width);margin:44px auto 80px}.my-bar-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:44px;align-items:end;padding-bottom:26px}.my-bar-hero h1{font-family:var(--display);font-size:clamp(58px,8vw,108px);line-height:.88;letter-spacing:-2px;margin:5px 0 16px}.my-bar-hero>div>p:last-child{max-width:680px;font:18px/1.6 var(--body);color:var(--muted)}
.my-bar-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--line);gap:1px}.bar-stat{appearance:none;border:0;border-radius:0;background:var(--surface);color:var(--ink);padding:16px 12px;display:grid;gap:4px;text-align:left;cursor:pointer}.bar-stat:hover{background:var(--blush);color:var(--ink)}.bar-stat strong{font-family:var(--display);font-size:32px;line-height:1;color:var(--accent)}.bar-stat span{font-size:9px;font-weight:bold;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.bar-workspace-tabs{position:sticky;top:0;z-index:35;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 28px;border:1px solid var(--line);background:var(--surface);box-shadow:0 6px 18px rgba(30,20,20,.05)}.bar-workspace-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border:0;border-right:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--muted);font-size:13px;font-weight:800}.bar-workspace-tabs button:last-child{border-right:0}.bar-workspace-tabs button:hover{background:var(--blush);color:var(--ink)}.bar-workspace-tabs button[aria-selected="true"]{background:var(--accent);color:var(--on-accent)}.bar-workspace-tabs small{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--blush);color:var(--accent);font-size:10px}.bar-workspace-tabs button[aria-selected="true"] small{background:var(--surface);color:var(--accent)}
.bar-workspace-panel{min-height:360px;animation:bar-panel-in .16s ease-out}.bar-workspace-panel[hidden]{display:none!important}@keyframes bar-panel-in{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
.bar-pantry{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(340px,1.25fr);gap:18px 34px;align-items:end;margin:8px 0 48px;padding:26px;border:1px solid var(--line);border-left:6px solid var(--accent);background:var(--blush)}.bar-section-copy h2{font-family:var(--display);font-size:38px;line-height:1;margin:4px 0 10px}.bar-section-copy>p:last-child{margin:0;color:var(--muted);line-height:1.55}.bar-pantry-form label{display:block;font-size:12px;font-weight:bold;margin-bottom:6px}.bar-pantry-form>div{display:flex;gap:8px}.bar-pantry-form input{flex:1;min-width:0;padding:12px;border:1px solid var(--line);background:var(--surface)}.bar-pantry-form button{font-size:13px}.bar-help{margin:6px 0 0;font-size:11px;color:var(--muted)}.bar-pantry-list{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;min-height:1px}.pantry-chip{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 10px;border-radius:999px;font:700 12px/1 var(--body);cursor:pointer}.pantry-chip:hover{border-color:var(--accent);color:var(--accent)}.bar-clear-pantry{grid-column:1/-1;justify-self:start;font-size:12px!important;padding:7px 10px!important}
.bar-section{margin:38px 0 54px}.bar-workspace-panel>.bar-section:first-child{margin-top:8px}.bar-section .section-heading{margin-bottom:26px}.bar-section .grid:has(.empty-state){display:block}.bar-section .empty-state{margin:0;padding:24px;border:1px dashed var(--line);background:var(--blush);color:var(--muted)}.bar-saved-section{margin-top:8px}
.bar-near-disclosure{padding-top:18px;border-top:1px solid var(--line)}.bar-near-disclosure>summary{display:grid;gap:6px;cursor:pointer;list-style:none}.bar-near-disclosure>summary::-webkit-details-marker{display:none}.bar-near-disclosure>summary strong{font-family:var(--display);font-size:30px;line-height:1.1}.bar-near-disclosure>summary strong:after{content:'+';float:right;font-family:var(--body);font-size:22px}.bar-near-disclosure[open]>summary strong:after{content:'−'}.bar-near-disclosure>summary .listing-intro{display:block;font-size:13px;color:var(--muted)}.bar-near-disclosure>.grid{margin-top:22px}
.pantry-manage-link{display:inline-block;margin-top:10px;font-size:12px}
.bar-quick-add{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px}.bar-quick-title{display:flex;justify-content:space-between;gap:12px;margin:0 0 12px;font-weight:800;font-size:13px}.bar-quick-title span{font-weight:400;color:var(--muted)}.bar-quick-group{display:grid;grid-template-columns:90px 1fr;align-items:start;gap:10px;margin:9px 0}.bar-quick-group>span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:8px}.bar-quick-group>div{display:flex;flex-wrap:wrap;gap:7px}.bar-quick-button{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 10px;border-radius:3px;font:700 12px/1.2 var(--body);cursor:pointer}.bar-quick-button:not(:disabled):hover,.bar-quick-button:not(:disabled):focus-visible{border-color:var(--accent);color:var(--accent)}.bar-quick-button:disabled{opacity:.42;cursor:default}
@media(max-width:1300px){.my-bar-page{margin-left:28px;margin-right:28px}}
@media(max-width:850px){.my-bar-hero{grid-template-columns:1fr}.bar-pantry{grid-template-columns:1fr}.bar-pantry-list,.bar-clear-pantry{grid-column:auto}.my-bar-stats{max-width:560px}.bar-workspace-tabs{margin-top:4px}}
@media(max-width:600px){.my-bar-page{margin:26px 14px 60px}.my-bar-hero{gap:24px;padding-bottom:18px}.my-bar-hero h1{font-size:68px}.my-bar-hero>div>p:last-child{font-size:16px;line-height:1.5}.my-bar-stats{grid-template-columns:repeat(4,1fr)}.bar-stat{padding:11px 7px}.bar-stat strong{font-size:25px}.bar-stat span{font-size:8px}.bar-workspace-tabs{top:0;margin-left:-14px;margin-right:-14px;margin-bottom:22px;border-left:0;border-right:0;box-shadow:0 5px 16px var(--shadow)}.bar-workspace-tabs button{min-height:48px;padding:7px 5px;font-size:11px;gap:4px}.bar-workspace-tabs small{min-width:19px;height:19px;padding:0 5px;font-size:9px}.bar-pantry{padding:18px;margin:4px 0 36px}.bar-pantry-form>div{display:grid;grid-template-columns:1fr}.bar-quick-group{grid-template-columns:1fr;gap:3px}.bar-quick-title{display:block}.bar-quick-title span{display:block;margin-top:3px}.bar-section{margin:30px 0 42px}.section-heading{align-items:flex-start}.bar-section .section-heading{display:grid;gap:10px}}


/* Shopping-list loop: recipe → missing ingredient → shop → My Bar. */
.shopping-recipe-button[disabled]{opacity:.62;cursor:default}
.card-shopping-button{width:100%;margin:5px 0 3px;padding:8px 10px!important;font-size:11px!important;text-align:left}
.bar-shopping{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(340px,1.25fr);gap:18px 34px;align-items:end;margin:8px 0 30px;padding:26px;border:1px solid var(--line);border-left:6px solid #2c645b;background:var(--mint)}
.shopping-add-form label{display:block;font-size:12px;font-weight:bold;margin-bottom:6px}.shopping-add-form>div{display:flex;gap:8px}.shopping-add-form input{flex:1;min-width:0;padding:12px;border:1px solid var(--line);background:var(--surface)}.shopping-add-form button{font-size:13px}
.shopping-list{grid-column:1/-1;display:grid;gap:8px}.shopping-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--line);background:var(--surface)}.shopping-item label{display:flex;align-items:center;gap:10px;flex:1;font-weight:bold;font-size:14px}.shopping-item input{width:18px;height:18px;accent-color:var(--accent)}.shopping-item input:checked+span{text-decoration:line-through;color:var(--muted)}.shopping-item button{padding:6px 8px!important;font-size:11px!important}.shopping-empty{margin:0;padding:18px;border:1px dashed var(--line);background:var(--surface);color:var(--muted);font-size:13px}.shopping-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.shopping-actions button{font-size:12px;padding:8px 11px}
@media(max-width:850px){.bar-shopping{grid-template-columns:1fr}.shopping-list,.shopping-actions{grid-column:auto}}
@media(max-width:600px){.shopping-add-form>div{display:grid;grid-template-columns:1fr}.bar-shopping{padding:18px;margin:4px 0 26px}.shopping-actions{display:grid;grid-template-columns:1fr}.shopping-actions button{width:100%}.shopping-item{align-items:flex-start}}

/* Optional cross-device sync: small utility control, not a page section. */
.my-bar-tools{display:grid;gap:10px;align-self:end}.bar-sync-mini{display:flex;justify-content:flex-end}.sync-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 11px!important;border-radius:999px!important;font-size:12px!important;font-weight:800;line-height:1.2}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 3px var(--blush)}.bar-sync-mini[data-sync-signed-in="true"] .sync-dot{background:#39856e}.bar-sync-mini[data-sync-tone="working"] .sync-dot{background:#d9a12b;animation:sync-pulse 1.2s ease-in-out infinite}@keyframes sync-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.sync-dot{animation:none!important}}.bar-sync-mini[data-sync-tone="error"] .sync-dot{background:#c2412d}
.sync-dialog{width:min(520px,calc(100vw - 32px));max-width:520px;border:0;padding:0;background:transparent;color:var(--ink)}.sync-dialog::backdrop{background:rgba(20,16,17,.48);backdrop-filter:blur(3px)}.sync-dialog-card{position:relative;background:var(--surface);border:1px solid var(--line);box-shadow:0 22px 70px var(--shadow);padding:24px}.sync-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:8px}.sync-dialog-head .eyebrow{margin-bottom:5px}.sync-dialog-head h2{font-family:var(--display);font-size:38px;line-height:1;margin:0}.sync-dialog-close{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;padding:0!important;border-radius:50%!important;background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important;font-size:22px!important;line-height:1}.sync-dialog-close:hover{background:var(--blush)!important;color:var(--accent)!important}.sync-dialog-copy{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.55}.bar-sync-form{margin:0}.bar-sync-form label{display:block;margin-bottom:6px;font-size:12px;font-weight:800}.bar-sync-form>div{display:flex;gap:8px}.bar-sync-form input{flex:1;min-width:0;padding:11px 12px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.bar-sync-form button{font-size:12px;white-space:nowrap}.bar-sync-note{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.bar-sync-status{margin:9px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.bar-sync-identity{display:flex;align-items:center;gap:9px;margin:4px 0 8px;padding:10px 12px;border:1px solid var(--line);background:var(--blush);font-size:13px}.bar-sync-identity strong{word-break:break-word}.sync-status-dot{width:9px;height:9px;border-radius:50%;background:#39856e;flex:0 0 auto}.bar-sync-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.bar-sync-actions button{font-size:12px;padding:8px 11px}
@media(max-width:850px){.bar-sync-mini{justify-content:flex-start}.my-bar-tools{max-width:560px}}@media(max-width:600px){.sync-dialog-card{padding:20px}.sync-dialog-head h2{font-size:33px}.bar-sync-form>div{display:grid;grid-template-columns:1fr}.bar-sync-form button,.bar-sync-actions button{width:100%}.sync-pill{padding:7px 10px!important}}

/* Buy-next ranking: turn near matches into a useful shopping decision. */
.bar-buy-next{margin:0 0 48px;padding:26px;border:1px solid var(--line);border-left:6px solid var(--accent);background:var(--surface)}
.buy-next-summary{margin:16px 0 18px;padding:12px 14px;border:1px solid var(--line);background:var(--blush);font-size:13px;font-weight:800;line-height:1.45}
.buy-next-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.buy-next-grid>.empty-state{grid-column:1/-1;margin:0;padding:20px;border:1px dashed var(--line);background:var(--blush);color:var(--muted)}
.buy-next-card{display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid var(--line);background:var(--surface-raised)}.buy-next-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.buy-next-rank{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:900}.buy-next-unlock{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}
.buy-next-card h3{margin:14px 0 5px;font-family:var(--display);font-size:30px;line-height:1;text-transform:capitalize}.buy-next-card>p{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.45}.buy-next-recipes{margin:0 0 16px;padding-left:18px;display:grid;gap:5px;font-size:12px;line-height:1.35}.buy-next-recipes a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:2px}.buy-next-recipes a:hover{color:var(--accent)}.buy-next-more{color:var(--muted);font-weight:bold}.buy-next-button{width:100%;margin-top:auto;text-align:center}
@media(max-width:900px){.buy-next-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.bar-buy-next{padding:18px;margin:0 0 36px}.buy-next-grid{grid-template-columns:1fr}}


/* Final UI polish: themes, feedback toasts, navigation badges and first-use guidance. */
html[data-theme="dark"]{--ink:#f4edef;--muted:#b9adb0;--accent:#ff6f86;--accent-hover:#ff8da0;--line:#4a383e;--blush:#2b2024;--page:#171315;--surface:#211a1d;--surface-raised:#2a2024;--mint:#1b2926;--on-accent:#1b1114;--shadow:rgba(0,0,0,.45);color-scheme:dark}
body,input,select,textarea,button{transition:background-color .18s,color .18s,border-color .18s}
input,select,textarea{color:var(--ink);background:var(--surface)}
button:disabled{cursor:not-allowed;opacity:.58}button:disabled:hover{background:inherit;color:inherit}
.theme-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:11px;line-height:1}.theme-toggle:hover{background:var(--blush);color:var(--accent)}.theme-toggle [data-theme-icon]{font-size:15px;line-height:1}#navigation a[aria-current="page"]{color:var(--accent);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.nav-my-bar{display:inline-flex;align-items:center;gap:6px}.nav-badge,.mobile-nav-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:9px;font-weight:800;line-height:1;text-decoration:none}
.toast-region{position:fixed;right:22px;bottom:22px;z-index:80;max-width:min(390px,calc(100vw - 36px));pointer-events:none}.toast{transform:translateY(12px);opacity:0;padding:12px 16px;border:1px solid var(--line);border-left:5px solid var(--accent);background:var(--surface-raised);color:var(--ink);box-shadow:0 10px 30px var(--shadow);font-size:13px;font-weight:bold;line-height:1.4;transition:transform .18s,opacity .18s}.toast.show{transform:translateY(0);opacity:1}.toast-success{border-left-color:#39856e}.toast-warning{border-left-color:#d99a34}
.mobile-app-nav{display:none}
.bar-onboarding{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:8px 0 30px;padding:24px 26px;border:1px solid var(--line);border-top:6px solid var(--accent);background:var(--surface)}.bar-onboarding>div:first-child{max-width:680px}.bar-onboarding h2{font-family:var(--display);font-size:38px;line-height:1;margin:4px 0 10px}.bar-onboarding>div:first-child>p:last-child{margin:0;color:var(--muted)}.bar-onboarding-actions{display:flex;gap:9px;flex-wrap:wrap;flex:0 0 auto}.button-link{display:inline-block;padding:11px 18px;border:1px solid var(--line);border-radius:3px;text-decoration:none}
[data-theme="dark"] .lead-feature>img,[data-theme="dark"] .card img,[data-theme="dark"] .recipe-hero-image{filter:brightness(.92) saturate(.96)}
[data-theme="dark"] .rating-star{color:#806f75}
[data-theme="dark"] .bar-shopping{border-left-color:#55a48d}
[data-theme="dark"] .toast-success{border-left-color:#68b99f}
[data-theme="dark"] .toast-warning{border-left-color:#efb657}
@media(max-width:800px){#navigation .theme-toggle{font-size:13px;padding:7px 10px}.bar-onboarding{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){
  body:not(:has(.recipe-page)){padding-bottom:72px}
  .mobile-app-nav{position:fixed;display:grid;grid-template-columns:repeat(3,1fr);left:10px;right:10px;bottom:8px;z-index:60;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface-raised);box-shadow:0 8px 30px var(--shadow)}
  .mobile-app-nav a{position:relative;display:grid;place-items:center;gap:2px;min-height:52px;padding:6px 8px;border-right:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:bold;text-decoration:none}.mobile-app-nav a:last-child{border-right:0}.mobile-app-nav a>span:first-child{font-size:20px;line-height:1;color:var(--ink)}.mobile-app-nav a[aria-current="page"]{background:var(--blush);color:var(--accent)}.mobile-app-nav a[aria-current="page"]>span:first-child{color:var(--accent)}.mobile-nav-badge{position:absolute;top:5px;left:calc(50% + 8px)}
  body:has(.recipe-page) .mobile-app-nav{display:none}
  .toast-region{left:18px;right:18px;bottom:72px;max-width:none}.recipe-page~* .toast-region{bottom:72px}
  .bar-onboarding{padding:18px}.bar-onboarding h2{font-size:32px}.bar-onboarding-actions{display:grid;grid-template-columns:1fr}.bar-onboarding-actions>*{text-align:center}
}
.lead-actions{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap}
@media print{.theme-toggle,.mobile-app-nav,.toast-region,.bar-onboarding{display:none!important}}
/* Card anatomy: image, category, title, one-line description, then known facts only. */
.card{display:flex;flex-direction:column}
.card .card-desc{margin:0 0 14px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.card-facts{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:7px;margin:auto 0 4px!important}
.card-facts li{display:inline-block;padding:4px 7px;background:var(--blush);border:1px solid var(--line);border-radius:3px;font-size:11px;font-weight:bold;line-height:1.4;color:var(--ink)}
.card-facts .fact-zero{background:var(--mint)}
.fact-grid>div:last-child:nth-child(odd){grid-column:1/-1}
/* Recipe page order: intro, ingredients, method, nutrition, rating, comments. */
html:not(.js) .js-only{display:none!important}
html.js .no-js-only{display:none!important}
.recipe-hero-figure{margin:0}
.recipe-hero-caption{margin:8px 0 0;font-size:12px;line-height:1.45;font-style:italic;color:var(--muted)}
.recipe-hero-main .recipe-method{max-width:none;margin:28px 0 0;padding:24px 0 0;border-top:1px solid var(--line)}
.recipe-hero-main .recipe-method>h2{font-size:36px}
.recipe-notes h3{margin:0 0 6px;font-size:16px}
.reader-feedback{max-width:820px;margin:34px 0 0;padding:24px;border:1px solid var(--line);border-top:6px solid var(--accent);background:var(--surface)}
.article>.reader-feedback{margin:40px auto 0}
.recipe-page>.reader-feedback{margin:34px 0 0}
.feedback-rate{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 28px;align-items:center}
.reader-feedback h2{font-family:var(--display);font-size:32px;line-height:1;margin:2px 0 8px}
.reader-feedback .rating-summary{margin:0;font-size:14px;color:var(--muted)}
.reader-feedback .feedback-rating{padding:0;border:0}
.rating-stars{border:0;margin:0;padding:0;min-width:0;display:flex;gap:6px}
.rating-star{color:var(--muted);min-width:44px;min-height:44px}
.rating-star[aria-pressed="true"]{color:var(--accent);background:var(--blush);border-color:var(--accent)}
.reader-feedback .rating-status{margin:6px 0 0;min-height:1.3em;font-size:13px}
.feedback-comments{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.reader-feedback .feedback-comments-title{font-size:26px}
.feedback-comments .comment-toggle{margin-top:14px}
@media(max-width:980px){.reader-feedback{max-width:none}}
@media(max-width:700px){.feedback-rate{grid-template-columns:1fr}.reader-feedback{padding:18px}.rating-stars{justify-content:space-between}}
@media print{.reader-feedback{display:none!important}}
/* Mobile shortcut bars sit above the home indicator and clear notches in landscape. */
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
@media(max-width:700px){
  body:has(.recipe-page){padding-bottom:calc(70px + env(safe-area-inset-bottom))}
  body:not(:has(.recipe-page)){padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .recipe-mobile-nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr;left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom))}
  .recipe-mobile-nav{grid-auto-columns:minmax(0,1fr);gap:0}.recipe-mobile-nav button{border-radius:0}
  .recipe-mobile-nav a,.recipe-mobile-nav button{position:relative;min-height:48px;display:flex;align-items:center;justify-content:center;padding:13px 4px}
  .recipe-mobile-nav .mobile-nav-badge{position:absolute;top:5px;right:6px}
  .mobile-app-nav{left:calc(10px + env(safe-area-inset-left));right:calc(10px + env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom))}
  .toast-region{bottom:calc(76px + env(safe-area-inset-bottom))}
}
.nav-badge[hidden],.mobile-nav-badge[hidden]{display:none}
/* Curated homepage and seasonal hub (Phase 3). */
.home-section{max-width:var(--width);margin:56px auto 64px}
.home-section h2{font-family:var(--display);font-weight:700;font-size:clamp(32px,3.6vw,46px);line-height:1.05;margin:0}
.home-discovery{margin-top:0}
.card h3.card-title{font-size:23px;line-height:1.24;letter-spacing:-.4px;margin:9px 0 12px}
.card h3.card-title a{color:var(--ink);text-decoration:none}.card h3.card-title a:hover{color:var(--accent)}
.season-later{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:30px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:14px}
.season-later>span{font-weight:bold;color:var(--muted)}
.season-later a,.occasion-chips a{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font-weight:bold;text-decoration:none;min-height:40px}
.season-later a:hover,.occasion-chips a:hover{border-color:var(--accent);color:var(--accent)}
.season-date{font-weight:normal;color:var(--muted);font-size:12px}
.category-tiles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.category-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:190px;padding:14px;overflow:hidden;border:1px solid var(--line);background:var(--blush);color:#fff;text-decoration:none;isolation:isolate}
.category-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .3s}
.category-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(20,12,14,.82),rgba(20,12,14,.1) 65%)}
.category-tile:hover img{transform:scale(1.04)}
.category-tile:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.category-tile-label{font-family:var(--display);font-size:26px;line-height:1;font-weight:700}
.category-tile-count{font-size:12px;margin-top:4px;opacity:.92}
.occasion-chips{display:flex;flex-wrap:wrap;gap:8px;margin:-8px 0 36px}
.occasion-group{margin:0 0 56px;scroll-margin-top:18px}
.occasion-group h2{font-family:var(--display);font-size:clamp(30px,3.4vw,42px);line-height:1.05;margin:0}
.archive-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:52px;padding-top:18px;border-top:1px solid var(--line)}
.archive-pager a{font-weight:bold}
.archive-pager span{color:var(--muted);font-size:13px}
@media(max-width:1300px){.home-section{margin-left:28px;margin-right:28px}}
@media(max-width:1000px){.category-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.card h3.card-title{font-size:21px}}
@media(max-width:600px){.home-section{margin:40px 18px 48px}.category-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-tile{min-height:140px}.category-tile-label{font-size:22px}.card h3.card-title{font-size:25px}}
@media(prefers-reduced-motion:reduce){.category-tile img{transition:none}}
/* Filters: result count, removable active-filter chips, Clear all. */
.listing-state{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding-top:12px;border-top:1px solid var(--line)}
.listing-tools .listing-filter-status{margin:0;font-size:13px;font-weight:bold;color:var(--ink)}
.active-filters{display:flex;flex-wrap:wrap;gap:6px}
.active-filters:empty{display:none}
.filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;border:1px solid var(--accent);border-radius:999px;background:var(--blush);color:var(--ink);font-size:12px;font-weight:bold;cursor:pointer}
.filter-chip span[aria-hidden]{color:var(--accent);font-size:16px;line-height:1}
.filter-chip:hover{background:var(--surface)}
.listing-state [data-clear-listing]{margin-left:auto}
[data-alcohol-control][hidden],.listing-state [hidden]{display:none!important}
@media(max-width:600px){.listing-state [data-clear-listing]{margin-left:0}}
@media(max-width:600px){.listing-tools{gap:10px;padding:12px}.listing-tools label{flex:1 1 calc(50% - 5px);min-width:0}.listing-tools select{padding:8px 9px;font-size:14px}}
/* My Bar first run: starter sets instead of a Make tab of zeros. */
.my-bar-stats[hidden],.bar-starter[hidden]{display:none!important}
.bar-starter{grid-column:1/-1;padding:18px;border:1px solid var(--line);border-left:6px solid var(--accent);background:var(--blush)}
.bar-starter h3{font-family:var(--display);font-size:28px;line-height:1.05;margin:2px 0 6px}
.bar-starter>p{margin:0 0 14px;color:var(--muted)}
.bar-starter-kits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bar-starter-kit{display:grid;gap:6px;text-align:left;padding:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;min-height:44px}
.bar-starter-kit:hover,.bar-starter-kit:focus-visible{border-color:var(--accent)}
.bar-starter-kit strong{font-size:16px}
.bar-starter-items{font-size:12px;color:var(--muted);line-height:1.4}
.bar-starter-unlocks{font-size:12px;font-weight:bold;color:var(--accent)}
@media(max-width:850px){.bar-starter-kits{grid-template-columns:1fr}}
.footer-browse{max-width:460px}
.recipe-summary{font-size:17px;line-height:1.55;font-weight:500;margin:14px 0 10px;padding-left:14px;border-left:4px solid var(--accent)}
.data-table td:nth-child(3),.data-table td:nth-child(4){font-variant-numeric:tabular-nums;white-space:nowrap}.data-table th[scope=row]{font-weight:normal;text-align:left}
.data-page h1{font-family:var(--display)}

.consent-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:640px;margin:0 auto;padding:16px 18px;background:var(--surface-raised);color:var(--ink);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:4px;box-shadow:0 10px 30px var(--shadow);font-size:14px;line-height:1.5}
.consent-banner[hidden]{display:none}
.consent-banner p{margin:0 0 12px}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px}
.consent-actions .button{flex:1 1 140px;font:inherit;font-weight:600}
.footer-link-button{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
.footer-link-button:hover{text-decoration:underline;text-underline-offset:3px}
.hub-guide{max-width:860px;margin-top:48px}
.hub-guide h2{font-family:var(--display)}
.table-scroll{overflow-x:auto}
@media (max-width:560px){.hub-guide .col-type{display:none}}
.contact-form-section{margin-top:32px}
.contact-form select{width:100%;border:1px solid var(--line);padding:11px;background:var(--surface);color:var(--ink);border-radius:3px;font:inherit}
.field-note{font-weight:normal;color:var(--muted)}
.ingredients .ingredient-group{border-bottom:0;padding:18px 0 4px;font-size:12px;font-weight:bold;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.more-guides{display:block;margin-top:56px;border-top:1px solid var(--line);padding-top:24px}.more-guides h2{font-size:22px;margin:0 0 12px}.more-guides ul{columns:2;column-gap:32px;padding-left:20px;margin:0}.more-guides li{break-inside:avoid;margin:0 0 10px;font-size:15px}@media (max-width:640px){.more-guides ul{columns:1}}
html[data-bar-start] #bar-panel-make{display:none!important}html[data-bar-start=bar] #bar-panel-bar[hidden],html[data-bar-start=shopping] #bar-panel-shopping[hidden],html[data-bar-start=saved] #bar-panel-saved[hidden]{display:block!important}
html[data-bar-empty] [data-bar-stats]{display:none!important}html[data-bar-empty] [data-bar-starter][hidden]{display:block!important}
.report-problem{margin:18px 0 0;font-size:14px;max-width:520px}
.report-problem-line{margin:0;color:var(--muted,inherit)}
.report-toggle{font-size:13px;padding:6px 10px;margin-left:6px}
.report-form{margin-top:12px}
@media print{.report-problem{display:none!important}}

/* One link per card: the title link covers the whole card; the visible "Make this drink" is decoration. */
.card{position:relative}
.card .card-title a::after{content:"";position:absolute;inset:0;z-index:1}
.card .save-button{position:absolute;z-index:2}
.card .read-more{display:inline-block;color:var(--accent);font-weight:bold;font-size:14px}
.card:hover .read-more{text-decoration:underline;text-underline-offset:4px}

/* My Bar: anything linked inside a panel clears the sticky workspace tabs (54px). */
.my-bar-page [data-bar-panel],.my-bar-page [data-bar-panel] [id]{scroll-margin-top:72px}
/* One photo treatment for every card: a hairline frame and soft floor shadow so mixed sources
   (moody dark shots, bright studio shots) sit together. On the dark theme, bright studio shots are
   toned down so they don't glare. image_is_bright() in build.py marks them. */
.card-photo::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.12))}
html[data-theme="dark"] .card-photo::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.28))}
html[data-theme="dark"] .card-photo img{filter:brightness(.94) saturate(1.04)}
html[data-theme="dark"] .card-photo.is-bright img{filter:brightness(.78) contrast(1.08) saturate(1.06)}
