/*
Theme Name: UNIQO Astra Child
Theme URI: https://uniqo.cl
Description: Tema hijo de Astra para UNIQO Óptica Familiar
Author: Agencia Creativa
Template: astra
Version: 1.0.0
Text Domain: uniqo-astra-child
*/

/* ══════════════════════════════════════════════════
   VARIABLES GLOBALES UNIQO
══════════════════════════════════════════════════ */
:root {
    --uniqo-black:     #1C1C1C;
    --uniqo-gray:      #9B9B9B;
    --uniqo-light:     #F7F7F7;
    --uniqo-white:     #FFFFFF;
    --uniqo-teal:      #4ECDC4;
    --uniqo-teal-dark: #3ABFB7;
    --uniqo-border:    #E8E8E8;
    --uniqo-text:      #333333;
    --font-main:       'Montserrat', sans-serif;
    --font-body:       'Lato', sans-serif;
}

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Lato:wght@300;400;700&display=swap');

/* ══════════════════════════════════════════════════
   BASE
══════════════════════════════════════════════════ */
* { box-sizing: border-box; }
body { font-family: var(--font-body); color: var(--uniqo-text); background: var(--uniqo-white); margin: 0; padding: 0; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-main); font-weight: 700; color: var(--uniqo-black); }
a { color: var(--uniqo-black); text-decoration: none; transition: color 0.2s ease; }
a:hover { color: var(--uniqo-teal); }

/* ══════════════════════════════════════════════════
   TOPBAR
══════════════════════════════════════════════════ */
.uniqo-topbar {
    background: var(--uniqo-black);
    color: rgba(255,255,255,0.85);
    text-align: center;
    padding: 9px 20px;
    font-size: 12.5px;
    font-family: var(--font-body);
    letter-spacing: 0.3px;
    position: sticky;
    top: 0;
    z-index: 10001;
}
.uniqo-topbar a { color: var(--uniqo-teal); font-weight: 700; }

/* ══════════════════════════════════════════════════
   HEADER ASTRA — UNA SOLA LÍNEA
══════════════════════════════════════════════════ */
#masthead,
.site-header {
    background: var(--uniqo-black) !important;
    border-bottom: 3px solid var(--uniqo-teal) !important;
    position: sticky !important;
    top: 36px !important;
    z-index: 9999 !important;
    box-shadow: 0 2px 20px rgba(0,0,0,0.35) !important;
    padding: 0 !important;
}

/* Contenedor principal del header */
.main-header-bar {
    background: var(--uniqo-black) !important;
    padding: 0 !important;
    border: none !important;
}
.main-header-bar .ast-container {
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 70px !important;
    gap: 20px !important;
}

