/* ==========================================================================
   flens.ee — disainisüsteem
   Commerce Link OÜ · Flensburger Brauerei maaletooja Eestis
   CI: Grünblau #001E2D · Gold #C8BC62 · Sand #EBE8D8 · Red #BD332C
   ========================================================================== */

:root{
  --gr:#001E2D;
  --gr-up:#00293C;
  --gr-deep:#001622;
  --gold:#C8BC62;
  --gold-t:#DED5A0;
  --gold-d:#8F8235;
  --sand:#EBE8D8;
  --sand-d:#D8D4BF;
  --red:#BD332C;
  --valge:#fff;

  --font:"IBM Plex Sans","Segoe UI",system-ui,-apple-system,Helvetica,Arial,sans-serif;
  --max:1240px;
  --pad:clamp(20px,5vw,56px);
  --joon:rgba(200,188,98,.28);
  --joon-hell:rgba(0,30,45,.14);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-gutter:stable}
/* NB: html{overflow-x:clip} EI SOBI — spetsi järgi muutub siis ka overflow-y
   clip'iks ja leht ei keri üldse. Horisontaalne lõige käib bodyl. */
body{
  margin:0;font-family:var(--font);font-weight:400;
  font-size:17px;line-height:1.62;color:var(--gr);background:var(--sand);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

/* --- tüpograafia ------------------------------------------------------- */
h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.06;letter-spacing:-.01em}
.disp{text-transform:uppercase;font-weight:700;line-height:.92;letter-spacing:.02em}
h1.disp{font-size:clamp(40px,7.4vw,90px)}
h2{font-size:clamp(26px,3.4vw,42px)}
h3{font-size:clamp(19px,2vw,24px);line-height:1.2}
p{margin:0 0 1.1em}
.lead{font-size:clamp(18px,1.5vw,21px);line-height:1.6}
.small{font-size:14px;line-height:1.55}

.eyebrow{
  display:flex;align-items:center;gap:12px;
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.32em;
  color:var(--gold-d);margin:0 0 22px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:currentColor;flex:none}
.tume .eyebrow{color:var(--gold)}

/* --- paigutus ---------------------------------------------------------- */
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.sekts{padding:clamp(64px,8vw,120px) 0;position:relative}
.sekts.tihe{padding:clamp(44px,5vw,72px) 0}
.tume{background:var(--gr);color:var(--sand)}
.tume h1,.tume h2,.tume h3{color:var(--sand)}
.tume a:hover{color:var(--gold)}
.hele{background:var(--sand);color:var(--gr)}
.valge-bg{background:var(--valge)}

.kaart-joonestik{
  position:fixed;inset:0;pointer-events:none;z-index:0;
  max-width:var(--max);margin:0 auto;padding:0 var(--pad);
  display:grid;grid-template-columns:repeat(4,1fr);
}
.kaart-joonestik span{border-left:1px solid rgba(200,188,98,.10)}
.kaart-joonestik span:last-child{border-right:1px solid rgba(200,188,98,.10)}
@media(max-width:900px){.kaart-joonestik{display:none}}

/* --- nupud ------------------------------------------------------------- */
.nupp{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:17px 34px;border:1px solid transparent;cursor:pointer;
  font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
  border-radius:0;background:none;
}
.nupp-kuld{background:var(--gold);color:var(--gr);border-color:var(--gold)}
.nupp-kuld:hover{background:var(--sand);border-color:var(--sand)}
.nupp-joon{border-color:rgba(235,232,216,.4);color:var(--sand)}
.nupp-joon:hover{border-color:var(--gold);color:var(--gold)}
.hele .nupp-joon,.valge-bg .nupp-joon{border-color:rgba(0,30,45,.28);color:var(--gr)}
.hele .nupp-joon:hover,.valge-bg .nupp-joon:hover{border-color:var(--gr);background:var(--gr);color:var(--sand)}
.nupp-tume{background:var(--gr);color:var(--sand);border-color:var(--gr)}
.nupp-tume:hover{background:var(--gold);color:var(--gr);border-color:var(--gold)}
.nupp[disabled]{opacity:.35;cursor:not-allowed}
.nupp-vaike{padding:12px 20px;font-size:11px;letter-spacing:.14em}
.nupp-lai{width:100%}
.nupp-tekst{
  display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:600;
  text-transform:uppercase;letter-spacing:.2em;color:var(--gold-d);
  border-bottom:1px solid currentColor;padding-bottom:4px;
}
.tume .nupp-tekst{color:var(--gold)}
.nupp-tekst:hover{color:var(--gr)}
.tume .nupp-tekst:hover{color:var(--sand)}

.pitser{flex:none}

/* --- ülariba + päis --------------------------------------------------- */
.ulariba{
  background:var(--gr-deep);color:rgba(235,232,216,.72);
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  border-bottom:1px solid rgba(200,188,98,.16);position:relative;z-index:60;
}
.ulariba .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:9px;padding-bottom:9px}
.ulariba b{color:var(--gold);font-weight:600}
@media(max-width:900px){.ulariba .r2{display:none}.ulariba .wrap{justify-content:center}}

.pais{
  position:sticky;top:0;z-index:50;background:rgba(0,30,45,.95);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid rgba(200,188,98,.2);color:var(--sand);
}
.pais .wrap{display:flex;align-items:center;gap:26px;padding-top:15px;padding-bottom:15px}
.logo{display:flex;align-items:center;gap:0;margin-right:auto}
.logo-mark{width:38px;height:38px;flex:none}
/* .logo-tekst ja selle lapsed on defineeritud SÕNAMÄRGI plokis allpool —
   siin neid enam ei ole, et ei tekiks kahte tõde. */
.menuu{display:flex;gap:28px;align-items:center}
.menuu a{
  font-size:12.5px;font-weight:500;text-transform:uppercase;letter-spacing:.16em;
  color:rgba(235,232,216,.86);padding:6px 0;position:relative;
}
.menuu a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--gold);transition:right .25s ease}
.menuu a:hover::after,.menuu a[aria-current]::after{right:0}
.menuu a[aria-current]{color:var(--gold)}
.korv-nupp{
  display:flex;align-items:center;gap:9px;border:1px solid rgba(200,188,98,.45);
  padding:11px 16px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);cursor:pointer;background:none;
}
.korv-nupp:hover{background:var(--gold);color:var(--gr)}
.korv-nupp .arv{min-width:19px;height:19px;display:grid;place-items:center;background:var(--gold);
  color:var(--gr);font-size:11px;font-weight:700}
.korv-nupp:hover .arv{background:var(--gr);color:var(--gold)}
.menuu-lyliti{display:none;background:none;border:1px solid rgba(200,188,98,.4);color:var(--gold);
  padding:11px 13px;cursor:pointer;letter-spacing:.14em;font-size:11px}
@media(max-width:900px){
  .menuu-lyliti{display:block}
  .menuu{position:absolute;top:100%;left:0;right:0;background:var(--gr);
    flex-direction:column;align-items:flex-start;gap:0;padding:8px var(--pad) 24px;
    border-bottom:1px solid var(--joon);display:none}
  .menuu.avatud{display:flex}
  .menuu a{width:100%;padding:15px 0;border-bottom:1px solid rgba(235,232,216,.1);font-size:15px}
  .pais .wrap{gap:12px}
  .korv-nupp span.s{display:none}
}

