/* ==========================================================================
   Home - Estilos específicos (solo lo que Bootstrap NO cubre)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Home Banner Carousel (Splide)
   -------------------------------------------------------------------------- */

/* Border inferior del banner principal */
#home-banner {
    border-bottom: 4px solid var(--nv-main);
}

/* Altura del slide */
.home-banner-slide {
    height: 75vh;
    position: relative;
    overflow: hidden;
}

/* Imagen de fondo del banner - dimensiones desde CSS para control responsivo */
.nv-banner-img {
    width: 100%;
    height: 100%;
}

/* Contenido del banner - posicionamiento */
.home-banner-content {
    max-width: 500px;
    position: relative;
    z-index: 2;
}

/* Alineación vertical del contenido dentro del slide */
.home-banner-slide--top    { align-items: flex-start; padding-top: 2rem; }
.home-banner-slide--center { align-items: center; }
.home-banner-slide--bottom { align-items: flex-end; padding-bottom: 2rem; }

.nv-texto-banner { z-index: 2; max-width: 45%; }
.nv-texto-custom-fit { width: 32%; left: 52%; top: 30%; }
.nv-texto-armazones { max-width: 45%; }
.nv-texto-mas-juegos { max-width: 45%; }
@media (max-width: 767px) { .nv-texto-banner { max-width: 80%; left: 50% !important; transform: translateX(-50%); } }

/* Controles Splide - Wrapper glassmorphism */
#homeBannerSplide .splide__arrows {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    display: flex;
    gap: 0.5rem;
    padding: 0.5rem;
    border-radius: 50rem;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    z-index: 10;
}

/* Botones prev/next Splide */
#homeBannerSplide .splide__arrow {
    position: static;
    width: 44px;
    height: 44px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    border: none;
    opacity: 1;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

#homeBannerSplide .splide__arrow:hover {
    background-color: var(--nv-main);
    transform: scale(1.05);
}

/* Ocultar SVG default de Splide */
#homeBannerSplide .splide__arrow svg {
    display: none;
}

/* Iconos chevron personalizados */
#homeBannerSplide .splide__arrow::after {
    font-family: 'bootstrap-icons';
    font-size: 1.25rem;
    color: #fff;
}

#homeBannerSplide .splide__arrow--prev::after {
    content: '\F284';
}

#homeBannerSplide .splide__arrow--next::after {
    content: '\F285';
}

/* Ocultar paginación (dots) */
#homeBannerSplide .splide__pagination {
    display: none;
}

/* Responsive - 1461px o menor */
@media (max-width: 1461px) {
    #homeBannerSplide .splide__arrows {
        bottom: 1rem;
        right: auto;
        left: 2rem;
        padding: 0.3rem;
    }
}

/* Responsive - 1280px o menor */
@media (max-width: 1280px) {
    #homeBannerSplide .splide__arrow {
        width: 30px;
        height: 30px;
    }

    #homeBannerSplide .splide__arrow::after {
        font-size: 1rem;
    }
}

/* Responsive - Tablet */
@media (max-width: 991px) {
    #homeBannerSplide .splide__arrows {
        bottom: 5rem;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* Responsive - Mobile */
@media (max-width: 767px) {
    .home-banner-slide {
        height: 400px;
    }

    .home-banner-content {
        max-width: 100%;
    }

    #homeBannerSplide .splide__arrows {
        bottom: 1rem;
        left: auto;
        right: 1rem;
        transform: none;
    }
}

/* --------------------------------------------------------------------------
   Sección Nuestras Colecciones - Grid de tarjetas
   -------------------------------------------------------------------------- */
.brands-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.brand-card {
    height: 200px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.brand-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

/* Tarjeta alta - ocupa 2 filas */
.brand-card--tall {
    grid-row: span 2;
    height: 100%;
}

/* Tarjeta full - ocupa las 3 columnas */
.brand-card--full {
    grid-column: span 3;
}

/* Shade degradado siempre visible sobre tarjeta */
.nv-shade::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.35) 0%, transparent 60%);
    z-index: 1;
}

/* Logo flotante - solo drop-shadow (Bootstrap no lo tiene) */
.nv-card-logo {
    z-index: 2;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
}

/* Responsive - Tablet */
@media (max-width: 991px) {
    .brands-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .brand-card--tall {
        grid-row: span 1;
        height: 200px;
    }

    .brand-card--full {
        grid-column: span 2;
    }
}

