/* =========================================================
   LETNICA storefront · the shop's one stylesheet.

   Ported from the single-file shop (deploy/letnica/index.html, the \3c style> block), rule for rule and in the same
   order, with the same class names. Left out: rules that could only ever match in the other two shops (Sij, Tihota),
   on the internal photo-notes page or in the presentation chrome ([data-store="sij|tihota|foto"] and their own
   class families: l-, s-, f-, d-, st-, np-, napis-, ord-, adv-, ch-, lamp, switch, ba-, viz, seg, chrome ...).
   Everything Letnica's pages used is here unchanged; the comments still speak of "stores" because the system
   was shared.

   The design is settled: do not restyle. New rules go to the end, under "STOREFRONT additions".
   The page must keep the old frame for these rules to apply:
     <div id="shop" class="shp" data-store="letnica"> <div id="view"> promo, header, <main id="main" class="v-…">, footer
   ========================================================= */

/* =========================================================
   Tri samostojne trgovine: Sij, Tihota, Letnica. En sistem.
   Tokens per store live on [data-store]. Components read tokens only.
   ========================================================= */

/* ---------- Page ground (painted explicitly, follows the store) ---------- */
body{background:#14100D;margin:0}
.shp [hidden]{display:none!important}
body:has(#shop[data-store="letnica"]){background:#E5E9DF}

.shp{
  /* v4: no Archivo, no IBM Plex Mono (both are the Mizarstvo KAN website's). Each shop sets its own. */
  --font-body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-mono:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mona:"Mona Sans","Helvetica Neue",Arial,sans-serif;
  --f-jost:"Jost","Avenir Next",Avenir,"Helvetica Neue",sans-serif;
  --f-figtree:"Figtree","Helvetica Neue",Arial,sans-serif;
  --f-fraunces:"Fraunces",Georgia,"Times New Roman",serif;
  --f-cormorant:"Crimson Pro",Garamond,"Times New Roman",serif;
  --hdr-h:72px;
  --gut:24px;
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
}
.shp *,.shp *::before,.shp *::after{box-sizing:border-box}
@media (max-width:720px){.shp{--hdr-h:60px;--gut:16px}}

/* ---------- Store tokens ---------- */

[data-store="letnica"]{
  color-scheme:light;
  --ground:#E5E9DF; --surface:#F4F5EF; --ink:#1D2A21; --muted:#56655A;
  --line:rgba(29,42,33,.16); --line-strong:rgba(29,42,33,.34);
  /* persimmon deepened from #C8612B so light text on it reaches 4.8:1 */
  --accent:#B0521F; --accent-ink:#FFF8F0; --accent-text:#9A4418; --accent-hover:#9A4418;
  --honey:#EFC77B;
  /* --tile: light sage behind the transparent cut-outs (never warm or pink) */
  --media-bg:#F4F5EF; --tile:#EEF0E9; --focus:#1D2A21;
  --band-ground:#1D2A21; --band-ink:#EEF1E8; --band-muted:#AEB8AC; --band-line:rgba(238,241,232,.26);
  --display:"Fraunces",Georgia,"Times New Roman",serif; --font-body:var(--f-figtree); --font-mono:var(--f-figtree);
  --display-weight:400; --display-tracking:-.01em; --display-case:none; --display-stretch:100%;
  --display-fvs:"SOFT" 100,"WONK" 0; --display-scale:1; --display-lh:1.04;
  --brand-size:27px; --card-name-size:19px; --card-name-tracking:0;
  --btn-font:500 15px/1 var(--font-body); --btn-case:none; --btn-track:.005em;
  --radius:999px; --motion-scale:1; --lift:1;
  --dur:400ms; --dur-fast:300ms; --dur-drawer:420ms;
  --ease:cubic-bezier(.34,1.36,.64,1); --ease-out:cubic-bezier(.2,.7,.2,1);
  --sec-pad:clamp(64px,7vw,112px);
}

/* ---------- Shop base ---------- */
#shop{background:var(--ground);color:var(--ink);font:400 16px/1.55 var(--font-body);overflow-x:clip;transition:opacity 125ms ease}
#shop.is-fading{opacity:0}
#shop img{max-width:100%}
:where(.shp) :where(h1,h2,h3,h4,p,figure,ul,ol,dl,dd,fieldset){margin:0}
:where(.shp) :where(ul,ol){padding:0;list-style:none}
:where(.shp) :where(a){color:inherit}
:where(.shp) :where(button){font-family:inherit}
.shp :focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.wrap{width:min(1320px,calc(100% - 48px));margin-inline:auto}
@media (max-width:720px){.wrap{width:calc(100% - 32px)}}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.mono{font-family:var(--font-mono)}
.muted{color:var(--muted)}
.small{font-size:14px;line-height:1.5}
.eyebrow{font:500 12px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.display{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);text-transform:var(--display-case);font-stretch:var(--display-stretch);font-variation-settings:var(--display-fvs);line-height:var(--display-lh)}
.h1{font-size:calc(var(--display-scale) * clamp(42px,5.6vw,84px));text-wrap:balance}
.h2{font-size:calc(var(--display-scale) * clamp(28px,3vw,42px));line-height:1.1;text-wrap:balance}
.lead{font-size:clamp(17px,1.35vw,19px);line-height:1.55;max-width:46ch}
.sec{padding-block:var(--sec-pad)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:32px}
.sec-head > div:not(.rail-ctrl){display:flex;flex-direction:column;gap:10px}
.count{font:400 13px/1.3 var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums}
[id]{scroll-margin-top:calc(var(--hdr-h) + 24px)}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* Placeholder slots: intentional "to be filled" */
.ph{display:inline-block;font:500 11px/1.25 var(--font-mono);letter-spacing:.02em;color:var(--ph,var(--muted));border:1px dashed var(--ph,var(--muted));padding:3px 6px 2px;white-space:nowrap;vertical-align:.08em;text-transform:none;font-style:normal;border-radius:0;font-stretch:100%}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;font:var(--btn-font);text-transform:var(--btn-case);letter-spacing:var(--btn-track);border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);text-decoration:none;cursor:pointer;border-radius:var(--radius);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease)}
.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn-line{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.btn-line:hover{background:transparent;border-color:var(--ink)}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.link{display:inline-flex;align-items:center;min-height:44px;padding:0;font:500 15px/1.2 var(--font-body);color:var(--ink);background:none;border:0;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:var(--line-strong);transition:text-decoration-color var(--dur-fast) var(--ease-out)}
.link:hover{text-decoration-color:currentColor}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--ink);cursor:pointer;border-radius:var(--radius)}
.icon-btn svg{width:20px;height:20px}
.icon-btn:hover{color:var(--accent-text)}

/* ---------- Promo strip (Darila only) ---------- */
.promo{background:var(--accent);color:var(--accent-ink);font:500 13px/1.3 var(--font-body);--ph:rgba(255,248,240,.92)}
.promo .wrap{display:flex;justify-content:center;align-items:center;gap:8px;min-height:36px;padding-block:6px;text-align:center;flex-wrap:wrap}

/* ---------- Header ---------- */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--ground);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:32px;height:var(--hdr-h)}
.brand{display:flex;align-items:baseline;gap:14px;text-decoration:none;color:var(--ink);flex:none}
.brand-desc{font:400 11px/1.2 var(--font-mono);letter-spacing:.06em;color:var(--muted);white-space:nowrap;text-transform:none}
.brand-name{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);text-transform:var(--display-case);font-stretch:var(--display-stretch);font-variation-settings:var(--display-fvs);font-size:var(--brand-size);line-height:1;white-space:nowrap}
.nav{display:flex;align-items:center;gap:4px 26px;flex-wrap:wrap}
.nav button{appearance:none;border:0;background:none;color:var(--ink);font:500 15px/1 var(--font-body);min-height:44px;padding:0;cursor:pointer;position:relative}
.nav button::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-fast) var(--ease-out)}
.nav button:hover::after,.nav button[aria-current="true"]::after{transform:scaleX(1)}
.tools{display:flex;align-items:center;gap:4px;margin-left:auto}
.cart-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 8px 0 10px;border:0;background:none;color:var(--ink);font:500 15px/1 var(--font-body);cursor:pointer}
.cart-count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;font:500 12px/1 var(--font-mono);font-variant-numeric:tabular-nums;background:var(--ink);color:var(--ground)}
.burger{display:none}
@media (max-width:1180px){
  .burger{display:inline-grid}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ground);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut) 16px}
  .hdr.nav-open .nav{display:flex}
  .nav button{text-align:left;min-height:52px;border-bottom:1px solid var(--line);font-size:17px}
  .nav button::after{display:none}
}
@media (max-width:720px){
  .hdr-in{gap:12px}
  .brand{flex-direction:column;align-items:flex-start;gap:3px}
  .brand-desc{font-size:10px}
  .brand-name{font-size:calc(var(--brand-size) * .86)}
  .cart-btn{font-size:14px;padding:0 4px 0 6px}
}
/* store-specific header voice */