/* --- hero ------------------------------------------------------------- */
.hero{background:var(--gr);color:var(--sand);position:relative;overflow:hidden;
  border-bottom:1px solid var(--joon)}
.hero::after{content:"";position:absolute;right:-8%;top:-25%;width:66%;height:150%;
  background:radial-gradient(closest-side,rgba(200,188,98,.15),transparent 70%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.12fr .88fr;
  gap:clamp(24px,4vw,60px);align-items:end;padding-top:clamp(52px,7vw,88px)}
.hero-tekst{padding-bottom:clamp(56px,7vw,96px)}
.hero h1{margin:0 0 26px}
.hero h1 em{font-style:normal;color:var(--gold);display:inline}
.hero .lead{max-width:44ch;color:rgba(235,232,216,.82);margin-bottom:36px}
.hero-nupud{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.hero-pilt{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:340px}
.hero-pilt img{max-height:min(74vh,680px);width:auto;position:relative;z-index:2;
  filter:drop-shadow(0 40px 60px rgba(0,0,0,.55))}
.hero-aasta{position:absolute;left:50%;top:4%;transform:translateX(-50%);
  font-size:clamp(110px,16vw,220px);font-weight:700;line-height:1;letter-spacing:.02em;
  color:transparent;-webkit-text-stroke:1px rgba(200,188,98,.32);z-index:1;user-select:none}
.hero-koord{position:absolute;right:0;bottom:24px;z-index:3;writing-mode:vertical-rl;
  font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:rgba(200,188,98,.7)}
@media(max-width:900px){
  .hero .wrap{grid-template-columns:1fr;align-items:start}
  .hero-tekst{padding-bottom:16px}
  .hero-pilt{min-height:0;margin:0 auto}
  .hero-pilt img{max-height:50vh}
  .hero-koord{display:none}
}

/* --- faktitikker ------------------------------------------------------- */
.tikker{background:var(--gold);color:var(--gr);overflow:hidden;position:relative;
  border-top:1px solid rgba(0,30,45,.2);border-bottom:1px solid rgba(0,30,45,.2)}
.tikker-rada{display:flex;width:max-content;animation:libise 46s linear infinite}
.tikker:hover .tikker-rada{animation-play-state:paused}
.tikker-rada>div{display:flex}
.tikker span{padding:13px 0;margin:0 26px;display:flex;align-items:center;gap:26px;
  font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.26em;white-space:nowrap}
.tikker span::after{content:"";width:5px;height:5px;background:var(--gr);border-radius:50%;opacity:.45}
@keyframes libise{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.tikker-rada{animation:none}}

/* --- kampaaniariba ---------------------------------------------------- */
.kampaania{background:var(--gr-up);color:var(--sand);border-top:1px solid var(--joon);
  border-bottom:1px solid var(--joon)}
.kampaania .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(18px,4vw,48px);
  align-items:center;padding-top:32px;padding-bottom:32px}
.kampaania-silt{background:var(--red);color:#fff;padding:8px 14px;font-size:11px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;align-self:start}
.kampaania h3{margin:0 0 6px}
.kampaania .small{color:rgba(235,232,216,.72);margin:0}
.kampaania b{color:var(--gold)}
@media(max-width:900px){.kampaania .wrap{grid-template-columns:1fr;gap:18px}}

/* --- tootekaardid ----------------------------------------------------- */
.tooted{display:grid;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));
  gap:1px;background:var(--joon-hell);border:1px solid var(--joon-hell)}
.kaart{background:var(--valge);position:relative;display:flex;flex-direction:column;
  transition:box-shadow .2s ease,transform .2s ease;isolation:isolate}
.kaart:hover{transform:translateY(-3px);z-index:3}
.kaart::after{content:"";position:absolute;inset:0;border:1px solid transparent;pointer-events:none;
  transition:border-color .2s ease}
.kaart:hover::after{border-color:var(--gold)}
.kaart-foto{position:relative;height:258px;overflow:hidden;display:flex;justify-content:center;
  align-items:flex-end;background:radial-gradient(120% 78% at 50% 100%,rgba(0,30,45,.07),transparent 70%)}
.kaart-foto img{height:248px;width:auto;transition:transform .35s ease}
.kaart:hover .kaart-foto img{transform:translateY(-6px) scale(1.03)}
.kaart-kang{position:absolute;top:12px;right:12px;font-size:10.5px;font-weight:600;
  letter-spacing:.1em;color:var(--gr);border:1px solid var(--joon-hell);
  padding:4px 7px;background:rgba(255,255,255,.85)}
.kaart-lint{position:absolute;top:12px;left:0;background:var(--red);color:#fff;
  font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding:5px 11px;z-index:2}
.kaart-lint.hall{background:var(--gr);color:var(--gold)}
/* Järeltellitav: kuldne, mitte punane. Punane on „parim enne" ja „soodushind"
   ehk ajapiirang — järeltellimus ei ole hoiatus, vaid tarneaeg. */
