/* v2/00-fonts.css */
/* FiraGO (bBox Type, SIL OFL 1.1 — assets/fonts/LICENSE-FiraGO.txt): one
   family for Georgian, Latin and Cyrillic, so KA/EN/RU pages share the same
   type. Subset per script with pyftsubset (400/600/800); the browser only
   downloads a subset when the page uses characters in its unicode-range. */
@font-face{font-family:'FiraGO';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/firago-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+20BE,U+2122,U+2190-2193,U+2212,U+2215}
@font-face{font-family:'FiraGO';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/firago-cyrillic-400.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'FiraGO';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/firago-georgian-400.woff2) format('woff2');unicode-range:U+10A0-10FF,U+0589,U+2D00-2D2F}
@font-face{font-family:'FiraGO';font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/firago-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+20BE,U+2122,U+2190-2193,U+2212,U+2215}
@font-face{font-family:'FiraGO';font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/firago-cyrillic-600.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'FiraGO';font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/firago-georgian-600.woff2) format('woff2');unicode-range:U+10A0-10FF,U+0589,U+2D00-2D2F}
@font-face{font-family:'FiraGO';font-style:normal;font-display:swap;font-weight:800;src:url(/assets/fonts/firago-latin-800.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+20BE,U+2122,U+2190-2193,U+2212,U+2215}
@font-face{font-family:'FiraGO';font-style:normal;font-display:swap;font-weight:800;src:url(/assets/fonts/firago-cyrillic-800.woff2) format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'FiraGO';font-style:normal;font-display:swap;font-weight:800;src:url(/assets/fonts/firago-georgian-800.woff2) format('woff2');unicode-range:U+10A0-10FF,U+0589,U+2D00-2D2F}

/* v2/01-tokens.css */
/* Design tokens — GULIANI v2 (2026-09).
   Page ground = the studio grey the jars are photographed on, so product
   photos sit on the page instead of in boxes. Flavor colors are sampled
   from each jar label's side band (the checkered strip of Georgian
   letters) and drive the "band" signature element. */
:root{
  --bg:#F2F1EE;
  --surface:#FFFFFF;
  --panel:#E1DFDE;            /* ≈ product-photo background */
  --ink:#2B1B13;
  --ink-2:#5A4A40;
  --muted:#6F6056;
  --line:#DCD8D3;
  --cocoa:#4A2E22;            /* the "PEANUT BUTTER" brown on the labels */
  --red:#D32528;
  --red-ink:#B11D22;
  --wa:#1FAF5A;

  --f-classic:#C8445E; --f-classic-soft:#EBB0BD; --f-classic-tint:#F8E7EB;
  --f-honey:#B8961A;   --f-honey-soft:#E8D57E;   --f-honey-tint:#F8F1D5;
  --f-coconut:#5F90BB; --f-coconut-soft:#B9D1E7; --f-coconut-tint:#E7EFF7;
  --f-almond:#C26D31;  --f-almond-soft:#EABF97;  --f-almond-tint:#F7E7D8;
  --f-cashew:#6F65AB;  --f-cashew-soft:#C0BAE0;  --f-cashew-tint:#EBE8F6;

  --font:'FiraGO',system-ui,-apple-system,'Segoe UI',sans-serif;
  --fs-display:clamp(40px,6.2vw,80px);
  --fs-h2:clamp(28px,3.4vw,44px);
  --fs-h3:20px;
  --fs-body:17px;
  --fs-small:14px;

  --radius:18px;
  --radius-sm:12px;
  --max:1280px;
  --gutter:clamp(16px,4vw,40px);
  --section:clamp(56px,8vw,112px);
  --header-h:72px;
  --shadow:0 1px 2px rgba(43,27,19,.06),0 8px 24px rgba(43,27,19,.06);
}
/* Per-flavor scope: set --f/--f-soft/--f-tint once, components read them. */
.f-classic{--f:var(--f-classic);--f-soft:var(--f-classic-soft);--f-tint:var(--f-classic-tint)}
.f-honey{--f:var(--f-honey);--f-soft:var(--f-honey-soft);--f-tint:var(--f-honey-tint)}
.f-coconut{--f:var(--f-coconut);--f-soft:var(--f-coconut-soft);--f-tint:var(--f-coconut-tint)}
.f-almond{--f:var(--f-almond);--f-soft:var(--f-almond-soft);--f-tint:var(--f-almond-tint)}
.f-cashew{--f:var(--f-cashew);--f-soft:var(--f-cashew-soft);--f-tint:var(--f-cashew-tint)}


/* v2/02-base.css */
/* Base: type, links, focus, motion. Loaded after legacy.css, so these
   intentionally re-state a few element rules legacy set differently. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;overflow-x:hidden;font-family:var(--font);font-size:var(--fs-body);line-height:1.6;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font);color:var(--cocoa);font-weight:800;letter-spacing:-.02em}
h1{font-size:var(--fs-display);line-height:1.02}
/* Georgian words are long and have no hyphenation data in browsers:
   a smaller display size keeps the longest hero word on one line. */
html[lang="ka"] h1{font-size:clamp(34px,4.6vw,66px);line-height:1.08}
h2{font-size:var(--fs-h2);line-height:1.08}
h3{font-size:var(--fs-h3);line-height:1.25;letter-spacing:-.01em}
p{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:4px}
::selection{background:var(--f-honey-soft);color:var(--ink)}
img{max-width:100%;height:auto}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:10px 16px;border-radius:10px;background:var(--ink);color:#fff;font-weight:700;text-decoration:none;transform:translateY(-160%);transition:transform .15s}
.skip-link:focus{transform:none;outline:3px solid var(--red);outline-offset:2px}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Eyebrow label: sentence case (Georgian has no case; the old uppercase +
   tracking turned it into tiny Mtavruli), red, small, bold. */
.label,.kicker{font-family:var(--font);font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--red-ink);margin:0 0 10px}
.section-sub{color:var(--ink-2);font-size:18px;line-height:1.6;max-width:620px}
[hidden]{display:none!important}

