/* Delicious v2 "Kitchen" design layer. Tokens + components. Scoped to html.dv2 so it can never touch the v1 site.
   Fonts: Fraunces (display) + Hanken Grotesk (text), both already self-hosted by delicious.com. */
html.dv2{
  --k-bg:#faf6f0; --k-bg2:#f3ece2; --k-surface:#ffffff; --k-surface2:#f7f1e8; --k-raise:#ffffff;
  --k-ink:#1e1915; --k-ink2:#4f443b; --k-ink3:#6f6358; --k-line:#e6dccf; --k-line2:#efe7dc;
  --k-accent:#b03f26; --k-accent-ink:#ffffff; --k-accent-soft:#f8e4dc; --k-accent-hi:#c94a2e;
  --k-herb:#2e6a4d; --k-herb-soft:#e3efe7; --k-gold:#9a6c22; --k-gold-soft:#f5ead6;
  --k-focus:#1d5fd1; --k-shadow:0 1px 2px rgba(30,25,21,.05),0 10px 30px rgba(30,25,21,.07);
  --k-shadow-lg:0 2px 4px rgba(30,25,21,.05),0 24px 60px rgba(30,25,21,.12);
  --k-r:18px; --k-r-sm:12px; --k-r-lg:28px; --k-pill:999px;
  --k-disp:"Fraunces",Georgia,"Times New Roman",serif;
  --k-text:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --k-max:1200px; --k-gut:20px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  html.dv2:not([data-theme="light"]){
    --k-bg:#12100e; --k-bg2:#191613; --k-surface:#1c1916; --k-surface2:#24201c; --k-raise:#2a2521;
    --k-ink:#f4ede4; --k-ink2:#d2c6b8; --k-ink3:#a89a8b; --k-line:#332d27; --k-line2:#2a2520;
    --k-accent:#e8775a; --k-accent-ink:#1a0f0a; --k-accent-soft:#3a2219; --k-accent-hi:#f08a6e;
    --k-herb:#86c1a0; --k-herb-soft:#1d2b23; --k-gold:#d9b06a; --k-gold-soft:#2e2619;
    --k-focus:#8ab4ff; --k-shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);
    --k-shadow-lg:0 2px 4px rgba(0,0,0,.3),0 24px 60px rgba(0,0,0,.5);
    color-scheme:dark;
  }
}
html.dv2[data-theme="dark"]{
  --k-bg:#12100e; --k-bg2:#191613; --k-surface:#1c1916; --k-surface2:#24201c; --k-raise:#2a2521;
  --k-ink:#f4ede4; --k-ink2:#d2c6b8; --k-ink3:#a89a8b; --k-line:#332d27; --k-line2:#2a2520;
  --k-accent:#e8775a; --k-accent-ink:#1a0f0a; --k-accent-soft:#3a2219; --k-accent-hi:#f08a6e;
  --k-herb:#86c1a0; --k-herb-soft:#1d2b23; --k-gold:#d9b06a; --k-gold-soft:#2e2619;
  --k-focus:#8ab4ff; --k-shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.35);
  --k-shadow-lg:0 2px 4px rgba(0,0,0,.3),0 24px 60px rgba(0,0,0,.5);
  color-scheme:dark;
}
html.dv2 body{background:var(--k-bg);color:var(--k-ink);font-family:var(--k-text);font-size:16px;line-height:1.55;margin:0;-webkit-font-smoothing:antialiased}
html.dv2 *,html.dv2 *::before,html.dv2 *::after{box-sizing:border-box}
:where(html.dv2) a{color:inherit}
html.dv2 :focus-visible{outline:2px solid var(--k-focus);outline-offset:2px;border-radius:6px}
.k-wrap{max-width:var(--k-max);margin:0 auto;padding:0 var(--k-gut)}
.k-hero-grid>*,.k-rhero>*,.k-rbody>*,.k-grid>*{min-width:0}
@media (max-width:860px){.k-sec-head{flex-wrap:wrap;align-items:flex-start}.k-levels{max-width:100%;overflow-x:auto}.k-stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.k-eyebrow{font:600 12px/1.2 var(--k-text);letter-spacing:.14em;text-transform:uppercase;color:var(--k-accent)}
.k-disp{font-family:var(--k-disp);font-weight:400;letter-spacing:-.02em;line-height:1.04;font-variation-settings:"SOFT" 100,"WONK" 0}
.k-disp em{font-style:italic;color:var(--k-accent);font-weight:400}
.k-h2{font:400 clamp(26px,3.2vw,38px)/1.1 var(--k-disp);letter-spacing:-.015em;margin:0 0 6px}
.k-sub{color:var(--k-ink2);margin:0}
.k-muted{color:var(--k-ink3);font-size:14px}

/* header */
.k-head{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--k-bg) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--k-line2)}
.k-head .k-wrap{display:flex;align-items:center;gap:18px;height:66px}
.k-logo{display:flex;align-items:center;flex:0 0 auto}
.k-logo img{height:34px;width:auto;display:block}
.k-logo .k-logo-d{display:none}
@media (prefers-color-scheme:dark){html.dv2:not([data-theme="light"]) .k-logo .k-logo-l{display:none}html.dv2:not([data-theme="light"]) .k-logo .k-logo-d{display:block}}
html.dv2[data-theme="dark"] .k-logo .k-logo-l{display:none} html.dv2[data-theme="dark"] .k-logo .k-logo-d{display:block}
.k-nav{display:flex;gap:4px;margin-left:10px}
.k-nav a{font:500 15px/1 var(--k-text);text-decoration:none;color:var(--k-ink2);padding:10px 14px;border-radius:var(--k-pill)}
.k-nav a:hover{background:var(--k-surface2);color:var(--k-ink)}
.k-nav a[aria-current]{background:var(--k-ink);color:var(--k-bg)}
.k-head-r{margin-left:auto;display:flex;align-items:center;gap:8px}
.k-icon{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid var(--k-line);background:var(--k-surface);color:var(--k-ink);cursor:pointer}
.k-icon svg{width:19px;height:19px}
.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--k-pill);font:600 15px/1 var(--k-text);text-decoration:none;cursor:pointer;border:1px solid transparent;white-space:nowrap}
.k-btn-acc{background:var(--k-accent);color:var(--k-accent-ink)}
.k-btn-acc:hover{background:var(--k-accent-hi)}
.k-btn-ink{background:var(--k-ink);color:var(--k-bg)}
.k-btn-ghost{background:var(--k-surface);border-color:var(--k-line);color:var(--k-ink)}
.k-btn-sm{min-height:36px;padding:0 14px;font-size:14px}
@media (max-width:860px){.k-nav{display:none}.k-head .k-wrap{height:58px}.k-logo img{height:28px}.k-hide-m{display:none!important}}

