
.vh4-root{--vh4-blue:#0E43A6;--vh4-yellow:#FFD21C;--vh4-dark:#0B1020;--vh4-muted:#667085;--vh4-soft:#F5F7FA;font-family:inherit;color:var(--vh4-dark);overflow:hidden}
.vh4-root *{box-sizing:border-box}
.vh4-inner{width:calc(100% - 48px);max-width:1700px;margin:0 auto}
.vh4-section{padding:76px 0}
.vh4-eyebrow{color:var(--vh4-blue);font-size:14px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px}
.vh4-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:36px}
.vh4-head h2,.vh4-centered-head h2,.vh4-benefits h2,.vh4-latino h2,.vh4-history h2,.vh4-delivery h2,.vh4-wholesale h2{font-size:clamp(34px,3.1vw,58px);line-height:1.05;letter-spacing:-.045em;margin:0;font-weight:800}
.vh4-text-link{color:var(--vh4-blue);font-weight:800;text-decoration:none;white-space:nowrap}
.vh4-text-link:hover{text-decoration:underline}

/* HERO */
.vh4-hero{position:relative;margin-top:40px}
.vh4-slider-track{position:relative;min-height:650px}
.vh4-slide{display:none;grid-template-columns:44% 56%;border:1px solid #E0E5EC;border-radius:34px;overflow:hidden;background:linear-gradient(135deg,#F8FAFC 0%,#FFF 100%);min-height:650px}
.vh4-slide.is-active{display:grid}
.vh4-slide-copy{padding:86px 84px;display:flex;flex-direction:column;justify-content:center;position:relative}
.vh4-slide-copy:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,210,28,.16);left:-70px;top:-60px}
.vh4-slide-copy h1{font-size:clamp(52px,5vw,78px);line-height:.98;letter-spacing:-.055em;margin:0 0 26px;font-weight:850}
.vh4-slide-copy h1::first-line{color:var(--vh4-dark)}
.vh4-slide-copy p{font-size:21px;line-height:1.55;color:var(--vh4-muted);margin:0 0 32px;max-width:650px}
.vh4-slide-media{min-height:650px;background:#DCE8F8}
.vh4-slide-media img{width:100%;height:100%;object-fit:cover;display:block}
.vh4-hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.vh4-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border-radius:14px;text-decoration:none;font-weight:800;transition:.25s ease}
.vh4-btn-yellow{background:var(--vh4-yellow);color:#111}
.vh4-btn-yellow:hover{background:#F0C400;color:#111;transform:translateY(-2px)}
.vh4-btn-outline{background:#fff;color:var(--vh4-blue);border:1px solid #CCD6E4}
.vh4-btn-outline:hover{background:#EEF4FF;color:#0B357F;transform:translateY(-2px)}
.vh4-slider-prev,.vh4-slider-next{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:0;background:#fff;box-shadow:0 8px 24px rgba(16,24,40,.12);font-size:30px;cursor:pointer;z-index:3}
.vh4-slider-prev{left:-20px}.vh4-slider-next{right:-20px}
.vh4-slider-dots{display:flex;gap:8px;justify-content:center;margin-top:-40px;position:relative;z-index:3}
.vh4-slider-dots button{width:10px;height:10px;padding:0;border:0;border-radius:999px;background:#D0D5DD;cursor:pointer}
.vh4-slider-dots button.is-active{width:34px;background:var(--vh4-yellow)}

/* SEARCH */
.vh4-search-wrap{padding:52px 0 40px}
.vh4-search{max-width:1050px;margin:auto;background:#F1F3F6;border:1px solid #E0E4EA;border-radius:999px;display:flex;align-items:center;padding:0 26px}
.vh4-search-icon{font-size:28px;color:#111;flex:0 0 auto}
.vh4-search input[type="search"]{width:100%;height:68px;border:0;background:transparent;outline:0;padding:0 18px;font-size:18px;color:#111;min-width:0}
.vh4-search-submit{flex:0 0 auto;border:0;background:var(--vh4-blue);color:#fff;height:48px;padding:0 24px;border-radius:999px;font-weight:800;cursor:pointer;transition:.2s ease}
.vh4-search-submit:hover{background:#0A377F;color:#fff;transform:translateY(-1px)}
.vh4-search:focus-within{background:#fff;border-color:#B8C7DD;box-shadow:0 0 0 4px rgba(14,67,166,.08)}

/* CATEGORIES */
.vh4-categories{background:#fff}
.vh4-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.vh4-category-card{min-height:116px;border:1px solid rgba(16,24,40,.09);border-radius:24px;background:var(--card-bg);color:var(--card-text);display:grid;grid-template-columns:66px 1fr 28px;align-items:center;padding:22px 26px;text-decoration:none;transition:transform .24s ease,box-shadow .24s ease,background .24s ease,color .24s ease}
.vh4-category-card:hover{background:var(--card-hover);color:var(--card-hover-text);transform:translateY(-4px);box-shadow:0 18px 36px rgba(16,24,40,.12)}
.vh4-category-icon{width:54px;height:54px;border-radius:17px;background:rgba(255,255,255,.78);display:flex;align-items:center;justify-content:center;color:var(--vh4-blue)}
.vh4-category-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vh4-category-name{font-size:18px;font-weight:800;line-height:1.2;color:inherit}
.vh4-category-arrow{font-size:28px;color:var(--vh4-blue);transition:transform .24s ease}
.vh4-category-card:hover .vh4-category-arrow{transform:translateX(4px);color:#082E72}

/* BENEFITS */
.vh4-benefits{background:var(--vh4-soft)}
.vh4-benefits-grid{display:grid;grid-template-columns:40% 60%;gap:56px;align-items:center}
.vh4-benefits-copy p,.vh4-latino-copy p,.vh4-history p,.vh4-delivery-copy p{font-size:20px;line-height:1.55;color:var(--vh4-muted);margin:24px 0 30px}
.vh4-benefit-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.vh4-benefit-card{background:#fff;border:1px solid #E3E7ED;border-radius:26px;padding:30px;min-height:220px}
.vh4-benefit-icon{width:58px;height:58px;border-radius:18px;background:#FFF3B8;display:flex;align-items:center;justify-content:center;margin-bottom:26px}
.vh4-benefit-icon svg{width:30px;height:30px;fill:none;stroke:#111;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vh4-benefit-card h3{font-size:23px;margin:0 0 12px}
.vh4-benefit-card p{font-size:17px;line-height:1.55;color:var(--vh4-muted);margin:0}

/* PRODUCTS */
.vh4-products{background:#fff}
.vh4-products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.vh4-product-card{border:1px solid #E2E7ED;border-radius:24px;overflow:hidden;background:#fff}
.vh4-product-image{height:300px;background:#F5F7F7;display:flex;align-items:center;justify-content:center;text-decoration:none}
.vh4-product-image img{width:100%;height:100%;object-fit:contain;padding:22px}
.vh4-product-placeholder{font-size:58px;color:#B7C0CB}
.vh4-product-body{padding:22px 24px 26px}
.vh4-product-body h3{font-size:18px;line-height:1.35;margin:0 0 18px;min-height:48px}
.vh4-product-body h3 a{color:var(--vh4-dark);text-decoration:none}
.vh4-price{color:var(--vh4-blue);font-size:20px;font-weight:800;margin-bottom:18px}
.vh4-product-link{color:#475467;text-decoration:none;font-weight:700}

/* LATINO */
.vh4-latino{background:#fff}
.vh4-latino-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.vh4-latino-media{position:relative}
.vh4-latino-media img{width:100%;display:block;border-radius:30px}
.vh4-latino-media span{position:absolute;left:30px;bottom:26px;background:#fff;border-radius:999px;padding:13px 22px;color:var(--vh4-blue);font-weight:800;letter-spacing:.12em}
.vh4-latino-copy{padding-right:7%}

/* HISTORY */
.vh4-history{background:var(--vh4-soft)}
.vh4-history-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.vh4-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vh4-stats article{background:#fff;border:1px solid #E2E7ED;border-radius:24px;padding:42px 32px;min-height:180px;display:flex;flex-direction:column;justify-content:center}
.vh4-stats strong{font-size:42px;color:var(--vh4-blue);line-height:1;margin-bottom:22px}
.vh4-stats span{color:var(--vh4-muted)}

/* DELIVERY MAP */
.vh4-delivery{background:#fff;scroll-margin-top:100px}
.vh4-delivery-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:center}
.vh4-chips{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 30px}
.vh4-chips span{background:#F2F4F7;border-radius:999px;padding:10px 16px;font-weight:800}
.vh4-btn-blue{background:var(--vh4-blue);color:#fff}
.vh4-btn-blue:hover{background:#0A377F;color:#fff;transform:translateY(-2px)}
.vh4-map-card{position:relative;border-radius:30px;overflow:hidden;border:1px solid #DEE4EB;min-height:500px;background:#EAF0F5;box-shadow:0 18px 45px rgba(16,24,40,.08)}
.vh4-map{height:500px;width:100%;z-index:1}
.vh4-map-label{position:absolute;z-index:500;left:50%;bottom:26px;transform:translateX(-50%);background:rgba(255,255,255,.94);backdrop-filter:blur(10px);padding:16px 24px;border-radius:16px;color:var(--vh4-blue);font-weight:850;box-shadow:0 10px 25px rgba(16,24,40,.16)}
.vh4-map .leaflet-control-attribution{font-size:10px}
.vh4-map-pin{width:18px;height:18px;background:var(--vh4-yellow);border:4px solid var(--vh4-blue);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.vh4-map-popup{font-weight:800;color:#111}

/* BRANDS */
.vh4-brands{background:#F7F8FA}
.vh4-centered-head{text-align:center;max-width:900px;margin:0 auto 48px}
.vh4-centered-head p{color:var(--vh4-muted);font-size:18px}
.vh4-brand-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px}
.vh4-brand-grid>div,.vh4-brand-grid>a{height:105px;border:1px solid #E0E5EC;border-radius:22px;background:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#5C6675;font-size:18px;font-weight:800;text-align:center;padding:12px}

/* WHOLESALE */
.vh4-wholesale{background:#fff;padding-top:82px;padding-bottom:110px}
.vh4-wholesale-card{background:linear-gradient(100deg,#FFD000,#FFE77A);border-radius:30px;padding:58px 70px;display:flex;align-items:center;justify-content:space-between;gap:50px}
.vh4-wholesale-card>div{max-width:950px}
.vh4-wholesale-card h2{font-size:clamp(32px,3vw,52px);margin-bottom:14px}
.vh4-wholesale-card p{font-size:18px;line-height:1.55;margin:0}
.vh4-eyebrow.dark{color:#111}
.vh4-btn-white{background:#fff;color:#111;min-width:260px}
.vh4-btn-white:hover{background:#F3F4F6;color:#111;transform:translateY(-2px)}

@media(max-width:1100px){
  .vh4-slide{grid-template-columns:1fr 1fr;min-height:560px}.vh4-slide-copy{padding:60px 48px}.vh4-slide-media{min-height:560px}
  .vh4-category-grid,.vh4-products-grid{grid-template-columns:repeat(2,1fr)}
  .vh4-benefits-grid,.vh4-latino-grid,.vh4-history-grid,.vh4-delivery-grid{grid-template-columns:1fr}
  .vh4-brand-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:767px){
  .vh4-inner{width:calc(100% - 28px)}
  .vh4-section{padding:54px 0}
  .vh4-head{align-items:flex-start;flex-direction:column}
  .vh4-hero{margin-top:18px}.vh4-slider-track{min-height:0}.vh4-slide{grid-template-columns:1fr;min-height:0}.vh4-slide-copy{padding:48px 28px 38px}.vh4-slide-copy h1{font-size:46px}.vh4-slide-copy p{font-size:17px}.vh4-slide-media{min-height:330px}
  .vh4-slider-prev{left:10px}.vh4-slider-next{right:10px}.vh4-slider-dots{margin-top:-24px}
  .vh4-search-wrap{padding:36px 0 20px}.vh4-search input[type="search"]{height:58px}.vh4-search-submit{height:44px;padding:0 18px}
  .vh4-category-grid,.vh4-products-grid,.vh4-benefit-cards,.vh4-stats{grid-template-columns:1fr}
  .vh4-category-card{grid-template-columns:60px 1fr 24px;min-height:98px}
  .vh4-product-image{height:260px}
  .vh4-latino-grid,.vh4-history-grid,.vh4-delivery-grid{gap:38px}
  .vh4-map-card,.vh4-map{min-height:390px;height:390px}
  .vh4-brand-grid{grid-template-columns:repeat(2,1fr)}
  .vh4-wholesale-card{padding:38px 26px;flex-direction:column;align-items:flex-start}
  .vh4-btn-white{min-width:0;width:100%}
}


/* V4.2: integración con el buscador AJAX ya instalado en WooCommerce */
.vh4-search-plugin{max-width:1050px;margin:0 auto;position:relative;z-index:20}
.vh4-search-plugin .dgwt-wcas-search-wrapp,
.vh4-search-plugin .aws-container,
.vh4-search-plugin .woocommerce-product-search,
.vh4-search-plugin .yith-woocommerce-ajax-search-container{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
}
.vh4-search-plugin .dgwt-wcas-search-form,
.vh4-search-plugin .aws-search-form{
    width:100%!important;
}
.vh4-search-plugin .dgwt-wcas-sf-wrapp{
    min-height:68px;
}
.vh4-search-plugin .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input{
    min-height:68px;
    border-radius:999px!important;
    border:1px solid #D7DEE8!important;
    padding-left:56px!important;
    font-size:18px!important;
}
.vh4-search-plugin .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit{
    border-radius:999px!important;
}
.vh4-search-plugin .aws-container .aws-search-field{
    min-height:68px!important;
    border-radius:999px!important;
    font-size:18px!important;
}
.vh4-search-plugin .aws-container .aws-search-form{
    border-radius:999px!important;
}
@media(max-width:767px){
    .vh4-search-plugin .dgwt-wcas-sf-wrapp,
    .vh4-search-plugin .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input,
    .vh4-search-plugin .aws-container .aws-search-field{
        min-height:58px!important;
    }
}


/* V4.3 — Corrección global de la lupa de FiboSearch (Home + Tienda) */
html .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp{
    position:relative !important;
}

html .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp > .dgwt-wcas-ico-magnifier{
    position:absolute !important;
    left:22px !important;
    right:auto !important;
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
    width:24px !important;
    height:24px !important;
    max-width:24px !important;
    max-height:24px !important;
    z-index:6 !important;
    pointer-events:none;
}

html .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp > .dgwt-wcas-ico-magnifier path{
    fill:#111111 !important;
}

html .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input{
    padding-left:64px !important;
}

/* Ajuste específico del estilo Pirx, si está activo */
html .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp > .dgwt-wcas-ico-magnifier{
    left:22px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    margin:0 !important;
}

/* Evita que reglas del tema desplacen verticalmente la lupa */
html .dgwt-wcas-search-wrapp svg.dgwt-wcas-ico-magnifier{
    margin-top:0 !important;
    margin-left:0 !important;
}

@media (max-width:767px){
    html .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp > .dgwt-wcas-ico-magnifier{
        left:18px !important;
        width:22px !important;
        height:22px !important;
    }
    html .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input{
        padding-left:54px !important;
    }
}


/* =========================================================
   V4.4 — FIX DEFINITIVO FIBOSEARCH
   El icono visible está dentro del BOTÓN submit de FiboSearch,
   no es un SVG suelto. Se posiciona el botón completo.
   Se carga globalmente: Home + Tienda + categorías.
   ========================================================= */

html body .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp{
    position:relative !important;
}

/* PIRX: el botón de la lupa queda dentro del campo, centrado verticalmente */
html body .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button[type="submit"].dgwt-wcas-search-submit,
html body .dgwt-wcas-search-wrapp.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit{
    position:absolute !important;
    left:18px !important;
    right:auto !important;
    top:50% !important;
    bottom:auto !important;
    transform:translateY(-50%) !important;
    -webkit-transform:translateY(-50%) !important;

    width:36px !important;
    min-width:36px !important;
    max-width:36px !important;
    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;

    margin:0 !important;
    padding:6px !important;

    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    background:transparent !important;
    border-radius:50% !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    z-index:20 !important;
}

/* Quitar el triángulo/pseudo-elemento del botón que algunos estilos colocan fuera */
html body .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:before,
html body .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:after{
    content:none !important;
    display:none !important;
}

/* El SVG ya no lleva posicionamiento propio */
html body .dgwt-wcas-style-pirx button.dgwt-wcas-search-submit svg.dgwt-wcas-ico-magnifier,
html body .dgwt-wcas-style-pirx button.dgwt-wcas-search-submit .dgwt-wcas-ico-magnifier{
    position:static !important;
    inset:auto !important;
    transform:none !important;
    -webkit-transform:none !important;
    margin:0 !important;
    padding:0 !important;
    width:23px !important;
    height:23px !important;
    max-width:23px !important;
    max-height:23px !important;
    display:block !important;
}

/* Espacio real para la lupa; evita que el texto quede debajo */
html body .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input{
    padding-left:68px !important;
}

/* Si el tema aplica reglas globales a botones submit, las neutralizamos aquí */
html body .dgwt-wcas-search-wrapp button.dgwt-wcas-search-submit{
    float:none !important;
    line-height:1 !important;
}

/* También corrige el icono de apertura si FiboSearch cambia de layout */
html body .dgwt-wcas-search-icon .dgwt-wcas-ico-magnifier-handler{
    position:static !important;
    transform:none !important;
    margin:0 !important;
}

@media (max-width:767px){
    html body .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button[type="submit"].dgwt-wcas-search-submit,
    html body .dgwt-wcas-search-wrapp.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit{
        left:14px !important;
        width:34px !important;
        min-width:34px !important;
        max-width:34px !important;
        height:34px !important;
        min-height:34px !important;
        max-height:34px !important;
    }

    html body .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input{
        padding-left:58px !important;
    }
}
