/* ============================================================
   KOVÁCS — sistem de design
   Concept: "Ștampila Familiei" — arhivă de patru generații (1932→2026)
   întâlnește o brutărie modernă. Hârtie-os + cerneală aproape-neagră,
   accent de cupru ars (cărămidă/foc de cuptor) și alamă veche, rar
   o ștampilă roșu-sigiliu. Fără auriu strălucitor, fără pastel.
   ============================================================ */
:root{
  --paper:#F6F2E7;
  --paper-deep:#EBE3D0;
  --flour:#FFFDF8;
  --ink:#1B1712;
  --ink-soft:#443C33;
  --ink-mute:#7A6F60;
  --rust:#A8431F;
  --rust-deep:#7A2E14;
  --rust-hot:#C65328;
  --brass:#8E7536;
  --brass-soft:#B79F63;
  --seal:#8C1D18;
  --line:rgba(27,23,18,.14);
  --line-soft:rgba(27,23,18,.08);
  --shadow-sm:0 6px 18px rgba(27,23,18,.10);
  --shadow-md:0 18px 44px -14px rgba(27,23,18,.28);
  --shadow-lg:0 34px 80px -24px rgba(27,23,18,.42);
  --radius:4px;
  --radius-lg:8px;
  --maxw:1280px;
  --ff-display:'Bitter',Georgia,serif;
  --ff-body:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --ff-mono:'IBM Plex Mono',ui-monospace,'SF Mono',monospace;
  --ease:cubic-bezier(.16,.8,.24,1);
}

*,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
[hidden]{display:none!important;}
html{-webkit-text-size-adjust:100%; scroll-behavior:auto;}
html,body{background:var(--paper); color:var(--ink); overflow-x:clip;}
html.lenis, html.lenis body{height:auto;}
html.lenis.lenis-smooth{scroll-behavior:auto!important;}
html.lenis.lenis-stopped{overflow:hidden;}
body{
  font-family:var(--ff-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer;}
input,textarea,select{font:inherit; color:inherit;}
::selection{background:var(--rust); color:var(--flour);}

h1,h2,h3,h4{font-family:var(--ff-display); font-weight:700; line-height:1.05; letter-spacing:-.01em; color:var(--ink);}
.container{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,4.5vw,56px);}
.container-narrow{max-width:820px; margin:0 auto; padding:0 clamp(20px,4.5vw,56px);}

/* ---- texture: fine paper grain, everywhere, cheap ---- */
body::before{
  content:''; position:fixed; inset:0; z-index:2000; pointer-events:none;
  opacity:.035; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- eyebrow / labels ---- */
.eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:var(--ff-mono); font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--rust);}
.eyebrow::before{content:''; width:26px; height:1px; background:var(--rust);}
.eyebrow.on-dark{color:var(--brass-soft);}
.eyebrow.on-dark::before{background:var(--brass-soft);}

/* ---- buttons ---- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 28px; border-radius:999px; font-family:var(--ff-body); font-weight:600; font-size:14.5px; letter-spacing:.01em; white-space:nowrap; transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease); position:relative;}
.btn-primary{background:var(--ink); color:var(--paper); box-shadow:0 14px 30px -12px rgba(27,23,18,.55);}
.btn-primary:hover{background:var(--rust); color:var(--flour); transform:translateY(-2px);}
.btn-rust{background:var(--rust); color:var(--flour); box-shadow:0 14px 30px -12px rgba(168,67,31,.55);}
.btn-rust:hover{background:var(--rust-hot); transform:translateY(-2px);}
.btn-ghost{border:1.5px solid var(--ink); color:var(--ink);}
.btn-ghost:hover{border-color:var(--rust); color:var(--rust);}
.btn-ghost.on-dark{border-color:rgba(246,242,231,.5); color:var(--paper);}
.btn-ghost.on-dark:hover{border-color:var(--brass-soft); color:var(--brass-soft);}
.btn-sm{padding:10px 20px; font-size:13px;}
.btn-block{width:100%;}
.btn[disabled]{opacity:.4; pointer-events:none;}

/* magnetic wrapper — JS adds transform via inline style on mousemove */
.magnetic{will-change:transform;}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:sticky; top:0; z-index:500; background:rgba(246,242,231,.88); backdrop-filter:blur(14px) saturate(1.1); border-bottom:1px solid var(--line);}
.header-row{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px clamp(20px,4.5vw,56px); max-width:var(--maxw); margin:0 auto;}
.brand{display:flex; align-items:center; gap:11px; font-family:var(--ff-display); font-weight:700; font-size:21px; flex-shrink:0;}
.brand-seal{height:46px; width:auto; flex-shrink:0; object-fit:contain;}
.brand-seal.footer-seal{height:58px;}
.brand-loc{font-family:var(--ff-mono); font-size:11.5px; font-weight:600; letter-spacing:.1em; color:var(--ink-mute); text-transform:uppercase;}

.main-nav{display:flex; align-items:center; gap:2px;}
.main-nav a{padding:10px 16px; font-size:14.5px; font-weight:600; border-radius:999px; transition:background .25s, color .25s;}
.main-nav a:hover, .main-nav a.is-active{background:var(--ink); color:var(--paper);}

