/* Dacic Horses, runda 3: calea de mijloc.
   Scheletul e un site de rezervări clar; brandul (emblema, bleumarinul și roșul afișului lor,
   serif-ul de titluri, linia ferată, biletul de la voucher) stă deasupra. Gândit întâi la 390 px.
   Direcția și paleta sunt explicate în ../BRAND.md. */

/* ---------- fonturi (self-hosted, latin + latin-ext pentru ș ț) ---------- */
@font-face{font-family:"Besley";src:url(../fonts/besley-latin.woff2) format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Besley";src:url(../fonts/besley-latin-ext.woff2) format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-ext-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-ext-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-ext-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Barlow";src:url(../fonts/barlow-latin-ext-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- culori și mărimi ---------- */
:root{
  --bg:#F1F4E6;        /* hârtie verzuie: fundalul dominant (verdele peretelui de grajd, foarte deschis) */
  --bg-2:#E2E8D0;      /* carton verde: secțiunile de alternanță */
  --card:#FCFDF8;      /* carduri, câmpuri, email */
  --border:#C5CDB0;    /* linii fine de carduri (decor) */
  --line:#6E7890;      /* marginea câmpurilor (UI ≥ 3:1) */
  --navy:#172B5C;      /* bleumarinul afișului lor: text, header */
  --navy-2:#22396F;
  --soft:#3D4A66;      /* text secundar */
  --on-navy:#D6DCEA;   /* text secundar pe bleumarin */
  --red:#B3161D;       /* roșul tramvaiului: singurul accent, butonul principal */
  --red-2:#8F1016;
  --gold:#F0D47E;      /* galbenul biletului: doar voucherul și steluțele */
  --gold-2:#E6C566;
  --star:#A07519;
  --wa:#0E7A3D;
  --serif:"Besley",Georgia,"Times New Roman",serif;
  --sans:"Barlow","Helvetica Neue",Arial,sans-serif;
  --r:4px;
  --head-h:64px;
  --gut:16px;          /* marginea laterală, aceeași în toată pagina */
  --sec:64px;          /* ritmul dintre secțiuni */
}
@media (min-width:760px){:root{--head-h:72px;--gut:32px;--sec:96px}}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:calc(var(--head-h) + 12px);-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--navy);font:400 1.0625rem/1.55 var(--sans);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:800;line-height:1.12;margin:0;letter-spacing:-.005em;overflow-wrap:anywhere;text-wrap:balance}
p{margin:0}
em,i{font-style:normal}
.wrap{width:min(1200px,100% - 2 * var(--gut));margin-inline:auto}
.ic{width:1.2em;height:1.2em;fill:currentColor;flex:none}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--navy);color:#fff;padding:10px 14px}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}