/* Logo */
.site-branding,
.ast-site-identity {
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.custom-logo { height: 50px !important; width: auto !important; }
.site-title {
    font-family: var(--font-main) !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: 3px !important;
    margin: 0 !important;
    line-height: 1 !important;
}
.site-title a,
.ast-site-name { color: var(--uniqo-white) !important; }
.site-description,
.ast-site-description { display: none !important; }

/* ══════════════════════════════════════════════════
   NAVEGACIÓN ASTRA — HORIZONTAL
══════════════════════════════════════════════════ */
#ast-desktop-nav,
.main-header-bar-navigation,
.ast-main-header-wrap .main-header-bar-navigation {
    flex: 1 !important;
    display: flex !important;
    justify-content: center !important;
}

.main-navigation,
.ast-nav-menu {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 70px !important;
}

/* Items principales */
.main-navigation > ul > li,
.ast-nav-menu > li {
    position: relative !important;
    height: 70px !important;
    display: flex !important;
    align-items: center !important;
}
.main-navigation > ul > li > a,
.ast-nav-menu > li > a {
    color: rgba(255,255,255,0.85) !important;
    font-family: var(--font-main) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    padding: 0 16px !important;
    height: 70px !important;
    display: flex !important;
    align-items: center !important;
    border-bottom: 3px solid transparent !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
}
.main-navigation > ul > li > a:hover,
.ast-nav-menu > li > a:hover,
.main-navigation > ul > li.current-menu-item > a,
.ast-nav-menu > li.current-menu-item > a,
.ast-nav-menu > li.current-menu-parent > a {
    color: var(--uniqo-teal) !important;
    border-bottom-color: var(--uniqo-teal) !important;
}

/* Flecha submenú */
.main-navigation > ul > li.menu-item-has-children > a .sub-arrow,
.ast-nav-menu > li.menu-item-has-children > a .sub-arrow,
.ast-menu-toggle { display: none !important; }

.main-navigation > ul > li.menu-item-has-children > a::after,
.ast-nav-menu > li.menu-item-has-children > a::after {
    content: ' ▾' !important;
    font-size: 10px !important;
    opacity: 0.6 !important;
    margin-left: 3px !important;
    transition: transform 0.2s ease !important;
    display: inline-block !important;
}
.main-navigation > ul > li.menu-item-has-children:hover > a::after,
.ast-nav-menu > li.menu-item-has-children:hover > a::after {
    transform: rotate(180deg) !important;
    opacity: 1 !important;
}

/* ══════════════════════════════════════════════════
   SUBMENÚ DESPLEGABLE ANIMADO
══════════════════════════════════════════════════ */
.main-navigation ul ul,
.ast-nav-menu .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background: var(--uniqo-white) !important;
    min-width: 210px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    border-top: 3px solid var(--uniqo-teal) !important;
    border-radius: 0 0 8px 8px !important;
    padding: 6px 0 !important;
    list-style: none !important;
    margin: 0 !important;
    z-index: 9999 !important;
    /* Animación */
    opacity: 0 !important;
    transform: translateY(-8px) !important;
    pointer-events: none !important;
    transition: opacity 0.2s ease, transform 0.2s ease !important;
    display: block !important;
}
.main-navigation ul li:hover > ul,
.ast-nav-menu > li:hover > .sub-menu {
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: all !important;
}
.main-navigation ul ul li,
.ast-nav-menu .sub-menu li {
    display: block !important;
    height: auto !important;
}
.main-navigation ul ul li a,
.ast-nav-menu .sub-menu li a {
    color: var(--uniqo-black) !important;
    font-family: var(--font-main) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.3px !important;
    padding: 11px 20px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    text-transform: none !important;
    border-bottom: 1px solid #f0f0f0 !important;
    border-left: 3px solid transparent !important;
    border-top: none !important;
    transition: all 0.15s ease !important;
    white-space: nowrap !important;
}
.main-navigation ul ul li:last-child a,
.ast-nav-menu .sub-menu li:last-child a {
    border-bottom: none !important;
}
.main-navigation ul ul li a:hover,
.ast-nav-menu .sub-menu li a:hover {
    color: var(--uniqo-teal) !important;
    border-left-color: var(--uniqo-teal) !important;
    background: #f9fdfd !important;
    padding-left: 26px !important;
}

/* ══════════════════════════════════════════════════
   CARRITO EN HEADER
══════════════════════════════════════════════════ */
.ast-header-woo-cart,
.ast-site-header-cart,
.site-header-cart {
    flex-shrink: 0 !important;
}
.ast-cart-menu-wrap .count,
.site-header-cart .cart-contents,
.ast-header-woo-cart a {
    background: var(--uniqo-teal) !important;
    color: var(--uniqo-white) !important;
    font-family: var(--font-main) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    padding: 9px 18px !important;
    border-radius: 25px !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    border: none !important;
}
.ast-cart-menu-wrap .count:hover,
.site-header-cart .cart-contents:hover {
    background: var(--uniqo-teal-dark) !important;
    transform: translateY(-1px) !important;
}
.site-header-cart .amount { color: var(--uniqo-white) !important; }

/* ══════════════════════════════════════════════════
   LIMPIAR HOME
══════════════════════════════════════════════════ */
.page-template-page-home .entry-header,
.page-template-page-home .entry-title,
.page-template-page-home .ast-breadcrumbs-wrapper,
.page-template-page-home .woocommerce-breadcrumb { display: none !important; }
.page-template-page-home .entry-content,
.page-template-page-home #primary,
.page-template-page-home .ast-article-post { padding: 0 !important; margin: 0 !important; }
.page-template-page-home .site-content { padding-top: 0 !important; }
.page-template-page-home .ast-container { max-width: 100% !important; padding: 0 !important; }

