/*
Theme Name: Hello Elementor Child — Maranello Rosso
Theme URI: https://bitbasico.com
Description: Tema hijo de Hello Elementor con estilo corporativo Maranello Rosso
Author: Maranello Rosso
Template: hello-elementor
Version: 1.0
*/

/* ── GOOGLE FONTS ─────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700;1,900&family=Barlow+Condensed:wght@400;600;700;900&family=Barlow:wght@300;400;500;600&display=swap');

/* VARIABLES */
:root{
  --r:#CC0000;--r2:#aa0000;
  --c0:#FFFFFF;--c1:#FAF8F4;--c2:#F2EBE0;--c3:#E8DDD0;--c4:#DDD0BE;
  --t0:#2A1F1A;--t1:#5C4A3E;--t2:#9A8070;
  --gold:#C08000;
  --green:#25D366;
  --fd:"Playfair Display",Georgia,serif;
  --fc:"Barlow Condensed",sans-serif;
  --fb:"Barlow",sans-serif;
  --shadow:0 2px 16px rgba(42,31,26,.08);
  --shadow2:0 8px 40px rgba(42,31,26,.12);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{font-family:var(--fb)!important;background:var(--c1)!important;color:var(--t0)!important;-webkit-font-smoothing:antialiased;overflow-x:hidden;padding-top:58px!important;}
h1,h2,h3,h4{font-family:var(--fd)!important;color:var(--t0)!important;line-height:1.08!important;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}

/* LAYOUT */
.w{max-width:1200px;margin:0 auto;padding:0 32px;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--fc)!important;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:13px 26px;border:none;cursor:pointer;transition:all .22s;white-space:nowrap;}
.br{background:var(--r);color:#fff!important;}.br:hover{background:var(--r2);transform:translateY(-2px);box-shadow:0 6px 24px rgba(204,0,0,.28);}
.bw{background:var(--green);color:#fff!important;}.bw:hover{background:#1da851;transform:translateY(-2px);}
.bo{background:transparent;color:var(--r)!important;border:1.5px solid var(--r);}.bo:hover{background:var(--r);color:#fff!important;transform:translateY(-2px);}
.bc{background:var(--c0);color:var(--t0)!important;border:1.5px solid var(--c4);}.bc:hover{background:var(--c2);transform:translateY(-2px);}

/* FADE */
.fu{opacity:1;transform:translateY(0);transition:opacity .55s ease,transform .55s ease;}
.fu.on{opacity:1;transform:none;}
.d1{transition-delay:.1s;}.d2{transition-delay:.18s;}.d3{transition-delay:.26s;}.d4{transition-delay:.34s;}

/* TAG */
.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--fc)!important;font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--r)!important;margin-bottom:10px;}
.tag::before{content:"";width:18px;height:2px;background:var(--r);flex-shrink:0;}
.divr{width:36px;height:3px;background:var(--r);margin:10px 0 22px;}
.divr.c{margin-left:auto;margin-right:auto;}

