/* =========================================================================
   UV-Life · global.css
   Estilos de ELEMENTOS COMUNES entre landings (footer + WhatsApp float).
   Autocontenido: no depende de variables de style-carnes.css ni de
   style-superficies-aire.css, para poder cargarse en cualquier landing
   sin importar el orden ni el wrapper (.uvl-page, .landing-page, etc.)
   ========================================================================= */

/* ---------- TIPOGRAFÍA GLOBAL (Poppins) ----------
   Ninguna de las hojas style-*.css cargaba Poppins realmente (solo lo
   declaraban por nombre). Se importa aquí, autocontenido, con todos los
   pesos usados en el set (incl. 800, que antes se ignoraba por no estar
   disponible) y font-display:swap para evitar FOIT. */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

/* ---------- H1/H2/H3/H4 ESTANDARIZADOS ----------
   Cubre todos los wrappers de landing detectados en el set de CSS, para que
   el h1 se vea igual sin depender de que cada style-*.css lo declare por su
   cuenta (17 de los 23 archivos no lo declaraban antes). !important porque
   debe ganarle siempre a los estilos por defecto del tema (Basel). */
.landing-page h1,.landing-page h2,.landing-page h3,.landing-page h4,
.uvl-page h1,.uvl-page h2,.uvl-page h3,.uvl-page h4,
.uvl-tienda h1,.uvl-tienda h2,.uvl-tienda h3,
.uvl-legal h1,.uvl-legal h2,.uvl-legal h3,
.uvl-landing h1,.uvl-landing h2,.uvl-landing h3,
.uvl-single-product h1,.uvl-single-product h2,.uvl-single-product h3,
.landing-x50 h1,.landing-x50 h2,.landing-x50 h3,
.landing-x36 h1,.landing-x36 h2,.landing-x36 h3,
.landing-a60 h1,.landing-a60 h2,.landing-a60 h3,
.landing-air h1,.landing-air h2,.landing-air h3,
.landing-panel600 h1,.landing-panel600 h2,.landing-panel600 h3,
.landing-ufo200 h1,.landing-ufo200 h2,.landing-ufo200 h3,
.landing-laboratorio h1,.landing-laboratorio h2,.landing-laboratorio h3,.landing-laboratorio h4,
.landing-caso h1,.landing-caso h2,.landing-caso h3,
.landing-hortalizas h1,.landing-hortalizas h2,.landing-hortalizas h3,
.landing-portatil h1,.landing-portatil h2,.landing-portatil h3{
  font-family:'Poppins','Inter',system-ui,sans-serif!important;
}
.landing-page h1,.uvl-page h1,.uvl-tienda h1,.uvl-legal h1,.uvl-landing h1,
.uvl-single-product h1,.landing-x50 h1,.landing-x36 h1,.landing-a60 h1,
.landing-air h1,.landing-panel600 h1,.landing-ufo200 h1,.landing-laboratorio h1,
.landing-caso h1,.landing-hortalizas h1,.landing-portatil h1{
  font-weight:800!important;
}

/* ---------- HEADER ---------- */
.uvc-shared-header{
  font-family:'Poppins',system-ui,sans-serif;
  position:sticky;top:0;z-index:90;
  background:#ffffff;
  border-bottom:1px solid #eee9fa;
  box-shadow:0 2px 14px -6px rgba(60,30,140,.12);
}
.uvc-shared-header *{box-sizing:border-box}
.uvc-shared-header img{max-width:100%;display:block;height:auto}
.uvc-shared-header a{text-decoration:none}

/* Evita que el tema (Basel) fuerce mayúsculas en botones/links del header */
.uvc-shared-header a,
.uvc-shared-header button{text-transform:none;letter-spacing:normal}

.uvc-shared-header .uvc-wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.uvc-shared-header .uvc-nav-in{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px}

.uvc-shared-header .uvc-logo{display:flex;align-items:center;flex-shrink:0}
.uvc-shared-header .uvc-logo-img{height:32px;width:auto;display:block}

.uvc-shared-header .uvc-links{display:flex;align-items:center;gap:22px}