[data-store="letnica"] .cart-count{background:var(--accent);color:var(--accent-ink)}

/* Search panel */
.search{border-top:1px solid var(--line);background:var(--ground)}
.search-in{display:grid;gap:12px;padding-block:16px 20px}
.search-field{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line-strong)}
.search-field input{flex:1;min-width:0;min-height:52px;border:0;background:transparent;color:var(--ink);font:400 20px/1.2 var(--font-body);padding:0}
.search-field input:focus{outline:none}
.search-field:focus-within{border-bottom-color:var(--ink)}
.search-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 24px;max-height:min(50vh,420px);overflow:auto}
.search-res a{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;text-decoration:none;padding:6px 0}
.search-res img{width:48px;height:60px;object-fit:cover;background:var(--media-bg)}
.search-res img.fit,.line-item img.fit{background:var(--tile)}
.search-res span{display:block;font-size:15px;line-height:1.3}
.search-res small{display:block;font-size:13px;color:var(--muted)}

/* ---------- Filter chips ---------- */
.filters{display:grid;gap:14px;margin-bottom:36px}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip-label{font:500 12px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);min-width:96px}
.chip{display:inline-flex;align-items:center;gap:0;min-height:44px;padding:0 16px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);font:500 14px/1 var(--font-body);cursor:pointer;border-radius:var(--radius);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--ground)}
.chip[aria-pressed="true"] .ph{--ph:currentColor}
.chip .tick{display:none}

[data-store="letnica"] .chip .tick{display:inline-block;width:0;height:12px;overflow:hidden;transition:width var(--dur) var(--ease),margin var(--dur) var(--ease)}
[data-store="letnica"] .chip[aria-pressed="true"] .tick{width:12px;margin-right:8px}
[data-store="letnica"] .chip[aria-pressed="true"]{animation:chip-pop var(--dur) var(--ease)}

@keyframes chip-pop{0%{transform:scale(.96)}60%{transform:scale(1.03)}100%{transform:scale(1)}}
.chip-sep{width:1px;height:24px;background:var(--line-strong);margin-inline:8px}
@media (max-width:720px){.chip-label{min-width:100%}.chip-sep{display:none}}

/* ---------- Product card (identical geometry in every store) ---------- */
.grid{--cols:4;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:44px var(--gut)}

@media (max-width:1024px){.grid{--cols:3}}
@media (max-width:720px){.grid{--cols:2;row-gap:32px}}
.card{position:relative;display:flex;flex-direction:column;min-width:0}
.card-link{display:flex;flex-direction:column;text-decoration:none;color:inherit;flex:1}
.card-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--media-bg);transition:transform var(--dur-fast) var(--ease)}
.card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.card-media .m2{opacity:0;transition:opacity var(--dur) var(--ease-out)}
@media (hover:hover){
  .card-link:hover .m2{opacity:1}
  .card-link:hover .card-media{transform:translateY(calc(-3px * var(--lift) * var(--motion-scale)))}
}
.card-link:focus-visible .m2{opacity:1}
.card-tag{position:absolute;top:12px;left:12px;z-index:2}
/* transparent cut-outs sit on the store's tile colour, centred by the file itself */
.card-media.is-cut,.pd-fig.is-cut,.tile-media.is-cut{background:var(--tile)}
.shp img.fit{object-fit:contain}
.card-media .m2.fit{background:var(--tile)}
/* "Vizualizacija": small mono tag on AI room images, shown only once the image has loaded */
.ai-tag{position:absolute;top:12px;left:12px;z-index:3;font:500 10px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:rgba(14,11,9,.82);color:#F1E7D8;padding:6px 8px 5px;pointer-events:none}
.card-media .ai-tag{opacity:0;transition:opacity var(--dur) var(--ease-out)}
.card-media:not(.room-ok) .ai-tag{display:none}
@media (hover:hover){.card-link:hover .card-media.room-ok .ai-tag{opacity:1}}
.card-link:focus-visible .card-media.room-ok .ai-tag{opacity:1}
.card-body{display:flex;flex-direction:column;gap:4px;padding-top:14px}
.card-name{font-family:var(--display);font-weight:var(--display-weight);font-stretch:var(--display-stretch);font-variation-settings:var(--display-fvs);text-transform:var(--display-case);letter-spacing:var(--card-name-tracking);font-size:var(--card-name-size);line-height:1.22;text-wrap:balance}
.card-type{font:400 13px/1 var(--font-body);letter-spacing:0;text-transform:none;color:var(--muted);font-stretch:100%;margin-left:6px}
.card-meta{font-size:14px;line-height:1.4;color:var(--muted)}
.card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-top:8px}
.card-action{margin-top:6px;align-self:flex-start}
[data-store="letnica"] .card-name{font-weight:400}

@media (max-width:720px){.card-meta{font-size:13px}.card-type{display:block;margin:4px 0 0}}

/* availability */
.avail{display:inline-flex;align-items:center;gap:7px;font:500 11px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.avail::before{content:"";width:7px;height:7px;border:1px solid currentColor;flex:none}
.avail.is-stock::before{background:var(--accent)}

.avail.is-order::before{background:transparent}
.avail.is-unique{background:var(--honey);color:var(--ink);padding:5px 8px 4px}
.avail.is-unique::before{display:none}
.avail.is-quiet{text-transform:none;letter-spacing:.01em;font:400 13px/1.3 var(--font-body);color:var(--muted)}
.avail.is-quiet::before{display:none}
.tag{display:inline-block;font:500 11px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:6px 8px 5px;background:var(--honey);color:var(--ink)}
.price{font:500 15px/1 var(--font-body)}

.grid.is-updating .card,.grid.is-updating .ed-tile,.groups.is-updating .card,.groups.is-updating .grp-head{animation:card-in var(--dur) var(--ease-out) both}
@keyframes card-in{from{opacity:0;transform:translateY(calc(10px * var(--motion-scale)))}to{opacity:1;transform:none}}
.empty{grid-column:1/-1;padding:48px 0;border-top:1px solid var(--line);display:flex;gap:16px;align-items:center;flex-wrap:wrap}

/* ---------- Product detail (shared geometry) ---------- */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font:400 13px/1.3 var(--font-mono);color:var(--muted);padding-block:20px 24px}
.crumbs a,.crumbs button{color:var(--muted);text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer;min-height:32px;display:inline-flex;align-items:center}
.crumbs a:hover,.crumbs button:hover{color:var(--ink)}
.pd{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px clamp(32px,5vw,80px);align-items:start;padding-bottom:var(--sec-pad)}
.pd-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.pd-fig{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:var(--media-bg);container-type:inline-size;isolation:isolate}
.pd-gallery > .pd-fig:first-child,.pd-gallery > .pd-fig:nth-child(2n):last-child{grid-column:1/-1}
.pd-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

.pd-fig figcaption{position:absolute;left:12px;bottom:12px;font:400 11px/1.2 var(--font-mono);letter-spacing:.04em;background:var(--ground);color:var(--muted);padding:5px 7px}
.pd-fig .room-note{left:0;right:0;bottom:0;z-index:3;padding:10px 12px;font:400 12px/1.45 var(--font-mono);letter-spacing:0;background:var(--ground);color:var(--muted)}
.pd-fig.is-room:not(.is-loaded) .room-note,.pd-fig.is-room:not(.is-loaded) .ai-tag{display:none}
.pd-fig.is-cover img{object-fit:cover}
.pd-count{display:none}
.pd-info{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--hdr-h) + 24px);display:flex;flex-direction:column;gap:22px;min-width:0}
.pd-title{font-size:calc(var(--display-scale) * clamp(32px,3.4vw,52px));line-height:1.06;text-wrap:balance}
.pd-head{display:flex;flex-direction:column;gap:12px}
.pd-meta{color:var(--muted)}
.pd-buy{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:18px;border-block:1px solid var(--line)}
.pd-price{font:500 18px/1 var(--font-body)}
.pd-desc{max-width:52ch}
.pd-feature{font-weight:500}
.pd-actions{display:grid;gap:10px}
.specs{display:grid;border-top:1px solid var(--line)}
.specs > div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding-block:11px;border-bottom:1px solid var(--line);font-size:15px}
.specs dt{font:500 12px/1.6 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.related{padding-bottom:var(--sec-pad)}
@media (max-width:900px){
  .pd{grid-template-columns:1fr;gap:28px}
  .pd-info{position:static}
  .pd-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;scrollbar-width:none;overscroll-behavior-x:contain}
  .pd-gallery::-webkit-scrollbar{display:none}
  .pd-gallery > .pd-fig{flex:0 0 100%;scroll-snap-align:start}
  .pd-gallery > .pd-fig.is-dup{display:none}
  .pd-count{display:block;font:400 12px/1 var(--font-mono);color:var(--muted);margin-top:-16px}
}

