/* ===== REFACCIONARIA EL REPUESTO — Estilo industrial automotriz ===== */
/* Barlow Condensed + Barlow · Rojo motor #D32F2F · Gris acero #37474F */

/* ---------- reset & variables ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --rojo:#D32F2F;--rojo-oscuro:#B71C1C;--rojo-claro:#EF5350;
  --gris:#37474F;--gris-oscuro:#263238;--gris-claro:#546E7A;--gris-suave:#78909C;
  --blanco:#FFFFFF;--fondo:#F5F5F5;--linea:#CFD8DC;
  --texto:#212121;--texto2:#455A64;
  --max:1120px;--pad:clamp(16px,4vw,40px);
  --r:4px;--sombra:0 2px 8px rgba(0,0,0,.12);
  --trans:.25s ease;
}
html{scroll-behavior:smooth;font-size:100%}
body{font-family:'Barlow',sans-serif;font-weight:400;line-height:1.6;color:var(--texto);background:var(--blanco)}
img{max-width:100%;height:auto;display:block}
a{color:var(--rojo);text-decoration:none;transition:color var(--trans)}
a:hover{color:var(--rojo-oscuro)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--rojo-claro);outline-offset:2px}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:'Barlow Condensed',sans-serif;font-weight:700;line-height:1.15;color:var(--gris-oscuro);text-transform:uppercase;letter-spacing:.02em}
h1{font-size:clamp(2rem,5vw,3.5rem)}
h2{font-size:clamp(1.5rem,3.5vw,2.4rem)}
h3{font-size:clamp(1.15rem,2.5vw,1.6rem)}
p+p{margin-top:.8em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ---------- contenedor ---------- */
.contenedor{width:100%;max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}

/* ---------- topbar ---------- */
.topbar{background:var(--gris-oscuro);color:var(--blanco);font-size:.8rem;padding:6px 0}
.topbar .contenedor{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between}
.topbar a{color:var(--blanco);font-weight:500}
.topbar a:hover{color:var(--rojo-claro)}
.topbar-horario{display:none}
@media(min-width:640px){.topbar-horario{display:inline}}

/* ---------- header ---------- */
.cabecera{position:sticky;top:0;z-index:100;background:var(--blanco);border-bottom:3px solid var(--rojo);box-shadow:var(--sombra)}
.cabecera .contenedor{display:flex;align-items:center;justify-content:space-between;height:64px}
.marca{display:flex;align-items:center;gap:10px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.25rem;color:var(--gris-oscuro);text-transform:uppercase;letter-spacing:.04em}
.marca img{width:40px;height:40px}
.marca:hover{color:var(--rojo)}

/* nav desktop */
.nav-desk{display:none}
@media(min-width:900px){
  .nav-desk{display:flex;gap:4px;align-items:center}
  .nav-desk a{padding:8px 14px;font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:.95rem;color:var(--gris);text-transform:uppercase;letter-spacing:.03em;border-radius:var(--r);transition:background var(--trans),color var(--trans)}
  .nav-desk a:hover,.nav-desk a[aria-current]{background:var(--rojo);color:var(--blanco)}
}