/* ═══════════════ NAV ═══════════════ */
.nav{position:fixed;top:0;left:0;right:0;z-index:9000;height:58px;background:var(--c0);border-bottom:1px solid var(--c3);display:flex;align-items:center;justify-content:space-between;padding:0 32px;box-shadow:var(--shadow);}
.nav-logo{height:38px!important;width:auto!important;max-width:180px!important;object-fit:contain!important;}
.nav-r{display:flex;align-items:center;gap:16px;}
.nav-shop{font-family:var(--fc)!important;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t0)!important;transition:color .2s;}
.nav-shop:hover{color:var(--r)!important;}
.nav-ham{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:5px;}
.nav-ham span{display:block;width:22px;height:2px;background:var(--t0);transition:all .28s;border-radius:1px;}
.nav-ham.op span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-ham.op span:nth-child(2){opacity:0;}
.nav-ham.op span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* DRAWER */
.drawer{position:fixed;top:58px;left:0;bottom:0;width:340px;max-width:92vw;background:var(--c0);z-index:8999;transform:translateX(-100%);transition:transform .32s cubic-bezier(.4,0,.2,1);overflow-y:auto;border-right:1px solid var(--c3);box-shadow:6px 0 32px rgba(42,31,26,.1);}
.drawer.op{transform:none;}
.dov{position:fixed;inset:0;top:58px;background:rgba(42,31,26,.4);z-index:8998;opacity:0;pointer-events:none;transition:opacity .32s;}
.dov.op{opacity:1;pointer-events:all;}
.dtop{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--c3);transition:background .18s;}
.dtop:hover{background:var(--c2);}
.dtop-lbl{font-family:var(--fd)!important;font-size:16px;font-weight:700;font-style:italic;color:var(--t0)!important;}
.mc-btn{width:100%;background:none;border:none;border-bottom:1px solid var(--c3);padding:15px 24px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .18s;}
.mc-btn:hover,.mc-btn.op{background:var(--c2);}
.mc-btn.op{border-left:3px solid var(--r);}
.mc-btn span{font-family:var(--fd)!important;font-size:15px;font-weight:700;font-style:italic;color:var(--t0)!important;text-align:left;}
.mc-btn svg{transition:transform .25s;color:var(--t2);flex-shrink:0;}
.mc-btn.op svg{transform:rotate(90deg);}
.mc-cats{display:none;background:var(--c2);padding:4px 0;}
.mc-cats.sh{display:block;}
.mc-cat{display:flex;align-items:center;gap:8px;padding:9px 24px 9px 34px;font-size:13px;color:var(--t1)!important;transition:color .18s,background .18s;}
.mc-cat::before{content:"";width:4px;height:4px;background:var(--r);transform:rotate(45deg);flex-shrink:0;}
.mc-cat:hover{color:var(--r)!important;background:var(--c3);}
.dfooter{padding:20px 24px;border-top:1px solid var(--c3);display:flex;flex-direction:column;gap:9px;}

/* ═══════════════ TICKER ═══════════════ */
.ticker-w{background:var(--r);overflow:hidden;padding:9px 0;}
.ticker{display:flex;gap:60px;animation:tick 30s linear infinite;white-space:nowrap;}
.ti{font-family:var(--fc)!important;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.8)!important;flex-shrink:0;display:flex;align-items:center;gap:12px;}
.ti strong{color:#fff!important;font-weight:900;}
@keyframes tick{to{transform:translateX(-50%);}}

/* ═══════════════ HERO ═══════════════ */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:88vh;background:var(--c0);overflow:hidden;}
.hl{display:flex;flex-direction:column;justify-content:center;padding:72px 56px 72px max(32px,calc((100vw - 1200px)/2 + 32px));position:relative;}
.hl::after{content:"";position:absolute;right:0;top:8%;height:84%;width:1px;background:var(--c3);}
.hl-logo{width:100%;height:auto;margin-bottom:40px;object-fit:contain;object-position:left;max-width:460px;}
.hero h1{font-size:clamp(34px,4vw,60px)!important;font-weight:900!important;font-style:italic!important;margin-bottom:14px;}
.hero h1 em{font-style:normal!important;color:var(--r)!important;}

