/*
Theme Name: Lemixdata V2 Child
Template: astra
Author: Lemixdata
Version: 1.4
Description: Child theme de Astra con la home y el diseño de Lemixdata V2.
*/

:root{
  --lx-green:#A2CA39;
  --lx-green-dark:#5DAD27;
  --lx-teal:#00A2B6;
  --lx-text:#575757;
  --lx-dark:#2f3b16;
}

body{font-family:'Roboto Flex','Roboto',system-ui,sans-serif;color:var(--lx-text)}

/* ============ FIX DE LAYOUT DE ASTRA EN LA HOME ============ */
body.home #content > .ast-container{
  max-width:none!important;width:100%!important;padding:0!important;display:block!important;margin:0!important
}
/* ============ LOGO ESTILO V1: GRANDE, EN SU COLUMNA, SOBRESALE AL HERO ============
 * V1 y lemixdata.com muestran el logo grande en su columna izquierda
 * natural, sobresaliendo hacia el hero. Conseguimos el efecto con
 * margin-bottom negativo y overflow visible en los wrappers de Astra.
 * No usamos position:absolute para que el menú no se vea afectado.
 */
header.site-header,
.ast-primary-header-bar,
.main-header-bar-wrap,
.site-primary-header-wrap,
.ast-builder-grid-row,
.site-header-primary-section-left,
.ast-builder-layout-element,
.site-branding,
.site-logo-img,
#ast-desktop-header{
  overflow:visible!important
}

.site-branding{position:relative;z-index:50}
.custom-logo-link{display:inline-block;line-height:1;position:relative;z-index:50}

/* Logo grande casi cuadrado: el PNG es 864x929, el alto controla todo */
/* Logo: medidas calibradas contra lemixdata.com (left:28, top:10, H:134).
   El logo aparece COMPLETO (no cortado arriba) y sobresale al hero. */
.custom-logo-link img.custom-logo,
.site-logo-img .custom-logo{
  height:134px!important;max-height:134px!important;
  width:auto!important;max-width:none!important;
  display:block!important;object-fit:contain;
  margin-top:-6px;        /* calibrado: con el padding del header da top=10, igual a .com */
  margin-bottom:-50px     /* sobresale al hero */
}

/* Shared standalone header baseline: home + non-Woo standalone pages.
   Keep the V1-like centered header container and logo geometry without
   letting route-external page rules drift these shells. */