/* bottom tab bar (phones) */
.k-tabs{display:none}
@media (max-width:860px){
  .k-tabs{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:60;background:color-mix(in srgb,var(--k-surface) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--k-line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .k-tabs a{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:48px;justify-content:center;font:600 11px/1 var(--k-text);color:var(--k-ink3);text-decoration:none;border-radius:12px}
  .k-tabs a svg{width:22px;height:22px}
  .k-tabs a[aria-current]{color:var(--k-accent)}
  html.dv2 body{padding-bottom:72px}
}

/* hero + composer */
.k-hero{position:relative;padding:64px 0 36px}
.k-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.k-hero h1{font-size:clamp(40px,6vw,76px);margin:14px 0 14px}
.k-hero .k-sub{font-size:19px;max-width:34em}
.k-hero-art{position:relative;border-radius:var(--k-r-lg);overflow:hidden;aspect-ratio:4/4.4;box-shadow:var(--k-shadow-lg)}
.k-hero-art img{width:100%;height:100%;object-fit:cover;display:block}
.k-hero-art .k-art-d{display:none}
@media (prefers-color-scheme:dark){html.dv2:not([data-theme="light"]) .k-hero-art .k-art-l{display:none}html.dv2:not([data-theme="light"]) .k-hero-art .k-art-d{display:block}}
html.dv2[data-theme="dark"] .k-hero-art .k-art-l{display:none} html.dv2[data-theme="dark"] .k-hero-art .k-art-d{display:block}
.k-float{position:absolute;left:16px;bottom:16px;right:16px;background:color-mix(in srgb,var(--k-surface) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:16px;padding:14px 16px;display:flex;gap:12px;align-items:center;box-shadow:var(--k-shadow)}
.k-float b{display:block;font:600 15px/1.25 var(--k-text)}
.k-float span{font-size:13px;color:var(--k-ink3)}
.k-float .k-dot{width:38px;height:38px;border-radius:50%;background:var(--k-accent-soft);color:var(--k-accent);display:grid;place-items:center;flex:0 0 auto}
.k-ask{margin-top:26px;background:var(--k-surface);border:1px solid var(--k-line);border-radius:24px;box-shadow:var(--k-shadow);padding:16px 16px 12px}
.k-ask:focus-within{border-color:color-mix(in srgb,var(--k-accent) 55%,var(--k-line))}
.k-ask textarea{width:100%;border:0;background:transparent;color:var(--k-ink);font:400 18px/1.45 var(--k-text);resize:none;min-height:56px;outline:none}
.k-ask textarea::placeholder{color:var(--k-ink3)}
.k-ask-bar{display:flex;align-items:center;gap:8px;margin-top:6px}
.k-ask-bar .k-muted{font-size:13px}
.k-ask-go{margin-left:auto;display:flex;gap:8px}
.k-round{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--k-line);background:var(--k-surface2);color:var(--k-ink);cursor:pointer}
.k-round.k-acc{background:var(--k-accent);border-color:var(--k-accent);color:var(--k-accent-ink)}
.k-round svg{width:20px;height:20px}
.k-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.k-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border-radius:var(--k-pill);border:1px solid var(--k-line);background:var(--k-surface);color:var(--k-ink);font:500 14px/1 var(--k-text);text-decoration:none;cursor:pointer}
.k-chip:hover{border-color:var(--k-ink3)}
.k-chip i{font-style:normal;font-size:16px}
.k-trust{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-size:13px;color:var(--k-ink3);max-width:40em}
.k-trust svg{flex:0 0 auto;width:16px;height:16px;margin-top:2px}
@media (max-width:860px){
  .k-hero{padding:28px 0 18px}
  .k-hero-grid{grid-template-columns:1fr;gap:22px}
  .k-hero h1{font-size:44px}
  .k-hero .k-sub{font-size:17px}
  .k-hero-art{aspect-ratio:16/11;order:-1}
  .k-chips{flex-wrap:nowrap;overflow-x:auto;margin-right:calc(-1*var(--k-gut));padding-right:var(--k-gut);scrollbar-width:none}
  .k-chip{flex:0 0 auto}
}

/* sections, cards */
.k-sec{padding:44px 0}
.k-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
.k-link{font:600 14px/1 var(--k-text);color:var(--k-accent);text-decoration:none;white-space:nowrap}
.k-grid{display:grid;gap:18px}
.k-g3{grid-template-columns:repeat(3,1fr)} .k-g4{grid-template-columns:repeat(4,1fr)} .k-g6{grid-template-columns:repeat(6,1fr)}
@media (max-width:1020px){.k-g4,.k-g6{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.k-g3,.k-g4{grid-template-columns:1fr 1fr}.k-g6{grid-template-columns:repeat(2,1fr)}.k-grid{gap:12px}.k-sec{padding:30px 0}}
.k-card{display:block;text-decoration:none;color:inherit;background:var(--k-surface);border:1px solid var(--k-line2);border-radius:var(--k-r);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.k-card:hover{transform:translateY(-2px);box-shadow:var(--k-shadow)}
.k-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--k-bg2)}
.k-card .k-cb{padding:12px 14px 14px}
.k-card h3{font:600 16px/1.3 var(--k-text);margin:0 0 4px}
.k-card p{margin:0;font-size:13.5px;color:var(--k-ink3)}
.k-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--k-ink3);margin-top:6px}
.k-meta b{color:var(--k-ink2);font-weight:600}
.k-badge{display:inline-flex;align-items:center;gap:6px;font:600 11.5px/1 var(--k-text);letter-spacing:.04em;padding:6px 9px;border-radius:var(--k-pill);background:var(--k-herb-soft);color:var(--k-herb)}
.k-badge.k-b-acc{background:var(--k-accent-soft);color:var(--k-accent)}
.k-tile,html.dv2 .k-tile{position:relative;display:block;color:#fff;border-radius:var(--k-r);overflow:hidden;aspect-ratio:3/4;text-decoration:none;color:#fff}
.k-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.k-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(15,10,6,.78) 100%)}
.k-tile span{position:absolute;left:14px;right:14px;bottom:14px;z-index:1}
.k-tile b{display:block;font:500 21px/1.15 var(--k-disp)}
.k-tile small{display:block;font-size:13px;opacity:.92;margin-top:4px}
@media (max-width:860px){.k-tile{aspect-ratio:4/5}.k-tile b{font-size:18px}}
.k-cap{background:var(--k-surface);border:1px solid var(--k-line2);border-radius:var(--k-r);padding:20px}
.k-cap .k-ci{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--k-accent-soft);color:var(--k-accent);margin-bottom:14px}
.k-cap .k-ci svg{width:20px;height:20px}
.k-cap h3{font:600 16px/1.3 var(--k-text);margin:0 0 6px}
.k-cap p{margin:0;font-size:14px;color:var(--k-ink3)}
.k-scroll{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
.k-scroll>*{scroll-snap-align:start;flex:0 0 260px}
@media (max-width:860px){.k-scroll{margin-right:calc(-1*var(--k-gut))}.k-scroll>*{flex-basis:72%}}
.k-band{background:var(--k-surface2);border-top:1px solid var(--k-line2);border-bottom:1px solid var(--k-line2)}
.k-chef{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--k-line2);border-radius:var(--k-r);background:var(--k-surface);text-decoration:none}
.k-chef .k-av{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.k-chef b{display:block;font:600 15px/1.25 var(--k-text)}
.k-chef span{font-size:13px;color:var(--k-ink3)}
.k-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:860px){.k-plans{grid-template-columns:1fr}}
.k-plan{background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-r);padding:22px}
.k-plan.k-hl{border-color:var(--k-accent);box-shadow:0 0 0 1px var(--k-accent)}
.k-plan h3{margin:0;font:600 17px/1.2 var(--k-text)} .k-plan .k-price{font:400 34px/1 var(--k-disp);margin:12px 0 4px}
.k-plan ul{list-style:none;padding:0;margin:14px 0 18px;font-size:14px;color:var(--k-ink2)} .k-plan li{padding:5px 0 5px 22px;position:relative}
.k-plan li::before{content:"";position:absolute;left:2px;top:11px;width:10px;height:6px;border-left:2px solid var(--k-herb);border-bottom:2px solid var(--k-herb);transform:rotate(-45deg)}