/* v2/03-shell.css */
/* Header, navigation, footer. */
.site-header{position:fixed;inset:0 0 auto;z-index:80;height:var(--header-h);background:rgba(255,255,255,.94);backdrop-filter:saturate(1.2) blur(12px);-webkit-backdrop-filter:saturate(1.2) blur(12px);border-bottom:1px solid var(--line);transition:box-shadow .2s}
.site-header.is-scrolled{box-shadow:0 6px 24px rgba(43,27,19,.07)}
.site-header__in{max-width:1320px;height:100%;margin:0 auto;padding-inline:var(--gutter);display:flex;align-items:center;gap:clamp(16px,2.4vw,32px)}
.brand{flex:0 0 auto;display:block;line-height:0}
.brand img{width:124px;height:auto}
.site-nav{display:flex;align-items:center;gap:2px}
.site-nav a{padding:8px 9px;border-radius:10px;font-size:14.5px;font-weight:600;color:var(--ink-2);text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.site-nav a:hover{background:var(--bg);color:var(--ink)}
.site-nav a[aria-current="page"]{color:var(--red-ink);background:var(--f-classic-tint)}
.site-nav__b2b{display:none}
.site-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.site-header .lang-switch{display:inline-flex;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.site-header .lang-btn{min-height:38px;padding:0 10px;display:inline-flex;align-items:center;font:600 13px/1 var(--font);color:var(--ink-2);text-decoration:none;background:none}
.site-header .lang-btn.is-active{background:var(--ink);color:#fff}
.site-b2b{min-height:40px;padding:0 14px;display:inline-flex;align-items:center;border-radius:12px;border:1.5px solid var(--ink);font-size:14px;font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.site-b2b:hover,.site-b2b.is-active{background:var(--ink);color:#fff}
.cart-btn{position:relative;flex:0 0 auto;width:44px;height:44px;border-radius:12px;border:0;background:var(--red);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .15s}
.cart-btn:hover{background:var(--red-ink)}
.cart-btn .cart-count{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--ink);color:#fff;font:800 12px/22px var(--font);text-align:center;border:2px solid #fff}
.cart-btn .cart-count[hidden]{display:none}
.menu-btn{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface);flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.menu-btn span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s,opacity .2s}
.menu-btn.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn.is-open span:nth-child(2){opacity:0}
.menu-btn.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Laptops: the B2B button moves into the menu so the Georgian nav (the
   widest) still fits beside the language switch and cart. */
@media(min-width:1101px) and (max-width:1360px){
  .site-header__in{gap:clamp(12px,1.4vw,20px)}
  .site-b2b{display:none}
  .site-nav a{padding:8px 7px;font-size:14px}
  .site-nav__b2b{display:block;margin-left:4px;border:1.5px solid var(--ink);font-weight:700!important;color:var(--ink)!important}
}
@media(min-width:1101px) and (max-width:1240px){.site-nav__b2b{display:none}}
@media(max-width:1100px){
  .menu-btn{display:flex}
  .site-b2b{display:none}
  .site-nav{display:none;position:fixed;top:var(--header-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);padding:8px var(--gutter) 20px;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(43,27,19,.12);max-height:calc(100dvh - var(--header-h));overflow-y:auto}
  .site-nav.is-open{display:flex}
  .site-nav a{font-size:18px;padding:14px 4px;border-radius:0;border-bottom:1px solid var(--line)}
  .site-nav a[aria-current="page"]{background:none}
  .site-nav__b2b{display:block;margin-top:14px;border:1.5px solid var(--ink)!important;border-radius:12px!important;text-align:center;font-weight:700!important;color:var(--ink)!important}
}
@media(max-width:420px){
  .brand img{width:100px}
  .site-actions{gap:6px}
  .site-header .lang-btn{padding:0 7px;font-size:12px}
}

/* Footer */
.site-footer{display:block;padding:0;margin:0;text-align:left;background:var(--ink);color:rgba(255,255,255,.74);font-size:15px}
.band--footer{--band:var(--red);--band-soft:#6E2A22;--tile:22px}
.band--footer i:nth-child(even){color:#F4B9B6}
.site-footer__in{max-width:var(--max);margin:0 auto;padding:56px var(--gutter) 32px;display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:32px}
.site-footer__brand img{width:132px;height:auto;margin-bottom:14px}
.site-footer__brand p{margin:0 0 16px;max-width:260px;line-height:1.5}
.site-footer__social{display:flex;gap:10px}
.site-footer__social a{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff}
.site-footer__social a:hover{background:rgba(255,255,255,.16)}
.site-footer__h{margin:0 0 10px;color:#fff;font-weight:700;font-size:14px}
.site-footer__col a{display:block;padding:5px 0;color:rgba(255,255,255,.74);text-decoration:none}
.site-footer__col a:hover{color:#fff;text-decoration:underline}
.site-footer__bottom{max-width:var(--max);margin:0 auto;padding:18px var(--gutter) 28px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:rgba(255,255,255,.55)}
@media(max-width:900px){.site-footer__in{grid-template-columns:1fr 1fr}.site-footer__brand{grid-column:1/-1}}

/* v2/04-components.css */
/* Buttons. The .btn.primary / .btn.secondary / .buy-btn / .cart-add
   names are still used by not-yet-migrated templates, so they're mapped
   onto the v2 styles here. */
.btn,.btn.primary,.btn.secondary,.buy-btn,.cart-add{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:var(--radius-sm);border:1.5px solid transparent;font:700 15px/1.1 var(--font);letter-spacing:0;text-transform:none;text-decoration:none;cursor:pointer;box-shadow:none;transition:background .15s,color .15s,border-color .15s,transform .15s}
.btn:active,.buy-btn:active,.cart-add:active{transform:translateY(1px)}
.btn--primary,.btn.primary{background:var(--red);color:#fff}
.btn--primary:hover,.btn.primary:hover{background:var(--red-ink);transform:none}
.btn--ghost,.btn.secondary{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn--ghost:hover,.btn.secondary:hover{background:var(--ink);color:#fff;transform:none}
.btn--light{background:#fff;color:var(--red-ink)}
.btn--light:hover{background:var(--f-classic-tint)}
.buy-btn{background:var(--wa);color:#fff;width:auto}
.buy-btn:hover{background:#178F49;box-shadow:none;transform:none}
.cart-add{background:var(--surface);border-color:var(--ink);color:var(--ink)}
.cart-add:hover,.cart-add:disabled{background:var(--ink);color:#fff}

/* The band: checkered strip of Georgian letters from the jar labels.
   Reads --f / --f-soft from the nearest .f-* scope (red by default). */
.band{display:flex;overflow:hidden;line-height:1;width:100%}
.band i{flex:0 0 auto;width:var(--tile,26px);height:var(--tile,26px);display:grid;place-items:center;font:800 calc(var(--tile,26px)*.5)/1 var(--font);font-style:normal;background:var(--band,var(--f,var(--red)));color:#fff}
.band i:nth-child(even){background:var(--band-soft,var(--f-soft,#F2B4B2));color:var(--band,var(--f,var(--red)))}

/* Jar tile (homepage shelf, catalog) */
.jar{display:flex;flex-direction:column;background:var(--f-tint);border-radius:var(--radius);overflow:hidden;min-width:0}
.jar__media{display:block;background:var(--panel);aspect-ratio:1/1;overflow:hidden}
.jar__media img{width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.jar:hover .jar__media img{transform:scale(1.04)}
.jar__band{--tile:20px}
.jar__body{display:flex;flex-direction:column;gap:4px;padding:16px 16px 18px;flex:1}
.jar__cat{margin:0;font-size:13px;font-weight:600;color:var(--f)}
.jar.f-honey .jar__cat{color:#8C7110}
.jar__name{margin:0;font-size:19px;line-height:1.2}
.jar__name a{text-decoration:none;color:var(--cocoa)}
.jar__name a::after{content:"";position:absolute;inset:0}
.jar{position:relative}
.jar__comp{margin:2px 0 0;font-size:14px;line-height:1.45;color:var(--ink-2)}
.jar__foot{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;align-items:stretch;gap:12px}
.jar__price{margin:0;display:flex;align-items:baseline;gap:8px;font-size:24px;font-weight:800;color:var(--ink);line-height:1}
.jar__price span{font-size:12.5px;font-weight:400;color:var(--muted)}
.jar__add{position:relative;z-index:1;width:100%;min-height:44px;padding:0 12px;border-radius:10px;border:0;background:var(--ink);color:#fff;font:700 14px/1 var(--font);cursor:pointer;white-space:nowrap;transition:background .15s}
.jar__add:hover{background:var(--red)}
.jar__add:disabled{background:var(--wa)}

/* Section heading + "more" link */
.h-head{margin:0 0 28px}
.h-head h2{margin:0 0 8px}
.h-head .section-sub{margin:0}
.h-head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.h-more{font-weight:700;font-size:15px;color:var(--red-ink);text-decoration:none;white-space:nowrap}
.h-more:hover{text-decoration:underline}

/* Post card (blog) */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post{display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s}
.post:hover{transform:translateY(-3px)}
.post img{width:100%;aspect-ratio:16/9;object-fit:cover}
.post__label{margin:16px 18px 4px;font-size:13px;font-weight:600;color:var(--red-ink)}
.post h3{margin:0 18px 20px;font-size:18px}
@media(max-width:900px){.post-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.post-grid{grid-template-columns:1fr}}


/* v2/05-cart.css */
/* Cart drawer (templates/layout.mjs renderCart, assets/js/cart.js).
   Trigger lives in the header (.cart-btn, 03-shell.css). */
.cart-drawer{position:fixed;inset:0;z-index:120;background:rgba(43,27,19,.45);display:flex;justify-content:flex-end}
.cart-drawer[hidden]{display:none}
.cart-panel{width:min(420px,100%);height:100%;background:var(--bg);box-shadow:-20px 0 60px rgba(0,0,0,.18);padding:22px 20px 28px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}
.cart-head{display:flex;align-items:center;justify-content:space-between}
.cart-head h2{font-size:28px;margin:0}
.cart-close{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-size:24px;line-height:1;cursor:pointer;color:var(--ink)}
.cart-empty{color:var(--muted);margin:0}
.cart-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.cart-item{display:grid;grid-template-columns:56px 1fr auto auto;gap:10px;align-items:center;background:var(--surface);border-radius:14px;padding:10px}
.cart-item img{width:56px;height:auto;border-radius:10px;background:var(--panel)}
.cart-item-info{display:flex;flex-direction:column;gap:3px;min-width:0}
.cart-item-info a{font-weight:700;font-size:15px;color:var(--cocoa);text-decoration:none;line-height:1.25}
.cart-item-info span{font-size:12.5px;color:var(--muted)}
.cart-qty{display:flex;align-items:center;gap:6px}
.cart-qty button{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font:700 16px/1 var(--font);cursor:pointer;color:var(--ink)}
.cart-qty button:hover{border-color:var(--ink)}
.cart-qty output{min-width:18px;text-align:center;font-weight:800}
.cart-remove{width:32px;height:32px;border:0;background:none;font-size:20px;color:var(--muted);cursor:pointer}
.cart-remove:hover{color:var(--red)}
.cart-totals{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.cart-totals[hidden],.cart-promo[hidden]{display:none}
.cart-line{display:flex;justify-content:space-between;margin:0;font-size:14.5px;color:var(--ink-2)}
.cart-line[hidden]{display:none}
.cart-discount span:last-child{color:#17824A;font-weight:800}
.cart-sum{display:flex;justify-content:space-between;align-items:baseline;margin:0;padding-top:4px;font-weight:800}
.cart-sum b{font-size:24px;color:var(--red-ink)}
.cart-promo{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-2);background:var(--f-honey-tint);border-radius:12px;padding:10px 12px}
.cart-promo.is-on{background:#E3F4EA;color:#17693A}
.cart-city{display:flex;flex-direction:column;gap:8px}
.cart-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-2)}
.cart-field[hidden]{display:none}
.cart-field select,.cart-field input{width:100%;min-height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font:500 15px/1.2 var(--font);color:var(--ink)}
.cart-field select:focus,.cart-field input:focus{outline:2px solid var(--red);outline-offset:1px;border-color:var(--red)}
.cart-field.is-invalid select,.cart-field.is-invalid input{border-color:var(--red)}
.cart-error{margin:0;font-size:13px;color:var(--red-ink);font-weight:700}
.cart-error[hidden]{display:none}
.cart-delivery{margin:0;font-size:13px;color:var(--muted)}
.cart-checkout{width:100%;min-height:54px}
.cart-checkout[hidden]{display:none}
body.cart-open{overflow:hidden}
@media(max-width:640px){.cart-item{grid-template-columns:48px 1fr auto;grid-template-areas:"img info remove" "img qty qty"}.cart-item img{grid-area:img;width:48px}.cart-item-info{grid-area:info}.cart-qty{grid-area:qty}.cart-remove{grid-area:remove}}
@media print{.cart-drawer,.site-header,.site-footer{display:none!important}}

/* v2/06-page.css */
/* Shared building blocks for inner pages. Page partials (1x-*.css) only
   add page-specific layout on top of these. */

/* Page wrapper: clears the fixed header, centers content. */
.page{max-width:var(--max);margin:0 auto;padding:calc(var(--header-h) + clamp(24px,3.5vw,48px)) var(--gutter) var(--section)}
.page--narrow{max-width:820px}
.page--mid{max-width:1040px}

/* Breadcrumbs */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 20px;font-size:14px;color:var(--muted)}
.crumbs a{color:var(--ink-2);text-decoration:none;font-weight:600}
.crumbs a:hover{color:var(--red-ink);text-decoration:underline}
.crumbs [aria-hidden]{color:var(--line)}

/* Page head: eyebrow + h1 + lead */
.page-head{margin:0 0 clamp(28px,4vw,48px);max-width:760px}
.page-head h1{margin:0 0 14px}
.page-head .lead,.lead{margin:0;font-size:clamp(17px,1.5vw,20px);line-height:1.6;color:var(--ink-2)}
.page-head--center{margin-inline:auto;text-align:center}

/* Section inside a page */
.block{margin-top:var(--section)}
.block > h2{margin:0 0 20px}

/* Card */
.card{background:var(--surface);border-radius:var(--radius);padding:clamp(20px,2.4vw,32px)}
.card--tint{background:var(--f-tint,var(--f-almond-tint))}
.card h2,.card h3{margin-top:0}

/* Grid helpers */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}}

/* Chips (small tags) */
.chip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:var(--surface);font-size:13px;font-weight:600;color:var(--ink-2)}
.chips{display:flex;flex-wrap:wrap;gap:8px}

/* Long-form text: articles, legal, story blocks */
.prose{font-size:18px;line-height:1.75;color:var(--ink)}
.prose > *{margin:0 0 1.1em}
.prose h2{font-size:clamp(24px,2.4vw,30px);margin:1.6em 0 .6em;line-height:1.2}
.prose h3{font-size:21px;margin:1.4em 0 .5em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--red)}
.prose a{color:var(--red-ink);text-underline-offset:3px}
.prose b,.prose strong{font-weight:700;color:var(--cocoa)}
.prose .article-product-link{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:12px;background:var(--surface);font-weight:700;text-decoration:none}
.prose .article-product-link:hover{background:var(--f-classic-tint)}
.prose .article-note{font-size:14.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:2em}
.prose .article-table{overflow-x:auto;margin:0 0 1.4em;background:var(--surface);border-radius:14px}
.prose .article-table table{width:100%;min-width:480px;border-collapse:collapse;font-size:15px;line-height:1.4}
.prose .article-table th,.prose .article-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:right}
.prose .article-table tr:last-child > *{border-bottom:0}
.prose .article-table thead th{font-size:12.5px;font-weight:600;color:var(--muted);background:var(--bg)}
.prose .article-table th:first-child{text-align:left}
.prose .article-table tbody th{font-weight:600}

/* Data table (nutrition, comparison) */
.data-table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.35}
.data-table caption{caption-side:top;text-align:left;font-weight:700;color:var(--cocoa);padding:0 0 10px}
.data-table th,.data-table td{padding:10px 0;border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums}
.data-table th:first-child,.data-table td:first-child{text-align:left}
.data-table thead th{font-size:12.5px;font-weight:600;color:var(--muted)}
.data-table tbody th{font-weight:600}
.data-table .sub > *{font-size:13.5px;color:var(--muted);font-weight:400}
.data-table .sub th{padding-left:14px}

/* Forms */
.field{display:flex;flex-direction:column;gap:6px;margin:0 0 14px}
.field label,.form-label{font-size:14px;font-weight:600;color:var(--ink);text-transform:none;letter-spacing:0}
.field input,.field select,.field textarea,input.control,select.control,textarea.control{width:100%;min-height:48px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);font:400 16px/1.4 var(--font);color:var(--ink);outline:none;box-shadow:none}
.field textarea,textarea.control{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus,.control:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(43,27,19,.08)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.field-row{grid-template-columns:1fr}}
.form-note{font-size:13.5px;color:var(--muted)}
.form-message{font-weight:700;color:var(--red-ink)}

/* Callout box */
.callout{border-radius:var(--radius);padding:clamp(20px,2.4vw,32px);background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.callout h2,.callout h3{margin:0 0 6px}
.callout p{margin:0;color:var(--ink-2)}
.callout .actions{display:flex;gap:10px;flex-wrap:wrap}

/* Back link */
.back-link{display:inline-block;margin-top:var(--section);font-weight:700;color:var(--red-ink);text-decoration:none}
.back-link:hover{text-decoration:underline}

/* Current page in breadcrumbs; spam honeypot fields stay off-screen. */
.crumbs [aria-current]{color:var(--ink);font-weight:600}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* v2/10-home.css */
/* Homepage (templates/home.mjs). Every section is a direct child of
   main.home; spacing lives on the sections themselves, not on shared
   classes, so nothing cancels out. */
.home{padding-top:var(--header-h)}
.home > section{max-width:var(--max);margin:0 auto;padding:var(--section) var(--gutter) 0}
.home > section:last-child{padding-bottom:var(--section)}

/* Hero: copy left, the brand photo in a rounded frame right. */
.home > .h-hero{padding-top:clamp(20px,3vw,40px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,56px);align-items:center}
.h-hero__copy h1{margin:0 0 20px}
.h-hero__lead{margin:0 0 28px;font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--ink-2);max-width:34em}
.h-hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.h-hero__media{display:block;border-radius:28px;overflow:hidden;aspect-ratio:6/5;background:var(--panel)}
.h-hero__media img{width:100%;height:100%;object-fit:cover;object-position:70% 55%}

/* The shelf: five jars, each in its label color. */
.h-shelf__row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media(max-width:1100px){
  .h-shelf__row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(230px,42%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scrollbar-width:thin}
  .h-shelf__row > .jar{scroll-snap-align:start}
}
@media(max-width:560px){.h-shelf__row{grid-auto-columns:78%}}

/* Offer + tools */
.home > .h-offer{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
.h-offer__promo,.h-offer__tools{border-radius:var(--radius);padding:clamp(24px,3vw,40px)}
.h-offer__promo{position:relative;overflow:hidden;background:var(--red);color:#fff;padding-top:calc(clamp(24px,3vw,40px) + 26px)}
.h-offer__band{position:absolute;top:0;left:0;right:0;--band:#A91C22;--band-soft:#E24A4C;--tile:26px}
.h-offer__band i:nth-child(even){color:#fff}
.h-offer__promo h2{color:#fff;font-size:clamp(26px,3vw,38px);margin:0 0 12px}
.h-offer__promo p{margin:0 0 24px;color:rgba(255,255,255,.9);max-width:34em}
.h-offer__tools{background:var(--surface)}
.h-offer__tools h2{font-size:clamp(22px,2.2vw,28px);margin:0 0 10px}
.h-offer__tools p{margin:0 0 20px;color:var(--ink-2)}
.h-offer__links{display:flex;gap:10px;flex-wrap:wrap}

/* Facts: three short statements, separated by rules. */
.h-facts ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink)}
.h-facts li{padding:22px 24px 0 0}
.h-facts li + li{padding-left:24px;border-left:1px solid var(--line)}
.h-facts h3{margin:0 0 8px;font-size:20px}
.h-facts p{margin:0;color:var(--ink-2);font-size:15.5px;line-height:1.55}

/* Production */
.home > .h-made{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,4vw,56px);align-items:center}
.h-made__copy h2{margin:0 0 14px}
.h-made__copy p{margin:0 0 18px;color:var(--ink-2)}
.h-made__gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px}
.h-made__gallery img{width:100%;height:clamp(240px,30vw,400px);object-fit:cover;border-radius:var(--radius)}
.h-made__gallery img:nth-child(2){margin-top:40px}

/* Where to buy */
.home > .h-where{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,.9fr);gap:28px;align-items:center}
.h-where h2{margin:0 0 10px;font-size:clamp(26px,2.8vw,36px)}
.h-where__logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.h-where__logos li{background:var(--surface);border-radius:14px;aspect-ratio:1;display:grid;place-items:center;padding:14px}
.h-where__logos img{max-height:64px;width:auto;object-fit:contain}
.h-where__wa{background:var(--surface);border-radius:var(--radius);padding:22px}
.h-where__wa p{margin:0 0 14px;font-weight:700;color:var(--cocoa)}
.h-where__wa .buy-btn{width:100%}

/* B2B */
.home > .h-b2b{margin-top:var(--section);max-width:none;padding:var(--section) max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter)));background:var(--cocoa);color:rgba(255,255,255,.8);display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,4vw,64px);align-items:start}
.h-b2b .label{color:#F2B4B2}
.h-b2b h2{color:#fff;margin:0 0 14px}
.h-b2b__copy p{margin:0 0 24px}
.h-b2b__list{list-style:none;margin:0;padding:0}
.h-b2b__list li{padding:18px 0;border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px}
.h-b2b__list b{color:#fff;font-size:17px}
.h-b2b__list span{font-size:15px;line-height:1.55}

@media(max-width:900px){
  .home > .h-hero,.home > .h-offer,.home > .h-made,.home > .h-where,.home > .h-b2b{grid-template-columns:minmax(0,1fr)}
  .h-hero__media{aspect-ratio:4/3;order:-1}
  .h-facts ul{grid-template-columns:1fr}
  .h-facts li,.h-facts li + li{padding:18px 0;border-left:0;border-bottom:1px solid var(--line)}
  .h-made__gallery img:nth-child(2){margin-top:0}
  .h-b2b__list li{grid-template-columns:1fr;gap:4px}
}
@media(max-width:560px){
  .h-made__gallery{grid-template-columns:1fr 1fr}
  .h-made__gallery img:first-child{grid-column:1/-1;height:260px}
  .h-made__gallery img{height:180px}
  .h-where__logos{grid-template-columns:repeat(4,1fr);gap:6px}
  .h-where__logos li{padding:8px}
}
.h-offer__tools{display:flex;flex-direction:column}
.h-offer__per{margin:28px 0 8px!important;font-size:13px;font-weight:600;color:var(--ink-3,var(--ink-2))}
.h-offer__stats{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.h-offer__stats a{display:grid;grid-template-columns:1fr auto 7.5em;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px}
.h-offer__stats em::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--f);margin-right:10px;vertical-align:1px}
.h-offer__stats a:hover em{color:var(--f)}
.h-offer__stats em{font-style:normal;font-weight:600}
.h-offer__stats b{font-weight:800;text-align:right}
.h-offer__stats span{color:var(--ink-2);text-align:right}
@media (max-width:520px){.h-offer__stats a{grid-template-columns:1fr auto auto;gap:10px;font-size:13px}.h-offer__stats b,.h-offer__stats span{white-space:nowrap}}
.h-offer__promo{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}

/* v2/11-catalog.css */
/* Products catalog (templates/productsIndex.mjs) */
.catalog{max-width:var(--max);margin:0 auto;padding:calc(var(--header-h) + clamp(28px,4vw,56px)) var(--gutter) var(--section)}
.catalog__head{max-width:720px;margin:0 0 32px}
.catalog__head h1{margin:0 0 12px}
.catalog__head .section-sub{margin:0}
.catalog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.catalog__grid .jar__name{font-size:22px}
.catalog__tools{border-radius:var(--radius);background:var(--surface);padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.catalog__tools h2{font-size:clamp(24px,2.4vw,30px);margin:0}
.catalog__tools p{margin:0 0 8px;color:var(--ink-2)}
@media(max-width:900px){.catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.catalog__grid{grid-template-columns:minmax(0,1fr)}}

/* v2/12-product.css */
/* Product detail (templates/productDetail.mjs). The page is scoped to the
   jar's flavor (.pd.f-*), so the hero tint, band and accents follow the
   label color. */

/* v2 has no global box-sizing reset yet (legacy.css provided one). */
.pd,.pd *,.pd *::before,.pd *::after{box-sizing:border-box}

/* Hero: one tinted surface, photo + band left, buying info right. */
.pd-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;background:var(--f-tint);border-radius:28px;padding:clamp(12px,1.6vw,20px);padding-right:clamp(20px,4vw,64px)}
.pd-hero__media{border-radius:var(--radius);overflow:hidden;background:var(--panel);display:flex;flex-direction:column}
.pd-hero__media img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center 45%}
.pd-hero__band{--tile:26px}
.pd-hero__copy{padding-block:clamp(8px,2vw,24px)}
.pd-hero__cat{margin:0 0 10px;font-size:14px;font-weight:600;color:var(--f)}
.pd.f-honey .pd-hero__cat{color:#8C7110}
.pd-hero__copy h1{margin:0 0 10px;font-size:clamp(34px,4.4vw,60px)}
html[lang="ka"] .pd-hero__copy h1{font-size:clamp(30px,3.6vw,50px)}
.pd-hero__weight{margin:0 0 24px;color:var(--ink-2)}
.pd-hero__price{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:0 0 24px}
.pd-hero__amount{margin:0;font-size:clamp(34px,3.4vw,44px);font-weight:800;line-height:1;color:var(--ink)}
.pd-hero__promo{margin:0;display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;background:var(--red);color:#fff;font-size:14px;font-weight:700}
.pd-hero__comp{margin:0 0 28px;padding-top:18px;border-top:1px solid rgba(43,27,19,.12)}
.pd-hero__comp h2{margin:0 0 4px;font-size:14px;font-weight:700;letter-spacing:0;color:var(--cocoa)}
.pd-hero__comp p{margin:0;color:var(--ink-2);line-height:1.55}
.pd-hero__buy{display:flex;flex-wrap:wrap;gap:12px}
.pd-hero__buy > *{flex:1 1 200px}
.pd-hero__add{background:var(--ink);color:#fff}
.pd-hero__add:hover{background:var(--red)}
.pd-hero__add:disabled{background:var(--wa);cursor:default}

/* Story + nutrition */
.pd-info{margin-top:var(--section);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:start}
.pd-story h2{margin:0 0 20px}
.pd-story .prose > :last-child{margin-bottom:0}
.pd-side{display:flex;flex-direction:column;gap:16px}
.pd-nutri caption{font-size:18px}
.pd-nutri td{white-space:nowrap;padding-left:12px}
.pd-nutri tbody tr:last-child > *{border-bottom:0}
.pd-tools{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.pd-tools .label{margin-bottom:6px}
.pd-tools a{font-weight:700;color:var(--cocoa);text-decoration:none;padding:6px 0;line-height:1.4}
.pd-tools a:hover{color:var(--red-ink);text-decoration:underline}

/* Related sections */
.pd-sec{margin-top:var(--section)}
.pd-sec .h-head{margin-bottom:24px}
.pd-sec .h-head h2{margin:0}
.pd-others{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}

@media(max-width:1100px){
  .pd-others{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(230px,42%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scrollbar-width:thin}
  .pd-others > .jar{scroll-snap-align:start}
}
@media(max-width:900px){
  .pd-hero{grid-template-columns:minmax(0,1fr);padding:12px 12px 24px}
  .pd-hero__copy{padding:0 8px}
  .pd-info{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .pd-hero{border-radius:var(--radius);margin-inline:calc(-1 * var(--gutter) + 8px)}
  .pd-hero__band{--tile:20px}
  .pd-others{grid-auto-columns:78%}
  .pd-nutri{font-size:14px}
}
.pd-nutri-note{margin:12px 0 0;font-size:13px;color:var(--ink-2)}

/* v2/13-tools.css */
/* Tools: compare table (templates/compare.mjs) and nutrition calculator
   (templates/nutritionCalculator.mjs). */

/* v2 has no global box-sizing reset yet (legacy.css provided one). */
.cmp,.cmp *,.cmp *::before,.cmp *::after,.calc,.calc *,.calc *::before,.calc *::after{box-sizing:border-box}

/* ---- Compare ---- */
.cmp-scroll{overflow-x:auto;background:var(--surface);border-radius:var(--radius);-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.cmp-scroll:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.cmp-table{width:100%;min-width:880px;border-collapse:collapse;font-size:15px;line-height:1.4;font-variant-numeric:tabular-nums}
.cmp-table th,.cmp-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.cmp-table tbody tr:last-child > *{border-bottom:0}
.cmp-table tbody th{position:sticky;left:0;z-index:1;background:var(--surface);text-align:left;font-weight:600;color:var(--ink);min-width:170px;max-width:220px}
.cmp-table thead th{vertical-align:bottom;padding-top:20px;padding-bottom:16px}
.cmp-table thead th:first-child{position:sticky;left:0;z-index:2;background:var(--surface);text-align:left;font-size:13px;font-weight:600;color:var(--muted)}
.cmp-table thead a{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:var(--cocoa);font-weight:700;font-size:14px;line-height:1.25}
.cmp-table thead a:hover span{color:var(--red-ink);text-decoration:underline}
.cmp-table thead img{width:88px;height:auto;aspect-ratio:1;object-fit:cover;border-radius:14px;background:var(--panel)}
.cmp-band{--tile:12px;width:auto;border-radius:3px}
.cmp-table tr.cmp-sub > *{font-size:13.5px;color:var(--muted)}
.cmp-table tr.cmp-sub th{font-weight:400;padding-left:28px}
.cmp-table tr.cmp-group th{position:static;background:var(--bg);font-size:13px;font-weight:700;color:var(--cocoa);padding-top:10px;padding-bottom:10px}
.cmp-table td.is-best{font-weight:700;color:var(--ink)}
.cmp-best{display:inline-flex;align-items:center;min-height:22px;margin-left:4px;padding:0 8px;border-radius:999px;background:var(--f-classic-tint);color:var(--red-ink);font-size:11.5px;font-weight:700;vertical-align:middle;white-space:nowrap}
.cmp-table tr.cmp-comp td{font-size:13.5px;line-height:1.5;color:var(--ink-2);vertical-align:top;text-align:left;min-width:140px}
.cmp-note{margin:14px 0 0;font-size:13.5px;color:var(--muted)}

.cmp-guide ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.cmp-guide a{position:relative;display:flex;flex-direction:column;gap:8px;height:100%;padding:20px 18px 18px;border-radius:var(--radius);background:var(--f-tint);text-decoration:none;color:inherit;transition:transform .2s}
.cmp-guide a::before{content:"";display:block;width:32px;height:6px;border-radius:3px;background:var(--f);margin-bottom:6px}
.cmp-guide a:hover{transform:translateY(-3px)}
.cmp-guide b{font-size:17px;line-height:1.25;color:var(--cocoa)}
.cmp-guide span{font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.cmp-guide em{margin-top:auto;padding-top:8px;font-style:normal;font-weight:700;font-size:14px;color:var(--red-ink)}
.tools-cta{margin-top:var(--section)}
.tools-cta > p{font-size:clamp(18px,1.8vw,22px);font-weight:700;color:var(--cocoa)!important;max-width:34em}

@media(max-width:1100px){.cmp-guide ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.cmp-guide ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .cmp-table{min-width:760px;font-size:14px}
  .cmp-table tbody th{min-width:130px;max-width:150px}
  .cmp-table thead img{width:64px}
  .cmp-guide ul{grid-template-columns:minmax(0,1fr)}
  .tools-cta .btn{width:100%}
}

/* ---- Nutrition calculator ---- */
.calc-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;align-items:start}
.calc-form{background:var(--f-tint);border-radius:var(--radius);padding:clamp(16px,2vw,24px);transition:background .2s}
.calc-preview{display:flex;flex-direction:column;margin:0 0 20px;border-radius:var(--radius-sm);overflow:hidden;background:var(--panel)}
.calc-preview img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 50%}
.calc-band{--tile:18px}
.calc-form .field-row{gap:12px;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.calc-form .field-row .field{min-width:0}
.calc-quick{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.calc-quick button{min-height:40px;padding:0 16px;border-radius:999px;border:1.5px solid transparent;background:var(--surface);font:700 14px/1 var(--font);color:var(--ink);cursor:pointer;transition:border-color .15s,color .15s}
.calc-quick button:hover{border-color:var(--ink)}
.calc-goal{margin:0;border:0;border-radius:var(--radius-sm);background:var(--surface);padding:18px 18px 16px;min-width:0}
.calc-goal legend{float:left;width:100%;padding:0;margin:0 0 4px;font-size:16px;font-weight:800;color:var(--cocoa)}
.calc-goal legend + *{clear:both}
.calc-goal p{margin:0 0 12px;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.calc-goal .field{margin-bottom:10px}
.calc-goal-out{margin:0!important;font-weight:700;font-size:15px!important;color:var(--cocoa)!important}
.calc-goal-out:empty{display:none}

.calc-results h2{margin:0 0 4px;font-size:clamp(18px,1.8vw,22px);letter-spacing:-.01em}
.calc-results h2 span:first-child{color:var(--muted);font-weight:600}
.calc-kcal{margin:0 0 18px;font-size:17px;font-weight:600;color:var(--ink-2)}
.calc-kcal strong{font-size:clamp(48px,5vw,64px);font-weight:800;line-height:1;color:var(--cocoa);letter-spacing:-.02em}
.calc-table th:nth-child(2),.calc-table td:nth-child(2){padding-left:12px}
.calc-table th:last-child{padding-left:16px}
.calc-table td.calc-val{white-space:nowrap;font-weight:700}
.calc-table tr.sub td.calc-val{font-weight:400}
.calc-table td.calc-ri{padding-left:16px;width:40%}
.calc-ri{white-space:nowrap}
.calc-table .ri-bar{display:inline-block;vertical-align:middle;width:calc(100% - 52px);min-width:40px;height:8px;border-radius:999px;background:var(--bg);overflow:hidden}
.calc-table .ri-bar i{display:block;height:100%;border-radius:999px;background:var(--f,var(--red));transition:width .2s}
.calc-table .ri-pct{display:inline-block;min-width:44px;text-align:right;font-size:13.5px;color:var(--ink-2);vertical-align:middle}
.calc-table tbody tr:last-child > *{border-bottom:0}
.calc-extras{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.calc-extras div{background:var(--bg);border-radius:var(--radius-sm);padding:14px 16px}
.calc-extras dt{font-size:13px;font-weight:600;color:var(--muted)}
.calc-extras dd{margin:4px 0 0;font-size:24px;font-weight:800;color:var(--ink);line-height:1.1}
.calc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.calc-note{margin:18px 0 0;font-size:13px;line-height:1.55;color:var(--muted)}
.calc-how{max-width:760px}
.calc-how ul{margin:0;padding-left:1.3em;color:var(--ink-2)}

@media(max-width:900px){.calc-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){
  .calc-form .field-row{grid-template-columns:minmax(0,1fr)}
  .calc-table{font-size:14px}
  .calc-table td.calc-ri{width:34%}
  .calc-table .ri-bar{display:none}
  .calc-actions .buy-btn{width:100%}
}
.calc-quick button.is-portion{border-color:var(--f,var(--red));color:var(--f,var(--red))}

/* ---- Daily calorie calculator (templates/calorieNorm.mjs) ---- */
.cn-form{--f-tint:var(--f-classic-tint)}
.cn-seg{margin:0 0 16px;padding:0;border:0;min-width:0}
.cn-seg legend{padding:0;margin:0 0 6px}
.cn-seg__row{display:flex;gap:6px;padding:4px;border-radius:14px;background:var(--surface)}
.cn-seg__opt{flex:1;position:relative;min-width:0}
.cn-seg__opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.cn-seg__opt span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 10px;border-radius:10px;font-weight:700;font-size:15px;color:var(--ink-2);text-align:center;transition:background .15s,color .15s}
.cn-seg__opt input:checked + span{background:var(--cocoa);color:#fff}
.cn-seg__opt input:focus-visible + span{outline:3px solid var(--red);outline-offset:2px}
.cn-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cn-nums .field{min-width:0}
.cn-form [aria-invalid="true"]{border-color:var(--red)}
.cn-error{margin:4px 0 0;font-weight:700;color:var(--red-ink)}
.cn-floor{margin:0 0 16px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--f-classic-tint);font-size:14.5px;color:var(--ink)}
.cn-protein-note{margin:8px 0 0;font-size:13.5px;color:var(--muted)}
.cn-nut{margin:0;padding:14px 16px;border-radius:var(--radius-sm);background:var(--f-classic-tint);font-size:15px;line-height:1.5;color:var(--ink)}
.cn-nut a{font-weight:700;color:var(--red-ink)}
.calc-how .h-more,.cn-sources .h-more{white-space:normal}
.cn-typical,.cn-faq,.cn-sources{max-width:760px}
.cn-typical table{max-width:520px}
.cn-typical td{font-variant-numeric:tabular-nums}
.cn-faq__item{border-bottom:1px solid var(--line);padding:14px 0}
.cn-faq__item summary{cursor:pointer;font-weight:700;font-size:17px;color:var(--cocoa)}
.cn-faq__item p{margin:10px 0 0;line-height:1.6;color:var(--ink-2)}
.cn-sources ol{padding-left:1.3em;font-size:14px;line-height:1.55;color:var(--ink-2)}
.cn-sources li{margin-bottom:6px}
.cn-sources a{color:inherit}
@media(max-width:560px){
  .cn-nums{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:8px}
}

/* ---- Healthy Table section (templates/health.mjs) ---- */
.hl,.hl *,.hl *::before,.hl *::after{box-sizing:border-box}
.hl-kicker span{margin-left:8px;color:var(--muted);font-weight:600}
.hl-lead{max-width:46em;color:var(--ink-2);margin:0 0 16px}
.hl-scroll{position:relative;overflow-x:auto;background:var(--surface);border-radius:var(--radius);-webkit-overflow-scrolling:touch}
.hl-scroll:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.hl-table{width:100%;min-width:640px;font-size:15px}
.hl-table th,.hl-table td{padding:11px 14px}
.hl-table tbody th a{color:var(--cocoa);font-weight:700}
.hl-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.hl-portion small{display:block;font-size:12.5px;color:var(--muted);font-weight:400}
.hl-note{margin:10px 0 0;font-size:13.5px;line-height:1.55;color:var(--muted);max-width:52em}
.hl-dish__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:6px}
.hl-box h2{margin:0 0 14px;font-size:20px}
.hl-box h2 small{font-size:14px;color:var(--muted);font-weight:600}
.hl-nutr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px}
.hl-nutr div{padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg)}
.hl-nutr div.is-kcal{grid-column:1 / -1}
.hl-nutr dt{font-size:13px;font-weight:600;color:var(--muted)}
.hl-nutr dd{margin:2px 0 0;font-size:22px;font-weight:800;color:var(--ink)}
.hl-nutr .is-kcal dd{font-size:40px;line-height:1.05;color:var(--cocoa)}
.hl-tip{max-width:760px}
.hl-tip p{margin:0;padding:16px 18px;border-radius:var(--radius-sm);background:var(--f-coconut-tint);color:var(--ink)}
.hl-ing{max-width:640px}
.hl-ing tfoot th,.hl-ing tfoot td{font-weight:700;border-top:1.5px solid var(--line)}
.hl-method{max-width:760px}
.hl-method ol{padding-left:1.3em;color:var(--ink-2)}
.hl-others{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.hl-others li{padding:8px 14px;border-radius:999px;background:var(--surface)}
.hl-others a{font-weight:700;color:var(--cocoa)}
.hl-others small{color:var(--muted);margin-left:4px}

/* Calorie calculator (plate) */
.pl-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:16px;align-items:start}
.pl-pick{--f-tint:var(--f-coconut-tint);position:relative}
.pl-pick .control{margin-top:6px}
.pl-results{list-style:none;margin:6px 0 0;padding:6px;border-radius:14px;background:var(--surface);box-shadow:0 8px 24px rgba(43,27,19,.12);max-height:360px;overflow:auto}
.pl-results button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border:0;border-radius:10px;background:none;font:600 15px/1.3 var(--font);color:var(--ink);text-align:left;cursor:pointer}
.pl-results button:hover,.pl-results button:focus-visible{background:var(--bg);outline:none}
.pl-results small{font-size:12.5px;font-weight:400;color:var(--muted)}
.pl-none{padding:10px 12px;color:var(--muted)}
.pl-popular-label{margin:18px 0 8px;font-size:14px;font-weight:600;color:var(--ink-2)}
.pl-popular{display:flex;flex-wrap:wrap;gap:8px}
.pl-chip{min-height:38px;padding:0 14px;border-radius:999px;border:1.5px solid transparent;background:var(--surface);font:700 14px/1 var(--font);color:var(--ink);cursor:pointer}
.pl-chip:hover{border-color:var(--ink)}
.pl-link{border:0;background:none;padding:4px 0;font:700 14px/1 var(--font);color:var(--red-ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.pl-scroll{background:transparent;border-radius:0}
.pl-table{width:100%;min-width:560px;font-size:14.5px}
.pl-table th,.pl-table td{padding:8px 8px;vertical-align:middle}
.pl-table tbody th{font-weight:600;min-width:150px}
.pl-table tbody th a{color:var(--cocoa)}
.pl-table .pl-g{width:78px;min-height:38px;padding:6px 8px;border:1.5px solid var(--line);border-radius:10px;font:600 15px/1 var(--font);color:var(--ink);background:var(--surface)}
.pl-table .pl-kcal{font-weight:700}
.pl-rm{width:34px;height:34px;border:0;border-radius:50%;background:var(--bg);font:700 18px/1 var(--font);color:var(--muted);cursor:pointer}
.pl-rm:hover{background:var(--f-classic-tint);color:var(--red-ink)}
.pl-empty{margin:12px 0 0;color:var(--muted)}

@media(max-width:900px){.pl-layout,.hl-dish__grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){
  .hl-nutr .is-kcal dd{font-size:32px}
}

/* ---- Healthy Table v2: icons, compact heads and results (2026-09-29) ---- */
:root{--m-p:#C8445E;--m-f:#A2820F;--m-c:#3F7DC0} /* protein/fat/carbs — validated CVD-safe on white */

/* Animated tool icons (templates/healthIcons.mjs). Resting state = final state. */
.ti{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:var(--cocoa);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.ti .ti-thin{stroke-width:2;opacity:.3}
.ti .ti-fill{fill:var(--surface)}
.ti-seg{stroke-width:7;stroke-linecap:butt;transform:rotate(-90deg);transform-origin:32px 34px}
.ti-seg--p{stroke:var(--m-p)}.ti-seg--f{stroke:var(--m-f)}.ti-seg--c{stroke:var(--m-c)}
.ti-tick{stroke-width:2;opacity:.45}
.ti-arc{stroke:var(--m-p);stroke-width:4;stroke-dasharray:100;stroke-dashoffset:0}
.ti-needle{transform-origin:32px 46px}
.ti-dot{fill:var(--cocoa)}
.ti-lid{fill:var(--cocoa)}
.ti-band{stroke:var(--f-classic);stroke-width:5;stroke-linecap:butt}
.ti-knot{fill:var(--cocoa);stroke:none}
.ti-steam{stroke:var(--muted);stroke-width:2;opacity:.8}
.ti--khinkali .ti-fill{fill:var(--f-honey-tint)}
.ti--bowl .ti-fill{fill:var(--f-coconut-tint)}
@keyframes ti-seg{from{stroke-dasharray:0 100}}
@keyframes ti-seg2{from{stroke-dasharray:0 100}}
@keyframes ti-arc{from{stroke-dashoffset:100}}
@keyframes ti-arc2{from{stroke-dashoffset:100}}
@keyframes ti-needle{0%{transform:rotate(-100deg)}60%{transform:rotate(14deg)}80%{transform:rotate(-5deg)}100%{transform:none}}
@keyframes ti-needle2{0%{transform:rotate(-100deg)}60%{transform:rotate(14deg)}80%{transform:rotate(-5deg)}100%{transform:none}}
@keyframes ti-dip{0%{transform:translate(9px,-15px)}50%{transform:translate(-1px,3px)}100%{transform:none}}
@keyframes ti-dip2{0%{transform:translate(9px,-15px)}50%{transform:translate(-1px,3px)}100%{transform:none}}
@keyframes ti-steam{0%{opacity:0;transform:translateY(7px)}50%{opacity:.9}100%{opacity:.8;transform:none}}
@keyframes ti-steam2{0%{opacity:0;transform:translateY(7px)}50%{opacity:.9}100%{opacity:.8;transform:none}}
.ti-seg{animation:ti-seg .55s cubic-bezier(.3,.7,.4,1) backwards}
.ti-seg--p{animation-delay:.15s}.ti-seg--f{animation-delay:.5s}.ti-seg--c{animation-delay:.85s}
.ti-arc{animation:ti-arc 1s ease-out .1s backwards}
.ti-needle{animation:ti-needle 1.3s cubic-bezier(.35,.8,.4,1) .1s backwards}
.ti-spoon{animation:ti-dip 1.1s ease-in-out .2s backwards}
.ti-steam{animation:ti-steam 1.4s ease-out 2 backwards}
.ti-steam--2{animation-delay:.45s}
.hl-card:hover .ti-seg{animation-name:ti-seg2}
.hl-card:hover .ti-arc{animation-name:ti-arc2}
.hl-card:hover .ti-needle{animation-name:ti-needle2}
.hl-card:hover .ti-spoon{animation-name:ti-dip2}
.hl-card:hover .ti-steam{animation-name:ti-steam2}
@media(prefers-reduced-motion:reduce){.ti *{animation:none!important}}

/* Compact tool header: icon tile + title, so the tool starts above the fold. */
.tool-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(14px,2vw,26px);align-items:center;max-width:1040px;margin-bottom:clamp(20px,2.6vw,32px)}
.tool-head__icon{width:clamp(76px,8vw,104px);aspect-ratio:1;padding:16%;border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}
.tool-head .label{margin:0 0 4px}
.tool-head h1{margin:0 0 8px;font-size:clamp(30px,3.2vw,44px);line-height:1.04;letter-spacing:-.02em}
.tool-head .lead{font-size:clamp(15.5px,1.25vw,18px);line-height:1.5}
html[lang="ka"] .tool-head h1{font-size:clamp(28px,2.9vw,40px)}
@media(max-width:560px){
  .tool-head{grid-template-columns:60px minmax(0,1fr);align-items:center;gap:10px 14px}
  .tool-head__text{display:contents}
  .tool-head__icon{grid-row:1 / 3;width:60px;border-radius:16px;padding:12%}
  .tool-head .label{grid-column:2;align-self:end}
  .tool-head h1{grid-column:2;align-self:start;margin:0}
  .tool-head .lead{grid-column:1 / -1}
  .tool-head h1{font-size:28px}
  .tool-head .hl-kicker span{display:none}
  .tool-head .lead{font-size:15px}
  .pl-popular{flex-wrap:nowrap;overflow-x:auto;margin-inline:-4px;padding:0 4px 6px;scrollbar-width:none}
  .pl-popular::-webkit-scrollbar{display:none}
  .pl-chip{flex:none}
}

/* Hub tool cards */
.hl-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hl-card{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 22px;border-radius:var(--radius);background:var(--surface);text-decoration:none;color:inherit;border:1.5px solid transparent;transition:border-color .15s,transform .2s,box-shadow .2s}
.hl-card:hover{border-color:var(--cocoa);transform:translateY(-2px);box-shadow:var(--shadow)}
.hl-card:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.hl-card__icon{width:72px;height:72px;padding:10px;border-radius:18px;background:var(--bg)}
.hl-card__text{display:flex;flex-direction:column;gap:6px;min-width:0}
.hl-card__text b{font-size:18px;line-height:1.25;color:var(--cocoa)}
.hl-card__text span{font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.hl-card__go{font-size:22px;font-weight:800;color:var(--red-ink);transition:transform .2s}
.hl-card:hover .hl-card__go{transform:translateX(4px)}
@media(max-width:760px){.hl-cards{grid-template-columns:minmax(0,1fr)}.hl-card{grid-template-columns:56px minmax(0,1fr) auto;gap:14px;padding:16px}.hl-card__icon{width:56px;height:56px;padding:7px;border-radius:14px}}

/* Energy split: one stacked bar + legend (templates/healthIcons.mjs macroBar) */
.mbar{display:flex;gap:2px;height:12px;margin:0 0 10px}
.mbar i{display:block;flex-basis:0;min-width:4px;background:var(--m-p);transition:flex-grow .35s ease}
.mbar i:first-child{border-radius:4px 0 0 4px}
.mbar i:last-child{border-radius:0 4px 4px 0}
.mbar [data-k="f"],.mbar-legend [data-k="f"] .mbar-sw{background:var(--m-f)}
.mbar [data-k="c"],.mbar-legend [data-k="c"] .mbar-sw{background:var(--m-c)}
.mbar-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:14.5px;color:var(--ink-2)}
.mbar-legend li{display:flex;align-items:center;gap:6px;white-space:nowrap}
.mbar-sw{flex:none;width:10px;height:10px;border-radius:3px;background:var(--m-p)}
.mbar-g{color:var(--ink);font-weight:800}
.mbar-pct{color:var(--muted);font-size:13px}

/* Compact result cards (calorie norm, calorie calculator) */
.res-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.res-main h2{margin:0 0 2px;font-size:15px;font-weight:700;color:var(--muted);letter-spacing:0}
.res-kcal{margin:0;font-size:15px;font-weight:600;color:var(--ink-2);line-height:1.2}
.res-kcal strong{display:inline-block;margin-right:4px;font-size:clamp(40px,4vw,54px);font-weight:800;line-height:1;color:var(--cocoa);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.res-sec{padding:14px 0;border-top:1px solid var(--line)}
.res-h3{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--ink)}
.res-stats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding-top:14px;border-top:1px solid var(--line)}
.res-stats div{flex:1 1 120px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--bg)}
.res-stats dt{font-size:12.5px;font-weight:600;color:var(--muted);line-height:1.3}
.res-stats dd{margin:2px 0 0;font-size:19px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.res-stats dd small{display:block;margin-top:2px;font-size:12.5px;line-height:1.3;font-weight:700;color:var(--muted)}
.res-stats dd small[data-c="normal"]{color:#2E7D4F}
.res-stats dd small[data-c="over"],.res-stats dd small[data-c="obese"],.res-stats dd small[data-c="under"]{color:var(--red-ink)}
.calc-results.card{padding:clamp(18px,2vw,26px)}
.cn-goals{display:flex;gap:6px;margin:0}
.cn-goals div{min-width:84px;padding:8px 10px;border-radius:10px;background:var(--bg);border:1.5px solid transparent;text-align:center}
.cn-goals div.is-current{border-color:var(--cocoa);background:var(--surface)}
.cn-goals dt{font-size:12px;font-weight:600;color:var(--muted)}
.cn-goals dd{margin:1px 0 0;font-size:16px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.cn-protein-note{margin:10px 0 0;font-size:13px;color:var(--muted)}
.cn-results.is-stale .res-kcal,.cn-results.is-stale .cn-goals,.cn-results.is-stale .res-sec,.cn-results.is-stale .res-stats{opacity:.35}
.cn-form .field{margin-bottom:12px}
.cn-seg{margin-bottom:12px}
.pl-norm{margin:0;max-width:300px;font-size:13.5px;line-height:1.45;color:var(--ink-2);text-align:right}
.pl-norm b{font-size:22px;color:var(--cocoa);font-variant-numeric:tabular-nums}
.pl-norm a{font-weight:700;color:var(--red-ink)}
.pl-actions{display:flex;justify-content:flex-end;gap:16px;margin:0 0 4px}
@media(max-width:560px){
  .res-top{flex-direction:column;align-items:stretch}
  .pl-norm{text-align:left;max-width:none}
  .cn-goals div{flex:1;min-width:0}
  .res-stats div{flex-basis:calc(50% - 4px)}
}

/* Dish table: calories per 100 g as a mini bar (single series, one hue) */
.hl-kc{min-width:130px}
.hl-kbar{display:inline-block;vertical-align:middle;width:64px;height:6px;margin-right:10px;border-radius:999px;background:var(--bg);overflow:hidden}
.hl-kbar i{display:block;height:100%;border-radius:999px;background:var(--f-almond)}
.hl-box .mbar{margin-top:4px}
.hl-nutr{margin-bottom:14px}
.hl-nutr .is-kcal dd{font-size:36px}

/* Hub intro: second paragraph + key facts */
.hl-hero{max-width:820px}
.hl-lead2{margin:12px 0 0;font-size:15.5px;line-height:1.6;color:var(--muted)}
.hl-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:920px;margin:0 0 8px}
.hl-facts div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:2px;padding:14px 16px;border-radius:var(--radius-sm);background:var(--surface)}
.hl-facts dd{margin:0;font-size:clamp(24px,2.4vw,32px);font-weight:800;line-height:1.1;color:var(--cocoa);font-variant-numeric:tabular-nums}
.hl-facts dt{font-size:13.5px;font-weight:600;color:var(--ink-2);line-height:1.35}
@media(max-width:700px){.hl-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v2/14-recipes.css */
/* Recipes: index (templates/recipesIndex.mjs), recipe page and the
   recipe card (templates/recipeDetail.mjs). The card and .recipe-grid
   are also used on the homepage and product pages, so they are styled
   without any page-level parent. Flavor accents come from the .f-* scope
   on the card / page (--f, --f-soft, --f-tint). */

/* legacy.css set box-sizing globally and v2 base does not; keep these
   blocks predictable on their own. */
.recipe,.recipe *,.recipes,.recipes *,.recipe-grid,.recipe-card,.recipe-card *{box-sizing:border-box}

/* ---------- Recipe card ---------- */
/* The cover image already carries the letter band, so the card itself
   only adds the flavor-colored category line. */
.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0}
.recipe-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--surface);border:0;border-radius:var(--radius);box-shadow:none;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s}
.recipe-card[hidden]{display:none}
.recipe-card:hover{transform:translateY(-3px)}
.recipe-card__media{display:block;aspect-ratio:16/9;background:var(--f-tint,var(--panel));overflow:hidden}
.recipe-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.recipe-card:hover .recipe-card__media img{transform:scale(1.03)}
.recipe-card__body{display:flex;flex-direction:column;gap:6px;flex:1;padding:16px 18px 18px}
.recipe-card__cat{font-size:13px;font-weight:600;line-height:1.3;color:var(--f,var(--red-ink))}
.recipe-card.f-honey .recipe-card__cat{color:#8C7110}
.recipe-card .recipe-card__title{margin:0;font-size:19px;line-height:1.25;font-weight:800;letter-spacing:-.01em;color:var(--cocoa)}
.recipe-card:hover .recipe-card__title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.recipe-card__meta{margin-top:auto;padding-top:8px;font-size:14px;color:var(--muted)}
.recipe-card:focus-visible{outline-offset:4px;border-radius:var(--radius)}
@media(max-width:900px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.recipe-grid{grid-template-columns:minmax(0,1fr);gap:14px}}

/* ---------- Recipes index ---------- */
.recipe-filters{display:flex;flex-direction:column;gap:12px;margin:0 0 28px}
.recipe-filters[hidden]{display:none}
.recipe-filters__row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.recipe-filters__label{flex:0 0 100%;font-size:13px;font-weight:600;color:var(--muted)}
.recipe-filters button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid transparent;background:var(--surface);font:600 14px/1.2 var(--font);color:var(--ink-2);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.recipe-filters button:hover{border-color:var(--ink)}
.recipe-filters button img{width:24px;height:25px;object-fit:contain;border-radius:6px;background:var(--f-tint,var(--panel))}
.recipe-filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.recipe-empty{margin:24px 0 0;padding:28px;border-radius:var(--radius);background:var(--surface);text-align:center;color:var(--muted)}
.recipe-empty[hidden]{display:none}

/* ---------- Recipe page ---------- */
/* Hero: tinted panel in the butter's color, band on top. */
.recipe-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,4vw,56px);align-items:center;background:var(--f-tint);border-radius:var(--radius);padding:calc(clamp(24px,3.5vw,48px) + 26px) clamp(20px,3.5vw,48px) clamp(24px,3.5vw,48px)}
.recipe-hero__band{position:absolute;top:0;left:0;right:0;--tile:26px}
.recipe-hero .label{margin-bottom:12px}
.recipe-hero h1{margin:0 0 16px;font-size:clamp(34px,4.4vw,58px);line-height:1.05}
html[lang="ka"] .recipe-hero h1{font-size:clamp(30px,3.6vw,48px);line-height:1.12}
.recipe-hero__intro{margin:0 0 24px;font-size:clamp(17px,1.4vw,19px);line-height:1.6;color:var(--ink-2);max-width:36em}
.recipe-hero__media{border-radius:var(--radius-sm);overflow:hidden;background:var(--surface)}
.recipe-hero__media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

.recipe-stats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0}
.recipe-stats div{background:var(--surface);border-radius:var(--radius-sm);padding:10px 14px;min-width:96px}
.recipe-stats dt{font-size:12.5px;font-weight:600;color:var(--muted);line-height:1.3}
.recipe-stats dd{margin:2px 0 0;font-size:16px;font-weight:800;color:var(--cocoa);line-height:1.3;font-variant-numeric:tabular-nums}
.recipe-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin:0}

/* Ingredients + method */
.recipe-body{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:18px;align-items:start;margin-top:18px;scroll-margin-top:calc(var(--header-h) + 16px)}
.recipe-ingredients,.recipe-method{background:var(--surface);border-radius:var(--radius);padding:clamp(20px,2.6vw,36px)}
.recipe-ingredients{position:sticky;top:calc(var(--header-h) + 16px)}
.recipe-ingredients h2,.recipe-method h2{margin:0 0 18px;font-size:clamp(24px,2.4vw,30px)}

.servings{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:4px;border-radius:999px;background:var(--bg)}
.servings button{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:0;background:var(--surface);font:700 22px/1 var(--font);color:var(--ink);cursor:pointer;transition:background .15s,color .15s}
.servings button:hover{background:var(--ink);color:#fff}
.servings__value{padding:0 10px;font-weight:600;color:var(--ink-2);white-space:nowrap}
.servings output{font-size:20px;font-weight:800;color:var(--cocoa);font-variant-numeric:tabular-nums}

.ingredients{list-style:none;margin:0;padding:0}
.ingredients li{border-bottom:1px solid var(--line)}
.ingredients li:last-child{border-bottom:0}
.ingredients label{display:flex;gap:12px;align-items:flex-start;padding:10px 0;font-size:16px;line-height:1.45;color:var(--ink);cursor:pointer}
.ingredients input{appearance:none;-webkit-appearance:none;flex:0 0 auto;width:24px;height:24px;min-height:0;margin:-1px 0 0;padding:0;border:2px solid var(--line);border-radius:7px;background:var(--surface) center/16px no-repeat;cursor:pointer;transition:background-color .15s,border-color .15s}
.ingredients input:hover{border-color:var(--ink-2)}
.ingredients input:checked{background-color:var(--ink);border-color:var(--ink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3.2 3L13 4.5' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ingredients input:checked + span{text-decoration:line-through;color:var(--muted)}
.ingredients b{font-weight:800;color:var(--cocoa)}
.ingredients a{color:var(--red-ink);font-weight:600;text-underline-offset:3px}

.steps{list-style:none;counter-reset:step;margin:0;padding:0}
.steps li{counter-increment:step;position:relative;padding:4px 0 22px 54px;font-size:17px;line-height:1.7;color:var(--ink);scroll-margin-top:calc(var(--header-h) + 16px)}
.steps li::before{content:counter(step);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--f,var(--red));color:#fff;font:800 16px/1 var(--font)}
.recipe.f-honey .steps li::before{background:#8C7110}
.recipe-tip{margin-top:6px;padding:16px 18px;border-radius:var(--radius-sm);background:var(--f-tint,var(--bg));color:var(--ink-2);line-height:1.6}
.recipe-tip b{color:var(--cocoa)}

/* "Made with" product card */
.recipe-buy{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:center;margin-top:18px;background:var(--surface);border-radius:var(--radius);padding:clamp(16px,2vw,24px)}
.recipe-buy__media{border-radius:var(--radius-sm);overflow:hidden;background:var(--panel);aspect-ratio:1/1}
.recipe-buy__media img{display:block;width:100%;height:100%;object-fit:cover}
.recipe-buy h2{margin:0 0 6px;font-size:clamp(24px,2.4vw,32px)}
.recipe-buy__meta{margin:0 0 18px;color:var(--ink-2)}
.recipe-buy__meta b{color:var(--ink);font-weight:800}
.recipe-buy__actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.recipe-buy__links{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;font-size:15px}
.recipe-buy__links a{font-weight:700;color:var(--red-ink);text-decoration:none}
.recipe-buy__links a:hover{text-decoration:underline}

@media(max-width:900px){
  .recipe-hero{grid-template-columns:minmax(0,1fr)}
  .recipe-body{grid-template-columns:minmax(0,1fr)}
  .recipe-ingredients{position:static}
}
@media(max-width:560px){
  .recipe-hero{padding-inline:18px}
  .recipe-hero h1{font-size:30px}
  html[lang="ka"] .recipe-hero h1{font-size:26px}
  .recipe-stats div{flex:1 1 calc(50% - 4px);min-width:0}
  .recipe-hero__actions .btn{flex:1 1 auto}
  .steps li{padding-left:48px;font-size:16.5px}
  .recipe-buy{grid-template-columns:minmax(0,1fr)}
  .recipe-buy__media{max-width:180px}
  .recipe-buy__actions > *{flex:1 1 auto}
}

/* Print: only the recipe — head, ingredients, steps. */
@media print{
  .skip-link,.crumbs,.recipe-hero__band,.recipe-hero__actions,.recipe-hero__media,.servings button,.recipe-buy,.recipe-more,.recipe .back-link{display:none!important}
  body{background:#fff}
  .recipe.page{padding:0;max-width:none}
  .recipe-hero{display:block;padding:0;background:none}
  .recipe-hero h1{font-size:28pt}
  .recipe-stats div{border:1px solid #999;background:none}
  .recipe-body{grid-template-columns:1fr 1.4fr;gap:24px}
  .recipe-ingredients,.recipe-method{position:static;padding:0;background:none}
  .servings{padding:0;background:none}
  .ingredients input{border-color:#000}
  .steps li::before,.recipe.f-honey .steps li::before{background:none;color:#000;border:1px solid #000}
  .recipe-tip{background:none;border:1px solid #999}
}

/* v2/15-blog.css */
/* Blog index (templates/blogIndex.mjs) and article pages
   (templates/blogArticle.mjs). Cards reuse the homepage .post; articles
   use the shared .prose for the body. */

/* Index */
.blog__head{margin-bottom:clamp(28px,4vw,44px)}
.blog__head .lead{max-width:40em}
.blog__recipes{margin:24px 0 0}
.blog__grid{gap:clamp(16px,1.6vw,22px)}
.blog__post .post__title{margin:0 18px 8px;font-size:19px;line-height:1.28}
.blog__post .post__label{margin-top:18px}
.post__excerpt{margin:0 18px 16px;font-size:15px;line-height:1.55;color:var(--ink-2)}
.post__more{margin:auto 18px 20px;font-size:14.5px;font-weight:700;color:var(--red-ink)}
.blog__post:hover .post__more{text-decoration:underline;text-underline-offset:3px}
.blog__post:focus-visible{outline-offset:4px;border-radius:var(--radius)}

/* Article: one reading column (~700px) centred; the cover runs a
   little wider so the page has a clear focal point. */
.article{max-width:1040px}
.article__crumbs,.article__head,.article__body,.article__back{max-width:700px;margin-inline:auto}
.article__crumbs{margin-bottom:clamp(20px,3vw,32px)}
.article__head h1{margin:0 0 16px;font-size:clamp(32px,4.4vw,54px);line-height:1.08}
html[lang="ka"] .article__head h1{font-size:clamp(28px,3.6vw,46px);line-height:1.14}
.article__meta{margin:0;font-size:14px;color:var(--muted)}
.article__views::before{content:'·';margin:0 8px}
.article__views[hidden]{display:none}
.post__views{display:block;margin:6px 18px 18px;font-size:13px;color:var(--muted)}
.post__views[hidden]{display:none}
.article__cover{margin:clamp(24px,3.5vw,40px) 0 clamp(28px,4vw,48px);border-radius:var(--radius);overflow:hidden;background:var(--panel)}
.article__cover img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.article__body{overflow-wrap:break-word}
.article__body > :first-child{margin-top:0}
.article__body > p:first-child{font-size:1.08em;color:var(--ink-2)}
/* Tables: keep scrolling inside their own box, never the page. */
.article__body .article-table{max-width:100%;-webkit-overflow-scrolling:touch}
.article__body .article-table:focus-visible{outline:3px solid var(--red)}
.article__back{margin-top:clamp(40px,5vw,64px);padding-top:24px;border-top:1px solid var(--line)}
.article__back .back-link{margin-top:0}

@media(max-width:600px){
  .article__cover{border-radius:var(--radius-sm)}
  .article__body{font-size:17px}
}
/* End-of-article links (product, recipes, read next) */
.article__cite{font-size:.7em;color:var(--red-ink);font-weight:600}
.article__sources{max-width:700px;margin:clamp(28px,4vw,40px) auto 0;padding-top:20px;border-top:1.5px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.article__sources h2{font-size:16px;margin:0 0 10px;color:var(--ink)}
.article__sources ol{margin:0;padding-left:20px;display:grid;gap:6px}
.article__sources a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.article__source-meta{color:var(--muted)}
.article__more{max-width:var(--max);margin:clamp(40px,6vw,64px) auto 0}
.article__more h2{font-size:clamp(22px,2.4vw,30px);margin:0 0 18px}
.article__jar{max-width:640px}
.article__jar .jar{display:grid;grid-template-columns:200px 1fr}
.article__jar .jar__media{grid-row:1/3;aspect-ratio:auto;height:100%}
.article__jar .jar__band{display:none}
@media(max-width:520px){.article__jar .jar{grid-template-columns:120px 1fr}}
/* Wide comparison tables scroll inside the article on phones instead of
   widening the page. */
@media(max-width:700px){.article__body .data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}}

/* v2/16-legal.css */
/* Legal pages (templates/privacy.mjs, personalData.mjs, terms.mjs):
   a plain document on one white surface. */
.legal__head{margin-bottom:clamp(20px,3vw,32px)}
.legal__head h1{font-size:clamp(32px,4.4vw,52px);line-height:1.08}
html[lang="ka"] .legal__head h1{font-size:clamp(28px,3.6vw,44px);line-height:1.14}
.legal__doc{background:var(--surface);border-radius:var(--radius);padding:clamp(22px,4vw,48px);font-size:16.5px;line-height:1.7;overflow-wrap:break-word}
.legal__doc > :first-child{margin-top:0}
.legal__doc > :last-child{margin-bottom:0}
.legal__doc h2{font-size:clamp(19px,1.8vw,22px);margin:1.8em 0 .5em;padding-top:1.2em;border-top:1px solid var(--line)}
.legal__doc > h2:first-child{padding-top:0;border-top:0}
.legal__intro{color:var(--ink-2)}
.legal__back{margin-top:clamp(28px,4vw,40px)}

/* v2/17-company.css */
/* Company pages: about, quality-production, where-to-buy, business,
   contact, faq (templates/about|quality|whereToBuy|business|contact|faq.mjs).
   Every page's <main> carries .co; page-specific blocks use co-*.
   Built on 06-page.css (.page, .crumbs, .page-head, .block, .chip,
   .field) and the homepage language in 10-home.css. */

/* v2 has no global box-sizing reset yet (legacy.css provided one);
   scoped here so width:100% controls and padded cards don't overflow. */
.co *,.co *::before,.co *::after{box-sizing:border-box}
.co p{margin:0}
.co ul,.co ol{margin:0;padding:0;list-style:none}
.co figure{margin:0}
.co .crumbs [aria-current]{color:var(--ink-2)}
.co .page-head .label{margin-bottom:10px}
.co-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px!important}

/* ---------- About ---------- */
.co-about__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,4.5vw,64px);align-items:center}
.co-about__copy h1{margin:0 0 20px}
.co-about__copy .lead{margin-bottom:16px}
.co-about__copy > p:not(.label):not(.lead):not(.co-actions){color:var(--ink-2);max-width:36em}
.co-about__media{border-radius:28px;overflow:hidden;background:var(--panel)}
.co-about__media img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.co-about__band{--tile:24px}
.co-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(40px,6vw,72px)!important;border-top:2px solid var(--ink)}
.co-stats li{padding:22px 24px 0 0;display:flex;flex-direction:column;gap:4px}
.co-stats li + li{padding-left:24px;border-left:1px solid var(--line)}
.co-stats strong{font-size:clamp(30px,3.4vw,44px);font-weight:800;line-height:1;color:var(--cocoa);letter-spacing:-.02em}
.co-stats span{font-size:15.5px;color:var(--ink-2)}

/* ---------- Quality & production ---------- */
/* A real six-step sequence, so the step numbers stay. */
.co-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:none}
.co-steps__item{background:var(--surface);border-radius:var(--radius);padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;gap:8px}
.co-steps__n{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--red);color:#fff;font-size:13px;font-weight:800;margin-bottom:8px;font-variant-numeric:tabular-nums}
.co-steps__item .co-steps__h{margin:0;font-size:19px}
.co-steps__item p{color:var(--ink-2);font-size:15.5px;line-height:1.55}

.co-inside__copy{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(20px,4vw,56px);align-items:start;margin-bottom:clamp(24px,3vw,36px)}
.co-inside__copy h2{margin:0}
.co-inside__copy p:not(.label){color:var(--ink-2);font-size:18px;line-height:1.65}
.co-inside__points{margin-top:20px!important}
.co-inside__gallery{display:grid;grid-template-columns:1fr 2fr 1fr;gap:12px}
.co-inside__gallery img{display:block;width:100%;height:clamp(260px,32vw,440px);object-fit:cover;border-radius:var(--radius);background:var(--panel)}

/* ---------- Where to buy ---------- */
.co-partners{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.co-partner{background:var(--surface);border-radius:var(--radius);padding:18px 18px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.co-partner__logo{align-self:stretch;display:grid;grid-template-rows:minmax(0,1fr);place-items:center;height:clamp(130px,14vw,200px);margin-bottom:14px;border-bottom:1px solid var(--line);padding:18px 18px 22px}
.co-partner__logo img{max-height:100%;width:auto;max-width:100%;object-fit:contain}
.co-partner__name{font-weight:700;font-size:17px;color:var(--cocoa)}
.co-partner__city{font-size:14px;color:var(--muted)}
.co-order{position:relative;overflow:hidden;margin-top:clamp(32px,4vw,48px);background:var(--surface);border-radius:var(--radius);padding:calc(clamp(22px,3vw,36px) + 24px) clamp(22px,3vw,36px) clamp(22px,3vw,36px);display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap}
.co-order__band{position:absolute;top:0;left:0;right:0;--tile:24px}
.co-order__copy h2{margin:0 0 6px;font-size:clamp(24px,2.6vw,32px)}
.co-order__copy p{color:var(--ink-2)}
.co-order__btn{min-height:52px;padding:0 28px}

/* ---------- Business ---------- */
.co-biz{padding-bottom:0}
.co-biz__top{padding-bottom:var(--section)}
.co-dir{background:var(--surface);border-radius:var(--radius);padding:clamp(22px,2.4vw,30px);display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.co-dir__tag{background:var(--f-classic-tint);color:var(--red-ink)}
.co-dir__title{margin:6px 0 0;font-size:21px;line-height:1.25;letter-spacing:-.01em}
.co-dir p{color:var(--ink-2);font-size:15.5px;line-height:1.55}
.co-dir__cta{margin-top:auto;padding-top:10px;font-weight:700;font-size:15px;color:var(--red-ink);text-decoration:none}
.co-dir__cta:hover{text-decoration:underline}
.co-export{margin-top:16px;display:grid;gap:14px}
.co-export__row{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;padding:16px 20px;border-radius:var(--radius);background:var(--surface)}
.co-export__row strong{font-weight:700;color:var(--cocoa);margin-right:auto}
.co-export__row .chip{background:var(--bg)}
.co-export__note{color:var(--ink-2);font-size:15.5px;max-width:62em}

/* Request section: the homepage's cocoa B2B band, with the form on white. */
.co-biz__form{padding:var(--section) max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter)));background:var(--cocoa);color:rgba(255,255,255,.82);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4.5vw,64px);align-items:start;scroll-margin-top:var(--header-h)}
.co-biz__intro .label{color:#F2B4B2}
.co-biz__intro h2{color:#fff;margin:0 0 14px}
.co-biz__intro > p:not(.label){font-size:18px;line-height:1.6}
.co-quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.co-quick__btn svg{width:20px;height:20px;fill:currentColor;flex:0 0 auto}
.co-quick__btn--wa{background:var(--wa);color:#fff}
.co-quick__btn--wa:hover{background:#178F49}
.co-quick__btn--tg{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.co-quick__btn--tg:hover{background:#fff;color:var(--cocoa)}
.co-biz__form :focus-visible{outline-color:#fff}
.co-biz__form .co-form :focus-visible{outline-color:var(--red)}
.co-trust{margin-top:clamp(28px,4vw,48px);padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.co-trust__logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:400px}
.co-trust__logos a{background:var(--surface);border-radius:14px;aspect-ratio:1;display:grid;place-items:center;padding:12px;transition:transform .15s}
.co-trust__logos a:hover{transform:translateY(-2px)}
.co-trust__logos img{max-height:60px;width:auto;object-fit:contain}

.co-form{background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:clamp(20px,3vw,36px)}
.co-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.co-form__full{grid-column:1/-1}
.co-form select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%232B1B13' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.co-form ::placeholder{color:#9A8D84;opacity:1}
.co-form__send{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;padding-top:4px}
.co-form__send .field{margin:0}
.co-form__send .btn{min-height:48px;min-width:180px;font-size:16px}
.co-form .form-note{margin-top:16px}
.co-form .form-note a{color:var(--red-ink);font-weight:600}
.co-form .form-message:not(:empty){margin-top:12px}
.co-form .hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ---------- Contact ---------- */
.co-contact__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(16px,2vw,24px);align-items:start}
.co .co-contact__list{background:var(--surface);border-radius:var(--radius);padding:6px clamp(18px,2.4vw,28px)}
.co-contact__list li{border-bottom:1px solid var(--line)}
.co-contact__list li:last-child{border-bottom:0}
.co-contact__list a,.co-contact__list span{display:flex;align-items:center;min-height:60px;padding:12px 0;font-size:18px;overflow-wrap:anywhere}
.co-contact__list a{font-weight:700;color:var(--cocoa);text-decoration:none}
.co-contact__list a:hover{color:var(--red-ink);text-decoration:underline}
.co-contact__list span{color:var(--ink-2)}
.co-contact__faq{margin-top:20px!important}
.co-contact__card{background:var(--cocoa);color:rgba(255,255,255,.82);border-radius:var(--radius);padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.co-contact__brand{font-size:clamp(26px,2.6vw,34px);font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.1}
.co-contact__card .label{color:#F2B4B2;margin:0 0 10px}
.co-contact__card > p:not(.label):not(.co-contact__brand){margin-bottom:20px}
.co-contact__card :focus-visible{outline-color:#fff}

/* ---------- FAQ ---------- */
.co-faq__list{display:grid;gap:10px}
.co-faq__item{background:var(--surface);border-radius:var(--radius)}
.co-faq__item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px clamp(18px,2.4vw,28px);border-radius:var(--radius)}
.co-faq__item summary::-webkit-details-marker{display:none}
.co-faq__item summary::after{content:"";flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%23B11D22' stroke-width='2'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .2s}
.co-faq__item[open] summary::after{transform:rotate(45deg)}
.co-faq__item summary:hover .co-faq__q{color:var(--red-ink)}
.co-faq__q{margin:0;font-size:clamp(18px,1.6vw,20px);line-height:1.35;letter-spacing:-.01em;transition:color .15s}
.co-faq__a{padding:0 clamp(18px,2.4vw,28px) 22px}
.co-faq__a p{color:var(--ink-2);font-size:17px;line-height:1.65;max-width:62ch}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .co-partners{grid-template-columns:repeat(2,minmax(0,1fr))}
  .co-biz__form{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:900px){
  .co-about__grid,.co-inside__copy,.co-contact__grid{grid-template-columns:minmax(0,1fr)}
  .co-about__media{order:-1}
  .co-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .co-stats{grid-template-columns:1fr}
  .co-stats li,.co-stats li + li{padding:18px 0;border-left:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:baseline;gap:16px}
  .co-stats strong{min-width:3.2em}
}
@media(max-width:600px){
  .co-steps{grid-template-columns:minmax(0,1fr)}
  .co-steps__item{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:16px;row-gap:4px}
  .co-steps__n{grid-row:span 2;margin:0}
  .co-inside__gallery{grid-template-columns:1fr 1fr}
  .co-inside__gallery img{height:200px}
  .co-inside__gallery img:nth-child(2){grid-column:1/-1;grid-row:1;height:220px}
  .co-partners{gap:10px}
  .co-partner{padding:12px 12px 14px}
  .co-partner__logo{padding:12px}
  .co-order__btn{width:100%}
  .co-form__grid{grid-template-columns:minmax(0,1fr)}
  .co-form__send{grid-template-columns:minmax(0,1fr)}
  .co-form__send .btn{width:100%}
  .co-quick__btn{flex:1 1 140px}
  .co-contact__list a,.co-contact__list span{font-size:16px}
}
.co-contact__maps{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}

/* Careers (templates/careers.mjs). */
.co-vacancy{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,36px);margin-top:clamp(20px,3vw,32px)}
.co-vacancy__head h2{margin:0 0 8px}
.co-vacancy__meta{color:var(--muted);font-size:14px;margin-bottom:14px!important}
.co-vacancy__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,32px);margin-top:clamp(20px,2.5vw,28px)}
.co-vacancy__grid h3,.co-vacancy__apply h3{font-size:17px;margin:0 0 10px}
.co-vacancy__list li{position:relative;padding-left:18px;margin-bottom:8px;color:var(--ink-2);line-height:1.5}
.co-vacancy__list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--red)}
.co-vacancy__apply{margin-top:clamp(20px,2.5vw,28px);padding-top:clamp(18px,2vw,24px);border-top:1px solid var(--line)}
.co-vacancy__apply>p{color:var(--ink-2);max-width:40em}
.co-vacancy__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:16px!important}
.co-vacancy__email{font-size:14px;color:var(--muted)}
.co-vacancy__email a{font-weight:700;color:var(--cocoa);overflow-wrap:anywhere}
@media(max-width:860px){.co-vacancy__grid{grid-template-columns:minmax(0,1fr)}}

/* v2/18-reviews.css */
/* Invite-only reviews: footer rating, product block, /reviews/ list,
   the one-time form and the owner panel lists (layout: 19-admin.css). */
.site-footer__rating{display:inline-flex;align-items:center;gap:6px;margin:0 0 16px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-weight:600;font-size:14px;text-decoration:none}
.site-footer__rating:hover{background:rgba(255,255,255,.16)}
.site-footer__rating .rv-star{color:#F5B301}

.rv-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 20px}
.rv-avg{font-size:40px;font-weight:800;line-height:1;color:var(--ink)}
.rv-count{color:var(--ink-2);font-weight:600}
.rv-stars-view{display:inline-flex;gap:1px;font-size:20px;line-height:1;color:#D9D4CF;letter-spacing:0}
.rv-stars-view .on{color:#F5B301}
.rv-item .rv-stars-view{font-size:16px}

.rv-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.rv-item{background:var(--surface);border-radius:var(--radius);padding:20px 22px}
.rv-item__head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:0 0 8px}
.rv-item__name{font-weight:700}
.rv-item__date{color:var(--ink-2);font-size:13px;margin-left:auto}
.rv-item__product{display:inline-block;margin:0 0 6px;font-size:13px;font-weight:600;color:var(--f,var(--red));text-decoration:none}
.rv-item__text{margin:0;white-space:pre-line;color:var(--ink)}
.rv-empty{color:var(--ink-2)}

.rv-form{display:block;padding:clamp(20px,3vw,32px)}
.rv-stars-field{border:0;margin:0 0 14px;padding:0}
.rv-stars{display:inline-flex;flex-direction:row-reverse;gap:4px}
.rv-stars input{position:absolute;opacity:0;width:1px;height:1px}
.rv-stars label{font-size:36px;line-height:1;color:#D9D4CF;cursor:pointer;transition:color .1s}
.rv-stars input:checked~label,.rv-stars label:hover,.rv-stars label:hover~label{color:#F5B301}
.rv-stars input:focus-visible+label{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}
.rv-consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 16px;font-size:14px;color:var(--ink-2)}
.rv-consent input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}
.rv-error{margin:0 0 14px;color:#B11D22;font-weight:600}
.rv-status--ok{border-color:#1F9D55}
.rv-status--bad{border-color:#B11D22}
.rv-status__link{font-weight:700}

.rv-admin__link{margin-top:16px;display:grid;gap:10px}
.rv-admin__link input{width:100%;min-height:44px;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;font:400 14px/1.4 var(--font)}
.rv-admin__actions{display:flex;gap:10px;flex-wrap:wrap}
.rv-admin__toggle{margin-top:12px;min-height:36px;padding:0 14px;font-size:13px}
.rv-admin__note{margin:8px 0 0;font-size:13px;color:#B11D22}
.rv-admin__invites{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
.rv-admin__invites li{background:var(--surface);border-radius:12px;padding:10px 14px}
.rv-admin__mini{border:0;background:none;color:var(--red);font:600 13px var(--font);cursor:pointer;text-decoration:underline;padding:0}
.rv-admin__empty{color:var(--ink-2)}
.rv-google{margin:32px 0 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--ink-2)}
.rv-admin__checks{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.rv-admin__checks li{padding:10px 12px;border-radius:10px;background:var(--bg);font-size:14.5px;line-height:1.45;color:var(--ink)}
.rv-admin__checks li.is-bad{background:var(--f-classic-tint)}
.rv-admin__checks small{display:block;margin-top:4px;font-size:13px;color:var(--ink-2)}

/* v2/19-admin.css */
/* Owner panel (/admin/): top bar, login, tabs. Cards and lists reuse the
   review styles from 18-reviews.css. */
.adm{background:var(--bg);min-height:100vh}
.adm-bar{position:sticky;top:0;z-index:5;background:var(--cocoa);color:#fff}
.adm-bar__in{max-width:880px;margin:0 auto;padding:0 var(--gutter);min-height:56px;display:flex;align-items:center;gap:14px}
.adm-bar__brand{font-weight:800;letter-spacing:.08em;color:#fff;text-decoration:none}
.adm-bar__title{font-size:14px;color:rgba(255,255,255,.72)}
.adm-bar__out{margin-left:auto;min-height:36px;padding:0 14px;border:1.5px solid rgba(255,255,255,.4);border-radius:10px;background:none;color:#fff;font:600 14px var(--font);cursor:pointer}
.adm-bar__out:hover{background:rgba(255,255,255,.12)}
.adm-bar a:focus-visible,.adm-bar__out:focus-visible{outline:2px solid #fff;outline-offset:2px}

.adm-main{max-width:880px;margin:0 auto;padding:clamp(20px,4vw,40px) var(--gutter) 64px}
.adm-boot{color:var(--ink-2)}

.adm-login{max-width:420px;margin:clamp(16px,6vh,64px) auto 0}
.adm-login h1{font-size:26px;margin:0 0 18px}
.adm-check{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-size:14px;color:var(--ink-2);cursor:pointer}
.adm-check input{width:18px;height:18px;margin:0;accent-color:var(--cocoa)}
.adm-login__hint{margin:0 0 18px 28px;font-size:13px;color:var(--muted)}
.adm-login__go{width:100%}
.adm-login__sent{margin:0 0 16px;color:var(--ink-2);font-size:15px}
.adm-code{font:700 26px/1 var(--font)!important;letter-spacing:.35em;text-align:center}
.adm-login__back{display:block;margin:14px auto 0;border:0;background:none;color:var(--ink-2);font:600 14px var(--font);text-decoration:underline;cursor:pointer}
.adm-login__error{margin:16px 0 0}

.adm-tabs{display:flex;gap:4px;margin:0 0 24px;border-bottom:1.5px solid var(--line)}
.adm-tab{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px;border:0;background:none;color:var(--ink-2);font:600 16px var(--font);cursor:pointer}
.adm-tab:hover{color:var(--ink)}
.adm-tab[aria-selected="true"]{color:var(--ink)}
.adm-tab[aria-selected="true"]::after{content:"";position:absolute;left:10px;right:10px;bottom:-1.5px;height:3px;border-radius:3px 3px 0 0;background:var(--red)}
.adm-tab:focus-visible{outline:2px solid var(--ink);outline-offset:-4px;border-radius:10px}
.adm-tab__count:empty{display:none}
.adm-tab__count{min-width:22px;padding:2px 7px;border-radius:999px;background:var(--panel);color:var(--ink);font-size:12px;line-height:1.3;text-align:center}
.adm-panel:focus-visible{outline:none}

.adm-card{margin:0 0 20px}
.adm-card h2,.adm-sec h2{font-size:20px;margin:0 0 8px}
.adm-card__lead{margin:0 0 16px;color:var(--ink-2);font-size:15px;line-height:1.5}
.adm-sec{margin:32px 0 0}
.adm-sec h2{margin-bottom:12px}
.adm-sec__count{color:var(--ink-2);font-weight:600}
.adm-past{margin-top:12px}
.adm-past summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ink-2);padding:6px 0}
.adm-past .rv-admin__invites{margin-top:8px;opacity:.75}
.adm .rv-list{grid-template-columns:1fr}
.adm .rv-item.is-hidden{opacity:.6}

.adm-status{margin:12px 0 0;padding:10px 12px;border-radius:10px;background:var(--bg);font-size:14.5px}
.adm-status.is-ok{background:#E6F4EC}
.adm-status.is-bad{background:var(--f-classic-tint)}
@media (max-width:520px){.adm-bar__title{display:none}.adm-tab{padding:0 12px;font-size:15px}}