.hero-sub{font-size:16px;color:var(--t1)!important;line-height:1.78;font-weight:300;max-width:440px;margin-bottom:32px;}
.hero-btns{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px;}
.hero-guar{display:flex;flex-wrap:wrap;gap:18px;padding-top:24px;border-top:1px solid var(--c3);}
.hg-item{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--t1)!important;}
.hg-item svg{color:var(--r);flex-shrink:0;}
.hr{position:relative;overflow:hidden;}
.hr img{width:100%;height:100%;object-fit:cover;}
.hr-ov{position:absolute;inset:0;background:linear-gradient(to top,rgba(42,31,26,.5) 0%,transparent 55%);}
.hr-badge{position:absolute;bottom:28px;left:28px;background:rgba(255,255,255,.95);padding:14px 18px;box-shadow:var(--shadow2);}
.hr-badge small{font-family:var(--fc)!important;font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--r)!important;display:block;margin-bottom:3px;}
.hr-badge span{font-family:var(--fd)!important;font-size:13px;font-weight:700;font-style:italic;color:var(--t0)!important;}
.yr{position:absolute;top:24px;right:24px;background:var(--r);padding:10px 16px;text-align:center;}
.yr small{font-family:var(--fc)!important;font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7)!important;display:block;}
.yr strong{font-family:var(--fd)!important;font-size:24px;font-weight:900;font-style:italic;color:#fff!important;display:block;line-height:1;}

/* ═══════════════ TRUST BAR ═══════════════ */
/* UX: Responde "¿puedo fiarme?" en 3 segundos — aparece justo tras el hero */
.trust{background:var(--c0);border-top:1px solid var(--c3);border-bottom:3px solid var(--r);}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.ti-item{padding:22px 24px;border-right:1px solid var(--c3);display:flex;align-items:center;gap:14px;transition:background .2s;}
.ti-item:last-child{border-right:none;}
.ti-item:hover{background:var(--c2);}
.ti-ico{width:36px;height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.ti-t{font-family:var(--fc)!important;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t0)!important;display:block;margin-bottom:2px;}
.ti-s{font-size:12px;color:var(--t1)!important;line-height:1.4;}

/* ═══════════════ EAN SEARCH ═══════════════ */
/* UX: Inmediatamente tras la trust bar — el que sabe lo que busca compra en 20 segundos */
.ean{background:var(--c2);padding:64px 0;border-bottom:1px solid var(--c3);}
.ean-inner{max-width:760px;margin:0 auto;}
.ean-box{background:var(--c0);border:1px solid var(--c3);padding:44px 48px;box-shadow:var(--shadow);}
.ean-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-bottom:28px;}
.ean-head h2{font-size:clamp(22px,2.8vw,34px)!important;font-style:italic!important;}
.ean-head h2 em{color:var(--r)!important;font-style:normal!important;}
.ean-head p{font-size:13px;color:var(--t1)!important;line-height:1.6;}
.ean-form{display:flex;border:2px solid var(--c3);transition:border-color .2s;background:var(--c1);}
.ean-form:focus-within{border-color:var(--r);background:var(--c0);}
.ean-inp{flex:1;border:none!important;outline:none!important;background:transparent!important;padding:14px 18px;font-size:15px;color:var(--t0)!important;min-width:0;font-family:var(--fb)!important;}
.ean-inp::placeholder{color:var(--t2)!important;}
.ean-go{background:var(--r);border:none;padding:0 28px;cursor:pointer;font-family:var(--fc)!important;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff!important;transition:background .2s;display:flex;align-items:center;gap:7px;white-space:nowrap;}
.ean-go:hover{background:var(--r2);}
.ean-note{font-size:12px;color:var(--t2)!important;margin-top:10px;}
.ean-note strong{color:var(--t1)!important;}
.ean-res{margin-top:16px;display:none;}
.ean-res.sh{display:block;}
.ean-card{background:var(--c1);border:1px solid var(--c3);border-top:none;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.ean-card:first-child{border-top:1px solid var(--c3);}
.ean-ref{font-family:var(--fc)!important;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--r)!important;display:block;}
.ean-pname{font-family:var(--fd)!important;font-size:15px!important;font-weight:700!important;font-style:italic!important;color:var(--t0)!important;}
.ean-meta{font-size:12px;color:var(--t1)!important;margin-top:2px;}
.ean-acts{display:flex;gap:7px;flex-shrink:0;}
.ean-empty{padding:18px;background:var(--c2);border:1px solid var(--c3);font-size:14px;color:var(--t1)!important;text-align:center;}