.header-actions{display:flex; align-items:center; gap:10px; flex-shrink:0;}
.lang-switch{display:flex; align-items:center; gap:3px; font-family:var(--ff-mono); font-size:12px; font-weight:600; border:1.5px solid var(--line); border-radius:999px; padding:4px;}
.lang-switch button{padding:5px 10px; border-radius:999px; color:var(--ink-mute); transition:background .2s, color .2s;}
.lang-switch button.is-active{background:var(--ink); color:var(--paper);}

.cart-fab{position:relative; display:flex; align-items:center; gap:8px; padding:10px 16px 10px 12px; border-radius:999px; background:var(--ink); color:var(--paper); font-weight:700; font-size:13.5px; transition:transform .3s var(--ease), background .3s;}
.cart-fab:hover{background:var(--rust);}
.cart-fab svg{width:19px; height:19px;}
.cart-fab.is-bump{animation:fabBump .5s var(--ease);}
@keyframes fabBump{30%{transform:scale(1.14);}}
.cart-badge{display:inline-flex; align-items:center; justify-content:center; min-width:19px; height:19px; padding:0 4px; border-radius:999px; background:var(--rust); color:var(--flour); font-family:var(--ff-mono); font-size:11px; font-weight:700;}
.cart-badge[data-zero="1"]{display:none;}

.burger{display:none; flex-direction:column; gap:5px; width:26px; padding:6px 0;}
.burger span{display:block; width:100%; height:2px; background:var(--ink); transition:transform .3s, opacity .3s;}

/* ============================================================
   MOBILE NAV DRAWER
   ============================================================ */
.mobile-nav{position:fixed; inset:0; z-index:900; visibility:hidden;}
.mobile-nav.is-open{visibility:visible;}
.mobile-nav-overlay{position:absolute; inset:0; background:rgba(27,23,18,.5); opacity:0; transition:opacity .35s var(--ease);}
.mobile-nav.is-open .mobile-nav-overlay{opacity:1;}
.mobile-nav-panel{position:absolute; top:0; right:0; bottom:0; width:min(86vw,380px); background:var(--paper); padding:26px 26px 40px; display:flex; flex-direction:column; gap:6px; transform:translateX(100%); transition:transform .4s var(--ease); box-shadow:var(--shadow-lg);}
.mobile-nav.is-open .mobile-nav-panel{transform:translateX(0);}
.mobile-nav-close{align-self:flex-end; width:38px; height:38px; display:flex; align-items:center; justify-content:center; border:1.5px solid var(--line); border-radius:50%; margin-bottom:16px;}
.mobile-nav-panel a{padding:14px 4px; font-family:var(--ff-display); font-size:22px; font-weight:700; border-bottom:1px solid var(--line);}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative; padding:56px 0 40px; overflow:clip;}
.hero-blob{position:absolute; top:-8%; right:-14%; width:min(64vw,780px); aspect-ratio:1; z-index:0; opacity:.9; pointer-events:none;}
.hero-grain-ring{position:absolute; left:-120px; bottom:-120px; width:340px; opacity:.16; z-index:0;}
.hero-inner{position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:52px; align-items:center;}
.hero-copy .eyebrow{margin-bottom:22px;}
.hero-copy h1{font-size:clamp(42px,6vw,84px); letter-spacing:-.02em;}
.hero-copy h1 em{font-style:italic; color:var(--rust); font-weight:500;}
.hero-copy p{font-size:18px; color:var(--ink-soft); max-width:46ch; margin:22px 0 32px; line-height:1.65;}
.hero-actions{display:flex; flex-wrap:wrap; align-items:center; gap:16px;}
.hero-actions .hint{font-family:var(--ff-mono); font-size:12px; color:var(--ink-mute);}

.hero-visual{position:relative; display:flex; align-items:flex-end; justify-content:center; min-height:420px;}
.hero-visual-photo{width:100%; max-width:520px; height:auto; object-fit:contain; filter:drop-shadow(0 24px 30px rgba(27,23,18,.28));}
.hero-stampcard{position:absolute; left:0; bottom:12px; z-index:3; max-width:260px; background:var(--flour); border:1px solid var(--line); border-radius:var(--radius-lg); padding:24px 24px 22px; box-shadow:var(--shadow-md); transform:rotate(-2deg);}
.hero-stampcard::before{content:''; position:absolute; inset:8px; border:1px dashed rgba(27,23,18,.22); border-radius:2px; pointer-events:none;}
.hero-stamp-year{font-family:var(--ff-mono); font-size:13px; color:var(--ink-mute); letter-spacing:.08em;}
.hero-stamp-num{font-family:var(--ff-display); font-size:clamp(40px,5vw,52px); font-weight:700; color:var(--ink); line-height:1; margin:6px 0 2px;}
.hero-stamp-label{font-size:13.5px; color:var(--ink-soft); border-top:1px solid var(--line); padding-top:12px; margin-top:12px;}
.hero-seal-badge{position:absolute; top:-24px; right:-20px; width:76px; height:auto; object-fit:contain; transform:rotate(9deg); filter:drop-shadow(0 8px 14px rgba(27,23,18,.35));}

.stat-strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:56px;}
.stat-strip-inner{display:grid; grid-template-columns:repeat(4,1fr); max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,4.5vw,56px);}
.stat-item{padding:26px 18px; text-align:center; border-left:1px solid var(--line);}
.stat-item:first-child{border-left:0;}
.stat-num{font-family:var(--ff-mono); font-size:clamp(26px,3vw,36px); font-weight:600; color:var(--rust); display:block;}
.stat-label{font-size:12.5px; color:var(--ink-mute); margin-top:4px; letter-spacing:.02em;}