/* ══════════════════════════════════════════════════
   WOOCOMMERCE — PRODUCTOS
══════════════════════════════════════════════════ */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 22px !important;
    margin: 0 !important;
}
.woocommerce ul.products li.product {
    border-radius: 10px !important;
    overflow: hidden !important;
    background: var(--uniqo-white) !important;
    border: 1px solid var(--uniqo-border) !important;
    transition: all 0.3s ease !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
}
.woocommerce ul.products li.product:hover {
    box-shadow: 0 10px 35px rgba(0,0,0,0.1) !important;
    transform: translateY(-3px) !important;
    border-color: var(--uniqo-teal) !important;
}
.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-main) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 14px 14px 4px !important;
}
.woocommerce ul.products li.product .price {
    color: var(--uniqo-teal) !important;
    font-family: var(--font-main) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 0 14px 10px !important;
    display: block !important;
}
.woocommerce ul.products li.product .button {
    background: var(--uniqo-black) !important;
    color: var(--uniqo-white) !important;
    font-family: var(--font-main) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 12px !important;
    width: 100% !important;
    transition: background 0.2s ease !important;
    border: none !important;
}
.woocommerce ul.products li.product .button:hover {
    background: var(--uniqo-teal) !important;
    color: var(--uniqo-white) !important;
}

/* Producto individual */
.woocommerce div.product .product_title {
    font-family: var(--font-main) !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: var(--uniqo-black) !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--uniqo-teal) !important;
    font-family: var(--font-main) !important;
    font-size: 26px !important;
    font-weight: 700 !important;
}
.woocommerce div.product .single_add_to_cart_button {
    background: var(--uniqo-teal) !important;
    color: var(--uniqo-white) !important;
    font-family: var(--font-main) !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border-radius: 30px !important;
    padding: 15px 40px !important;
    font-size: 14px !important;
    border: none !important;
    transition: all 0.2s ease !important;
}
.woocommerce div.product .single_add_to_cart_button:hover {
    background: var(--uniqo-teal-dark) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(78,205,196,0.4) !important;
}

/* Botones generales WooCommerce */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: var(--uniqo-black) !important;
    color: var(--uniqo-white) !important;
    font-family: var(--font-main) !important;
    font-weight: 700 !important;
    border-radius: 30px !important;
    transition: all 0.2s ease !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover { background: var(--uniqo-teal) !important; color: var(--uniqo-white) !important; }
.woocommerce a.button.alt,
.woocommerce button.button.alt { background: var(--uniqo-teal) !important; }
.woocommerce a.button.alt:hover { background: var(--uniqo-teal-dark) !important; }

/* ══════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════ */
.site-footer,
#colophon {
    background: var(--uniqo-black) !important;
    color: rgba(255,255,255,0.7) !important;
    padding: 60px 40px 30px !important;
}
.site-footer .ast-footer-widget-area,
.site-footer .widget-title,
.site-footer h2, .site-footer h3 {
    color: var(--uniqo-white) !important;
    font-family: var(--font-main) !important;
}
.site-footer a { color: rgba(255,255,255,0.6) !important; transition: color 0.2s ease; }
.site-footer a:hover { color: var(--uniqo-teal) !important; }
.site-footer p { color: rgba(255,255,255,0.6); font-size: 14px; }
.ast-small-footer { background: rgba(0,0,0,0.3) !important; color: rgba(255,255,255,0.4) !important; border-top: 1px solid rgba(255,255,255,0.1) !important; }
.ast-small-footer a { color: var(--uniqo-teal) !important; }

/* ══════════════════════════════════════════════════
   WHATSAPP FLOTANTE
══════════════════════════════════════════════════ */
.uniqo-whatsapp {
    position: fixed;
    bottom: 28px;
    right: 28px;
    width: 56px;
    height: 56px;
    background: #25D366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    box-shadow: 0 4px 20px rgba(37,211,102,0.5);
    transition: all 0.3s ease;
    text-decoration: none;
}
.uniqo-whatsapp:hover { transform: scale(1.1); box-shadow: 0 6px 30px rgba(37,211,102,0.6); }
.uniqo-whatsapp svg { width: 28px; height: 28px; fill: white; }
.uniqo-whatsapp-tooltip {
    position: absolute;
    right: 68px;
    background: var(--uniqo-black);
    color: white;
    font-family: var(--font-main);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    padding: 7px 13px;
    border-radius: 20px;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}
.uniqo-whatsapp:hover .uniqo-whatsapp-tooltip { opacity: 1; }