/* ═══════════════ MODELOS (selector visual) ═══════════════ */
/* UX: "¿Para qué Ferrari?" — navegación visual intuitiva antes del catálogo */
.modelos{background:var(--c1);padding:88px 0;}
.modelos-head{text-align:center;margin-bottom:48px;}
.modelos-head h2{font-size:clamp(28px,3.8vw,48px)!important;font-style:italic!important;margin-bottom:8px;}
.modelos-head h2 span{color:var(--r)!important;}
.modelos-head p{font-size:14px;color:var(--t1)!important;max-width:480px;margin:0 auto;}
.mg{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--c3);border:1px solid var(--c3);}
.mc{background:var(--c0);overflow:hidden;position:relative;cursor:pointer;transition:box-shadow .25s;}
.mc:hover{box-shadow:var(--shadow2);z-index:1;}
.mc::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--r);transform:scaleX(0);transition:transform .3s;transform-origin:left;}
.mc:hover::after{transform:scaleX(1);}
.mc-img-w{overflow:hidden;aspect-ratio:4/3;}
.mc-img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.mc:hover .mc-img{transform:scale(1.06);}
.mc-body{padding:14px 16px 16px;}
.mc-name{font-family:var(--fd)!important;font-size:13px!important;font-weight:700!important;font-style:italic!important;color:var(--t0)!important;margin-bottom:6px;line-height:1.2!important;}
.mc-cta{font-family:var(--fc)!important;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--r)!important;display:flex;align-items:center;gap:4px;transition:gap .2s;}
.mc:hover .mc-cta{gap:8px;}

/* ═══════════════ PIEZAS WOOCOMMERCE ═══════════════ */
/* UX: El catálogo principal — tabs claros, filtros visibles, compra directa */
.piezas{background:var(--c2);padding:88px 0;}
.piezas-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;flex-wrap:wrap;gap:16px;}
.piezas-top h2{font-size:clamp(28px,3.8vw,46px)!important;font-style:italic!important;}
.piezas-top h2 span{color:var(--r)!important;}
.wt-wrap{background:var(--c0);border:1px solid var(--c3);margin-bottom:0;}
.wt-tabs{display:flex;flex-wrap:wrap;border-bottom:2px solid var(--c3);}
.wt{font-family:var(--fc)!important;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:13px 18px;border:none;border-right:1px solid var(--c3);background:transparent;color:var(--t1)!important;cursor:pointer;transition:all .18s;border-bottom:3px solid transparent;margin-bottom:-2px;}
.wt:last-child{border-right:none;}
.wt:hover{color:var(--r)!important;background:var(--c2);}
.wa{background:var(--c0)!important;color:var(--r)!important;border-bottom:3px solid var(--r)!important;}
.wp{display:none;padding:32px;}
.ws{display:block;}

