/* ============================================================
   Mille Sapori — demo VisionSite (planul de prezentare, 100 lei/lună)
   Concept: "O mie de arome, un singur semn" — cafeneaua de specialitate
   din Suceava care combină patiseria artizanală italiană cu Yogorino,
   tratată aici ca o vitrină elegantă, cu pereți cald-teracotă și
   cerneală aproape-neagră. Semnul recurent e bucla-8 de pe șorțul lor
   (infinit — „mille sapori" = o mie de arome, un gust nesfârșit), iar
   fiecare desert poartă eticheta albă de pe suportul lor de lemn din
   vitrină, copiată ca formă de card.
   Șasiu pornit din blanchette-demo (antet fix, nav mobilă, apariție la
   scroll, subsol, insignă demo) — fără coș, fără checkout: planul 100
   lei e catalog + formular, nu magazin.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,300;1,6..72,400;1,6..72,500;1,6..72,600&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Alex+Brush&display=swap');

:root{
  --ink:#241712;
  --ink-soft:#5C463C;
  --ink-mute:#8C7A6E;
  --cream:#FBF3E7;
  --cream-deep:#F2E3CE;
  --paper:#FFFCF7;
  --terracotta:#641015;
  --terracotta-deep:#3A0A0D;
  --terracotta-soft:#A3454B;
  --gold:#C1893F;
  --gold-soft:#E3C089;
  --line:rgba(36,23,18,.14);
  --line-soft:rgba(36,23,18,.08);
  --shadow-sm:0 10px 26px rgba(36,23,18,.10);
  --shadow-md:0 24px 60px -16px rgba(36,23,18,.30);
  --radius:24px;
  --radius-sm:14px;
  --maxw:1240px;
  --font-display:'Newsreader', serif;
  --font-body:'Instrument Sans', system-ui, sans-serif;
  --font-script:'Alex Brush', cursive;
}

*,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:auto;}
html,body{background:var(--cream); color:var(--ink); overflow-x:clip;}
body{font-family:var(--font-body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; font-weight:400;}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:400; line-height:1.08; letter-spacing:-.022em; color:var(--ink);}
h3,h4{letter-spacing:-.01em;}
h1 em, h2 em, h3 em{font-style:italic; color:var(--terracotta); font-weight:300;}
a{color:inherit; text-decoration:none;}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer;}
img{max-width:100%; display:block;}
ul{list-style:none;}
[hidden]{display:none!important;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,56px);}

::selection{background:var(--terracotta); color:var(--cream);}
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--cream);}
::-webkit-scrollbar-thumb{background:var(--gold-soft); border-radius:10px;}

/* ---- eyebrow / labels ---- */
.eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:var(--font-body); font-size:12.5px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--terracotta);}
.eyebrow::before{content:''; width:26px; height:1px; background:var(--gold);}
.eyebrow.on-dark{color:var(--gold-soft);}
.eyebrow.on-dark::before{background:var(--gold-soft);}
.eyebrow.center{justify-content:center;}
.eyebrow.center::before{display:none;}
.eyebrow.center::after{content:''; width:26px; height:1px; background:var(--gold); margin-left:10px;}

.script-accent{font-family:var(--font-script); font-size:1.6em; color:var(--terracotta); font-weight:400;}