/* footer */
.k-foot{border-top:1px solid var(--k-line);padding:44px 0 28px;margin-top:30px;background:var(--k-bg2)}
.k-fcols{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:24px}
.k-fcols h4{font:600 12px/1 var(--k-text);letter-spacing:.12em;text-transform:uppercase;color:var(--k-ink3);margin:0 0 12px}
.k-fcols a{display:block;font-size:14px;color:var(--k-ink2);text-decoration:none;padding:4px 0}
.k-fcols a:hover{color:var(--k-accent)}
.k-fbase{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--k-line);margin-top:28px;padding-top:18px;font-size:13px;color:var(--k-ink3)}
@media (max-width:860px){.k-fcols{grid-template-columns:1fr 1fr}.k-fcols>div:first-child{grid-column:1/-1}}

/* recipe page */
.k-crumb{font-size:13px;color:var(--k-ink3);padding:18px 0 0}
.k-crumb a{text-decoration:none;color:var(--k-ink3)} .k-crumb a:hover{color:var(--k-accent)}
.k-rhero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;padding:20px 0 10px}
.k-rhero .k-photo{border-radius:var(--k-r-lg);overflow:hidden;box-shadow:var(--k-shadow-lg);aspect-ratio:4/3}
.k-rhero .k-photo img{width:100%;height:100%;object-fit:cover;display:block}
.k-rhero h1{font-size:clamp(34px,4.6vw,58px);margin:10px 0 12px}
.k-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--k-line);border-radius:16px;overflow:hidden;margin:20px 0}
.k-stats div{padding:12px 10px;text-align:center;background:var(--k-surface)}
.k-stats div+div{border-left:1px solid var(--k-line)}
.k-stats b{display:block;font:400 24px/1.1 var(--k-disp)} .k-stats span{font-size:12px;color:var(--k-ink3);letter-spacing:.04em}
.k-actions{display:flex;gap:8px;flex-wrap:wrap}
.k-rbody{display:grid;grid-template-columns:340px 1fr;gap:40px;padding:26px 0}
.k-panel{background:var(--k-surface);border:1px solid var(--k-line2);border-radius:var(--k-r);padding:22px}
.k-panel h2{font:400 26px/1.1 var(--k-disp);margin:0 0 14px}
.k-ing{list-style:none;padding:0;margin:0}
.k-ing li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--k-line2);font-size:15px}
.k-ing li:last-child{border-bottom:0}
.k-ing .k-box{width:20px;height:20px;border:1.5px solid var(--k-ink3);border-radius:6px;flex:0 0 auto;margin-top:1px}
.k-ing b{font-weight:600;min-width:64px;display:inline-block;color:var(--k-ink)}
.k-serv{display:flex;align-items:center;gap:10px;margin:-4px 0 12px;font-size:14px;color:var(--k-ink2)}
.k-serv button{width:34px;height:34px;border-radius:50%;border:1px solid var(--k-line);background:var(--k-surface2);color:var(--k-ink);font-size:18px;cursor:pointer}
.k-steps{list-style:none;padding:0;margin:0;counter-reset:s}
.k-steps li{counter-increment:s;position:relative;padding:0 0 22px 54px;font-size:16.5px;line-height:1.6}
.k-steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:36px;height:36px;border-radius:50%;background:var(--k-ink);color:var(--k-bg);display:grid;place-items:center;font:500 16px/1 var(--k-disp)}
.k-askchef{margin-top:18px;border-radius:var(--k-r);padding:18px;background:linear-gradient(135deg,var(--k-accent-soft),var(--k-gold-soft));border:1px solid var(--k-line2)}
.k-askchef h3{margin:0 0 4px;font:600 16px/1.2 var(--k-text)}
.k-askchef .k-ask{margin-top:12px;padding:10px 10px 8px;border-radius:18px;box-shadow:none}
.k-askchef textarea{min-height:28px;font-size:15px}
@media (max-width:860px){
  .k-rhero{grid-template-columns:1fr;gap:16px}.k-rhero .k-photo{margin:0 calc(-1*var(--k-gut));border-radius:0}
  .k-rbody{grid-template-columns:1fr;gap:18px}.k-stats b{font-size:20px}
}
.k-ad{border:1px dashed var(--k-line);border-radius:var(--k-r-sm);padding:12px;text-align:center;font-size:12px;color:var(--k-ink3);background:var(--k-surface2)}
.k-ad b{display:block;letter-spacing:.12em;font-size:10px;margin-bottom:4px}