/* hamburger */
.hamburguesa{display:flex;flex-direction:column;gap:5px;justify-content:center;align-items:center;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:0}
.hamburguesa span{display:block;width:26px;height:3px;background:var(--gris-oscuro);border-radius:2px;transition:transform var(--trans),opacity var(--trans)}
.hamburguesa[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.hamburguesa[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburguesa[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
@media(min-width:900px){.hamburguesa{display:none}}

/* mobile menu */
.nav-movil{position:fixed;top:0;right:-100%;width:min(320px,85vw);height:100vh;background:var(--gris-oscuro);z-index:200;padding:80px 24px 24px;display:flex;flex-direction:column;gap:4px;transition:right .35s ease;overflow-y:auto}
.nav-movil.abierto{right:0}
.nav-movil a{display:block;padding:14px 16px;color:var(--blanco);font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;font-weight:600;text-transform:uppercase;border-radius:var(--r);transition:background var(--trans)}
.nav-movil a:hover,.nav-movil a[aria-current]{background:var(--rojo)}
.nav-movil .cerrar{position:absolute;top:16px;right:16px;width:44px;height:44px;background:none;border:none;cursor:pointer;color:var(--blanco);font-size:1.8rem;line-height:1}
.overlay-menu{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:199;opacity:0;pointer-events:none;transition:opacity .3s}
.overlay-menu.visible{opacity:1;pointer-events:auto}

/* ---------- hero ---------- */
.hero{position:relative;background:linear-gradient(135deg,var(--gris-oscuro) 0%,var(--gris) 60%,var(--rojo-oscuro) 100%);color:var(--blanco);padding:clamp(48px,10vw,100px) 0 clamp(56px,12vw,120px);overflow:hidden}
.hero::before{content:'';position:absolute;top:-60px;right:-60px;width:280px;height:280px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='45' fill='none' stroke='%23ffffff' stroke-width='2' opacity='.08'/%3E%3Ccircle cx='50' cy='50' r='20' fill='none' stroke='%23ffffff' stroke-width='2' opacity='.08'/%3E%3Cpath d='M50 5 L53 15 L47 15Z M50 95 L53 85 L47 85Z M5 50 L15 47 L15 53Z M95 50 L85 47 L85 53Z M17 17 L24 22 L22 24Z M83 83 L76 78 L78 76Z M83 17 L78 24 L76 22Z M17 83 L22 76 L24 78Z' fill='%23ffffff' opacity='.08'/%3E%3C/svg%3E") no-repeat center/contain;pointer-events:none}
.hero::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:48px;background:var(--blanco);clip-path:polygon(0 100%,100% 100%,100% 0)}
.hero .contenedor{position:relative;z-index:1}
.hero-subtitulo{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:clamp(.85rem,2vw,1.1rem);color:var(--rojo-claro);text-transform:uppercase;letter-spacing:.15em;margin-bottom:12px}
.hero h1{color:var(--blanco);margin-bottom:20px}
.hero-texto{max-width:600px;font-size:clamp(1rem,2vw,1.15rem);line-height:1.7;opacity:.9;margin-bottom:32px}
.hero-botones{display:flex;flex-wrap:wrap;gap:12px}

/* botones */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;border:none;border-radius:var(--r);cursor:pointer;transition:background var(--trans),transform .15s}
.btn:active{transform:scale(.97)}
.btn-rojo{background:var(--rojo);color:var(--blanco)}
.btn-rojo:hover{background:var(--rojo-oscuro);color:var(--blanco)}
.btn-outline{background:transparent;color:var(--blanco);border:2px solid var(--blanco)}
.btn-outline:hover{background:var(--blanco);color:var(--gris-oscuro)}
.btn-gris{background:var(--gris);color:var(--blanco)}
.btn-gris:hover{background:var(--gris-oscuro);color:var(--blanco)}
.btn-wa{background:#25D366;color:var(--blanco)}
.btn-wa:hover{background:#1DA851;color:var(--blanco)}
.btn svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}

/* ---------- secciones ---------- */
.seccion{padding:clamp(40px,8vw,80px) 0}
.seccion-gris{background:var(--fondo)}
.seccion-oscura{background:var(--gris-oscuro);color:var(--blanco)}
.seccion-oscura h2,.seccion-oscura h3{color:var(--blanco)}
.seccion-roja{background:var(--rojo);color:var(--blanco)}
.seccion-roja h2{color:var(--blanco)}

.seccion-titulo{text-align:center;margin-bottom:12px}
.seccion-linea{display:block;width:60px;height:4px;background:var(--rojo);margin:0 auto 40px;border-radius:2px}
.seccion-intro{text-align:center;max-width:680px;margin:0 auto 40px;color:var(--texto2);font-size:1.05rem}

/* ---------- productos grid ---------- */
.productos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.producto-card{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;transition:box-shadow var(--trans),transform var(--trans)}
.producto-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.12);transform:translateY(-3px)}
.producto-img{width:100%;aspect-ratio:4/3;object-fit:cover;background:linear-gradient(135deg,#ECEFF1 0%,#CFD8DC 100%)}
.producto-body{padding:20px}
.producto-ref{font-family:'Barlow Condensed',sans-serif;font-size:.75rem;font-weight:600;color:var(--rojo);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.producto-nombre{font-size:1.1rem;margin-bottom:8px}
.producto-desc{font-size:.9rem;color:var(--texto2);margin-bottom:12px;line-height:1.5}
.producto-precio{font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;font-weight:700;color:var(--gris-oscuro)}
.producto-precio small{font-size:.7em;font-weight:400;color:var(--texto2)}
.producto-iva{font-size:.75rem;color:var(--texto2);margin-top:2px}

/* ---------- features / info blocks ---------- */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;margin-top:40px}
.feature{text-align:center;padding:24px 16px}
.feature-icono{width:56px;height:56px;margin:0 auto 16px;background:var(--rojo);border-radius:50%;display:flex;align-items:center;justify-content:center}
.feature-icono svg{width:28px;height:28px;fill:var(--blanco)}
.feature h3{font-size:1.1rem;margin-bottom:8px}
.feature p{font-size:.9rem;color:var(--texto2)}

/* ---------- datos clave (strip) ---------- */
.datos-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;text-align:center}
.dato-item{padding:32px 16px;border-right:1px solid rgba(255,255,255,.15)}
.dato-item:last-child{border-right:none}
.dato-num{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--blanco)}
.dato-label{font-size:.9rem;opacity:.8;margin-top:4px}

/* ---------- blog cards ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.blog-card{background:var(--blanco);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;transition:box-shadow var(--trans)}
.blog-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1)}
.blog-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;background:linear-gradient(135deg,#ECEFF1,#B0BEC5)}
.blog-card-body{padding:20px}
.blog-card-fecha{font-size:.8rem;color:var(--texto2);margin-bottom:6px}
.blog-card h3{font-size:1.15rem;margin-bottom:8px}
.blog-card h3 a{color:var(--gris-oscuro)}
.blog-card h3 a:hover{color:var(--rojo)}
.blog-card p{font-size:.9rem;color:var(--texto2)}

/* ---------- galeria ---------- */
.galeria-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.galeria-item{position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer}
.galeria-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s;background:linear-gradient(135deg,#ECEFF1,#B0BEC5)}
.galeria-item:hover img{transform:scale(1.05)}
.galeria-item figcaption{position:absolute;bottom:0;left:0;right:0;padding:12px 16px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:var(--blanco);font-size:.85rem}

/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:300;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.lightbox.activo{opacity:1;pointer-events:auto}
.lightbox img{max-width:90vw;max-height:85vh;border-radius:var(--r)}
.lightbox-cerrar{position:absolute;top:16px;right:16px;width:48px;height:48px;background:rgba(255,255,255,.15);border:none;border-radius:50%;cursor:pointer;color:var(--blanco);font-size:1.5rem;transition:background var(--trans)}
.lightbox-cerrar:hover{background:rgba(255,255,255,.3)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:rgba(255,255,255,.15);border:none;border-radius:50%;cursor:pointer;color:var(--blanco);font-size:1.4rem;transition:background var(--trans)}
.lightbox-nav:hover{background:rgba(255,255,255,.3)}
.lightbox-prev{left:16px}
.lightbox-next{right:16px}

/* ---------- formulario ---------- */
.form-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:640px){.form-grid{grid-template-columns:1fr 1fr}}
.form-grupo{display:flex;flex-direction:column;gap:6px}
.form-grupo.ancho{grid-column:1/-1}
.form-grupo label{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:.9rem;text-transform:uppercase;color:var(--gris)}
.form-grupo input,.form-grupo textarea,.form-grupo select{padding:12px 14px;border:2px solid var(--linea);border-radius:var(--r);font-family:'Barlow',sans-serif;font-size:1rem;color:var(--texto);transition:border-color var(--trans)}
.form-grupo input:focus,.form-grupo textarea:focus,.form-grupo select:focus{border-color:var(--rojo);outline:none}
.form-grupo textarea{min-height:120px;resize:vertical}
.form-aviso{font-size:.8rem;color:var(--texto2);grid-column:1/-1}
.form-aviso a{text-decoration:underline}

/* ---------- FAQ ---------- */
.faq-lista{max-width:800px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--linea)}
.faq-item:first-child{border-top:1px solid var(--linea)}
.faq-pregunta{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 0;background:none;border:none;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:600;color:var(--gris-oscuro);text-align:left;text-transform:uppercase}
.faq-pregunta::after{content:'+';font-size:1.4rem;color:var(--rojo);transition:transform var(--trans);flex-shrink:0;margin-left:12px}
.faq-item.abierto .faq-pregunta::after{transform:rotate(45deg)}
.faq-respuesta{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-respuesta-inner{padding:0 0 20px;font-size:.95rem;color:var(--texto2);line-height:1.7}

/* ---------- footer ---------- */
.footer{background:var(--gris-oscuro);color:rgba(255,255,255,.8);padding:clamp(40px,6vw,64px) 0 0}
.footer h4{font-family:'Barlow Condensed',sans-serif;color:var(--blanco);font-size:1rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}
.footer a{color:rgba(255,255,255,.7);transition:color var(--trans)}
.footer a:hover{color:var(--rojo-claro)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer-col p,.footer-col li{font-size:.9rem;line-height:1.7}
.footer-col ul{display:flex;flex-direction:column;gap:8px}
.footer-legal{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding:20px 0;font-size:.8rem;text-align:center;color:rgba(255,255,255,.5)}
.footer-legal a{color:rgba(255,255,255,.5)}
.footer-legal a:hover{color:var(--blanco)}
.footer-redes{display:flex;gap:12px;margin-top:12px}
.footer-redes a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.1);transition:background var(--trans)}
.footer-redes a:hover{background:var(--rojo)}
.footer-redes svg{width:18px;height:18px;fill:var(--blanco)}