/* ---- buttons ---- */
.btn-primary,.btn-ghost,.btn-dark,.btn-on-dark,.btn-cream{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:17px 34px; border-radius:40px; font-weight:600; font-size:13px; letter-spacing:.08em; text-transform:uppercase; transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s, background .35s, color .35s, border-color .35s; white-space:nowrap;}
.btn-primary{background:var(--terracotta); color:var(--cream); box-shadow:0 16px 34px -14px rgba(100,16,21,.6);}
.btn-primary:hover{background:var(--terracotta-deep); transform:translateY(-2px);}
.btn-ghost{border:1px solid rgba(36,23,18,.4); color:var(--ink);}
.btn-ghost:hover{border-color:var(--terracotta); color:var(--terracotta); transform:translateY(-2px);}
.btn-dark{background:var(--ink); color:var(--cream);}
.btn-dark:hover{background:var(--terracotta-deep); transform:translateY(-2px);}
.btn-on-dark{border:1px solid rgba(251,243,231,.42); color:var(--cream);}
.btn-on-dark:hover{border-color:var(--gold-soft); color:var(--gold-soft); transform:translateY(-2px);}
.btn-cream{background:var(--cream); color:var(--ink);}
.btn-cream:hover{background:var(--gold-soft); color:var(--ink); transform:translateY(-2px);}
.btn-block{width:100%;}
.btn-sm{padding:12px 22px; font-size:11.5px;}

/* ============================================================
   MARCA — bucla-8 (infinit) + wordmark
   ============================================================ */
.marca{display:flex; align-items:center; gap:11px;}
.marca-semn{width:30px; height:29px; flex-shrink:0;}
.marca-semn img{width:100%; height:100%; object-fit:contain; display:block;}
.marca-semn .semn-clar{display:block;}
.marca-semn .semn-pe-intuneric{display:none;}
.marca-text{display:flex; flex-direction:column; line-height:1;}
.marca-text strong{font-family:var(--font-display); font-size:19px; font-weight:600; letter-spacing:.02em; color:var(--ink);}
.marca-text span{font-family:var(--font-body); font-size:9px; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-mute); margin-top:3px;}
.on-dark .marca-semn .semn-clar{display:none;}
.on-dark .marca-semn .semn-pe-intuneric{display:block;}
.on-dark .marca-text strong{color:var(--cream);}
.on-dark .marca-text span{color:rgba(251,243,231,.6);}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:sticky; top:0; left:0; right:0; z-index:200; padding:16px 0; background:rgba(251,243,231,.88); backdrop-filter:blur(16px); box-shadow:0 1px 0 var(--line);}
.site-header .container{display:flex; align-items:center; justify-content:space-between; gap:20px;}
.brand{display:flex; align-items:center;}
.nav-main{display:flex; align-items:center; gap:38px;}
.nav-links{display:flex; align-items:center; gap:34px; font-size:13px; font-weight:600; letter-spacing:.09em; text-transform:uppercase;}
.nav-links a{position:relative; padding:4px 0;}
.nav-links a::after{content:''; position:absolute; left:0; right:100%; bottom:0; height:1.5px; background:var(--terracotta); transition:right .3s cubic-bezier(.16,1,.3,1);}
.nav-links a:hover::after,.nav-links a.is-active::after{right:0;}
.nav-links a.is-active{color:var(--terracotta);}
.nav-actions{display:flex; align-items:center; gap:16px;}
.icon-btn{position:relative; width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:1.5px solid var(--line); transition:border-color .3s, background .3s;}
.icon-btn:hover{border-color:var(--terracotta);}
.icon-btn svg{width:18px; height:18px; stroke:var(--ink); fill:none; stroke-width:1.6;}
.nav-burger{display:none; width:42px; height:42px; border-radius:50%; border:1.5px solid var(--line); flex-direction:column; align-items:center; justify-content:center; gap:5px;}
.nav-burger span{width:18px; height:1.5px; background:var(--ink); transition:transform .3s, opacity .3s;}
.nav-burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-burger.is-open span:nth-child(2){opacity:0;}
.nav-burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.mobile-nav{position:fixed; inset:0; z-index:190; background:var(--cream); display:flex; flex-direction:column; padding:110px 32px 40px; transform:translateY(-100%); transition:transform .5s cubic-bezier(.16,1,.3,1); opacity:0;}
.mobile-nav.is-open{transform:translateY(0); opacity:1;}
.mobile-nav a{font-family:var(--font-display); font-size:34px; font-weight:600; padding:14px 0; border-bottom:1px solid var(--line);}
.mobile-nav .mn-contact{margin-top:auto; font-size:13px; color:var(--ink-mute); display:flex; flex-direction:column; gap:8px;}