/* ══════════════════════════════════════════════════
   HOME — SECCIONES (igual que v3)
══════════════════════════════════════════════════ */
:root {
    --uh-black:     #1C1C1C;
    --uh-gray:      #9B9B9B;
    --uh-light:     #F7F7F7;
    --uh-white:     #FFFFFF;
    --uh-teal:      #4ECDC4;
    --uh-teal-dark: #3ABFB7;
    --uh-border:    #E8E8E8;
    --uh-text:      #333333;
    --uh-font:      'Montserrat', sans-serif;
    --uh-body:      'Lato', sans-serif;
    --uh-radius:    10px;
    --uh-transition:0.3s ease;
    --uh-max:       1400px;
    --uh-pad:       clamp(20px, 5vw, 60px);
}
.uniqo-home { overflow-x: hidden; }
.uh-section-header { text-align: center; margin-bottom: clamp(30px, 4vw, 50px); }
.uh-section-header h2 { font-family: var(--uh-font); font-size: clamp(22px, 3vw, 32px); font-weight: 800; color: var(--uh-black); margin: 0 0 10px; letter-spacing: -0.5px; }
.uh-section-header p { color: var(--uh-gray); font-size: clamp(14px, 1.5vw, 16px); font-family: var(--uh-body); margin: 0; }
.uh-tag { display: inline-block; background: var(--uh-teal); color: var(--uh-white); font-family: var(--uh-font); font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; padding: 6px 16px; border-radius: 20px; margin-bottom: 16px; }
.uh-tag-light { background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.4); }
.uh-btn-main { display: inline-block; background: var(--uh-teal); color: var(--uh-white) !important; font-family: var(--uh-font); font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 14px 32px; border-radius: 30px; transition: all var(--uh-transition); text-decoration: none; border: 2px solid var(--uh-teal); }
.uh-btn-main:hover { background: var(--uh-teal-dark); border-color: var(--uh-teal-dark); transform: translateY(-2px); box-shadow: 0 8px 25px rgba(78,205,196,0.4); color: var(--uh-white) !important; }
.uh-btn-ghost { display: inline-block; background: transparent; color: var(--uh-white) !important; font-family: var(--uh-font); font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 14px 32px; border-radius: 30px; border: 2px solid rgba(255,255,255,0.5); transition: all var(--uh-transition); text-decoration: none; }
.uh-btn-ghost:hover { background: rgba(255,255,255,0.1); border-color: var(--uh-white); color: var(--uh-white) !important; }

/* HERO */
.uh-hero { position: relative; width: 100%; height: clamp(420px, 60vh, 620px); overflow: hidden; background: var(--uh-black); }
.uh-hero-track { display: flex; width: 300%; height: 100%; transition: transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94); }
.uh-slide { width: calc(100% / 3); height: 100%; position: relative; flex-shrink: 0; }
.uh-slide-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.05); transition: transform 8s ease; }
.uh-slide.uh-active .uh-slide-bg { transform: scale(1); }
.uh-slide-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.1) 100%); }
.uh-hero-inner { position: relative; z-index: 2; max-width: var(--uh-max); margin: 0 auto; padding: 0 var(--uh-pad); height: 100%; display: flex; flex-direction: column; justify-content: center; }
.uh-hero-title { font-family: var(--uh-font); font-size: clamp(32px,5vw,58px); font-weight: 800; color: var(--uh-white); line-height: 1.1; margin: 0 0 16px; letter-spacing: -1px; }
.uh-hero-desc { font-family: var(--uh-body); font-size: clamp(14px,1.8vw,18px); color: rgba(255,255,255,0.85); margin: 0 0 30px; font-weight: 300; }
.uh-hero-actions { display: flex; gap: 15px; flex-wrap: wrap; }
.uh-hero-prev, .uh-hero-next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.15); border: 1px solid rgba(255,255,255,0.3); color: white; width: 46px; height: 46px; border-radius: 50%; font-size: 18px; cursor: pointer; z-index: 10; transition: all var(--uh-transition); display: flex; align-items: center; justify-content: center; backdrop-filter: blur(4px); }
.uh-hero-prev { left: 20px; }
.uh-hero-next { right: 20px; }
.uh-hero-prev:hover, .uh-hero-next:hover { background: var(--uh-teal); border-color: var(--uh-teal); }
.uh-hero-dots { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 10; }
.uh-dot { width: 8px; height: 8px; border-radius: 4px; background: rgba(255,255,255,0.4); border: none; cursor: pointer; transition: all var(--uh-transition); padding: 0; }
.uh-dot.active { width: 28px; background: var(--uh-teal); }