/* ═══════════════ NOSOTROS ═══════════════ */
/* UX: Confianza DESPUÉS de ver las piezas — el interesado necesita este empujón */
.nosotros{background:var(--c0);padding:72px 0;}
.nos-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.nos-img{position:relative;}
.nos-img img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.nos-cap{position:absolute;bottom:0;left:0;right:0;background:rgba(42,31,26,.8);padding:14px 18px;display:flex;align-items:center;gap:9px;}
.nos-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0;animation:pulse 2.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.nos-cap span{font-family:var(--fc)!important;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)!important;}
.nos-text h2{font-size:clamp(28px,3.5vw,46px)!important;font-style:italic!important;margin-bottom:8px;}
.nos-text h2 span{color:var(--r)!important;}
.nos-lead{font-size:16px;font-weight:300;color:var(--t1)!important;line-height:1.8;margin-bottom:20px;border-left:3px solid var(--r);padding-left:16px;}
.nos-p{font-size:15px;color:var(--t1)!important;line-height:1.75;margin-bottom:16px;}
.marcas-b{background:var(--c2);border:1px solid var(--c3);padding:18px 22px;margin-top:10px;}
.marcas-lbl{font-family:var(--fc)!important;font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--t2)!important;display:block;margin-bottom:12px;}
.marcas{display:flex;flex-wrap:wrap;gap:7px;}
.marca{font-family:var(--fc)!important;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border:1px solid var(--c3);color:var(--t1)!important;transition:all .18s;}
.mf{background:var(--r);color:#fff!important;border-color:var(--r);}
.marca:hover{border-color:var(--r);color:var(--r)!important;}


/* UX: Elimina la fricción de compra más importante — "¿qué pasa si la pieza falla?" */



.g-item:hover{background:rgba(255,255,255,.12);}




.g-head h2{font-size:clamp(26px,3.5vw,42px)!important;font-style:italic!important;color:#fff!important;margin-bottom:8px;}
.g-head p{font-size:15px;color:rgba(255,255,255,.75)!important;}

/* ═══════════════ ESCASEZ ═══════════════ */
.escasez{background:var(--c2);padding:80px 0;border-top:1px solid var(--c3);}
.esc-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.esc-text h2{font-size:clamp(26px,3.5vw,44px)!important;font-style:italic!important;margin-bottom:8px;}
.esc-text h2 em{color:var(--r)!important;font-style:normal!important;}
.esc-text p{font-size:15px;color:var(--t1)!important;line-height:1.75;margin-bottom:22px;}
.esc-list{list-style:none;margin-bottom:28px;}
.esc-list li{font-size:14px;color:var(--t1)!important;padding:9px 0;border-bottom:1px solid var(--c3);display:flex;align-items:flex-start;gap:9px;line-height:1.5;}
.esc-list li::before{content:"✓";color:var(--r);font-weight:700;flex-shrink:0;margin-top:1px;}
.esc-img{position:relative;}
.esc-img img{width:100%;aspect-ratio:3/2.2;object-fit:cover;}
.esc-img::before{content:"";position:absolute;top:-10px;left:-10px;right:10px;bottom:10px;border:2px solid var(--c3);pointer-events:none;z-index:1;}

/* ═══════════════ CONTACTO ═══════════════ */
.contacto{background:var(--c0);padding:96px 0;}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.cta-l h2{font-size:clamp(28px,3.5vw,46px)!important;font-style:italic!important;margin-bottom:14px;}
.cta-l h2 em{color:var(--r)!important;font-style:normal!important;}
.cta-l p{font-size:15px;color:var(--t1)!important;line-height:1.75;margin-bottom:22px;}
.glist{list-style:none;margin-bottom:26px;}
.glist li{font-size:14px;color:var(--t1)!important;padding:8px 0;border-bottom:1px solid var(--c3);display:flex;align-items:center;gap:8px;}
.glist li::before{content:"✓";color:var(--r);font-weight:700;flex-shrink:0;}
.fbox{background:var(--c2);padding:36px;border:1px solid var(--c3);box-shadow:var(--shadow);}
.fhead{font-family:var(--fc)!important;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--r)!important;margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.fhead::after{content:"";flex:1;height:1px;background:var(--c3);}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fg{margin-bottom:10px;}
.fg label{display:block;font-family:var(--fc)!important;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--t2)!important;margin-bottom:5px;}
.fg input,.fg select,.fg textarea{width:100%;background:var(--c0)!important;border:1.5px solid var(--c3)!important;border-radius:0!important;color:var(--t0)!important;padding:10px 12px;font-family:var(--fb)!important;font-size:14px;outline:none;transition:border-color .2s,background .2s;}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--r)!important;background:var(--c0)!important;}
.fg textarea{resize:vertical;min-height:86px;}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;}
.facts a{justify-content:center;}

/* ═══════════════ FINAL ═══════════════ */
.final{background:var(--c1);border-top:3px solid var(--r);padding:56px 0;text-align:center;position:relative;overflow:hidden;}
.final::before{content:"1996";position:absolute;font-family:var(--fd)!important;font-size:200px;font-weight:900;font-style:italic;color:rgba(204,0,0,.04);top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;letter-spacing:-.02em;}
.final h2{font-size:clamp(22px,3.5vw,42px)!important;font-style:italic!important;color:var(--t0)!important;position:relative;margin-bottom:8px;}
.final h2 span{color:var(--r)!important;}
.final p{font-size:15px;color:var(--t1)!important;position:relative;margin-bottom:24px;}
.final .btn{position:relative;}

/* ═══════════════ RESPONSIVE ═══════════════ */
@media(max-width:1100px){
  .mg{grid-template-columns:repeat(3,1fr);}
  
}
@media(max-width:1024px){
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hr{height:380px;}
  .hl{padding:56px 32px;}
  .hl::after{display:none;}
  .trust-grid,.nos-grid,.esc-grid,.cta-grid{grid-template-columns:1fr;gap:32px;}
  .ti-item{border-right:none;border-bottom:1px solid var(--c3);}
  .curio-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .w{padding:0 20px;}
  .mg{grid-template-columns:repeat(2,1fr);}
  
  .curio-grid,.frow,.facts{grid-template-columns:1fr;}
  .ean-box{padding:24px 20px;}
  .ean-head{grid-template-columns:1fr;}
  .wt{padding:10px 12px;font-size:10px;}
  .drawer{width:100%;max-width:100%;}
  .nav-shop{display:none;}
}