/* list/browse */
.k-filters{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px}
.k-search{display:flex;align-items:center;gap:10px;background:var(--k-surface);border:1px solid var(--k-line);border-radius:var(--k-pill);padding:0 8px 0 18px;min-height:54px;max-width:640px}
.k-search input{flex:1;border:0;background:transparent;font:400 17px/1 var(--k-text);color:var(--k-ink);outline:none;min-width:0}
.k-pghead{padding:40px 0 8px}
.k-pghead h1{font-size:clamp(36px,5vw,60px);margin:10px 0 10px}
.k-chip[aria-pressed="true"]{background:var(--k-ink);color:var(--k-bg);border-color:var(--k-ink)}

/* today */
.k-day{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.k-course{background:var(--k-surface);border:1px solid var(--k-line2);border-radius:16px;overflow:hidden;text-decoration:none}
.k-course img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.k-course div{padding:10px}
.k-course small{font:600 10.5px/1 var(--k-text);letter-spacing:.12em;text-transform:uppercase;color:var(--k-accent)}
.k-course b{display:block;font:600 14px/1.3 var(--k-text);margin-top:5px}
@media (max-width:1020px){.k-day{grid-template-columns:repeat(4,1fr)}}
@media (max-width:860px){.k-day{display:flex;overflow-x:auto;margin-right:calc(-1*var(--k-gut))}.k-course{flex:0 0 46%}}
.k-levels{display:inline-flex;background:var(--k-surface2);border:1px solid var(--k-line);border-radius:var(--k-pill);padding:4px}
.k-levels button{border:0;background:transparent;color:var(--k-ink2);font:600 14px/1 var(--k-text);padding:10px 14px;border-radius:var(--k-pill);cursor:pointer;min-height:38px}
.k-levels button[aria-pressed="true"]{background:var(--k-surface);color:var(--k-ink);box-shadow:var(--k-shadow)}

/* ===================== LEGACY MAP: re-skin the existing delicious.com DOM under html.dv2 ===================== */
html.dv2{
  --bg:var(--k-bg); --bg-2:var(--k-bg2); --surface:var(--k-surface); --surface-2:var(--k-raise);
  --ink:var(--k-ink); --ink-soft:var(--k-ink2); --ink-faint:var(--k-ink3);
  --gold:var(--k-accent-hi); --gold-deep:var(--k-accent); --gold-lite:var(--k-accent-soft); --terra:var(--k-accent); --green:var(--k-herb);
  --line:var(--k-line); --line-soft:var(--k-line2); --shadow:var(--k-shadow-lg); --shadow-soft:var(--k-shadow);
  --radius:14px; --radius-lg:20px;
  background:var(--k-bg);
}
html.dv2 body,html.dv2 body.dlc{
  --bg:var(--k-bg); --ink:var(--k-ink); --muted:var(--k-ink2); --line:var(--k-line); --card:var(--k-surface);
  --acc:var(--k-accent); --acc-ink:var(--k-accent-ink); --acc-soft:var(--k-accent-soft); --ok:var(--k-herb); --r:var(--k-r);
  --shadow:var(--k-shadow);
  background:var(--k-bg); color:var(--k-ink);
}
html.dv2 h1,html.dv2 h2,html.dv2 h3,html.dv2 h4{color:var(--k-ink)}
html.dv2 h1{letter-spacing:-.02em}
html.dv2 ::selection{background:var(--k-accent-soft);color:var(--k-ink)}
html.dv2 input,html.dv2 select,html.dv2 textarea{background:var(--k-surface);color:var(--k-ink);border-color:var(--k-line)}
html.dv2 input::placeholder,html.dv2 textarea::placeholder{color:var(--k-ink3)}

/* buttons: one shape, one accent */
html.dv2 .btn,html.dv2 .dlcBtn,html.dv2 .navCta{background:var(--k-accent);color:var(--k-accent-ink);border:1px solid var(--k-accent);border-radius:999px;box-shadow:none;font-family:var(--k-text);font-weight:600;letter-spacing:0;text-transform:none;background-image:none}
html.dv2 .btn:hover,html.dv2 .dlcBtn:hover,html.dv2 .navCta:hover{background:var(--k-accent-hi);border-color:var(--k-accent-hi);color:var(--k-accent-ink)}
html.dv2 .btn.ghost,html.dv2 .btn.secondary,html.dv2 .btnGhost,html.dv2 .btn-ghost,html.dv2 .dlcBtnGhost,html.dv2 .btn.outline{background:var(--k-surface);color:var(--k-ink);border-color:var(--k-line)}
html.dv2 .btn.ghost:hover,html.dv2 .btnGhost:hover,html.dv2 .dlcBtnGhost:hover{background:var(--k-surface2);color:var(--k-ink);border-color:var(--k-ink3)}

/* promo strip */
html.dv2 .ddPromo{background:var(--k-ink);color:var(--k-bg)}
html.dv2 .ddPromo a{color:var(--k-bg);text-decoration:underline;text-underline-offset:3px}
html.dv2 .ddPromo *{color:inherit}

/* header (layout_header pages) */
/* no backdrop-filter here: it would become the containing block of the fixed off-canvas drawer (.navLinks) */
html.dv2 .siteHead{background:var(--k-bg);border-bottom:1px solid var(--k-line2);box-shadow:none}
html.dv2 .siteHead a,html.dv2 .siteHead summary{color:var(--k-ink2)}
html.dv2 .navPrimary>a,html.dv2 .navPrimary>details>summary,html.dv2 .navUtilRow>a:not(.navCta),html.dv2 .navUtilRow>details>summary{border-radius:999px;font-family:var(--k-text);font-weight:500}
html.dv2 .navPrimary>a:hover,html.dv2 .navPrimary>details>summary:hover{background:var(--k-surface2);color:var(--k-ink)}
html.dv2 .navPrimary a.isHere,html.dv2 .navPrimary a[aria-current],html.dv2 .navDrop.isHere>summary{color:var(--k-ink);background:var(--k-surface2)}
html.dv2 .navDropMenu{background:var(--k-raise);border:1px solid var(--k-line);border-radius:16px;box-shadow:var(--k-shadow-lg)}
html.dv2 .navDropMenu a{color:var(--k-ink2);border-radius:10px}
html.dv2 .navDropMenu a:hover{background:var(--k-surface2);color:var(--k-ink)}
html.dv2 .siteHead .navCta{color:var(--k-accent-ink)}
html.dv2 .navToggle span{background:var(--k-ink)}
html.dv2 .navBell{color:var(--k-ink)}
@media (max-width:900px){
  html.dv2 .navLinks{background:var(--k-bg);color:var(--k-ink)}
  html.dv2 .navDrawerHead{border-color:var(--k-line)}
}

/* dlc-home header */
html.dv2 .dlcTop{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--k-bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--k-line2)}
html.dv2 .dlcNav a,html.dv2 .dlcNav .dlcLink{color:var(--k-ink2);font-weight:500}
html.dv2 .dlcBell{color:var(--k-ink)}