/* ============================================================
   SECTION SCAFFOLDING
   ============================================================ */
.section{padding:110px 0;}
.section-tight{padding:70px 0;}
.section-head{max-width:640px; margin-bottom:56px;}
.section-head h2{font-size:clamp(32px,4vw,52px); margin-top:16px;}
.section-head p{color:var(--ink-soft); font-size:16.5px; margin-top:16px; line-height:1.7;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-dark{background:var(--ink); color:var(--paper);}
.section-dark h2, .section-dark h3, .section-dark h4{color:var(--paper);}
.section-dark .ink-soft-dark{color:rgba(246,242,231,.68);}

/* ============================================================
   HERITAGE / STORY — teaser strip on homepage
   ============================================================ */
.heritage-teaser{position:relative; background:var(--ink); color:var(--paper); border-radius:var(--radius-lg); overflow:clip;}
.heritage-teaser-grid{display:grid; grid-template-columns:.9fr 1.1fr;}
.heritage-teaser-media{position:relative; min-height:420px; overflow:hidden;}
.heritage-teaser-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:sepia(.55) contrast(1.08) brightness(.85);}
.heritage-teaser-media::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(27,23,18,0) 40%,rgba(27,23,18,.7));}
.heritage-teaser-media .yr{position:absolute; left:24px; bottom:22px; font-family:var(--ff-mono); font-size:13px; letter-spacing:.1em; color:var(--brass-soft); z-index:1;}
.heritage-teaser-body{padding:56px 52px;}
.heritage-teaser-body h2{font-size:clamp(28px,3.4vw,42px); margin:16px 0 20px; color:var(--paper);}
.heritage-teaser-body p{color:rgba(246,242,231,.75); font-size:16px; line-height:1.75; margin-bottom:14px;}
.heritage-teaser-quote{font-family:var(--ff-display); font-style:italic; font-size:19px; color:var(--brass-soft); margin:22px 0; line-height:1.5; border-left:2px solid var(--rust); padding-left:18px;}

/* ============================================================
   FULL HERITAGE TIMELINE (povestea.html)
   ============================================================ */
.saga{position:relative; background:var(--ink); color:var(--paper);}
.saga h1,.saga h2,.saga h3,.saga h4{color:var(--paper);}
.saga-hero{min-height:78vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; position:relative; padding:100px 20px;}
.saga-hero-year{font-family:var(--ff-mono); font-size:clamp(80px,16vw,200px); font-weight:600; color:rgba(246,242,231,.05); position:absolute; top:32%; left:50%; transform:translate(-50%,-50%); letter-spacing:-.02em; pointer-events:none; user-select:none; z-index:0;}
.saga-hero h1{position:relative; z-index:1; font-size:clamp(38px,6vw,74px); max-width:920px; text-shadow:0 2px 30px rgba(27,23,18,.9);}
.saga-hero p{position:relative; color:rgba(246,242,231,.7); font-size:18px; max-width:52ch; margin-top:22px;}