body.home .ast-primary-header-bar,
body.home .main-header-bar,
body.page-id-405 .ast-primary-header-bar,
body.page-id-405 .main-header-bar,
body.page-id-406 .ast-primary-header-bar,
body.page-id-406 .main-header-bar,
body.page-id-408 .ast-primary-header-bar,
body.page-id-408 .main-header-bar{min-height:96px;background:#fff!important}
body.home .ast-primary-header-bar > .ast-container,
body.home .site-primary-header-wrap.ast-container,
body.page-id-405 .ast-primary-header-bar > .ast-container,
body.page-id-405 .site-primary-header-wrap.ast-container,
body.page-id-406 .ast-primary-header-bar > .ast-container,
body.page-id-406 .site-primary-header-wrap.ast-container,
body.page-id-408 .ast-primary-header-bar > .ast-container,
body.page-id-408 .site-primary-header-wrap.ast-container{
  max-width:1400px!important;
  width:100%!important;
  margin:0 auto!important;
  padding-left:8px!important;
  padding-right:8px!important
}
body.home .custom-logo-link img.custom-logo,
body.home .site-logo-img .custom-logo,
body.page-id-405 .custom-logo-link img.custom-logo,
body.page-id-405 .site-logo-img .custom-logo,
body.page-id-406 .custom-logo-link img.custom-logo,
body.page-id-406 .site-logo-img .custom-logo,
body.page-id-408 .custom-logo-link img.custom-logo,
body.page-id-408 .site-logo-img .custom-logo{
  height:134px!important;max-height:134px!important;
  width:auto!important;max-width:none!important;
  display:block!important;object-fit:contain;
  margin-top:-6px;margin-bottom:-50px
}
body.home .site-header-primary-section-right,
body.page-id-405 .site-header-primary-section-right,
body.page-id-406 .site-header-primary-section-right,
body.page-id-408 .site-header-primary-section-right{position:relative;z-index:2;align-self:center}

/* Menú: alineación vertical centrada para que quede junto al logo */
.site-title,.ast-site-title-wrap{display:none!important}

/* Franja verde lima superior (como V1) */
body.home::before{
  content:"";display:block;height:6px;background:var(--lx-green);
  position:fixed;top:0;left:0;right:0;z-index:99999
}
body.home.admin-bar::before{top:32px}

.lx-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.lx-section{padding:64px 0}
.lx-section-alt{background:#f6f8f0}
.lx-h2{font-family:'Exo',sans-serif;font-weight:800;font-size:30px;color:var(--lx-dark);text-align:center;margin:0 0 40px}
.lx-h2-left{text-align:left}

.lx-btn{display:inline-block;background:var(--lx-green);color:#fff!important;font-family:'Exo',sans-serif;font-weight:700;text-decoration:none;padding:14px 30px;border-radius:40px;transition:background .15s,transform .15s}
.lx-btn:hover{background:var(--lx-green-dark);transform:translateY(-2px)}
.lx-btn-outline{background:transparent;color:var(--lx-green-dark)!important;border:2px solid var(--lx-green)}
.lx-btn-outline:hover{background:var(--lx-green);color:#fff!important}

/* ============ HERO con imagen visible + formas decorativas ============ */
.lx-hero{position:relative;overflow:hidden;color:#fff;height:500px;min-height:500px;margin-top:-20px;padding:0;display:block}
.lx-hero-slide{position:absolute;inset:0;background-position:center center;background-size:cover;opacity:0;transition:opacity .3s ease-in-out;z-index:0}
.lx-hero-slide.active{opacity:1}
/* overlay sutil: degrade desde la izquierda (oscurece el texto), transparente a la derecha */
.lx-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,34,18,.38) 0%,rgba(25,34,18,.18) 23%,rgba(25,34,18,.08) 38%,transparent 62%);z-index:1}
/* Formas translúcidas tipo V1 */
.lx-hero-deco{position:absolute;z-index:2;pointer-events:none}
.lx-hero-deco-1{
  left:-46px;top:-18px;width:244px;height:620px;
  background:rgba(162,202,57,.58);
  clip-path:polygon(0 0, 88% 0, 100% 50%, 36% 100%, 0 100%, 61% 50%)
}
.lx-hero-deco-2{
  left:238px;top:-12px;width:188px;height:612px;opacity:.38
}
.lx-hero-deco-2::before,
.lx-hero-deco-2::after{
  content:"";position:absolute;top:-24px;left:74px;width:40px;height:660px;
  background:rgba(205,209,214,.24);transform-origin:center center
}
.lx-hero-deco-2::before{transform:rotate(33deg)}
.lx-hero-deco-2::after{transform:rotate(-33deg)}
.lx-hero-arrow{
  position:absolute;top:251px;z-index:4;width:22px;height:22px;padding:0;border:0;
  background:transparent;color:#fff;cursor:pointer;font-size:42px;line-height:.45;
  font-weight:300;display:flex;align-items:center;justify-content:center;
  text-shadow:0 1px 6px rgba(0,0,0,.25)
}
.lx-hero-prev{left:10px}
.lx-hero-next{right:10px}
.lx-hero-inner{position:absolute;z-index:3;left:165px;top:216px;max-width:605px;margin:0;padding:0}
.lx-hero-kicker{font-family:'Exo',sans-serif;font-weight:500;margin:0 0 2px;font-size:24px;line-height:1.3;color:#fff;text-shadow:none}
.lx-hero-title{font-family:'Exo',sans-serif;font-weight:500;font-size:28px;line-height:1.2;margin:0;color:#fff;text-shadow:none}
.lx-hero-sub,
.lx-hero .lx-btn{display:none!important}

/* ============ MEGA-MENÚ ============ */
.main-header-menu .menu-item-has-children > .sub-menu,
#site-navigation .sub-menu{
  background:#fff;border-top:3px solid var(--lx-green);
  box-shadow:0 12px 28px rgba(0,0,0,.10);min-width:260px;border-radius:0 0 8px 8px
}
.main-header-menu .sub-menu a,#site-navigation .sub-menu a{
  font-family:'Exo',sans-serif;font-weight:500;color:var(--lx-text)!important;padding:10px 18px!important
}
.main-header-menu .sub-menu a:hover,#site-navigation .sub-menu a:hover{
  background:#f6f8f0;color:var(--lx-green-dark)!important
}

/* ============ SEGMENTOS — círculos clickeables, sin íconos, grandes ============ */
.lx-section-segmentos{padding:56px 0 72px}
.lx-seg-circles{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.lx-seg-circle{
  width:150px;height:150px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  padding:18px;text-align:center;
  box-shadow:0 8px 22px rgba(0,0,0,.12);
  transition:transform .2s,box-shadow .2s;
  text-decoration:none!important;cursor:pointer
}
.lx-seg-circle:hover{transform:translateY(-4px) scale(1.04);box-shadow:0 16px 32px rgba(0,0,0,.22);text-decoration:none!important}
.lx-seg-circle:focus-visible{outline:3px solid var(--lx-dark);outline-offset:3px}
.lx-seg-circle span{
  color:#fff!important;font-family:'Exo',sans-serif;font-weight:700;
  font-size:14px;line-height:1.18;letter-spacing:.2px;
  text-shadow:0 1px 2px rgba(0,0,0,.18)
}

/* ============ FICHA DE PRODUCTO (estilo V1) ============ */

/* Ocultar el título default que Astra muestra arriba (el banner lo replica) */
body.single-product .ast-single-post .entry-header,
body.single-product .product_title.entry-title{display:none!important}

/* Liberar el .ast-container de Astra en single-product, en el listado de
   categoría de producto (tax-product_cat) Y en los resultados de búsqueda
   (lx-search-archive): es grid 1240 y pone nuestro banner+wrap lado a lado.
   Lo volvemos block full-width en los tres casos. */
body.single-product #content > .ast-container,
body.single-product .ast-container,
body.tax-product_cat #content > .ast-container,
body.tax-product_cat .ast-container,
body.lx-search-archive #content > .ast-container,
body.lx-search-archive .ast-container{
  display:block!important;max-width:none!important;
  padding:0!important;width:100%!important
}

/* Product category archives inherit one shared centered header treatment,
   regardless of root slug or nested subcategory depth. Search results
   (lx-search-archive) inherit the same treatment: they free .ast-container
   for the banner exactly like category archives do, which also flattens the
   header bar that shares that container — without this the logo drifts to
   the viewport edge at Astra's default size. */
body.tax-product_cat header.site-header,
body.tax-product_cat .ast-primary-header-bar,
body.tax-product_cat .main-header-bar-wrap,
body.tax-product_cat .site-primary-header-wrap,
body.tax-product_cat .ast-builder-grid-row,
body.tax-product_cat .site-header-primary-section-left,
body.tax-product_cat .ast-builder-layout-element,
body.tax-product_cat .site-branding,
body.tax-product_cat .site-logo-img,
body.tax-product_cat #ast-desktop-header,
body.lx-search-archive header.site-header,
body.lx-search-archive .ast-primary-header-bar,
body.lx-search-archive .main-header-bar-wrap,
body.lx-search-archive .site-primary-header-wrap,
body.lx-search-archive .ast-builder-grid-row,
body.lx-search-archive .site-header-primary-section-left,
body.lx-search-archive .ast-builder-layout-element,
body.lx-search-archive .site-branding,
body.lx-search-archive .site-logo-img,
body.lx-search-archive #ast-desktop-header{
  overflow:visible!important
}
body.tax-product_cat .ast-primary-header-bar,
body.tax-product_cat .main-header-bar,
body.lx-search-archive .ast-primary-header-bar,
body.lx-search-archive .main-header-bar{min-height:96px;background:#fff!important}
body.tax-product_cat .ast-primary-header-bar > .ast-container,
body.tax-product_cat .site-primary-header-wrap.ast-container,
body.lx-search-archive .ast-primary-header-bar > .ast-container,
body.lx-search-archive .site-primary-header-wrap.ast-container{
  max-width:1400px!important;width:100%!important;margin:0 auto!important;
  padding-left:8px!important;padding-right:8px!important
}
body.tax-product_cat .custom-logo-link img.custom-logo,
body.tax-product_cat .site-logo-img .custom-logo,
body.lx-search-archive .custom-logo-link img.custom-logo,
body.lx-search-archive .site-logo-img .custom-logo{
  height:134px!important;max-height:134px!important;
  width:auto!important;max-width:none!important;
  display:block!important;object-fit:contain;
  margin-top:-6px;margin-bottom:-50px
}
body.tax-product_cat .site-header-primary-section-right,
body.lx-search-archive .site-header-primary-section-right{position:relative;z-index:2;align-self:center}

/* Ocultar el título default de WooCommerce en el listado de categoría
   (el banner .lx-product-banner ya lo replica, mismo patrón que en ficha). */
body.tax-product_cat .woocommerce-products-header{display:none!important}

/* Banner verde full-width con el título */
.lx-product-banner{
  background:#A2CA39;width:100%;
  margin:0;padding:0
}
body.tax-product_cat .lx-product-banner,
body.lx-search-archive .lx-product-banner{
  position:relative;overflow:hidden;isolation:isolate;
  background-color:#A2CA39;
  background-image:url("assets/category-archive-banner.jpg");
  background-position:center left;
  background-repeat:no-repeat;
  background-size:cover;
  /* -15px (recalibrado desde -111px): el -111 compensaba la franja del
     breadcrumb de Astra que se ocultó en v3-breadcrumb-remove-header-bar.
     Medido contra V1: con -15px el banner arranca en ~top:99 igual que V1,
     el logo sobresale 45px sobre él y el título queda debajo sin taparse. */
  margin-top:-15px;
  margin-bottom:0;
  z-index:0
}
body.tax-product_cat .lx-product-banner::before,
body.lx-search-archive .lx-product-banner::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:url("assets/category-archive-overlay.svg");
  background-position:-468px 0;
  background-repeat:no-repeat;
  background-size:contain;
  pointer-events:none
}
.lx-product-banner-inner{
  max-width:1320px;margin:0 auto;padding:62px 30px
}
body.tax-product_cat .lx-product-banner-inner,
body.lx-search-archive .lx-product-banner-inner{
  position:relative;z-index:1;
  max-width:1440px;
  padding:clamp(82px,6.55vw,94px) clamp(24px,2.65vw,38px) 14px
}
.lx-product-banner-title{
  font-family:'Exo',sans-serif;font-weight:500;font-size:26px;
  color:#fff;text-transform:uppercase;letter-spacing:.5px;margin:0
}
body.tax-product_cat .lx-product-banner-title,
body.lx-search-archive .lx-product-banner-title{
  display:block;
  width:min(34.5vw,480px);
  max-width:100%;
  font-size:clamp(24px,1.95vw,28px);
  line-height:1.3;
  letter-spacing:-0.5px;
  text-align:left
}

/* Grid de 3 columnas: sidebar | imagen+contenido | side-right */
.lx-product-wrap{padding:48px 0}
.lx-product-grid{
  display:grid;grid-template-columns:230px 1fr;gap:48px;
  max-width:1320px;margin:0 auto;padding:0 30px;
  align-items:start
}

/* Sidebar de categorías */
.lx-product-sidebar-cats{padding:8px 0}

/* Buscador WC en el sidebar del listado de categoría (crítico #3) */
.lx-cats-search{margin:0 0 20px}
.lx-cats-search .woocommerce-product-search{display:flex;gap:0}
.lx-cats-search .search-field{
  flex:1 1 auto;min-width:0;border:1px solid #e0e0e0;border-radius:6px 0 0 6px;
  padding:10px 12px;font-family:'Roboto Flex',sans-serif;font-size:14px;
  outline:none
}
.lx-cats-search button[type="submit"]{
  flex:0 0 auto;border:0;border-radius:0 6px 6px 0;
  background:var(--lx-green);color:#fff;padding:0 16px;cursor:pointer;
  font-family:'Roboto Flex',sans-serif;font-size:14px
}
.lx-cats-search button[type="submit"]:hover{background:var(--lx-green-dark)}
.lx-cats-title{
  font-family:'Exo',sans-serif;font-weight:600;font-size:22px;
  color:#00A2B6;letter-spacing:-0.5px;margin:0 0 18px
}
.lx-cats-list{list-style:none;margin:0;padding:0}
.lx-cats-list li{margin:0;padding:0;border-bottom:1px solid #eaeaea}
.lx-cats-list a{
  display:flex;justify-content:space-between;align-items:center;
  padding:11px 4px;
  font-family:'Roboto Flex',sans-serif;font-size:14px;
  color:#575757;text-decoration:none;transition:color .15s
}
.lx-cats-list a span{color:#A2CA39;font-size:18px;font-weight:700}
.lx-cats-list a:hover{color:#00A2B6}
.lx-cats-list li.active a{color:#00A2B6;font-weight:600}
.lx-cats-back a{color:#A2CA39;font-weight:600}

/* El breadcrumb genérico de Astra viene envuelto en un contenedor
   (.ast-header-breadcrumb) con altura/padding propios que queda como franja
   blanca vacía bajo el header en TODAS las vistas. Se oculta el contenedor
   completo, no solo el <nav> interno. El breadcrumb bueno de categoría/producto
   (nav.woocommerce-breadcrumb) vive en el área de contenido y NO se ve afectado.
   V1/.com no tiene esta franja. */
.ast-header-breadcrumb{display:none!important}
nav.breadcrumb-trail{display:none!important}

/* El contenido principal (imagen + summary) se mantiene con WC nativo */
.lx-product-main .product{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.lx-product-main .woocommerce-product-gallery{margin:0!important}
.lx-product-main .summary{padding:0}

/* Botón YITH cotización: estilo grande tipo "Cotizar"  */
.single-product .add-request-quote-button.button{
  display:inline-block!important;
  background:#25D366!important;color:#fff!important;
  font-family:'Exo',sans-serif;font-weight:700;font-size:17px;
  padding:18px 36px!important;border-radius:8px;
  text-transform:none;letter-spacing:.3px;
  box-shadow:0 4px 12px rgba(37,211,102,.3);
  transition:transform .15s,box-shadow .15s
}
.single-product .add-request-quote-button.button:hover{
  background:#1ebd5b!important;transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(37,211,102,.4)
}

@media(max-width:980px){
  .lx-product-grid{grid-template-columns:1fr}
  .lx-product-main .product{grid-template-columns:1fr}
  .lx-product-banner-inner{padding:42px 24px}
  /* v3-responsive F5: ensanchar el título del banner en mobile/tablet */
  body.tax-product_cat .lx-product-banner-title,
  body.lx-search-archive .lx-product-banner-title{width:auto;max-width:100%}
}

/* ============ /segmentos/ — HERO de cada segmento (estilo V1) ============ */

/* Header/logo parity with V1: this standalone page was still using Astra's
   full-width header container, so the overlapping logo rendered flush left. */
body.page-id-318 header.site-header,
body.page-id-318 .ast-primary-header-bar,
body.page-id-318 .main-header-bar-wrap,
body.page-id-318 .site-primary-header-wrap,
body.page-id-318 .ast-builder-grid-row,
body.page-id-318 .site-header-primary-section-left,
body.page-id-318 .ast-builder-layout-element,
body.page-id-318 .site-branding,
body.page-id-318 .site-logo-img,
body.page-id-318 #ast-desktop-header{
  overflow:visible!important
}
body.page-id-318 .ast-primary-header-bar,
body.page-id-318 .main-header-bar{min-height:96px;background:#fff!important}
body.page-id-318 .ast-primary-header-bar > .ast-container,
body.page-id-318 .site-primary-header-wrap.ast-container{
  max-width:1400px!important;width:100%!important;margin:0 auto!important;
  padding-left:8px!important;padding-right:8px!important
}
body.page-id-318 .custom-logo-link img.custom-logo,
body.page-id-318 .site-logo-img .custom-logo{
  height:134px!important;max-height:134px!important;
  width:auto!important;max-width:none!important;
  display:block!important;object-fit:contain;
  margin-top:-6px;margin-bottom:-50px
}
body.page-id-318 .site-header-primary-section-right{position:relative;z-index:2;align-self:center}

/* Liberar los wrappers de Astra SOLO en /segmentos/ para permitir
   secciones full-bleed (1440 vs 1200 del container). */
body.page-id-318 .entry-content{padding:0!important;margin:0!important}
body.page-id-318 .entry-content > .ast-container,
body.page-id-318 #content > .ast-container{
  display:block!important;max-width:none!important;width:100%!important;padding:0!important
}

/* Ocultar el título "Segmentos" (h1.entry-title) en la página /segmentos/ —
   las 7 secciones ya tienen su propio título visual. */
body.page-id-318 .entry-title,
body.page-id-318 .ast-archive-title{display:none!important}
.lx-seg-hero{
  position:relative;
  width:100%!important;
  max-width:none!important;   /* Astra/Gutenberg aplica max-width:1200 al contenido — lo derrotamos */
  min-height:600px;
  background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:flex-end;
  overflow:hidden
}
.lx-seg-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(120,160,180,.32),rgba(80,120,150,.45));
  z-index:1
}
.lx-seg-hero-circle{
  position:absolute;top:30px;right:7%;z-index:3;
  width:135px;height:135px;border-radius:50%;
  color:#fff;
  display:flex;align-items:center;justify-content:center;text-align:center;
  font-family:'Exo',sans-serif;font-size:14px;font-weight:700;line-height:1.2;
  padding:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.22)
}
.lx-seg-hero-panel{
  position:relative;z-index:2;
  background:#fff;
  width:min(640px,52%);
  margin-right:8%;
  padding:50px 56px;
  box-shadow:0 20px 50px rgba(0,0,0,.22);
  border-radius:2px
}
.lx-seg-hero-title{
  font-family:'Exo',sans-serif;font-weight:800;font-size:28px;
  text-transform:uppercase;letter-spacing:1px;
  border-bottom:1px solid rgba(0,0,0,.08);padding-bottom:16px;margin:0 0 22px
}
.lx-seg-hero-panel p{
  color:#575757;font-size:15px;line-height:1.7;text-align:justify;margin:0
}
@media(max-width:780px){
  .lx-seg-hero{min-height:auto;padding:40px 20px;justify-content:center}
  .lx-seg-hero-panel{width:100%;margin:0;padding:30px 28px}
  .lx-seg-hero-circle{position:relative;top:auto;right:auto;margin:0 auto 20px}
}

/* ============ NOSOTROS — banner con foto del equipo + overlay verde (idéntico a V1) ============ */
.lx-nosotros-banner{
  position:relative;
  width:100%;
  min-height:340px;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  overflow:hidden;
  display:flex;align-items:center
}
/* Overlay verde diagonal sobre la foto */
.lx-nosotros-overlay{
  position:absolute;inset:0;
  background-position:left center;
  background-size:cover;
  background-repeat:no-repeat;
  pointer-events:none;
  z-index:1
}
.lx-nosotros-content{
  position:relative;z-index:2;
  width:100%;display:flex;align-items:center;
  padding-top:50px;padding-bottom:50px
}
.lx-nosotros-text{
  max-width:420px;color:#fff
}
/* Tipografía calibrada con DOM de V1 (script measure-nosotros-typo.js):
   título: 33px, weight 400, line-height 1.3, letter-spacing -0.5px, teal #00A2B6
   párrafo: 15px, weight 400, line-height 1.5, color gris #575757, justified */
.lx-nosotros-title{
  font-family:'Exo',sans-serif;font-weight:400;font-size:33px;
  color:#00A2B6;margin:0 0 16px;line-height:1.3;letter-spacing:-0.5px
}
.lx-nosotros-text p{
  font-family:'Roboto Flex',sans-serif;
  font-size:15px;font-weight:400;line-height:1.5;
  color:#575757;text-align:justify;margin:0
}
.lx-nosotros-text strong{color:#575757;font-weight:700}
.lx-nosotros-text em{color:var(--lx-green-dark);font-style:normal;font-weight:700}
/* "X" decorativa verde a la derecha del texto */
.lx-nosotros-x{
  position:absolute;right:18%;top:50%;transform:translateY(-50%);
  width:280px;height:auto;opacity:.85;z-index:1;pointer-events:none
}

@media(max-width:780px){
  .lx-nosotros-banner{min-height:auto}
  .lx-nosotros-text{max-width:none}
  .lx-nosotros-x{display:none}
}

/* ============ TÍTULO "NUESTROS PRODUCTOS" (calibrado contra V1) ============
   - V1 título: Exo 26px / weight 500 / uppercase / letter-spacing -0.5 /
                color magenta #AC3884 / line-height 1.3
   - x-lila.svg limpio al lado IZQUIERDO del texto, sin fondo cuadrado */
.lx-section-productos{position:relative;overflow:hidden}
.lx-productos-header{
  display:flex;align-items:center;gap:4px;
  margin:0 0 40px;
  justify-content:flex-start
}
.lx-productos-x{
  width:auto;height:61px;flex:0 0 auto;
  opacity:1;pointer-events:none
}
.lx-h2-productos{
  margin:0;
  font-family:'Exo',sans-serif;font-weight:500;font-size:26px;
  line-height:1.3;letter-spacing:-0.5px;
  text-transform:uppercase;text-align:start;
  color:#AC3884
}
.lx-h2-accent{display:none}
.lx-carousel{position:relative;margin:0 -8px}
.lx-car-track{
  display:flex;gap:18px;overflow-x:auto;scroll-behavior:smooth;
  scroll-snap-type:x mandatory;padding:8px;
  scrollbar-width:none /* Firefox */
}
.lx-car-track::-webkit-scrollbar{display:none}
.lx-car-track > .lx-prod-card{
  flex:0 0 220px;scroll-snap-align:start
}
.lx-car-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;
  background:#fff;color:var(--lx-green-dark);
  font-size:18px;font-weight:700;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  transition:transform .15s,background .15s;
  display:flex;align-items:center;justify-content:center
}
.lx-car-arrow:hover{background:var(--lx-green);color:#fff;transform:translateY(-50%) scale(1.08)}
.lx-car-prev{left:-22px}
.lx-car-next{right:-22px}

/* ============ CATEGORÍAS ============ */
.lx-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.lx-cat-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid #e6ebdc;border-left:5px solid var(--lx-green);border-radius:10px;padding:22px 24px;text-decoration:none;color:var(--lx-dark);font-family:'Exo',sans-serif;font-weight:600;font-size:17px;transition:box-shadow .15s,transform .15s}
.lx-cat-card:hover{box-shadow:0 10px 24px rgba(93,173,39,.18);transform:translateY(-3px)}
.lx-cat-arrow{color:var(--lx-green);font-size:22px}

/* ============ PRODUCT CARD (compartido por grid y carrusel) ============ */
.lx-prod-card{display:flex;flex-direction:column;background:#fff;border:1px solid #eceff4;border-radius:12px;overflow:hidden;text-decoration:none;transition:box-shadow .15s,transform .15s}
.lx-prod-card:hover{box-shadow:0 12px 28px rgba(0,0,0,.10);transform:translateY(-3px)}
.lx-prod-img{height:170px;background:#f3f5f8 center/contain no-repeat}
.lx-prod-title{display:block;padding:16px 18px;font-weight:600;color:var(--lx-text);font-size:15px;line-height:1.35}

/* ============ FOOTER CHILE ============ */
footer.site-footer,.site-below-footer-wrap,.site-primary-footer-wrap{display:none!important}
/* Footer estilo V1: bg gris claro, logo blanco circular a la izquierda,
   datos contacto centro-izq con íconos verdes, X-02.svg gigante de
   decoración al centro-derecha, social circles con borde verde a la derecha. */
.lx-footer{
  /* V1: split vertical bg: gris medio izq (logo+contacto), gris claro der (X+sociales) */
  background:linear-gradient(90deg,#808080 55%,#F9F9F9 55%);
  color:#fff;
  height:285px;
  padding:0;margin-top:0;
  position:relative;overflow:hidden
}
.lx-footer a{color:#fff;text-decoration:none}
.lx-footer a:hover{color:var(--lx-green)}

.lx-foot-grid{
  display:grid;
  grid-template-columns:255px 415px 320px 350px;
  align-items:center;gap:0;
  height:285px;
  max-width:1440px;margin:0 auto;padding:0 30px;
  position:relative
}

/* Logo blanco circular */
.lx-foot-logo-col{display:flex;justify-content:flex-start;align-items:center}
.lx-foot-logo{
  width:146px;height:157px;
  padding:0;display:block;
  background:transparent;border-radius:0;
  box-shadow:none
}

/* Datos de contacto con íconos verdes */
.lx-foot-contact{font-family:'Roboto Flex',sans-serif;font-size:15px;line-height:1.5}
.lx-foot-contact p{
  margin:0 0 14px;display:flex;align-items:flex-start;gap:14px;
  color:#fff
}
.lx-foot-contact p:last-child{margin-bottom:0}
.lx-foot-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;margin-top:2px}
.lx-foot-icon svg{display:block}

/* X decorativa al centro-derecha (asset 320x285 de V1).
   left:-67px medido empíricamente: sin offset la X natural cae en left=800px
   (viewport 1440); en V1 real la misma imagen (320x285) está en left=733px
   (verificado con getBoundingClientRect sobre footer.lx-footer real de V1),
   apenas 13px pasado el corte gris/blanco (x=720, confirmado en ambos sitios:
   div fijo de 700px en V1, gradient 50% en V2). 800-733=67px de ajuste. */
.lx-foot-decoration{
  display:flex;align-items:center;justify-content:center;
  position:relative;left:33px;z-index:1;
  pointer-events:none
}
.lx-foot-decoration img{width:320px;height:285px;max-width:none}
.lx-foot-contact{position:relative;z-index:2}

/* Síguenos: 3 social en círculos con BORDE verde + símbolo verde */
.lx-foot-social-col{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-left:55px}
.lx-foot-social-label{
  font-family:'Roboto Flex',sans-serif;font-size:15px;
  color:#575757;margin:0;text-align:center
}
.lx-foot-social{display:flex;gap:4px}
.lx-foot-social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:45px;height:45px;border-radius:50%;
  border:2px solid var(--lx-green);background:#F9F9F9;
  transition:background .15s,transform .15s
}
.lx-foot-social a:hover{background:var(--lx-green);transform:scale(1.06)}
.lx-foot-social a:hover svg path,
.lx-foot-social a:hover svg rect,
.lx-foot-social a:hover svg circle{fill:#fff;stroke:#fff}

@media(max-width:980px){
  .lx-foot-grid{grid-template-columns:1fr;text-align:center;gap:28px}
  .lx-foot-decoration{display:none}
  .lx-foot-contact p{justify-content:center}
  /* v3-responsive F4: liberar altura fija para que overflow:hidden no recorte */
  .lx-footer{height:auto;overflow:visible}
  .lx-foot-grid{height:auto;padding:36px 30px}
}

/* Responsive */
@media(max-width:780px){
  .lx-nosotros-grid{grid-template-columns:1fr;gap:36px}
  .lx-hero{height:420px;min-height:420px;margin-top:0}
  .lx-hero-inner{left:32px;top:170px;max-width:calc(100% - 64px)}
  .lx-hero-kicker{font-size:22px}
  .lx-hero-title{font-size:26px}
  .lx-hero-deco-2{left:142px;opacity:.24}
  .lx-hero-arrow{top:210px}
}
@media(max-width:600px){
  .lx-hero{height:360px;min-height:360px}
  .lx-hero-inner{left:22px;top:150px;max-width:calc(100% - 44px)}
  .lx-hero-title{font-size:22px}
  .lx-hero-kicker{font-size:18px}
  .lx-hero-deco-2{display:none}
  .lx-hero-arrow{top:180px;font-size:34px}
  .lx-section{padding:44px 0}
  .lx-seg-circle{width:110px;height:110px}
  .lx-seg-circle img{width:36px;height:36px}
}

/* ============ BANDA DE BÚSQUEDA DE LA HOME (v3-buscador-productos) ============
   Clase propia: .lx-cats-search (302-315) está dimensionada para el sidebar de
   230px (.lx-product-grid, línea 294) y no sirve para una banda de ancho
   completo. Se copia su patrón visual (input + botón verde) con proporciones de
   banda y se reutilizan los contenedores genéricos .lx-wrap / .lx-section.
   DEBE ir después de .lx-section (línea 111): misma especificidad, gana el orden. */
.lx-home-search{padding:40px 0 0}
.lx-home-search .woocommerce-product-search{display:flex;gap:0;max-width:620px;margin:0 auto}
.lx-home-search .search-field{
  flex:1 1 auto;min-width:0;
  -webkit-appearance:none;appearance:none;   /* Safari/iOS: quita el pill nativo de input[type=search] */
  border:1px solid #e0e0e0;border-right:0;border-radius:8px 0 0 8px;
  padding:15px 20px;
  font-family:'Roboto Flex',sans-serif;font-size:16px;
  outline:none
}
.lx-home-search .search-field:focus{border-color:var(--lx-green)}
.lx-home-search button[type="submit"]{
  flex:0 0 auto;border:0;border-radius:0 8px 8px 0;
  background:var(--lx-green);color:#fff;
  padding:0 34px;cursor:pointer;
  font-family:'Exo',sans-serif;font-weight:700;font-size:16px;
  transition:background .15s
}
.lx-home-search button[type="submit"]:hover{background:var(--lx-green-dark)}

/* Estado vacío de la página de resultados (chips con flex-wrap: reflow sin breakpoint) */
.lx-search-empty{padding:8px 0 24px;font-family:'Roboto Flex',sans-serif;color:#575757;font-size:16px;line-height:1.6}
.lx-search-empty-title{font-family:'Exo',sans-serif;font-weight:600;font-size:20px;color:var(--lx-dark);margin:0 0 10px}
.lx-search-empty-cats{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.lx-search-empty-cats a{
  display:inline-block;border:1px solid #e6ebdc;border-left:4px solid var(--lx-green);
  border-radius:8px;padding:9px 14px;color:#575757;text-decoration:none;font-size:14px;
  transition:color .15s,box-shadow .15s
}
.lx-search-empty-cats a:hover{color:#00A2B6;box-shadow:0 2px 10px rgba(0,0,0,.06)}

/* Bloque PROPIO: no se edita ninguno de los 12 @media ya existentes. */
@media(max-width:600px){
  .lx-home-search{padding:28px 0 0}
  .lx-home-search .search-field{padding:13px 14px}          /* font-size sigue en 16px a propósito */
  .lx-home-search button[type="submit"]{padding:0 18px;font-size:15px}
}

/* ============ PÁGINA /nosotros/ (standalone) ============
 * Namespace lx-nos-page-* para no chocar con .lx-nosotros-* del home
 * (sección "Nosotros" del front-page.php es un bloque distinto).
 */
body.page-id-405::before{
  content:"";display:block;height:6px;background:var(--lx-green);
  position:fixed;top:0;left:0;right:0;z-index:99999
}
body.page-id-405.admin-bar::before{top:32px}
body.page-id-405 #content > .ast-container,
body.page-id-405 .ast-container{
  display:block!important;max-width:none!important;width:100%!important;padding:0!important
}
body.page-id-405 .entry-header,
body.page-id-405 .entry-title{display:none!important}
body.page-id-405 .site-content,
body.page-id-405 #primary,
body.page-id-405 .site-main,
body.page-id-405 article.ast-article-single,
body.page-id-405 .entry-content{
  margin:0!important;padding:0!important
}
body.page-id-405 #primary{margin-top:-15px!important}
body.page-id-405 .main-header-menu .current-menu-item > .menu-link,
body.page-id-405 .main-header-menu .current_page_item > .menu-link,
body.page-id-405 .main-header-menu .menu-link[aria-current="page"]{
  color:var(--lx-green)!important
}
body.page-id-405 .main-header-menu a[href*="nosotros"]{color:var(--lx-green)!important}
.lx-nos-page-banner{
  position:relative;height:clamp(283px,19.03vw,314px);min-height:283px;width:100vw!important;max-width:none!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  display:flex;align-items:flex-end;justify-content:flex-start;
  background-position:center center,right center;background-size:cover,cover;background-repeat:no-repeat;
  overflow:hidden;color:#fff;text-align:left;padding:0 calc((100vw - 1366px)/2) 38px
}
/* Tinte sutil sobre la foto — solo para contraste del título, sin lavar el
   color natural de la foto (V1 no aplica un wash de color de marca sobre
   ella, la deja leerse casi natural; contrato spec v2-nosotros-banner). */
.lx-nos-banner-overlay{
  position:absolute;inset:0;
  background-color:rgba(10,20,15,.15);
  z-index:1;pointer-events:none
}
.lx-nos-page-h1{
  position:relative;z-index:2;
  font-family:'Exo',sans-serif;font-weight:500;font-size:36px;line-height:1.3;margin:0;
  color:#F9F9F9!important;text-transform:uppercase;text-align:left
}
.lx-nos-page-historia{padding:29px 0 64px;max-width:none!important;margin:0 auto!important;width:100%!important}
.lx-nos-page-historia-grid{
  display:grid;grid-template-columns:837px 545px;gap:0;align-items:start;
  max-width:1366px;margin:0 auto
}
.lx-nosotros-historia{width:754px;padding-top:74px}
.lx-nosotros-historia p{
  font-family:'Roboto Flex',sans-serif;font-size:15px;line-height:1.5;
  color:#808080;text-align:justify;margin:0 0 16px
}
.lx-nosotros-historia p:last-child{margin-bottom:0}
.lx-nos-page-foto img{
  width:100%;height:auto;max-width:420px;border-radius:8px;display:block;margin:0 auto
}
.lx-nos-page-foto{padding-top:16px}
.lx-nos-page-equipo{
  position:relative;height:clamp(284px,18.57vw,306px);min-height:284px;
  width:100vw!important;max-width:none!important;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  display:block;overflow:hidden;
  background-position:center center,center center;
  background-size:cover,auto;
  background-repeat:no-repeat;
  padding:0
}
/* V1 uses the translucent left area and large center X from green-ban-2.png;
   keep the content transparent so that asset remains visible. */
.lx-nos-equipo-text{
  position:absolute;z-index:2;
  top:61px;left:calc((100vw - 1400px)/2 + 80px);
  width:565px;max-width:565px;
  background:transparent;color:var(--lx-dark);
  margin:0;padding:0;text-align:left
}
.lx-nos-equipo-text h2{
  display:flex;align-items:center;gap:14px;
  font-family:'Exo',sans-serif;font-weight:600;color:var(--lx-green-dark);
  font-size:28px;line-height:1.3;margin:0 0 31px;text-transform:uppercase
}
.lx-nos-equipo-text h2::before{
  content:"";display:block;flex:0 0 42px;width:42px;height:46px;
  background:var(--lx-green);
  clip-path:polygon(0 0,42% 0,100% 50%,42% 100%,0 100%,58% 50%)
}
.lx-nos-equipo-text p{
  max-width:none;margin:0;font-family:'Roboto Flex',sans-serif;
  font-size:15px;line-height:22.5px;color:var(--lx-text);text-align:left
}
/* Ícono X inline — geometría única del st2 (verde) de X-02.svg, reusada con
   fill de un solo color por sección (design.md decisión "icons"). En Equipo
   actúa como divisor gráfico independiente del panel de texto (task 5.3),
   NO anidado dentro del heading — evita que el texto se superponga al ícono. */
.lx-nos-xmark{
  width:auto;height:56px;flex:0 0 auto;display:block
}
.lx-nos-page-equipo > .lx-nos-xmark{
  display:none
}
.lx-nos-page-clientes{padding:56px 20px 72px}
.lx-nos-page-clientes h2{
  display:flex;align-items:center;justify-content:center;gap:12px;
  text-align:center;text-transform:lowercase;font-family:'Exo',sans-serif;
  font-weight:600;color:var(--lx-dark);font-size:26px;margin:0 0 34px
}
.lx-nos-page-clientes h2 .lx-nos-xmark{height:40px}
/* El overflow:hidden vive en .lx-clientes-viewport (solo el track), NO en
   .lx-clientes-carousel — así las tarjetas animadas se recortan en su propio
   borde antes de llegar al hueco de las flechas (task 5.4: las flechas ya
   no se solapan con las tarjetas en movimiento). */
.lx-clientes-carousel{position:relative;max-width:1180px;margin:0 auto;padding:0 100px}
.lx-clientes-viewport{overflow:hidden}
.lx-clientes-track{
  display:flex;align-items:center;gap:34px;will-change:transform
}
.lx-cliente-logo{
  flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  width:130px;height:80px;opacity:.3;transition:opacity .2s;
  border:1px solid #e6ebdc;border-radius:8px
}
.lx-cliente-logo:hover{opacity:1}
.lx-cliente-logo img{max-width:80%;max-height:80%;object-fit:contain}
/* Flechas de navegación sobre el marquee existente (design.md decisión
   "carousel arrows"), NO reemplazan el IIFE, lo extienden. */
.lx-cli-prev,.lx-cli-next{
  /* padding:0 pisa el reset global de Astra para <button> (padding:15px 30px
     inline-css), que inflaba el círculo a 60px reales y lo hacía invadir el
     margen de las tarjetas (root cause del solape, task 5.4). */
  position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:40px;height:40px;padding:0;border-radius:50%;border:0;cursor:pointer;
  background:#fff;color:var(--lx-teal);font-size:22px;font-weight:700;line-height:1;
  box-shadow:0 4px 14px rgba(0,0,0,.15);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,transform .15s
}
.lx-cli-prev:hover,.lx-cli-next:hover{background:var(--lx-teal);color:#fff;transform:translateY(-50%) scale(1.08)}
.lx-cli-prev{left:12px}
.lx-cli-next{right:12px}

@media(max-width:780px){
  .lx-nos-page-historia-grid{grid-template-columns:1fr;gap:28px}
  .lx-nos-page-foto img{max-width:280px}
  /* v3-responsive F6: reducir padding lateral del carrusel de clientes */
  .lx-clientes-carousel{padding:0 44px}
}

/* v3-responsive F1 + F2-tablet (Rev v4.1): Historia a una columna y clamp del panel de
   Equipo, cubriendo el rango tablet 922-1239px (el grid base 1382px desborda
   bajo ~1400px). NO engancha a 1280+ (desktop calibrado intacto: Equipo
   1280→left=20px, 1366→left=63px se conservan). */
@media(max-width:1239px){
  .lx-nos-page-historia-grid{grid-template-columns:1fr;gap:28px}
  .lx-nos-page-foto img{max-width:280px}
  /* v3-responsive F1: soltar ancho fijo de Historia (base no !important);
     padding lateral para que el texto no toque los bordes del viewport */
  .lx-nosotros-historia{width:100%;max-width:100%;padding:0 20px}
  /* v3-responsive F2-tablet: panel de Equipo clampado dentro del viewport,
     manteniendo el layout absoluto (estética de overlay) en 922-1239px. A
     <=921 el bloque siguiente lo vuelve estático y este left:32px queda inerte
     (left no aplica a position:static). */
  .lx-nos-equipo-text{
    left:32px;
    width:min(565px,calc(100vw - 64px));
    max-width:calc(100vw - 64px)
  }
}

@media(max-width:921px){
  /* v3-responsive F2: sacar "Nuestro Equipo" del absolute/calc(100vw) a flujo estático */
  .lx-nos-page-equipo{height:auto;min-height:0;overflow:visible;padding:36px 20px}
  .lx-nos-equipo-text{
    position:static;left:auto;top:auto;width:100%;max-width:100%;
    background:rgba(249,249,249,.94);padding:24px 20px;border-radius:8px
  }
}

/* ============ PÁGINA /training/ (LXD Academy) ============ */
body.page-id-406 .entry-header,
body.page-id-406 .entry-title,
body.page-id-408 .entry-header,
body.page-id-408 .entry-title{display:none!important}
body.page-id-406 .main-header-menu .current-menu-item > .menu-link,
body.page-id-406 .main-header-menu .current_page_item > .menu-link,
body.page-id-406 .main-header-menu .menu-link[aria-current="page"],
body.page-id-408 .main-header-menu .current-menu-item > .menu-link,
body.page-id-408 .main-header-menu .current_page_item > .menu-link,
body.page-id-408 .main-header-menu .menu-link[aria-current="page"]{
  color:var(--lx-green)!important
}
body.page-id-406 #content > .ast-container,
body.page-id-406 .ast-container,
body.page-id-408 #content > .ast-container,
body.page-id-408 .ast-container{
  display:block!important;max-width:none!important;width:100%!important;padding:0!important
}
body.page-id-406 .site-content,
body.page-id-406 #primary,
body.page-id-406 .site-main,
body.page-id-406 article.ast-article-single,
body.page-id-406 .entry-content,
body.page-id-408 .site-content,
body.page-id-408 #primary,
body.page-id-408 .site-main,
body.page-id-408 article.ast-article-single,
body.page-id-408 .entry-content{
  margin:0!important;padding:0!important
}
body.page-id-406 #primary,
body.page-id-408 #primary{margin-top:-15px!important}

.lx-training-banner{
  position:relative;width:100vw!important;max-width:none!important;min-height:clamp(283px,18.67vw,342px);
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  background-image:url('assets/training-banner.jpg');
  background-position:center center;background-size:cover;background-repeat:no-repeat;
  color:#fff;display:flex;align-items:flex-end;text-align:left;padding:0
}
.lx-training-banner::before{
  content:"";position:absolute;inset:0;
  background:url('assets/base-banner.png') center center/cover no-repeat;
  z-index:1;pointer-events:none
}
.lx-training-banner-inner{
  position:relative;z-index:2;width:100%;max-width:1400px;margin:0 auto;padding:0 10px clamp(38px,2.52vw,46px)
}
.lx-training-h2{
  font-family:'Exo',sans-serif;font-weight:500;font-size:36px;line-height:1.3;
  text-transform:uppercase;color:#f9f9f9;margin:0!important
}
.lx-training-subtitle{
  font-family:'Exo',sans-serif;font-weight:500;font-size:21px;line-height:1.3;
  text-transform:uppercase;color:#a2ca39;margin:0 0 30px!important;text-align:left
}
.lx-training-body{width:calc(100vw - 112px)!important;max-width:1344px!important;margin:0 auto;padding:clamp(70px,4.31vw,79px) 0 89px}
.lx-training-intro{
  font-size:16px;line-height:1.5;color:var(--lx-text);margin:0 0 49px!important;text-align:justify
}
.lx-training-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:0;row-gap:10px
}
.lx-training-block{
  display:grid;grid-template-columns:59px minmax(0,1fr);align-items:flex-start;
  background:none;border:0;border-radius:0;padding:0 40px;min-height:59px
}
.lx-training-block::before{
  content:"";display:block;width:27px;height:27px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23A2CA39' d='M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z'/%3E%3C/svg%3E") center/27px 27px no-repeat
}
.lx-training-block p{max-width:533px;margin:0;font-size:16px;line-height:1.5;color:var(--lx-text);text-align:justify}

@media(max-width:780px){
  .lx-training-banner{min-height:240px}
  .lx-training-banner-inner{padding:0 20px 24px}
  .lx-training-subtitle,.lx-training-intro,.lx-training-block p{text-align:left}
  .lx-training-body{width:auto;padding:40px 20px 48px}
  .lx-training-grid{grid-template-columns:1fr;row-gap:18px}
  .lx-training-block{padding:0;grid-template-columns:36px minmax(0,1fr)}
}

/* ============ PÁGINA /terminos-y-condiciones/ ============ */
.lx-terminos-banner{
  background:var(--lx-dark);color:#fff;text-align:center;padding:48px 20px
}
.lx-terminos-h1{
  font-family:'Exo',sans-serif;font-weight:600;font-size:30px;margin:0
}
.lx-terminos-body{max-width:900px;margin:0 auto;padding:48px 20px}
.lx-terminos-disclaimer{
  font-size:14px;line-height:1.6;color:var(--lx-text);font-style:italic;margin:0 0 32px
}
.lx-terminos-section{margin:0 0 26px}
.lx-terminos-section h3{
  font-family:'Exo',sans-serif;font-weight:600;color:var(--lx-green-dark);
  font-size:18px;margin:0 0 8px
}
.lx-terminos-section p{
  font-size:14.5px;line-height:1.6;color:var(--lx-text);margin:0
}

/* ============ PÁGINA /contacto/ ============ */
.lx-contacto-banner{
  width:100vw!important;max-width:none!important;min-height:295px;
  margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;
  background-image:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1)),url('assets/contact-banner.jpg');
  background-position:center center;background-size:cover;background-repeat:no-repeat;
  color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;
  text-align:left;padding:0 calc((100vw - 1366px)/2) 38px
}
.lx-contacto-h1{
  font-family:'Exo',sans-serif;font-weight:500;font-size:36px;line-height:1.3;
  text-transform:uppercase;color:#fff;margin:0 0 12px
}
.lx-contacto-subtitle{
  max-width:410px;font-family:'Roboto Flex',sans-serif;font-weight:400;
  font-size:15px;line-height:1.5;color:#fff;margin:0
}
.lx-contacto-body{max-width:1100px;margin:0 auto;padding:56px 20px}
.lx-contacto-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.lx-contacto-info h2{
  font-family:'Exo',sans-serif;font-weight:500;color:#575757;
  font-size:18px;line-height:1.3;text-transform:uppercase;margin:0 0 18px
}
.lx-contacto-copy{
  font-family:'Roboto Flex',sans-serif;font-weight:400;font-size:15px;
  line-height:1.5;color:#575757;margin:0 0 34px
}
.lx-contacto-item{
  position:relative;padding-left:68px;min-height:52px;
  display:flex;align-items:center;margin:0 0 24px;
  font-family:'Roboto Flex',sans-serif;font-weight:500;font-size:15px;line-height:1.5;color:#575757
}
.lx-contacto-item:last-child{margin-bottom:0}
.lx-contacto-item::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:48px;height:48px;border-radius:50%;background:#91cb1f center/24px 24px no-repeat
}
.lx-contacto-item-address::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill='%23fff' d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E")}
.lx-contacto-item-mail::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill='%23fff' d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2Zm0 4-8 5-8-5V6l8 5 8-5v2Z'/%3E%3C/svg%3E")}
.lx-contacto-item-phone::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill='%23fff' d='M17 1H7a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2Zm-5 21a1.25 1.25 0 1 1 0-2.5 1.25 1.25 0 0 1 0 2.5ZM17 18H7V4h10v14Z'/%3E%3C/svg%3E")}
.lx-contacto-item a{color:#575757;text-decoration:none}
.lx-contacto-side{display:flex;flex-direction:column;gap:28px}
.lx-contacto-form-wrap{background:transparent;border-radius:0;padding:0}
body.page-id-408 .lx-contacto-form-wrap .ff-el-input--label:not(.ff-el-check-radio-label){display:none!important}
body.page-id-408 .lx-contacto-form-wrap .ff-el-form-control{border-radius:0!important}
.lx-contacto-form-wrap .ff-btn-submit{
  background:#5dad27!important;border-radius:0!important;font-family:'Exo',sans-serif!important;font-weight:600!important
}
.lx-contacto-map-embed{line-height:0}
.lx-contacto-map-embed iframe{
  display:block;width:100%;height:280px;border:0;filter:grayscale(1);transition:filter .3s ease
}
.lx-contacto-map-embed:hover iframe{filter:none}
.lx-contacto-form{display:flex;flex-direction:column;gap:16px}
.lx-contacto-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lx-contacto-form input[type="text"],
.lx-contacto-form input[type="email"],
.lx-contacto-form textarea{
  width:100%;border:1px solid #d6ddd0;border-radius:4px;padding:12px 14px;
  font-family:'Roboto Flex',sans-serif;font-size:14px;color:var(--lx-text);
  box-sizing:border-box
}
.lx-contacto-form textarea{resize:vertical}
.lx-contacto-terms{
  display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--lx-text)
}
.lx-contacto-terms input[type="checkbox"]{margin-top:3px;flex:0 0 auto}
.lx-contacto-terms a{color:var(--lx-green-dark)}
.lx-contacto-submit{
  align-self:flex-start;background:var(--lx-green-dark);color:#fff;border:none;
  border-radius:4px;padding:12px 28px;font-family:'Exo',sans-serif;font-weight:600;
  font-size:15px;cursor:pointer;transition:background .15s
}
.lx-contacto-submit:hover{background:var(--lx-dark)}
@media(max-width:780px){
  .lx-training-banner,.lx-contacto-banner{padding:0 20px 28px;min-height:240px}
  .lx-contacto-grid{grid-template-columns:1fr}
  .lx-contacto-form-row{grid-template-columns:1fr}
  .lx-contacto-odoo-embed iframe{height:1650px}
}

/* ---- embed del formulario de Odoo (v3-contacto-odoo) ---- */
/* La página que sirve Odoo tiene su propio layout de dos columnas. Metida en
   la columna de 556px de .lx-contacto-grid colapsa a una sola columna y apila
   su encabezado y su bloque de contacto antes del formulario, que queda fuera
   del área visible. Cuando el embed está presente, la grilla pasa a una sola
   columna para darle el ancho completo: ahí Odoo rinde sus dos columnas y el
   formulario se ve sin scroll interno. */
.lx-contacto-grid:has(.lx-contacto-odoo-embed){grid-template-columns:1fr}
/* La página de Odoo ya trae su propio bloque de datos de contacto y su propio
   mapa, y al estar en un iframe de otro dominio no se pueden ocultar desde
   acá. Para no mostrar la dirección, el correo, el teléfono y el mapa dos
   veces, se ocultan los nuestros mientras el embed esté activo. Siguen en el
   DOM: si la constante vuelve al fallback, reaparecen solos junto al
   formulario de Fluent Forms. */
.lx-contacto-grid:has(.lx-contacto-odoo-embed) .lx-contacto-info,
.lx-contacto-grid:has(.lx-contacto-odoo-embed) .lx-contacto-map-embed{display:none}
.lx-contacto-odoo-embed{line-height:0}
/* Alturas medidas contra la página real de Odoo (navegando directo a
   /contactus, fuera del iframe, 2026-08-04): scrollHeight 1196px a 1160 de
   ancho, 1599px a 780, 1632px a 375. Se les da margen para que el contenido
   entre completo y no haya scroll anidado. Si Odoo cambia esa página, hay que
   volver a medir. */
.lx-contacto-odoo-embed iframe{
  display:block;width:1px;min-width:100%;height:1220px;border:0;box-sizing:border-box
}
.lx-contacto-odoo-fallback{
  font-family:'Roboto Flex',sans-serif;font-size:13.5px;line-height:1.5;color:#575757;margin:10px 0 0
}
.lx-contacto-odoo-fallback a{color:var(--lx-green-dark)}
@media(max-width:600px){
  .lx-contacto-odoo-embed iframe{height:1700px}
}

/* v3-responsive F3: acotar el logo en el header mobile de Astra (<=921px).
   Lista los contextos por-página para empatar especificidad (0,3,2) de las
   reglas base y neutraliza los márgenes negativos del solape desktop. */
@media(max-width:921px){
  body.home .custom-logo-link img.custom-logo,
  body.home .site-logo-img .custom-logo,
  body.page-id-405 .custom-logo-link img.custom-logo,
  body.page-id-405 .site-logo-img .custom-logo,
  body.page-id-406 .custom-logo-link img.custom-logo,
  body.page-id-406 .site-logo-img .custom-logo,
  body.page-id-408 .custom-logo-link img.custom-logo,
  body.page-id-408 .site-logo-img .custom-logo,
  body.page-id-318 .custom-logo-link img.custom-logo,
  body.page-id-318 .site-logo-img .custom-logo,
  body.tax-product_cat .custom-logo-link img.custom-logo,
  body.tax-product_cat .site-logo-img .custom-logo,
  .custom-logo-link img.custom-logo,
  .site-logo-img .custom-logo{
    height:60px!important;max-height:60px!important;
    margin-top:0!important;margin-bottom:0!important
  }
}
