/* Hygena — hygena.ro
   Paleta „Ink & Emerald”. Semnătura: bonul care iese din imprimantă.
   Regula de mișcare: stilurile de bază sunt starea finală; animațiile doar adaugă drumul până acolo. */

/* ------------------------------------------------------------------ fonturi */
@font-face{font-family:"Bricolage Grotesque";src:url(../fonts/bricolage-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url(../fonts/bricolage-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(../fonts/dmsans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(../fonts/dmsans-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"DM Sans";src:url(../fonts/dmsans-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(../fonts/plexmono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(../fonts/plexmono-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

/* ------------------------------------------------------------------ tokeni */
:root{
  --bg:#F7F8F6;
  --surface:#FFFFFF;
  --text:#17211B;
  --text-2:#3A453D;
  --muted:#5B665F;
  --line:#E7EAE6;
  --line-2:#CDD4CE;
  --accent:#00A05F;          /* doar pe text mare sau fundaluri */
  --accent-text:#007A4B;     /* text mic verde */
  --on-accent:#FFFFFF;
  --accent-hover:#045030;
  --tint:#EDF7F1;
  --tint-2:#DFF3E7;
  --tint-line:#CBEBDA;
  --leaf:#F1F6F2;
  --solid:#17211B;
  --on-solid:#FFFFFF;
  --deep:#17211B;
  --foot:#0B110D;
  --x:#FF8A3D;
  --x-bg:#FFF0E4;
  --x-text:#B05010;
  --water:#D5E5EB;
  --water-text:#4F6F7A;
  --focus:#007A4B;

  --f-display:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-text:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  --gutter:clamp(16px,4vw,40px);
  --max:1240px;
  --head-h:68px;
  --sec:clamp(72px,10vw,144px);
  color-scheme:light;
}

@media (prefers-color-scheme:dark){
  :root{
    --bg:#0B110D;
    --surface:#121B15;
    --text:#F1F6F2;
    --text-2:#C4D0C8;
    --muted:#A3B1A8;
    --line:#223029;
    --line-2:#33443A;
    --accent:#3DE68F;
    --accent-text:#3DE68F;
    --on-accent:#0B110D;
    --accent-hover:#7AF0B2;
    --tint:#12241A;
    --tint-2:#15291D;
    --tint-line:#24402F;
    --leaf:#101A14;
    --solid:#F1F6F2;
    --on-solid:#0B110D;
    --deep:#121B15;
    --foot:#070B08;
    --x-bg:#2A1A0E;
    --x-text:#FFB27D;
    --water:#1A2E35;
    --water-text:#8DB0BC;
    --focus:#3DE68F;
    color-scheme:dark;
  }
}

/* ------------------------------------------------------------------ bază */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--head-h) + 16px)}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--f-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
@media (min-width:900px){body{font-size:17px}}
main{display:block;overflow-x:clip}
img{max-width:100%;height:auto}
picture{display:block}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit}
::selection{background:var(--tint-2);color:var(--text)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
.couriers :focus-visible,.foot :focus-visible{outline-color:#3DE68F}
.wrap{width:100%;max-width:calc(var(--max) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.ico{width:1em;height:1em;flex:none}
.skip{position:absolute;left:12px;top:-120px;z-index:100;background:var(--solid);color:var(--on-solid);padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}

/* ------------------------------------------------------------------ tipografie comună */
.eyebrow,.label{font:500 14px/1.25 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;margin:0}
.eyebrow{color:var(--accent-text);margin-bottom:18px}
.label{color:var(--muted)}
.sec-head{max-width:780px;margin-bottom:clamp(40px,5vw,72px)}
.sec-head h2{font:800 clamp(34px,5.2vw,64px)/.98 var(--f-display);letter-spacing:-.04em;margin:0}
.lede{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:var(--text-2);margin:20px 0 0;max-width:60ch}
.lede a,.prose a,.qa__a a,.facts a{color:var(--accent-text);text-decoration-thickness:1px;text-underline-offset:3px}
.badge{display:inline-flex;align-items:center;font:600 14px/1 var(--f-text);padding:5px 10px;border-radius:999px;background:var(--x-bg);color:var(--x-text);letter-spacing:0;text-transform:none;vertical-align:middle}

/* ------------------------------------------------------------------ butoane */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;border:1.5px solid transparent;font:700 16px/1.2 var(--f-text);text-decoration:none;text-align:center;padding:13px 20px;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .15s}
.btn .ico{width:20px;height:20px}
.btn:active{transform:translateY(1px)}
.btn--sm{padding:10px 16px;min-height:44px;font-size:15px;border-radius:10px}
.btn--lg{padding:16px 24px;min-height:58px;font-size:17px}
.btn--green{background:var(--accent);color:var(--on-accent);font-size:19px}   /* ≥ 18,66 px bold: contrast AA pentru text mare */
.btn--green:hover{background:var(--accent-hover)}
.btn--ghost{background:transparent;color:var(--text);border-color:var(--text)}
.btn--ghost:hover{background:var(--solid);color:var(--on-solid);border-color:var(--solid)}
.btn--ink{background:var(--solid);color:var(--on-solid)}
.btn--ink:hover{background:var(--accent-hover);color:#fff}

/* butoane de magazin: „în curând” până se completează config.js */
.stores{display:flex;flex-wrap:wrap;gap:10px}
.store{display:inline-flex;align-items:center;gap:11px;min-height:54px;padding:7px 18px 7px 14px;border-radius:12px;border:1.5px dashed var(--line-2);color:var(--text);text-decoration:none;background:transparent}
.store__glyph{width:22px;height:22px;flex:none}
.store__txt{display:flex;flex-direction:column;line-height:1.1}
.store__small{font:500 14px/1.15 var(--f-text);color:var(--muted)}
.store__big{font:700 17px/1.15 var(--f-display);letter-spacing:-.01em}
a.store{border-style:solid;border-color:var(--solid);background:var(--solid);color:var(--on-solid);transition:background-color .2s}
a.store .store__small{color:inherit;opacity:.8}
a.store:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}
a.store.store--badge{border:0;padding:0;background:none;min-height:0}
.store--badge img{display:block;height:52px;width:auto}

/* ------------------------------------------------------------------ antet */
.head{position:sticky;top:0;z-index:50;background:var(--bg);background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid var(--line)}
.head__in{display:flex;align-items:center;gap:8px;height:var(--head-h)}
.head__logo{margin-right:auto;display:block;border-radius:6px}
.head__logo img{display:block;height:26px;width:auto}
.head__nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:4px var(--gutter) 24px;box-shadow:0 24px 40px -24px rgba(11,17,13,.25);max-height:calc(100dvh - var(--head-h));overflow:auto}
.head.is-open .head__nav{display:block}
.head__nav ul{list-style:none;margin:0;padding:0}
.head__nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font:700 22px/1.2 var(--f-display);letter-spacing:-.02em;text-decoration:none;color:var(--text)}
.head__navapp a{color:var(--accent-text);border-bottom:0}
.head__menu{display:inline-flex;align-items:center;gap:10px;min-height:44px;min-width:44px;padding:0 12px;border:1.5px solid var(--line-2);border-radius:10px;background:transparent;color:var(--text);font:600 15px/1 var(--f-text);cursor:pointer}
.head__bars{position:relative;width:16px;height:10px;flex:none}
.head__bars::before,.head__bars::after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:1px;background:currentColor;transition:transform .2s,top .2s,bottom .2s}
.head__bars::before{top:0}
.head__bars::after{bottom:0}
.head.is-open .head__bars::before{top:4px;transform:rotate(45deg)}
.head.is-open .head__bars::after{bottom:4px;transform:rotate(-45deg)}
@media (max-width:419px){
  .head__logo img{height:23px}
  .head__menu{padding:0;justify-content:center}
  .head__menulbl{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@media (min-width:960px){
  .head__menu{display:none}
  .head__nav{display:block;position:static;padding:0;background:none;border:0;box-shadow:none;max-height:none;overflow:visible;margin-right:8px}
  .head__nav ul{display:flex;gap:2px}
  .head__nav a{padding:8px 12px;border:0;border-radius:8px;font:500 15px/1.2 var(--f-text);letter-spacing:0;color:var(--text-2)}
  .head__nav a:hover{background:var(--leaf);color:var(--text)}
  .head__navapp{display:none}
}
@media (min-width:1200px){.head__navapp{display:block}.head__navapp a{color:var(--accent-text)}}

/* ------------------------------------------------------------------ hero */
.hero{padding-top:clamp(28px,5vw,72px);position:relative}
.hero__grid{display:grid;gap:56px}
.kicker{display:flex;align-items:center;gap:12px;font:500 14px/1.3 var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--accent-text);margin:0}
.kicker__dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--tint-2);flex:none}
.hero__title{font:800 clamp(40px,12.4vw,64px)/.9 var(--f-display);letter-spacing:-.045em;margin:22px 0 26px}
.hero__title .ln{display:block}
.hero__title em{font-style:normal;color:var(--accent)}
.hero__lede{font-size:clamp(18px,1.55vw,21px);line-height:1.5;color:var(--text-2);margin:0;max-width:33em}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero .stores{margin-top:14px}
.hero__note{margin:16px 0 0;font-size:15px;color:var(--muted)}
@media (max-width:599px){
  .hero__lede,.hero__note{width:100%;max-width:none;text-wrap:wrap}
  .hero__actions .btn{flex:1 1 100%}
  .hero__actions .btn--ghost{font-size:16px;padding-inline:16px}
  .hero .stores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}
  .hero .store{min-width:0;justify-content:center;gap:8px;padding-inline:8px}
  .hero .store__glyph{width:20px;height:20px}
  .hero .store__txt{white-space:nowrap}
  .hero .store__small{font-size:clamp(12px,3.3vw,14px)}
  .hero .store__big{font-size:clamp(15px,4vw,17px)}
}
@media (min-width:900px){
  .hero__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,4vw,72px);align-items:start}
  .hero__title{font-size:clamp(64px,7.4vw,112px);margin-top:28px}
  .hero__copy{padding-bottom:40px}
}