.saga-rail{display:grid; grid-template-columns:120px 1fr; gap:0; max-width:1100px; margin:0 auto; padding:0 clamp(20px,4vw,40px);}
.saga-rail-track{position:sticky; top:0; height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;}
.saga-rail-year{font-family:var(--ff-mono); font-size:44px; font-weight:600; color:var(--brass-soft); font-variant-numeric:tabular-nums;}
.saga-rail-line{width:1px; flex:1; max-height:220px; background:linear-gradient(rgba(246,242,231,0),rgba(246,242,231,.3),rgba(246,242,231,0));}
.saga-rail-progress{font-family:var(--ff-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(246,242,231,.4);}

.saga-chapters{display:flex; flex-direction:column;}
.saga-chapter{min-height:100vh; display:flex; flex-direction:column; justify-content:center; padding:80px 0; border-top:1px solid rgba(246,242,231,.12);}
.saga-chapter:first-child{border-top:0;}
.saga-chapter-num{font-family:var(--ff-mono); font-size:12px; color:var(--rust-hot); letter-spacing:.14em;}
.saga-chapter h3{font-size:clamp(26px,3.4vw,40px); margin:14px 0 18px; max-width:16ch;}
.saga-chapter p{color:rgba(246,242,231,.72); font-size:16.5px; line-height:1.8; max-width:56ch;}
.saga-chapter p+p{margin-top:14px;}
.saga-chapter-media{position:relative; margin-top:30px; border-radius:var(--radius-lg); overflow:hidden; max-width:480px; aspect-ratio:4/3;}
.saga-chapter-media img{width:100%; height:100%; object-fit:cover; filter:sepia(var(--sepia,1)) contrast(1.08) saturate(calc(1 - var(--sepia,1) * .3)) brightness(.92);}
.saga-chapter-tag{position:absolute; top:14px; left:14px; background:rgba(27,23,18,.75); backdrop-filter:blur(6px); color:var(--brass-soft); font-family:var(--ff-mono); font-size:11.5px; padding:6px 12px; border-radius:999px; letter-spacing:.06em;}

.saga-end{text-align:center; padding:120px 20px 140px;}
.saga-end h3{font-size:clamp(30px,4vw,48px); max-width:18ch; margin:0 auto 26px;}
.saga-end p{color:rgba(246,242,231,.7); max-width:50ch; margin:0 auto 34px;}

/* ============================================================
   CATEGORY GRID (homepage teaser)
   ============================================================ */
.cat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
.cat-card{position:relative; border-radius:var(--radius-lg); overflow:clip; background:var(--flour); border:1px solid var(--line); aspect-ratio:3/3.6; display:flex; flex-direction:column; justify-content:flex-end; transition:transform .4s var(--ease), box-shadow .4s var(--ease);}
.cat-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-md);}
.cat-card-media{position:absolute; inset:0;}
.cat-card-media img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.cat-card:hover .cat-card-media img{transform:scale(1.06);}
.cat-card-media::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(27,23,18,0) 30%,rgba(27,23,18,.82));}
.cat-card.no-photo{background:linear-gradient(155deg,var(--ink),#2a2117);}
.cat-card.no-photo .cat-card-icon{position:absolute; top:50%; left:50%; transform:translate(-50%,-62%); width:112px; height:112px; color:rgba(246,242,231,.16); transition:transform .4s var(--ease), color .4s var(--ease);}
.cat-card.no-photo:hover .cat-card-icon{color:rgba(246,242,231,.26); transform:translate(-50%,-62%) scale(1.06);}
.cat-card-body{position:relative; z-index:1; padding:20px 22px; color:var(--flour);}
.cat-card-body h4{font-size:19px; color:var(--flour);}
.cat-card-body span{display:block; font-size:12.5px; color:rgba(246,242,231,.65); margin-top:5px; font-family:var(--ff-mono);}
.cat-card-count{position:absolute; top:18px; right:18px; z-index:1; font-family:var(--ff-mono); font-size:11.5px; color:var(--flour); background:rgba(27,23,18,.5); backdrop-filter:blur(4px); padding:5px 10px; border-radius:999px;}

/* ============================================================
   FEATURED PRODUCTS — recipe-card / index-card language
   ============================================================ */
.flag-row{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.card-index{position:relative; background:var(--flour); border:1px solid var(--line); border-radius:var(--radius); padding:20px 20px 22px; transition:transform .35s var(--ease), box-shadow .35s var(--ease); display:flex; flex-direction:column;}
.card-index:hover{transform:translateY(-5px); box-shadow:var(--shadow-md);}
.card-index-hole{position:absolute; top:14px; left:50%; transform:translateX(-50%); width:12px; height:12px; border-radius:50%; background:var(--paper); box-shadow:inset 0 2px 4px rgba(27,23,18,.25);}
.card-index-media{aspect-ratio:1/1; border-radius:2px; overflow:hidden; margin-bottom:16px; background:var(--paper-deep); display:flex; align-items:center; justify-content:center; position:relative;}
.card-index-media img{width:100%; height:100%; object-fit:cover;}
.card-index-media svg{width:46%; height:46%; color:var(--brass-soft); opacity:.8;}
.card-index-tag{position:absolute; top:8px; left:8px; background:var(--seal); color:var(--flour); font-family:var(--ff-mono); font-size:10px; letter-spacing:.08em; padding:4px 8px; border-radius:2px; text-transform:uppercase; z-index:1;}
.card-index h4{font-family:var(--ff-display); font-size:17px; font-weight:700; line-height:1.25;}
.card-index .wt{font-family:var(--ff-mono); font-size:11.5px; color:var(--ink-mute); margin-top:3px;}
.card-index-foot{display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding-top:14px; border-top:1px dashed var(--line);}
.card-index-price{font-family:var(--ff-mono); font-weight:600; font-size:15.5px; color:var(--rust);}
.card-index-add{width:34px; height:34px; border-radius:50%; border:1.5px solid var(--ink); display:flex; align-items:center; justify-content:center; font-size:18px; transition:background .25s,color .25s,border-color .25s,transform .25s;}
.card-index-add:hover{background:var(--ink); color:var(--paper); transform:rotate(90deg);}
.card-index-add.is-added{background:var(--rust); border-color:var(--rust); color:var(--flour); transform:none;}
.card-index-stepper{display:flex; align-items:center; gap:8px; font-family:var(--ff-mono); font-weight:700;}
.card-index-stepper button{width:26px; height:26px; border-radius:50%; border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center;}
.card-index-stepper button:hover{border-color:var(--rust); color:var(--rust);}

/* ============================================================
   WEEKLY PROMO WIDGET
   ============================================================ */
.promo-strip{background:var(--rust); color:var(--flour); border-radius:var(--radius-lg); padding:30px 34px; display:flex; align-items:center; gap:26px; flex-wrap:wrap; justify-content:space-between;}
.promo-strip-left{display:flex; align-items:center; gap:18px;}
.promo-heart{width:52px; height:52px; flex-shrink:0;}
.promo-strip h4{font-size:20px; color:var(--flour);}
.promo-strip p{font-size:14.5px; color:rgba(255,253,248,.85); margin-top:4px;}
.promo-strip .day-pill{font-family:var(--ff-mono); font-size:11px; background:rgba(27,23,18,.22); padding:5px 12px; border-radius:999px; letter-spacing:.06em; text-transform:uppercase;}

/* ============================================================
   TREI PILONI (Prestație / Cariere / Revânzători)
   ============================================================ */
.pillar-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.pillar-card{position:relative; border-radius:var(--radius-lg); overflow:clip; aspect-ratio:4/3; display:block; transition:transform .4s var(--ease), box-shadow .4s var(--ease);}
.pillar-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-md);}
.pillar-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.pillar-card:hover img{transform:scale(1.06);}
.pillar-card::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(27,23,18,.05) 0%,rgba(27,23,18,.88) 78%);}
.pillar-body{position:absolute; inset:auto 0 0 0; z-index:1; padding:20px 22px; color:var(--flour);}
.pillar-body h4{color:var(--flour); font-size:19px;}
.pillar-body p{font-size:13px; color:rgba(246,242,231,.75); margin:6px 0 10px; line-height:1.5;}
.pillar-cta{font-family:var(--ff-mono); font-size:12px; font-weight:600; color:var(--brass-soft);}