/* ---------- butoane ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;border:2px solid transparent;border-radius:var(--r);font:700 1.0625rem/1.1 var(--sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .2s,color .2s,border-color .2s,transform .12s}
.btn:active{transform:translateY(1px)}
.btn-red{background:var(--red);color:var(--card)}
.btn-red:hover{background:var(--red-2)}
.btn-navy{background:var(--navy);color:var(--card)}
.btn-navy:hover{background:var(--navy-2)}
.btn-line{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-line:hover{background:var(--navy);color:var(--card)}
.btn-line-light{border-color:var(--card);color:var(--card)}
.btn-line-light:hover{background:var(--card);color:var(--navy)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:#0B6331}
.btn-wide{width:100%}
.link-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;background:none;border:0;padding:0;font:600 1rem var(--sans);color:var(--navy);text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* ---------- header: bleumarin plin, ca titlul afișului ---------- */
.sign{position:sticky;top:0;z-index:50;background:var(--navy);color:var(--card)}
.sign-in{display:flex;align-items:center;gap:20px;height:var(--head-h)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto;min-height:44px}
.brand-mark{width:44px;height:44px;flex:none}
.brand-text{display:flex;flex-direction:column;line-height:1.1;white-space:nowrap}
.brand-text b{font:700 1.25rem/1.1 var(--serif)}
.brand-text small{font:500 .875rem/1.3 var(--sans);color:var(--on-navy)}
.nav{display:none;gap:4px}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font:600 1rem var(--sans);text-decoration:none;color:var(--card);border-radius:var(--r)}
.nav a:hover{background:var(--navy-2);text-decoration:underline;text-underline-offset:5px}
.sign-cta{display:none;min-height:44px;padding:10px 18px}
.menu-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:2px solid rgba(252,253,248,.85);border-radius:var(--r);background:transparent;color:var(--card);font:600 1rem var(--sans);cursor:pointer}
.menu-btn:hover{background:var(--navy-2)}
.menu-panel{position:absolute;left:0;right:0;top:100%;background:var(--navy);border-top:1px solid rgba(214,220,234,.25);box-shadow:0 18px 30px -18px rgba(10,20,45,.6);max-height:calc(100svh - var(--head-h));overflow:auto}
.menu-in{display:flex;flex-direction:column;padding:6px 0 18px}
.menu-in>a{display:flex;align-items:center;min-height:52px;font:600 1.125rem var(--sans);text-decoration:none;border-bottom:1px solid rgba(214,220,234,.2)}
.menu-in>a:hover{color:var(--gold)}
.menu-actions{display:grid;gap:10px;margin-top:16px}
@media (max-width:359px){
  .sign-in{gap:12px}
  .brand{gap:8px}
  .brand-mark{width:40px;height:40px}
  .brand-text b{font-size:1.1rem}
  .brand-text small{display:none}
  .menu-btn{padding:0 12px}
}
@media (min-width:480px){.sign-cta{display:inline-flex}}
@media (min-width:1100px){
  .nav{display:flex}
  .menu-btn{display:none}
  .menu-panel{display:none}
}

/* ---------- titluri de secțiune ---------- */
.sec-head{max-width:64ch;margin-bottom:28px}
.sec-head h2,.road h2,.trust h2,.faq h2{font-size:clamp(2rem,1.5rem + 2.2vw,3rem)}
.sec-head p{margin-top:12px;font-size:1.0625rem;color:var(--soft)}
@media (min-width:760px){.sec-head{margin-bottom:40px}.sec-head p{font-size:1.125rem}}

/* ---------- hero: editorial ---------- */
.hero{padding-top:24px;overflow:hidden}
.hero h1{font-size:clamp(2.05rem,1.15rem + 4.4vw,3.75rem);line-height:1.14}
.hero-sub{margin-top:16px;font-size:1.125rem;line-height:1.5;max-width:40ch}
.hero-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero-photos{margin:24px 0 0}
.hp-row{display:grid;grid-template-columns:1.7fr 1fr;grid-template-rows:minmax(0,1fr);gap:8px;height:clamp(190px,52vw,460px)}
.hp-row img{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:var(--r);background:var(--bg-2)}
.hp-tram{object-position:50% 72%}
.hp-horse{object-position:45% 40%}
.hero-photos figcaption{margin-top:8px;font-size:.9375rem;color:var(--soft)}
@media (min-width:960px){
  .hero{padding-top:48px}
  .hero-grid{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:center}
  .hero-photos{margin:0}
  .hp-row{height:440px}
  .hero-sub{margin-top:22px}
}

/* linia ferată de sub hero: semnătura mică a paginii */
.rail{position:relative;display:flex;justify-content:flex-end;align-items:flex-end;gap:14px;height:72px;margin-top:14px;overflow:hidden}
.rail::before{content:"";position:absolute;left:0;right:0;bottom:0;height:9px;background:repeating-linear-gradient(90deg,var(--navy) 0 3px,transparent 3px 17px)}
.rail::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:3px;background:var(--navy)}
.rail-convoy{position:relative;z-index:1;width:150px;height:54px;margin-bottom:8px}
.rail-stop{position:relative;z-index:1;align-self:flex-end;display:inline-flex;align-items:center;gap:6px;margin-bottom:30px;padding:5px 10px;background:var(--navy);color:var(--card);font:600 .9375rem var(--sans);border-radius:2px;white-space:nowrap}
.rail-stop::after{content:"";position:absolute;left:50%;top:100%;width:3px;height:21px;margin-left:-1.5px;background:var(--navy)}
.rail-stop .ic{color:var(--gold)}
@media (min-width:760px){.rail{height:92px}.rail-convoy{width:220px;height:79px}}
@media (prefers-reduced-motion:no-preference){
  html.js .rail-convoy{animation:roll 1.15s cubic-bezier(.15,.7,.25,1) .15s both}
}
@keyframes roll{from{transform:translateX(-110vw)}to{transform:none}}