/* TRUST BAR */
.uh-trust { background: var(--uh-white); border-bottom: 1px solid var(--uh-border); border-top: 1px solid var(--uh-border); padding: 20px var(--uh-pad); }
.uh-trust-inner { max-width: var(--uh-max); margin: 0 auto; display: flex; justify-content: center; gap: clamp(20px,5vw,60px); flex-wrap: wrap; }
.uh-trust-item { display: flex; align-items: center; gap: 12px; }
.uh-trust-icon { font-size: 22px; }
.uh-trust-item strong { display: block; font-family: var(--uh-font); font-size: 13px; font-weight: 700; color: var(--uh-black); }
.uh-trust-item span { display: block; font-size: 12px; color: var(--uh-gray); font-family: var(--uh-body); }

/* CATEGORÍAS */
.uh-cats { padding: clamp(40px,6vw,70px) var(--uh-pad); max-width: var(--uh-max); margin: 0 auto; }
.uh-cats-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; height: clamp(400px,55vw,600px); }
.uh-cat-col { display: flex; flex-direction: column; gap: 16px; }
.uh-cat-card { position: relative; border-radius: var(--uh-radius); overflow: hidden; display: block; text-decoration: none; flex: 1; }
.uh-cat-tall { height: 100%; }
.uh-cat-short { flex: 1; }
.uh-cat-bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.5s ease; }
.uh-cat-card:hover .uh-cat-bg { transform: scale(1.06); }
.uh-cat-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.1) 50%, transparent 100%); transition: opacity var(--uh-transition); }
.uh-cat-card:hover::after { background: linear-gradient(to top, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.2) 60%, transparent 100%); }
.uh-cat-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 20px 22px; z-index: 2; }
.uh-cat-body h3 { font-family: var(--uh-font); font-size: clamp(16px,2vw,22px); font-weight: 700; color: var(--uh-white); margin: 0 0 6px; }
.uh-cat-body span { font-family: var(--uh-font); font-size: 12px; font-weight: 600; color: var(--uh-teal); letter-spacing: 0.5px; display: flex; align-items: center; gap: 4px; transition: gap var(--uh-transition); }
.uh-cat-card:hover .uh-cat-body span { gap: 8px; }

/* PRODUCTOS */
.uh-products { padding: 0 var(--uh-pad) clamp(40px,6vw,70px); max-width: var(--uh-max); margin: 0 auto; }
.uh-products-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.uh-product-card { border-radius: var(--uh-radius); overflow: hidden; background: var(--uh-white); border: 1px solid var(--uh-border); transition: all var(--uh-transition); text-decoration: none; display: block; }
.uh-product-card:hover { box-shadow: 0 12px 35px rgba(0,0,0,0.1); transform: translateY(-4px); border-color: var(--uh-teal); }
.uh-product-img { position: relative; aspect-ratio: 1/1; overflow: hidden; background: var(--uh-light); }
.uh-product-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.uh-product-card:hover .uh-product-img img { transform: scale(1.06); }
.uh-product-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 52px; background: linear-gradient(135deg,#f0f0f0,#e8e8e8); }
.uh-product-hover { position: absolute; inset: 0; background: rgba(78,205,196,0.85); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity var(--uh-transition); }
.uh-product-card:hover .uh-product-hover { opacity: 1; }
.uh-product-hover span { font-family: var(--uh-font); font-size: 13px; font-weight: 700; color: var(--uh-white); letter-spacing: 1px; text-transform: uppercase; }
.uh-product-info { padding: 14px 16px; }
.uh-product-info h3 { font-family: var(--uh-font); font-size: 13px; font-weight: 600; color: var(--uh-black); margin: 0 0 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.uh-product-price { font-family: var(--uh-font); font-size: 15px; font-weight: 700; color: var(--uh-teal); }
.uh-products-cta { text-align: center; margin-top: 40px; }

/* PROMO */
.uh-promo { background: var(--uh-black); padding: clamp(50px,8vw,90px) var(--uh-pad); text-align: center; position: relative; overflow: hidden; }
.uh-promo::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 20% 50%,rgba(78,205,196,0.18) 0%,transparent 55%), radial-gradient(ellipse at 80% 50%,rgba(78,205,196,0.12) 0%,transparent 55%); pointer-events: none; }
.uh-promo-inner { position: relative; z-index: 1; max-width: 650px; margin: 0 auto; }
.uh-promo h2 { font-family: var(--uh-font); font-size: clamp(28px,4vw,46px); font-weight: 800; color: var(--uh-white); line-height: 1.15; margin: 0 0 16px; letter-spacing: -1px; }
.uh-promo h2 em { color: var(--uh-teal); font-style: normal; }
.uh-promo p { color: rgba(255,255,255,0.7); font-size: clamp(14px,1.6vw,17px); margin: 0 0 32px; font-family: var(--uh-body); }