/* ---------- Forms ---------- */
.form{display:grid;gap:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:560px){.form-row{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field > label,.field-label{font:500 12px/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;font:400 16px/1.4 var(--font-body);color:var(--ink);background:transparent;border:1px solid var(--line-strong);border-radius:0;padding:12px 14px;min-height:48px;transition:border-color var(--dur-fast) var(--ease-out)}
.field textarea{resize:vertical;min-height:96px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink)}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.field select option{background:var(--surface);color:var(--ink)}
.form-note{padding:14px 16px;border:1px solid var(--line-strong);background:var(--surface);font-size:15px}
.form-note[hidden]{display:none}
.check{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-size:15px;flex-wrap:wrap}
.check input{width:20px;height:20px;accent-color:var(--accent);margin:0;flex:none}
.check .ph{margin-left:auto}

/* ---------- Drawer + toast ---------- */
.scrim{position:fixed;inset:0;z-index:90;background:rgba(10,8,6,.46);opacity:0;visibility:hidden;transition:opacity var(--dur-drawer) var(--ease-out),visibility 0s linear var(--dur-drawer)}
.scrim.open{opacity:1;visibility:visible;transition:opacity var(--dur-drawer) var(--ease-out),visibility 0s}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:100;width:min(460px,100%);display:flex;flex-direction:column;background:var(--surface);color:var(--ink);box-shadow:-30px 0 80px rgba(0,0,0,.22);transform:translateX(100%);visibility:hidden;transition:transform var(--dur-drawer) var(--ease-out),visibility 0s linear var(--dur-drawer);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.drawer.open{transform:none;visibility:visible;transition:transform var(--dur-drawer) var(--ease-out),visibility 0s}

.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px 14px 24px;border-bottom:1px solid var(--line)}
.drawer-title{font-family:var(--display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);text-transform:var(--display-case);font-stretch:var(--display-stretch);font-variation-settings:var(--display-fvs);font-size:calc(var(--display-scale) * 26px);line-height:1.1}
.drawer-body{flex:1;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:20px;overscroll-behavior:contain}
.drawer-foot{border-top:1px solid var(--line);padding:18px 24px 22px;display:grid;gap:12px}
.drawer-foot:empty{display:none}
.sum-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:15px}
.line-item{display:grid;grid-template-columns:72px 1fr;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.line-item img{width:72px;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--media-bg);display:block}
.line-item .li-name{font-weight:500;line-height:1.3}
.line-item .li-opts{font-size:13px;color:var(--muted);line-height:1.45;margin-top:3px}
.li-ctrl{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;flex-wrap:wrap}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line-strong)}
.qty button{width:40px;height:40px;border:0;background:none;color:var(--ink);font:400 18px/1 var(--font-body);cursor:pointer}
.qty output{min-width:28px;text-align:center;font:500 14px/1 var(--font-mono);font-variant-numeric:tabular-nums}
.drawer-prose{display:grid;gap:14px;max-width:52ch}
.drawer-prose dl{display:grid;border-top:1px solid var(--line)}
.drawer-prose dl > div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding-block:10px;border-bottom:1px solid var(--line);font-size:15px}
.drawer-prose dt{font:500 12px/1.6 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:120;transform:translate(-50%,16px);opacity:0;pointer-events:none;background:var(--ink);color:var(--ground);font:500 14px/1.2 var(--font-body);padding:14px 20px;max-width:calc(100% - 32px);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.toast.show{opacity:1;transform:translate(-50%,0)}
.toast:empty{display:none}

/* ---------- Footer ---------- */
.ftr{border-top:1px solid var(--line);padding-block:clamp(56px,6vw,88px) 32px;background:var(--ground);color:var(--ink)}
.ftr-lead{font-size:calc(var(--display-scale) * clamp(24px,2.4vw,34px));line-height:1.2;max-width:26ch;margin-bottom:48px;text-wrap:balance}
.ftr-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px var(--gut)}
.ftr-h{font:500 12px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.ftr-cols li{margin:0}
.ftr-cols button,.ftr-cols a{display:inline-flex;align-items:center;min-height:36px;padding:0;background:none;border:0;color:var(--ink);font:400 15px/1.3 var(--font-body);text-decoration:none;cursor:pointer;text-align:left}
.ftr-cols button:hover,.ftr-cols a:hover{text-decoration:underline;text-underline-offset:4px}
.ftr-cols a:has(small){flex-direction:column;align-items:flex-start;gap:2px;padding-block:6px}
.ftr-cols a small{color:var(--muted);font-size:13px}
.ftr-cols address{font-style:normal;font-size:15px;line-height:1.55}
.ftr-contact p{font-size:15px;line-height:1.55;margin-bottom:8px}
.ftr-contact .sel{user-select:all}
.ftr-base{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:20px;border-top:1px solid var(--line);font:400 12px/1.4 var(--font-mono);color:var(--muted)}
.ftr-base .brand-name{font-size:calc(var(--brand-size) * .8)}
.ftr-base .brand{align-items:baseline;flex-direction:row;gap:12px}
.ftr-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:820px){.ftr-cols{grid-template-columns:1fr 1fr}.ftr-contact{grid-column:1/-1}}

/* rail */
.rail-ctrl{display:flex;gap:4px}
.rail-ctrl .icon-btn{border:1px solid var(--line-strong)}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * var(--gut)) / 3.35);gap:var(--gut);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:18px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;cursor:grab}
.rail > .card{scroll-snap-align:start}
.rail.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.rail.is-dragging a{pointer-events:none}
@media (max-width:1024px){.rail{grid-auto-columns:calc((100% - var(--gut)) / 2.3)}}
@media (max-width:720px){.rail{grid-auto-columns:72%}.rail-ctrl{display:none}}
@media (hover:none){.rail-ctrl{display:none}}

/* advice */

.phone-block{display:flex;flex-direction:column;gap:4px;padding-top:18px;border-top:1px solid var(--line)}
.phone-num{font:300 clamp(26px,2.4vw,34px)/1.1 var(--font-body);letter-spacing:.02em;user-select:all;font-variant-numeric:tabular-nums}

/* =========================================================
   DARILA — dan
   ========================================================= */

.tile{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;min-width:0}
.tile-media{position:relative;overflow:hidden;background:var(--tile);flex:1;min-height:0;transition:transform var(--dur-fast) var(--ease)}
.tile-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tile-sm{grid-row:2}
.tile-sm .tile-media{aspect-ratio:4/5;flex:none}
.tile-big{grid-column:1;grid-row:1 / span 2}
.tile-big .tile-media{min-height:420px}
.tile-big .tag{position:absolute;top:18px;left:18px}
.tile-cap{display:flex;justify-content:space-between;align-items:baseline;gap:12px;min-height:24px;font-size:15px;line-height:1.3}
.tile-cap span:first-child{font-family:var(--display);font-variation-settings:var(--display-fvs);font-size:18px}
.tile-sm .tile-cap span:first-child{font-size:16px}
@media (hover:hover){.tile:hover .tile-media{transform:translateY(calc(-3px * var(--lift) * var(--motion-scale)))}}
@media (max-width:1024px){

  .tile-big{grid-column:1/-1;grid-row:2}
  .tile-big .tile-media{aspect-ratio:1/1;min-height:0;flex:none}
  .tile-sm{grid-row:3}
}
@media (max-width:720px){
  
  .tile-cap{flex-direction:column;gap:6px}
  .tile-sm .tile-cap span:first-child{font-size:14px}
  .tile-sm .tile-cap .ph{display:none}
}

.finder{display:grid;gap:14px;margin-bottom:12px}
.finder-note{min-height:24px;font-size:14px;color:var(--muted)}
.grid-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:18px 0 22px}
.grid-head:empty{display:none}
.grid-head .h3{font-family:var(--display);font-variation-settings:var(--display-fvs);font-size:26px;line-height:1.1}

/* Letnica: catalogue as groups. The group head takes the first cell of the same 4-column card grid. */
.groups{display:grid;gap:clamp(56px,6vw,96px)}
.grp-head{display:flex;flex-direction:column;gap:12px;align-self:start;padding-top:18px;border-top:1px solid var(--line-strong);min-width:0}
.grp-head .h2{font-size:clamp(28px,2.6vw,38px)}
.grp-intro{font-size:15px;line-height:1.5;color:var(--muted);max-width:34ch}
.grp-head .count{margin-top:4px}
.grp-head.is-wide{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:8px 28px}
@media (max-width:1024px){.grp-head{grid-column:1/-1}.grp-intro{max-width:60ch}}
.chip-row + .chip-row{margin-top:2px}