/* logo in dark mode */
@media (prefers-color-scheme:dark){
  html.dv2:not([data-theme="light"]) .brandLogo,html.dv2:not([data-theme="light"]) .dlcBrand img,html.dv2:not([data-theme="light"]) .footBrand img{content:url(/assets/v2/img/logo-dark-2x.webp)}
}
html.dv2[data-theme="dark"] .brandLogo,html.dv2[data-theme="dark"] .dlcBrand img,html.dv2[data-theme="dark"] .footBrand img{content:url(/assets/v2/img/logo-dark-2x.webp)}

/* theme toggle (added by dv2.js) */
.dv2Theme{width:40px;height:40px;border-radius:50%;border:1px solid var(--k-line);background:var(--k-surface);color:var(--k-ink);display:inline-grid;place-items:center;cursor:pointer;flex:0 0 auto;padding:0}
.dv2Theme svg{width:18px;height:18px}

/* ---------- HOME (dlc-home.php) ---------- */
html.dv2 .dlcHero{position:relative;background:none;min-height:0;padding:0;overflow:visible}
html.dv2 .dlcHeroImg{display:none}
html.dv2 .dlcHero::before,html.dv2 .dlcHero::after{display:none;content:none}
html.dv2 .dlcHero h1,html.dv2 .dlcHeroText h1{color:var(--k-ink)}
html.dv2 .dlcHero{border-radius:0;overflow:visible;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:center;max-width:var(--k-max);margin:0 auto;padding:56px var(--k-gut) 30px}
html.dv2 .dlcHero .dv2HeroArt{grid-column:2;grid-row:1;margin:0;border-radius:var(--k-r-lg);overflow:hidden;box-shadow:var(--k-shadow-lg);aspect-ratio:4/4.3}
html.dv2 .dlcHero .dv2HeroArt img{width:100%;height:100%;object-fit:cover;display:block}
html.dv2 .dlcHeroIn{grid-column:1;grid-row:1;display:block;padding:0;margin:0;max-width:none;width:auto;background:none;color:var(--k-ink)}
html.dv2 .dlcHeroText{background:none;padding:0;color:var(--k-ink);text-shadow:none;max-width:none}
html.dv2 .dv2Eyebrow{display:block;margin-bottom:12px}
html.dv2 #dlcH1{font-family:var(--k-disp);font-weight:400;font-size:clamp(42px,6vw,76px);line-height:1.02;letter-spacing:-.025em;color:var(--k-ink);margin:0 0 14px}
html.dv2 .dlcLede{font-size:19px;color:var(--k-ink2);max-width:32em;text-shadow:none}
html.dv2 .dlcHeroLinks .dlcLink{color:var(--k-accent);font-weight:600}
html.dv2 .dlcAskWrap{background:none;padding:0;margin-top:22px;box-shadow:none;border:0;max-width:none}
html.dv2 .dlcAskTitle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
html.dv2 .dlcAsk{background:var(--k-surface);border:1px solid var(--k-line);border-radius:24px;box-shadow:var(--k-shadow);color:var(--k-ink)}
html.dv2 .dlcAsk *{color:inherit}
html.dv2 .dlcAsk input,html.dv2 .dlcAsk textarea{background:var(--k-surface2);color:var(--k-ink);border:1px solid var(--k-line);border-radius:999px}
html.dv2 .dlcAsk button{color:inherit}
html.dv2 .dlcAskNote{color:var(--k-ink3);font-size:13px;margin-top:10px}
html.dv2 .dlcAskNote b,html.dv2 .dlcAskNote strong{color:var(--k-ink2)}
html.dv2 .dv2Chips{margin-top:12px}
html.dv2 .dlcWelcome{max-width:var(--k-max);margin:6px auto 0;border-radius:var(--k-r);background:var(--k-surface);border:1px solid var(--k-line2);box-shadow:none;color:var(--k-ink)}
html.dv2 .dlcWelcome li{color:var(--k-ink2)}
html.dv2 .dlcCards{max-width:var(--k-max);margin:0 auto;padding:30px var(--k-gut) 10px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
html.dv2 .dlcCard{position:relative;display:block;border:0;padding:0;border-radius:var(--k-r);overflow:hidden;aspect-ratio:3/4;background:var(--k-bg2);color:#fff;text-align:left;box-shadow:none;cursor:pointer}
html.dv2 .dlcCard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
html.dv2 .dlcCard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(15,10,6,.82) 100%)}
html.dv2 .dlcCard .dlcCardText{position:absolute;left:14px;right:14px;bottom:14px;z-index:1;padding:0;background:none}
html.dv2 .dlcCard .dlcCardTitle{display:block;font:500 20px/1.15 var(--k-disp);color:#fff}
html.dv2 .dlcCard .dlcCardSub{display:block;font-size:13px;color:rgba(255,255,255,.92);margin-top:4px}
html.dv2 .dlcCard:hover{transform:translateY(-2px)}
html.dv2 .dlcPhotoNote{max-width:var(--k-max);margin:6px auto 0;padding:0 var(--k-gut);color:var(--k-ink3)}
html.dv2 .dlcPanel{max-width:var(--k-max);margin-left:auto;margin-right:auto;background:var(--k-surface);color:var(--k-ink);border:1px solid var(--k-line2);border-radius:var(--k-r)}
html.dv2 .dlcSheet{background:var(--k-surface);color:var(--k-ink);border:1px solid var(--k-line);border-radius:24px}
html.dv2 .dlcNotesPanel{background:var(--k-raise);color:var(--k-ink);border:1px solid var(--k-line)}
html.dv2 .dlcFoot{background:var(--k-bg2);border-top:1px solid var(--k-line);color:var(--k-ink2)}
html.dv2 .dlcFoot a{color:var(--k-ink2)}
html.dv2 .dlcFoot a:hover{color:var(--k-accent)}
html.dv2 a.k-cap{display:block;text-decoration:none;color:inherit}
html.dv2 a.k-cap:hover{border-color:var(--k-line)}
@media (max-width:1020px){html.dv2 .dlcCards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){
  html.dv2 .dlcHero{grid-template-columns:minmax(0,1fr);gap:18px;padding:16px var(--k-gut) 10px}
  html.dv2 .dlcNavRecipes{display:none}
  html.dv2 .dlcNav{gap:6px;min-width:0}
  html.dv2 .dlcNav .dlcBtn{min-height:38px;padding:0 14px}
  html.dv2 .dlcTop{padding-left:var(--k-gut);padding-right:var(--k-gut)}
  html.dv2 .dv2Chips{margin-right:0;padding-right:0}
  .dv2Theme{width:36px;height:36px}
  html.dv2 .dlcHeroIn>*,html.dv2 .dlcAskWrap>*{min-width:0;max-width:100%}
  html.dv2 .dlcHero .dv2HeroArt{grid-column:1;grid-row:1;aspect-ratio:16/10}
  html.dv2 .dlcHeroIn{grid-row:2}
  html.dv2 #dlcH1{font-size:42px}
  html.dv2 .dlcLede{font-size:17px}
  html.dv2 .dlcCards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:20px}
  html.dv2 .dlcCard{aspect-ratio:4/5}
  html.dv2 .dlcCard .dlcCardTitle{font-size:18px}
}

