/* ============================================================
   Brutărie Patiserie Paradise — tokeni + stiluri comune
   ============================================================ */
:root{
  --ink:#14100D;
  --ink-2:#1D1712;
  --ink-3:#241C15;
  --paper:#F6EFE3;
  --paper-deep:#EBE0CC;
  --gold:#C8955D;
  --gold-soft:#D9AE7C;
  --copper:#B5602C;
  --cream:#F3ECE0;
  --text-mute:#B9AE9C;
  --line:rgba(246,239,227,.12);
  --line-soft:rgba(20,16,13,.12);

  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
  --sp-6:1.5rem; --sp-8:2rem; --sp-12:3rem; --sp-16:4rem;
  --sectiune: clamp(3.5rem, 2rem + 7vw, 7rem);

  --radius:14px; --radius-lg:26px;
  --umbra:0 8px 30px -12px rgba(0,0,0,.55);
  --glow: 0 0 0 rgba(200,149,93,0);
  --lat:1180px;
  --tranzitie:200ms cubic-bezier(.2,.7,.3,1);

  --pas: clamp(1rem, 0.94rem + 0.3vw, 1.09rem);
  --h4:  clamp(1.15rem, 1.02rem + .5vw, 1.3rem);
  --h3:  clamp(1.4rem, 1.15rem + 1.2vw, 1.85rem);
  --h2:  clamp(1.9rem, 1.4rem + 2.4vw, 2.9rem);
  --h1:  clamp(2.4rem, 1.6rem + 4.5vw, 4.2rem);
}

*,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
html{-webkit-text-size-adjust:100%;}
html,body{background:var(--ink); color:var(--cream);}
body{font-family:'Manrope',system-ui,sans-serif; font-size:var(--pas); line-height:1.6; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Fraunces',serif; font-weight:600; line-height:1.08; letter-spacing:-.01em; color:var(--cream);}
h1{font-size:var(--h1);} h2{font-size:var(--h2);} h3{font-size:var(--h3);} h4{font-size:var(--h4);}
p{max-width:65ch;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer;}
ul{list-style:none;}
.container{max-width:var(--lat); margin:0 auto; padding:0 clamp(20px,4vw,48px);}
[hidden]{display:none!important;}

:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}

.eyebrow{display:inline-flex; align-items:center; gap:9px; font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold);}
.eyebrow::before{content:''; width:22px; height:1px; background:var(--gold);}

/* ---- gestul unic: glow auriu la apariție ---- */
html.js .reveal{opacity:0; transform:translateY(18px); transition:opacity .6s cubic-bezier(.2,.7,.3,1), transform .6s cubic-bezier(.2,.7,.3,1), box-shadow .8s ease;}
html.js .reveal.is-in{opacity:1; transform:translateY(0);}
html.js .reveal.glow.is-in{animation:glowIn 1.1s ease-out;}
@keyframes glowIn{
  0%{box-shadow:0 0 0 rgba(200,149,93,0);}
  35%{box-shadow:0 0 46px 6px rgba(200,149,93,.28);}
  100%{box-shadow:0 0 0 rgba(200,149,93,0);}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important; transition:none!important;}
  html.js .reveal{opacity:1; transform:none;}
}