/* ═══════════════ ERA CARDS ═══════════════ */
.eras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--c3);border:1px solid var(--c3);margin-top:48px;}
.era-card{background:var(--c0);padding:36px 28px 28px;position:relative;overflow:hidden;cursor:pointer;transition:box-shadow .25s,background .22s;}
.era-card:hover{box-shadow:var(--shadow2);background:var(--c1);}
.era-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--r);transform:scaleX(0);transition:transform .35s;transform-origin:left;}
.era-card:hover::after{transform:scaleX(1);}
.era-years{font-family:var(--fc)!important;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--r)!important;display:block;margin-bottom:8px;}
.era-name{font-family:var(--fd)!important;font-size:22px!important;font-weight:900!important;font-style:italic!important;color:var(--t0)!important;margin-bottom:10px;line-height:1.1!important;}
.era-models{font-size:12px;color:var(--t2)!important;line-height:1.6;margin-bottom:20px;min-height:58px;}
.era-count{font-family:var(--fc)!important;font-size:32px;font-weight:900;color:rgba(204,0,0,.08);position:absolute;top:16px;right:20px;line-height:1;}
.era-links{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--c3);padding-top:16px;}
.era-link{font-family:var(--fc)!important;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t1)!important;display:flex;align-items:center;gap:6px;transition:color .18s;}
.era-link::before{content:"→";color:var(--r);}
.era-link:hover{color:var(--r)!important;}
@media(max-width:768px){.eras-grid{grid-template-columns:1fr;}}

/* ── ESTILOS INTERNOS DE PÁGINAS ─────────────────────── */

/* PAGE HEADER (todas las páginas interiores) */
.mr-page-header{background:var(--c0);border-bottom:1px solid var(--c3);padding:56px 0 48px;}
.mr-page-header .w{max-width:1200px;margin:0 auto;padding:0 32px;}
.mr-page-header .ph-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--fc)!important;font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--r)!important;margin-bottom:10px;}
.mr-page-header .ph-tag::before{content:"";width:18px;height:2px;background:var(--r);flex-shrink:0;}
.mr-page-header h1{font-family:var(--fd)!important;font-size:clamp(32px,4vw,56px)!important;font-style:italic!important;font-weight:900!important;color:var(--t0)!important;margin-bottom:8px;line-height:1.05!important;}
.mr-page-header h1 span{color:var(--r)!important;}
.mr-page-header p{font-size:16px;color:var(--t1)!important;max-width:560px;line-height:1.75;}
.mr-breadcrumb{font-family:var(--fc)!important;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--t2)!important;margin-bottom:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.mr-breadcrumb a{color:var(--r)!important;text-decoration:none;}
.mr-breadcrumb span{color:var(--t2)!important;}

/* SOBRE NOSOTROS */
.snos-section{background:var(--c0);padding:88px 0;}
.snos-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.snos-img{position:relative;}
.snos-img img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.snos-img-cap{position:absolute;bottom:0;left:0;right:0;background:rgba(42,31,26,.8);padding:14px 18px;display:flex;align-items:center;gap:9px;}
.snos-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex-shrink:0;animation:pulse 2.2s ease-in-out infinite;}
.snos-img-cap span{font-family:var(--fc)!important;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.7)!important;}
.snos-text h2{font-size:clamp(26px,3.5vw,44px)!important;font-style:italic!important;margin-bottom:8px;}
.snos-text h2 span{color:var(--r)!important;}
.snos-lead{font-size:16px;font-weight:300;color:var(--t1)!important;line-height:1.8;margin-bottom:20px;border-left:3px solid var(--r);padding-left:16px;}
.snos-p{font-size:15px;color:var(--t1)!important;line-height:1.75;margin-bottom:16px;}
.valores-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--c3);border:1px solid var(--c3);margin:64px 0;}
.valor-card{background:var(--c0);padding:32px 28px;transition:background .22s;}
.valor-card:hover{background:var(--c2);}
.valor-ico{font-size:32px;margin-bottom:14px;display:block;}
.valor-title{font-family:var(--fc)!important;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t0)!important;margin-bottom:8px;display:block;}
.valor-desc{font-size:14px;color:var(--t1)!important;line-height:1.65;}
.marcas-section{background:var(--c2);padding:64px 0;border-top:1px solid var(--c3);}
.marcas-section h3{font-size:clamp(22px,3vw,36px)!important;font-style:italic!important;margin-bottom:6px;text-align:center;}
.marcas-section h3 span{color:var(--r)!important;}