/* ---------- content pages ---------- */
html.dv2 .recipeCard,html.dv2 .modeCard,html.dv2 .panel,html.dv2 .authBox,html.dv2 .paywallCard,html.dv2 .plan,html.dv2 .faq details,html.dv2 .notifyItem,html.dv2 .subBox,html.dv2 .remixBox{background:var(--k-surface);border-color:var(--k-line2);color:var(--k-ink);border-radius:var(--k-r)}
html.dv2 .recipeCard{overflow:hidden;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease}
html.dv2 .recipeCard:hover{transform:translateY(-2px);box-shadow:var(--k-shadow)}
html.dv2 .eyebrow{color:var(--k-accent);letter-spacing:.14em}
html.dv2 .pill,html.dv2 .tags span,html.dv2 .qaChip,html.dv2 .srcChip,html.dv2 .mealChips a,html.dv2 .mealChips button{border-radius:999px;background:var(--k-surface);border:1px solid var(--k-line);color:var(--k-ink2)}
html.dv2 .footer{background:var(--k-bg2);border-top:1px solid var(--k-line);color:var(--k-ink2)}
html.dv2 .footer h4{font-family:var(--k-text);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--k-ink3)}
html.dv2 .footer a{color:var(--k-ink2)}
html.dv2 .footer a:hover{color:var(--k-accent)}
html.dv2 .footBase{color:var(--k-ink3);border-color:var(--k-line)}
html.dv2 .pageHero h1,html.dv2 .hero h1{font-weight:400}
html.dv2 .lead{color:var(--k-ink2)}
html.dv2 .adSlot,html.dv2 .adHouse{border-radius:var(--k-r-sm)}

/* keep the tab bar off print, and out of the way of the cook-mode nav */
@media print{.dv2Tabs,.dv2Theme{display:none!important}}