/* ---------- flotantes: llamar + whatsapp ---------- */
.flotantes{position:fixed;bottom:24px;right:24px;z-index:90;display:flex;flex-direction:column;gap:12px}
.flotante{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.25);transition:transform var(--trans)}
.flotante:hover{transform:scale(1.1)}
.flotante-wa{background:#25D366}
.flotante-tel{background:var(--rojo)}
.flotante svg{width:28px;height:28px;fill:var(--blanco)}

/* ---------- cookie banner ---------- */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:250;background:var(--gris-oscuro);color:var(--blanco);padding:16px 0;transform:translateY(100%);transition:transform .4s ease;box-shadow:0 -2px 12px rgba(0,0,0,.3)}
.cookie-banner.visible{transform:translateY(0)}
.cookie-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px;font-size:.85rem}
.cookie-inner p{flex:1 1 300px}
.cookie-inner a{color:var(--rojo-claro);text-decoration:underline}
.cookie-btns{display:flex;gap:8px}
.cookie-btn{padding:10px 20px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:.85rem;text-transform:uppercase;border:none;border-radius:var(--r);cursor:pointer;transition:background var(--trans)}
.cookie-aceptar{background:var(--rojo);color:var(--blanco)}
.cookie-aceptar:hover{background:var(--rojo-oscuro)}
.cookie-rechazar{background:transparent;color:var(--blanco);border:1px solid rgba(255,255,255,.3)}
.cookie-rechazar:hover{background:rgba(255,255,255,.1)}