.ed-tile .card-body{gap:8px}
.ed-q{font-family:var(--f-fraunces);font-style:italic;font-weight:300;font-variation-settings:"SOFT" 100;font-size:clamp(17px,1.5vw,21px);line-height:1.28;text-wrap:pretty}

.band{background:var(--band-ground);color:var(--band-ink);--ph:var(--band-muted);padding-block:var(--sec-pad)}
.band .eyebrow{color:var(--band-muted)}

.band .btn{background:var(--band-ink);border-color:var(--band-ink);color:var(--band-ground)}
.band .btn:hover{background:transparent;color:var(--band-ink)}
.tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gut)}
.tier{border:1px solid var(--band-line);padding:22px 20px 20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.tier-n{font:500 12px/1.2 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--band-muted)}
.tier-t{font-family:var(--display);font-variation-settings:var(--display-fvs);font-size:24px;line-height:1.15}
.tier-d{font-size:15px;color:var(--band-muted);flex:1}
.tier-p{display:flex;flex-direction:column;gap:6px;padding-top:14px;border-top:1px solid var(--band-line);font-size:14px;color:var(--band-muted)}
.tier-p span{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

@media (max-width:720px){.tiers{grid-template-columns:1fr}}

/* gift options (detail) */
.opts{border:0;padding:0;display:grid;gap:14px}
.opts legend{padding:0;margin-bottom:8px}
.opt-engr{display:grid;gap:10px;padding:16px;border:1px solid var(--line-strong);background:var(--surface)}
.engr-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.engr-count{font:400 12px/1 var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums}

.engr{position:absolute;inset:0;z-index:2;display:grid;pointer-events:none;padding:8%}
.engr span{place-self:var(--engr-place,center);transform:translateY(var(--engr-y,6%));max-width:80%;text-align:center;overflow-wrap:anywhere;color:#3B2112;opacity:.86;mix-blend-mode:multiply;font-family:var(--f-fraunces);font-style:italic;font-weight:500;font-variation-settings:"SOFT" 100;font-size:clamp(14px,7cqi,44px);line-height:1.05;letter-spacing:.005em;text-shadow:0 0 1px rgba(59,33,18,.55),0 0 7px rgba(110,58,22,.28);transition:opacity var(--dur-fast) var(--ease-out)}
.engr.is-mono span{font-family:var(--font-mono);font-style:normal;font-weight:500;font-size:clamp(11px,4.6cqi,30px);letter-spacing:.08em;text-transform:uppercase}
.engr.is-empty span{opacity:0}
/* piece / variant picker (detail) */
.pick{border:0;padding:0;margin:0;display:grid;gap:12px;min-width:0}
.pick legend{padding:0;margin-bottom:12px}
/* Oct 2026 (Rok): the picker is a grid of tiles, left-aligned with even gaps: a large 4:5 photo, the label under it
   in the body face, wrapping inside the tile; the chosen tile has an ink frame and a check. 2 to 8 items, any width.
   Markup: .pick-row > .pick-opt > input[type=radio] + label > .pick-img > img, .pick-lbl */
.pick-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:16px 12px;justify-items:stretch}
.pick-opt{position:relative;min-width:0}
.pick-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.pick-opt label{display:grid;gap:8px;cursor:pointer;font:500 14px/1.3 var(--font-body);color:var(--muted);text-align:left;max-width:none}
.pick-img{position:relative;display:block;width:100%;aspect-ratio:4/5;background:var(--tile);border:1px solid var(--line);overflow:hidden;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.pick-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pick-img::after{content:"";position:absolute;right:8px;top:8px;width:22px;height:22px;border-radius:50%;background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23F6F4EE' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6.5l2.4 2.4L9.5 3.6'/%3E%3C/svg%3E") center/12px 12px no-repeat;opacity:0;transform:scale(.6);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.pick-lbl{display:block;overflow-wrap:anywhere}
.pick-opt label:hover .pick-img{border-color:var(--line-strong)}
.pick-opt input:checked + label{color:var(--ink);font-weight:600}
.pick-opt input:checked + label .pick-img{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink)}
.pick-opt input:checked + label .pick-img::after{opacity:1;transform:none}
.pick-opt input:focus-visible + label .pick-img{outline:2px solid var(--focus);outline-offset:3px}
.pick-note{font-size:14px;color:var(--muted);max-width:46ch}
@media (max-width:440px){.pick-row{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:14px 10px}.pick-opt label{font-size:13px}}

/* =========================================================
   SPOMIN — tišina
   ========================================================= */

.ph-lg{font-size:14px;padding:6px 9px 5px;vertical-align:.3em;margin-left:4px}

.woods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px var(--gut)}
.wood{display:flex;flex-direction:column;gap:12px;padding-top:18px;border-top:1px solid var(--line-strong)}
.wood-sw{aspect-ratio:3/2;background-color:var(--surface);background-repeat:no-repeat}
.wood h3{font-family:var(--display);font-weight:400;font-size:28px;line-height:1.1}
.wood p{font-size:15px;color:var(--muted);max-width:32ch}
@media (max-width:900px){.woods{grid-template-columns:1fr 1fr}}

.reveal{animation:quiet-in var(--dur) var(--ease-out) both}
@keyframes quiet-in{from{opacity:0}to{opacity:1}}

/* ---------- Motion preferences ---------- */
::view-transition-old(root),::view-transition-new(root){animation-duration:380ms;animation-timing-function:ease}
@media (prefers-reduced-motion:reduce){
  .shp *,.shp *::before,.shp *::after{transition-duration:150ms!important;transition-delay:0s!important;animation:none!important;scroll-behavior:auto!important}
  .drawer{transform:none!important}
  .card-media,.tile-media{transform:none!important}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
/* =========================================================
   v3 · Sij: hero switch on the photo, quiet room tiles, families, triptych, guided advice, gallery with thumbnails
   ========================================================= */

.pd-terms{max-width:52ch}
.pd-head{gap:6px}

.actions .link{min-height:48px}

/* story triptych */

.trip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.trip figure{margin:0;display:grid;gap:10px;align-content:start}
.trip .trip-img{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--ground)}
.trip .trip-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.trip figcaption{font:400 13px/1.45 var(--font-body);color:var(--muted)}
.trip figcaption b{color:var(--ink);font-weight:500}
@media (max-width:760px){.trip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.trip figcaption{font-size:12px}}
/* guided advice */

.chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--ground)}
.chip.is-on svg{width:12px;height:12px;margin-right:8px}