/* ---- butoane ---- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:15px 28px; border-radius:40px; font-weight:700; font-size:14.5px; transition:transform var(--tranzitie), box-shadow var(--tranzitie), background var(--tranzitie), color var(--tranzitie); white-space:nowrap;}
.btn-gold{background:var(--gold); color:var(--ink); box-shadow:0 14px 28px -12px rgba(200,149,93,.55);}
.btn-gold:hover{background:var(--gold-soft); transform:translateY(-2px);}
.btn-ghost{border:1.5px solid var(--line); color:var(--cream);}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold);}
.btn-ghost-dark{border:1.5px solid var(--line-soft); color:var(--ink);}
.btn-ghost-dark:hover{border-color:var(--copper); color:var(--copper);}
.btn-wa{background:#25D366; color:#fff;}
.btn-wa:hover{background:#1EBE5A; color:#fff;}
.btn-block{width:100%;}
.btn-sm{padding:11px 20px; font-size:13px;}

/* ---- header ---- */
.site-header{position:sticky; top:0; z-index:40; background:rgba(20,16,13,.88); backdrop-filter:none; border-bottom:1px solid var(--line);}
.site-header .container{display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:14px; padding-bottom:14px;}
.brand{display:flex; align-items:center; gap:10px; font-family:'Fraunces',serif; font-weight:600; font-size:19px; color:var(--cream);}
.brand img{width:38px; height:38px; border-radius:50%; flex-shrink:0;}
.brand em{font-style:italic; color:var(--gold); font-weight:500;}
.nav-links{display:flex; align-items:center; gap:clamp(14px,2vw,28px); font-size:14px; font-weight:600;}
.nav-links a{color:var(--text-mute); padding:6px 2px; border-bottom:2px solid transparent;}
.nav-links a:hover,.nav-links a.is-active{color:var(--cream); border-color:var(--gold);}
.nav-actions{display:flex; align-items:center; gap:10px;}
.cart-btn{position:relative; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; border:1.5px solid var(--line); font-size:18px;}
.cart-btn:hover{border-color:var(--gold);}
.cart-badge{position:absolute; top:-6px; right:-6px; min-width:19px; height:19px; padding:0 4px; border-radius:10px; background:var(--gold); color:var(--ink); font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center;}
.nav-toggle{display:none;}
.call-chip{display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:700; color:var(--gold);}

@media (max-width:900px){
  .nav-links{position:fixed; inset:0 0 0 30%; z-index:41; background:var(--ink-2); flex-direction:column; align-items:flex-start; justify-content:flex-start; padding:100px 28px 28px; gap:22px; font-size:17px; transform:translateX(100%); transition:transform .3s ease; border-left:1px solid var(--line);}
  .nav-links.is-open{transform:translateX(0);}
  .nav-toggle{display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; border:1.5px solid var(--line); font-size:19px; position:relative; z-index:42;}
  .nav-scrim{position:fixed; inset:0; z-index:39; background:rgba(0,0,0,.5); opacity:0; pointer-events:none; transition:opacity .3s ease;}
  .nav-scrim.is-open{opacity:1; pointer-events:auto;}
}

/* ---- footer ---- */
.site-footer{background:var(--ink-2); border-top:1px solid var(--line); padding:var(--sectiune) 0 var(--sp-12);}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:var(--sp-12);}
.footer-brand p{color:var(--text-mute); margin-top:var(--sp-3); max-width:34ch;}
.footer-col h4{font-size:15px; margin-bottom:var(--sp-4);}
.footer-col ul{display:flex; flex-direction:column; gap:var(--sp-3); color:var(--text-mute); font-size:14.5px;}
.footer-col a:hover{color:var(--gold);}
.footer-bottom{margin-top:var(--sp-12); padding-top:var(--sp-6); border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:var(--sp-3); justify-content:space-between; font-size:12.5px; color:var(--text-mute);}
@media (max-width:760px){ .footer-grid{grid-template-columns:1fr; gap:var(--sp-8);} }