/* ============================================================
   LOCATIONS
   ============================================================ */
.loc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.loc-card{border:1px solid var(--line); background:var(--flour); border-radius:var(--radius); padding:20px 22px; transition:border-color .25s, transform .25s;}
.loc-card:hover{border-color:var(--rust); transform:translateY(-3px);}
.loc-card h5{font-family:var(--ff-display); font-size:16px; margin-bottom:6px;}
.loc-card span{font-size:13.5px; color:var(--ink-mute); line-height:1.5;}
.loc-more{border:1px dashed var(--line); border-radius:var(--radius); padding:20px 22px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:6px;}
.loc-more strong{font-family:var(--ff-mono); font-size:26px; color:var(--rust);}
.loc-more span{font-size:13px; color:var(--ink-mute);}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--ink); color:rgba(246,242,231,.75); padding:70px 0 30px;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px; border-bottom:1px solid rgba(246,242,231,.14);}
.footer-brand .brand{color:var(--paper);}
.footer-brand p{margin-top:16px; font-size:14.5px; line-height:1.7; max-width:34ch; color:rgba(246,242,231,.6);}
.footer-col h5{font-family:var(--ff-mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--brass-soft); margin-bottom:16px;}
.footer-col a, .footer-col p{display:block; font-size:14.5px; margin-bottom:10px; color:rgba(246,242,231,.72);}
.footer-col a:hover{color:var(--flour);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:13px; color:rgba(246,242,231,.45); flex-wrap:wrap; gap:12px;}
.footer-vs{display:inline-flex; align-items:center; gap:7px; color:rgba(246,242,231,.55);}
.footer-vs strong{color:var(--brass-soft);}
.footer-social{display:flex; gap:10px;}
.footer-social a{width:36px; height:36px; border:1px solid rgba(246,242,231,.2); border-radius:50%; display:flex; align-items:center; justify-content:center;}
.footer-social a:hover{border-color:var(--brass-soft); color:var(--brass-soft);}

/* ============================================================
   BLOG
   ============================================================ */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.blog-card{background:var(--flour); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:clip; display:flex; flex-direction:column; transition:transform .35s var(--ease), box-shadow .35s var(--ease);}
.blog-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-md);}
.blog-card-media{display:block; aspect-ratio:16/10; overflow:hidden;}
.blog-card-media img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease);}
.blog-card:hover .blog-card-media img{transform:scale(1.05);}
.blog-card-body{padding:22px 24px 24px; display:flex; flex-direction:column; flex:1;}
.blog-date{font-family:var(--ff-mono); font-size:11.5px; color:var(--ink-mute); text-transform:uppercase; letter-spacing:.06em;}
.blog-card-body h3{font-size:19px; line-height:1.3; margin:8px 0 10px;}
.blog-card-body h3 a:hover{color:var(--rust);}
.blog-card-body p{font-size:14px; color:var(--ink-soft); line-height:1.6; flex:1;}
.blog-read{display:inline-flex; margin-top:14px; font-family:var(--ff-mono); font-size:12.5px; font-weight:700; color:var(--rust);}
.blog-read:hover{color:var(--rust-hot);}

/* ============================================================
   CARD DE FIDELITATE
   ============================================================ */
.loyalty-hero-media{border-radius:var(--radius-lg); overflow:clip; box-shadow:var(--shadow-lg); transform:rotate(1.2deg);}
.loyalty-hero-media img{width:100%; display:block; object-fit:cover;}
.week-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
.week-card{position:relative; background:var(--flour); border:1px solid var(--line); border-radius:var(--radius); padding:18px 16px 20px; text-align:center; transition:transform .3s var(--ease), border-color .3s;}
.week-card.is-today{border-color:var(--rust); box-shadow:var(--shadow-sm);}
.week-today-tag{position:absolute; top:-11px; left:50%; transform:translateX(-50%); background:var(--rust); color:var(--flour); font-family:var(--ff-mono); font-size:10.5px; font-weight:700; padding:4px 10px; border-radius:999px; letter-spacing:.05em; text-transform:uppercase;}
.week-card-media{width:76px; height:76px; margin:0 auto 12px; border-radius:50%; overflow:hidden; background:var(--paper-deep); display:flex; align-items:center; justify-content:center;}
.week-card-media img{width:100%; height:100%; object-fit:cover;}
.week-card-media svg{width:44%; height:44%; color:var(--brass-soft);}
.week-day{display:block; font-family:var(--ff-mono); font-size:11px; color:var(--ink-mute); text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px;}
.week-card h4{font-size:14.5px; line-height:1.3; min-height:38px;}
.week-off{display:inline-block; margin-top:10px; font-family:var(--ff-mono); font-size:11.5px; font-weight:700; color:var(--rust);}