/* ============================================================
   HERO — full-bleed (poza platoului lor, pe toată lățimea)
   ============================================================ */
.hero{position:relative; min-height:min(92vh,900px); display:flex; align-items:flex-end; overflow:hidden; background:var(--ink);}
.hero-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hero-scrim-t{position:absolute; inset:0; background:linear-gradient(to top, rgba(24,10,8,.92) 0%, rgba(24,10,8,.78) 34%, rgba(24,10,8,.5) 62%, rgba(24,10,8,.22) 100%); pointer-events:none;}
.hero-scrim-b{position:absolute; inset:0; background:linear-gradient(to bottom, rgba(24,10,8,.6), rgba(24,10,8,.1) 46%, transparent 62%); pointer-events:none;}
.hero-content{position:relative; z-index:2; width:100%; max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,56px) clamp(48px,7vw,84px);}
.hero-content h1{font-weight:300; font-size:clamp(42px,7vw,100px); line-height:.98; letter-spacing:-.03em; color:var(--cream); max-width:min(19ch,calc(100% - 160px)); text-wrap:balance;}
.hero-content h1 em{font-weight:300; color:var(--gold-soft);}
.hero-row{margin-top:40px; padding-top:28px; border-top:1px solid rgba(251,243,231,.22); display:flex; flex-wrap:wrap; gap:clamp(22px,4vw,52px); align-items:flex-end; justify-content:space-between;}
.hero-row .lede{font-size:clamp(15px,1.4vw,17px); color:rgba(251,243,231,.78); line-height:1.8; flex:1 1 34ch; max-width:44ch;}
.hero-row .sig-name{font-family:var(--font-script); font-size:clamp(30px,3.4vw,44px); color:var(--gold-soft); line-height:.8; white-space:nowrap; flex:0 0 auto;}
.hero-actions{display:flex; flex-wrap:wrap; gap:14px; flex:0 0 auto;}

/* ---- insignă rotativă — sigla lor, ca un sigiliu ---- */
.hero-insigna{position:absolute; top:clamp(24px,5vw,52px); right:clamp(20px,5vw,56px); width:112px; height:112px; z-index:4;}
.hero-insigna svg{width:100%; height:100%; animation:se-invarte 30s linear infinite;}
.hero-insigna .cerc-punctat{fill:none; stroke:var(--gold-soft); stroke-width:1.2; stroke-dasharray:3 6;}
.hero-insigna .text-arc{fill:var(--gold-soft); font-family:var(--font-body); font-size:6.4px; letter-spacing:.22em; text-transform:uppercase;}
.hero-insigna-centru{position:absolute; inset:0; display:flex; align-items:center; justify-content:center;}
.hero-insigna-centru img{width:27px; height:26px; object-fit:contain;}
@keyframes se-invarte{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.hero-insigna svg{animation:none;}}

/* ============================================================
   TREI PILONI (Cafea de specialitate / Patiserie artizanală / Yogorino)
   ============================================================ */
.piloni{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,4vw,56px); padding-top:clamp(40px,5vw,56px); border-top:1px solid var(--line);}
.pilon{text-align:left;}
.pilon-semn{display:block; width:30px; height:29px; margin-bottom:22px;}
.pilon-semn img{width:100%; height:100%; object-fit:contain; display:block;}
.pilon h3{font-size:24px; font-weight:500; letter-spacing:-.01em; margin-bottom:12px;}
.pilon p{color:var(--ink-soft); font-size:14.5px; line-height:1.78; max-width:34ch;}

/* ============================================================
   SECTION HEADS
   ============================================================ */