/* Responsive - Mobile */
@media (max-width: 575px) {
    .brands-grid {
        grid-template-columns: 1fr;
    }

    .brand-card--full {
        grid-column: span 1;
    }
}

/* --------------------------------------------------------------------------
   Decoración de secciones - figura y subtítulo
   -------------------------------------------------------------------------- */
.nv-title-figure {
    height: auto;
    max-width: 100px;
}

.nv-section-subtitle {
    max-width: 600px;
}

/* --------------------------------------------------------------------------
   Sección Lentes de Contacto (NanoGlow)
   -------------------------------------------------------------------------- */
.nv-lentes-contacto {
    min-height: 400px;
}

/* --------------------------------------------------------------------------
   Parallax - imagen de fondo con efecto scroll
   -------------------------------------------------------------------------- */
.nv-parallax-img {
    will-change: transform;
    transform: scale(1.5);
}

/* --------------------------------------------------------------------------
   Background Texture SVG - home-marcas y home-siliflex
   -------------------------------------------------------------------------- */
.nv-bg-texture {
    opacity: .22;
    pointer-events: none;
    z-index: 0;
}

/* El fill del SVG es casi blanco: brightness(0.35) lo oscurece para que sea
   visible tanto en fondos claros (#home-marcas) como en verdes (#home-siliflex) */
#home-marcas .nv-bg-texture,
#home-siliflex .nv-bg-texture {
    filter: brightness(0.35);
}

/* --------------------------------------------------------------------------
   Cross Texture CSS (::after) - sección Siliflex
   -------------------------------------------------------------------------- */
.nv-cross-texture {
    position: relative;
}

.nv-cross-texture::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMzYgMzR2LTRoLTJ2NGgtNHYyaDR2NGgydi00aDR2LTJoLTR6bTAtMzBWMGgtMnY0aC00djJoNHY0aDJWNmg0VjRoLTR6TTYgMzR2LTRINHY0SDB2Mmg0djRoMnYtNGg0di0ySDZ6TTYgNFYwSDR2NEgwdjJoNHY0aDJWNmg0VjRINnoiIGZpbGw9IiMxYTFhMWEiIGZpbGwtb3BhY2l0eT0iMC4wOCIvPjwvc3ZnPg==");
    background-repeat: repeat;
    pointer-events: none;
    z-index: 0;
    opacity: 0.6;
}

/* --------------------------------------------------------------------------
   Título con decoración - línea verde bajo el heading
   -------------------------------------------------------------------------- */
.nv-title-decoration::after {
    content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: var(--nv-main);
    margin: 0.75rem auto 0;
    border-radius: 2px;
}

/* --------------------------------------------------------------------------
   Home Productos - Tarjetas de producto (Splide carrusel)
   -------------------------------------------------------------------------- */

/* Shade muy sutil sobre tarjeta (mismo que POM pom-black-shade) */
.nv-black-shade {
    isolation: isolate;
}

.nv-black-shade::before {
    content: '';
    position: absolute;
    inset: 0;
    background: #00000006;
    z-index: 1;
    pointer-events: none;
}

/* Tarjeta de producto */
.nv-product-card {
    height: 260px;
    transition: transform 0.3s ease;
}

.nv-product-card:hover {
    transform: scale(1.02);
}

/* Imagen - centrada, ancho limitado, efecto blur en hover */
.nv-product-card__img {
    top: -15%;
    max-width: 250px;
    transition: filter 0.3s ease;
}

.nv-product-card:hover .nv-product-card__img {
    filter: blur(3px);
}

/* Botón - colapsado por defecto, se expande en hover */
.nv-product-card__btn-wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.nv-product-card:hover .nv-product-card__btn-wrapper {
    max-height: 50px;
}

/* --------------------------------------------------------------------------
   FAQ Accordion
   -------------------------------------------------------------------------- */

/* Subtítulo FAQ */
.faq-subtitle {
    max-width: 500px;
}

/* Item del accordion */
.nv-faq-item {
    border: 1px solid var(--nv-footer-top-bg) !important;
    border-radius: 0.5rem !important;
    overflow: hidden;
}

/* Botón inactivo (collapsed) */
.nv-faq-btn {
    background-color: var(--nv-footer-top-bg) !important;
    color: var(--nv-footer-text) !important;
    box-shadow: none !important;
    transition: background-color 0.25s ease, color 0.25s ease;
}