/* ============================================================
   MENU PAGE
   ============================================================ */
.menu-head{padding:44px 0 0;}
.menu-search{position:relative; max-width:420px; margin-top:26px;}
.menu-search input{width:100%; padding:14px 18px 14px 44px; border:1.5px solid var(--line); border-radius:999px; background:var(--flour); font-size:14.5px;}
.menu-search input:focus{outline:none; border-color:var(--rust);}
.menu-search svg{position:absolute; left:16px; top:50%; transform:translateY(-50%); width:17px; height:17px; color:var(--ink-mute);}

.ledger-tabs{display:flex; gap:8px; overflow-x:auto; padding:30px 0 10px; margin-bottom:10px; border-bottom:1px solid var(--line); scrollbar-width:none;}
.ledger-tabs::-webkit-scrollbar{display:none;}
.ledger-tab{position:relative; flex-shrink:0; padding:12px 20px 16px; font-family:var(--ff-mono); font-size:13px; font-weight:600; letter-spacing:.03em; color:var(--ink-mute); border-radius:8px 8px 0 0; transition:color .25s, background .25s;}
.ledger-tab:hover{color:var(--ink);}
.ledger-tab.is-active{color:var(--paper); background:var(--ink);}
.ledger-tab .n{opacity:.55; margin-left:6px;}

.subtab-row{display:flex; gap:10px; flex-wrap:wrap; margin:22px 0 36px;}
.subtab{padding:8px 16px; border:1.5px solid var(--line); border-radius:999px; font-size:13px; font-weight:600; color:var(--ink-soft); transition:border-color .2s, background .2s, color .2s;}
.subtab:hover{border-color:var(--rust);}
.subtab.is-active{background:var(--ink); border-color:var(--ink); color:var(--paper);}

.menu-cat-banner{display:flex; align-items:center; gap:20px; padding:22px 26px; background:var(--flour); border:1px solid var(--line); border-radius:var(--radius-lg); margin-bottom:32px;}
.menu-cat-banner svg{width:38px; height:38px; color:var(--rust); flex-shrink:0;}
.menu-cat-banner h3{font-size:21px;}
.menu-cat-banner p{font-size:14px; color:var(--ink-mute); margin-top:3px;}

.product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.menu-empty{text-align:center; padding:70px 20px; color:var(--ink-mute);}

/* ============================================================
   CART DRAWER
   ============================================================ */
.cart-overlay{position:fixed; inset:0; background:rgba(27,23,18,.5); z-index:800; opacity:0; visibility:hidden; transition:opacity .35s var(--ease);}
.cart-overlay.is-open{opacity:1; visibility:visible;}
.cart-drawer{position:fixed; top:0; right:0; bottom:0; width:min(94vw,440px); background:var(--paper); z-index:801; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .4s var(--ease); box-shadow:var(--shadow-lg);}
.cart-drawer.is-open{transform:translateX(0);}
.cart-drawer-head{display:flex; align-items:center; justify-content:space-between; padding:22px 24px; border-bottom:1px solid var(--line);}
.cart-drawer-head h3{font-size:19px;}
.cart-drawer-close{width:36px; height:36px; border:1.5px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center;}
.cart-drawer-body{flex:1; overflow-y:auto; padding:10px 24px;}
.cart-empty{display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; text-align:center; gap:14px; color:var(--ink-mute); padding:40px 20px;}
.cart-empty svg{width:52px; height:52px; opacity:.4;}
.cart-line{display:flex; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid var(--line);}
.cart-line-media{width:58px; height:58px; border-radius:6px; overflow:hidden; background:var(--paper-deep); flex-shrink:0; display:flex; align-items:center; justify-content:center;}
.cart-line-media img{width:100%; height:100%; object-fit:cover;}
.cart-line-media svg{width:50%; height:50%; color:var(--brass-soft);}
.cart-line-body{flex:1; min-width:0;}
.cart-line-top{display:flex; justify-content:space-between; gap:8px;}
.cart-line-top h4{font-family:var(--ff-body); font-size:14px; font-weight:600; line-height:1.3;}
.cart-line-remove{font-size:12px; color:var(--ink-mute); flex-shrink:0;}
.cart-line-remove:hover{color:var(--rust);}
.cart-line-bottom{display:flex; align-items:center; justify-content:space-between; margin-top:8px;}
.cart-stepper{display:flex; align-items:center; gap:9px; border:1.5px solid var(--line); border-radius:999px; padding:3px;}
.cart-stepper button{width:22px; height:22px; border-radius:50%; font-size:14px; font-weight:700;}
.cart-stepper button:hover{background:var(--paper-deep);}
.cart-stepper span{font-family:var(--ff-mono); font-size:12.5px; font-weight:700; min-width:14px; text-align:center;}
.cart-line-price{font-family:var(--ff-mono); font-weight:700; font-size:13.5px; color:var(--rust);}
.cart-drawer-foot{padding:20px 24px 26px; border-top:1px solid var(--line);}
.cart-total-row{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:16px;}
.cart-total-row strong{font-family:var(--ff-display); font-size:24px; color:var(--rust);}

