/* Vero Recipes: responsive editorial catalog and protected recipe detail. */
.recipes-page{padding-top:12px}
.recipes-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:end;gap:28px;overflow:hidden;margin-bottom:18px;padding:clamp(28px,5vw,58px);border-radius:24px;background:linear-gradient(135deg,#2b1d14 0%,#493022 64%,#6d3d27 100%);color:#f8eee2;box-shadow:var(--sh-2)}
.recipes-hero h1{max-width:12ch;color:#fff;font-size:clamp(2.35rem,5vw,4.7rem);line-height:.98;letter-spacing:-.045em;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-mark{align-self:center;justify-self:end;color:rgba(255,255,255,.08);font:600 clamp(8rem,17vw,13rem)/.7 var(--display);user-select:none}
.recipes-access-gate{max-width:760px;margin:42px auto;padding:clamp(28px,6vw,58px);border:1px solid var(--line);border-radius:22px;background:var(--surface);text-align:center;box-shadow:var(--sh-2)}.recipes-access-gate[hidden],#recipeCatalogContent[hidden]{display:none}.recipes-access-gate h2{max-width:18ch;margin:8px auto 12px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.03}.recipes-access-gate>p:not(.eyebrow){max-width:52ch;margin:0 auto;color:var(--mut)}.recipes-access-pricing{display:flex;justify-content:center;gap:9px;align-items:baseline;margin:22px 0 17px}.recipes-access-pricing strong{color:var(--ink);font-size:16px}.recipes-access-pricing span{color:var(--mut);font-size:13px}.recipes-access-gate .btn{min-width:170px}
.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{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-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;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:18px;background:var(--surface);box-shadow:var(--sh-1);transition:transform .16s ease,box-shadow .16s ease}
.recipe-tile:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.recipe-tile-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(145deg,var(--espresso),#805238)}
.recipe-tile-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.recipe-tile:hover .recipe-tile-media img{transform:scale(1.025)}
.recipe-tile-media:after{content:'';position:absolute;inset:auto 0 0;height:44%;background:linear-gradient(transparent,rgba(35,24,16,.38));pointer-events: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:36px;height:36px;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-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-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(780px,calc(100% - 28px));max-height:min(90vh,900px);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:12px;right:12px;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(33,23,16,.72);color:#fff;font:300 26px/1 var(--sans);cursor:pointer}
.recipe-detail{max-height:min(90vh,900px);overflow-y:auto}
.recipe-detail-media{position:relative;aspect-ratio:16/8.5;background:linear-gradient(135deg,#2b1d14,#74503a)}
.recipe-detail-media img{width:100%;height:100%;object-fit:cover;display:block}
.recipe-video-wrap{position:relative;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:10px;background:#211711}.recipe-video-switcher button{padding:7px 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:transparent;color:rgba(255,255,255,.72);font:650 10px/1 var(--sans);cursor:pointer}.recipe-video-switcher button[aria-pressed="true"]{background:#fff;color:var(--espresso);border-color:#fff}
.recipe-detail-main{position:relative;padding:clamp(22px,4vw,42px)}
.recipe-detail .eyebrow{color:var(--clay)}
.recipe-detail h2{max-width:19ch;font-size:clamp(2rem,4vw,3.15rem);line-height:1.02}
.recipe-detail-summary{max-width:62ch;margin-top:13px;color:var(--mut)}
.recipe-detail-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.recipe-detail-meta span{padding:6px 9px;border-radius:999px;background:var(--surface-2);color:var(--mut);font-size:11px}
.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:9px;margin:20px 0 4px}
.recipe-source-list a{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font:650 12px/1 var(--sans);text-decoration:none}
.recipe-source-list a:before{content:'▶';font-size:8px}
.recipe-card-panel{margin-top:26px;padding-top:26px;border-top:1px solid var(--line)}
.recipe-card-panel h3{margin-bottom:14px;font-size:23px}
.recipe-macros{margin:18px 0 24px;padding:16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.recipe-macros h4{margin:0 0 12px}.recipe-macros dl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:0}.recipe-macros dl div{padding:9px;border-radius:9px;background:var(--surface)}.recipe-macros dt{color:var(--mut);font-size:9px}.recipe-macros dd{margin:2px 0 0;color:var(--ink);font-weight:750}.recipe-macros p{margin:10px 0 0;color:var(--faint);font-size:10px;line-height:1.4}
.recipe-card-columns{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:34px}
.recipe-card-panel h4{margin:20px 0 9px;font:700 10px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--clay)}
.recipe-card-panel ul,.recipe-card-panel ol{padding-left:20px}
.recipe-card-panel li{margin:0 0 9px;padding-left:4px;font-size:14px;line-height:1.55}
.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-brewed-action{background:var(--clay)}
.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)}

@media(max-width:900px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipes-hero{grid-template-columns:1fr 120px}.recipe-card-columns{gap:24px}}
@media(max-width:620px){
  .recipes-page{padding-top:0}.recipes-hero{grid-template-columns:minmax(0,1fr);padding:26px 20px;border-radius:18px}.recipes-hero-mark{display:none}.recipes-hero h1{max-width:100%;font-size:2.15rem;overflow-wrap:anywhere}.todays-brew{grid-template-columns:112px minmax(0,1fr);min-height:150px;border-radius:16px}.todays-brew>img{min-height:150px}.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:42px;height:42px;font-size:23px}
  .recipes-tools{grid-template-columns:1fr}.recipes-favorite-filter{width:100%}.recipe-grid{grid-template-columns:1fr;gap:12px}.recipe-tile{display:grid;grid-template-columns:128px minmax(0,1fr);min-height:132px}.recipe-tile-media{aspect-ratio:auto;height:100%}.recipe-tile-copy{padding:14px}.recipe-tile h2{font-size:17px}.recipe-tile-summary{display:none}.recipe-tile-meta{padding-top:10px}.recipe-badge{top:8px;left:8px}.recipe-favorite{top:7px;right:auto;left:86px;width:34px;height:34px}.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:94vh;border-radius:17px}.recipe-detail{max-height:94vh}.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}}
@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%}}