.kaart-lint.kollane{background:var(--gold);color:var(--gr)}
.kaart-sisu{padding:20px;border-top:1px solid var(--joon-hell);display:flex;flex-direction:column;flex:1}
.kaart-liik{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-d);margin-bottom:8px}
.kaart h3{font-size:19px;margin:0 0 4px}
.kaart .kirjeldus{font-size:13.5px;line-height:1.5;color:rgba(0,30,45,.62);margin:6px 0 16px}
.kaart-alla{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.hind{font-size:21px;font-weight:700;letter-spacing:-.01em;color:var(--gr);white-space:nowrap}
.hind s{font-size:14px;font-weight:400;color:rgba(0,30,45,.42);margin-right:7px}
.hind .kmk{display:block;font-size:10.5px;font-weight:400;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(0,30,45,.45);margin-top:3px}
.hind-tellimisel{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(0,30,45,.5)}
.parim-enne{font-size:11px;letter-spacing:.04em;color:var(--red);margin:-8px 0 12px;font-weight:600}

/* --- register --------------------------------------------------------- */
.register{border-top:1px solid var(--joon)}
.reg-rida{display:grid;grid-template-columns:52px 1fr auto auto;gap:clamp(12px,2.5vw,32px);
  align-items:baseline;padding:17px 0;border-bottom:1px solid rgba(200,188,98,.18);
  transition:background .18s ease,padding-left .18s ease}
.reg-rida:hover{background:rgba(200,188,98,.07);padding-left:10px}
.reg-nr{font-size:11px;letter-spacing:.14em;color:rgba(200,188,98,.7);font-variant-numeric:tabular-nums}
.reg-nimi{font-size:clamp(17px,2vw,22px);font-weight:600}
.reg-nimi small{display:block;font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(235,232,216,.45);margin-top:5px}
.reg-kang{font-size:13px;color:var(--gold);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.reg-olek{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(235,232,216,.55);
  text-align:right;min-width:96px}
.reg-olek.laos{color:var(--gold)}
@media(max-width:600px){
  .reg-rida{grid-template-columns:34px 1fr auto;row-gap:4px}
  .reg-olek{grid-column:2/4;text-align:left;min-width:0}
}

.laine{display:block;width:100%;height:24px;color:var(--gold);opacity:.5}

/* --- sisuplokid ------------------------------------------------------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.duo.kolm-kaks{grid-template-columns:1.25fr .75fr}
.duo.algus{align-items:start}
@media(max-width:900px){.duo,.duo.kolm-kaks{grid-template-columns:1fr}}

.faktid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:1px;
  background:var(--joon);border:1px solid var(--joon)}
/* container-type teeb igast faktikastist mõõtmisaluse, et number saaks
   suuruse veeru laiusest, mitte akna laiusest. Vaata .fakt b kommentaari. */
.fakt{padding:24px 20px;background:var(--gr);container-type:inline-size}
.hele .fakt,.valge-bg .fakt{background:var(--sand)}
/* Kaks font-size rida on meelega: esimene on varuvariant vanemale brauserile,
   teine kirjutab selle üle seal, kus konteineripäringud töötavad.

   MIKS mitte 3vw. Aknalaius ei ütle veeru laiuse kohta midagi. „Reinheitsgebot"
   on 14 tähte ja vajab 36px juures 255px, aga veerus on ruumi 231px — sõna
   murdus keset tähte („Reinheitsgebo / t"). 13cqw seob suuruse veeru enda
   laiusega: mõõdetuna 30px, sõna vajab 213px, ruumi on 231px.
   Kontrollitud konteineri laiustel 320–1030px, kõikjal üks rida. */
.fakt b{display:block;font-size:clamp(24px,3vw,36px);font-weight:700;line-height:1;color:var(--gold)}
.fakt b{font-size:min(36px,13cqw);overflow-wrap:normal}
.hele .fakt b,.valge-bg .fakt b{color:var(--gold-d)}
.fakt span{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(235,232,216,.6);margin-top:10px}
.hele .fakt span,.valge-bg .fakt span{color:rgba(0,30,45,.55)}

.tsitaat{border-left:2px solid var(--gold);padding:4px 0 4px 26px;
  font-size:clamp(19px,2.2vw,26px);line-height:1.4;font-weight:500}

.info-loend{list-style:none;margin:0;padding:0}
.info-loend li{display:grid;grid-template-columns:118px 1fr;gap:16px;padding:15px 0;
  border-bottom:1px solid var(--joon-hell);font-size:15px}
.tume .info-loend li{border-color:rgba(235,232,216,.14)}
.info-loend b{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-d);
  padding-top:4px;font-weight:600}
.tume .info-loend b{color:var(--gold)}
@media(max-width:600px){.info-loend li{grid-template-columns:1fr;gap:4px}}

/* --- HoReCa ----------------------------------------------------------- */
.vaadid{display:grid;grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:1px;
  background:rgba(235,232,216,.16);border:1px solid rgba(235,232,216,.16)}
.vaat{background:var(--gr);padding:22px 20px}
.vaat b{display:block;font-size:17px;font-weight:600}
.vaat span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold);margin-top:7px}
.vaat-pilt{mix-blend-mode:screen;filter:contrast(1.06) brightness(1.05)}

/* --- üritused --------------------------------------------------------- */
.uritus{display:grid;grid-template-columns:132px 1fr auto;gap:clamp(14px,3vw,36px);
  padding:24px 0;border-bottom:1px solid var(--joon-hell);align-items:baseline}
.tume .uritus{border-color:rgba(235,232,216,.14)}
.uritus.moodas{opacity:.45}
.uritus .kp{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d)}
.tume .uritus .kp{color:var(--gold)}
.uritus h3{font-size:20px}
.uritus .koht{font-size:13.5px;color:rgba(0,30,45,.6);margin-top:4px}
.tume .uritus .koht{color:rgba(235,232,216,.6)}
.uritus .olek{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}
@media(max-width:600px){.uritus{grid-template-columns:1fr;gap:6px}}

/* --- vormid ----------------------------------------------------------- */
label.valdi{display:block;margin-bottom:18px}
label.valdi span{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-d);margin-bottom:8px;font-weight:600}
.tume label.valdi span{color:var(--gold)}
input[type=text],input[type=email],input[type=tel],textarea,select{
  width:100%;padding:14px 16px;border:1px solid var(--joon-hell);background:var(--valge);
  font-family:inherit;font-size:16px;color:var(--gr);border-radius:0}
.tume input[type=text],.tume input[type=email],.tume input[type=tel],.tume textarea,.tume select{
  background:rgba(235,232,216,.06);border-color:rgba(235,232,216,.24);color:var(--sand)}
input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px}
textarea{min-height:130px;resize:vertical}
.linnuke{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:start;
  font-size:14.5px;line-height:1.5;cursor:pointer}
.linnuke input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--gold);flex:none}

