/* Baristuno Recipes: responsive editorial catalog and protected recipe detail. */
.recipes-page{padding-top:0}
.recipes-hero{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(340px,1.05fr);align-items:stretch;gap:0;overflow:hidden;margin-bottom:16px;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(118deg,#281a13 0%,#482d20 60%,#683824 100%);color:#f8eee2;box-shadow:0 22px 56px rgba(48,30,20,.12)}
.recipes-hero>div:first-child{align-self:center;padding:clamp(32px,4.8vw,64px)}
body.fold-world.console-world #tab-recipes .recipes-hero h1{max-width:12ch;color:#fff8f0!important;font-size:clamp(2.35rem,5vw,4.7rem);line-height:.98;letter-spacing:-.04em;white-space:normal}
.recipes-hero>div:first-child{min-width:0}
.recipes-hero p:not(.eyebrow){max-width:60ch;margin-top:18px;color:#e7d8c7;font-size:clamp(.98rem,1.4vw,1.12rem)}
.recipes-hero .eyebrow{color:#e7bd7e}
.recipes-hero-visual{position:relative;min-height:390px;overflow:hidden;margin:0;background:#d9c6b1}
.recipes-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(66,39,26,.62),transparent 28%);pointer-events:none}
.recipes-hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.recipe-promise{border-radius:4px!important}
.recipes-access-gate{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 28px;margin:18px 0 24px;padding:24px 26px;border:1px solid #dec7aa;border-radius:20px;background:linear-gradient(135deg,#fffdf9,#f7eadb);text-align:left;box-shadow:var(--sh-1)}.recipes-access-gate[hidden],#recipeCatalogContent[hidden]{display:none}.recipes-access-gate .eyebrow,.recipes-access-gate h2,.recipes-access-gate>p:not(.eyebrow),.recipes-access-pricing{grid-column:1}.recipes-access-gate h2{max-width:none;margin:2px 0 4px;font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.04}.recipes-access-gate>p:not(.eyebrow){max-width:72ch;margin:0;color:var(--mut)}.recipes-access-pricing{display:flex;flex-wrap:wrap;gap:9px 16px;align-items:baseline;margin:10px 0 0}.recipes-access-pricing strong{color:var(--ink);font-size:13px}.recipes-access-pricing span{color:var(--mut);font-size:12px}.recipes-access-gate .btn{grid-column:2;grid-row:1/5;min-width:176px}.recipe-card-state .btn{margin-top:13px}
.recipes-access-actions{grid-column:2;grid-row:1/5;display:grid;gap:8px;min-width:190px}.recipes-access-actions .btn{grid-column:auto;grid-row:auto;width:100%;min-height:44px}.recipes-access-actions .btn[hidden]{display:none}
.todays-brew{display:grid;grid-template-columns:minmax(180px,.62fr) minmax(0,1.38fr);gap:0;min-height:225px;overflow:hidden;margin:0 0 16px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--sh-1)}
.todays-brew[hidden]{display:none}.todays-brew>img{width:100%;height:100%;min-height:225px;object-fit:cover}.todays-brew-copy{align-self:center;padding:clamp(22px,4vw,40px)}.todays-brew-copy h2{font-size:clamp(1.55rem,3vw,2.4rem)}.todays-brew-copy>p:not(.eyebrow){max-width:52ch;margin-top:9px;color:var(--mut);font-size:13.5px}.todays-brew-copy button,.recipe-brewed-action{min-height:44px;margin-top:18px;padding:11px 16px;border:0;border-radius:999px;background:var(--espresso);color:#fff;font:650 12px/1 var(--sans);cursor:pointer}

.recipes-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding:18px 0 12px}
.recipes-search span{display:block;margin:0 0 6px 2px;color:var(--mut);font:700 10px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.recipes-search input{min-height:50px;background:var(--surface);border-color:var(--line);font-size:15px;box-shadow:var(--sh-1)}
.recipes-favorite-filter,.recipe-categories button,.recipes-results-head button{border:1px solid var(--line);background:var(--surface);color:var(--body);font:650 12px/1 var(--sans);cursor:pointer}
.recipes-favorite-filter{min-height:50px;padding:0 18px;border-radius:13px;white-space:nowrap;box-shadow:var(--sh-1)}
.recipes-favorite-filter[aria-pressed="true"]{background:var(--espresso);border-color:var(--espresso);color:#fff}
.recipes-favorite-filter span{font-size:17px;vertical-align:-1px}
.recipe-refine{margin:0 0 10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.68);box-shadow:var(--sh-1)}.recipe-refine summary{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:14px;padding:0 15px;color:var(--body);font:700 12px var(--sans);cursor:pointer;list-style:none}.recipe-refine summary::-webkit-details-marker{display:none}.recipe-refine summary:after{content:'+';font-size:18px}.recipe-refine[open] summary:after{content:'−'}.recipe-refine summary span{margin-left:auto;color:var(--mut);font-size:10px;font-weight:650}.recipe-refine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 14px 14px}.recipe-refine-grid label{display:grid;gap:6px}.recipe-refine-grid label>span{color:var(--mut);font:700 9px var(--sans);letter-spacing:.09em;text-transform:uppercase}.recipe-refine-grid select{min-height:44px;padding:9px 34px 9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--body);font:600 12px var(--sans)}
.recipe-categories{display:flex;gap:8px;overflow-x:auto;padding:4px 1px 13px;scrollbar-width:none}
.recipe-categories::-webkit-scrollbar{display:none}
.recipe-categories button{flex:0 0 auto;min-height:44px;padding:9px 14px;border-radius:999px}
.recipe-categories button[aria-pressed="true"]{background:var(--crema);border-color:#d7bea0;color:var(--ink)}
.recipes-results-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40px;margin-bottom:7px}
.recipes-results-head p{color:var(--mut);font-size:12.5px}
.recipes-results-head button{padding:7px 11px;border:0;background:none;color:var(--clay)}

.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.recipe-tile{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 12px 32px rgba(46,30,20,.06);transition:transform .16s ease,box-shadow .16s ease}
.recipe-tile:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.recipe-tile-media{position:relative;display:grid;aspect-ratio:4/3;overflow:hidden;place-items:center;background:#17110d}
.recipe-tile-media img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .25s ease}
.recipe-tile:hover .recipe-tile-media img{filter:brightness(1.03)}
.recipe-tile-media:after{display:none}
.recipe-badge{position:absolute;z-index:1;top:12px;left:12px;padding:6px 9px;border-radius:999px;background:rgba(32,22,15,.78);backdrop-filter:blur(9px);color:#fff;font:700 9px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.recipe-favorite{position:absolute;z-index:2;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--espresso);font-size:20px;line-height:1;cursor:pointer;box-shadow:var(--sh-1)}
.recipe-favorite[aria-pressed="true"]{background:var(--clay);color:#fff}
.recipe-tile-copy{display:flex;flex:1;flex-direction:column;padding:17px}
.recipe-tile-kicker{margin-bottom:7px;color:var(--clay);font:700 9.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.recipe-access-label{display:inline-flex;align-self:flex-start;min-height:24px;align-items:center;padding:0 9px;border-radius:999px;letter-spacing:.08em}.recipe-access-label.free{background:var(--good-soft);color:var(--good)}.recipe-access-label.pro{background:#f2e7d8;color:#855227}.recipe-tile-locked{border-color:#d9c2a4}.recipe-tile-locked .recipe-tile-action{color:#855227}
.recipe-tile h2{font-size:20px;line-height:1.13}
.recipe-tile-summary{display:-webkit-box;margin-top:8px;overflow:hidden;color:var(--mut);font-size:12.5px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.recipe-tile-meta{display:flex;gap:8px;align-items:center;margin-top:auto;padding-top:15px;color:var(--faint);font-size:10.5px}
.recipe-tile-meta span+span:before{content:'·';margin-right:8px}
.recipe-tile-action{margin-top:12px;color:var(--clay);font:750 11px var(--sans)}
.recipe-open{position:absolute;inset:0;border:0;background:transparent;cursor:pointer}
.recipe-open:focus-visible{outline:3px solid var(--clay);outline-offset:-4px;border-radius:18px;box-shadow:none}
.recipe-tile :is(.recipe-favorite){position:absolute}
.recipes-empty{padding:60px 20px;text-align:center;border:1px dashed var(--line);border-radius:18px;background:rgba(255,255,255,.46)}
.recipes-empty h2{margin-bottom:6px}
.recipes-empty p{color:var(--mut)}
.recipes-load-more{display:block;margin:24px auto 0;padding:12px 20px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:650 13px/1 var(--sans);cursor:pointer;box-shadow:var(--sh-1)}
.recipes-load-more[hidden]{display:none}
.recipe-grid[aria-busy="true"]:empty{min-height:340px;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.78) 50%,transparent 70%) var(--surface-2);background-size:220% 100%;border-radius:18px;animation:recipe-shimmer 1.4s infinite}
@keyframes recipe-shimmer{to{background-position:-220% 0}}

.recipe-dialog{position:fixed;inset:0;margin:auto;width:min(1080px,calc(100% - 32px));max-height:min(92dvh,920px);padding:0;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--body);box-shadow:var(--sh-3)}
.recipe-dialog::backdrop{background:rgba(35,25,17,.68);backdrop-filter:blur(5px)}
.recipe-dialog-close{position:absolute;z-index:4;top:14px;right:14px;width:44px;height:44px;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:rgba(33,23,16,.82);color:#fff;font:300 26px/1 var(--sans);cursor:pointer;box-shadow:0 4px 16px rgba(33,23,16,.18)}
.recipe-dialog-close:hover{background:var(--espresso)}
.recipe-dialog-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
.recipe-detail{max-height:min(92dvh,920px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--surface)}
.recipe-detail-overview{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);min-height:280px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.recipe-detail-overview-no-media{grid-template-columns:1fr}
.recipe-detail-overview-no-media .recipe-detail-intro{max-width:760px}
.recipe-detail-media{position:relative;min-width:0;background:linear-gradient(135deg,#2b1d14,#74503a)}
.recipe-detail-media img{width:100%;height:100%;object-fit:contain;display:block;background:#17110d}
.recipe-video-wrap{position:relative;display:grid;min-width:0;align-content:center;background:#17110d}.recipe-video-player{display:block;width:100%;aspect-ratio:16/9;border:0;background:#17110d}.recipe-video-switcher{display:flex;justify-content:center;gap:7px;padding:8px;background:#211711}.recipe-video-switcher button{min-height:44px;padding:7px 11px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:transparent;color:rgba(255,255,255,.82);font:650 11px/1 var(--sans);cursor:pointer}.recipe-video-switcher button[aria-pressed="true"]{background:#fff;color:var(--espresso);border-color:#fff}
.recipe-detail-intro{position:relative;align-self:center;padding:36px 76px 36px 38px}
.recipe-detail-main{position:relative;padding:clamp(30px,4vw,48px)}
.recipe-detail .eyebrow{color:var(--clay)}
.recipe-detail h2{max-width:18ch;font-size:clamp(2rem,3.4vw,2.75rem);line-height:1.04;letter-spacing:-.035em}
.recipe-detail-summary{max-width:58ch;margin-top:14px;color:var(--mut);font-size:14px;line-height:1.58}
.recipe-detail-meta{display:flex;flex-wrap:wrap;gap:6px 0;margin:18px 0 0;color:var(--faint)}
.recipe-detail-meta span{font-size:11px;line-height:1.4}
.recipe-detail-meta span+span:before{content:'·';margin:0 8px;color:var(--line)}
.recipe-comments{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}
.recipe-comments-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.recipe-comments-head h3{margin:4px 0 0;font-size:clamp(1.55rem,3vw,2.1rem)}
.recipe-comment-total{flex:none;padding:7px 10px;border-radius:999px;background:var(--surface-2);color:var(--mut);font-size:11px}
.recipe-comment-form,.recipe-reply-form{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.recipe-comment-form textarea,.recipe-reply-form textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px 12px;color:var(--body);font:inherit;line-height:1.45}
.recipe-comment-form textarea:focus,.recipe-reply-form textarea:focus{outline:2px solid color-mix(in srgb,var(--clay) 35%,transparent);border-color:var(--clay)}
.recipe-comment-form-foot{display:flex;justify-content:flex-end;align-items:center;gap:9px}.recipe-comment-form-foot>span{margin-right:auto;color:var(--faint);font-size:11px}.recipe-comment-form-foot>span.error,.recipe-comment-error{color:var(--bad)}
.recipe-comment-list{display:grid;gap:12px;margin-top:17px}.recipe-comment{padding:15px 16px;border:1px solid var(--line-soft);border-radius:14px;background:#fff}.recipe-comment.pinned{border-color:color-mix(in srgb,var(--clay) 45%,var(--line));box-shadow:inset 3px 0 var(--clay)}
.recipe-comment header{display:flex;align-items:center;justify-content:space-between;gap:14px}.recipe-comment header>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.recipe-comment header strong{font-size:13px}.recipe-comment time{color:var(--faint);font-size:10px}.recipe-comment-badge{padding:3px 6px;border-radius:999px;background:var(--mint-soft);color:var(--mint);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.recipe-comment-badge.pin{background:var(--clay-soft);color:var(--clay)}
.recipe-comment-body{margin:10px 0 0;white-space:pre-wrap;color:var(--body);font-size:13px;line-height:1.55}.recipe-comment-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.recipe-comment-actions button{appearance:none;border:0;background:none;padding:0;color:var(--mut);font:700 10px var(--sans);cursor:pointer}.recipe-comment-actions button:hover{color:var(--clay)}
.recipe-replies{display:grid;gap:9px;margin:12px 0 0 18px;padding-left:12px;border-left:2px solid var(--line-soft)}.recipe-replies:empty{display:none}.recipe-reply-form{margin-top:10px}.recipe-comment-report-form{display:grid;grid-template-columns:140px minmax(0,1fr) auto auto;gap:8px;margin-top:10px}.recipe-comment-report-form select,.recipe-comment-report-form input{min-width:0;border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 9px;font:inherit}.recipe-comment-success{color:var(--good);font-size:12px}.recipe-comment-blocked,.recipe-comments-empty,.recipe-comments-loading{margin:12px 0 0;color:var(--faint);font-size:12px}
.recipe-source-list{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}
.recipe-detail-intro .recipe-source-list{padding-right:60px}
.recipe-source-list a{position:relative;z-index:1;display:inline-flex;min-height:44px;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:650 12px/1 var(--sans);text-decoration:none}
.recipe-source-list a:before{content:'▶';font-size:8px;color:var(--clay)}
.recipe-source-list a:hover{border-color:var(--clay);color:var(--clay)}
.recipe-source-list a:focus-visible,.recipe-notes summary:focus-visible{outline:3px solid color-mix(in srgb,var(--clay) 42%,transparent);outline-offset:3px}
.recipe-card-panel{margin:0;padding:0}
.recipe-card-panel h3{margin:0 0 18px;font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.08}
.recipe-at-a-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 32px}
.recipe-at-a-glance div{min-width:0;padding:14px 16px;border-radius:12px;background:var(--surface-2)}
.recipe-at-a-glance dt{color:var(--mut);font:700 10px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.recipe-at-a-glance dd{margin:7px 0 0;color:var(--ink);font:650 15px/1.35 var(--sans)}
.recipe-card-columns{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(32px,5vw,56px);align-items:start}
.recipe-card-panel h4{margin:0 0 14px;font:750 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--clay)}
.recipe-ingredients{padding:24px;border-radius:16px;background:var(--surface-2)}
.recipe-ingredient-group{margin:20px 0 4px;color:var(--ink);font:750 11px/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.recipe-ingredients ul,.recipe-method ol,.recipe-notes ul{margin:0;padding:0;list-style:none}
.recipe-ingredients li{position:relative;padding:12px 0 12px 18px;border-bottom:1px solid var(--line-soft);font-size:14px;line-height:1.5}
.recipe-ingredients li:before{content:'';position:absolute;top:21px;left:1px;width:5px;height:5px;border-radius:50%;background:var(--clay)}
.recipe-ingredients li:last-child{border-bottom:0}
.recipe-method ol{counter-reset:recipe-step}
.recipe-method li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;margin:0;padding:0 0 18px;font-size:15px;line-height:1.58;counter-increment:recipe-step}
.recipe-method li+li{padding-top:18px;border-top:1px solid var(--line-soft)}
.recipe-method li:before{content:counter(recipe-step);display:grid;width:32px;height:32px;margin-top:1px;border-radius:50%;background:var(--espresso);color:#fff;font:750 12px/1 var(--sans);place-items:center}
.recipe-notes{margin-top:32px;padding:18px 0;border-block:1px solid var(--line)}
.recipe-notes summary{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:16px;color:var(--ink);font:700 13px/1.3 var(--sans);cursor:pointer;list-style:none}
.recipe-notes summary::-webkit-details-marker{display:none}
.recipe-notes summary:after{content:'+';color:var(--clay);font-size:22px;font-weight:400}
.recipe-notes[open] summary:after{content:'−'}
.recipe-notes ul{display:grid;gap:10px;padding:10px 0 2px}
.recipe-notes li{position:relative;padding-left:18px;color:var(--body);font-size:14px;line-height:1.55}
.recipe-notes li:before{content:'•';position:absolute;left:2px;color:var(--clay)}
.recipe-macros{margin:32px 0 0;padding:0}.recipe-macros h4{margin:0 0 14px}.recipe-macros dl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0}.recipe-macros dl div{min-width:0;padding:13px 11px;border-radius:10px;background:var(--surface-2)}.recipe-macros dt{color:var(--mut);font-size:10px;line-height:1.3}.recipe-macros dd{margin:5px 0 0;color:var(--ink);font-size:17px;font-weight:750;line-height:1.25}.recipe-macros p{max-width:74ch;margin:12px 0 0;color:var(--faint);font-size:11px;line-height:1.5}
.recipe-card-state{padding:20px;border-radius:14px;background:var(--surface-2);color:var(--mut);font-size:13px;line-height:1.6}
.recipe-card-state strong{display:block;margin-bottom:4px;color:var(--ink);font:600 18px/1.2 var(--display)}
.recipe-pro-gate{padding:clamp(22px,4vw,34px);border:1px solid #dcc29e;background:linear-gradient(135deg,#fffaf3,#f4e6d2)}.recipe-pro-gate strong{max-width:24ch;font-size:clamp(1.65rem,3vw,2.2rem)}.recipe-pro-gate-included{margin:12px 0 0;color:var(--mut);font-size:12px}.recipe-pro-gate .btn{min-height:46px;margin-top:18px}
.recipe-brewed-action{background:var(--clay)}
.recipe-primary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 32px;padding:0 0 28px;border-bottom:1px solid var(--line)}.recipe-primary-actions .recipe-brewed-action{margin-top:0;min-width:176px;background:var(--good);box-shadow:0 8px 20px rgba(77,126,91,.17)}.recipe-brewed-secondary{min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--body);font:700 11px var(--sans);cursor:pointer}.recipe-primary-actions small{flex:1 1 100%;max-width:58ch;color:var(--mut);font-size:11px;line-height:1.45}
.recipe-engagement{position:absolute;z-index:2;top:14px;right:18px;display:flex;flex-direction:column;align-items:center;gap:3px}.recipe-like-action{display:grid;width:46px;height:46px;padding:0;border:1px solid rgba(74,47,34,.16);border-radius:50%;background:rgba(255,255,255,.94);color:var(--espresso);font:400 25px/1 var(--sans);cursor:pointer;place-items:center;box-shadow:0 6px 18px rgba(55,35,24,.13);transition:transform .16s ease,background .16s ease,color .16s ease}.recipe-like-action:hover{transform:translateY(-1px);background:#fff}.recipe-like-action[aria-pressed="true"]{border-color:#d5a59b;background:#fff0ed;color:#b84438}.recipe-like-action:disabled{cursor:wait;opacity:.68}.recipe-like-count{min-width:22px;padding:2px 6px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--mut);font:700 9px/1.2 var(--sans);text-align:center;box-shadow:0 2px 8px rgba(55,35,24,.08)}
.recipe-detail-intro .recipe-engagement{top:auto;right:24px;bottom:30px}

@media(max-width:900px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipes-hero{grid-template-columns:1fr}.recipes-hero-visual{min-height:280px}.recipe-card-columns{gap:24px}}
@media(max-width:620px){
  .recipes-access-gate{grid-template-columns:1fr;padding:19px 17px;text-align:left}.recipes-access-gate .eyebrow,.recipes-access-gate h2,.recipes-access-gate>p:not(.eyebrow),.recipes-access-pricing,.recipes-access-actions{grid-column:1;grid-row:auto}.recipes-access-actions{width:100%;min-width:0;margin-top:8px}.recipes-access-gate .btn{width:100%;margin-top:0}
  .recipe-promise{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}.recipe-promise article{min-width:0!important;padding:13px 10px!important}.recipe-promise article p{display:none!important}.recipe-promise article b{font-size:11px!important;line-height:1.25!important}.recipe-promise article span{font-size:8px!important}
  .recipes-page{padding-top:0}.recipes-hero{grid-template-columns:minmax(0,1fr);border-radius:18px}.recipes-hero>div:first-child{padding:24px 20px}.recipes-hero-visual{min-height:210px}body.fold-world.console-world #tab-recipes .recipes-hero h1{max-width:100%;font-size:2.05rem;overflow-wrap:anywhere}.recipes-hero p:not(.eyebrow){margin-top:12px;font-size:.94rem}.todays-brew{grid-template-columns:112px minmax(0,1fr);min-height:150px;border-radius:12px}.todays-brew>img{min-height:150px;object-fit:contain;background:#17110d}.todays-brew-copy{padding:15px}.todays-brew-copy h2{font-size:17px}.todays-brew-copy>p:not(.eyebrow){display:none}.todays-brew-copy button{margin-top:11px;padding:9px 11px;font-size:10.5px}.recipe-engagement{top:12px;right:13px}.recipe-like-action{width:44px;height:44px;font-size:23px}
  .recipes-tools{grid-template-columns:1fr}.recipes-favorite-filter{width:100%}.recipe-refine-grid{grid-template-columns:1fr}.recipe-grid{grid-template-columns:1fr;gap:12px}.recipe-tile{display:grid;grid-template-columns:128px minmax(0,1fr);min-height:140px}.recipe-tile-media{aspect-ratio:auto;height:100%}.recipe-tile-media img{object-fit:contain}.recipe-tile-copy{padding:14px}.recipe-tile h2{font-size:17px}.recipe-tile-summary{display:none}.recipe-tile-meta{padding-top:10px;flex-wrap:wrap}.recipe-badge{top:8px;left:8px}.recipe-favorite{top:7px;right:auto;left:77px;width:44px;height:44px}.recipe-card-columns{grid-template-columns:1fr;gap:2px}.recipe-detail-media{aspect-ratio:16/10}.recipe-video-player{aspect-ratio:16/10}.recipe-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.recipe-detail{max-height:calc(100dvh - 16px);padding-bottom:env(safe-area-inset-bottom)}.recipe-detail-main{padding:21px 18px 32px}.recipe-comments-head{align-items:flex-start}.recipe-comment-report-form{grid-template-columns:1fr}.recipe-replies{margin-left:8px;padding-left:9px}.recipe-comment-form-foot{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){.recipe-grid[aria-busy="true"]:empty{animation:none}.recipe-tile,.recipe-tile-media img{transition:none}}

/* Approved access experience: discovery stays visible; protected detail is
   replaced by one complete, explicit membership decision. */
.recipes-access-gate{grid-template-columns:minmax(0,1fr) auto;gap:8px 30px;padding:28px 30px;border:1px solid var(--amber);border-radius:16px;background:var(--crema);box-shadow:var(--sh-1)}
.recipes-access-gate .eyebrow{color:var(--clay)}
.recipes-access-gate h2{max-width:22ch;font-size:clamp(30px,4vw,44px);letter-spacing:-.02em}
.recipes-access-gate>p:not(.eyebrow){font-size:15px;line-height:1.6}
.recipes-access-actions{min-width:210px}.recipes-access-actions .btn{border-radius:999px}
.recipe-access-label{display:inline-flex;min-height:26px;align-items:center;gap:6px;padding:4px 9px;border:1px solid currentColor;border-radius:999px;font:650 12px/16px var(--sans);letter-spacing:.03em;text-transform:none}
.recipe-access-label:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.recipe-access-label.free{border-color:var(--good);background:var(--good-soft);color:var(--good)}
.recipe-access-label.pro{border-color:var(--amber);background:var(--crema);color:var(--ink)}
.recipe-detail-access-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.recipe-detail-access-row .eyebrow{margin:0}
.recipe-detail-locked .recipe-detail-overview{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);min-height:430px;background:var(--paper-2)}
.recipe-detail-locked .recipe-detail-media{min-height:430px}
.recipe-detail-locked .recipe-detail-intro{padding:44px 52px}
.recipe-detail-locked .recipe-detail-intro h2{max-width:18ch;font-size:clamp(38px,4vw,52px)}
.recipe-detail-locked .recipe-detail-meta>span:last-child{display:none}
.recipe-teaser-boundary{display:grid;gap:5px;margin-top:20px;padding:14px 16px;border-radius:14px;background:var(--crema);color:var(--body);font-size:12px;line-height:1.55}
.recipe-teaser-boundary strong{color:var(--ink);font-size:12px}
.recipe-locked-heading{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:4px 20px;max-width:1180px;margin:0 auto 20px}
.recipe-locked-heading>div{display:none}.recipe-locked-heading h3{font-size:32px}.recipe-locked-heading p{grid-column:1;color:var(--mut);font-size:13px}.recipe-locked-heading>span{grid-column:2;grid-row:1/3;align-self:center}
.recipe-detail-locked .recipe-card-panel{max-width:840px;margin:0 auto}
.recipe-pro-gate{display:flex;align-items:flex-start;min-height:0;padding:32px 34px;border:1px solid var(--amber);border-radius:16px;background:var(--crema);box-shadow:var(--sh-2);text-align:left}
.recipe-pro-gate>strong{margin-top:0;color:var(--ink);font:600 32px/1.15 var(--display)}
.recipe-pro-gate-copy{max-width:62ch;color:var(--mut);font-size:16px;line-height:1.6}
.recipe-pro-benefits{display:grid;gap:8px;margin:2px 0 0;padding:0;list-style:none}
.recipe-pro-benefits li{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:14px}
.recipe-pro-benefits li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--amber)}
.recipe-pro-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}
.recipe-pro-actions .btn{margin:0;border-radius:999px;text-decoration:none}
.recipe-pro-fineprint{color:var(--mut);font-size:12px}
.recipe-pro-gate-included{margin:16px auto 0;color:var(--mut);font-size:12px;text-align:center}

@media(max-width:760px){
  .recipes-access-gate{grid-template-columns:1fr;padding:22px}.recipes-access-actions{grid-column:1;grid-row:auto;width:100%;min-width:0}.recipes-access-actions .btn{width:100%}
  .recipe-detail-locked .recipe-detail-overview{grid-template-columns:1fr}.recipe-detail-locked .recipe-detail-media{min-height:240px;aspect-ratio:16/10}.recipe-detail-locked .recipe-detail-intro{padding:28px 24px}.recipe-detail-locked .recipe-detail-intro h2{font-size:34px}
  .recipe-locked-heading{grid-template-columns:1fr}.recipe-locked-heading>span{grid-column:1;grid-row:auto;justify-self:start}.recipe-pro-gate{padding:24px}.recipe-pro-gate>strong{font-size:28px}
}
@media(max-width:480px){.recipe-pro-actions{display:grid;width:100%}.recipe-pro-actions .btn{width:100%}.recipe-pro-gate{padding:20px}.recipe-pro-benefits li{align-items:flex-start;font-size:13px}}

/* Phase 3: filtering and network failures now end in a visible recovery path
   instead of a line of status copy. */
.recipes-empty{justify-items:center;gap:9px;padding:42px 22px;text-align:center}
.recipes-empty h2{margin:0}.recipes-empty p{margin:0;color:var(--mut)}
.recipes-empty .btn{min-height:44px;margin-top:6px}
.recipes-load-more{min-height:44px}.for-you-head button{min-height:44px;padding:8px}
.recipe-grid>.ui-state{min-height:300px}
@media(max-width:620px){.recipe-macros dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

.for-you-recipes{margin:18px 0 24px;padding:clamp(20px,3vw,30px);border:1px solid #decdb9;border-radius:22px;background:linear-gradient(145deg,#fffdf9,#f8efe4);box-shadow:var(--sh-1)}.for-you-recipes[hidden]{display:none}.for-you-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:17px}.for-you-head h2{font-size:clamp(1.55rem,3vw,2.25rem)}.for-you-head button,.for-you-empty button{border:0;background:none;color:var(--clay);font:700 11px var(--sans);cursor:pointer}.for-you-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.for-you-grid .recipe-tile{background:rgba(255,255,255,.88)}.recipe-match-reason{display:flex;align-items:center;gap:6px;margin:11px 0 -3px;padding:7px 9px;border-radius:9px;background:var(--good-soft);color:var(--good);font-size:9.5px;line-height:1.35}.recipe-match-reason:before{content:'✓';font-weight:800}.for-you-empty{display:flex;align-items:center;gap:16px;padding:17px;border:1px dashed #d7bea0;border-radius:15px;background:rgba(255,255,255,.66)}.for-you-empty strong{color:var(--ink);font:600 17px var(--display)}.for-you-empty p{flex:1;color:var(--mut);font-size:12px}.for-you-empty button{padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;white-space:nowrap}.for-you-note{color:var(--mut);font-size:13px}
@media(max-width:900px){.for-you-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.for-you-grid .recipe-tile:nth-child(n+5){display:none}}
@media(max-width:620px){.for-you-recipes{margin-top:13px;padding:18px 14px;border-radius:17px}.for-you-head{align-items:flex-start}.for-you-head button{padding-top:5px}.for-you-grid{display:flex;overflow-x:auto;gap:11px;margin:0 -14px;padding:0 14px 5px;scroll-snap-type:x proximity}.for-you-grid .recipe-tile{display:flex;flex:0 0 min(82vw,300px);scroll-snap-align:start}.for-you-grid .recipe-tile:nth-child(n){display:flex}.for-you-grid .recipe-tile-media{height:auto;aspect-ratio:16/10}.for-you-grid .recipe-favorite{left:auto;right:9px}.for-you-empty{align-items:flex-start;flex-direction:column}.for-you-empty button{width:100%}}

/* Marcus phase 2: the catalog task stays uninterrupted, and a recipe has one
   honest primary path into the guided private brew flow. */
.for-you-after-catalog{margin-top:32px}
@media(max-width:620px){
  .recipes-hero{margin-bottom:12px;padding:20px 18px}.recipes-hero h1{font-size:1.9rem}.recipes-hero p:not(.eyebrow){font-size:.88rem;line-height:1.5}
  .todays-brew{margin-bottom:10px}
  .recipes-tools{gap:8px;padding:8px 0}.recipes-search input,.recipes-favorite-filter{min-height:46px}
  .recipe-categories{padding-bottom:8px}
  .recipe-primary-actions{align-items:stretch;flex-direction:column;gap:7px;margin-top:2px}.recipe-primary-actions .recipe-brewed-action{width:100%;min-height:48px}.recipe-primary-actions small{max-width:none;text-align:center}
  .for-you-after-catalog{margin-top:26px}.for-you-after-catalog .for-you-empty{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 10px;padding:14px}.for-you-after-catalog .for-you-empty strong,.for-you-after-catalog .for-you-empty p{grid-column:1}.for-you-after-catalog .for-you-empty p{font-size:10px}.for-you-after-catalog .for-you-empty button{grid-column:2;grid-row:1/3;width:auto;min-height:44px}
  .recipe-brewed-secondary{width:100%}
}

/* Recipe detail: keep the preparation task first and reflow the editorial
   overview without turning phone and desktop into separate experiences. */
@media(max-width:760px){
  .recipe-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:18px}
  .recipe-detail{max-height:calc(100dvh - 16px);padding-bottom:env(safe-area-inset-bottom)}
  .recipe-detail-overview{grid-template-columns:1fr}
  .recipe-video-wrap,.recipe-detail-media{aspect-ratio:16/9}
  .recipe-detail-media img{height:100%}
  .recipe-detail-intro{padding:30px 26px}
  .recipe-detail-main{padding:30px 26px 38px}
  .recipe-card-columns{grid-template-columns:1fr;gap:32px}
}
@media(max-width:480px){
  .recipe-dialog{width:calc(100% - 10px);max-height:calc(100dvh - 10px);border-radius:15px}
  .recipe-detail{max-height:calc(100dvh - 10px)}
  .recipe-dialog-close{top:10px;right:10px}
  .recipe-detail-intro{padding:24px 20px}
  .recipe-detail h2{font-size:clamp(1.8rem,8.2vw,2.1rem)}
  .recipe-detail-summary{font-size:13px}
  .recipe-detail-main{padding:26px 18px 34px}
  .recipe-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .recipe-primary-actions .recipe-brewed-action{grid-column:1/-1}
  .recipe-primary-actions .recipe-brewed-secondary{width:auto;min-width:0;padding-inline:8px}
  .recipe-at-a-glance{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:28px}
  .recipe-at-a-glance div:last-child:nth-child(odd){grid-column:1/-1}
  .recipe-ingredients{padding:20px}
  .recipe-method li{grid-template-columns:30px minmax(0,1fr);gap:12px;font-size:14px}
  .recipe-method li:before{width:30px;height:30px}
}