/* ---------- fișa rapidă ---------- */
.facts{padding:20px 0 var(--sec)}
.facts-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.facts-grid li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;column-gap:10px;row-gap:2px;align-content:start;padding:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--r)}
.facts-grid .ic{grid-row:1 / 3;color:var(--red);width:22px;height:22px;margin-top:2px}
.f-k{font:600 .9375rem/1.3 var(--sans);color:var(--soft)}
.f-v{font-size:1rem;line-height:1.35}
.f-v b{font-weight:700;font-size:1.1875rem}
@media (max-width:359px){.facts-grid li{grid-template-columns:1fr;padding:12px}.facts-grid .ic{grid-row:auto}}
@media (min-width:860px){.facts-grid{grid-template-columns:repeat(4,1fr);gap:16px}.facts-grid li{padding:18px 20px}}

/* ---------- prețuri ---------- */
.prices{padding:var(--sec) 0;background:var(--bg-2)}
.offer-grid{display:grid;gap:16px}
/* aceeași structură în toate cardurile: poză → nume → preț → ce include → buton */
.offer{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.offer img{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--bg-2)}
.offer-body{display:flex;flex-direction:column;flex:1;padding:20px 18px}
.offer h3{font-size:1.5rem;font-weight:700}
.price{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;min-height:2.25rem;margin:8px 0 14px;font-size:1rem;color:var(--soft)}
.price b{font-weight:700;font-size:1.5rem;line-height:1.2;color:var(--navy)}
.price .sep{margin:0 6px;color:var(--line)}
.offer:not(.offer-main) .price b{font-size:1.25rem}
.incl{list-style:none;margin:0 0 22px;padding:0;border-top:1px solid var(--border)}
.incl li{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:11px 0;border-bottom:1px solid var(--border);line-height:1.4;text-wrap:pretty}
.incl .ic{box-sizing:border-box;width:24px;height:24px;padding:5px;border-radius:50%;background:var(--bg-2);color:var(--navy)}
.offer .btn{margin-top:auto;width:100%}
@media (min-width:700px){.offer-grid{grid-template-columns:1fr 1fr;gap:20px}}
@media (min-width:1100px){
  .offer-grid{gap:24px}
  .offer img{aspect-ratio:2/1}
  .offer-main img{object-position:50% 75%}
  .offer-body{padding:26px 28px 28px}
}