/* glowmic Ask widget (web component): its shadow styles read these custom properties */
html.dv2 .dlcAsk glowmic-chat{--gm-bg:var(--k-surface);--gm-panel:var(--k-surface);--gm-fg:var(--k-ink);--gm-line:var(--k-line);--gm-muted:var(--k-ink3);
  --gm-user:var(--k-accent-soft);--gm-bot:var(--k-surface2);--gm-acc:var(--k-accent);--gm-acc2:var(--k-accent-hi);--gm-font:var(--k-text);--gm-radius:24px;color:var(--k-ink)}
html.dv2 .dlcAsk glowmic-chat{--gm-bg:var(--k-surface)!important;--gm-panel:var(--k-surface)!important;--gm-fg:var(--k-ink)!important;--gm-line:var(--k-line)!important;--gm-muted:var(--k-ink3)!important;--gm-user:var(--k-accent-soft)!important;--gm-bot:var(--k-surface2)!important;--gm-acc:var(--k-accent)!important;--gm-acc2:var(--k-accent-hi)!important}
html.dv2 .dlcAsk{background:none;border:0;box-shadow:none}
html.dv2 .dlcAsk glowmic-chat::part(panel){box-shadow:var(--k-shadow);border-radius:24px}
/* ---- contrast fixes found by dlc/contrast.cjs (legacy classes with hard-coded colours) ---- */
html.dv2 .collChipN,html.dv2 .subForm button,html.dv2 .magChips .chip.active,html.dv2 .hAdBtn,html.dv2 .diffPill,html.dv2 .totalsLabel,html.dv2 .lvToolBtn{background:var(--k-accent);color:var(--k-accent-ink)}
html.dv2 .planFlag{background:var(--k-herb);color:var(--k-bg)}
html.dv2 .calCell{background:var(--k-surface);border-color:var(--k-line2);color:var(--k-ink)}
html.dv2 .calCell .calTitle{color:var(--k-ink)} html.dv2 .calCell .calMeta,html.dv2 .calDow{color:var(--k-ink3)} html.dv2 .calCell .calNum{color:var(--k-accent)}
html.dv2 .lvArchMeta,html.dv2 .lvTabTag{color:var(--k-ink3)} html.dv2 .lvArchNum,html.dv2 .lvBannerTxt b,html.dv2 .slotSwap,html.dv2 .mealType{color:var(--k-accent)}
html.dv2 .pcInner small{color:var(--k-ink3)}
html.dv2 .favHeart{color:var(--k-ink3)}
html.dv2 .subBox{background:var(--k-surface);color:var(--k-ink)} html.dv2 .subBox p{color:var(--k-ink2)} html.dv2 .subBox h2,html.dv2 .subBox h3{color:var(--k-ink)}
html.dv2 .footBrand p{color:var(--k-ink3)}
html.dv2 .dlcAskNote{background:none;color:var(--k-ink3)} html.dv2 .dlcAskNote span{color:var(--k-ink2)}
html.dv2 .atFilterToggle,html.dv2 .atFilterToggle .fchev{color:var(--k-ink)}
html.dv2 .dateRange label{color:var(--k-ink2)}
html.dv2 .remixBox h2,html.dv2 .pantryBox h2{color:var(--k-ink)} html.dv2 .pantryBox{background:var(--k-surface);color:var(--k-ink)} html.dv2 .pantryBox .sub,html.dv2 .pantryBox .sub a{color:var(--k-ink2)}
/* dark-mode guard targets (classes added by dv2.js in dark mode only) */
html.dv2 .dv2-lt{background-color:var(--k-surface)!important;border-color:var(--k-line)!important}
html.dv2 .dv2-dk{color:var(--k-ink)!important}
/* badges with hard-coded gold backgrounds (both modes) */
html.dv2 .diffPill,html.dv2 .lvHomeBadge,html.dv2 .totalsLabel,html.dv2 .lvToolBtn{background:var(--k-accent)!important;color:var(--k-accent-ink)!important}
html.dv2 .dayFlag.ahead{background:var(--k-herb)!important;color:var(--k-bg)!important}
html.dv2 .dayLvCal,html.dv2 .dayDate,html.dv2 .dayMeta,html.dv2 .lvHomeExtra,html.dv2 .compare .no,html.dv2 td .no,html.dv2 td .muted,html.dv2 th .tp{color:var(--k-ink3)!important}
html.dv2 .dayLvName,html.dv2 .lvHomeTag,html.dv2 .lvHomeGo,html.dv2 tr.grp td{color:var(--k-accent)!important}
html.dv2 td .yes{color:var(--k-herb)!important}
html.dv2 .bkTitle,html.dv2 .sxArt b,html.dv2 .tips-sec .lede,html.dv2 .t b{color:var(--k-ink)!important}
html.dv2 .xpMeta span,html.dv2 .t span{color:var(--k-ink3)}
html.dv2 .hiwTag,html.dv2 .hiwGo{color:var(--k-herb)}
html.dv2 .step b{background:var(--k-accent);color:var(--k-accent-ink)}
html.dv2 .panel p{color:var(--k-ink2)}html.dv2 .collChipN,html.dv2 .subForm button,html.dv2 .btn,html.dv2 .dlcBtn:not(.dlcBtnGhost),html.dv2 .chip.active,html.dv2 .step b{color:var(--k-accent-ink)}
html.dv2 .dayFlag{background:var(--k-accent)!important;color:var(--k-accent-ink)!important}
html.dv2 .wfMeal{color:var(--k-ink2)} html.dv2 .lvHomeMeta,html.dv2 .lvHomeMeta b,html.dv2 .lvHomeBlurb{color:var(--k-ink3)} html.dv2 .mealType{color:var(--k-accent)!important}