/* --- ostukorv --------------------------------------------------------- */
.korv-tabel{width:100%;border-collapse:collapse;font-size:15px}
.korv-tabel th{text-align:left;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-d);font-weight:600;padding:0 0 14px;border-bottom:1px solid var(--joon-hell)}
.korv-tabel td{padding:18px 0;border-bottom:1px solid var(--joon-hell);vertical-align:middle}
.korv-tabel .par{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.korv-toode{display:flex;gap:16px;align-items:center}
.korv-toode img{height:72px;width:auto}
.korv-toode b{display:block;font-size:16px}
.korv-toode span{font-size:12px;color:rgba(0,30,45,.55);letter-spacing:.06em}
.kogus{display:inline-flex;border:1px solid var(--joon-hell)}
.kogus button{width:34px;height:34px;border:0;background:none;cursor:pointer;font-size:16px;color:var(--gr)}
.kogus button:hover{background:var(--gr);color:var(--sand)}
.kogus input{width:42px;height:34px;border:0;border-left:1px solid var(--joon-hell);
  border-right:1px solid var(--joon-hell);text-align:center;font-size:15px;padding:0}
.eemalda{background:none;border:0;cursor:pointer;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(0,30,45,.45);padding:6px 0}
.eemalda:hover{color:var(--red)}
.kokkuvote{background:var(--valge);border:1px solid var(--joon-hell);padding:26px}
.kv-rida{display:flex;justify-content:space-between;gap:16px;padding:11px 0;font-size:15px;
  font-variant-numeric:tabular-nums}
.kv-rida.pant{border-top:1px dashed var(--joon-hell);border-bottom:1px dashed var(--joon-hell);margin:4px 0}
.kv-rida.pant small{display:block;font-size:11px;color:rgba(0,30,45,.55);letter-spacing:.04em}
.kv-rida.summa{border-top:1px solid var(--gr);margin-top:10px;padding-top:16px;font-size:21px;font-weight:700}
.kv-rida .mrk{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(0,30,45,.5)}
.tyhi-korv{text-align:center;padding:66px 20px;border:1px dashed var(--joon-hell);background:var(--valge)}

/* --- hoiatus ---------------------------------------------------------- */
.hoiatus-riba{background:var(--gr-deep);color:rgba(235,232,216,.86);text-align:center;
  border-top:1px solid var(--joon)}
.hoiatus-riba .wrap{padding-top:17px;padding-bottom:17px}
.hoiatus-riba p{margin:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.hoiatus-riba b{color:var(--gold)}
.markus{border:1px solid var(--joon);background:rgba(200,188,98,.08);padding:20px 22px;
  font-size:14px;line-height:1.6}
.markus b{letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:var(--gold-d);
  display:block;margin-bottom:7px}

/* --- jalus ------------------------------------------------------------ */
.jalus{background:var(--gr);color:rgba(235,232,216,.74);border-top:1px solid var(--joon)}
.jalus .veerud{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:clamp(28px,5vw,64px);
  padding-top:clamp(50px,6vw,76px);padding-bottom:44px}
.jalus h4{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);
  margin:0 0 20px;font-weight:600}
.jalus a:hover{color:var(--gold)}
.jalus ul{list-style:none;margin:0;padding:0;font-size:14.5px}
.jalus li{margin-bottom:11px}
.jalus .rekv{font-size:14px;line-height:1.75}
.jalus .rekv b{color:var(--sand)}
.jalus-alla{border-top:1px solid rgba(200,188,98,.2);display:flex;justify-content:space-between;
  gap:18px;flex-wrap:wrap;padding-top:22px;padding-bottom:34px;
  font-size:11.5px;letter-spacing:.1em;color:rgba(235,232,216,.5)}
@media(max-width:900px){.jalus .veerud{grid-template-columns:1fr;gap:34px}}

/* --- vanusevärav ------------------------------------------------------ */
.varav{position:fixed;inset:0;z-index:200;background:var(--gr);color:var(--sand);
  display:grid;place-items:center;padding:24px;text-align:center}
.varav[hidden]{display:none}
.varav-sisu{max-width:520px}
.varav .logo-tekst{align-items:center}
.varav .logo-tekst b{font-size:32px}
.varav h2{font-size:clamp(21px,3vw,29px);margin:26px 0 14px;color:var(--sand)}
.varav p{color:rgba(235,232,216,.72);font-size:15.5px}
.varav-nupud{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.varav .vaike{margin-top:10px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(235,232,216,.45)}

/* --- pood ------------------------------------------------------------- */
.filtrid{display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding-bottom:24px;border-bottom:1px solid var(--joon-hell)}
.filter{border:1px solid var(--joon-hell);background:none;padding:11px 18px;cursor:pointer;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gr)}
.filter:hover{border-color:var(--gr)}
.filter[aria-pressed=true]{background:var(--gr);color:var(--sand);border-color:var(--gr)}
.filter .n{opacity:.5;margin-left:7px;font-size:10px}
.tulem{margin-left:auto;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(0,30,45,.5)}
@media(max-width:600px){.tulem{margin-left:0;width:100%}}

/* --- tootevaade ------------------------------------------------------- */
.toode-vaade{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(28px,5vw,72px)}
.toode-pilt{background:var(--valge);border:1px solid var(--joon-hell);position:relative;
  display:flex;align-items:flex-end;justify-content:center;overflow:hidden;min-height:440px}
.toode-pilt img{max-height:540px;width:auto}
.toode-pilt .vesimark{position:absolute;left:50%;top:7%;transform:translateX(-50%);
  font-size:clamp(84px,11vw,160px);font-weight:700;color:transparent;
  -webkit-text-stroke:1px rgba(0,30,45,.1);line-height:1;user-select:none;white-space:nowrap}
.toode-info h1{font-size:clamp(30px,4.2vw,50px);margin:0 0 6px}
.toode-hind{display:flex;align-items:flex-end;gap:18px;margin:24px 0 6px}
.toode-hind .hind{font-size:34px}
.pakivalik{display:flex;gap:1px;background:var(--joon-hell);border:1px solid var(--joon-hell);margin:22px 0}
.pakivalik button{flex:1;background:var(--valge);border:0;padding:15px 8px;cursor:pointer;text-align:center;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--gr)}
.pakivalik button b{display:block;font-size:15px;letter-spacing:0;text-transform:none;margin-top:5px}
.pakivalik button[aria-pressed=true]{background:var(--gr);color:var(--sand)}
.ostu-rida{display:flex;gap:14px;align-items:stretch;margin:24px 0}
.ostu-rida .kogus input,.ostu-rida .kogus button{height:53px}
.ostu-rida .kogus button{width:46px}
.ostu-rida .nupp{flex:1}
.spets{border-top:1px solid var(--joon-hell);margin-top:32px}
@media(max-width:900px){.toode-vaade{grid-template-columns:1fr}.toode-pilt{min-height:320px}}

/* --- teated ----------------------------------------------------------- */
.teade{position:fixed;bottom:24px;left:50%;transform:translate(-50%,180%);
  background:var(--gr);color:var(--sand);border:1px solid var(--gold);
  padding:15px 26px;font-size:13px;letter-spacing:.1em;z-index:150;
  transition:transform .3s cubic-bezier(.2,.8,.2,1);max-width:calc(100% - 40px)}
.teade.nahtav{transform:translate(-50%,0)}

/* --- abiklassid ------------------------------------------------------- */
.keskel{text-align:center}
.max56{max-width:56ch}
.max64{max-width:64ch}
.mt0{margin-top:0}.mb0{margin-bottom:0}
.mt24{margin-top:24px}.mt40{margin-top:40px}.mt56{margin-top:56px}
.peida{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sekts-pais{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;
  margin-bottom:clamp(26px,4vw,44px);flex-wrap:wrap}
.sekts-pais h2{max-width:26ch}
.doku h2{margin:44px 0 14px}
.doku h3{margin:30px 0 10px}
.doku ul{padding-left:20px}
.doku li{margin-bottom:8px}

/* --- kogusastmed (hinnatabel tootelehel) ------------------------------- */
.astmed{width:100%;border-collapse:collapse;margin:22px 0 6px;font-size:14.5px}
.astmed td{padding:11px 0;border-bottom:1px solid var(--joon-hell);font-variant-numeric:tabular-nums}
.astmed tr:last-child td{border-bottom:0}
.astmed td:last-child{text-align:right;font-weight:600}
.astmed tr.aktiivne td{color:var(--gr);background:rgba(200,188,98,.14)}
.astmed tr.aktiivne td:first-child{box-shadow:inset 3px 0 0 var(--gold);padding-left:12px}
.astmed td:first-child{color:rgba(0,30,45,.62)}
.astmed .pais-rida td{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-d);font-weight:600;border-bottom:1px solid var(--joon-hell)}
.vihje{font-size:13px;color:var(--gold-d);font-weight:600;letter-spacing:.02em;margin:10px 0 0}
.korv-tabel .vihje{margin:6px 0 0;font-size:12px}
.rea-summa small{display:block;font-size:11.5px;font-weight:400;color:rgba(0,30,45,.5);
  letter-spacing:.04em;margin-top:3px}
/* kastihinnad avalehel */
.kastid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;
  background:var(--joon);border:1px solid var(--joon);margin-top:26px}
.kast{background:var(--gr);padding:22px 20px;display:flex;flex-direction:column;gap:4px}
.kast .n{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(235,232,216,.6)}
.kast b{font-size:clamp(22px,2.6vw,30px);color:var(--gold);line-height:1.1}
.kast span.tk{font-size:12.5px;color:rgba(235,232,216,.7)}