.section{padding:110px 0;}
.section.tight{padding:70px 0;}
.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:56px; padding-bottom:24px; border-bottom:1px solid var(--line); flex-wrap:wrap;}
.section-head h2{font-size:clamp(32px,4.2vw,52px); max-width:15ch;}
.section-head p{color:var(--ink-soft); max-width:38ch; font-size:15px; line-height:1.7;}
.section-on-dark{background:var(--ink); color:var(--cream);}
.section-on-dark h2,.section-on-dark h3{color:var(--cream);}
.section-on-terracotta{background:var(--terracotta-deep); color:var(--cream);}
.section-on-terracotta h2,.section-on-terracotta h3{color:var(--cream);}

/* ============================================================
   PRODUCT GRID + CARD — eticheta lor de vitrină, pe suport
   ============================================================ */
.product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
.card{position:relative; min-width:0;}
.card-frame{display:block; position:relative; border-radius:var(--radius-sm); overflow:hidden; aspect-ratio:4/5; background:var(--cream-deep);}
.card-frame img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.16,1,.3,1);}
.card:hover .card-frame img{transform:scale(1.06);}
.card-cat-badge{position:absolute; top:14px; left:14px; background:rgba(251,243,231,.92); backdrop-filter:blur(6px); padding:6px 13px; border-radius:20px; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--terracotta); z-index:2;}
/* eticheta — cartonaș alb pe un „picioruș" scurt, ca la vitrina lor */
.card-eticheta{margin:0 auto; margin-top:-1px; width:calc(100% - 8px); background:var(--paper); border:1px solid var(--line); border-radius:0 0 10px 10px; padding:14px 16px 16px; position:relative; box-shadow:var(--shadow-sm);}
.card-eticheta::before{content:''; position:absolute; left:50%; top:-7px; transform:translateX(-50%); width:34px; height:7px; background:var(--ink); border-radius:2px 2px 0 0; opacity:.85;}
.card-eticheta-marca{display:flex; align-items:center; justify-content:center; gap:5px; margin-bottom:10px;}
.card-eticheta-marca img{width:13px; height:12.5px; object-fit:contain;}
.card-eticheta-marca span{font-size:8.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-mute); font-weight:600;}
.card-eticheta h4{font-size:18px; font-weight:500; text-align:center; letter-spacing:-.005em; line-height:1.25;}
.card-eticheta .cp-tag{display:block; text-align:center; font-size:11.5px; color:var(--ink-mute); margin-top:6px; line-height:1.5;}
.card-eticheta .cp-price{display:block; text-align:center; margin-top:11px; padding-top:11px; border-top:1px dashed var(--line); font-family:var(--font-display); font-size:17px; color:var(--terracotta); font-weight:600; letter-spacing:0; text-transform:none;}
.card-eticheta .cp-price small{display:block; font-family:var(--font-body); font-size:9.5px; color:var(--ink-mute); font-weight:400; letter-spacing:.04em; text-transform:none; margin-top:4px;}
.card-eticheta .cp-price.cp-fara-pret{color:var(--ink-mute); font-family:var(--font-body); font-size:10.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase;}

/* ============================================================
   POVESTE / CONCEPT
   ============================================================ */
.story-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(30px,6vw,90px); align-items:center;}
.story-art{position:relative;}
.story-art-main{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md);}
.story-art-main img{aspect-ratio:3/4; object-fit:cover;}
.story-art-sig{position:absolute; bottom:-24px; right:-18px; background:var(--paper); border-radius:20px; padding:18px 22px; box-shadow:var(--shadow-sm); border:1px solid var(--line);}
.story-art-sig .sig-name{font-family:var(--font-script); font-size:32px; color:var(--terracotta);}
.story-art-sig span{display:block; font-size:11px; color:var(--ink-mute); letter-spacing:.06em; text-transform:uppercase; margin-top:2px;}
.story-copy .eyebrow{margin-bottom:20px;}
.story-copy h2{font-size:clamp(30px,4vw,46px); margin-bottom:22px;}
.story-copy p{color:var(--ink-soft); font-size:15.5px; line-height:1.85; max-width:56ch;}
.story-copy p + p{margin-top:16px;}
.story-quote{margin:34px 0; padding-left:28px; border-left:1px solid var(--gold);}
.story-quote p{font-family:var(--font-display); font-style:italic; font-weight:300; font-size:clamp(20px,2.2vw,26px); color:var(--ink); line-height:1.5;}
.story-quote cite{display:block; margin-top:16px; font-family:var(--font-body); font-style:normal; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--terracotta); font-weight:600;}
.story-facts{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:40px; border-top:1px solid var(--line);}
.story-facts.cols-2{grid-template-columns:repeat(2,1fr);}
.story-fact{padding:22px 18px 0; border-right:1px solid var(--line);}
.story-fact:first-child{padding-left:0;}
.story-fact:last-child{border-right:none; padding-right:0;}
.story-fact .sf-num{display:block; font-family:var(--font-display); font-size:30px; font-weight:400; color:var(--terracotta); line-height:1;}
.story-fact span{display:block; font-size:11.5px; color:var(--ink-mute); margin-top:8px; line-height:1.55;}