/* Flecha inactiva - oscura */
.nv-faq-btn::after {
    filter: brightness(0.3);
}

/* Botón activo (abierto) */
.nv-faq-btn:not(.collapsed) {
    background-color: var(--nv-main) !important;
    color: #1a1a1a !important;
    box-shadow: none !important;
}

/* Flecha activa - oscura sobre verde */
.nv-faq-btn:not(.collapsed)::after {
    filter: brightness(0.2);
}

/* Foco */
.nv-faq-btn:focus {
    box-shadow: 0 0 0 0.2rem rgba(190, 214, 5, 0.3) !important;
}

/* Cuerpo del accordion */
.nv-faq-body {
    background-color: #fff;
    color: var(--nv-footer-text);
    border-top: 1px solid rgba(190, 214, 5, 0.3);
}

/* Enlaces dentro del accordion */
.nv-faq-link {
    color: var(--nv-main);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.nv-faq-link:hover {
    color: var(--nv-secondary);
}

#nav-principal .nav-logo-full{display:none}#nav-principal .nav-logo-isotipo{display:block}@media(min-width:768px){#nav-principal .nav-logo-full{display:block}#nav-principal .nav-logo-isotipo{display:none}}#header-top{transition:transform .3s ease,opacity .3s ease}#header-top.nav-hidden{position:fixed;top:0;left:0;right:0;z-index:1031;transform:translateY(-100%);opacity:0;pointer-events:none}#nav-principal{transition:box-shadow .3s ease}#nav-principal.nav-sticky{position:fixed;top:0;left:0;right:0;z-index:1030;animation:navSlideDown .3s ease}@keyframes navSlideDown{from{transform:translateY(-100%)}to{transform:translateY(0)}}#nav-principal .nav-link{font-size:.875rem;font-weight:500;text-transform:uppercase;padding:.5rem .75rem;transition:color .2s ease}#nav-principal .nav-link:hover{color:var(--nv-main)!important}@media(min-width:992px){#nav-principal .dropdown:hover>.dropdown-menu{display:block}}#nav-principal .navbar-nav>.dropdown{position:relative!important}#nav-principal .mega-dropdown{left:-100%;right:auto;width:fit-content;border:0;border-radius:.5rem;box-shadow:0 4px 20px rgba(0,0,0,.1)}.mega-dropdown-inner{display:flex;gap:2rem;max-width:1320px;margin:0 auto;padding:0 1rem}.mega-dropdown-col{display:flex;flex-direction:column;min-width:180px}.mega-dropdown-col--two{min-width:320px}.submenu{font-weight:600;font-size:.9375rem;text-transform:uppercase;padding:.5rem 0;margin-bottom:.5rem;border-bottom:2px solid var(--nv-main);display:block;text-decoration:none;color:#1a1a1a;transition:color .2s ease}.submenu:hover{color:var(--nv-main)}.submenu.submenu-title{cursor:default;pointer-events:none}.submenu.submenu-title:hover{color:#1a1a1a}.mega-dropdown-link{font-size:.875rem;text-transform:uppercase;padding:.375rem 0;text-decoration:none;color:#6a6c74;transition:color .2s ease}.mega-dropdown-link:hover{color:var(--nv-main)}.nv-offcanvas{background-color:var(--nv-main)!important}.nv-bg-texture{opacity:.22;pointer-events:none;z-index:0}.nav-accordion .accordion-item{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.4)}.nav-accordion .accordion-item:last-child{border-bottom:0}.nav-accordion .accordion-button{background:transparent;color:#fff;font-weight:500;font-size:1rem;padding:1rem 0;box-shadow:none;border:0;border-radius:0}.nav-accordion .accordion-button:focus{box-shadow:none}.nav-accordion .accordion-button:not(.collapsed){background:transparent;color:#fff;box-shadow:none}.nav-accordion .accordion-chevron{transition:transform .3s ease}.nav-accordion .accordion-button:not(.collapsed) .accordion-chevron{transform:rotate(180deg)}.nav-accordion .accordion-body{background:rgba(255,255,255,.05);padding:.5rem 1rem;border-radius:.5rem;margin-bottom:.5rem}.nav-accordion .nav-mobile-link{color:#fff;font-weight:500;font-size:1.3rem;padding:1rem 0;text-decoration:none;display:block}.nav-accordion .nav-mobile-link::after{display:none}.nav-mobile-sublink{opacity:.85;transition:opacity .2s ease;font-size:.9375rem}.nav-mobile-sublink:hover{opacity:1;color:var(--nv-main)!important}.social-icon{width:40px;height:40px;transition:background-color .2s ease,color .2s ease}.social-icon:hover{background-color:var(--nv-secondary-dark,#e0b400)!important;color:#1a1a1a!important}.nv-nav-thumb-col{min-width:unset}.nv-nav-thumb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:.5rem 0}.nv-nav-thumb-item{display:flex;flex-direction:column;align-items:center;gap:1.4rem;padding:1.5rem;border-radius:.5rem;transition:background-color .2s ease;color:#1a1a1a;text-align:center}.nv-nav-thumb-item:hover{background-color:rgba(190,214,5,.12)}.nv-nav-thumb-img{width:100px;height:100px;object-fit:contain}.nv-nav-thumb-label{font-size:.75rem;font-weight:600;color:#1a1a1a;text-transform:uppercase;line-height:1.2;letter-spacing:.02em}.nv-nav-thumb-item:hover .nv-nav-thumb-label{color:var(--nv-main-dark)}.nv-nav-thumb-grid--mobile{gap:.25rem;padding:.25rem 0}.nv-nav-thumb-grid--mobile .nv-nav-thumb-item{gap:.5rem;padding:.5rem}.nv-nav-thumb-grid--mobile .nv-nav-thumb-img{width:60px;height:60px}
.nav-mobile-category{color:#fff;font-weight:600;font-size:.9375rem;padding:.75rem 0 .25rem;display:block;border-bottom:1px solid rgba(255,255,255,.35);margin-top:.5rem}.nav-mobile-category-link{color:#fff;font-weight:600;font-size:.9375rem;padding:.75rem 0 .25rem;display:block;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);margin-top:.5rem;transition:color .2s ease}.nav-mobile-category-link:hover{color:rgba(255,255,255,.75)}.nav-mobile-sublink{opacity:.85;transition:opacity .2s ease;font-size:.9375rem}.nav-mobile-sublink:hover{opacity:1;color:var(--nv-main)!important}#navAccordion .accordion-button{font-size:1.3rem;padding:1rem 0}#navAccordion .accordion-button::after{display:none}.nv-nav-thumb-grid--mobile{display:flex;flex-direction:column;gap:0;padding:0}.nv-nav-thumb-grid--mobile .nv-nav-thumb-item{flex-direction:row;align-items:center;gap:.75rem;padding:.6rem 0;border-radius:0;text-align:left;border-bottom:1px solid rgba(255,255,255,.12)}.nv-nav-thumb-grid--mobile .nv-nav-thumb-item:last-child{border-bottom:0}.nv-nav-thumb-grid--mobile .nv-nav-thumb-img{flex-shrink:0;width:48px;height:48px}.nv-nav-thumb-grid--mobile .nv-nav-thumb-label{color:#fff;font-size:.9375rem;text-transform:none;letter-spacing:0}
.ui-datepicker{z-index:1080!important}.k-overlay{position:fixed;top:0;left:0;z-index:1060;width:100%;height:100%;background-color:#000;opacity:.5}.nopAjaxCartPanelAjaxBusy,.miniProductDetailsPanelAjaxBusy{position:absolute;z-index:1070;width:auto;height:auto;background:url('../Plugins/SevenSpikes.Nop.Plugins.AjaxCart/Themes/DefaultClean/Content/img/loader.gif') no-repeat fixed 50% 50%;opacity:.7}.addProductVariantToCartErrors{color:#c00}.addProductVariantToCartErrors ul{margin:20px}.addProductVariantToCartErrors li{margin:0 0 10px 0}.productQuantityTextBox{float:left;width:20px;text-align:center;font-size:16px}.product-list .item-box .ajax-cart-button-wrapper{display:inline-block}.product-list .item-box .productQuantityTextBox,.product-list .item-box .productQuantityDropdown{width:42px;height:40px}.product-grid .item-box .ajax-cart-button-wrapper{display:inline-block;width:66%}.ajax-cart-button-wrapper .product-box-add-to-cart-button{width:100%}.ajax-cart-button-wrapper .productQuantityDropdown{min-width:0}.product-grid .item-box .productQuantityTextBox,.product-grid .item-box .productQuantityDropdown{width:25%;height:40px}.product-grid .item-box .productQuantityTextBox~.product-box-add-to-cart-button,.product-grid .item-box .productQuantityDropdown~.product-box-add-to-cart-button{width:75%}.product-grid .item-box .add-to-compare-list-button,.product-grid .item-box .add-to-wishlist-button{width:17%}@media all and (min-width:1001px) and (max-width:1366px){.product-grid .item-box .productQuantityTextBox~.product-box-add-to-cart-button,.product-grid .item-box .productQuantityDropdown~.product-box-add-to-cart-button{font-size:13px}}.ajaxCart{flex-flow:column;position:absolute;padding:0!important;width:500px;background:#fff;text-align:left;box-shadow:0 0 2px rgba(0,0,0,.3);z-index:1070}.ajaxCart li{list-style:none}.ajaxCart .k-window-titlebar{margin:0!important;padding:14px 35px 14px 10px;min-height:46px;border-bottom:1px solid #ddd;background:#efefef}.ajaxCart .k-window-titlebar-actions{position:absolute;top:16px;right:14px;font-size:0;z-index:1}.ajaxCart .k-window-titlebar .k-button{display:block;width:16px;height:16px;border:0;background:url(../Plugins/SevenSpikes.Nop.Plugins.AjaxCart/Themes/DefaultClean/Content/img/close.png) no-repeat center;font-size:0}.ajaxCart .k-window-titlebar .k-icon{display:none}.productAddedToCartWindowTitle{position:absolute;top:0;left:0;padding:13px 35px 13px 15px;font-size:18px;color:#444}.productAddedToCartWindow,.miniProductDetailsView{padding:0;color:#444}.productAddedToCartItem{padding:20px;overflow:hidden}.productAddedToCartWindowImage{float:left;overflow:hidden;margin:0!important;width:210px;height:210px;text-align:left}.productAddedToCartWindowImage a{display:block;overflow:hidden;line-height:0}.productAddedToCartWindowImage img{max-width:100%}.productAddedToCartWindowDescription{margin:0 0 0 230px;padding:7px 0 0;width:auto}.productAddedToCartWindowDescription h1{margin:0 0 15px;font-weight:normal;font-size:18px;color:#444}.productAddedToCartWindowDescription h1 a{color:#333}.productAddedToCartWindowDescription strong{display:block;margin-bottom:10px;font-size:20px;color:#4ab2f1}.productAddedToCartWindowDescription span{display:block;margin-bottom:3px;color:#444}.productAddedToCartWindowSummary{clear:both;padding:12px 12px 30px;border-top:1px solid #ddd;text-align:center}.productAddedToCartWindowSummary a{display:inline-block;color:#4ab2f1;font-size:15px}.productAddedToCartWindowSummary a:hover{text-decoration:underline}.productAddedToCartWindowSummary div{margin:15px 0 0}.ajaxCart .productAddedToCartWindowCheckout{padding:12px 32px;border:0;color:#fff;font-size:14px;cursor:pointer;background:#4ab2f1;text-transform:uppercase}.ajaxCart .productAddedToCartWindowCheckout:hover{background:#248ece}.miniProductDetailsView:focus,.productAddedToCartWindow:focus{outline:-webkit-focus-ring-color auto 0}.miniProductDetailsView h1{margin-bottom:10px;color:#333;text-transform:uppercase;font-weight:bold;font-size:12px;text-shadow:1px 1px 0 #eee}.miniProductDetailsView .product-name{position:absolute;top:0;left:0;padding:12px 35px 12px 15px;width:500px;height:auto;overflow:hidden;text-shadow:none;font-size:18px;text-transform:none;white-space:nowrap;text-overflow:ellipsis;font-weight:400;color:#444}.ajaxCart .product-details-page{padding:0}.miniProductDetailsView .product-variant-line{margin:0}.ajaxCart .product-overview-line{border-top:1px solid #ddd}.ajaxCart .product-overview-line:first-child{border-top:0}.miniProductDetailsView .product-essential{margin:0;overflow:hidden;padding:20px;border:0}.miniProductDetailsView .product-essential .gallery{display:block;float:left;overflow:hidden;width:210px;margin:0}.miniProductDetailsView .product-essential .picture{margin:0;overflow:hidden;width:auto!important;height:auto!important;line-height:normal!important}.miniProductDetailsView .product-essential .picture img{z-index:0!important}.ajaxCart .overview{width:auto;float:none;margin:0 0 0 230px;padding:7px 0 0}.miniProductDetailsView h1{font-size:18px;color:#444;font-weight:normal;text-transform:none;margin:0 0 15px;text-shadow:none}.miniProductDetailsView .short-description{margin:0 0 15px;padding-top:0;border-top:0}.miniProductDetailsView .overview .prices .product-price{color:#4ab2f1}.miniProductDetailsView .prices{margin-bottom:10px}.miniProductDetailsView .customer-entered-price{margin-bottom:10px}.miniProductDetailsView .enter-price-input{padding:4px;width:69px}.miniProductDetailsView .product-overview-line .add-to-cart{margin:0;overflow:hidden}.ajaxCart .qty-input,.miniProductDetailsView .add-info input[type="text"]{margin:0;width:43px;height:43px;font-size:16px;padding:0;float:left}.nopAjaxCartProductVariantAddToCartButton{float:left}.ajaxCart .product-collateral{margin:0;padding:20px 20px 0}.miniProductDetailsView .message-error{display:block;float:left;clear:both;margin:10px 0 0 0;font-weight:bold;text-align:left;font-size:14px;color:#c00}.miniProductDetailsView .message-error li{margin:5px 0}.ajaxCart .attributes{margin:0 0 15px}.ajaxCart .attributes dt{margin:0 0 2px}.ajaxCart .attributes .option-list li{margin:5px 0}.ajaxCart .attributes .attribute-squares li{margin:5px 10px 5px 0}.miniProductDetailsView .giftcard{margin:0;padding:20px;background:#fff}.ajaxCart .product-grid{margin:0 0 30px}.ajaxCart .product-grid .title{margin:0 0 10px;padding:0 20px 8px;text-align:left;font-size:20px}.ajaxCart .product-grid .item-grid{padding:0 15px;height:185px;overflow:hidden}.ajaxCart .product-grid .item-box{text-align:left;width:33.3333%;padding:0 5px;margin:0}.ajaxCart .product-grid .item-box .picture{margin:0 0 5px;background:none}.ajaxCart .product-grid .item-box .details{padding:0}.ajaxCart .product-grid .item-box .product-title{height:34px;margin:0;font-size:14px;line-height:1.2;color:#444}.ajaxCart .item-box .add-info,.ajaxCart .item-box .description,.ajaxCart .item-box .quick-view-button,.ajaxCart .item-box .product-rating-box{display:none!important}.ajaxCart .addProductToCartErrors{padding:20px;color:#444}
/* ==========================================================================
   NanoVistaTheme - Estilos Globales
   ========================================================================== */

/* --------------------------------------------------------------------------
   Variables CSS - Colores de marca
   -------------------------------------------------------------------------- */
:root {
    /* Tipografía */
    --nv-font: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    /* Color main */
    --nv-main:       #bed605;
    --nv-main-dark:  #9aac04;
    --nv-main-light: #cee237;

    /* Color secondary */
    --nv-secondary:       #FAC903;
    --nv-secondary-dark:  #d4a800;
    --nv-secondary-light: #fbd535;

    /* Footer */
    --nv-footer-top-bg:      #f1f1f1;
    --nv-footer-bottom-bg:   #b4b4b4;
    --nv-footer-text:        #393939;
    --nv-footer-link:        #393939;
    --nv-footer-link-hover:  #bed605;
    --nv-footer-heading:     #1a1a1a;
    --nv-footer-social-bg:   #393939;
    --nv-footer-social-size: 36px;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
*, *::before, *::after {
    font-family: var(--nv-font);
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* --------------------------------------------------------------------------
   Utilidades de color - main
   Bootstrap no tiene estos colores
   -------------------------------------------------------------------------- */

/* Texto */
.text-nv-main       { color: var(--nv-main)       !important; }
.text-nv-main-dark  { color: var(--nv-main-dark)  !important; }
.text-nv-main-light { color: var(--nv-main-light) !important; }

/* Background */
.bg-nv-main       { background-color: var(--nv-main)       !important; }
.bg-nv-main-dark  { background-color: var(--nv-main-dark)  !important; }
.bg-nv-main-light { background-color: var(--nv-main-light) !important; }

/* Texto - secondary */
.text-nv-secondary       { color: var(--nv-secondary)       !important; }
.text-nv-secondary-dark  { color: var(--nv-secondary-dark)  !important; }
.text-nv-secondary-light { color: var(--nv-secondary-light) !important; }

/* Background - secondary */
.bg-nv-secondary       { background-color: var(--nv-secondary)       !important; }
.bg-nv-secondary-dark  { background-color: var(--nv-secondary-dark)  !important; }
.bg-nv-secondary-light { background-color: var(--nv-secondary-light) !important; }

/* --------------------------------------------------------------------------
   Utilidad - fondo light del tema
   -------------------------------------------------------------------------- */
.nv-bg-light {
    background-color: var(--nv-footer-top-bg);
}

/* --------------------------------------------------------------------------
   Iconos de redes sociales - header
   -------------------------------------------------------------------------- */
.nv-social-icon {
    width: 28px;
    height: 28px;
    font-size: 0.875rem;
    transition: opacity 0.2s ease;
}

.nv-social-icon:hover {
    opacity: 0.8;
}

/* --------------------------------------------------------------------------
   Background img - utilidad global para secciones con foto de fondo
   -------------------------------------------------------------------------- */
.nv-bg-img {
    z-index: 0;
    pointer-events: none;
}

/* --------------------------------------------------------------------------
   Shade oscuro - overlay para secciones con fondo fotográfico
   -------------------------------------------------------------------------- */
.nv-shade-dark {
    isolation: isolate;
}

.nv-shade-dark::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(89deg, rgba(0,0,0,.70) 0%, rgba(0,0,0,.40) 100%);
    pointer-events: none;
    z-index: 1;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

/* CTA */
#nv-cta .btn-dark {
    border-radius: 0.375rem;
    letter-spacing: 0.03em;
}

/* Top section */
.nv-footer-top {
    background-color: var(--nv-footer-top-bg);
    border-top: 3px solid var(--nv-main);
}

/* Bottom section */
.nv-footer-bottom {
    background-color: var(--nv-footer-bottom-bg);
}

/* Heading de columna */
.nv-footer-heading {
    font-size: 0.8125rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--nv-footer-heading);
    margin-bottom: 1rem;
}

/* Texto genérico */
.nv-footer-text {
    color: var(--nv-footer-text);
}

/* Links */
.nv-footer-link {
    color: var(--nv-footer-link);
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.2s ease;
}

.nv-footer-link:hover {
    color: var(--nv-footer-link-hover);
}

/* Iconos sociales en footer */
.nv-footer-social {
    width: var(--nv-footer-social-size);
    height: var(--nv-footer-social-size);
    background-color: var(--nv-footer-social-bg);
    color: #fff;
    font-size: 0.9rem;
    transition: background-color 0.2s ease;
}

.nv-footer-social:hover {
    background-color: var(--nv-main);
    color: #fff;
}

/* Bottom text + links */
.nv-footer-bottom-text {
    color: #fff;
}

.nv-footer-bottom-link {
    color: #fff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.nv-footer-bottom-link:hover {
    color: var(--nv-main);
}

/* --------------------------------------------------------------------------
   Botón amarillo NV - hover lift
   -------------------------------------------------------------------------- */
.btn-nv {
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease !important;
}

.btn-nv:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

/* Variante amarilla - oscurece en hover */
.btn-nv.bg-nv-secondary:hover {
    background-color: var(--nv-secondary-dark) !important;
}

/* Variante oscura - fondo negro, texto blanco */
.btn-nv-dark {
    background-color: #1a1a1a !important;
    color: #fff !important;
    border: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.btn-nv-dark:hover {
    background-color: #333 !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

/* --------------------------------------------------------------------------
   Back to Top
   -------------------------------------------------------------------------- */
.nv-back-top {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    width: 44px;
    height: 44px;
    background-color: var(--nv-secondary);
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    z-index: 999;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.nv-back-top::after {
    font-family: 'bootstrap-icons';
    content: '\F145';
    color: #1a1a1a;
    font-size: 1.25rem;
    line-height: 1;
}

.nv-back-top:hover {
    background-color: var(--nv-secondary-dark);
    transform: translateY(-2px);
}

.nv-back-top.visible {
    display: flex;
}

/* --------------------------------------------------------------------------
   Hero figura decorativa - bottom sobresaliente
   -------------------------------------------------------------------------- */
.nv-hero-figura {
    bottom: -25px;
}

@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}