/* --- tasuta tarne edenemine ------------------------------------------- */
.tarne-vihje{margin:2px 0 12px;padding:12px 14px;background:rgba(200,188,98,.14);
  border-left:2px solid var(--gold)}
.tarne-vihje p{margin:0;font-size:13px;font-weight:600;color:var(--gr);letter-spacing:.01em}
.tarne-vihje p b{color:var(--gold-d)}
.tarne-riba{height:3px;background:rgba(0,30,45,.12);margin-top:9px;overflow:hidden}
.tarne-riba i{display:block;height:100%;background:var(--gold);width:100%;
  transform-origin:left;transform:scaleX(0);transition:transform .3s ease}
.tarne-vihje.tais{background:rgba(0,30,45,.06);border-left-color:var(--gr)}

/* --- hinnatrepp (kogusastmed avalehel) --------------------------------- */
.trepp-rida{display:grid;grid-template-columns:190px 1fr;gap:clamp(16px,3vw,40px);
  align-items:start;padding:26px 0;border-top:1px solid var(--joon)}
.trepp-rida:last-child{border-bottom:1px solid var(--joon)}
.trepp-nimi{font-size:15px;font-weight:600;color:var(--sand);line-height:1.35;padding-top:14px}
.trepp-nimi small{display:block;font-size:10.5px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(235,232,216,.45);margin-top:6px}
.trepp{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1px}
.aste{padding:14px 16px 16px;background:rgba(235,232,216,.05);
  border-top:2px solid rgba(200,188,98,.3);margin-top:calc(var(--i) * 16px)}
.aste:last-child{background:rgba(200,188,98,.13);border-top-color:var(--gold)}
.aste .kogus-silt{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(235,232,216,.55);display:block;margin-bottom:7px}
.aste b{font-size:clamp(20px,2.4vw,27px);color:var(--gold);line-height:1;display:block;
  font-variant-numeric:tabular-nums}
.aste .kokku{font-size:11.5px;color:rgba(235,232,216,.55);display:block;margin-top:7px}
.aste:last-child .kogus-silt{color:rgba(235,232,216,.7)}
@media(max-width:900px){
  .trepp-rida{grid-template-columns:1fr;gap:14px;padding:20px 0}
  .trepp-nimi{padding-top:0}
  .trepp{grid-auto-flow:row}
  .aste{margin-top:0;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:13px 14px}
  .aste .kogus-silt{margin:0}
  .aste b{font-size:20px}
  .aste .kokku{margin:0}
}

/* =========================================================================
   WORDPRESS + WOOCOMMERCE
   Astra vaikimisi paigutus viiakse ülaltoodud disainisüsteemi peale.
   ========================================================================= */

/* --- Astra oma päis/jalus varuvariandina peidus (PHP võtab need juba maha) */
.site-header,
.ast-above-header-wrap,
.ast-below-header-wrap,
.site-footer .ast-footer-overlay,
.ast-small-footer{display:none !important}

/* --- konteinerid ------------------------------------------------------- */
body,
.ast-page-builder-template .site-content>.ast-container{max-width:none;padding:0}
.site-content{background:var(--sand)}
.ast-container,.ast-container-fluid{max-width:none;padding:0}
#content .ast-container{display:block}
#primary,.entry-content,.ast-article-single,.site-main{margin:0;padding:0;width:100%;max-width:none}
.entry-header,.ast-single-post-order,.ast-archive-description{display:none}
.ast-separate-container .ast-article-single{border:0;background:transparent;padding:0}
.ast-separate-container{background:var(--sand)}
.ast-plain-container .site-content>.ast-container{padding:0}
.no-sidebar .entry-content .alignwide,
.no-sidebar .entry-content .alignfull{margin-left:0;margin-right:0;width:auto}

/* lehe sisu, mis tuleb redaktorist, saab tavalise raami */
.flens-sisu{padding:clamp(56px,7vw,96px) 0}
.flens-sisu>.wrap>*{max-width:78ch}
.flens-sisu h2{margin:44px 0 14px}
.flens-sisu h3{margin:30px 0 10px}

/* --- WooCommerce'i teated ---------------------------------------------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top:0;border-left:2px solid var(--gold);background:rgba(200,188,98,.12);
  color:var(--gr);border-radius:0;font-size:14.5px;padding:16px 18px}
.woocommerce-error{border-left-color:var(--red);background:rgba(189,51,44,.08)}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message .button{background:var(--gr);color:var(--sand)}

/* --- poe ruudustik ----------------------------------------------------- */
.woocommerce ul.products{
  display:grid !important;grid-template-columns:repeat(auto-fill,minmax(236px,1fr));
  gap:1px;background:var(--joon-hell);border:1px solid var(--joon-hell);
  margin:0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{
  background:var(--valge);position:relative;display:flex;flex-direction:column;
  margin:0 !important;width:auto !important;float:none !important;padding:0;
  transition:box-shadow .2s ease,transform .2s ease}
.woocommerce ul.products li.product:hover{transform:translateY(-3px);z-index:3}
.woocommerce ul.products li.product::after{
  content:"";position:absolute;inset:0;border:1px solid transparent;pointer-events:none;
  transition:border-color .2s ease}
.woocommerce ul.products li.product:hover::after{border-color:var(--gold)}

.woocommerce ul.products li.product a img{
  height:248px;width:auto;margin:0 auto;object-fit:contain;object-position:bottom;
  transition:transform .35s ease;background:none;box-shadow:none}
.woocommerce ul.products li.product .woocommerce-loop-product__link{
  display:flex;flex-direction:column;height:262px;justify-content:flex-end;overflow:hidden;
  background:radial-gradient(120% 78% at 50% 100%,rgba(0,30,45,.07),transparent 70%)}
.woocommerce ul.products li.product:hover a img{transform:translateY(-6px) scale(1.03)}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:19px !important;font-weight:700;color:var(--gr);
  padding:20px 0 0;margin:0 0 4px;line-height:1.2}
.woocommerce ul.products li.product .price{
  color:var(--gr);font-size:21px;font-weight:700;margin:10px 0 0;display:block}
.woocommerce ul.products li.product .price del{
  font-size:14px;font-weight:400;color:rgba(0,30,45,.42);margin-right:7px;opacity:1}
.woocommerce ul.products li.product .price ins{text-decoration:none;font-weight:700}
.flens-kmk{display:block;font-size:10.5px;font-weight:400;letter-spacing:.06em;
  text-transform:uppercase;color:rgba(0,30,45,.5);margin-top:4px}
.flens-kmk .amount{font-size:10.5px;font-weight:600;color:rgba(0,30,45,.6)}

/* kaardi sisuosa: title/price/button pakitakse ühte plokki */
.woocommerce ul.products li.product>*:not(.woocommerce-loop-product__link):not(.kaart-lint):not(.kaart-kang){
  padding-left:20px;padding-right:20px}
.woocommerce ul.products li.product .button{
  margin:16px 20px 20px;background:var(--gr);color:var(--sand);border-radius:0;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  padding:12px 20px;width:calc(100% - 40px);text-align:center}
.woocommerce ul.products li.product .button:hover{background:var(--gold);color:var(--gr)}
.woocommerce ul.products li.product .added_to_cart{
  display:block;margin:0 20px 18px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-d);border-bottom:1px solid;width:max-content}