/* ---------- chatbot ---------- */
.chatbot-toggle{position:fixed;bottom:100px;right:24px;z-index:89;width:56px;height:56px;border-radius:50%;background:var(--gris);color:var(--blanco);border:none;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;transition:background var(--trans),transform var(--trans)}
.chatbot-toggle:hover{background:var(--gris-oscuro);transform:scale(1.1)}
.chatbot-toggle svg{width:28px;height:28px;fill:var(--blanco)}
.chatbot-ventana{position:fixed;bottom:170px;right:24px;z-index:300;width:min(380px,calc(100vw - 32px));max-height:min(520px,70vh);background:var(--blanco);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.2);display:flex;flex-direction:column;opacity:0;pointer-events:none;transform:translateY(16px);transition:opacity .3s,transform .3s}
.chatbot-ventana.abierto{opacity:1;pointer-events:auto;transform:translateY(0)}
.chatbot-header{background:var(--rojo);color:var(--blanco);padding:16px 20px;border-radius:12px 12px 0 0;display:flex;align-items:center;justify-content:space-between}
.chatbot-header h4{font-family:'Barlow Condensed',sans-serif;font-size:1rem;margin:0}
.chatbot-header button{background:none;border:none;color:var(--blanco);cursor:pointer;font-size:1.2rem}
.chatbot-mensajes{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:200px}
.chatbot-msg{max-width:85%;padding:10px 14px;border-radius:12px;font-size:.9rem;line-height:1.5}
.chatbot-msg.bot{background:var(--fondo);color:var(--texto);align-self:flex-start;border-bottom-left-radius:4px}
.chatbot-msg.user{background:var(--rojo);color:var(--blanco);align-self:flex-end;border-bottom-right-radius:4px}
.chatbot-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 8px}
.chatbot-quick button{padding:6px 12px;font-size:.8rem;font-family:'Barlow',sans-serif;background:var(--fondo);border:1px solid var(--linea);border-radius:16px;cursor:pointer;transition:background var(--trans),color var(--trans);color:var(--texto)}
.chatbot-quick button:hover{background:var(--rojo);color:var(--blanco);border-color:var(--rojo)}
.chatbot-input-area{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--linea)}
.chatbot-input{flex:1;padding:10px 12px;border:2px solid var(--linea);border-radius:20px;font-family:'Barlow',sans-serif;font-size:.9rem;outline:none;transition:border-color var(--trans)}
.chatbot-input:focus{border-color:var(--rojo)}
.chatbot-enviar{width:40px;height:40px;border-radius:50%;background:var(--rojo);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--trans);flex-shrink:0}
.chatbot-enviar:hover{background:var(--rojo-oscuro)}
.chatbot-enviar svg{width:18px;height:18px;fill:var(--blanco)}
.chatbot-reiniciar{display:block;margin:0 auto;padding:6px 16px;font-size:.75rem;background:none;border:1px solid var(--linea);border-radius:12px;cursor:pointer;color:var(--texto2);margin-bottom:8px;transition:background var(--trans)}
.chatbot-reiniciar:hover{background:var(--fondo)}

