/* ===== COVO Tools – estilos globales ===== */
:root{
  --amarillo:#ffde11;
  --negro:#000;
  --oscuro:#1a1a1a;
  --gris-btn:#323232;
  --gris-claro:#dbdbdb;
  --gris-medio:#cfcfcf;
  --blanco:#fff;
  --titulo:"Barlow Semi Condensed","Barlow",Arial,sans-serif;
  --texto:"Jost",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--texto);font-weight:300;color:var(--oscuro);background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.contenedor{width:100%;max-width:1000px;margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Header ---------- */
.site-header{background:var(--amarillo);position:sticky;top:0;z-index:100}
.site-header .contenedor{display:flex;align-items:center;justify-content:space-between;height:120px;max-width:1040px}
.logo img{height:58px;width:auto}
.nav{display:flex;align-items:center;gap:40px}
.menu{display:flex;list-style:none;align-items:center}
.menu>li{position:relative}
.menu>li+li::before{content:"";position:absolute;left:0;top:50%;height:30px;margin-top:-15px;border-left:1px solid var(--oscuro)}
.menu a,.menu button{display:block;font-family:var(--titulo);font-weight:600;font-size:16px;color:var(--oscuro);padding:10px 14px;background:none;border:0;cursor:pointer;letter-spacing:.3px;text-transform:uppercase}
.menu a:hover,.menu button:hover,.menu .activo>a,.menu .activo>button{color:#fff}
.submenu{display:none;position:absolute;top:100%;left:0;min-width:230px;background:var(--amarillo);list-style:none;padding:6px 0;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.submenu a{font-size:15px;padding:10px 18px}
.menu li:hover>.submenu,.menu li:focus-within>.submenu{display:block}
.redes{display:flex;gap:8px}
.redes img{width:28px;height:28px;transition:opacity .2s}
.redes a:hover img{opacity:.7}
.menu-toggle{display:none;background:none;border:0;color:var(--oscuro);font-size:32px;cursor:pointer;line-height:1}

/* ---------- Botones y títulos ---------- */
.btn{display:inline-block;background:var(--gris-btn);color:#fff;font-family:var(--titulo);font-weight:500;font-size:15px;letter-spacing:.5px;padding:11px 26px;min-width:142px;text-align:center;transition:background .2s}
.btn:hover{background:#000}
.titulo{font-family:var(--titulo);font-weight:600;font-size:44px;letter-spacing:1px;text-transform:uppercase;text-align:center;line-height:1.15}
.titulo.amarillo{color:var(--amarillo)}

/* ---------- Home: hero ---------- */
.hero{position:relative;height:540px;background:#333 center/cover no-repeat;display:flex;align-items:center}
.hero-franja{width:100%;background:rgba(255,255,255,.55);padding:26px 0 30px;margin-top:-30px}
.hero-franja .contenedor{max-width:1040px}
.hero h1{font-family:var(--titulo);font-weight:600;font-size:44px;line-height:1.05;color:var(--oscuro);letter-spacing:1px}
.hero h2{font-family:var(--titulo);font-weight:600;font-size:20px;color:var(--oscuro);letter-spacing:.5px}
.hero .btn{position:absolute;left:max(20px,calc(50% - 500px));bottom:110px}
.hero .flecha{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:42px;height:42px;color:var(--amarillo)}
.hero .flecha svg{width:100%;height:100%}

/* ---------- Productos ---------- */
.productos{background:#000;color:#fff;padding:70px 0 90px}
.productos .titulo{margin-bottom:60px}
.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;max-width:1000px;margin:0 auto;padding:0 20px}
.cat{text-align:center;display:flex;flex-direction:column;align-items:center}
.cat .icono{height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.cat .icono img{max-height:110px;max-width:110px;width:auto;transition:transform .25s}
.cat:hover .icono img{transform:scale(1.07)}
.cat h3{font-family:var(--texto);font-weight:300;font-size:20px;line-height:1.25;min-height:52px;margin-bottom:26px}
.cat p{font-size:15px;line-height:1.5;margin-bottom:18px;min-height:150px}
.cat .mas{color:var(--amarillo);font-weight:500;font-size:15px}
.cat .mas:hover{text-decoration:underline}

/* ---------- Nosotros ---------- */
.nosotros{background:#555 center/cover no-repeat;padding:50px 20px}
.nosotros .caja{max-width:560px;margin:0 auto;background:rgba(255,255,255,.82);padding:28px 40px 34px;text-align:center}
.nosotros .titulo{color:var(--oscuro);margin-bottom:22px}
.nosotros p{font-size:19px;line-height:1.45;text-align:justify;margin-bottom:22px;color:var(--oscuro)}
.nosotros .btn{margin-top:6px}

/* ---------- Contacto ---------- */
.contacto{background:#000;color:#fff;padding:60px 0 80px}
.contacto .titulo{margin-bottom:40px}
.contacto-info{display:grid;grid-template-columns:1fr 1fr;max-width:620px;margin:0 auto 60px;gap:40px}
.contacto-info h3{font-family:var(--texto);font-weight:400;font-size:20px;margin-bottom:12px;text-transform:uppercase}
.contacto-info p{font-size:15px;line-height:1.5;font-weight:400}
.contacto-info .redes img{width:30px;height:30px}
.contacto-intro{text-align:center;font-family:var(--texto);font-weight:500;font-size:20px;line-height:1.4;max-width:560px;margin:0 auto 10px}
.contacto-intro+.contacto-intro{font-weight:400;margin-bottom:24px}
.contacto .sib-form{padding:0!important}

/* ---------- Footer ---------- */
.site-footer{background:var(--gris-claro);color:var(--oscuro);padding:24px 0 26px;font-size:15px;font-weight:400}
.site-footer .contenedor{max-width:1040px}
.site-footer p{margin-bottom:12px}
.site-footer p:last-child{margin-bottom:0}
.site-footer .legal a{margin-right:22px;color:#555}
.site-footer .legal a:hover{text-decoration:underline}

/* ---------- Páginas de categoría ---------- */
.banner-cat{height:320px;background:#ccc center/cover no-repeat}
.franja-negra{background:#000;color:#fff;padding:22px 20px}
.franja-negra h1{font-family:var(--titulo);font-weight:600;font-size:34px;text-align:center;letter-spacing:1.5px;text-transform:uppercase}
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 60px;padding:60px 20px 80px;max-width:1000px;margin:0 auto}
.galeria figure{display:flex;flex-direction:column;align-items:center}
.galeria img{width:100%;aspect-ratio:1/1;object-fit:contain;transition:transform .3s}
.galeria figure:hover img{transform:scale(1.05)}
.galeria figcaption{font-size:13px;color:#777;margin-top:8px;letter-spacing:.5px;font-weight:400}

/* ---------- La marca ---------- */
.banner-marca{height:420px;background:#555 center/cover no-repeat}
.mvv{display:grid;grid-template-columns:repeat(3,1fr)}
.mvv>div{padding:46px 40px 60px;min-height:330px}
.mvv>div:nth-child(odd){background:#000;color:#fff}
.mvv>div:nth-child(2){background:var(--gris-medio);color:var(--oscuro)}
.mvv h2{font-family:var(--titulo);font-weight:600;font-size:34px;letter-spacing:3px;text-align:center;color:var(--amarillo);text-transform:uppercase}
.mvv>div:nth-child(2) h2{color:var(--oscuro)}
.mvv h2::after{content:"";display:block;width:52px;height:4px;background:currentColor;margin:16px auto 24px}
.mvv>div:nth-child(odd) h2::after{background:#fff}
.mvv p,.mvv li{font-size:15px;font-weight:400;line-height:1.5}
.mvv p{text-align:justify;max-width:260px;margin:0 auto}
.mvv ul{list-style:none;max-width:200px;margin:0 auto}
.mvv li::before{content:"•";margin-right:8px}
.presencia-titulo{background:#000;padding:30px 20px}
.presencia-titulo h2{color:var(--amarillo)}
.mapa{background:var(--amarillo)}
.mapa img{width:100%;max-width:1500px;margin:0 auto}

/* ---------- Comercializa ---------- */
.landing-hero img{width:100%;height:auto;max-height:520px;object-fit:cover}
.landing-cuerpo{background:#1a1a1a;color:#fff;padding:40px 0 70px}
.landing-cuerpo .contenedor{display:grid;grid-template-columns:240px 1fr;gap:40px;max-width:1040px}
.presencia{text-align:center;align-self:start;margin-top:110px}
.presencia h2{font-family:var(--texto);font-weight:600;font-size:17px;margin-bottom:12px}
.presencia img{max-width:150px;margin:0 auto}
.landing-cuerpo h2.titulo-landing{font-family:var(--texto);font-weight:600;font-size:28px;margin-bottom:12px}
.landing-cuerpo h1{font-family:var(--texto);font-weight:400;font-size:17px;line-height:1.45;max-width:440px;margin-bottom:20px}
.landing-cuerpo .sib-form{padding:0!important;text-align:left!important}
.landing-cuerpo #sib-container{margin:0!important}

/* ---------- Cobertura garantía ---------- */
.garantia{padding:70px 0 60px}
.garantia .contenedor{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1000px}
.garantia h1{font-family:var(--titulo);font-weight:700;font-size:44px;line-height:1.1}
.garantia p{font-size:14px;font-weight:400;border-bottom:1px solid #333;display:inline-block;padding-bottom:8px}

/* ---------- Coming soon ---------- */
.proximamente{display:grid;grid-template-columns:400px 1fr;min-height:100vh}
.proximamente .izq{background:var(--amarillo);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:40px;text-align:center}
.proximamente .izq img{width:250px}
.proximamente h1{font-family:var(--titulo);font-weight:700;font-size:34px;color:var(--oscuro)}
.proximamente .der{background:center/cover no-repeat}

.vacia{background:var(--gris-medio);min-height:600px}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .site-header .contenedor{height:84px}
  .logo img{height:44px}
  .menu-toggle{display:block}
  .nav{position:absolute;top:84px;left:0;right:0;background:var(--amarillo);flex-direction:column;align-items:stretch;gap:0;padding:10px 0 20px;display:none;box-shadow:0 8px 16px rgba(0,0,0,.15)}
  .nav.abierto{display:flex}
  .menu{flex-direction:column;align-items:stretch}
  .menu>li+li::before{display:none}
  .menu a,.menu button{padding:13px 24px;width:100%;text-align:left}
  .submenu{position:static;display:block;box-shadow:none;padding:0 0 0 16px}
  .redes{justify-content:center;padding-top:14px}
  .hero{height:460px}
  .hero h1{font-size:32px}
  .hero .btn{bottom:80px}
  .titulo{font-size:34px}
  .grid-5{grid-template-columns:repeat(2,1fr);row-gap:50px}
  .cat p{min-height:0}
  .galeria{grid-template-columns:repeat(2,1fr);gap:30px}
  .banner-cat{height:200px}
  .mvv,.landing-cuerpo .contenedor,.garantia .contenedor,.proximamente{grid-template-columns:1fr}
  .presencia{margin-top:0}
  .banner-marca{height:260px}
  .proximamente .der{min-height:320px}
}
@media (max-width:560px){
  .grid-5{grid-template-columns:1fr}
  .galeria{grid-template-columns:1fr}
  .contacto-info{grid-template-columns:1fr;text-align:center}
  .contacto-info .redes{justify-content:center}
  .nosotros .caja{padding:24px 22px}
  .nosotros p{font-size:17px}
}

/* Ajustes del formulario Brevo */
.contacto #sib-container{margin:0 auto!important}
.contacto .sib-form-message-panel{margin:0 auto 12px}
.landing-cuerpo .sib-form,.landing-cuerpo #sib-container{background:transparent!important}
.landing-cuerpo #sib-container{padding:0!important}