/* SERVICIOS */
.uh-services { padding: clamp(50px,6vw,80px) var(--uh-pad); background: var(--uh-light); }
.uh-services-grid { max-width: var(--uh-max); margin: 0 auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 24px; }
.uh-service { background: var(--uh-white); border-radius: var(--uh-radius); padding: 32px 24px; border: 1px solid var(--uh-border); transition: all var(--uh-transition); text-align: center; }
.uh-service:hover { border-color: var(--uh-teal); transform: translateY(-5px); box-shadow: 0 15px 40px rgba(78,205,196,0.15); }
.uh-service-icon { font-size: 40px; display: block; margin-bottom: 16px; }
.uh-service h3 { font-family: var(--uh-font); font-size: 16px; font-weight: 700; color: var(--uh-black); margin: 0 0 10px; }
.uh-service p { color: var(--uh-gray); font-size: 13px; line-height: 1.7; margin: 0 0 16px; font-family: var(--uh-body); }
.uh-service-link { font-family: var(--uh-font); font-size: 12px; font-weight: 700; color: var(--uh-teal); letter-spacing: 0.5px; text-decoration: none; transition: letter-spacing var(--uh-transition); }
.uh-service-link:hover { letter-spacing: 1px; color: var(--uh-teal-dark); }

/* TESTIMONIOS */
.uh-testimonials { padding: clamp(50px,6vw,80px) var(--uh-pad); background: var(--uh-white); max-width: var(--uh-max); margin: 0 auto; }
.uh-testimonials-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.uh-testimonial { background: var(--uh-light); border-radius: var(--uh-radius); padding: 30px 26px; border: 1px solid var(--uh-border); transition: all var(--uh-transition); }
.uh-testimonial:hover { border-color: var(--uh-teal); box-shadow: 0 8px 25px rgba(78,205,196,0.1); }
.uh-stars { color: #FFB800; font-size: 16px; margin-bottom: 14px; letter-spacing: 2px; }
.uh-testimonial p { color: var(--uh-text); font-size: 14px; line-height: 1.75; margin: 0 0 18px; font-family: var(--uh-body); font-style: italic; }
.uh-testimonial strong { display: block; font-family: var(--uh-font); font-size: 14px; font-weight: 700; color: var(--uh-black); }
.uh-testimonial span { font-size: 12px; color: var(--uh-gray); font-family: var(--uh-body); }

/* ══════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    .woocommerce ul.products { grid-template-columns: repeat(3,1fr) !important; }
    .uh-products-grid { grid-template-columns: repeat(3,1fr); }
    .uh-services-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
    #masthead, .site-header { top: 32px !important; }
    .uh-cats-grid { grid-template-columns: 1fr 1fr; height: auto; }
    .uh-cat-col { flex-direction: row; }
    .uh-cat-tall, .uh-cat-short { height: 200px; }
    .uh-products-grid { grid-template-columns: repeat(2,1fr); gap: 12px; }
    .uh-services-grid { grid-template-columns: repeat(2,1fr); }
    .uh-testimonials-grid { grid-template-columns: 1fr; }
    .woocommerce ul.products { grid-template-columns: repeat(2,1fr) !important; }
    .uh-hero-prev, .uh-hero-next { display: none; }
}
@media (max-width: 480px) {
    .uh-cats-grid { grid-template-columns: 1fr 1fr; height: auto; }
    .uh-cat-col { flex-direction: column; }
    .uh-cat-tall, .uh-cat-short { height: 180px; }
    .uh-products-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .uh-services-grid { grid-template-columns: 1fr; }
    .uh-hero-actions { flex-direction: column; align-items: flex-start; }
    .uh-btn-main, .uh-btn-ghost { text-align: center; width: 100%; max-width: 280px; }
    .woocommerce ul.products { grid-template-columns: 1fr 1fr !important; }
}