/* ---------- breadcrumb ---------- */
.breadcrumb{padding:12px 0;font-size:.85rem;color:var(--texto2)}
.breadcrumb a{color:var(--gris-claro)}
.breadcrumb a:hover{color:var(--rojo)}
.breadcrumb span{margin:0 6px;color:var(--linea)}
.page-header .breadcrumb,.page-header .breadcrumb a{color:rgba(255,255,255,.78)}
.page-header .breadcrumb a:hover{color:#fff}
.page-header .breadcrumb span{color:rgba(255,255,255,.4)}

/* ---------- page header ---------- */
.page-header{background:linear-gradient(135deg,#263238 0%,#37474F 58%,#7f1d1d 100%);color:var(--blanco);padding:clamp(32px,6vw,56px) 0 clamp(48px,8vw,80px);position:relative;overflow:hidden}
.page-header::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:32px;background:var(--blanco);clip-path:polygon(0 100%,100% 100%,100% 0)}
.page-header h1{color:var(--blanco);margin-bottom:8px}
.page-header p{opacity:.8;max-width:600px}

/* ---------- info page (privacidad, términos, etc.) ---------- */
.info-page{padding:clamp(32px,6vw,56px) 0}
.info-page h2{margin-top:32px;margin-bottom:12px;font-size:1.3rem}
.info-page h3{margin-top:24px;margin-bottom:8px;font-size:1.1rem}
.info-page p,.info-page li{font-size:.95rem;color:var(--texto2);line-height:1.7}
.info-page ul,.info-page ol{padding-left:24px;margin:12px 0}
.info-page ul{list-style:disc}
.info-page ol{list-style:decimal}
.info-page a{text-decoration:underline}

/* ---------- mapa ---------- */
.mapa-placeholder{width:100%;height:300px;background:linear-gradient(135deg,#ECEFF1,#B0BEC5);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:var(--texto2);font-size:.9rem;margin-top:24px}

/* ---------- tabla precios ---------- */
.tabla-precios{width:100%;border-collapse:collapse;margin-top:24px}
.tabla-precios th,.tabla-precios td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--linea)}
.tabla-precios th{font-family:'Barlow Condensed',sans-serif;background:var(--gris-oscuro);color:var(--blanco);text-transform:uppercase;font-size:.85rem;letter-spacing:.05em}
.tabla-precios tr:hover{background:rgba(211,47,47,.04)}
.tabla-precios .precio-col{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.15rem;color:var(--rojo);white-space:nowrap}

/* ---------- buscador catálogo ---------- */
.catalogo-filtros{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;align-items:center}
.catalogo-buscar{flex:1 1 240px;padding:12px 16px;border:2px solid var(--linea);border-radius:var(--r);font-family:'Barlow',sans-serif;font-size:1rem;transition:border-color var(--trans)}
.catalogo-buscar:focus{border-color:var(--rojo);outline:none}
.catalogo-orden{padding:10px 14px;border:2px solid var(--linea);border-radius:var(--r);font-family:'Barlow',sans-serif;font-size:.9rem;background:var(--blanco);cursor:pointer}

/* ---------- cotizador ---------- */
.cotizador{background:var(--fondo);border:2px solid var(--linea);border-radius:var(--r);padding:24px;margin-top:24px}
.cotizador h3{margin-bottom:16px}
.cotizador-lista{margin-bottom:16px}
.cotizador-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--linea)}
.cotizador-item:last-child{border-bottom:none}
.cotizador-item label{display:flex;align-items:center;gap:8px;font-size:.95rem;cursor:pointer}
.cotizador-item input[type="checkbox"]{width:18px;height:18px;accent-color:var(--rojo)}
.cotizador-item .precio{font-family:'Barlow Condensed',sans-serif;font-weight:700;color:var(--rojo);font-size:1.1rem}
.cotizador-total{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:2px solid var(--gris);margin-top:8px}
.cotizador-total span:last-child{font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;font-weight:700;color:var(--gris-oscuro)}