.woocommerce ul.products li.product .parim-enne{margin:8px 0 0}
.woocommerce ul.products li.product .flens-tellimisel{
  margin:12px 20px 20px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(0,30,45,.5)}
.woocommerce span.onsale{display:none}

/* --- poe ülemine riba -------------------------------------------------- */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(0,30,45,.55);margin-bottom:22px}
.woocommerce .woocommerce-ordering select{padding:10px 12px;font-size:13px}
.flens-pood-sisu{padding:clamp(32px,4vw,48px) 0 clamp(64px,8vw,110px);background:var(--valge)}

/* kategooriafiltrid */
.flens-filtrid{display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding-bottom:24px;border-bottom:1px solid var(--joon-hell);margin-bottom:26px}
.flens-filtrid a{border:1px solid var(--joon-hell);padding:11px 18px;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gr)}
.flens-filtrid a:hover{border-color:var(--gr)}
.flens-filtrid a.aktiivne{background:var(--gr);color:var(--sand);border-color:var(--gr)}
.flens-filtrid a .n{opacity:.5;margin-left:7px;font-size:10px}

/* --- tooteleht --------------------------------------------------------- */
.woocommerce div.product{
  display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(28px,5vw,72px);
  max-width:var(--max);margin:0 auto;padding:clamp(48px,6vw,80px) var(--pad)}
.woocommerce div.product div.images{margin:0}
.woocommerce div.product div.images img{
  background:var(--valge);border:1px solid var(--joon-hell);padding:24px 24px 0}
.woocommerce div.product div.summary{margin:0}
.woocommerce div.product .product_title{font-size:clamp(30px,4.2vw,50px);margin:0 0 6px;line-height:1.04}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  color:var(--gr);font-size:34px;font-weight:700;margin:22px 0 4px}
.woocommerce div.product p.price del{font-size:19px;font-weight:400;opacity:.45}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{
  font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:rgba(0,30,45,.8);margin-top:14px}
.woocommerce div.product form.cart{margin:24px 0 0;display:flex;gap:14px;align-items:stretch;flex-wrap:wrap}
.woocommerce div.product form.cart .quantity{margin:0}
.woocommerce .quantity input.qty{
  width:78px;height:53px;border:1px solid var(--joon-hell);text-align:center;font-size:16px;
  border-radius:0;background:var(--valge)}
.woocommerce div.product form.cart .button{
  flex:1;min-width:200px;background:var(--gold);color:var(--gr);border-radius:0;
  font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:17px 34px}
.woocommerce div.product form.cart .button:hover{background:var(--sand)}
.flens-pandi-rida{width:100%;margin:14px 0 0;color:rgba(0,30,45,.6);font-size:13.5px}
.flens-hoiatus-toode{margin-top:22px;color:rgba(0,30,45,.65)}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .up-sells{grid-column:1/-1}
.woocommerce div.product .related>h2,.woocommerce div.product .up-sells>h2{
  font-size:clamp(22px,2.6vw,30px);margin-bottom:26px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 22px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--joon-hell)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:none;border:0;border-bottom:2px solid transparent;border-radius:0;margin:0 26px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--gold)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gr);padding:12px 0;font-weight:600}
@media(max-width:900px){
  .woocommerce div.product{grid-template-columns:1fr}
}

/* --- ostukorv ---------------------------------------------------------- */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{max-width:var(--max);margin:0 auto;
  padding:clamp(48px,6vw,80px) var(--pad)}
.woocommerce table.shop_table{border:0;border-radius:0;font-size:15px}
.woocommerce table.shop_table th{
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-d);
  font-weight:600;padding:0 0 14px;border-bottom:1px solid var(--joon-hell)}
.woocommerce table.shop_table td{padding:18px 10px 18px 0;border-top:0;
  border-bottom:1px solid var(--joon-hell);vertical-align:middle}
.woocommerce table.shop_table img{height:72px;width:auto}
.woocommerce table.cart td.product-name a{font-weight:600;font-size:16px;color:var(--gr)}
.flens-yhik,.woocommerce td.product-name .vihje{display:block}
.flens-yhik{font-size:12px;color:rgba(0,30,45,.55);letter-spacing:.04em;margin-top:3px}
.woocommerce a.remove{color:rgba(0,30,45,.45) !important;font-weight:400}
.woocommerce a.remove:hover{background:none;color:var(--red) !important}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none}
.woocommerce .cart_totals h2{font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-d);margin-bottom:16px}
.woocommerce-cart .cart-collaterals{display:grid;grid-template-columns:1fr;gap:0}
.woocommerce .cart_totals table.shop_table{background:var(--valge);border:1px solid var(--joon-hell)}
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td{padding:13px 22px;border-bottom:1px solid var(--joon-hell)}
.woocommerce .cart_totals tr.order-total th,.woocommerce .cart_totals tr.order-total td{
  font-size:20px;font-weight:700;border-bottom:0}
.woocommerce .cart_totals tr.fee th,.woocommerce .cart_totals tr.fee td{color:var(--gr)}
.flens-pandi-selgitus td{padding-top:0 !important;color:rgba(0,30,45,.55);font-size:11.5px !important}
.flens-tarne-rida td{border-bottom:0 !important;padding:8px 22px 16px !important}
.woocommerce .cart input.button,.woocommerce .cart-collaterals .checkout-button{
  background:var(--gr);color:var(--sand);border-radius:0;font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;padding:16px 30px}
.woocommerce .cart-collaterals .checkout-button{background:var(--gold);color:var(--gr)}
.woocommerce .cart-collaterals .checkout-button:hover{background:var(--gr);color:var(--sand)}
@media(min-width:900px){
  .woocommerce-cart form.woocommerce-cart-form{width:60%;float:left;padding-right:48px}
  .woocommerce-cart .cart-collaterals{width:40%;float:right}
}

/* --- kassa ------------------------------------------------------------- */
.woocommerce-checkout h3{font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-d);margin:0 0 20px}
.woocommerce form .form-row label{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-d);font-weight:600;margin-bottom:7px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container .select2-selection--single{
  padding:14px 16px;border:1px solid var(--joon-hell);border-radius:0;font-size:16px;
  background:var(--valge);height:auto}
.woocommerce-checkout #payment{background:var(--valge);border:1px solid var(--joon-hell);border-radius:0}
.woocommerce-checkout #payment div.payment_box{background:rgba(200,188,98,.1);border-radius:0}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce #payment #place_order,.woocommerce-checkout button#place_order{
  background:var(--gold);color:var(--gr);border-radius:0;font-size:12.5px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;padding:18px 34px;width:100%}
.woocommerce #payment #place_order:hover{background:var(--gr);color:var(--sand)}
.flens-vanus-kinnitus{
  border:1px solid var(--joon-hell);background:rgba(200,188,98,.1);padding:16px 18px;margin:0 0 18px}
.flens-vanus-kinnitus label{font-size:14.5px !important;letter-spacing:0 !important;
  text-transform:none !important;color:var(--gr) !important;font-weight:400 !important;line-height:1.5}
.flens-vanus-kinnitus input[type=checkbox]{width:19px;height:19px;accent-color:var(--gold);margin-right:10px}