/* CONTACTO */
.contacto-page{background:var(--c0);padding:88px 0;}
.contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.cinfo-block{margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--c3);}
.cinfo-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.cinfo-label{font-family:var(--fc)!important;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--r)!important;display:block;margin-bottom:8px;}
.cinfo-value{font-size:15px;color:var(--t1)!important;line-height:1.7;}
.cinfo-value a{color:var(--t0)!important;text-decoration:none;transition:color .2s;}
.cinfo-value a:hover{color:var(--r)!important;}
.mapa-wrap{margin-top:28px;border:1px solid var(--c3);overflow:hidden;}
.mapa-wrap iframe{width:100%;height:320px;border:none;display:block;filter:grayscale(20%);}

/* BLOG */
.blog-page{background:var(--c2);padding:88px 0;}
.blog-posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--c3);border:1px solid var(--c3);margin-top:48px;}
.blog-post-card{background:var(--c0);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .25s;}
.blog-post-card:hover{box-shadow:var(--shadow2);z-index:1;}
.bpc-img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .4s;}
.blog-post-card:hover .bpc-img{transform:scale(1.04);}
.bpc-img-wrap{overflow:hidden;}
.bpc-body{padding:24px;flex:1;display:flex;flex-direction:column;}
.bpc-cat{font-family:var(--fc)!important;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--r)!important;display:block;margin-bottom:8px;}
.bpc-title{font-family:var(--fd)!important;font-size:18px!important;font-weight:700!important;font-style:italic!important;color:var(--t0)!important;margin-bottom:10px;line-height:1.25!important;}
.bpc-excerpt{font-size:13px;color:var(--t1)!important;line-height:1.65;flex:1;margin-bottom:20px;}
.bpc-link{font-family:var(--fc)!important;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t1)!important;display:flex;align-items:center;gap:7px;border-top:1px solid var(--c3);padding-top:14px;transition:color .18s;text-decoration:none;}
.bpc-link::before{content:"→";color:var(--r);}
.bpc-link:hover{color:var(--r)!important;}

/* RESPONSIVE PÁGINAS INTERIORES */
@media(max-width:1024px){
  .snos-grid,.contacto-grid{grid-template-columns:1fr;gap:40px;}
  .valores-grid{grid-template-columns:1fr 1fr;}
  .blog-posts-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .valores-grid,.blog-posts-grid{grid-template-columns:1fr;}
  .mr-page-header{padding:40px 0 32px;}
}






/* Fix gap between nav and ticker caused by WordPress themes */
.site-header{display:none!important;}
.site-content{padding-top:0!important;margin-top:0!important;}
.entry-content{padding:0!important;margin:0!important;}
.page-content{padding:0!important;margin:0!important;}
body.mr-landing{padding-top:58px!important;}
body.page-template-maranello-landing-template{padding-top:58px!important;}
.hentry{margin:0!important;}

/* ═══════════════════════════════════════════════════════
   FIX LOGO EN PÁGINAS POR DEFECTO DE WOOCOMMERCE
   (carrito, checkout, mi cuenta, tienda nativa)
   ═══════════════════════════════════════════════════════ */

/* Hello Elementor site header logo */
.site-header .site-logo img,
.site-header .custom-logo,
.site-header img.custom-logo,
.site-branding img,
.site-branding .custom-logo,
header .custom-logo,
header img,
.main-header img,
.elementor-widget-theme-site-logo img,
.elementor-site-logo img,
img.custom-logo {
  height: 38px !important;
  width: auto !important;
  max-width: 180px !important;
  object-fit: contain !important;
}