/* ---- secțiune generică ---- */
section{padding:var(--sectiune) 0;}
.section-open{background:var(--paper); color:var(--ink);}
.section-open h1,.section-open h2,.section-open h3,.section-open h4{color:var(--ink);}
.section-open p{color:#4A3F30;}
.section-head{max-width:640px; margin-bottom:var(--sp-12);}
.section-head h2{margin-top:var(--sp-3);}
.section-head p{margin-top:var(--sp-4); color:var(--text-mute); font-size:1.05em;}
.section-open .section-head p{color:#5C4F3D;}

/* ---- page head (pagini interioare) ---- */
.page-head{padding:var(--sp-16) 0 var(--sp-12); border-bottom:1px solid var(--line);}
.page-head .container{display:grid; grid-template-columns:1.2fr .8fr; gap:var(--sp-12); align-items:center;}
.page-head-media{border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/3; box-shadow:var(--umbra);}
.page-head-media img{width:100%; height:100%; object-fit:cover;}
.crumbs{font-size:13px; color:var(--text-mute); margin-bottom:var(--sp-4);}
.crumbs a{text-decoration:underline; text-underline-offset:2px;}
@media (max-width:820px){ .page-head .container{grid-template-columns:1fr;} .page-head-media{order:-1; aspect-ratio:16/10;} }

/* ---- carduri ---- */
.card{background:var(--ink-2); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; transition:box-shadow var(--tranzitie), border-color var(--tranzitie);}
.card-media{aspect-ratio:4/3; overflow:hidden; background:var(--ink-3);}
.card-media img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.card:hover .card-media img{transform:scale(1.05);}
.card-body{padding:var(--sp-6);}

/* ---- chip preț ---- */
.chip-price{display:inline-flex; align-items:baseline; gap:4px; padding:5px 12px; border-radius:20px; font-size:13px; font-weight:800;}
.chip-price.is-real{background:var(--gold); color:var(--ink);}
.chip-price.is-tbd{border:1.5px dashed var(--text-mute); color:var(--text-mute); font-style:italic; font-weight:700;}

/* ---- pistă orizontală cu indicator propriu ---- */
.hscroll{display:flex; gap:var(--sp-4); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:var(--sp-2);}
.hscroll::-webkit-scrollbar{display:none;}
.hscroll > *{scroll-snap-align:start; flex:0 0 auto;}
.hscroll-track{position:relative; height:3px; background:var(--line); border-radius:3px; margin-top:var(--sp-4); overflow:hidden;}
.hscroll-fill{position:absolute; top:0; left:0; height:100%; width:26%; background:var(--gold); border-radius:3px; transition:transform .1s linear;}

/* ---- formulare ---- */
.field{display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:700; color:var(--text-mute); min-width:0;}
.field input,.field textarea,.field select{
  width:100%; font:inherit; font-weight:400; font-size:15px; padding:13px 16px; border-radius:12px;
  border:1.5px solid var(--line); background:var(--ink-2); color:var(--cream);
}
.section-open .field input,.section-open .field textarea,.section-open .field select{
  background:#fff; border-color:var(--line-soft); color:var(--ink);
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none; border-color:var(--gold);}
.field textarea{resize:vertical; min-height:90px;}
.field-required{color:var(--gold);}
.field-err{font-size:12.5px; color:#E4650A; font-weight:600; display:none;}
.field.has-err input,.field.has-err textarea{border-color:#E4650A;}
.field.has-err .field-err{display:block;}
.gdpr{display:flex; align-items:flex-start; gap:9px; font-size:12.5px; color:var(--text-mute); cursor:pointer;}
.gdpr input{width:16px; height:16px; margin-top:2px; accent-color:var(--gold); flex-shrink:0;}

/* ---- utilitare ---- */
.stack-sm > * + *{margin-top:var(--sp-3);}
.mt-8{margin-top:var(--sp-8);}
.center{text-align:center; margin-left:auto; margin-right:auto;}

/* ---- grile responsive, mobil întâi — o coloană sub prag, două deasupra ---- */
.split{display:grid; grid-template-columns:1fr; gap:clamp(28px,4vw,56px); align-items:center;}
.grid-2{display:grid; grid-template-columns:1fr; gap:24px;}
.field-pair{display:grid; grid-template-columns:1fr; gap:0 16px;}
@media (min-width:760px){
  .split{grid-template-columns:var(--split-l,1fr) var(--split-r,1fr);}
  .grid-2{grid-template-columns:1fr 1fr;}
}
@media (min-width:520px){
  .field-pair{grid-template-columns:1fr 1fr;}
}