/* --- lehe pealkirja riba ---------------------------------------------- */
.flens-lehe-pais h1{font-size:clamp(32px,5vw,58px)}

/* --- tellimisel toode -------------------------------------------------- */
.flens-teavitus{max-width:420px}
.flens-teavitus .valdi span{color:var(--gold-d)}
p.stock.flens-tellimisel{font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(0,30,45,.5);margin:18px 0 0}

/* --- Astra nupu ülekirjutus ------------------------------------------- */
.ast-button,button,input[type=submit],.wp-block-button__link{border-radius:0}


/* --- Astra vaikesildid maha (kasutame oma linte) ----------------------- */
.woocommerce span.onsale,
.ast-onsale-card,
.astra-shop-summary-wrap .onsale,
.ast-shop-product-out-of-stock,
.ast-woo-product-category{display:none !important}

/* pudelifoto: alläär kinni, proportsioon säilib */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img{
  height:248px !important;width:auto !important;max-width:100% !important;
  object-fit:contain !important;object-position:bottom !important;margin:0 auto}

/* --- kassa: üleandmise aja märkus -------------------------------------- */
.flens-kassa-aeg{font-size:13px;line-height:1.55;color:rgba(0,30,45,.62);
  border-left:2px solid var(--joon);padding-left:14px;margin:0 0 18px}


/* --- pealkirjade värv sektsioonides, mis pole .tume klassiga ----------- */
.hero h1,.hero h2,.hero h3,
.kampaania h1,.kampaania h2,.kampaania h3,
.varav h1,.varav h2{color:var(--sand)}


/* --- usaldusrida vanuseväraval ---------------------------------------- */
.varav-kinnitus{margin:26px 0 0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);font-weight:600}

/* --- parim enne selgitus ---------------------------------------------- */
.parim-enne-selgitus{font-size:13px;line-height:1.55;color:rgba(0,30,45,.58);margin:6px 0 0}

/* --- kõik kokku pudeli kohta ------------------------------------------ */
.koik-kokku{margin:10px 0 0;font-size:13.5px;line-height:1.55;color:rgba(0,30,45,.62)}
.koik-kokku b{font-size:16px;color:var(--gr)}
.woocommerce .cart_totals tr.flens-koik-kokku-rida th,
.woocommerce .cart_totals tr.flens-koik-kokku-rida td{
  background:rgba(200,188,98,.12);font-weight:700;border-bottom:1px solid var(--joon-hell)}
.woocommerce .cart_totals tr.flens-koik-kokku-rida small{display:block;font-weight:400;
  font-size:11px;color:rgba(0,30,45,.55);letter-spacing:.02em;margin-top:3px}

/* --- partii-märkus ----------------------------------------------------- */
.partii{font-size:13.5px;font-weight:600;color:var(--gold-d);letter-spacing:.02em;margin:4px 0 0}

/* --- hero protsessirida ja ürituste rida ------------------------------ */
.hero-protsess{margin:20px 0 0;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(235,232,216,.6)}
.uritused-rida{margin:22px 0 0;font-size:14.5px;line-height:1.6;color:rgba(0,30,45,.7)}
.uritused-rida a{color:var(--gold-d);font-weight:600;border-bottom:1px solid;white-space:nowrap}
.uritused-rida a:hover{color:var(--gr)}


/* --- klikitav astmetabel ----------------------------------------------- */
.astmed tr.valitav{cursor:pointer;transition:background .15s ease}
.astmed tr.valitav:hover td{background:rgba(200,188,98,.1)}
.astmed tr.valitav:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.astmed tr.valitav td:first-child::after{content:"";display:inline-block;width:0}
.astmed .pais-rida td:last-child::after{content:" · vali klõpsuga";font-weight:400;
  letter-spacing:.08em;text-transform:none;opacity:.6}

/* --- kontakti- ja HoReCa-vorm ------------------------------------------ */
.flens-vorm{max-width:460px}
.vorm-peida{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.vorm-alla{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:6px}
.vorm-aeg{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d)}
.tume .vorm-aeg{color:var(--gold)}
.valdi span i{font-style:normal;text-transform:none;letter-spacing:0;opacity:.6}
.vorm-kinnitus{max-width:460px}

/* --- brändilugu -------------------------------------------------------- */
.lugu{margin-bottom:clamp(40px,5vw,64px)}
.lugu h2{margin-bottom:20px}
.lugu .lead{margin-bottom:1.1em}

/* =========================================================================
   SÕNAMÄRK — FLENS + kuldne joon + FLENSBURG · EESTI
   ========================================================================= */
.logo-tekst{display:inline-flex;flex-direction:column;align-items:stretch;line-height:1}
.logo-tekst b{
  font-size:26px;font-weight:700;letter-spacing:.24em;color:var(--sand);
  text-transform:uppercase;padding:0 0 7px;border-bottom:1px solid var(--gold);
  text-indent:.24em}
.logo-tekst i{
  font-style:normal;font-size:8px;font-weight:600;letter-spacing:.2em;color:var(--gold);
  text-transform:uppercase;margin-top:7px;text-align:center}
.logo-mark,.pitser{display:none}

/* vanusevärav */
.varav-logo{align-items:center;margin:0 auto 4px}
.varav-logo b{font-size:38px;letter-spacing:.26em;padding-bottom:10px}
.varav-logo i{font-size:9.5px;margin-top:10px}

@media(max-width:600px){
  .logo-tekst b{font-size:21px;letter-spacing:.2em;padding-bottom:5px}
  .logo-tekst i{font-size:7px;letter-spacing:.16em;margin-top:5px}
}

/* --- Astra arhiivipäis maha (meil on oma pealkirjariba) ---------------- */
.ast-archive-entry-banner,
.ast-single-entry-banner,
.ast-archive-description,
.ast-taxonomy-banner-layout-1{display:none !important}

/* poe ja lehe sisu läbi terve laiuse */
.ast-woocommerce-container,
.ast-container--narrow{max-width:none !important;padding:0 !important}

/* --- konteiner läbi terve laiuse (Astra piirab vaikimisi) -------------- */
body .site-content > .ast-container,
body #content > .ast-container,
body .ast-container{max-width:none !important;padding-left:0 !important;padding-right:0 !important}
body #primary,body .content-area{padding:0 !important;margin:0 !important;width:100% !important}

/* --- astmetabel kolme veeruga ----------------------------------------- */
.astmed td:nth-child(2),.astmed td:nth-child(3){text-align:right;white-space:nowrap}
.astmed td:nth-child(3){font-weight:700;color:var(--gr)}
.astmed td:nth-child(2){font-weight:600}
.astmed tr.tasuta td{background:rgba(200,188,98,.16)}
.astmed tr.tasuta td:first-child{box-shadow:inset 3px 0 0 var(--gold);padding-left:12px;
  font-weight:600;color:var(--gr)}
.astmed-selgitus{font-size:12px;color:rgba(0,30,45,.5);margin:8px 0 0}
@media(max-width:600px){
  .astmed{font-size:13px}
  .astmed td{padding:9px 0}
}