/* gallery: main image + thumbnails */
.pd{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
.pd-gal{display:grid;gap:10px;min-width:0}
.pd-main .pd-fig{aspect-ratio:4/5}
.pd-thumbs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.pd-thumbs::-webkit-scrollbar{display:none}
.pd-thumb{flex:0 0 auto;width:72px;aspect-ratio:4/5;padding:0;border:1px solid var(--line);background:var(--media-bg);cursor:pointer;overflow:hidden;opacity:.72;border-radius:0;transition:opacity var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.pd-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pd-thumb img.fit{object-fit:contain;background:var(--tile)}
.pd-thumb:hover,.pd-thumb.is-on{opacity:1;border-color:var(--ink)}
.pd-thumb:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
@media (max-width:900px){.pd{grid-template-columns:1fr}}
/* cart */
.cart-count.pulse{animation:pulse 500ms var(--ease-out)}
@keyframes pulse{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.sum-total{font-weight:500;border-top:1px solid var(--line);padding-top:10px}
/* product page: a large room picture below; similar lamps smaller */

.ftr-note{font-size:15px;color:var(--muted);margin-bottom:8px}

/* ---------- Sij v4.2: shared fixes ---------- */

.v-home .card .ai-tag{display:none!important}

/* reveal: only elements below the fold at load wait for it */
.rv-wait{opacity:0;transform:translateY(18px)}
.rv-wait.rv-in{opacity:1;transform:none;transition:opacity 1000ms var(--ease-out),transform 1000ms var(--ease-out);transition-delay:var(--rv-d,0ms)}

/* hero */

/* product page: details and the order first, the inscription under the photo */

.price{white-space:nowrap}

/* ---------- Tihota v4.3 ---------- */
/* =========================================================
   LETNICA · Fraunces + Figtree. Rounded, warm, a little playful.
   ========================================================= */
[data-store="letnica"] .eyebrow{font:italic 400 19px/1.2 var(--f-fraunces);font-variation-settings:"SOFT" 100;letter-spacing:0;text-transform:none;color:var(--accent-text)}
[data-store="letnica"] .band .eyebrow{color:var(--honey)}
[data-store="letnica"] :is(.chip-label,.ftr-h,.specs dt,.field > label,.drawer-prose dt,.tier-n){font-weight:600;letter-spacing:.06em}
[data-store="letnica"] :is(.card-media,.tile-media,.pd-fig,.pd-thumb,.pick-img,.line-item img,.search-res img,.adv-img,.tier,.opt-engr,.form-note){border-radius:14px}
[data-store="letnica"] .field :is(input,select,textarea){border-radius:12px}
[data-store="letnica"] .price{font-weight:600}
[data-store="letnica"] .qty{border-radius:999px;overflow:hidden}

/* occasions as picture tiles */
.occ{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:clamp(40px,4vw,56px)}
.occ-tile{appearance:none;border:0;background:none;padding:0;cursor:pointer;display:grid;gap:10px;justify-items:center;text-align:center;color:var(--ink);font:inherit;min-width:0}
.occ-img{position:relative;display:block;width:100%;aspect-ratio:1/1;background:var(--tile);border-radius:18px;overflow:hidden;transition:transform var(--dur) var(--ease),box-shadow var(--dur-fast) var(--ease-out)}
.occ-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10%}
.occ-name{font:500 15px/1.2 var(--font-body)}
@media (hover:hover){.occ-tile:hover .occ-img{transform:translateY(calc(-4px * var(--motion-scale))) rotate(-1.5deg)}}
.occ-tile[aria-pressed="true"] .occ-img{box-shadow:0 0 0 2px var(--ink)}
.occ-tile[aria-pressed="true"] .occ-name{color:var(--accent-text);font-weight:600}
.occ-tile:focus-visible{outline:none}
.occ-tile:focus-visible .occ-img{outline:2px solid var(--focus);outline-offset:3px}
.occ-note{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;margin:-16px 0 32px;font-size:15px}
@media (max-width:900px){.occ{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px}}

/* groups: some open with a picture, sides alternate */
.lg{display:grid;gap:26px}
.lg-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 28px;padding-top:18px;border-top:1px solid var(--line-strong)}
.lg-top .h2{font-size:clamp(28px,2.6vw,38px)}
.lg-top .grp-intro{max-width:52ch}
.lg-body{display:grid;gap:var(--gut)}
.lg.has-feat .lg-body{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
.lg.has-feat.feat-right .lg-body{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.lg.has-feat.feat-right .lg-feat{order:2}
.lg.has-feat .grid{--cols:2}
.lg-feat{margin:0;position:relative;display:block;aspect-ratio:4/5;overflow:hidden;border-radius:14px;background:var(--tile);color:inherit;text-decoration:none}
.lg-feat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1200ms var(--ease-out)}
@media (hover:hover){.lg-feat:hover img{transform:scale(1.03)}}
.lg-feat .lg-cap{position:absolute;left:12px;bottom:12px;background:var(--surface);color:var(--ink);font-size:13px;padding:6px 10px;border-radius:999px}
@media (max-width:900px){.lg.has-feat .lg-body,.lg.has-feat.feat-right .lg-body{grid-template-columns:1fr}.lg.has-feat.feat-right .lg-feat{order:0}.lg-feat{aspect-ratio:4/3}}
.opt-price{margin-left:auto}
/* small phones: the header must fit brand, search, cart and menu */
@media (max-width:420px){
  .hdr-in{gap:8px}
  .brand-desc{white-space:normal;max-width:15ch;line-height:1.25}
  
  .tools{gap:0}
  .cart-btn{gap:6px;padding:0 2px 0 4px}
}

/* =========================================================
   SIJ final (Rok, 25 Sep): one Sij from the three predlogi.
   From 3: round corners and the left, right, left storyline, without the dotted path.
   From 2: the "V prostoru" picture at the end of each family.
   The family intro sits right under its title.
   ========================================================= */
/* a bulb catching: two quick flickers, then steady */

/* =========================================================
   LETNICA final (Rok, 25 Sep): daylight, sage and persimmon, Fraunces + Figtree, round shapes.
   Photos on one pale backdrop (the media colour matches it), in-use pictures with a soft gradient label,
   a clear type scale: section title >> group title >> gift name.
   ========================================================= */
[data-store="letnica"]{--lr:20px;--lr-panel:28px;--media-bg:#E9E7E1;--tile:#E9E7E1;--pine:#1B251F}
[data-store="letnica"] .card-media,[data-store="letnica"] .pd-fig,[data-store="letnica"] .pd-thumb,[data-store="letnica"] .pick-img{border-radius:var(--lr)}
[data-store="letnica"] .pd-thumb img,[data-store="letnica"] .pick-img img{object-fit:cover}
[data-store="letnica"] .field :is(input,select,textarea){border-radius:14px}
[data-store="letnica"] .promo{font-weight:500}

/* hero: one rounded picture, the words on the plain wall at the left */
.lt-hero{padding-top:clamp(12px,1.6vw,24px)}
.lt-hero-in{position:relative;width:min(1320px,calc(100% - 48px));margin-inline:auto;border-radius:var(--lr-panel);overflow:hidden;min-height:clamp(520px,72vh,760px);display:grid;align-items:center;background:#B9C3AF}
.lt-hero-img{position:absolute;inset:0;margin:0}
.lt-hero-img img{width:100%;height:100%;object-fit:cover;object-position:70% 50%}
.lt-hero-in::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(214,221,205,.55),rgba(214,221,205,0) 55%)}
.lt-hero-text{position:relative;z-index:2;display:grid;gap:22px;max-width:46rem;padding:clamp(28px,5.5vw,88px)}
.lt-h1{font-size:clamp(52px,7vw,104px);line-height:.96;letter-spacing:-.025em;margin:0}
.lt-lead{font-size:clamp(18px,1.45vw,21px);line-height:1.5;max-width:30ch;margin:0}
@media (max-width:760px){
  .lt-hero-in{width:calc(100% - 32px);min-height:0;display:block;background:var(--surface)}
  .lt-hero-in::before{display:none}
  .lt-hero-img{position:relative;aspect-ratio:4/3}
  .lt-hero-img img{object-position:78% 50%}
  .lt-hero-text{padding:24px 20px 28px;gap:16px}
}

/* sections, titles */
.lt-sec{padding-top:clamp(72px,8vw,128px)}
.lt-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:clamp(20px,2.4vw,32px)}
.lt-h2{font-size:clamp(40px,4.4vw,64px);line-height:1.02;letter-spacing:-.02em;margin:0;text-wrap:balance}
/* Oct 2026, round 2: every row is the same 4-column grid (the in-use tile that used to fill a row is gone), so a
   card is the same size in every row and in the occasion picks; a row with 2 or 3 cards leaves the rest empty. */
.lt-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px var(--gut);align-items:start}
@media (max-width:1024px){.lt-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.lt-row{row-gap:32px}}

/* cards: the photo on its backdrop, name and size, price at the right */
[data-store="letnica"] .card-body{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:3px;align-items:baseline;padding-top:14px}
[data-store="letnica"] .card-name{grid-column:1;font-size:20px;line-height:1.2}
[data-store="letnica"] .card-meta{grid-column:1;grid-row:2;font-size:14px}
[data-store="letnica"] .card-foot{grid-column:2;grid-row:1;margin:0}
[data-store="letnica"] .card-foot .price{font:600 16px/1.2 var(--font-body)}
@media (max-width:720px){
  [data-store="letnica"] .card-body{grid-template-columns:1fr}
  [data-store="letnica"] .card-name{font-size:17px}
  [data-store="letnica"] .card-foot{grid-column:1;grid-row:3;justify-content:flex-start;margin-top:4px}
}
.lt-tag{position:absolute;left:12px;top:12px;z-index:2;background:rgba(244,245,239,.92);color:var(--ink);font:500 12px/1 var(--font-body);letter-spacing:.04em;padding:7px 11px 6px;border-radius:999px}