/* imprimanta și bonul */
.hero__bon{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;margin-bottom:-60px}
@media (min-width:900px){.hero__bon{margin-bottom:-120px;padding-top:6px}}
@media (min-width:1200px){.printer{width:400px}.feed{width:340px}}
.printer{position:relative;z-index:2;width:min(100%,372px);height:46px;border-radius:16px 16px 12px 12px;background:linear-gradient(180deg,#2B3830 0%,#17211B 55%,#121A15 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 1px 0 rgba(11,17,13,.4),0 14px 26px -14px rgba(11,17,13,.55)}
.printer::before{content:"";position:absolute;top:13px;right:20px;width:6px;height:6px;border-radius:50%;background:#3DE68F;box-shadow:0 0 0 3px rgba(61,230,143,.14),0 0 10px rgba(61,230,143,.7)}
.printer::after{content:"";position:absolute;left:7%;right:7%;bottom:10px;height:5px;border-radius:3px;background:#040705;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.feed{position:relative;z-index:1;width:min(calc(100% - 44px),316px);margin-top:-11px;clip-path:inset(0 -60px -80px -60px)}
.bon-wrap{filter:drop-shadow(0 1px 1px rgba(23,33,27,.08)) drop-shadow(0 22px 26px rgba(23,33,27,.12))}
.bon{margin:0;background:#fff;color:#17211B;padding:30px 22px 38px;font:500 15px/1.5 var(--f-mono);
  -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/16px 100%;
  mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/16px 100%}
.bon__head{display:flex;justify-content:space-between;align-items:center;font:500 13px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#5B665F}
.bon__brand{display:inline-flex;align-items:center;gap:7px;font:800 19px/1 var(--f-display);letter-spacing:-.02em;text-transform:none;color:#17211B}
.bon__brand .ico{width:17px;height:17px;color:#00A05F}
.bon__brand img{display:block;height:20px;width:auto}
.bon--mini .bon__brand img{height:18px}
.bon__title{font:700 22px/1.15 var(--f-display);letter-spacing:-.02em;margin:18px 0 0}
.bon__sep{border-top:1.5px dashed #C9D0CA;margin:16px 0}
.bon__item{margin:0}
.bon__item span{display:block;color:#5B665F;font-size:14px}
.bon__rows{margin:0;display:grid;gap:10px}
.bon__row{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px}
.bon__row dt,.bon__dt{flex:1;display:flex;align-items:baseline;min-width:0}
.bon__row dt::before{content:"";width:8px;height:8px;border-radius:50%;background:#00A05F;margin-right:9px;flex:none;align-self:center}
.bon__row dt::after,.bon__dt::after{content:"";flex:1;border-bottom:2px dotted #C9D0CA;margin:0 0 5px 8px;min-width:12px}
.bon__row dd,.bon__dd{margin:0;font-weight:600}
.bon__row .bon__note{flex-basis:100%;font-weight:500;font-size:14px;color:#5B665F;padding-left:17px}
.bon__row--x dt::before{background:#FF8A3D}
.bon__rows--sm{gap:4px;font-size:14px;color:#3A453D}
.bon__rows--sm .bon__row dt::before{display:none}
.bon__small{margin:0;font:400 14px/1.5 var(--f-text);color:#3A453D}
.bon__foot{display:flex;justify-content:space-between;gap:8px;margin-top:18px;font:500 13px/1 var(--f-mono);letter-spacing:.06em;color:#5B665F}

/* ------------------------------------------------------------------ ce este */
.intro{padding:clamp(92px,11vw,156px) 0 clamp(64px,8vw,112px)}
.intro__grid{display:grid;gap:22px}
@media (min-width:900px){
  .intro__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:clamp(32px,4vw,72px);align-items:end}
  .intro__grid>.label{grid-column:1}
  .statement{grid-column:1;grid-row:2}
  .nots{grid-column:2;grid-row:2;margin-top:0}
  .nots ul{grid-template-columns:1fr}
}
.statement{font:700 clamp(26px,3.3vw,44px)/1.14 var(--f-display);letter-spacing:-.028em;margin:0}
.statement span{color:var(--muted)}
.nots{margin-top:20px;padding-top:26px;border-top:1px solid var(--line)}
.nots ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px 32px}
.nots li{position:relative;padding-left:28px;color:var(--text-2)}
.nots li::before{content:"";position:absolute;left:0;top:.8em;width:14px;height:2px;border-radius:1px;background:var(--muted)}
@media (min-width:600px){.nots ul{grid-template-columns:1fr 1fr}}

/* ------------------------------------------------------------------ secțiuni: spațiere */
.how,.route,.prices,.bag,.trust,.couriers,.cities,.faqs,.get{padding-block:var(--sec)}
.how{padding-top:clamp(40px,5vw,72px)}
.bag,.trust,.faqs{padding-top:calc(var(--sec) * .5)}   /* secțiuni consecutive pe același fundal */

/* ------------------------------------------------------------------ telefon */
.phone{width:300px;max-width:100%;padding:9px;border-radius:48px;background:#17211B;box-shadow:inset 0 0 0 1.5px #34403A,0 0 0 1px rgba(23,33,27,.05),0 44px 70px -34px rgba(23,33,27,.5),0 18px 30px -20px rgba(23,33,27,.35)}
.phone__screen{position:relative;overflow:hidden;border-radius:39px;aspect-ratio:640/1391;background:#E9EDE9}
.phone__screen picture,.phone__screen img{display:block;width:100%;height:100%;object-fit:cover}
.phone--sm{width:232px;padding:7px;border-radius:38px}
.phone--sm .phone__screen{border-radius:31px}
.phone--dark{width:280px;background:#26312A;box-shadow:inset 0 0 0 1.5px #3D4A42,0 50px 80px -30px rgba(0,0,0,.6)}

/* ------------------------------------------------------------------ cum comanzi */
.how__stage{display:none}
.how__steps{list-style:none;margin:0;padding:0}
.step{padding:40px 0;border-top:1px solid var(--line)}
.step:last-child{padding-bottom:0}
.step__n{font:500 14px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin:0 0 12px}
.step h3{font:700 clamp(26px,2.6vw,36px)/1.08 var(--f-display);letter-spacing:-.03em;margin:0 0 14px;max-width:18ch}
.step p{margin:0;color:var(--text-2);max-width:46ch}
.step__shot{display:flex;justify-content:center;margin-top:32px}
.step__shot .shot--alt{position:absolute;inset:0;opacity:0}
@media (min-width:600px) and (max-width:899px){
  .step{display:grid;grid-template-columns:minmax(0,1fr) 220px;column-gap:40px;align-items:center}
  .step>:not(.step__shot){grid-column:1}
  .step__shot{grid-column:2;grid-row:1 / span 3;margin-top:0}
  .step__shot .phone--sm{width:220px}
}
@media (min-width:900px){
  .how__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px)}
  .how__stage{display:flex;flex-direction:column;align-items:center;position:sticky;top:104px;align-self:start}
  .how__stage .shot{position:absolute;inset:0;opacity:0;transition:opacity .45s ease}
  .how__stage[data-step="1"] .shot[data-for="1"],
  .how__stage[data-step="2"] .shot[data-for="2"],
  .how__stage[data-step="3"] .shot[data-for="3"]:not(.shot--alt),
  .how__stage[data-step="4"] .shot[data-for="4"]{opacity:1}
  .step{min-height:600px;display:flex;flex-direction:column;justify-content:center;border-top:0;padding:0}
  .step:last-child{padding:0}
  .step__shot{display:none}
  html.js .step{opacity:.38;transition:opacity .4s ease}
  html.js .step.is-on{opacity:1}
}
@media (min-width:900px) and (max-height:820px){.how__stage .phone{width:262px}}
.how__ticks{display:flex;gap:8px;list-style:none;margin:26px 0 0;padding:0}
.how__ticks li{width:26px;height:4px;border-radius:2px;background:var(--line-2);transition:width .3s,background-color .3s}
.how__stage[data-step="1"] .how__ticks [data-for="1"],
.how__stage[data-step="2"] .how__ticks [data-for="2"],
.how__stage[data-step="3"] .how__ticks [data-for="3"],
.how__stage[data-step="4"] .how__ticks [data-for="4"]{width:44px;background:var(--accent)}
.how__cap{font:500 14px/1.3 var(--f-mono);color:var(--muted);margin:14px 0 0}

/* ------------------------------------------------------------------ traseul comenzii */
.route{background:var(--surface);border-block:1px solid var(--line)}
.route__line{list-style:none;margin:0;padding:0;display:grid;view-timeline:--route block}
.route__line .station{--i:0}
.route__line .station:nth-child(2){--i:1}
.route__line .station:nth-child(3){--i:2}
.route__line .station:nth-child(4){--i:3}
.station{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:20px;padding-bottom:40px}
.station:last-child{padding-bottom:0}
.station>:not(.station__dot){grid-column:2}
.station__dot{grid-column:1;grid-row:1 / span 3;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 6px var(--tint-2)}
.station__dot .ico{width:24px;height:24px}
.station::after{content:"";position:absolute;left:27px;top:68px;bottom:10px;width:2px;border-radius:1px;background:var(--accent);transform-origin:top}
.station:last-child::after{display:none}
.station__name{font:700 24px/1.1 var(--f-display);letter-spacing:-.02em;margin:6px 0 6px}
.station__quote{font:500 14px/1.4 var(--f-mono);color:var(--accent-text);margin:0 0 10px}
.station p:last-child{margin:0;color:var(--text-2);font-size:16px}
.route__note{margin:48px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
@media (min-width:900px){
  .route__line{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
  .station{display:block;padding:0}
  .station__dot{margin-bottom:26px}
  .station::after{left:74px;right:-24px;top:27px;bottom:auto;width:auto;height:2px;transform-origin:left}
}

/* ------------------------------------------------------------------ prețuri */
.prices__grid{display:grid;gap:20px;align-items:start}
@media (min-width:720px){.prices__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pay{grid-column:1 / -1}}
@media (min-width:1100px){.prices__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr)}.pay{grid-column:auto}}
.ticket{--y:184px;--top:var(--tint);position:relative;isolation:isolate;filter:drop-shadow(0 1px 1px rgba(23,33,27,.07)) drop-shadow(0 18px 26px rgba(23,33,27,.08))}
.ticket--x{--top:var(--x-bg)}
.ticket::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:22px;background:linear-gradient(var(--top) 0 var(--y),var(--surface) var(--y));
  -webkit-mask:radial-gradient(circle 13px at 0 var(--y),#0000 12.5px,#000 13px) 0 0/51% 100% no-repeat,radial-gradient(circle 13px at 100% var(--y),#0000 12.5px,#000 13px) 100% 0/51% 100% no-repeat;
  mask:radial-gradient(circle 13px at 0 var(--y),#0000 12.5px,#000 13px) 0 0/51% 100% no-repeat,radial-gradient(circle 13px at 100% var(--y),#0000 12.5px,#000 13px) 100% 0/51% 100% no-repeat}
.ticket__top{height:var(--y);padding:26px 28px 24px;display:flex;flex-direction:column;justify-content:space-between}
.ticket__kind{display:flex;align-items:center;gap:10px;font:700 24px/1 var(--f-display);letter-spacing:-.02em;margin:0}
.ticket__kind .ico{width:22px;height:22px;color:var(--accent)}
.ticket--x .ticket__kind{color:var(--x-text)}
.ticket--x .ticket__kind .ico{color:var(--x)}
.ticket__price{display:flex;align-items:baseline;gap:8px;margin:0;font:700 26px/1 var(--f-display);letter-spacing:-.02em}
.ticket__price span{font-size:96px;font-weight:800;line-height:.78;letter-spacing:-.055em}
.ticket__meta{margin:0 28px;padding:22px 0 26px;border-top:2px dashed var(--line-2);display:grid;gap:12px}
.ticket__meta div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.ticket__meta dt{font:500 14px/1.3 var(--f-mono);color:var(--muted)}
.ticket__meta dd{margin:0;font-weight:500;text-align:right}
.pay{border:1px solid var(--line);border-radius:22px;padding:clamp(22px,2.4vw,30px);background:var(--bg)}
.pay__h{font:700 24px/1.1 var(--f-display);letter-spacing:-.02em;margin:0 0 8px}
.pay__list{margin:0}
.pay__list div{padding:14px 0;border-bottom:1px solid var(--line)}
.pay__list dt{font:500 14px/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}
.pay__list dd{margin:6px 0 0;color:var(--text-2);font-size:16px}
.pay__notes{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px}
.pay__notes li{position:relative;padding-left:24px;font-size:16px}
.pay__notes li::before{content:"";position:absolute;left:2px;top:.55em;width:9px;height:5px;border-left:2px solid var(--accent-text);border-bottom:2px solid var(--accent-text);transform:rotate(-45deg)}

/* ------------------------------------------------------------------ sacul */
.bag__grid{display:grid;gap:24px}
@media (min-width:700px){.bag__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bag__card{grid-column:1 / -1}}
@media (min-width:1000px){.bag__grid{grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,4fr);gap:clamp(24px,3vw,48px)}.bag__card{grid-column:auto}}
.bag__card{margin:0;background:#fff;border:1px solid #E7EAE6;border-radius:24px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.bag__card img{width:min(100%,220px);mix-blend-mode:multiply}
.bag__card figcaption{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.bag__card figcaption span{font:600 14px/1 var(--f-mono);padding:9px 13px;border-radius:999px;background:#EDF7F1;color:#007A4B;border:1px solid #CBEBDA}
.bag__col h3{display:flex;align-items:center;gap:12px;font:800 34px/1 var(--f-display);letter-spacing:-.03em;margin:4px 0 14px}
.bag__col h3 .ico{width:38px;height:38px;padding:9px;border-radius:50%;background:var(--accent);color:var(--on-accent);stroke-width:2.6}
.bag__col--no h3 .ico{background:var(--solid);color:var(--on-solid)}
.bag__col ul{list-style:none;margin:0;padding:0}
.bag__col li{padding:12px 0;border-top:1px solid var(--line)}
.bag__foot{display:grid;gap:24px;margin-top:40px}
@media (min-width:900px){.bag__foot{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:clamp(32px,4vw,72px)}}
.bag__rule{font:700 clamp(20px,2vw,26px)/1.3 var(--f-display);letter-spacing:-.015em;margin:0;max-width:34ch}
.sgr{background:var(--tint);border:1px solid var(--tint-line);border-radius:20px;padding:22px 24px}
.sgr__h{font:600 14px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin:0 0 8px}
.sgr p{margin:0;font-size:16px;color:var(--text-2)}

/* ------------------------------------------------------------------ siguranță */
.who-wrap{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:6px clamp(10px,2.4vw,32px)}
.who{width:100%;border-collapse:collapse;font-size:clamp(15px,1.25vw,17px);line-height:1.45}
.who th,.who td{text-align:left;vertical-align:top;padding:16px 10px;border-top:1px solid var(--line)}
.who thead th{border-top:0;font:500 14px/1.3 var(--f-mono);letter-spacing:.04em;color:var(--muted);padding-block:18px 14px}
.who tbody th{font-weight:500;width:40%}
.who td{color:var(--text-2)}
.who td::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:9px;vertical-align:1px}
.who td.is-yes::before{background:var(--accent)}
.who td.is-no::before{box-shadow:inset 0 0 0 1.5px var(--muted)}
@media (max-width:359px){
  .who{font-size:14px}
  .who th,.who td{padding-inline:5px}
  .who thead th{font-size:12px;letter-spacing:.02em}
}
@media (min-width:700px){.who thead th{text-transform:uppercase}.who th,.who td{padding-inline:14px}}
.facts{display:grid;gap:0 36px;margin:48px 0 0}
@media (min-width:600px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
.facts div{padding:22px 0 24px;border-top:1px solid var(--line)}
.facts dt{font:600 14px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin-bottom:8px}
.facts dd{margin:0;color:var(--text-2)}

/* ------------------------------------------------------------------ culegători (secțiune închisă) */
.couriers{background:var(--deep);color:#F1F6F2}
.couriers .eyebrow{color:#3DE68F}
.couriers .lede{color:#C4D0C8}
.couriers__top{display:grid;gap:56px;align-items:center}
@media (min-width:900px){.couriers__top{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(40px,5vw,80px)}}
.couriers__demo{display:flex;flex-direction:column;align-items:center}
.toggle{position:relative;z-index:2;display:flex;align-items:center;gap:14px;width:min(100%,340px);margin-bottom:-38px;padding:14px 16px;border-radius:18px;background:#fff;color:#17211B;box-shadow:0 24px 44px -18px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.04)}
@media (min-width:900px){.toggle{transform:translateX(-14%)}}
.toggle__dot{width:10px;height:10px;border-radius:50%;flex:none;background:#00A05F;box-shadow:0 0 0 4px rgba(0,160,95,.16);transition:background-color .3s,box-shadow .3s}
.toggle__txt{flex:1;min-width:0;display:grid}
.toggle__off,.toggle__on{display:grid;grid-area:1 / 1;line-height:1.3}
.toggle__txt b{font:700 16px/1.25 var(--f-text)}
.toggle__txt span span{font-size:14px;color:#5B665F}
.toggle__off{visibility:hidden}
.toggle__sw{position:relative;width:52px;height:32px;border-radius:16px;flex:none;background:#00A05F;transition:background-color .3s}
.toggle__knob{position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.25);transform:translateX(20px);transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.toggle.is-armed:not(.is-live) .toggle__off{visibility:visible}
.toggle.is-armed:not(.is-live) .toggle__on{visibility:hidden}
.toggle.is-armed:not(.is-live) .toggle__dot{background:#A3B1A8;box-shadow:0 0 0 4px rgba(163,177,168,.2)}
.toggle.is-armed:not(.is-live) .toggle__sw{background:#CDD4CE}
.toggle.is-armed:not(.is-live) .toggle__knob{transform:none}
.couriers__cols{display:grid;gap:40px;margin-top:clamp(64px,8vw,112px)}
@media (min-width:900px){.couriers__cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}}
.ccol{padding-top:22px;border-top:1px solid rgba(241,246,242,.16)}
.ccol h3{font:700 22px/1.15 var(--f-display);letter-spacing:-.02em;margin:0 0 14px}
.ccol ul,.ccol ol{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:n}
.ccol li{position:relative;padding-left:30px;color:#C4D0C8;font-size:16px}
.ccol ul li::before{content:"";position:absolute;left:2px;top:.8em;width:12px;height:2px;border-radius:1px;background:#3DE68F}
.ccol ol li{counter-increment:n}
.ccol ol li::before{content:counter(n);position:absolute;left:0;top:.1em;font:600 14px/1.5 var(--f-mono);color:#3DE68F}
.money{display:grid;gap:20px;margin-top:56px;padding:clamp(22px,3vw,40px);border-radius:24px;background:#0B110D;border:1px solid rgba(241,246,242,.1)}
@media (min-width:1000px){.money{grid-template-columns:160px minmax(0,1fr);gap:32px}}
.money__h{font:800 32px/1 var(--f-display);letter-spacing:-.03em;margin:0}
.money__list{display:grid;gap:0 32px;margin:0}
@media (min-width:640px){.money__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1200px){.money__list{grid-template-columns:repeat(4,minmax(0,1fr))}}
.money__list div{padding:16px 0 18px;border-top:1px solid rgba(241,246,242,.12)}
.money__list dt{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:500 14px/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:#A3B1A8}
.money__list dd{margin:8px 0 0;color:#C4D0C8;font-size:16px}
.money__big{display:block;font:800 40px/1 var(--f-display);letter-spacing:-.035em;color:#3DE68F;margin-bottom:8px}
.money__soon dd{color:#A3B1A8}
.couriers .badge{background:rgba(255,138,61,.16);color:#FFB27D}
.couriers__cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:40px}
.couriers .btn--green{background:#3DE68F;color:#0B110D}
.couriers .btn--green:hover{background:#7AF0B2}
.couriers .store{border-color:rgba(241,246,242,.3);color:#F1F6F2}
.couriers .store__small{color:#A3B1A8}
.couriers a.store{background:#F1F6F2;border-color:#F1F6F2;color:#0B110D}
@media (max-width:599px){.couriers__cta .btn{flex:1 1 100%}}

/* ------------------------------------------------------------------ înscriere culegători (lista de așteptare)
   Cardul e alb în ambele teme, ca bonul: secțiunea culegătorilor e mereu închisă la culoare. */
.couriers__join{margin:24px 0 0}
.go{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:700 17px/1.3 var(--f-text);color:#3DE68F;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
.go .ico{width:20px;height:20px;flex:none}
.go:hover{color:#7AF0B2}
.join{display:grid;gap:32px;margin-top:clamp(56px,7vw,96px);padding-top:clamp(40px,5vw,64px);border-top:1px solid rgba(241,246,242,.16)}
@media (min-width:900px){.join{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,5vw,80px);align-items:start}}
.join__h{font:800 clamp(32px,4.6vw,56px)/1 var(--f-display);letter-spacing:-.04em;margin:0}
.join__lede{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:#C4D0C8;margin:20px 0 0;max-width:40ch}
.join__box{color-scheme:light;background:#fff;color:#17211B;border-radius:24px;padding:clamp(20px,3vw,40px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.join__box :focus-visible{outline-color:#007A4B}
.join__form{display:grid;gap:22px}
.join__req{margin:0;font-size:15px;color:#5B665F}
.join__names{display:grid;gap:22px}
@media (min-width:600px){.join__names{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
.field{display:grid;gap:8px;min-width:0;margin:0;padding:0;border:0}
.field__l{display:block;padding:0;font:700 16px/1.3 var(--f-text);color:#17211B}
legend.field__l{margin-bottom:8px}
.field__i{display:block;width:100%;min-width:0;min-height:52px;margin:0;padding:12px 14px;border:1.5px solid #CDD4CE;border-radius:12px;background:#fff;color:#17211B;font:400 17px/1.3 var(--f-text);transition:border-color .2s}
.field__i:hover{border-color:#5B665F}
.field__i:focus{border-color:#007A4B}
.field__i:focus-visible{outline-offset:2px}
.field__i::placeholder{color:#5B665F;opacity:1}
.field__i[aria-invalid="true"]{border-color:#B05010;border-width:2px}
.field__err{margin:0;font:600 15px/1.4 var(--f-text);color:#B05010}
.choice{display:flex;flex-wrap:wrap;gap:10px}
.choice__o{flex:1 1 140px;display:flex;align-items:center;gap:12px;min-height:52px;padding:10px 16px;border:1.5px solid #CDD4CE;border-radius:12px;background:#fff;color:#17211B;font:600 17px/1.2 var(--f-text);cursor:pointer;transition:border-color .2s,background-color .2s}
.choice__o:hover{border-color:#5B665F}
.choice__o input{width:22px;height:22px;margin:0;flex:none;accent-color:#007A4B;cursor:pointer}
.choice__o span{white-space:nowrap}
.choice__o:has(input:checked){border-color:#007A4B;background:#EDF7F1;box-shadow:inset 0 0 0 1px #007A4B}
.choice__o:has(input[aria-invalid="true"]){border-color:#B05010}
.check{display:flex;align-items:flex-start;gap:12px;min-height:44px;font-size:16px;line-height:1.5;color:#17211B;cursor:pointer}
.check input{width:24px;height:24px;margin:0;flex:none;accent-color:#007A4B;cursor:pointer}
.check input[aria-invalid="true"]{outline:2px solid #B05010;outline-offset:2px}
.check input[aria-invalid="true"]:focus-visible{outline:3px solid #007A4B;outline-offset:3px}
.check__more,.check~.field__err{margin:0;padding-left:36px}
.check__more a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:#007A4B;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.check__more a:hover{color:#045030}
.join__hp{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.join__alert{margin:0;padding:14px 16px;border-radius:12px;border-left:4px solid #FF8A3D;background:#FFF0E4;color:#17211B;font:600 16px/1.45 var(--f-text)}
.join__alert:empty{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);border:0}
.join__box .btn--green{background:#00A05F;color:#fff}
.join__box .btn--green:hover{background:#045030}
.join__btn{width:100%}
.join__btn[disabled]{cursor:progress}
.join__btn[disabled]:hover{background:#00A05F}
@media (min-width:600px){.join__btn{width:auto;min-width:220px;justify-self:start}}
.join__ok{position:relative;margin:0;padding:6px 0 6px 58px;min-height:44px;font:700 clamp(20px,2vw,24px)/1.3 var(--f-display);letter-spacing:-.015em;color:#17211B;border-radius:6px}
.join__ok::before{content:"";position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:#00A05F}
.join__ok::after{content:"";position:absolute;left:15px;top:14px;width:15px;height:9px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg)}
.join__nojs{margin:0;font-size:17px;line-height:1.5;color:#17211B}
/* Fără main.js (blocat, eșuat sau JS oprit) formularul ar face POST nativ spre un server static */
html:not(.js) .join__form,html.js .join__nojs{display:none}
.join__nojs a{color:#007A4B;font-weight:700;text-underline-offset:3px}
@keyframes join-in{from{opacity:0;transform:translateY(6px)}}
@media (prefers-reduced-motion:no-preference){.join__ok{animation:join-in .4s ease-out both}}

/* ------------------------------------------------------------------ orașe */
.cities__grid{display:grid;gap:20px}
@media (min-width:760px){.cities__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.city{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:clamp(10px,1.6vw,20px);view-timeline:--city block}
.city__map{display:block;width:100%;height:auto}
.city__cap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin-top:6px;padding:14px 8px 6px;border-top:1px solid var(--line)}
.city__name{font:800 28px/1 var(--f-display);letter-spacing:-.03em}
.city__coords{font:500 14px/1.2 var(--f-mono);color:var(--muted)}
.city__dot{fill:var(--line-2)}
.city__river{fill:none;stroke:var(--water);stroke-width:12;stroke-linecap:round;stroke-linejoin:round}
.city__rlabel{font:600 10.5px var(--f-mono);letter-spacing:.2em;text-transform:uppercase;fill:var(--water-text)}
.city__ring{fill:var(--tint);fill-opacity:.55;stroke:var(--accent);stroke-width:2;stroke-dasharray:100;stroke-dashoffset:0}
.city__rtag{font:600 12px var(--f-mono);fill:var(--accent-text);paint-order:stroke;stroke:var(--surface);stroke-width:6px;stroke-linejoin:round}
.city__pt{fill:var(--text-2)}
.city__lbl{font:500 13px var(--f-text);fill:var(--text-2);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}
.city__halo{fill:var(--accent);fill-opacity:.18}
.city__c{fill:var(--accent);stroke:var(--surface);stroke-width:2.5}
.city__clbl{font:700 14px var(--f-display);fill:var(--text);paint-order:stroke;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}
.city__scale path{fill:none;stroke:var(--muted);stroke-width:1.5}
.city__scale text,.city__north text{font:500 11px var(--f-mono);fill:var(--muted)}
.city__north path{fill:var(--text)}
.cities__note{margin:20px 0 0;font-size:15px;color:var(--muted)}

/* ------------------------------------------------------------------ întrebări */
.faqs__grid{display:grid;gap:8px}
@media (min-width:1000px){
  .faqs__grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(40px,5vw,80px)}
  .faqs .sec-head{position:sticky;top:104px;align-self:start}
}
.faq__group+.faq__group{margin-top:48px}
.faq__h{font:600 14px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin:0 0 10px}
.faq__list{border-top:1.5px solid var(--text)}
.qa{border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 0;font:700 clamp(17px,1.4vw,19px)/1.35 var(--f-text);border-radius:6px}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover .qa__q{color:var(--accent-text)}
.qa__i{position:relative;flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--line-2);color:var(--text);transition:background-color .2s,border-color .2s,color .2s}
.qa__i::before,.qa__i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .25s}
.qa__i::after{transform:translate(-50%,-50%) rotate(90deg)}
.qa[open] .qa__i{background:var(--solid);border-color:var(--solid);color:var(--on-solid)}
.qa[open] .qa__i::after{transform:translate(-50%,-50%) rotate(0deg)}
.qa__a{padding:0 52px 22px 0;color:var(--text-2)}
.qa__a p{margin:0;max-width:62ch}

/* ------------------------------------------------------------------ descarcă */
.get{background:var(--tint);border-top:1px solid var(--tint-line)}
.get__list{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--text)}
.get__row{display:grid;gap:16px;align-items:center;padding:26px 0;border-bottom:1px solid var(--tint-line)}
@media (min-width:760px){.get__row{grid-template-columns:minmax(0,1fr) 280px;gap:40px}}
.get__what h3{display:flex;align-items:center;gap:12px;font:700 24px/1.15 var(--f-display);letter-spacing:-.02em;margin:0 0 6px}
.get__what h3 .ico{width:24px;height:24px}
.get__what p{margin:0;color:var(--text-2);font-size:16px;max-width:56ch}
.get__row>.btn,.get__row>.store{width:100%;justify-content:center}
.get__row>.btn--green{font-size:19px}

/* ------------------------------------------------------------------ subsol */
.foot{background:var(--foot);color:#C4D0C8;padding:clamp(56px,7vw,96px) 0 32px;font-size:16px}
.foot a{color:#F1F6F2;text-decoration:none;overflow-wrap:anywhere}
.foot a:hover{text-decoration:underline;text-underline-offset:3px}
.foot__top{display:grid;gap:44px}
@media (min-width:1000px){.foot__top{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px}}
.foot__brand img{display:block;height:28px;width:auto}
.foot__brand p{margin:18px 0 0;max-width:32ch;color:#A3B1A8}
.foot__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}
@media (min-width:700px){.foot__cols{grid-template-columns:repeat(4,minmax(0,1fr))}}
.foot__h{font:600 14px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#A3B1A8;margin:0 0 14px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot__muted{color:#A3B1A8;font-size:15px}
.foot__base{display:grid;gap:18px;margin-top:64px;padding-top:26px;border-top:1px solid rgba(241,246,242,.12);font-size:14px;color:#A3B1A8}
.foot__base p{margin:0}
.foot__co strong{color:#F1F6F2;font-weight:600}
.foot__anpc{display:flex;flex-wrap:wrap;gap:10px}
.foot__anpc a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border:1px solid rgba(241,246,242,.28);border-radius:999px;font:600 14px/1 var(--f-mono);letter-spacing:.04em}
.foot__anpc a:hover{border-color:#3DE68F;text-decoration:none}
@media (min-width:1000px){.foot__base{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:32px}}

/* ------------------------------------------------------------------ pagini legale */
.legal{padding:clamp(28px,4vw,56px) 0 clamp(72px,9vw,128px)}
.legal__tabs{display:flex;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.legal__tabs a{padding:9px 14px;border-radius:10px;font:500 15px/1.2 var(--f-text);color:var(--text-2);text-decoration:none}
.legal__tabs a:hover{background:var(--leaf);color:var(--text)}
.legal__tabs a[aria-current="page"]{background:var(--solid);color:var(--on-solid)}
.legal__head{margin:36px 0 clamp(28px,4vw,56px);padding-bottom:28px;border-bottom:1.5px solid var(--text)}
.legal__head h1{font:800 clamp(40px,6.4vw,84px)/.94 var(--f-display);letter-spacing:-.045em;margin:0;max-width:15ch}
.legal__date{font:500 14px/1.3 var(--f-mono);color:var(--muted);margin:20px 0 0}
.legal__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.legal__grid>*{min-width:0}
.toc--d{display:none}
.toc ol{list-style:none;margin:0;padding:0}
.toc--m{background:var(--surface);border:1px solid var(--line);border-radius:14px}
.toc--m summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:0 18px;font:600 14px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);border-radius:14px}
.toc--m summary::-webkit-details-marker{display:none}
.toc--m summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.toc--m[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.toc--m ol{padding:4px 18px 14px;border-top:1px solid var(--line)}
.toc--m a{display:block;padding:9px 0;color:var(--text-2);text-decoration:none;font-size:16px}
.toc__h{font:600 14px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin:0 0 14px}
.toc--d ol{border-left:1.5px solid var(--line)}
.toc--d a{display:block;margin-left:-1.5px;padding:6px 0 6px 16px;border-left:1.5px solid transparent;font-size:15px;line-height:1.35;color:var(--muted);text-decoration:none;border-radius:0}
.toc--d a:hover{color:var(--text)}
.toc--d a[aria-current]{color:var(--text);border-left-color:var(--accent);font-weight:500}
@media (min-width:1000px){
  .legal__grid{grid-template-columns:250px minmax(0,1fr);gap:clamp(48px,6vw,96px)}
  .toc--m{display:none}
  .toc--d{display:block;position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;padding-right:8px}
}
.prose{max-width:720px;line-height:1.7;color:var(--text-2)}
.prose h2{font:700 clamp(22px,2.1vw,28px)/1.2 var(--f-display);letter-spacing:-.02em;color:var(--text);margin:56px 0 14px}
.prose .opbox+h2{margin-top:44px}
.prose h3{font:700 19px/1.3 var(--f-text);color:var(--text);margin:28px 0 8px}
.prose p,.prose ul,.prose ol{margin:0 0 16px}
.prose ul,.prose ol{padding-left:1.25em}
.prose li{margin:7px 0;padding-left:4px}
.prose li::marker{color:var(--accent-text)}
.prose strong{color:var(--text);font-weight:700}
.table-wrap{margin:20px 0 26px;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.prose table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}
.prose th,.prose td{text-align:left;vertical-align:top;padding:12px 14px;border-top:1px solid var(--line)}
.prose thead th{border-top:0;background:var(--leaf);font:600 14px/1.3 var(--f-mono);letter-spacing:.04em;color:var(--muted)}
.prose td:first-child{color:var(--text);font-weight:500}
@media (max-width:599px){.prose th,.prose td{padding:10px 10px}.prose table{font-size:14.5px}}
/* pe telefon, tabelele cu trei coloane devin fișe: rolurile ARIA din HTML păstrează semantica de tabel */
@media (max-width:599px){
  .table-wrap--stack{overflow:visible;border:0;border-radius:0;background:none}
  .table-wrap--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .table-wrap--stack table,.table-wrap--stack tbody,.table-wrap--stack tr,.table-wrap--stack td{display:block;width:auto}
  .table-wrap--stack tr{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:0 0 10px}
  .prose .table-wrap--stack td{border:0;padding:0;font-size:15px}
  .prose .table-wrap--stack td+td{margin-top:10px}
  .prose .table-wrap--stack td:first-child{font:700 16px/1.35 var(--f-text);color:var(--text)}
  .table-wrap--stack td[data-label]::before{content:attr(data-label);content:attr(data-label) / "";display:block;margin-bottom:2px;font:600 14px/1.3 var(--f-mono);letter-spacing:.04em;color:var(--muted)}
}
.opbox{background:var(--tint);border:1px solid var(--tint-line);border-radius:16px;padding:20px 24px}
.opbox p{margin:0}
.prose .opbox__h,.opbox__h{font:600 14px/1.2 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin:0 0 10px}
.opbox strong{font-weight:700}

/* ------------------------------------------------------------------ 404 */
.nf{padding:clamp(48px,8vw,120px) 0 clamp(72px,9vw,140px)}
.nf__in{display:grid;gap:56px;align-items:center}
@media (min-width:900px){.nf__in{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.nf__title{font:800 clamp(46px,8vw,104px)/.92 var(--f-display);letter-spacing:-.045em;margin:0 0 8px}
.nf__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
@media (max-width:599px){.nf__actions .btn{flex:1 1 100%}}
.nf__bon{display:flex;justify-content:center;filter:drop-shadow(0 22px 26px rgba(23,33,27,.14))}
.bon--mini{width:min(100%,300px);transform:rotate(-2.5deg)}
.bon--mini .bon__rows{margin-top:4px}
.bon--mini .bon__row{flex-wrap:nowrap}

/* ------------------------------------------------------------------ mișcare
   Totul de mai jos e opțional: fără suport sau cu „reduce motion”, pagina rămâne în starea finală. */
@keyframes feed{from{transform:translateY(-101%)}}
@keyframes blink{50%{opacity:.2}}
@keyframes alt{0%,40%{opacity:0}50%,90%{opacity:1}100%{opacity:0}}
@keyframes lit{from{background:var(--surface);color:var(--muted);box-shadow:inset 0 0 0 2px var(--line-2),0 0 0 0 transparent}}
@keyframes grow-y{from{transform:scaleY(0)}}
@keyframes grow-x{from{transform:scaleX(0)}}
@keyframes ring{from{stroke-dashoffset:100}}
@keyframes hairline{from{border-bottom-color:transparent}}

@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  .bon-wrap{animation:feed 2.2s cubic-bezier(.25,.8,.3,1) .35s both}
  .printer::before{animation:blink .3s steps(1,end) .35s 7}
  .how__stage[data-step="3"] .shot--alt,
  .step__shot .shot--alt{animation:alt 7s ease-in-out 1s infinite}

  /* varianta fără scroll timelines: main.js pune html.io și .in */
  html.io .route__line .station__dot{transition:background-color .5s,color .5s,box-shadow .5s;transition-delay:calc(var(--i) * .28s)}
  html.io .route__line .station::after{transition:transform .5s ease;transition-delay:calc(var(--i) * .28s + .2s)}
  html.io .route__line:not(.in) .station__dot{background:var(--surface);color:var(--muted);box-shadow:inset 0 0 0 2px var(--line-2)}
  html.io .route__line:not(.in) .station::after{transform:scaleY(0)}
  html.io .city__ring{transition:stroke-dashoffset 1.6s cubic-bezier(.4,0,.2,1) .2s}
  html.io .city:not(.in) .city__ring{stroke-dashoffset:100}
}
@media (prefers-reduced-motion:no-preference) and (min-width:900px){
  html.io .route__line:not(.in) .station::after{transform:scaleX(0)}
}

@supports (animation-timeline:scroll()){
  @media (prefers-reduced-motion:no-preference){
    .head{animation:hairline linear both;animation-timeline:scroll(root);animation-range:0 80px}
  }
}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .station__dot{animation:lit linear both;animation-timeline:view();animation-range:entry 60% cover 40%}
    .station::after{animation:grow-y linear both;animation-timeline:view();animation-range:entry 80% cover 50%}
    .city__ring{animation:ring linear both;animation-timeline:--city;animation-range:entry 30% cover 50%}
  }
  @media (prefers-reduced-motion:no-preference) and (min-width:900px){
    .station__dot{animation-timeline:--route;animation-range:cover calc(15% + var(--i) * 7%) cover calc(22% + var(--i) * 7%)}
    .station::after{animation-name:grow-x;animation-timeline:--route;animation-range:cover calc(19% + var(--i) * 7%) cover calc(25% + var(--i) * 7%)}
  }
}

/* ------------------------------------------------------------------ mod întunecat: excepții */
@media (prefers-color-scheme:dark){
  .printer{box-shadow:inset 0 0 0 1px #2E3E35,inset 0 1px 0 rgba(255,255,255,.09),0 14px 26px -14px rgba(0,0,0,.8)}
  .bon-wrap{filter:drop-shadow(0 22px 30px rgba(0,0,0,.5))}
  .phone{box-shadow:inset 0 0 0 1.5px #34403A,0 44px 70px -34px rgba(0,0,0,.8)}
  .ticket{filter:none}
  .ticket::before{background:linear-gradient(var(--top) 0 var(--y),var(--surface) var(--y))}
  .bag__card{border-color:transparent}
  .foot{border-top:1px solid var(--line)}
  .couriers{border-block:1px solid var(--line)}
  .money{background:#0B110D}
  .nf__bon{filter:drop-shadow(0 22px 30px rgba(0,0,0,.5))}
  .btn--ink:hover,a.store:hover{color:#0B110D}
}

/* ------------------------------------------------------------------ tipărire (paginile legale) */
@media print{
  .head,.foot,.legal__side,.legal__tabs,.skip{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  .legal__grid{display:block}
  .prose{max-width:none;color:#000}
  .prose a{color:#000}
}