/* --- MD: menüü mahub, kui vahed on tihedamad --------------------------- */
@media(min-width:901px) and (max-width:1199px){
  .menuu{gap:20px}
  .menuu a{font-size:11.5px;letter-spacing:.12em}
  .korv-nupp{padding:10px 13px;font-size:11px;letter-spacing:.12em}
  .logo-tekst b{font-size:22px}
}


/* =========================================================================
   RENDERDAMISE PARANDUSED
   ========================================================================= */

/* 1 · kerimisriba jääb alles ka siis, kui vanusevärav kerimise lukustab —
      seade on koos ülejäänud html-reeglitega faili alguses. */

/* 2 · vari eraldi kihina — animeeritakse opacity't, mitte box-shadow'd */
.kaart::before,
.woocommerce ul.products li.product::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  box-shadow:0 18px 44px rgba(0,30,45,.14);
  opacity:0;transition:opacity .2s ease}
.kaart:hover::before,
.woocommerce ul.products li.product:hover::before{opacity:1}

/* 3 · tasuta tarne riba kasutab transform'i, mitte width'i — reegel on
      koos ülejäänud .tarne-riba stiilidega ülalpool. */

/* 4 · liikumise eelistus kehtib kogu saidil */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important}
}

/* --- ilmumine vaateaknasse (JS lisab .ilmub ainult peidus elementidele) - */
.ilmub{opacity:0;transform:translateY(14px);
  transition:opacity .5s ease,transform .5s ease}
.ilmub.nahtav{opacity:1;transform:none}
/* astmeline viivitus neljase rea kaupa — CSS teeb, mitte JS */
ul.products>.ilmub:nth-child(4n+2),.tooted>.ilmub:nth-child(4n+2){transition-delay:60ms}
ul.products>.ilmub:nth-child(4n+3),.tooted>.ilmub:nth-child(4n+3){transition-delay:120ms}
ul.products>.ilmub:nth-child(4n+4),.tooted>.ilmub:nth-child(4n+4){transition-delay:180ms}
.trepp-rida.ilmub:nth-child(2){transition-delay:80ms}
.trepp-rida.ilmub:nth-child(3){transition-delay:160ms}

/* --- kerimisega seotud triiv: ainult CSS, null baiti JS ----------------- */
/* Chromiumis liigub 1888 kontuur pudelist aeglasemalt. Safaris ja Firefoxis */
/* ei juhtu midagi ja see on õige — kaunistus tohib puududa.                */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .hero-aasta{
      animation:flens-triiv linear both;
      animation-timeline:view();
      animation-range:entry 0% cover 70%;
    }
    @keyframes flens-triiv{
      from{transform:translate(-50%,14px)}
      to  {transform:translate(-50%,-46px)}
    }
  }
}

/* =========================================================================
   KONTEINERIPÄRINGUD JA RENDERDAMISE SÄÄST
   ========================================================================= */

/* kaart kohaneb oma laiuse, mitte vaateakna järgi */
ul.products > li.product,
.tooted > .kaart{container-type:inline-size}

@container (max-width:250px){
  .kaart-foto,
  .woocommerce ul.products li.product .woocommerce-loop-product__link{height:210px}
  .woocommerce ul.products li.product a img,
  .woocommerce ul.products li.product img{height:200px !important}
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .kaart h3{font-size:17px !important}
  .kaart .kirjeldus{display:none}
  .kaart-alla{flex-direction:column;align-items:stretch;gap:10px}
}

/* Renderdamise säästu rakendame AINULT avalehel, kus sektsioone on kaheksa.
   Poe lehel on üks pikk sektsioon — seal annaks see hüpleva kerimisriba
   ilma igasuguse võiduta. */
.flens-avaleht .sekts{content-visibility:auto;contain-intrinsic-size:auto 640px}
.flens-avaleht .hero,
.flens-avaleht .kampaania,
.flens-avaleht .tikker{content-visibility:visible}

/* --- hero: teisene tegu tekstilingina, mitte võrdse nupuna ------------- */
.hero-teine{color:var(--gold);border-bottom-color:var(--gold)}
.hero-teine:hover{color:var(--sand);border-bottom-color:var(--sand)}

/* Hero pealkiri mõõdetakse tekstiveeru, mitte akna järgi.
   7,4vw andis laial ekraanil 90 px ja sõna „Flensburgerit." (776 px) surus
   grid'i teise veeru nulli — pudelipilt kadus. 62 px mahub veergu ära. */
.hero h1.disp{font-size:clamp(36px,5.3vw,62px)}
/* grid'i vaikimisi min-width:auto laseb pikal sõnal veeru laiust dikteerida */
.hero-tekst,.hero-pilt{min-width:0}

@media(max-width:600px){
  /* ühes veerus on ruumi vähem kui vw-arvutus lubaks — eraldi skaala */
  .hero h1.disp{font-size:clamp(30px,8.6vw,44px)}
  .hero-nupud{flex-direction:column;align-items:flex-start;gap:18px}
  .hero-nupud .nupp{width:100%}
}

/* --- ühikuhind €/L: tarbijakaitse nõue müügihinna kõrvale ------------- */
.flens-yhik{display:block;font-size:11px;font-weight:400;letter-spacing:.04em;
  color:rgba(0,30,45,.5);margin-top:3px}
.flens-yhik .amount{font-size:11px;font-weight:500;color:rgba(0,30,45,.6)}
.tume .flens-yhik,.tume .flens-yhik .amount{color:rgba(235,232,216,.6)}

/* --- müügitingimused: ostuprotsess ja taganemisavalduse vorm ----------- */
.tingimuste-loend{margin:0 0 18px;padding-left:20px}
.tingimuste-loend li{margin-bottom:7px}
.taganemisvorm{border:1px solid rgba(0,30,45,.18);padding:20px 22px;margin:16px 0 24px;
  background:#FCFBF5;font-size:15px}
.taganemisvorm p{margin:0 0 10px;line-height:1.9}
.taganemisvorm p:last-child{margin-bottom:0}
.flens-sisu h4{font-size:17px;margin:24px 0 8px}

/* --- poe järjestuse valik --------------------------------------------- */
.flens-jarjestus{display:flex;align-items:center;gap:10px;margin:-8px 0 26px;
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:rgba(0,30,45,.55)}
.flens-jarjestus label{font-weight:600;flex:none}
.flens-jarjestus select{
  font:inherit;font-size:12.5px;letter-spacing:.06em;text-transform:none;
  color:var(--gr);background:#fff;border:1px solid rgba(0,30,45,.2);
  padding:8px 30px 8px 12px;border-radius:0;cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23001E2D' stroke-width='1.4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center}
.flens-jarjestus select:hover{border-color:var(--gold-d)}
.flens-jarjestus select:focus-visible{outline:2px solid var(--gold-d);outline-offset:2px}
@media(max-width:600px){
  .flens-jarjestus{flex-wrap:wrap}
  .flens-jarjestus select{flex:1;min-width:0}
}

/* Astra jaluse autoriõiguse riba — meil on oma jalus, Astra oma ei tohi alla jääda.
   PHP-poolne eemaldus on inc/leht.php-s; see on varuvariant, kui mõni Astra
   uuendus ehitab rea uuest kohast. */
.ast-small-footer,.site-below-footer-wrap,.ast-footer-copyright{display:none!important}