/* ---------- formulare (rezervare și voucher) ---------- */
.book{padding:var(--sec) 0}
.book-grid{display:grid;gap:24px}
@media (min-width:980px){
  .book-grid{grid-template-columns:7fr 5fr;gap:40px;align-items:start}
  .side{position:sticky;top:calc(var(--head-h) + 20px)}
  .book-grid.is-sent{grid-template-columns:minmax(0,820px)}
  .book-grid.is-sent .side{position:static}
}
.sheet{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:20px 16px 22px}
@media (min-width:560px){.sheet{padding:28px 28px 30px}}
.fs{border:0;margin:0;padding:0;min-width:0}
.fs legend,.field label,.lbl{display:block;padding:0;margin-bottom:8px;font:600 1rem/1.3 var(--sans);color:var(--navy)}
.opt{font-weight:400;color:var(--soft)}
.field{margin-top:18px;min-width:0}
.sheet>.btn-wide{margin-top:24px}
.sheet>.total+.btn-wide{margin-top:0}
.row2+.fs{margin-top:18px}
.nowrap{white-space:nowrap}
.row2{display:grid;gap:0 16px}
@media (min-width:560px){.row2{grid-template-columns:1fr 1fr}}
input[type=text],input[type=tel],input[type=date],input[type=number],select,textarea{display:block;width:100%;min-height:52px;padding:12px 14px;border:2px solid var(--line);border-radius:var(--r);background:#fff;color:var(--navy);font:400 1.0625rem/1.3 var(--sans);-webkit-appearance:none;appearance:none}
input[type=date]{min-width:0}
input::-webkit-date-and-time-value{text-align:left}
select{padding-right:42px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath fill='%23172B5C' d='M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z'/%3E%3C/svg%3E") no-repeat right 14px center/18px}
textarea{min-height:96px;resize:vertical}
input::placeholder,textarea::placeholder{color:#5E6779;opacity:1}
input:focus,select:focus,textarea:focus{border-color:var(--navy);outline:3px solid rgba(179,22,29,.35);outline-offset:1px}
.invalid{border-color:var(--red)!important}
.err{display:flex;align-items:flex-start;gap:6px;margin-top:6px;font:600 .9375rem/1.35 var(--sans);color:var(--red)}
.err .ic{margin-top:1px}
.hint{margin-top:10px;font-size:.9375rem;color:var(--soft)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border:2px solid var(--navy);border-radius:var(--r);font:600 1rem var(--sans);background:#fff;transition:background-color .15s,color .15s}
.chip input:checked+span{background:var(--navy);color:var(--card)}
.chip input:focus-visible+span{outline:3px solid var(--red);outline-offset:2px}
.chip:hover input:not(:checked)+span{background:var(--bg)}
.stepper{display:flex;align-items:center;width:max-content;border:2px solid var(--navy);border-radius:var(--r);background:#fff;overflow:hidden}
.stepper button{width:52px;height:48px;display:grid;place-items:center;background:transparent;border:0;color:var(--navy);cursor:pointer}
.stepper button:hover{background:var(--bg)}
.stepper button:disabled{opacity:.35;cursor:default}
.stepper output{min-width:56px;text-align:center;font:700 1.25rem/48px var(--sans);border-left:2px solid var(--navy);border-right:2px solid var(--navy)}
.total{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px;margin:24px 0 16px;padding:14px 16px;background:var(--bg-2);border-radius:var(--r)}
.total-k{font-weight:600}
.total b{font:700 1.5rem/1.2 var(--sans);text-align:right}
.total-note{grid-column:1 / -1;font-size:.9375rem;color:var(--soft)}
.sheet.is-sent{background:none;border:0;padding:0}
.demo-note{margin-top:10px;font-size:.9375rem;color:var(--soft)}

/* după trimitere */
.how{padding:20px;background:var(--bg-2);border-radius:var(--r)}
@media (min-width:560px){.how{padding:26px 28px}}
.how h3{font-size:1.375rem;font-weight:700}
.how ol{list-style:none;counter-reset:pas;margin:16px 0 0;padding:0;display:grid;gap:14px}
.how li{counter-increment:pas;display:grid;grid-template-columns:32px 1fr;gap:12px;align-items:start;line-height:1.45}
.how li span{padding-top:4px}
.how li::before{content:counter(pas);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:var(--card);font:700 1rem var(--sans)}
.how b{font-weight:700}
.how-call{margin:20px 0 10px;font-weight:600}
.done{background:var(--card);border:1px solid var(--border);border-top:4px solid var(--wa);border-radius:var(--r);padding:20px}
.done:focus{outline:none}
.done-t{display:flex;align-items:center;gap:10px;font:700 1.375rem/1.2 var(--serif);margin-bottom:8px}
.done-t .ic{color:var(--wa)}
.done .link-btn{margin-top:8px}
.mail{margin-top:24px}
.mail-label{font:700 1.25rem/1.2 var(--serif);margin-bottom:12px}
.mail-card{background:#fff;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.mail-head{padding:16px 18px;border-bottom:1px solid var(--border);font-size:.9375rem}
.mail-head p{display:flex;gap:12px;padding:3px 0;overflow-wrap:anywhere;min-width:0}
.mail-head span{width:60px;flex:none;color:var(--soft)}
.mail-body{padding:16px 18px;line-height:1.6;overflow-wrap:anywhere}
.mail-body table{border-collapse:collapse;margin-top:6px}
.mail-body td{padding:3px 14px 3px 0;vertical-align:top}
.mail-body td:first-child{color:var(--soft);white-space:nowrap}
.mail-actions{display:flex;flex-wrap:wrap;gap:10px;padding:0 18px 18px}
@media (max-width:560px){.mail-actions .btn{width:100%}}

/* ---------- voucher: singurul loc cu biletul de carton ---------- */
.gift{padding:var(--sec) 0;background:var(--bg-2)}
.gift-grid{display:grid;gap:28px}
@media (min-width:980px){
  .gift-grid{grid-template-columns:5fr 6fr;gap:48px;align-items:start}
  .gift-preview{position:sticky;top:calc(var(--head-h) + 28px)}
}
.gift-preview{position:relative;padding:14px 0}
.spark{position:absolute;width:34px;height:34px;color:var(--star);pointer-events:none}
.sp1{right:4px;top:-14px}.sp2{left:2px;bottom:-12px;width:26px;height:26px}
.voucher{position:relative;display:grid;grid-template-columns:1fr;color:var(--navy);background:var(--gold);border-radius:var(--r);box-shadow:0 18px 30px -22px rgba(23,43,92,.55)}
.v-main{min-width:0;border-radius:var(--r) var(--r) 0 0;overflow:hidden;background:repeating-linear-gradient(135deg,rgba(23,43,92,.045) 0 1px,transparent 1px 7px),var(--gold)}
.v-band{display:flex;justify-content:space-between;gap:10px;background:var(--red);color:var(--card);padding:9px 18px;font:700 .875rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.v-for{padding:18px 18px 0;font-size:1rem}
.v-for b{display:block;font:700 1.375rem/1.2 var(--serif);overflow-wrap:anywhere}
.v-value{padding:8px 18px 0;font:600 1.25rem var(--sans)}
.v-value b{font:700 3rem/1 var(--sans)}
.v-what{padding:4px 18px 0;font-weight:600}
.v-wish{margin:14px 18px 0;padding:10px 0;border-top:2px dashed rgba(23,43,92,.4);border-bottom:2px dashed rgba(23,43,92,.4);font-size:1.0625rem;line-height:1.45;min-height:3.2em;overflow-wrap:anywhere}
.v-from{padding:12px 18px 18px}
.v-from b{overflow-wrap:anywhere}
.v-stub{position:relative;display:grid;grid-template-columns:52px 1fr;align-items:center;gap:4px 14px;padding:16px 18px;border-top:2px dashed rgba(23,43,92,.45);font-size:.9375rem;line-height:1.35;background:var(--gold-2);border-radius:0 0 var(--r) var(--r)}
.v-stub::before,.v-stub::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--bg-2)}
.v-stub::before{left:-12px}.v-stub::after{right:-12px}
.v-mark{width:52px;height:52px;grid-row:1 / 3}
.v-nr{font-weight:700;color:var(--red-2)}
.stamp-gift{position:absolute;width:118px;height:118px;right:14px;top:58px;opacity:0;transform:rotate(-14deg);pointer-events:none;mix-blend-mode:multiply}
.voucher.sent .stamp-gift{opacity:.9}
@media (prefers-reduced-motion:no-preference){
  .voucher.sent .stamp-gift{animation:hit .38s cubic-bezier(.55,0,.9,.4) both}
}
@keyframes hit{from{opacity:0;transform:rotate(-14deg) scale(1.9)}to{opacity:.9;transform:rotate(-14deg) scale(1)}}
@media (min-width:560px){
  .voucher{grid-template-columns:1fr 150px}
  .v-main{border-radius:var(--r) 0 0 var(--r)}
  .v-stub{grid-template-columns:1fr;justify-items:center;text-align:center;border-top:0;border-left:2px dashed rgba(23,43,92,.45);border-radius:0 var(--r) var(--r) 0;padding:20px 14px}
  .v-stub::before,.v-stub::after{left:-13px;right:auto}
  .v-stub::before{top:-12px}.v-stub::after{top:auto;bottom:-12px}
  .v-mark{width:68px;height:68px;grid-row:auto}
  .stamp-gift{right:150px;margin-right:-30px;top:70px;width:132px;height:132px}
  .v-band{padding:10px 22px}
  .v-for,.v-value,.v-what,.v-from{padding-left:22px;padding-right:22px}
  .v-wish{margin-left:22px;margin-right:22px}
}
.gift .mail{margin-top:22px}

/* ---------- cum ajungi și program ---------- */
.road{padding:var(--sec) 0}
.road-grid{display:grid;gap:28px}
.road-copy>p{margin-top:12px;font-size:1.0625rem;color:var(--soft);max-width:48ch}
.road-facts{margin:22px 0 24px;display:grid;gap:16px}
.road-facts div{display:grid;gap:2px}
.road-facts dt{display:flex;align-items:center;gap:8px;font-weight:700}
.road-facts dt .ic{color:var(--red)}
.road-facts dd{margin:0}
.road-facts a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-underline-offset:3px}
.today{display:block;margin-top:4px;font-weight:700}
.road-actions{display:flex;flex-wrap:wrap;gap:10px}
.road-actions .btn{flex:1 1 160px}
.map{position:relative;display:block;aspect-ratio:4/3.4;overflow:hidden;border:2px solid var(--navy);border-radius:var(--r);background:#E4E9D3;text-decoration:none}
.map img{width:100%;height:100%;object-fit:cover}
.pin{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-100%);pointer-events:none}
.pin svg{width:48px;height:48px;filter:drop-shadow(0 4px 4px rgba(23,43,92,.35))}
.pin::after{content:"";width:3px;height:14px;background:var(--navy)}
.pin b{position:absolute;left:56px;top:10px;white-space:nowrap;background:var(--navy);color:var(--card);font:700 .9375rem var(--sans);padding:4px 9px;border-radius:2px}
.map-cta{position:absolute;left:0;bottom:0;display:inline-flex;align-items:center;gap:8px;min-height:44px;background:var(--navy);color:var(--card);padding:10px 16px;font:700 1rem var(--sans);border-top-right-radius:var(--r)}
.map:hover .map-cta{background:var(--red)}
@media (min-width:960px){.road-grid{grid-template-columns:5fr 7fr;gap:56px;align-items:center}.map{aspect-ratio:16/11}.road-actions .btn{flex:0 0 auto}}

/* ---------- încredere ---------- */
.trust{padding:var(--sec) 0;background:var(--bg-2)}
.trust-grid{display:grid;gap:28px}
.trust-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:18px}
.trust-list li{display:grid;grid-template-columns:28px 1fr;gap:12px}
.trust-list .ic{width:26px;height:26px;color:var(--red);margin-top:1px}
.trust-list b{display:block;font-weight:700;font-size:1.0625rem;line-height:1.35}
.trust-list p{margin-top:2px;color:var(--soft)}
.trust-list a{font-weight:600;color:var(--navy);text-underline-offset:3px}
.trust-photos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.trust-photos img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--r)}
@media (min-width:960px){.trust-grid{grid-template-columns:6fr 5fr;gap:56px;align-items:center}}

/* ---------- povestea mocăniței ---------- */
.story{padding:var(--sec) 0}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.story-grid figure{margin:0;min-width:0}
.story-grid figure:first-child{grid-column:1 / -1}
.story-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.story-grid figure:first-child img{aspect-ratio:16/10;object-position:50% 40%}
.story-grid figcaption{margin-top:6px;font-size:.9375rem;line-height:1.4;color:var(--soft)}
.years{display:grid;gap:14px;margin:32px 0 0}
.years div{display:grid;grid-template-columns:64px 1fr;align-content:start;gap:12px;padding-top:14px;border-top:1px solid var(--border)}
.years dt{font:700 1.25rem/1.3 var(--serif);color:var(--red)}
.years dd{margin:0}
@media (min-width:860px){
  .story-grid{grid-template-columns:5fr 4fr 4fr;gap:16px}
  .story-grid figure:first-child{grid-column:auto}
  /* aceeași înălțime la toate trei, chiar dacă prima e mai lată */
  .story-grid img,.story-grid figure:first-child img{aspect-ratio:auto;height:clamp(220px,21vw,300px)}
  .years{grid-template-columns:repeat(4,1fr);gap:24px}
  .years div{grid-template-columns:1fr;gap:4px}
}

/* ---------- întrebări ---------- */
.faq{padding:0 0 var(--sec)}
.faq-in{display:grid;gap:20px}
.faq-more{margin-top:12px;color:var(--soft)}
.faq-more a{font-weight:700;color:var(--navy);text-underline-offset:3px;white-space:nowrap}
.qs details{border-top:1px solid var(--border)}
.qs details:last-child{border-bottom:1px solid var(--border)}
.qs summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 0;font:600 1.125rem/1.35 var(--sans);cursor:pointer}
.qs summary::-webkit-details-marker{display:none}
.qs summary .ic{transition:transform .2s;color:var(--red)}
.qs details[open] summary .ic{transform:rotate(180deg)}
.qs details p{padding:0 0 18px;max-width:62ch}
@media (min-width:960px){.faq-in{grid-template-columns:4fr 7fr;gap:56px;align-items:start}}