/* ============================================================
   GALLERY STRIP
   ============================================================ */
.gstrip{display:flex; gap:20px; overflow-x:auto; padding-bottom:10px; scrollbar-width:none;}
.gstrip::-webkit-scrollbar{display:none;}
.gstrip-item{flex:0 0 auto; width:min(78vw,340px); border-radius:var(--radius-sm); overflow:hidden; position:relative; aspect-ratio:3/4;}
.gstrip-item img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.16,1,.3,1);}
.gstrip-item:hover img{transform:scale(1.05);}
.gstrip-item span{position:absolute; left:0; right:0; bottom:0; padding:16px; font-size:12.5px; color:var(--cream); background:linear-gradient(0deg,rgba(36,23,18,.75),transparent 70%);}

/* mozaic simplu cu lupă, pentru pagina despre */
.mozaic{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.mozaic figure{position:relative; border-radius:var(--radius-sm); overflow:hidden; cursor:zoom-in;}
.mozaic figure img{width:100%; height:100%; object-fit:cover; aspect-ratio:1/1; transition:transform .5s cubic-bezier(.16,1,.3,1);}
.mozaic figure:hover img{transform:scale(1.06);}
.mozaic figure.mare{grid-column:span 2; grid-row:span 2;}
.mozaic figure.mare img{aspect-ratio:1/1;}
.lupa{position:fixed; inset:0; z-index:500; background:rgba(36,23,18,.92); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s; padding:40px;}
.lupa.e-deschis{opacity:1; pointer-events:auto;}
.lupa img{max-width:min(900px,90vw); max-height:88vh; border-radius:16px; box-shadow:var(--shadow-md);}
.lupa-inchide{position:absolute; top:26px; right:26px; width:44px; height:44px; border-radius:50%; border:1.5px solid rgba(251,243,231,.4); color:var(--cream); font-size:20px; display:flex; align-items:center; justify-content:center;}
.lupa-inchide:hover{border-color:var(--gold-soft); color:var(--gold-soft);}

/* ============================================================
   CTA
   ============================================================ */
.cta-section{position:relative; padding:130px 0; text-align:center; background:var(--terracotta-deep); overflow:hidden;}
.cta-section h2{color:var(--cream); font-size:clamp(34px,5.4vw,64px); max-width:16ch; margin:0 auto;}
.cta-section p{color:rgba(251,243,231,.75); max-width:46ch; margin:22px auto 0; font-size:15.5px;}
.cta-actions{display:flex; justify-content:center; gap:16px; margin-top:38px; flex-wrap:wrap;}
.cta-ring{position:absolute; border:1px solid rgba(227,192,137,.28); border-radius:50%;}
.cta-ring.r1{width:520px; height:520px; top:-260px; left:-160px;}
.cta-ring.r2{width:320px; height:320px; bottom:-180px; right:-100px;}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--ink); color:var(--cream); padding:80px 0 30px;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:50px;}
.footer-brand p{margin-top:20px; color:rgba(251,243,231,.65); font-size:14px; max-width:32ch; line-height:1.7;}
.footer-col h5{font-family:var(--font-body); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:18px; font-weight:600;}
.footer-col ul{display:flex; flex-direction:column; gap:11px; font-size:14.5px; color:rgba(251,243,231,.82);}
.footer-col a:hover{color:var(--gold-soft);}
.footer-bottom{margin-top:70px; padding-top:26px; border-top:1px solid rgba(251,243,231,.14); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; font-size:12.5px; color:rgba(251,243,231,.5);}
.demo-badge{position:fixed; left:22px; bottom:22px; z-index:150; display:flex; align-items:center; gap:9px; padding:10px 18px 10px 14px; border-radius:30px; background:var(--ink); color:var(--cream); font-size:12px; font-weight:600; letter-spacing:.03em; box-shadow:var(--shadow-md); border:1px solid rgba(227,192,137,.3);}
.demo-badge::before{content:'✦'; color:var(--gold-soft);}
.demo-badge:hover{background:var(--terracotta-deep);}