/* ===================== v2.1 CARD GRIDS (Todd 10-15: no skinny cards, max 4 per row, landscape images, no orphans) ===================== */
/* Home: today's menu */
.dv2Menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.dv2MCard{display:flex;flex-direction:column;background:var(--k-surface);border:1px solid var(--k-line2);border-radius:var(--k-r);overflow:hidden;text-decoration:none;color:var(--k-ink);transition:transform .18s ease,box-shadow .18s ease}
.dv2MCard:hover{transform:translateY(-2px);box-shadow:var(--k-shadow)}
.dv2MImg{display:block;aspect-ratio:4/3;background:var(--k-bg2);overflow:hidden}
html.dv2 .dv2MImg img{width:100%;height:100%;max-width:none;object-fit:cover;display:block}
.dv2MBody{display:flex;flex-direction:column;gap:6px;padding:14px 16px 18px;flex:1}
.dv2MCat{font:600 11.5px/1.2 var(--k-text);letter-spacing:.12em;text-transform:uppercase;color:var(--k-accent)}
.dv2MTitle{font:500 19px/1.25 var(--k-disp);letter-spacing:-.005em;color:var(--k-ink)}
.dv2MMeta{font-size:13.5px;color:var(--k-ink3);margin-top:auto;padding-top:4px}
.dv2MAll{background:var(--k-ink);border-color:var(--k-ink);color:var(--k-bg);justify-content:flex-end;min-height:220px}
.dv2MAll .dv2MCat{color:var(--k-accent-soft)}
html.dv2 .dv2MAll .dv2MTitle{color:var(--k-bg);font-size:28px;line-height:1.1}
html.dv2 .dv2MAll .dv2MMeta{color:color-mix(in srgb,var(--k-bg) 78%,var(--k-ink));margin-top:0}
.dv2MGo{font:400 30px/1 var(--k-disp);color:var(--k-bg);margin-top:10px}
.dv2Theme1{margin-top:6px}
.dv2ThemeName{font-family:var(--k-disp);font-style:italic;color:var(--k-ink)}
@media (max-width:999px){.dv2Menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media (max-width:599px){
  .dv2Menu{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-right:calc(-1*var(--k-gut));padding-right:var(--k-gut);padding-bottom:6px;scrollbar-width:none}
  .dv2Menu::-webkit-scrollbar{display:none}
  .dv2MCard{flex:0 0 80%;scroll-snap-align:start}
  .dv2MAll{min-height:0}
}

/* Home: start cards (6) -> 3 x 2 landscape; phones 2 x 3 square */
@media (min-width:600px){
  html.dv2 .dlcCards{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px}
  html.dv2 .dlcCard{aspect-ratio:4/3}
  html.dv2 .dlcCard .dlcCardTitle{font-size:24px}
}
@media (max-width:599px){html.dv2 .dlcCards{grid-template-columns:repeat(2,minmax(0,1fr))!important}html.dv2 .dlcCard{aspect-ratio:1/1}}

/* Home: keep exploring tiles -> landscape */
html.dv2 .dv2Sec .k-tile{aspect-ratio:4/3}
@media (max-width:860px){html.dv2 .dv2Sec .k-g4{grid-template-columns:repeat(2,minmax(0,1fr))}html.dv2 .dv2Sec .k-tile{aspect-ratio:1/1}}

/* Course rows (today, recipe archive, meal planner, collections): flex-wrap rows sized by item count */
@media (min-width:1000px){
  html.dv2 .dayFlow>*,html.dv2 .recipeGrid>*{flex:0 0 calc((100% - 3*1.15rem)/4);max-width:none;min-width:0}
  html.dv2 :is(.dayFlow,.recipeGrid):has(>:nth-child(3):last-child,>:nth-child(5):last-child,>:nth-child(6):last-child,>:nth-child(9):last-child)>*{flex-basis:calc((100% - 2*1.15rem)/3)}
  html.dv2 :is(.dayFlow,.recipeGrid):has(>:nth-child(2):last-child)>*{flex-basis:calc((100% - 1.15rem)/2)}
  html.dv2 .dayFlow,html.dv2 .recipeGrid{gap:1.15rem}
}
@media (min-width:600px) and (max-width:999px){
  html.dv2 .dayFlow>*,html.dv2 .recipeGrid>*{flex:0 0 calc((100% - 1.15rem)/2);max-width:none;min-width:0}
  /* odd counts would leave one card alone: swipe row instead */
  html.dv2 :is(.dayFlow,.recipeGrid):has(>:last-child:nth-child(odd)):not(:has(>:only-child)){flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
  html.dv2 :is(.dayFlow,.recipeGrid):has(>:last-child:nth-child(odd)):not(:has(>:only-child))>*{flex:0 0 44%;scroll-snap-align:start}
}
html.dv2 .recipeCard img,html.dv2 .foodArt img{object-fit:cover}

/* Explore: max 4 per row */
@media (min-width:1000px){html.dv2 .xpGrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Recipe / dish "cook these next" (6): 3 x 2 with real landscape photos; phones 2 x 3 */
html.dv2 .fcGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
html.dv2 .fcCard img{height:auto;aspect-ratio:4/3}
@media (max-width:599px){html.dv2 .fcGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}

/* landing pages: sample grid is display:grid (inline style) */
@media (min-width:600px){html.dv2 .landSample .recipeGrid{grid-template-columns:repeat(4,minmax(0,1fr))}html.dv2 .landSample .recipeGrid:has(>:nth-child(3):last-child,>:nth-child(5):last-child,>:nth-child(6):last-child,>:nth-child(9):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:600px) and (max-width:999px){html.dv2 .landSample .recipeGrid:not(:has(>:nth-child(3):last-child,>:nth-child(6):last-child,>:nth-child(9):last-child)){grid-template-columns:repeat(2,minmax(0,1fr))}}


/* 'See the full menu' card: paprika in both themes (AA both ways) */
html.dv2 .dv2MAll{background:var(--k-accent);border-color:var(--k-accent)}
html.dv2 .dv2MAll .dv2MCat,html.dv2 .dv2MAll .dv2MTitle,html.dv2 .dv2MAll .dv2MMeta,html.dv2 .dv2MAll .dv2MGo{color:var(--k-accent-ink)}
html.dv2 .dv2MAll:hover{background:var(--k-accent-hi)}