/* ---------- footer ---------- */
.verso{background:var(--bg-2);padding:56px 0 28px;border-top:4px solid var(--navy)}
.verso-grid{display:grid;gap:28px}
.v-crest{width:160px;height:114px}
.v-brand p{margin-top:12px;max-width:40ch}
.social{display:flex;gap:10px;margin-top:14px}
.social a{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--navy);border-radius:var(--r);color:var(--navy)}
.social a:hover{background:var(--navy);color:var(--card)}
.v-h{font:700 1.0625rem var(--sans);color:var(--red);margin-bottom:6px}
.v-col ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.v-col li{display:flex;align-items:center;min-height:44px;line-height:1.4}
.v-col a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:3px;overflow-wrap:anywhere}
.v-col a:hover{color:var(--red)}
.anpc{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.anpc a{display:block}
.anpc img{width:200px;height:auto}
.fine{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border);font-size:.9375rem}
.fine a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
@media (max-width:639px){.verso-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.v-brand,.v-col:nth-child(2){grid-column:1 / -1}}
@media (min-width:640px){.verso-grid{grid-template-columns:1fr 1fr}.v-brand{grid-column:1 / -1}}
@media (min-width:1000px){.verso-grid{grid-template-columns:1.5fr 1.2fr .8fr 1fr;gap:36px}.v-brand{grid-column:auto}}
@media (max-width:420px){.anpc img{width:180px}}

/* ---------- bara fixă de jos (doar pe telefon) ---------- */
.dock{display:none}
@media (max-width:759px){
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
  .dock{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:6px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--navy);box-shadow:0 -8px 20px -12px rgba(10,20,45,.6);transform:translateY(110%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
  .dock.show{transform:none;visibility:visible;transition:transform .25s ease}
  .dock a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:var(--r);color:var(--card);font:600 1rem var(--sans);text-decoration:none;border:2px solid rgba(252,253,248,.35)}
  .dock .dock-main{background:var(--red);border-color:var(--red);font-weight:700}
}

/* ---------- pagini legale ---------- */
.legal{max-width:760px;padding:48px 0 80px}
.legal h1{font-size:clamp(2rem,1.5rem + 2.4vw,3rem)}
.legal-date{margin-top:10px;color:var(--soft)}
.legal h2{font-size:1.4rem;margin:30px 0 8px}
.legal p{margin-bottom:12px}
.legal-page .verso .v-col{max-width:none}
.back{border-color:var(--card);color:var(--card);min-height:44px;padding:8px 12px;font-size:1rem}
.back:hover{background:var(--card);color:var(--navy)}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