/* ============================================================
   PAGE HERO (pagini interioare)
   ============================================================ */
.page-hero{padding:clamp(56px,7vw,88px) 0 clamp(48px,6vw,72px); background:var(--cream-deep);}
.breadcrumb{font-size:11px; color:var(--ink-mute); margin-bottom:22px; letter-spacing:.2em; text-transform:uppercase;}
.breadcrumb a:hover{color:var(--terracotta);}
.page-hero h1{font-size:clamp(40px,5.6vw,72px); font-weight:400; letter-spacing:-.026em;}
.page-hero p{margin-top:22px; color:var(--ink-soft); max-width:52ch; font-size:15.5px; line-height:1.78;}

/* ---- meniu.html ---- */
.menu-toolbar{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:44px; padding-bottom:26px; border-bottom:1px solid var(--line);}
.menu-tabs{display:flex; gap:10px; flex-wrap:wrap;}
.menu-tab{padding:11px 22px; border-radius:30px; border:1.5px solid var(--line); font-size:13px; font-weight:600; letter-spacing:.03em; transition:all .25s;}
.menu-tab:hover{border-color:var(--terracotta);}
.menu-tab.is-active{background:var(--ink); border-color:var(--ink); color:var(--cream);}
.menu-empty{text-align:center; padding:80px 20px; color:var(--ink-mute);}

/* ============================================================
   FORMULARUL DE COMANDĂ — planul de prezentare
   Fără listă bifabilă, fără cantități, fără coș: un câmp liber în
   care omul scrie ce vrea, plus ziua/ora, numele și contactul.
   Ei n-au telefon public (deci nici WhatsApp) — trimitem pe e-mail,
   cu Messenger ca variantă secundară.
   ============================================================ */
.comanda-block{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(28px,4vw,44px); max-width:720px; margin:0 auto;}
.comanda-head{text-align:center; margin-bottom:30px;}
.comanda-head h2{font-size:clamp(26px,3.2vw,36px);}
.comanda-head p{color:var(--ink-soft); font-size:14.5px; margin-top:10px; max-width:46ch; margin-left:auto; margin-right:auto;}
.comanda-form{display:flex; flex-direction:column; gap:18px;}
.comanda-form label{display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:600; color:var(--ink-soft);}
.comanda-form textarea,.comanda-form input[type=text],.comanda-form input[type=tel],.comanda-form input[type=email],.comanda-form input[type=date],.comanda-form input[type=time]{
  font:inherit; font-weight:400; font-size:15px; padding:13px 16px; border-radius:var(--radius-sm); border:1.5px solid var(--line); background:var(--paper); color:var(--ink);
}
.comanda-form textarea{resize:vertical; min-height:110px; line-height:1.6;}
.comanda-form input:focus,.comanda-form textarea:focus{outline:none; border-color:var(--terracotta);}
.field-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.field-grid > .field-full{grid-column:1/-1;}
.comanda-eroare{font-size:13px; color:var(--terracotta); font-weight:600;}
.comanda-actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:6px;}
.comanda-note{font-size:12.5px; color:var(--ink-mute); text-align:center; margin-top:16px; line-height:1.6;}
.comanda-alt{margin-top:22px; padding-top:20px; border-top:1px solid var(--line); text-align:center; font-size:13px; color:var(--ink-soft);}
.comanda-alt a{color:var(--terracotta); font-weight:600;}
.comanda-alt a:hover{text-decoration:underline;}