/* ---------- contact info aside ---------- */
.contacto-info{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:768px){.contacto-info{grid-template-columns:1fr 1fr}}
.contacto-bloque h3{margin-bottom:12px}
.contacto-bloque p{font-size:.95rem;color:var(--texto2);line-height:1.7}
.contacto-bloque a{color:var(--rojo);font-weight:500}

/* ---------- artículo blog ---------- */
.articulo{max-width:780px;margin:0 auto}
.articulo img{border-radius:var(--r);margin:24px 0}
.articulo h2{margin-top:32px;margin-bottom:12px}
.articulo p{margin-bottom:16px}
.articulo-meta{font-size:.85rem;color:var(--texto2);margin-bottom:24px}

/* ---------- 404 ---------- */
.pagina-404{text-align:center;padding:clamp(60px,15vw,120px) 0}
.pagina-404 h1{font-size:clamp(4rem,12vw,8rem);color:var(--rojo);margin-bottom:16px}
.pagina-404 p{font-size:1.1rem;color:var(--texto2);margin-bottom:32px}

/* ---------- vitrina, formulario, artículo ---------- */
.vitrina-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.vitrina-celda{min-height:190px;padding:22px 18px;border-radius:var(--r);color:var(--blanco);display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(160deg,#37474F 0%,#263238 62%,#B71C1C 140%)}
.vitrina-celda:nth-child(3n){background:linear-gradient(200deg,#B71C1C 0%,#37474F 42%,#263238 100%)}
.vitrina-celda:nth-child(3n+2){background:linear-gradient(145deg,#263238 0%,#546E7A 55%,#D32F2F 160%)}
.vitrina-ref{font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.14em;font-size:.75rem;color:#FFCDD2;text-transform:uppercase}
.vitrina-celda h2{color:var(--blanco);font-size:1.45rem;margin:8px 0 4px}
.vitrina-precio{font-family:'Barlow Condensed',sans-serif;font-size:1.7rem;font-weight:700}
.vitrina-nota{font-size:.85rem;opacity:.8}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-resultado{margin-top:16px;font-size:.95rem;line-height:1.5}
.contacto-acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.articulo ul{list-style:disc;padding-left:1.25rem;margin:0 0 16px}
.articulo li{margin:6px 0;color:var(--texto2)}
.mapa-embed{width:100%;height:320px;border:0;border-radius:var(--r);margin-top:16px}

/* ---------- configurar cookies link ---------- */
.config-cookies-link{cursor:pointer;background:none;border:none;color:rgba(255,255,255,.5);font-size:.8rem;text-decoration:underline;padding:0;font-family:inherit}
.config-cookies-link:hover{color:var(--blanco)}

/* ---------- print ---------- */
@media print{.cabecera,.topbar,.flotantes,.chatbot-toggle,.chatbot-ventana,.cookie-banner,.nav-movil,.overlay-menu{display:none!important}}

/* ---------- reduced motion ---------- */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