.uvc-shared-header .uvc-btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:600;font-size:.94rem;
  padding:12px 22px;border-radius:100px;
  background:#7c4dff;color:#fff;
  box-shadow:0 12px 26px -12px rgba(124,77,255,.7);
  transition:transform .15s,background .15s;
  white-space:nowrap;
}
.uvc-shared-header .uvc-btn-primary:hover{background:#5f2fe0;transform:translateY(-2px);color:#fff}

.uvc-shared-header .uvc-drop{position:relative}
.uvc-shared-header .uvc-drop-toggle{
  display:flex;align-items:center;gap:6px;
  background:none;border:0;cursor:pointer;
  font-family:inherit;font-size:.95rem;font-weight:500;
  color:#1b1436;padding:8px 2px;
}
.uvc-shared-header .uvc-drop-toggle:hover{color:#7c4dff}
.uvc-shared-header .uvc-drop .uvc-chev{transition:transform .2s;flex-shrink:0}
.uvc-shared-header .uvc-drop.open > .uvc-drop-toggle .uvc-chev{transform:rotate(180deg)}

.uvc-shared-header .uvc-drop-menu{
  display:none;position:absolute;top:calc(100% + 14px);left:0;
  min-width:250px;background:#fff;border-radius:14px;
  box-shadow:0 20px 44px -18px rgba(60,30,140,.35);
  border:1px solid #eee9fa;padding:10px;z-index:95;
}
.uvc-shared-header .uvc-drop.open .uvc-drop-menu{display:block}
.uvc-shared-header .uvc-drop-menu ul{list-style:none;margin:0;padding:0}
.uvc-shared-header .uvc-drop-menu > ul > li > a,
.uvc-shared-header .uvc-drop-sub-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  width:100%;padding:10px 12px;border-radius:9px;
  font-size:.92rem;color:#1b1436;background:none;border:0;
  cursor:pointer;font-family:inherit;text-align:left;
}
.uvc-shared-header .uvc-drop-menu > ul > li > a:hover,
.uvc-shared-header .uvc-drop-sub-toggle:hover{background:#f7f5ff;color:#7c4dff}

/* Sub-submenú "Desinfección de Aire" → se abre hacia el lado (derecha), no hacia abajo */
.uvc-shared-header .uvc-drop-sub{position:relative}
.uvc-shared-header .uvc-drop-sub-menu{
  display:none;position:absolute;top:-10px;left:100%;margin-left:8px;
  min-width:220px;background:#fff;border-radius:14px;
  box-shadow:0 20px 44px -18px rgba(60,30,140,.35);
  border:1px solid #eee9fa;padding:10px;z-index:96;
}
.uvc-shared-header .uvc-drop-sub.open > .uvc-drop-sub-menu{display:block}
.uvc-shared-header .uvc-drop-sub.open > .uvc-drop-sub-toggle .uvc-chev{transform:rotate(180deg)}
.uvc-shared-header .uvc-drop-sub-menu li a{
  display:block;padding:9px 12px;border-radius:9px;
  font-size:.88rem;color:#6b6488;white-space:nowrap;
}
.uvc-shared-header .uvc-drop-sub-menu li a:hover{background:#f7f5ff;color:#7c4dff}

/* Separador + botón "Comprar" destacado al final del menú Productos */
.uvc-shared-header .uvc-drop-sep{height:1px;background:#eee9fa;margin:8px 4px}
.uvc-shared-footer .uvc-drop-buy, .uvc-shared-header .uvc-drop-buy{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:11px 14px;border-radius:9px;
  font-weight:600;font-size:.9rem;
  background:#7c4dff;color:#fff;
  box-shadow:0 10px 20px -10px rgba(124,77,255,.7);
  transition:background .15s,transform .15s;
}
.uvc-shared-header .uvc-drop-buy:hover{background:#5f2fe0;color:#fff;transform:translateY(-1px)}
.uvc-shared-header .uvc-drop-buy .uvc-chev{transform:rotate(0deg)}

.uvc-shared-header .uvc-burger{display:none;background:none;border:0;color:#1b1436;font-size:1.5rem;cursor:pointer}

@media(max-width:860px){
  .uvc-shared-header .uvc-links{
    position:absolute;top:76px;left:0;right:0;background:#fff;
    flex-direction:column;align-items:stretch;gap:4px;
    padding:16px 24px 24px;border-bottom:1px solid #eee9fa;
    display:none;box-shadow:0 20px 30px -20px rgba(60,30,140,.2);
  }
  .uvc-shared-header .uvc-links.open{display:flex}
  .uvc-shared-header .uvc-drop-menu{position:static;box-shadow:none;border:0;margin-top:4px;padding:0 0 0 8px}
  .uvc-shared-header .uvc-drop-toggle{width:100%;justify-content:space-between;padding:10px 4px}

  /* En mobile el sub-submenú vuelve a abrirse hacia abajo (acordeón), más usable en pantallas angostas */
  .uvc-shared-header .uvc-drop-sub-menu{
    position:static;box-shadow:none;border:0;margin:2px 0 0 0;
    padding:0 0 0 14px;min-width:0;
  }
  .uvc-shared-header .uvc-drop-sub-toggle .uvc-chev{transform:none}
  .uvc-shared-header .uvc-drop-sub.open > .uvc-drop-sub-toggle .uvc-chev{transform:rotate(90deg)}

  .uvc-shared-header .uvc-btn-primary{justify-content:center;margin-top:10px}
  .uvc-shared-header .uvc-burger{display:block}

  /* Al abrir la hamburguesa, mostrar todo "Productos" y "Desinfección de Aire"
     ya desplegados, sin necesidad de click extra */
  .uvc-shared-header .uvc-links.open .uvc-drop-menu,
  .uvc-shared-header .uvc-links.open .uvc-drop-sub-menu{
    display:block;
  }

  /* Los toggles quedan como encabezados visuales, no botones clickeables */
  .uvc-shared-header .uvc-drop-toggle,
  .uvc-shared-header .uvc-drop-sub-toggle{
    pointer-events:none;
    cursor:default;
    font-weight:600;
    color:#1b1436;
  }
  .uvc-shared-header .uvc-drop-toggle .uvc-chev,
  .uvc-shared-header .uvc-drop-sub-toggle .uvc-chev{
    display:none;
  }
}

/* ---------- FOOTER ---------- */
.uvc-shared-footer{
  font-family:'Poppins',system-ui,sans-serif;
  background:#150627;color:#CBBFE8;padding:60px 0 0!important;
}
.uvc-shared-footer *{box-sizing:border-box}
.uvc-shared-footer img{max-width:100%;display:block;height:auto}
.uvc-shared-footer .wrap{max-width:1160px;margin:0 auto;padding:0 24px}

.uvc-shared-footer .foot-top{display:grid;grid-template-columns:1.8fr 1fr;gap:36px}
.uvc-shared-footer .foot-brand p{font-size:13.5px;line-height:1.6;margin-top:12px;max-width:340px;color:#CBBFE8}
.uvc-shared-footer .foot-social{display:flex;gap:12px;margin-top:18px}
.uvc-shared-footer .foot-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;transition:background .25s}
.uvc-shared-footer .foot-social a:hover{background:#7c4dff}
.uvc-shared-footer .foot-social svg{width:18px;height:18px;fill:#fff}
.uvc-shared-footer .foot-col h4{color:#fff;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px}
.uvc-shared-footer .foot-col ul{list-style:none;display:grid;gap:10px;margin:0;padding:0}
.uvc-shared-footer .foot-col a{font-size:14px;color:#CBBFE8;text-decoration:none;transition:color .2s}
.uvc-shared-footer .foot-col a:hover{color:#fff}
.uvc-shared-footer .foot-contact{border-top:1px solid rgba(167,139,250,.18);margin-top:44px;padding:24px 0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:13.5px;color:#CBBFE8}
.uvc-shared-footer .foot-contact a{color:#a78bfa;text-decoration:none}
.uvc-shared-footer .foot-legal{border-top:1px solid rgba(167,139,250,.14);padding:22px 0 30px;font-size:12.5px;color:#8B7DB0;text-align:center;line-height:1.7}
.uvc-shared-footer .foot-eco{background:#0e041d;padding:26px 0;text-align:center}
.uvc-shared-footer .foot-eco p{max-width:820px;margin:0 auto;font-size:12.8px;color:#9887bd;line-height:1.65}
.uvc-shared-footer .flogo{display:inline-block}
/*------movil-----*/
@media(max-width:860px){
  .uvc-shared-footer .foot-top{grid-template-columns:1fr}
  .hero-txt, .hero{padding: 1.3em!important;}
  .stats{margin-top: -2%!important;}
  .hero-cta .btn-precio{width: 100%;align-items: center;}
}

/* ---------- WHATSAPP FLOAT ---------- */
.uvc-wa-float{
  position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;
  background:#25d366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 28px rgba(0,0,0,.28);z-index:80;
}
.uvc-wa-float svg{width:30px;height:30px;fill:#fff}

/*------------THEME--------------*/
.basel-sticky-sidebar-opener{display: none!important;}

/* =========================================================================
   PÁGINA DE CONTACTO (template-contacto.php)
   Autocontenida como el resto: no depende de otras hojas style-*.css.
   ========================================================================= */
.uvl-contacto{font-family:'Poppins','Inter',system-ui,sans-serif;background:#fff;margin:0;box-sizing:border-box}
.uvl-contacto *{box-sizing:border-box}

.uvl-contacto-hero{
  background:#150627;color:#fff;
  padding:90px 24px 70px;text-align:center;
}
.uvl-contacto-wrap{max-width:640px;margin:0 auto}
.uvl-contacto-badge{
  display:inline-block;
  font-size:.8rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  color:#c9b6ff;background:rgba(124,77,255,.15);
  border:1px solid rgba(124,77,255,.35);
  padding:7px 16px;border-radius:100px;margin-bottom:22px;
}
.uvl-contacto-hero h1{
  font-family:'Poppins',system-ui,sans-serif!important;
  font-weight:800!important;
  font-size:clamp(1.9rem,4vw,2.6rem);
  line-height:1.25;color:#fff;margin:0 0 16px;
}
.uvl-contacto-sub{font-size:1rem;line-height:1.6;color:#CBBFE8;max-width:480px;margin:0 auto}

.uvl-contacto-body{padding:64px 24px 90px;background:#fff}
.uvl-contacto-grid{
  max-width:1080px;margin:0 auto;
  display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;
}

/* ---- Formulario ---- */
.uvl-contacto-form{display:grid;gap:18px}
.uvl-contacto-field{display:grid;gap:7px}
.uvl-contacto-field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.uvl-contacto-field label{font-size:.86rem;font-weight:600;color:#1b1436}
.uvl-contacto-field input,
.uvl-contacto-field textarea{
  font-family:inherit;font-size:.95rem;color:#1b1436;
  border:1px solid #e2ddf2;border-radius:10px;
  padding:12px 14px;background:#faf9ff;
  transition:border-color .15s,box-shadow .15s;
  width:100%;resize:vertical;
}
.uvl-contacto-field input:focus,
.uvl-contacto-field textarea:focus{
  outline:none;border-color:#7c4dff;
  box-shadow:0 0 0 3px rgba(124,77,255,.15);
  background:#fff;
}
.uvl-contacto-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

.uvl-contacto-turnstile{margin-top:4px;max-width:100%;overflow-x:auto}

.uvl-contacto-submit{
  border:0;cursor:pointer;justify-self:start;margin-top:4px;
  font-family:inherit;font-size:.96rem!important;
}

.uvl-contacto-alert{
  padding:14px 18px;border-radius:10px;font-size:.9rem;line-height:1.5;margin-bottom:22px;
}
.uvl-contacto-alert-ok{background:#eafaf0;color:#1a7a45;border:1px solid #b9ecce}
.uvl-contacto-alert-err{background:#fdecec;color:#a3231f;border:1px solid #f6c6c4}
.uvl-contacto-alert-err a{color:#a3231f;text-decoration:underline}

/* ---- Columna de info ---- */
.uvl-contacto-card{
  background:#150627;color:#CBBFE8;border-radius:18px;
  padding:32px 28px;
}
.uvl-contacto-card h3{
  color:#fff;font-size:1.05rem;font-weight:700;margin:0 0 20px;
  font-family:'Poppins',system-ui,sans-serif;
}

.uvl-contacto-wa-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;
  width:100%;padding:13px 18px;border-radius:100px;
  background:#25d366;color:#fff;font-weight:600;font-size:.94rem;
  text-decoration:none;margin-bottom:26px;
  transition:background .15s,transform .15s;
}
.uvl-contacto-wa-btn:hover{background:#1fb956;transform:translateY(-2px);color:#fff}
.uvl-contacto-wa-btn svg{width:20px;height:20px;fill:#fff;flex-shrink:0}

.uvl-contacto-details{list-style:none;margin:0;padding:0;display:grid;gap:14px;font-size:.9rem;line-height:1.5}
.uvl-contacto-details a{color:#a78bfa;text-decoration:none}
.uvl-contacto-details a:hover{color:#fff}

@media(max-width:860px){
  .uvl-contacto-grid{grid-template-columns:1fr;gap:40px}
  .uvl-contacto-field-row{grid-template-columns:1fr}
  .uvl-contacto-hero{padding:70px 20px 56px}
  .uvl-contacto-body{padding:48px 20px 64px}
  .uvl-contacto-submit{justify-self:stretch;text-align:center}
}

/* =========================================================================
   PÁGINA DE PREGUNTAS FRECUENTES (template-faq.php)
   Autocontenida como el resto: no depende de otras hojas style-*.css.
   ========================================================================= */
.uvl-faq{font-family:'Poppins','Inter',system-ui,sans-serif;background:#fff;margin:0;box-sizing:border-box}
.uvl-faq *{box-sizing:border-box}

.uvl-faq-hero{
  background:#150627;color:#fff;
  padding:90px 24px 70px;text-align:center;
}
.uvl-faq-wrap{max-width:640px;margin:0 auto}
.uvl-faq-badge{
  display:inline-block;
  font-size:.8rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;
  color:#c9b6ff;background:rgba(124,77,255,.15);
  border:1px solid rgba(124,77,255,.35);
  padding:7px 16px;border-radius:100px;margin-bottom:22px;
}
.uvl-faq-hero h1{
  font-family:'Poppins',system-ui,sans-serif!important;
  font-weight:800!important;
  font-size:clamp(1.9rem,4vw,2.6rem);
  line-height:1.25;color:#fff;margin:0 0 16px;
}
.uvl-faq-sub{font-size:1rem;line-height:1.6;color:#CBBFE8;max-width:480px;margin:0 auto}

.uvl-faq-body{padding:64px 24px 90px;background:#fff}
.uvl-faq-container{max-width:800px;margin:0 auto}

.uvl-faq-group{margin-bottom:44px}
.uvl-faq-group:last-of-type{margin-bottom:56px}
.uvl-faq-group-title{
  font-family:'Poppins',system-ui,sans-serif!important;
  font-weight:700!important;font-size:1.05rem;
  color:#7c4dff;margin:0 0 18px;
  padding-bottom:10px;border-bottom:2px solid #eee9fa;
}

.uvl-faq-list{display:grid;gap:10px}
.uvl-faq-item{
  border:1px solid #e2ddf2;border-radius:12px;
  background:#faf9ff;overflow:hidden;
  transition:border-color .15s;
}
.uvl-faq-item.open{border-color:#c9b6ff}

.uvl-faq-q{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:none;border:0;cursor:pointer;text-align:left;
  font-family:inherit;font-size:.96rem;font-weight:600;color:#1b1436;
  padding:16px 18px;
}
.uvl-faq-q:hover{color:#7c4dff}
.uvl-faq-chev{flex-shrink:0;transition:transform .2s;color:#7c4dff}
.uvl-faq-item.open .uvl-faq-chev{transform:rotate(180deg)}

.uvl-faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .25s ease,padding .25s ease;
  padding:0 18px;
}
.uvl-faq-item.open .uvl-faq-a{max-height:400px;padding:0 18px 18px}
.uvl-faq-a p{margin:0;font-size:.92rem;line-height:1.65;color:#4a4468}

.uvl-faq-cta{
  text-align:center;background:#150627;color:#CBBFE8;
  border-radius:18px;padding:44px 28px;
}
.uvl-faq-cta h3{
  color:#fff;font-family:'Poppins',system-ui,sans-serif;
  font-weight:700;font-size:1.2rem;margin:0 0 8px;
}
.uvl-faq-cta p{font-size:.92rem;margin:0 0 26px;color:#CBBFE8}
.uvl-faq-cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

.uvl-faq-wa-btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:13px 24px;border-radius:100px;
  background:#25d366;color:#fff;font-weight:600;font-size:.94rem;
  text-decoration:none;transition:background .15s,transform .15s;
}
.uvl-faq-wa-btn:hover{background:#1fb956;transform:translateY(-2px);color:#fff}
.uvl-faq-wa-btn svg{width:18px;height:18px;fill:#fff;flex-shrink:0}

.uvl-faq-form-btn{font-size:.94rem!important}

@media(max-width:640px){
  .uvl-faq-hero{padding:70px 20px 56px}
  .uvl-faq-body{padding:48px 20px 64px}
  .uvl-faq-cta{padding:36px 22px}
  .uvl-faq-cta-actions{flex-direction:column;align-items:stretch}
  .uvl-faq-wa-btn,.uvl-faq-form-btn{justify-content:center;text-align:center}
}