/* by occasion: pills, then four gifts */
.lt-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,3vw,36px)}
.lt-pill{appearance:none;border:1px solid var(--line-strong);background:transparent;color:var(--ink);font:500 15px/1 var(--font-body);padding:0 18px;min-height:44px;border-radius:999px;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.lt-pill:hover{border-color:var(--ink)}
.lt-pill[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.lt-pill:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.lt-picks.is-swap > *{animation:lt-in 420ms var(--ease-out) both}
.lt-picks.is-swap > *:nth-child(2){animation-delay:40ms}
.lt-picks.is-swap > *:nth-child(3){animation-delay:80ms}
.lt-picks.is-swap > *:nth-child(4){animation-delay:120ms}
@keyframes lt-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.lt-more{margin-top:clamp(28px,3vw,40px)}

/* the story: a round picture (like a growth ring) and rings drawn in behind the words */
.lt-story{padding-top:clamp(88px,9vw,144px)}
.lt-story-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px clamp(40px,7vw,128px);align-items:center}
.lt-story-img{margin:0;position:relative;aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:var(--tile);max-width:520px;width:100%;justify-self:end}
.lt-story-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lt-story-text{position:relative;isolation:isolate;display:grid;gap:18px;max-width:32rem}
.lt-story-p{font-size:clamp(17px,1.35vw,19px);line-height:1.6;margin:0;max-width:40ch}
.lt-rings{position:absolute;z-index:-1;left:-12%;top:50%;width:min(460px,110%);transform:translateY(-50%);fill:none;stroke:var(--accent);stroke-width:.7;overflow:visible;pointer-events:none}
.lt-rings path{opacity:calc(.05 + var(--k) * .012)}
.lt-story-in.rv-wait .lt-rings path{opacity:0;transform:scale(.9);transform-origin:130px 130px}
.lt-story-in.rv-in .lt-rings path{opacity:calc(.05 + var(--k) * .012);transform:none;transition:opacity 700ms var(--ease-out),transform 900ms var(--ease-out);transition-delay:calc(var(--k) * 70ms)}
@media (max-width:820px){.lt-story-in{grid-template-columns:1fr}.lt-story-img{justify-self:start;max-width:320px}}

/* the catalogue: group title with its line right under it, the gifts, one in-use picture at the end */
.lt-groups{display:grid;gap:clamp(64px,7vw,104px)}
.lt-grp-head{display:grid;gap:6px;margin-bottom:22px}
.lt-grp-h{font-size:clamp(26px,2.3vw,32px);line-height:1.1;margin:0}
.lt-grp-intro{font-size:16px;line-height:1.5;color:var(--muted);margin:0;max-width:56ch;text-wrap:balance}
.lt-cat-2{padding-top:clamp(72px,8vw,128px)}
.lt-note{margin:clamp(40px,4vw,56px) 0 0;font-size:13px;line-height:1.5;color:var(--muted);max-width:70ch}

/* Christmas: an evening panel */
.lt-xmas{padding-top:clamp(72px,8vw,128px)}
.lt-xmas-in{width:min(1320px,calc(100% - 48px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);border-radius:var(--lr-panel);overflow:hidden;background:radial-gradient(60% 70% at 0% 50%,rgba(239,199,123,.14),rgba(239,199,123,0) 70%),var(--pine);color:#EEF1E8;min-height:clamp(440px,48vw,600px)}
.lt-xmas-img{position:relative;display:block;min-height:320px}
.lt-xmas-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lt-xmas-text{display:grid;gap:18px;align-content:center;padding:clamp(28px,5vw,80px)}
.lt-xmas .eyebrow{color:var(--honey)}
.lt-xmas .lt-story-p{color:#C9D1C5}
.lt-xmas-price{margin:0}
.lt-xmas-price .price{font:500 22px/1 var(--font-body);color:#F6F4EE}
@media (max-width:820px){.lt-xmas-in{grid-template-columns:1fr;width:calc(100% - 32px)}.lt-xmas-img{aspect-ratio:4/5}}

/* businesses: a light panel with a picture, three lines instead of boxes */
.lt-biz{padding-top:clamp(72px,8vw,128px)}
.lt-biz-in{width:min(1320px,calc(100% - 48px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:32px clamp(32px,5vw,80px);align-items:center;background:var(--surface);border-radius:var(--lr-panel);padding:clamp(16px,2.4vw,32px)}
.lt-biz-text{display:grid;gap:18px;padding:clamp(12px,3vw,48px)}
.lt-biz-list{list-style:none;margin:6px 0 8px;padding:0;border-top:1px solid var(--line)}
.lt-biz-list li{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.35}
.lt-biz-list li span:last-child{color:var(--muted)}
.lt-biz-trio{display:grid;grid-template-columns:3fr 2fr;grid-template-rows:1fr 1fr;gap:12px;aspect-ratio:5/4}
.lt-biz-img{position:relative;display:block;border-radius:var(--lr);overflow:hidden;background:var(--tile)}
.lt-biz-img:first-child{grid-row:span 2}
.lt-biz-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1200ms var(--ease-out)}
@media (hover:hover){.lt-biz-img:hover img{transform:scale(1.03)}}
.lt-biz-one{margin:0;aspect-ratio:4/5}
@media (max-width:820px){.lt-biz-in{grid-template-columns:1fr;width:calc(100% - 32px)}.lt-biz-one{aspect-ratio:4/3}}

/* footer: a small wordmark with its line under it; headings read differently from the links */
.lt-ftr{margin-top:clamp(72px,8vw,128px);background:var(--pine);color:#EEF1E8;border-top:0;border-radius:var(--lr-panel) var(--lr-panel) 0 0;padding-top:clamp(56px,6vw,88px)}
.lt-ftr-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:40px clamp(32px,5vw,96px);align-items:start}
.lt-ftr-mark{font:400 clamp(40px,3.6vw,52px)/1 var(--f-fraunces);font-variation-settings:"SOFT" 100;margin:0;color:#EEF1E8}
.lt-ftr-lead{font-size:16px;line-height:1.55;color:#AEB8AC;max-width:30ch;margin:10px 0 0}
[data-store="letnica"] .lt-ftr .ftr-h{font:italic 400 18px/1.2 var(--f-fraunces);letter-spacing:0;text-transform:none;color:var(--honey);margin-bottom:12px}
.lt-ftr .ftr-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px var(--gut)}
.lt-ftr .ftr-cols button{font-size:16px;color:#E4E8DF;min-height:38px}
.lt-ftr .ftr-cols button:hover{color:#fff}
.lt-ftr .ftr-base{margin-top:clamp(48px,5vw,72px);border-top-color:rgba(238,241,232,.18);color:#9FAA9E;justify-content:space-between;font:400 13px/1.4 var(--font-body)}
@media (max-width:860px){.lt-ftr-grid{grid-template-columns:1fr}}
@media (max-width:560px){.lt-ftr .ftr-cols{grid-template-columns:1fr 1fr}}

/* product page */
[data-store="letnica"] .pd{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
[data-store="letnica"] .pd-info{display:grid;gap:22px;align-content:start}
[data-store="letnica"] .pd-info .form{gap:22px}
.lt-buy{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 18px;padding-block:16px;border-block:1px solid var(--line)}
[data-store="letnica"] .lt-buy .pd-price{font:600 26px/1 var(--font-body)}
.lt-facts{font-size:15px;color:var(--muted)}
.lt-desc{font-size:clamp(18px,1.4vw,20px);line-height:1.55;margin:0;max-width:44ch}
.lt-opt{border:0;padding:0;margin:0;display:grid;gap:10px;min-width:0}
.lt-opt-h{padding:0;margin-bottom:4px;font:italic 400 19px/1.2 var(--f-fraunces);font-variation-settings:"SOFT" 100;color:var(--accent-text)}
.lt-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lt-ch,.lt-st{position:relative;min-width:0}
.lt-ch input,.lt-st input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.lt-ch span{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:0 14px;border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;font-size:15px;text-align:center;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}
.lt-ch em{font-style:normal;opacity:.75}
.lt-ch input:checked + span{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.lt-ch input:focus-visible + span,.lt-st input:focus-visible ~ .lt-st-s{outline:2px solid var(--focus);outline-offset:2px}
.lt-engr{display:grid;gap:14px;padding-top:4px}
.lt-lbl{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--muted);margin:0}
.lt-styles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lt-st-s{display:grid;place-content:center;min-height:76px;padding:10px 8px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface);color:#5A3A22;text-align:center;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.lt-st-s small{display:block;margin-top:4px;font:500 10px/1 var(--font-body);font-style:normal;letter-spacing:.12em;color:#7A5A40}
.lt-st input:checked ~ .lt-st-s{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.lt-st-t{display:block;margin-top:6px;text-align:center;font-size:13px;color:var(--muted)}
.lt-st-s.is-serif{font:italic 500 18px/1.1 var(--f-fraunces);font-variation-settings:"SOFT" 100}
.lt-st-s.is-caps{font:600 11px/1.2 var(--font-body);letter-spacing:.14em}
.lt-add{min-height:58px;font-size:16px;justify-content:space-between;padding:0 26px}
.lt-add-sum{font-weight:600}
/* the engraving on the photo */
@media (max-width:420px){.lt-styles{grid-template-columns:1fr 1fr 1fr}.lt-st-s{min-height:64px}.lt-st-s.is-serif{font-size:15px}}
@media (prefers-reduced-motion:reduce){.lt-picks.is-swap > *{animation:none}}
/* ===== LETNICA Oct 2026: VAT switch, board sizes, notify-me, business page ===== */
/* the switch sits in the persimmon top strip, so it uses the strip's own ink */
.lt-vat-sw{display:inline-flex;gap:2px;padding:2px;border:1px solid rgba(255,248,240,.42);border-radius:999px;margin-left:14px}
.lt-vat-sw button{font:500 12.5px/1 var(--font-body);color:var(--accent-ink);background:transparent;border:0;border-radius:999px;padding:6px 11px;min-height:28px;cursor:pointer}
.lt-vat-sw button[aria-pressed="true"]{background:var(--accent-ink);color:var(--accent-text)}
.lt-vat-sw button:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px}
@media (max-width:560px){.lt-vat-sw{margin-left:0}}
.lt-vat{font-size:.72em;font-weight:500;color:var(--muted);letter-spacing:.01em}
.price.lt-out,.pd-price.lt-out{color:var(--muted);font-weight:500}
[data-store="letnica"] .lt-buy .pd-price.lt-out{font:500 20px/1.2 var(--font-body)}
.lt-net-row{font-size:14px;color:var(--muted)}

/* board sizes: four cards, name, size range and price on each */
.lt-sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lt-sz{position:relative;min-width:0}
.lt-sz input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.lt-sz-n,.lt-sz-d,.lt-sz-p{display:block;pointer-events:none}
.lt-sz{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:16px;background:var(--surface);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.lt-sz-n{font-weight:600;font-size:15px}
.lt-sz-p{font-size:15px;font-variant-numeric:tabular-nums;text-align:right}
.lt-sz-d{grid-column:1 / -1;font-size:13px;line-height:1.35;color:var(--muted)}
.lt-sz:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.lt-sz:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}

/* not available: a quiet box with one field */
.lt-notify{display:grid;gap:10px;padding:18px;border-radius:var(--lr);background:var(--surface)}
.lt-notify p{margin:0;line-height:1.5}
.lt-notify-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
@media (max-width:480px){.lt-notify-row{grid-template-columns:1fr}}

/* home panel: two ways on */
.lt-biz-btns{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}

/* ---- the business page ---- */
.lt-bz-hero-in{width:min(1320px,calc(100% - 48px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:center;background:var(--surface);border-radius:var(--lr-panel);padding:clamp(16px,2.4vw,32px);margin-top:clamp(16px,2vw,28px)}
.lt-bz-hero-text{display:grid;gap:20px;padding:clamp(12px,3vw,48px)}
.lt-bz-hero-text .lt-h1{font-size:clamp(44px,5.6vw,84px)}
.lt-bz-hero-text .lt-lead{max-width:38ch}
.lt-bz-hero-img{margin:0;position:relative;aspect-ratio:4/5;border-radius:var(--lr);overflow:hidden;background:var(--tile)}
.lt-bz-hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:820px){.lt-bz-hero-in{grid-template-columns:1fr;width:calc(100% - 32px)}.lt-bz-hero-img{aspect-ratio:4/3}}

.lt-bz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
@media (max-width:900px){.lt-bz-grid{grid-template-columns:1fr}}
.lt-bz-card{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(14px,2vw,24px);background:var(--surface);border-radius:var(--lr-panel);padding:clamp(12px,1.6vw,18px);align-items:start}
@media (max-width:520px){.lt-bz-card{grid-template-columns:1fr}}
.lt-bz-img{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--lr);overflow:hidden;background:var(--tile)}
.lt-bz-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:520px){.lt-bz-img{aspect-ratio:4/3}}
.lt-bz-body{display:grid;gap:10px;min-width:0;padding-top:4px}
.lt-bz-name{font:400 clamp(22px,2vw,26px)/1.15 var(--display);font-variation-settings:var(--display-fvs);margin:0;text-wrap:balance}
.lt-bz-meta{margin:0;font-size:14px;line-height:1.45;color:var(--muted)}
.lt-tiers{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}
.lt-tiers th,.lt-tiers td{padding:9px 0;border-bottom:1px solid var(--line);text-align:right;font-weight:400}
.lt-tiers thead th{font-size:12px;letter-spacing:.04em;color:var(--muted);padding-top:0}
.lt-tiers th:first-child{text-align:left}
.lt-tiers tbody th{font-weight:500}
.lt-tiers td:nth-child(2){font-weight:600}
.lt-tiers td:last-child{color:var(--muted)}
.lt-bz-body .link{justify-self:start;font-size:14px}

@media (max-width:820px){.lt-bz-calc-in{grid-template-columns:1fr}}

.lt-bz-how{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:center}
@media (max-width:820px){.lt-bz-how{grid-template-columns:1fr}}
.lt-bz-steps{list-style:none;margin:clamp(20px,2.4vw,32px) 0 0;padding:0;display:grid;gap:22px;counter-reset:st}
.lt-bz-steps li{display:grid;grid-template-columns:52px 1fr;gap:4px 14px;counter-increment:st}
.lt-bz-steps li::before{content:counter(st);grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface);font:400 22px/1 var(--display)}
.lt-bz-steps h3{margin:0;font:600 17px/1.3 var(--font-body)}
.lt-bz-steps p{margin:0;color:var(--muted);line-height:1.5;max-width:46ch}
.lt-bz-ex{margin:0;display:grid;gap:10px}
.lt-bz-ex img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--lr);background:var(--tile)}
.lt-bz-ex figcaption{font-size:14px;color:var(--muted)}

.lt-bz-form{padding-bottom:clamp(24px,4vw,64px)}
.lt-bz-form-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,4vw,64px);align-items:start}
.lt-bz-form-in > div{display:grid;gap:12px}
.lt-bz-form-in .form{background:var(--surface);border-radius:var(--lr-panel);padding:clamp(18px,2.4vw,32px)}
@media (max-width:820px){.lt-bz-form-in{grid-template-columns:1fr}}

/* phones (Domen, 5 Oct: "prilagodi stran na pregledovanje z mobitelom"): the Letnica product page kept its two
   columns at every width, so on a phone the text column was ~140 px wide and cut off. One column below 900 px. */
@media (max-width:900px){[data-store="letnica"] .pd{grid-template-columns:1fr;gap:24px}}
/* the checkbox stays beside its text when a long label wraps on a phone */
[data-store="letnica"] .lt-opt .check{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;column-gap:12px}
[data-store="letnica"] .lt-opt .check > span:nth-of-type(1){line-height:1.35}

/* product page, for companies: one quiet line under the price that opens into the quantity offer */

/* =========================================================
   STOREFRONT additions (Astro rewrite)
   The old shop was one page and used <button> for navigation. Here the same things are real links, so they
   work without script and search engines can follow them. These rules give a link the exact look of the button
   it replaces. Nothing here changes the design.
   ========================================================= */
.nav a{display:inline-flex;align-items:center;border:0;background:none;color:var(--ink);font:500 15px/1 var(--font-body);min-height:44px;padding:0;cursor:pointer;position:relative;text-decoration:none}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur-fast) var(--ease-out)}
.nav a:hover::after,.nav a[aria-current="true"]::after{transform:scaleX(1)}
@media (max-width:1180px){
  .nav a{display:flex;min-height:52px;border-bottom:1px solid var(--line);font-size:17px}
  .nav a::after{display:none}
}
.lt-ftr .ftr-cols a{font-size:16px;color:#E4E8DF;min-height:38px}
.lt-ftr .ftr-cols a:hover{color:#fff}

/* ---- Oct 2026, round 2 (Rok's notes) ---- */
/* 6. Home on phones: the occasion pills are one row that scrolls off the right edge (no wrapping); keyboard focus
   scrolls a pill into view by itself. */
@media (max-width:720px){
  .lt-pills{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-inline:-16px;padding:2px 16px 6px;scroll-padding-inline:16px}
  .lt-pills::-webkit-scrollbar{display:none}
  .lt-pill{flex:0 0 auto;white-space:nowrap}
}
/* 2. The product page's business line: one quiet link, not a block */
.lt-b2b-link{margin:0;font-size:14px;line-height:1.5}
.lt-b2b-link a{color:var(--accent-text);text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(0,0,0,.25)}
.lt-b2b-link a:hover{text-decoration-color:currentColor}
/* 9. The business page: every offer carries its one action and a small secondary link */
.lt-bz-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:4px}
.lt-bz-actions .btn{min-height:44px;font-size:15px;padding:0 18px}
.lt-bz-actions .link{font-size:14px}

/* ---- Oct 2026, round 3: the business page is one page with one goal ---- */
/* the hero's one button */
.lt-bz-cta{display:flex;flex-wrap:wrap;gap:10px}
/* an offer card's compact price list: one row per tier, "20–29  26 € na kos" (net), the VAT price muted */
.lt-bz-price{list-style:none;margin:0;padding:0;display:grid;font-size:15px;font-variant-numeric:tabular-nums}
.lt-bz-price li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.lt-bz-price li:last-child{border-bottom:0}
.lt-bz-price .q{color:var(--muted)}
.lt-bz-price .n{font-weight:600}
.lt-bz-price .n small{font-weight:400;color:var(--muted);margin-left:4px}
.lt-bz-price .g{color:var(--muted);font-size:13px}
/* the live estimate under the quantity in the form, and the lead-time line beside the form */
.lt-bz-est{margin:0;padding:12px 14px;border-radius:12px;background:var(--tile);font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.lt-bz-est strong{font-weight:600}
.lt-bz-lead{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
.field-hint{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}
/* the shared confirmation after a form was sent: clearly not a field (tinted, no border, a check), used by every
   form in the shop (inquiry, question, notify-me). Markup: .form-ok[role=status] > .form-ok-ic + div > h3 + p */
.form-ok{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 14px;align-items:start;padding:20px 22px;border-radius:16px;background:#E6EEE3;color:#1E3A2A}
.form-ok-ic{grid-row:span 2;width:40px;height:40px;border-radius:50%;background:#2F6B45;display:grid;place-items:center}
.form-ok-ic svg{width:20px;height:20px;stroke:#F6F4EE;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.form-ok h3{margin:0;font:600 17px/1.3 var(--font-body)}
.form-ok p{margin:0;font-size:15px;line-height:1.5}
@media (prefers-reduced-motion:no-preference){.form-ok{animation:form-ok-in 320ms var(--ease-out)}}
@keyframes form-ok-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---- Oct 2026, round 4 ---- */
/* 1. The engraving preview on the photo: an SVG over the main photo with viewBox = the photo's pixels and
   preserveAspectRatio matching the photo's object-fit: cover (xMidYMid slice), so image coordinates stay true at
   every size. The script sets the font size inline (it measures the text) and the transform; here only the look.
   Markup: svg.lt-gr[.is-caps][.is-light][hidden] > text.l1 + text.l2 */
.lt-gr{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:hidden}
.lt-gr[hidden]{display:none}
.lt-gr text{fill:#3A2213;fill-opacity:.88;mix-blend-mode:multiply;filter:blur(.3px);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:rgba(58,34,19,.35);stroke-width:.6px}
.lt-gr .l1{font-family:var(--f-fraunces);font-style:italic;font-weight:500;font-variation-settings:"SOFT" 100}
.lt-gr.is-caps .l1{font-family:var(--font-body);font-style:normal;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.lt-gr .l2{font-family:var(--font-body);font-weight:500;letter-spacing:.12em}
.lt-gr.is-light text{fill:#EAD8BF;fill-opacity:.82;mix-blend-mode:screen;stroke:rgba(234,216,191,.3)}
/* 5. The AI disclosure in a corner of a photo (never over the product: bottom right, where the backdrop is) */
.ai-note{position:absolute;right:8px;bottom:8px;z-index:3;margin:0;padding:3px 7px;border-radius:6px;background:rgba(20,28,22,.5);color:#F6F4EE;font:500 10px/1.2 var(--font-body);letter-spacing:.02em;pointer-events:none;white-space:nowrap;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis}
@media (max-width:720px){.card-media .ai-note{font-size:9px;padding:2px 6px}}
/* 3. The checkout: the address in parts, and the totals as their own block above the pay button */
.co-addr{display:grid;gap:14px}
.co-addr-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:14px;align-items:end}
.co-country{font-size:15px;color:var(--muted)}
.co-sum{display:grid;margin-top:4px;padding:14px 16px;border-radius:14px;background:var(--tile)}
.co-sum-h{margin:0 0 4px;font:600 12px/1.6 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.co-sum .sum-row{padding:7px 0;border:0}
.co-sum .sum-total{margin-top:4px;padding-top:12px;border-top:1px solid var(--line)}
/* 4. The thank-you: a success mark, a warm title, the number, what follows, one warm line, the small test note */
.thanks{display:grid;gap:18px}
.thanks-mark{width:60px;height:60px;border-radius:50%;background:#2F6B45;display:grid;place-items:center}
.thanks-mark svg{width:30px;height:30px;stroke:#F6F4EE;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.thanks h3{margin:0;font:400 clamp(28px,3vw,34px)/1.1 var(--display);font-variation-settings:var(--display-fvs)}
.thanks-num{margin:0;font-size:15px;color:var(--muted)}
.thanks-num strong{color:var(--ink);font-weight:600}
.thanks-next{display:grid;gap:8px;padding:16px 18px;border-radius:14px;background:var(--tile)}
.thanks-next h4{margin:0;font:600 12px/1.6 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.thanks-next ol{list-style:decimal;margin:0;padding-left:20px;display:grid;gap:6px;font-size:15px;line-height:1.5}
.thanks-warm{margin:0;font:italic 400 18px/1.5 var(--f-fraunces);font-variation-settings:"SOFT" 100;color:var(--accent-text)}
.thanks-note{margin:0;padding:10px 12px;border-radius:10px;background:var(--tile);font-size:13px;line-height:1.45;color:var(--muted)}
/* where the caption's default corner does not fit: the example photo (a grid figure with a caption) and the round
   story photo (bottom-centre, inside the circle) */
.lt-bz-ex{position:relative}
.lt-bz-ex .ai-note{bottom:auto;top:8px}
.lt-story-img .ai-note{right:50%;bottom:14px;transform:translateX(50%)}
/* OWNER: agent PRODUCT. Rules that only the product page needs. shop.css (the lead's) already styles the tiles (.pick-*),
   sizes, the engraving controls (.lt-opt, .lt-choice, .lt-styles), the preview SVG's colours and fonts (.lt-gr), specs and
   the add button: reuse those classes; add here only what is missing. Loaded after shop.css. */

/* "Po želji": one fieldset holding the engraving block and the send-to-recipient checkbox. Each block is a small grid
   of its own (the fieldset is a grid too, with the legend as its heading). */
.lt-options{gap:0}
.lt-options > .lt-opt-h{margin-bottom:12px}
.lt-engr-box,.lt-send{display:grid;gap:10px;min-width:0}
.lt-engr-box + .lt-send{margin-top:18px;padding-top:6px}
.lt-engr-note{margin:0}

/* The engraving preview must blend with the photo (multiply: the wood's grain shows through the dark text, like a real
   burn; screen for light engraving on dark wood). The SVG is its own stacking context, so the blend has to sit on the
   SVG itself: the same property on its <text> children has nothing underneath to blend with. */
.lt-gr{mix-blend-mode:multiply}
.lt-gr.is-light{mix-blend-mode:screen}

/* The preview is drawn on the photo, so the photo has to stay in view while the visitor types in the fields below
   (the form is longer than the screen): on two columns the gallery sticks like the info column does, and goes when the
   form ends. A photo taller than the window is cut at the bottom, the engraving spots are in its upper two thirds. */
@media (min-width:901px){
  .pd-left{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--hdr-h) + 24px);align-self:start}
}

/* Phones: the facts list under the description stacks (label above the value). With the 140 px label column the four
   board measures ("Mala: 20–25 × 12–16 cm, debelina 1,5–2 cm" ...) wrapped to eight lines before the picker. */
@media (max-width:520px){
  .pd-info .specs > div{grid-template-columns:1fr;gap:2px;padding-block:10px}
}
/* OWNER: agent HOME+BIZ. Rules that only the home page and /za-podjetja/ need (the offer card's action row,
   anything new there). shop.css (the lead's) already styles the pills (incl. the one-row scroll on phones), the
   groups, the business panel and the business page: reuse those classes; add here only what is missing.
   Loaded after shop.css. */

/* Round 3: an offer's price list lines up from row to row (tier · price per piece · price with VAT), where the
   lead's flex rows let the middle column float with the width of each price. Browsers without subgrid keep the
   flex rows from shop.css. */
@supports (grid-template-columns: subgrid) {
  .lt-bz-price{grid-template-columns:minmax(0,1fr) auto auto;column-gap:12px}
  .lt-bz-price li{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:baseline}
  .lt-bz-price .n,.lt-bz-price .g{text-align:right}
}

/* The price list needs about 320 px of room. The card's body (3/5 of the card) only has that at the widest
   desktop, and on the single-column cards of a wide tablet: in between, the card stacks (photo above, 4:3) so
   the list gets the whole card. (shop.css stacks it only below 520 px.) */
@media (min-width:901px) and (max-width:1260px){.lt-bz-card{grid-template-columns:1fr}.lt-bz-img{aspect-ratio:4/3}}
@media (max-width:700px){.lt-bz-card{grid-template-columns:1fr}.lt-bz-img{aspect-ratio:4/3}}
@media (max-width:400px){.lt-bz-price{font-size:14px;column-gap:8px}.lt-bz-price .n small{margin-left:2px}}
