/* ============================================================
   Kowenmaq - diseno personalizado (child theme)
   Paleta: brand #006799 | oscuro #101821 | claro #f0f5fa
   Regla de contraste: fondo oscuro -> texto claro; fondo claro -> texto oscuro.
   ============================================================ */
:root{
	--kw-brand:#006799;
	--kw-brand-dark:#004a70;
	--kw-brand-light:#7fc4ff;
	--kw-ink:#1a2330;
	--kw-ink-soft:#334155;
	--kw-ink-muted:#4a5568;
	--kw-paper:#ffffff;
	--kw-bg:#f0f5fa;
	--kw-dark:#101821;
	--kw-dark-2:#1a2330;
	--kw-text-on-dark:#e9eff6;
	--kw-radius:10px;
	--kw-shadow:0 4px 16px rgba(16,24,33,.10);
	--kw-shadow-hover:0 14px 34px rgba(0,103,153,.18);
}
html{scroll-behavior:smooth}
img{height:auto}
::selection{background:var(--kw-brand);color:#fff}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--kw-brand-light);outline-offset:2px}

/* ---------- Anchors: que el header sticky no tape los titulos ---------- */
#contacto,#marcas,#dis{scroll-margin-top:90px}

/* ============ HEADER ============ */
.ast-primary-header-bar{background:var(--kw-paper);box-shadow:0 2px 12px rgba(16,24,33,.07)}
/* Header pegajoso (el modulo sticky es de Astra Pro; esto cubre el caso gratis) */
.ast-primary-header-bar{position:sticky;top:0;z-index:99}
.admin-bar .ast-primary-header-bar{top:32px}
@media(max-width:782px){.admin-bar .ast-primary-header-bar{top:46px}}
.site-header .custom-logo-link img{max-height:56px;width:auto}
/* Menu: subrayado animado */
.main-header-menu .menu-link{position:relative}
.main-header-menu .menu-item > .menu-link::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;background:var(--kw-brand);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.main-header-menu .menu-item:hover > .menu-link::after,
.main-header-menu .menu-item.current-menu-item > .menu-link::after,
.main-header-menu .menu-item.current-menu-ancestor > .menu-link::after{transform:scaleX(1)}
.main-header-menu .menu-item:hover > .menu-link,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-ancestor > .menu-link{color:var(--kw-brand)}
/* Submenu: fondo claro, texto oscuro */
.main-header-menu .sub-menu{background:var(--kw-paper);border:1px solid #e6ecf1;border-radius:8px;box-shadow:var(--kw-shadow);padding:8px 0}
.main-header-menu .sub-menu .menu-link{color:var(--kw-ink)}
.main-header-menu .sub-menu .menu-item:hover > .menu-link{color:var(--kw-brand);background:var(--kw-bg)}

/* ============ HERO ============ */
.hero-kowen{position:relative;overflow:hidden}
.hero-kowen .wp-block-cover__background{background:linear-gradient(115deg,rgba(8,24,42,.88) 0%,rgba(0,60,95,.68) 55%,rgba(0,103,153,.45) 100%)!important}
.hero-kowen .wp-block-cover__image-background{animation:kwZoom 20s ease-in-out infinite alternate}
@keyframes kwZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
.hero-kowen,.hero-kowen h1,.hero-kowen h2,.hero-kowen h3,.hero-kowen p,.hero-kowen span{color:#fff}
.hero-titulo{font-size:clamp(1.7rem,4.6vw,3rem)!important;font-weight:800!important;letter-spacing:1px;line-height:1.12;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.hero-sub{font-size:clamp(.95rem,1.7vw,1.18rem)!important;color:#e6eef5!important;text-shadow:0 1px 10px rgba(0,0,0,.4)}
.hero-kowen .wp-block-button__link{border-radius:50px;padding:14px 34px;font-weight:600;letter-spacing:.4px}
.hero-kowen .is-style-outline .wp-block-button__link{border:2px solid #fff;color:#fff!important;background:transparent}
.hero-kowen .is-style-outline .wp-block-button__link:hover{background:#fff;color:var(--kw-brand)!important}

/* ============ TITULOS DE SECCION ============ */
.titulo-seccion{position:relative;padding-bottom:16px;margin-bottom:1.8rem;font-weight:800;letter-spacing:.5px;color:var(--kw-ink)}
.titulo-seccion::after{content:"";display:block;width:70px;height:4px;background:linear-gradient(90deg,var(--kw-brand),#2ea3f2);margin:14px auto 0;border-radius:2px}
.titulo-claro{color:#fff!important}

/* ============ TARJETAS DE EQUIPOS ============ */
.seccion-equipos{gap:1.6rem}
.equipo-card{background:var(--kw-paper);border:1px solid #e6ecf1;border-radius:14px;padding:0 0 26px;overflow:hidden;box-shadow:0 2px 10px rgba(16,24,33,.06);transition:transform .3s ease,box-shadow .3s ease}
.equipo-card:hover{transform:translateY(-6px);box-shadow:var(--kw-shadow-hover)}
.equipo-card .equipo-img{margin:0 0 4px}
.equipo-card .equipo-img img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.equipo-card h3{color:var(--kw-brand);letter-spacing:.6px;font-size:1.2rem;margin:18px 18px 8px}
.equipo-card p{margin:0 18px;color:var(--kw-ink-muted);font-size:.95rem}
.equipo-card .wp-block-buttons{margin-top:16px}
.equipo-card .wp-block-button__link{border-radius:50px;padding:9px 22px;font-size:.9rem}

/* ============ MARCAS ============ */
.seccion-marcas .wp-block-columns{align-items:center}
.marca-col{display:flex;align-items:center;justify-content:center}
.marca-col figure{margin:0}
.marca-col img{transition:transform .25s ease,filter .25s ease;filter:grayscale(45%) opacity(.85)}
.marca-col img:hover{transform:scale(1.07);filter:none}

/* ============ DISTRIBUIDORES (fondo claro) ============ */
.seccion-distribuidores,.seccion-distribuidores h2,.seccion-distribuidores h3,.seccion-distribuidores p{color:var(--kw-ink)}
.seccion-distribuidores .wp-block-columns{gap:1.4rem}
.dist-zone{color:var(--kw-brand);margin:0 0 10px;font-size:1.05rem;letter-spacing:.5px}
details.dist{background:var(--kw-paper);border:1px solid #dde3ea;border-radius:8px;margin-bottom:8px;overflow:hidden;transition:box-shadow .2s ease,border-color .2s ease}
details.dist summary{cursor:pointer;list-style:none;padding:10px 40px 10px 14px;font-weight:600;color:var(--kw-ink);position:relative}
details.dist summary::-webkit-details-marker{display:none}
details.dist summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--kw-brand);font-weight:700;font-size:1.15rem;transition:transform .2s ease}
details.dist[open] summary::after{transform:translateY(-50%) rotate(45deg)}
details.dist summary:hover{background:#f7fafc;color:var(--kw-brand)}
details.dist[open]{box-shadow:0 5px 16px rgba(0,103,153,.12);border-color:#bcd9ea}
.dist-body{padding:4px 14px 12px;font-size:.92rem;color:#444;border-top:1px solid #eef2f5}
.dist-body p{margin:4px 0;color:#444}

/* ============ SERVICIO TECNICO ============ */
.seccion-servicio iframe{border-radius:var(--kw-radius);box-shadow:var(--kw-shadow)}
.seccion-servicio img{border-radius:var(--kw-radius);box-shadow:var(--kw-shadow)}

/* ============ CONTACTO (fondo oscuro: TODO texto claro) ============ */
.seccion-contacto,.seccion-contacto p,.seccion-contacto label,.seccion-contacto span,
.seccion-contacto div,.seccion-contacto legend,.seccion-contacto h2,.seccion-contacto h3,
.seccion-contacto .ff-el-input--label label{color:var(--kw-text-on-dark)}
/* Excepciones: controles sobre fondo claro -> texto oscuro */
.seccion-contacto input,.seccion-contacto textarea,.seccion-contacto select,
.seccion-contacto .ff-el-form-control{background:var(--kw-paper)!important;color:var(--kw-ink)!important;border-radius:6px;border:1px solid #cfd8e0;padding:10px 12px}
.seccion-contacto input::placeholder,.seccion-contacto textarea::placeholder{color:#7a8794;opacity:1}
.seccion-contacto .contacto-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:28px;backdrop-filter:blur(6px)}
.seccion-contacto .contacto-item{margin:0 0 18px;font-size:1.06rem}
.seccion-contacto .contacto-item strong{color:var(--kw-brand-light);letter-spacing:.6px;text-transform:uppercase;font-size:.8rem}
.seccion-contacto a{color:#fff;text-decoration:none;border-bottom:1px dotted var(--kw-brand-light)}
.seccion-contacto a:hover{color:var(--kw-brand-light)}
.seccion-contacto .ff-btn-submit,.seccion-contacto .fluentform button[type=submit],
.seccion-contacto .fluentform input[type=submit]{background:var(--kw-brand)!important;color:#fff!important;border-radius:50px!important;padding:12px 30px!important;font-weight:600!important;border:none!important;transition:background .2s ease,transform .2s ease}
.seccion-contacto .ff-btn-submit:hover{background:#0086c4!important;transform:translateY(-2px)}
/* mensajes de fluentform con fondo propio mantienen contraste */
.seccion-contacto .ff-message-success,.seccion-contacto .ff-errors-in-stack{color:#dff5e3}

/* ============ BANNER EXPERIENCIA ============ */
.banner-experiencia img{width:100%;height:auto;display:block}

/* ============ BOTONES ============ */
.wp-block-button__link{border-radius:6px;transition:transform .2s ease,box-shadow .2s ease}
.wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,103,153,.3)}

/* ============ PAGINAS DE INDUSTRIA ============ */
.pagina-industria .ind-img img{border-radius:8px;box-shadow:0 3px 12px rgba(0,0,0,.12);margin-bottom:6px}
.pagina-industria h3,.pagina-industria h4{color:var(--kw-ink);margin-top:0}
.pagina-industria ul{margin-left:1.2em}
.ast-page-builder-template .entry-title{color:var(--kw-ink)}

/* ============ WOOCOMMERCE ============ */
.woocommerce ul.products li.product{background:var(--kw-paper);border:1px solid #e6ecf1;border-radius:12px;padding:12px;transition:transform .25s ease,box-shadow .25s ease;overflow:hidden}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--kw-shadow-hover)}
.woocommerce ul.products li.product img{border-radius:8px}
.woocommerce ul.products li.product .price,.woocommerce .price{color:var(--kw-brand);font-weight:700}
.woocommerce .woocommerce-result-count{color:var(--kw-ink-muted)}
.woocommerce-breadcrumb{color:var(--kw-ink-muted)}
.woocommerce-breadcrumb a{color:var(--kw-brand)}
.woocommerce .onsale{background:var(--kw-brand);color:#fff}
.woocommerce .woocommerce-tabs .panel,.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--kw-ink-soft)}
.woocommerce table.shop_table,.woocommerce .cart-collaterals .cart_totals table{color:var(--kw-ink)}
/* Formularios WC: texto oscuro sobre inputs claros */
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select{background:var(--kw-paper);color:var(--kw-ink);border:1px solid #cfd8e0;border-radius:6px;padding:10px 12px}
.woocommerce form .form-row label,.woocommerce-checkout label{color:var(--kw-ink-soft)}
/* Mini cart / drawer: fondo claro texto oscuro */
.woocommerce .widget_shopping_cart,.astra-cart-drawer,.astra-cart-drawer *{color:var(--kw-ink)}
.woocommerce .wc-block-mini-cart__drawer,.woocommerce-mini-cart{color:var(--kw-ink)}

/* ============ FOOTER (fondo oscuro: texto claro) ============ */
.site-footer{background:var(--kw-dark);color:#9fb3c8}
.kw-footer-top{padding:3rem 0 2rem;border-bottom:1px solid rgba(255,255,255,.08)}
.kw-footer-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
.kw-footer-logo{max-width:190px;filter:brightness(0) invert(1);opacity:.92;margin-bottom:14px}
.kw-footer-col p{color:#9fb3c8;font-size:.95rem;line-height:1.6;margin:0 0 8px}
.kw-footer-col h4{color:#fff;font-size:1rem;letter-spacing:.6px;text-transform:uppercase;margin:0 0 14px}
.kw-footer-links ul{list-style:none;margin:0;padding:0}
.kw-footer-links li{margin:0 0 8px}
.kw-footer-links a{color:#9fb3c8;text-decoration:none;transition:color .2s ease}
.kw-footer-links a:hover{color:var(--kw-brand-light)}
.kw-footer-contact a{color:#fff;text-decoration:none}
.kw-footer-contact a:hover{color:var(--kw-brand-light)}
.ast-footer-copyright{color:#9fb3c8}

/* ============ SCROLL TOP ============ */
#ast-scroll-top{border-radius:50px}

/* ============ ANIMACIONES ============ */
@media (prefers-reduced-motion:no-preference){
	.seccion-equipos,.seccion-marcas,.seccion-distribuidores,.seccion-servicio,.seccion-contacto,.banner-experiencia,.pagina-industria{animation:kwFadeUp .7s ease both;animation-timeline:view();animation-range:entry 0% entry 55%}
}
@keyframes kwFadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

/* ============ RESPONSIVE ============ */
@media(max-width:921px){
	.seccion-equipos .wp-block-column{margin-bottom:1.6rem}
	.equipo-card .equipo-img img{aspect-ratio:16/9}
	.wp-block-cover.hero-kowen{min-height:420px}
	.marca-col img{max-width:170px}
	.kw-footer-inner{grid-template-columns:1fr;gap:1.8rem;text-align:center}
	.kw-footer-logo{margin:0 auto 14px}
}
@media(max-width:544px){
	.hero-kowen .wp-block-buttons{display:flex;flex-direction:column;gap:10px;width:100%}
	.hero-kowen .wp-block-button{width:100%}
	.hero-kowen .wp-block-button__link{display:block;text-align:center}
	.marca-col img{max-width:150px}
	details.dist summary{padding:9px 36px 9px 12px;font-size:.95rem}
	.wp-block-columns .wp-block-column{flex-basis:100%!important}
}

/* ============ CATALOGO (modo informativo, sin compra) ============ */
/* Span de precio vacio: ni espacio ni borde (productos sin precio) */
.woocommerce .price:empty,.woocommerce .price:not(:has(*)){display:none!important}
/* Grid de fichas: cards consistentes, imagen ratio fijo */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.4rem}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{float:none;width:auto;margin:0;padding:0 0 14px;display:flex;flex-direction:column}
.woocommerce ul.products li.product>a{display:flex;flex-direction:column;height:100%;text-decoration:none}
.woocommerce ul.products li.product img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;padding:10px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:12px 16px 4px;font-size:1.02rem;color:var(--kw-ink);font-weight:600}
.woocommerce ul.products li.product .button{margin:auto 14px 4px;align-self:flex-start;background:var(--kw-bg);color:var(--kw-brand);border:1px solid #d7e3ee;border-radius:50px;padding:8px 20px;font-weight:600}
.woocommerce ul.products li.product .button:hover{background:var(--kw-brand);color:#fff;border-color:var(--kw-brand)}
/* Ficha individual */
.woocommerce div.product .summary .product_title{color:var(--kw-ink);letter-spacing:.3px}
.woocommerce table.shop_attributes{border-collapse:separate;border-spacing:0;width:100%;border:1px solid #e6ecf1;border-radius:10px;overflow:hidden}
.woocommerce table.shop_attributes th{background:var(--kw-bg);color:var(--kw-ink-soft);font-weight:600;text-align:left;padding:10px 14px;border-bottom:1px solid #e6ecf1;width:38%}
.woocommerce table.shop_attributes td{padding:10px 14px;border-bottom:1px solid #eef2f5;color:var(--kw-ink)}
.woocommerce table.shop_attributes tr:nth-child(even) td{background:#fafcfe}
.woocommerce div.product .woocommerce-product-gallery img{border-radius:var(--kw-radius);box-shadow:var(--kw-shadow)}
.woocommerce .product_meta{color:var(--kw-ink-muted);font-size:.9rem}
/* Paginacion del catalogo */
.woocommerce nav.woocommerce-pagination ul{border:none}
.woocommerce nav.woocommerce-pagination ul li{border:none}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{background:var(--kw-paper);border:1px solid #e6ecf1;border-radius:8px;margin:0 3px;color:var(--kw-ink-soft);padding:8px 14px}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--kw-brand);color:#fff;border-color:var(--kw-brand)}
.woocommerce .woocommerce-message{display:none}
/* Relacionadas: mismo card */
.woocommerce .related.products ul.products li.product{margin-bottom:0}
@media(max-width:544px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:.8rem}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.85rem}}