/* ============================================================
   CHECKOUT
   ============================================================ */
.checkout-section{padding:44px 0 110px;}
.checkout-crumbs{font-size:13px; color:var(--ink-mute); margin-bottom:16px;}
.checkout-crumbs a:hover{color:var(--rust);}
.checkout-head{max-width:640px; margin-bottom:36px;}
.checkout-head h1{font-size:clamp(30px,3.6vw,46px); margin-top:12px;}
.checkout-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:start;}
.co-block{background:var(--flour); border:1px solid var(--line); border-radius:var(--radius-lg); padding:28px 30px; margin-bottom:20px;}
.co-title{display:flex; align-items:center; gap:13px; font-size:18px; margin-bottom:20px;}
.co-step{display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--ink); color:var(--paper); font-family:var(--ff-mono); font-size:12.5px; font-weight:700; flex-shrink:0;}
.co-items{display:flex; flex-direction:column;}
.co-item{display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--line);}
.co-item:last-child{border-bottom:none;}
.co-item-media{width:54px; height:54px; border-radius:6px; overflow:hidden; background:var(--paper-deep); flex-shrink:0; display:flex; align-items:center; justify-content:center;}
.co-item-media img{width:100%; height:100%; object-fit:cover;}
.co-item-media svg{width:50%; height:50%; color:var(--brass-soft);}
.co-item-body{flex:1; min-width:0;}
.co-item-body h4{font-size:14.5px; font-weight:700; font-family:var(--ff-body);}
.co-item-body span{font-size:12px; color:var(--ink-mute); font-family:var(--ff-mono);}
.co-item .cart-stepper{transform:scale(.94); transform-origin:left center;}
.co-item-price{font-weight:700; font-size:14px; color:var(--rust); white-space:nowrap; min-width:56px; text-align:right; font-family:var(--ff-mono);}
.co-item-remove{font-size:14px; color:var(--ink-mute);}
.co-item-remove:hover{color:var(--rust);}

.mode-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.mode-btn{display:flex; align-items:center; gap:12px; text-align:left; padding:16px 18px; border:1.5px solid var(--line); border-radius:var(--radius); background:var(--flour); transition:border-color .2s, background .2s;}
.mode-btn:hover{border-color:var(--rust);}
.mode-btn.is-active{border-color:var(--rust); background:rgba(168,67,31,.06);}
.mode-ico{font-size:21px; flex-shrink:0;}
.mode-t{display:flex; flex-direction:column; gap:2px;}
.mode-t strong{font-size:14.5px;}
.mode-t small{font-size:12px; color:var(--ink-mute);}

.co-label{font-family:var(--ff-mono); font-size:11.5px; font-weight:600; color:var(--ink-mute); text-transform:uppercase; letter-spacing:.07em; margin-bottom:10px;}
.chip-row{display:flex; flex-wrap:wrap; gap:9px; margin-bottom:20px;}
.chip-row:last-child{margin-bottom:0;}
.chip{display:flex; flex-direction:column; align-items:center; gap:2px; padding:9px 14px; border:1.5px solid var(--line); border-radius:var(--radius); background:var(--flour); font-size:13px; font-weight:700; color:var(--ink-soft); min-width:64px; transition:all .2s;}
.chip span{font-size:11px; font-weight:600; color:var(--ink-mute);}
.chip:hover{border-color:var(--rust);}
.chip.is-active{background:var(--ink); border-color:var(--ink); color:var(--paper);}
.chip.is-active span{color:rgba(246,242,231,.65);}
.chip-sm{flex-direction:row; min-width:0; font-size:12.5px; padding:9px 14px; font-family:var(--ff-mono);}
.co-warn{font-size:12.5px; color:var(--rust); margin-top:10px; font-weight:600;}

.field-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
.field-grid > .field-full{grid-column:1/-1;}
.checkout-form{display:flex; flex-direction:column; gap:16px;}
.checkout-form label{display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:700; color:var(--ink-soft);}
.checkout-form input[type=text],.checkout-form input[type=tel],.checkout-form input[type=email],.checkout-form textarea{
  font:inherit; font-weight:400; font-size:15px; padding:13px 16px; border-radius:var(--radius); border:1.5px solid var(--line); background:var(--flour); color:var(--ink);
}
.checkout-form input:focus,.checkout-form textarea:focus{outline:none; border-color:var(--rust);}
.checkout-form textarea{resize:vertical; min-height:70px;}
.checkout-required{color:var(--rust);}
.checkout-note{font-size:12.5px; color:var(--ink-mute); text-align:center; margin-top:14px;}
.gdpr{display:flex; align-items:flex-start; gap:9px; font-size:12.5px; color:var(--ink-mute); margin:4px 0 20px; cursor:pointer; font-weight:400;}
.gdpr input{width:16px; height:16px; margin-top:2px; accent-color:var(--rust); flex-shrink:0;}

.checkout-summary{background:var(--paper-deep); border-radius:var(--radius-lg); padding:30px; position:sticky; top:96px;}
.checkout-summary h3{font-size:19px; margin-bottom:20px;}
.checkout-line{display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); font-size:14px;}
.checkout-total{display:flex; justify-content:space-between; align-items:baseline; padding-top:18px; margin-top:6px; font-weight:700; font-size:15px;}
.checkout-total strong{font-family:var(--ff-display); font-size:26px; color:var(--rust);}
.sum-trust{margin-top:22px; padding-top:18px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:9px; font-size:12.5px; color:var(--ink-soft);}