/* Hello Elementor specific */
.site-header {
  height: 58px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 32px !important;
  background: var(--c0) !important;
  border-bottom: 1px solid var(--c3) !important;
  box-shadow: 0 2px 12px rgba(42,31,26,.07) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9000 !important;
}

.site-branding {
  display: flex !important;
  align-items: center !important;
}

/* Ocultar el nombre del sitio si aparece como texto junto al logo */
.site-title {
  font-family: var(--fc) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--t0) !important;
}

.site-title a {
  color: var(--t0) !important;
  text-decoration: none !important;
}

/* WooCommerce pages content padding */
.woocommerce-page .site-content,
.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.woocommerce-account .site-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* WooCommerce pages background */
.woocommerce-page,
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
  background: var(--c1) !important;
}

.woocommerce-page .site-main,
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main {
  padding: 48px 32px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* WooCommerce page titles */
.woocommerce-page h1.entry-title,
.woocommerce-page h1.page-title {
  font-family: var(--fd) !important;
  font-size: clamp(28px,3.5vw,46px) !important;
  font-style: italic !important;
  font-weight: 900 !important;
  color: var(--t0) !important;
  margin-bottom: 32px !important;
}


/* ── EAN Search in nav ─────────────────────────────────── */
.nav-ean-btn{background:none;border:none;cursor:pointer;color:var(--t0);display:flex;align-items:center;padding:4px;transition:color .2s;}
.nav-ean-btn:hover{color:var(--r);}
.nav-ean-overlay{position:fixed;top:58px;left:0;right:0;background:var(--c0);border-bottom:2px solid var(--r);z-index:8500;padding:16px 32px;display:none;box-shadow:0 4px 20px rgba(42,31,26,.12);}
.nav-ean-overlay.open{display:block;}
.nav-ean-box{max-width:680px;margin:0 auto;}
.nav-ean-form{display:flex;gap:0;border:1.5px solid var(--c3);background:var(--c1);}
.nav-ean-form:focus-within{border-color:var(--r);}
.nav-ean-form input{flex:1;border:none!important;outline:none!important;background:transparent!important;padding:12px 16px;font-size:15px;color:var(--t0)!important;font-family:var(--fb)!important;}
.nav-ean-form button{background:var(--r);border:none;padding:0 18px;cursor:pointer;color:#fff;transition:background .2s;}
.nav-ean-form button:hover{background:var(--r2);}
.nav-ean-close{background:var(--c2)!important;color:var(--t0)!important;font-size:14px;padding:0 14px!important;}
.nav-ean-close:hover{background:var(--c3)!important;}
#nav-ean-results{margin-top:12px;}
.ean-nav-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--c2);border:1px solid var(--c3);margin-bottom:4px;flex-wrap:wrap;}
.ean-nav-ref{font-family:var(--fc)!important;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--r)!important;display:block;}
.ean-nav-name{font-family:var(--fd)!important;font-size:15px;font-weight:700;font-style:italic;color:var(--t0)!important;}
.ean-nav-meta{font-size:12px;color:var(--t1)!important;}
.ean-nav-actions{display:flex;gap:8px;flex-shrink:0;}
.ean-empty{padding:14px 16px;font-size:14px;color:var(--t1)!important;background:var(--c2);border:1px solid var(--c3);}




/* ── FILTER BUTTON: always fully visible ──────────────── */
.tienda-filter-btn,
button.tienda-filter-btn,
form .tienda-filter-btn {
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-flex !important;
  color: #ffffff !important;
  background: var(--r) !important;
  pointer-events: auto !important;
  transform: none !important;
}
/* Override .fu animation that hides elements before they scroll into view */
.tienda-filter-btn.fu,
.tienda-filter-btn.fu:not(.on) {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* ── Tienda 2-col header (desktop) ─────────────────────── */
@media (max-width: 860px) {
  .mr-page-header [style*="grid-template-columns:1fr 420px"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}