/* ---- contact.html ---- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,80px); align-items:start;}
.contact-card{padding:26px 28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); margin-bottom:18px;}
.contact-card h5{font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute); font-weight:600; margin-bottom:12px;}
.contact-card a, .contact-card p{font-size:15.5px; color:var(--ink); line-height:1.6;}
.contact-card a:hover{color:var(--terracotta);}
.orar-lista{display:flex; flex-direction:column;}
.orar-rand{display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--line-soft); font-size:14.5px; color:var(--ink-soft);}
.orar-rand:last-child{border-bottom:none;}
.orar-rand.e-azi{color:var(--terracotta); font-weight:700;}
.orar-nota{font-size:12px; color:var(--ink-mute); margin-top:12px; line-height:1.6;}
.harta-frame{border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); aspect-ratio:4/3; box-shadow:var(--shadow-sm);}
.harta-frame iframe{width:100%; height:100%; border:0;}

/* ============================================================
   404
   ============================================================ */
.pagina-404{min-height:calc(100vh - 90px); display:flex; align-items:center; justify-content:center; text-align:center; padding:60px 20px 100px;}
.pagina-404 .marca-semn{width:58px; height:56px; margin:0 auto 26px;}
.pagina-404 h1{font-size:clamp(60px,10vw,140px); line-height:1; color:var(--terracotta);}
.pagina-404 p{margin-top:18px; color:var(--ink-soft); font-size:16px;}
.pagina-404 .btn-primary{margin-top:34px;}

/* ============================================================
   REVEAL
   ============================================================ */
.reveal{opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);}
.reveal.revealed{opacity:1; transform:none;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  .nav-main{gap:16px;}
  .nav-links{display:none;}
  .nav-burger{display:flex;}
  .hero-content h1{max-width:none;}
  .hero-row{align-items:flex-start;}
  .hero-actions{width:100%;}
  .hero-actions .btn-primary,.hero-actions .btn-on-dark{flex:1 1 auto; text-align:center;}
  .piloni{grid-template-columns:1fr; gap:36px;}
  .story-facts{grid-template-columns:repeat(2,1fr); row-gap:22px;}
  .story-facts .story-fact:nth-child(2n){padding-right:0;}
  .story-facts .story-fact:nth-child(2n+1){padding-left:0;}
  .story-grid{grid-template-columns:1fr;}
  .story-art{max-width:420px; margin:0 auto;}
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:40px;}
  .contact-grid{grid-template-columns:1fr;}
  .mozaic{grid-template-columns:repeat(2,1fr);}
  .mozaic figure.mare{grid-column:span 2; grid-row:span 1;}
}

@media (max-width:900px){
  .product-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:640px){
  .hero-insigna{display:none;}
  .section{padding:76px 0;}
  .product-grid{grid-template-columns:1fr 1fr; gap:14px;}
  .card-eticheta h4{font-size:14.5px;}
  .card-eticheta .cp-tag{display:none;}
  .card-eticheta{padding:12px 12px 14px;}
  .footer-grid{grid-template-columns:1fr; gap:34px;}
  .footer-bottom{flex-direction:column; align-items:flex-start;}
  .demo-badge{left:14px; bottom:14px; padding:9px 14px 9px 12px; font-size:11px;}
  .field-grid{grid-template-columns:1fr;}
  .menu-toolbar{flex-direction:column; align-items:stretch;}
}