.order-ok{text-align:center; max-width:560px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:16px;}
.ok-badge{width:60px; height:60px; border-radius:50%; background:var(--ink); color:var(--brass-soft); font-size:26px; display:flex; align-items:center; justify-content:center;}
.order-ok h2{font-size:clamp(28px,3.4vw,38px);}
.order-ok .ok-sub{color:var(--ink-soft); font-size:15px; margin-top:-6px;}
.ok-card{background:var(--paper-deep); border-radius:var(--radius-lg); padding:26px 28px; width:100%; text-align:left;}
.ok-card p{display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); font-size:14px;}
.ok-card p:last-child{border-bottom:none;}
.ok-card .ok-total{font-weight:700; font-size:16px;}
.ok-card .ok-total strong{font-family:var(--ff-display); font-size:20px; color:var(--rust);}
.ok-card .ok-meta{display:block; color:var(--ink-soft); font-size:13.5px; line-height:1.7; padding-top:14px; border-bottom:none;}
.ok-actions{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; width:100%;}
.ok-wa{background:#25D366; color:#fff; box-shadow:0 12px 26px -10px rgba(37,211,102,.55);}
.ok-wa:hover{background:#1EBE5A; color:#fff;}
.ok-note{font-size:12.5px; color:var(--ink-mute); max-width:420px;}
.checkout-empty{text-align:center; padding:70px 20px; max-width:480px; margin:0 auto;}

/* ============================================================
   VISIONSITE CREDIT PILL (fixed, discret)
   ============================================================ */
.vs-pill{position:fixed; left:20px; bottom:20px; z-index:400; opacity:0; transform:translateY(12px); transition:opacity .5s var(--ease), transform .5s var(--ease); pointer-events:none;}
.vs-pill.is-visible{opacity:1; transform:translateY(0); pointer-events:auto;}
.vs-pill a{display:flex; align-items:center; gap:8px; background:var(--ink); color:var(--paper); padding:10px 16px 10px 12px; border-radius:999px; font-size:12px; font-weight:700; box-shadow:var(--shadow-md);}
.vs-pill svg{width:15px; height:15px; color:var(--brass-soft);}

/* ============================================================
   SCROLL REVEALS (JS toggles .is-in)
   ============================================================ */
.reveal{opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.is-in{opacity:1; transform:translateY(0);}
.reveal-stagger > *{opacity:0; transform:translateY(24px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal-stagger.is-in > *{opacity:1; transform:translateY(0);}
.reveal-stagger.is-in > *:nth-child(1){transition-delay:.02s;}
.reveal-stagger.is-in > *:nth-child(2){transition-delay:.08s;}
.reveal-stagger.is-in > *:nth-child(3){transition-delay:.14s;}
.reveal-stagger.is-in > *:nth-child(4){transition-delay:.2s;}
.reveal-stagger.is-in > *:nth-child(5){transition-delay:.26s;}
.reveal-stagger.is-in > *:nth-child(6){transition-delay:.32s;}
.reveal-stagger.is-in > *:nth-child(7){transition-delay:.38s;}
.reveal-stagger.is-in > *:nth-child(8){transition-delay:.44s;}

@media (prefers-reduced-motion:reduce){
  .reveal,.reveal-stagger>*{transition:none!important; opacity:1!important; transform:none!important;}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .flag-row{grid-template-columns:repeat(2,1fr);}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .product-grid{grid-template-columns:repeat(3,1fr);}
  .loc-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hero-inner{grid-template-columns:1fr; gap:40px;}
  .hero-visual{min-height:320px;}
  .hero-visual-photo{max-width:400px;}
  .hero-stampcard{max-width:280px; left:16px; bottom:0;}
  .heritage-teaser-grid{grid-template-columns:1fr;}
  .heritage-teaser-media{min-height:280px;}
  .saga-rail{grid-template-columns:1fr;}
  .saga-rail-track{position:static; height:auto; flex-direction:row; padding:18px 0; justify-content:space-between;}
  .saga-rail-line{display:none;}
}
@media (max-width:860px){
  .main-nav, .lang-switch{display:none;}
  .burger{display:flex;}
  .stat-strip-inner{grid-template-columns:repeat(2,1fr);}
  .stat-item:nth-child(3){border-left:0;}
  .stat-item:nth-child(odd){border-left:0;}
  .checkout-grid{grid-template-columns:1fr;}
  .checkout-summary{position:static;}
  .mode-row{grid-template-columns:1fr;}
  .field-grid{grid-template-columns:1fr;}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .promo-strip{flex-direction:column; align-items:flex-start;}
}
@media (max-width:600px){
  .flag-row{grid-template-columns:1fr 1fr;}
  .cat-grid{grid-template-columns:1fr 1fr;}
  .product-grid{grid-template-columns:1fr 1fr;}
  .loc-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr; gap:30px;}
  .section{padding:74px 0;}
  .heritage-teaser-body{padding:36px 26px;}
  .hero-visual{flex-direction:column; align-items:center;}
  .hero-stampcard{position:static; width:calc(100% - 32px); max-width:340px; margin-top:-40px; transform:none;}
  .hero-seal-badge{top:-18px; right:14px;}
}
