:root {
    /* Brand Colors - Pure Neutral Grays (No Blue Tint) */
    --brand-primary: #4a4a4a;        /* Pure dark gray */
    --brand-secondary: #6c6c6c;      /* Pure medium gray */
    
    /* Functional Colors */
    --whatsapp-green: #128C7E;       /* Darker green for light bg */
    --whatsapp-hover: #075E54;       /* Even darker on hover */
    --whatsapp-dark: #053b25;
    --link-blue: #2d2d2d;            /* Dark gray for links */
    --link-dark-blue: #3a3a3a;       /* Medium dark gray */
    --link-light-blue: #5a5a5a;      /* Medium gray */
    --link-hover-gold: #7a7a7a;      /* Light gray on hover */
    
    /* Neutrals */
    --text-main: #3a3a3a;            /* Dark gray text */
    --text-dark: #2d2d2d;
    --text-secondary: #5a5a5a;       /* Medium gray text */
    --text-light-grey: #8a8a8a;
    --text-dark-grey: #4a4a4a;
    --black: #2d2d2d;                /* Pure dark gray */
    --white: #ffffff;
    --bg-light: #f8f9fa;             /* Light gray background */
    --bg-off-white: #ffffff;
    --border-color: #dee2e6;
    --border-hover: #ced4da;
    --disabled-grey: #adb5bd;
    --shadow-grey: #6c757d;
    --active-grey: #adb5bd;
    
    
    /* Extended Palette */
    --brand-danger: #d02b2b;         /* Keep red for errors */
    --brand-info: #8a8a8a;           /* Pure neutral gray */
    --brand-success: #2ed573;        /* Keep green for success */
    --brand-warning: #d68910;        /* Softer orange for warnings */
    --brand-accent: #9a9a9a;         /* Pure light gray */
    --success-green: #4caf50;
    --error-red: #dc3545;
    
    /* UI Shades */
    --ui-grey-100: #f8f9fa;          /* Very light */
    --ui-grey-200: #e9ecef;
    --ui-grey-300: #dee2e6;
    --ui-grey-400: #ced4da;
    --ui-dark-1: #5a5a5a;            /* Pure medium gray */
    --ui-dark-2: #7a7a7a;            /* Pure light gray */
    --ui-dark-3: #adb5bd;

    --top-bar: #ffffff;
    --footer-bar: #f8f9fa;           /* Light gray instead of black */
    
    /* RGB Components for RGBA (use with rgba(var(--xxx-rgb), alpha)) */
    --brand-primary-rgb: 74, 74, 74;
    --brand-secondary-rgb: 108, 108, 108;
    --brand-info-rgb: 138, 138, 138;
    --white-rgb: 255, 255, 255;
    --black-rgb: 45, 45, 45;
}


.bg-success {
   background-color: #28a745 !important;
}

.btn__wthasapp {
    position: fixed;

    width: 60px;

    height: 60px;

    bottom: 100px;

    right: 20px;

    background-color: var(--whatsapp-green);

    color: var(--var(--white));

    border-radius: 50px;

    text-align: center;

    font-size: 30px;

    box-shadow: 2px 2px 3px var(--shadow-grey);

    z-index: 1000;
}

.btn__wthasappIcon {
    margin-top: 16px;

    color: var(--var(--white));
}

.btn__wthasapp:hover {
    color: var(--var(--white));
}

/* HERO SLIDER MODERN */

.hero-slider {
    width: 100%;
    height: auto;
}

.swiper-slide {
    background-position: center;
    background-size: cover;
}

.swiper-slide img {
    display: block;
    width: 100%;
}

.hero__swiper {
    background-size: cover;
    background-position: center center;
}

/* Modern Pagination Bullets */
.swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: rgba(var(--white-rgb), 0.5);
    opacity: 1;
    transition: all 0.3s ease;
}



.swiper-pagination-bullet-active {
    background: var(--brand-primary);
    width: 30px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(var(--brand-primary-rgb), 0.5);
}

/* Modern Navigation Arrows */
.hero-slider .swiper-button-next,
.hero-slider .swiper-button-prev {
    width: 50px;
    height: 50px;
    background: rgba(var(--white-rgb), 0.9);
    border-radius: 50%;
    box-shadow: 0 4px 15px rgba(var(--black-rgb), 0.2);
    transition: all 0.3s ease;
}

.hero-slider .swiper-button-next::after,
.hero-slider .swiper-button-prev::after {
    font-size: 20px;
    color: var(--brand-primary);
    font-weight: bold;
}

.hero-slider .swiper-button-next:hover,
.hero-slider .swiper-button-prev:hover {
    background: var(--brand-primary);
    box-shadow: 0 6px 20px rgba(var(--brand-primary-rgb), 0.4);
}

.hero-slider .swiper-button-next:hover::after,
.hero-slider .swiper-button-prev:hover::after {
    color: var(--white);
}

/* CTA Button Hover Effect */
.hero-slider .btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(var(--brand-primary-rgb), 0.6) !important;
}

/* Hero Slider Text Entrance Animations */
@keyframes heroTitleEntry {
    0% {
        opacity: 0;
        transform: scale(0.8) translateY(-30px);
    }
    60% {
        transform: scale(1.05) translateY(0);
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

@keyframes heroDescEntry {
    0% {
        opacity: 0;
        transform: translateY(40px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes heroBtnEntry {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.9);
    }
    60% {
        transform: translateY(-5px) scale(1.05);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.hero__titleOrange {
    color: var(--brand-primary);
    font-size: 2rem !important;
}

@media (max-width: 480px) {
    .hero-slider {
        height: auto;
    }
    
    .hero-slider .swiper-button-next,
    .hero-slider .swiper-button-prev {
        width: 40px;
        height: 40px;
    }
    
    .hero-slider .swiper-button-next::after,
    .hero-slider .swiper-button-prev::after {
        font-size: 16px;
    }
}

/* SERVICES */

.services__images {
    width: 100%;

    border-top-right-radius: 10px;

    border-top-left-radius: 10px;
}

/* NEWS */

.priceTitle {
    font-size: 1.2rem;
}

.solutionsIcon {
    font-size: 2.5rem !important;
    -webkit-text-stroke: 1px;
    color: #4a4a4a !important;
}


/* =========================================
   MODERN CATEGORY CARDS - VERIFIED LIVE FIX (V10)
   ========================================= */

/* 1. CAROUSEL CONTAINER: Fix Scrollbar & Allow Hover Headroom */
.category-carousel, 
.tns-slider {
    overflow: visible !important;
}

/* KEY FIX: Keep tns-ovh/outer HIDDEN to prevent page scrollbar, 
   but add PADDING so the card can move up INSIDE the clipping area. */
.tns-outer,
.tns-ovh {
    overflow: hidden !important; 
    padding: 30px 10px !important; /* 30px top/bottom buffer for hover */
    margin: -30px -10px !important; /* Negative margin to neutralize layout shift */
}

/* Add wrapper padding just in case */
.tns-carousel-wrapper {
    padding: 0 !important;
}

/* 2. THE SPACER (tns-item): Reset to be a transparent container */
.category-card-modern.tns-item,
#categorias_home .tns-item {
    background: #e9e9f2 !important;
    box-shadow: none !important;
    border: none !important;
    padding: 40px 20px 20px 20px !important;
    overflow: visible !important;
    width: 100% !important;
    margin: 10px !important;
    /* margin-top: 22px !important; */
    border-radius: 20px;
}

/* 3. THE ACTUAL CARD (Link Wrapper): Add separation and rounding */
.category-link-wrapper {
    display: block !important;
    /* INCREASE GAP: 20px margin = 40px gap total. Smaller card width */
    margin: 0 20px !important; 
    width: calc(100% - 40px) !important;
    
    border-radius: 20px !important;
    overflow: hidden !important;
    
    /* FIX BACKGROUND ARTIFACTS: Transparent to avoid "square" underlay */
    background: transparent !important; 
    
    box-shadow: 0 8px 25px rgba(var(--black-rgb),0.1) !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    z-index: 1 !important;
    height: 100% !important;
    min-height: 450px;
    
    /* Fix Safari/Chrome rounding bug during animation */
    -webkit-transform: translateZ(0);
    transform: translateZ(0); 
    -webkit-mask-image: -webkit-radial-gradient(var(--white), var(--black));
}

/* 4. ROBUST HOVER EFFECT */
.category-card-modern:hover .category-link-wrapper {
    transform: translateY(-15px) !important;
    box-shadow: 0 20px 50px rgba(var(--brand-primary-rgb), 0.4) !important;
}

/* 5. FORCE ROUNDING ON CHILDREN & OVERLAY */
.category-card-inner, 
.category-image-container, 
.category-gradient-overlay { 
    border-radius: 20px !important; 
    overflow: hidden !important;
}

/* 6. FORCE ROUNDING ON IMAGE (Even on Zoom) */
.category-image,
.category-card-modern img {
    border-radius: 20px !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Ensure overlay stays inside */
.category-gradient-overlay {
    position: absolute;
    top: 0; left: 0; 
    width: 100%; height: 100%;
    z-index: 2;
    pointer-events: none;
}

/* Text Content - Ensure visibility */
.category-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 30px;
    z-index: 10;
    text-align: left;
    pointer-events: none;
}

.category-title {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--white);
    text-shadow: 2px 2px 8px rgba(var(--black-rgb), 0.4);
}

.category-cta {
    display: inline-block;
    padding: 12px 28px;
    background: var(--white);
    color: var(--brand-primary);
    font-weight: 700;
    border-radius: 50px;
}


.blogCard__title {
    font-size: 1rem;
}

.blogVideosTop {
    height: 200px;

    background-size: cover;

    background-position: center center;

    background-repeat: no-repeat;
}

/* CARD */

.card__textBody {
    min-height: 75px;
}

.bg-gradient {
    background-color: #f5f5f5;
    background-image: linear-gradient(
        to right,
        #f0f0f0 0%,
        #f8f8f8 30%,
    );
}

/* ==========================================
   FEATURED PRODUCTS SECTION - WOW DESIGN
   ========================================== */

/* Section Styles with Clean Background */
.products-featured-section {
    position: relative;
overflow: hidden;
}

/* Remove animated background shapes */
.products-featured-section::before,
.products-featured-section::after {
    display: none;
}

/* Ensure content is above background */
.products-featured-section .container {
    position: relative;
    z-index: 1;
}

@keyframes gradientShift {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

@keyframes float1 {
    0%, 100% {
        transform: translate(0, 0) rotate(0deg);
    }
    33% {
        transform: translate(50px, 50px) rotate(120deg);
    }
    66% {
        transform: translate(-30px, 30px) rotate(240deg);
    }
}

@keyframes float2 {
    0%, 100% {
        transform: translate(0, 0) rotate(0deg);
    }
    50% {
        transform: translate(-40px, -40px) rotate(180deg);
    }
}



/* Header Styles */
.featured-badge {
    display: inline-block;
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    color: var(--white);
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 10px 24px;
    border-radius: 50px;
}

.featured-main-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-dark);
}

.featured-subtitle {
    color: var(--text-secondary);
    font-size: 1.1rem;
}

/* Product Card */
.product-card-wow {
    position: relative;
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(var(--black-rgb), 0.05);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
}

.product-card-wow:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(var(--brand-primary-rgb), 0.15);
}

/* Badge */
.product-new-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    color: var(--white) !important;
    font-weight: 700;
    font-size: 0.7rem;
    padding: 6px 12px;
    border-radius: 20px;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(var(--brand-primary-rgb), 0.5);
    letter-spacing: 0.5px;
    opacity: 1; /* Ensure opacity */
    display: block; /* Ensure display */
}

/* Image Section */
.product-img-wrapper {
    display: block;
    position: relative;
    height: 280px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--bg-light) 0%, var(--var(--white)) 100%);
}

.product-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.product-card-wow:hover .product-img {
    transform: scale(1.1);
}

/* Card Body */
.product-card-body {
    padding: 20px;
    text-align: center;
}

.product-card-title {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 12px;
    line-height: 1.4;
    min-height: 42px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.3s ease;
}

.product-card-wow:hover .product-card-title {
    color: var(--brand-primary);
}

/* Price Box */
.product-price-box {
    margin-bottom: 16px;
}

.product-price-amount {
    display: inline-block;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--brand-primary);
    padding: 8px 18px;
    background: rgba(var(--brand-primary-rgb), 0.1);
    border-radius: 12px;
    border: 2px solid rgba(var(--brand-primary-rgb), 0.2);
}

/* Button */
.product-btn-view {
    display: inline-block;
    width: 100%;
    padding: 12px 20px;
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    color: var(--white) !important; /* Force var(--white) text */
    text-decoration: none;
    font-weight: 700;
    font-size: 0.9rem;
    border-radius: 10px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(var(--brand-primary-rgb), 0.3);
    border: none; /* Ensure no border override */
}

.product-btn-view:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(var(--brand-primary-rgb), 0.5);
    color: var(--white) !important;
}

/* Responsive */
@media (max-width: 768px) {
    .featured-main-title {
        font-size: 2rem;
    }
    
    .product-img-wrapper {
        height: 220px;
    }
    
    .product-card-body {
        padding: 15px;
    }
    
    .product-card-title {
        font-size: 0.85rem;
        min-height: 38px;
    }
    
    .product-price-amount {
        font-size: 1.3rem;
        padding: 6px 14px;
    }
}

/* ==========================================
   MODERN COOKIE ALERT (Floating Card)
   ========================================== */

#cookie-alert {
    position: fixed !important;
    bottom: 20px !important;
    left: 20px !important;
    right: auto !important;
    width: 340px !important;
    max-width: 90% !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    color: #000000 !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
    border: 1px solid #e0e0e0 !important;
    padding: 0 !important;
    z-index: 9999 !important;
    animation: slideUpCookie 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
    transform: translateY(0);
}

@keyframes slideUpCookie {
    from { transform: translateY(20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

#cookie-alert .container {
    padding: 24px !important;
    text-align: left !important;
}

#cookie-alert p {
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
    color: #000000 !important;
}

#cookie-alert a {
    color: #000000 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}

#cookie-alert .d-flex {
    justify-content: space-between !important;
    gap: 10px !important;
}

#btn-cookie-accept {
    flex-grow: 1;
    background: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #000000 !important;
    border-radius: 8px !important;
    padding: 10px !important;
    font-weight: 600 !important;
    transition: all 0.2s;
}

#btn-cookie-accept:hover {
    background: #333333 !important;
    transform: scale(1.02);
}

#btn-cookie-reject {
    flex-grow: 1;
    background: #f0f0f0 !important;
    color: #000000 !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 8px !important;
    padding: 10px !important;
}

#btn-cookie-reject:hover {
    background: #e0e0e0 !important;
    color: #000000 !important;
}

/* Hide on mobile if too annoying? No, allow full width on mobile */
@media (max-width: 576px) {
    #cookie-alert {
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        bottom: 10px !important;
    }
}

/* ==========================================
   BLOG SECTION - MODERN DESIGN
   ========================================== */

/* Section Styles - Clean Background */
.blog-modern-section {

}

/* Override carousel item backgrounds */
.blog-modern-section .tns-item {
    background: transparent !important;
}

.blog-modern-section .tns-item::before,
.blog-modern-section .tns-item::after {
    display: none !important;
}

/* Header Styles */
.blog-badge {
    display: inline-block;
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    color: var(--white);
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 10px 24px;
    border-radius: 50px;
}

.blog-main-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-dark);
}

.blog-subtitle {
    color: var(--text-secondary);
    font-size: 1.1rem;
}

/* Blog Card - No Individual Background */
.blog-card-modern {
    background: var(--white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(var(--black-rgb), 0.05); /* Softer base shadow */
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
    display: flex;
    flex-direction: column;
    margin: 0; /* Wrapper handles gutter */
    padding: 0;
}

/* Override ALL card-hover effects from theme */
.blog-card-modern::before,
.blog-card-modern::after {
    display: none !important;
}

/* Lift Effect Only - No Shadow Expansion (Fixes "Gray Background" perception) */
.tns-item .blog-card-modern:hover,
.blog-card-modern:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 15px rgba(var(--black-rgb), 0.05) !important; /* Keep base shadow, do not expand/darken */
    background: var(--white) !important;
}


/* Image Section */
.blog-img-link {
    display: block;
    position: relative;
    overflow: hidden;
    height: 260px;
    background: var(--white);
    margin: 0;
    padding: 0;
    line-height: 0;
}

.blog-img-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--white);
    margin: 0;
    padding: 0;
    line-height: 0;
}


.blog-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    margin: 0;
    padding: 0;
    vertical-align: top;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}


.blog-card-modern:hover .blog-img {
    transform: scale(1.05); /* Subtler zoom */
}

.blog-img-overlay {
    display: none; /* User dislikes "gray" overlay */
}

/* Card Body */
.blog-card-body {
    padding: 28px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* Date Badge */
.blog-date-badge {
    display: inline-block;
    color: var(--brand-primary);
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 14px;
}

.blog-date-badge i {
    margin-right: 6px;
}

/* Title */
.blog-card-title {
    margin-bottom: 16px;
    line-height: 1.4;
}

.blog-card-title a {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-dark);
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.3s ease;
}

.blog-card-title a:hover {
    color: var(--brand-primary);
}

/* Excerpt */
.blog-card-excerpt {
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.7;
    margin-bottom: 20px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
}

/* Read More Link */
.blog-read-more {
    display: inline-flex;
    align-items: center;
    color: var(--brand-primary);
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: auto;
}

.blog-read-more:hover {
    color: var(--brand-secondary);
    transform: translateX(5px);
}

/* Responsive */
@media (max-width: 768px) {
    .blog-main-title {
        font-size: 2rem;
    }
    
    .blog-img-link {
        height: 220px;
    }
    
    .blog-card-body {
        padding: 20px;
    }
    
    .blog-card-title a {
        font-size: 1.1rem;
    }
    
    .blog-card-modern {
        margin: 0 5px;
    }
}



/* RESPONSIVE */

@media (max-width: 500px) {
    .btn {
        var(--white)-space: inherit;
    }
}

.img_zoom_container {
    overflow: hidden;

    position: relative;
}

.zoom-effect {
    transition: transform 1.5s ease;
}

.img_zoom_container:hover .zoom-effect {
    transform: scale(1.1);
}

.overlay-text {
    position: absolute;

    bottom: 10px; /* Ajusta según necesidad */

    left: 10px; /* Ajusta según necesidad */
}

/* Cambiamos de .img-fluid.zoom-effect a .card-img-zoom */

.card-img-zoom {
    height: 200px;

    object-fit: cover;
}

/* Cambiamos de .card-img-top a .card-custom-img */

.card-custom-img {
    display: block;

    overflow: hidden;

    /*height: 200px;*/
}

.card-custom-img img {
    /*height: 100%;*/

    object-fit: cover;
}

/* BOTON INSTALACION PWA */

.button-pwa-link {
    background: none;
    border: none;
    color: var(--link-blue);
    cursor: pointer;
    text-decoration: none;
    /* Cambiar subrayado a ninguno */
    padding: 0;
    /* Eliminar espacio adicional alrededor del texto */
}

.button-pwa-link:hover {
    color: var(--link-hover-gold);
    /* Cambiar color de texto a oro cuando se pone el mouse encima */
}
/* BOTON INSTALACION PWA */

/* Alerta para los fletes */
#alerta_fletes {
    min-height: 64px;
}
.oculto-reservado {
    visibility: hidden;
}

header, .header { position: fixed;transform: translate3d(0px, 0px, 0px);top: 0;right: 0;left: 0;margin: 0; z-index:1100 !important; }
#zona_lista_productos_carrito { 
    /*position: absolute;right:0px;width:300px;*/
    z-index:2000 !important; 
    #shoppingCart { background: #ffffff !important;/*height: max-content;*/ }
    .offcanvas { position: fixed; }    
}

@media (min-width: 992px) {
    #zona_lista_productos_carrito .navbar-expand-lg .offcanvas-header { /*display: inherit;*/ }
}

/* Shopping Cart Button - Orange */
#zona_lista_productos_carrito .btn-primary,
#shoppingCart .btn-primary {
    background: linear-gradient(135deg, #4a4a4a 0%, #6c6c6c 100%) !important;
    border-color: #4a4a4a !important;
    color: #ffffff !important;
}

#zona_lista_productos_carrito .btn-primary:hover,
#shoppingCart .btn-primary:hover {
    background: linear-gradient(135deg, #6c6c6c 0%, #4a4a4a 100%) !important;
    border-color: #6c6c6c !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(74, 74, 74, 0.4) !important;
}

.simplebar-content-wrapper { height:100% !important;overflow: hidden; }   
.modal { z-index: 1110 !important; }
.navbar .offcanvas { z-index: 1500; }
.offcanvas.order-lg-2 { height: 100dvh; }
.offcanvas.offcanvas-end { height: 100dvh; }

@media (max-width: 480px) {
    .offcanvas.order-lg-2 { height: 100dvh !important; }
    .offcanvas.offcanvas-end { height: 100dvh !important; }
}




#topPanel.offcanvas-top {
    height: 100vh;
    width: 80vw;
    z-index: 1200;
}




/* pagingbar */

.pagination {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 2rem 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.pagination li {
    margin: 0 4px;
}

.pagination a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    text-decoration: none;
    color: var(--text-main);
    font-weight: 500;
    transition: all 0.3s ease;
    border: 1px solid var(--border-color);
}

.pagination a:hover:not(.active) {
    background-color: var(--bg-light);
    border-color: var(--border-hover);
}

.pagination .active a {
    background-color: var(--active-grey); /*var(--link-light-blue);*/
    color: var(--white);
    border-color: var(--active-grey); /*var(--link-light-blue);*/
}

.pagination .disabled a {
    color: var(--disabled-grey);
    pointer-events: none;
}

.pagination .gap {
    display: flex;
    align-items: flex-end;
    padding: 0 8px;
    color: var(--text-secondary);
}

.pagination .first, .pagination .next, .pagination .last, .pagination .prev { border:none; width:90px; }
.pagination .first:hover, .pagination .next:hover, .pagination .last:hover, .pagination .prev:hover { background-color:unset !important;border-color:unset !important; }

.lg-outer { z-index: 1102 !important; }
.lg-backdrop { z-index: 1101 !important; }



/* =========================================================
   MEGAMENU SIEV PRO – FULL WIDTH CENTRADO MODERNO
========================================================= */

.navbar-light .navbar-nav .nav-link {
    color: #2b2b30 !important  ;
}

.navbar-light .navbar-nav .nav-link:hover {
    color: #2d24e6 !important  ;
}


ul.navbar-nav{

    padding-left:0;
    margin-bottom:0;
}

ul.navbar-nav li{
    margin-bottom:0 !important;
}

.nav-item{
    position:relative;
}

/* ===== LINKS PRINCIPALES ===== */
.nav-link{
    color:var(--var(--white)) !important;
    font-weight:600;
    font-size:16px;
    padding:14px 20px;
    display:block;
    text-decoration:none;
    border-radius:8px;
    transition:all .18s ease;
}

.nav-link.dropdown-toggle{
    font-weight:600;
    font-size:16px;
}

.nav-item:hover>.nav-link,
.nav-link:hover{
    background:var(--bg-light);
    color:var(--var(--black)) !important;
}

/* ===== MEGAMENU FULL WIDTH CENTRADO ===== */
.mega-menu{
    position:static;
}

.mega-menu .dropdown-menu{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    width:100vw;
    max-width:100vw;
    margin:0;
    padding:40px 80px;
    border:none;
    border-top:1px solid var(--border-color);
    border-radius:0;
    background:var(--var(--white));
    display:none;
    z-index:1150;
    box-shadow:none;
}

.mega-menu:hover .dropdown-menu{
    display:block;
}

/* ===== GRID ===== */
ul.mega-grid{
    list-style:none;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:16px 60px;
    padding:0;
    margin:0 auto;
    width:100%;
    max-width:1400px;
}

/* INNOVACION: Banner Superior */
.banner-zoom-container {
    overflow: hidden;
    position: relative;
    border-radius: 12px; /* Opcional: bordes redondeados */
}

.banner-zoom-img {
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transform-origin: center;
}

.banner-zoom-container:hover .banner-zoom-img {
    transform: scale(1.05);
}

.glass-card {
    background: rgba(var(--black-rgb), 0.4); /* Oscuro para contraste con texto blanco */
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(var(--white-rgb), 0.1);
    box-shadow: 0 8px 32px 0 rgba(var(--black-rgb), 0.3);
    border-radius: 16px;
    padding: 2rem;
}

/* ===== TIPOGRAFIA UNIFORME ===== */
.mega-menu,
.mega-menu *{
    font-family:inherit;
    font-size:16px;
    font-weight:500;
    color:var(--text-main);
    line-height:1.35;
}

/* ===== LINKS ===== */
ul.mega-grid li{
    padding:2px 0;
}

ul.mega-grid li a{
    display:block;
    padding:4px 0;
    text-decoration:none;
    color:var(--text-main);
    transition:all .18s ease;
}

/* Hover elegante */
ul.mega-grid li a:hover{
    color:var(--var(--black));
    text-decoration:underline;
    text-underline-offset:4px;
}

/* quitar bloques grises */
.mega-menu li:hover,
.mega-menu li:focus{
    background:transparent !important;
}

/* ===== SUBMENU LATERAL ===== */
.dropdown-menu .dropdown-menu{
    background:var(--var(--white));
    border:1px solid var(--border-color);
    border-radius:12px;
    padding:16px 20px;
    box-shadow:0 10px 25px rgba(var(--black-rgb),.06);
}

/* ===== RESPONSIVE ===== */
@media(max-width:991px){

    .nav-link{
        font-size:16px;
        padding:14px 18px;
    }

    .dropdown-menu{
        position:static !important;
        transform:none !important;
        width:100% !important;
        border:none;
        border-radius:0;
        box-shadow:none;
    }

    .mega-menu .dropdown-menu{
        padding:20px;
    }

    ul.mega-grid{
        grid-template-columns:1fr;
        gap:6px;
        max-width:100%;
    }

    .mega-menu:hover .dropdown-menu{
        display:block;
    }
}

/* ===== UTILIDADES ===== */
.noList{
    list-style:none;
    padding-left:0;
}

.hide{
    display:none !important;
}

.nav-link::after,
.nav-item.dropdown.has-children>.nav-link::after{

    content:none !important;
}

/* ==========================================
   GALLERY SECTION - MODERN DESIGN
   ========================================== */

/* Card Container */
.gallery-card-modern {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    background: var(--white);
    box-shadow: 0 4px 15px rgba(var(--black-rgb), 0.08); /* Soft shadow */
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%; /* Ensure full height in grid */
    cursor: pointer;
}

.gallery-card-modern:hover {
    transform: translateY(-5px); /* Lift effect */
    box-shadow: 0 15px 30px rgba(var(--brand-primary-rgb), 0.2); /* Orange shadow on hover */
}

/* Link Wrapper */
.gallery-link-wrapper {
    display: block;
    position: relative;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

/* Image Container */
.gallery-image-container {
    position: relative;
    padding-bottom: 75%; /* 4:3 Aspect Ratio */
    overflow: hidden;
    background: var(--ui-grey-100); /* Placeholder color */
}

.gallery-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Cover the container */
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.gallery-card-modern:hover .gallery-image {
    transform: scale(1.1); /* Zoom effect */
}

/* Overlay with Icon */
.gallery-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(235, 102, 0.6); /* Orange transparent overlay */
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
}

/* Fix for hex color in overlay */
.gallery-card-modern:hover .gallery-overlay {
    background: rgba(var(--brand-primary-rgb), 0.6);
    opacity: 1; /* Show overlay on hover */
}

.gallery-icon-wrapper {
    width: 50px;
    height: 50px;
    background: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0.8);
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.gallery-card-modern:hover .gallery-icon-wrapper {
    transform: scale(1); /* Pop icon */
}

.gallery-icon-modern {
    color: var(--brand-primary); /* Orange icon */
    font-size: 1.2rem;
}

/* Content/Title */
.gallery-content {
    padding: 15px 20px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(to top, rgba(var(--black-rgb),0.8) 0%, rgba(var(--black-rgb),0) 100%); /* Gradient for readability */
    z-index: 3;
    pointer-events: none; /* Let clicks pass through */
}

.gallery-title {
    color: var(--white);
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    text-shadow: 0 2px 4px rgba(var(--black-rgb),0.5);
    var(--white)-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transform: translateY(10px);
    opacity: 0;
    transition: all 0.3s ease;
}


.gallery-card-modern:hover .gallery-title {
    transform: translateY(0);
    opacity: 1;
}

/* ==========================================
   TESTIMONIALS SECTION - MODERN DESIGN
   ========================================== */

.testimonial-card-modern {
    background: var(--white);
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 4px 15px rgba(var(--black-rgb), 0.05);
    transition: all 0.3s ease;
    height: 100%;
}

.testimonial-card-modern:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(var(--brand-primary-rgb), 0.15);
}

.testimonial-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--ui-grey-100);
    color: var(--brand-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    flex-shrink: 0;
}


.testimonial-text {
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.6;
    margin-bottom: 0;
    font-style: italic;
}



/* ==========================================
   SOCIAL BUTTONS - GLOBAL HOVER STYLES
   ========================================== */

/* Global social button hover - icons turn white */
.btn-social:hover i {
    color: var(--white) !important;
}

/* Global PWA/Action button hover - icons turn white */
.button-pwa-link:hover i {
    color: var(--white) !important;
}

/* ==========================================
   FOOTER MODERNIZATION (CSS ONLY)
   Safe Dark Theme - No HTML Changes
   ========================================== */

#footer {
   
    color: #cecece!important;
    padding-top: 60px;
    padding-bottom: 30px;
    border-top: 2px solid #5c5c5c;
    margin-top: 20px;
    background-color: var(--footer-bar) !important;   
}

#footer h2.widget-title {
    color:#000000 !important;
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
    position: relative;
    padding-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

#footer h2.widget-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 3px;
    background: var(--brand-primary);
}

/* Links & Text */
#footer a, 
#footer .widget-link,
#footer li span,
#footer p {
    color: var(--text-light-grey) !important;
    text-decoration: none;
    transition: all 0.3s ease;
    font-size: 0.95rem;
}

#footer a:hover,
#footer .widget-link:hover {
    color: var(--brand-primary) !important;
    padding-left: 5px;
}

/* Icons */
#footer i {
    color: #000000 !important;
    width: 20px;
    text-align: center;
}

/* Social Buttons */
#footer .btn-social {
    background-color: #1f202036 !important;
    border: 1px solid rgba(var(--white-rgb), 0.1) !important;
    color: var(--var(--white)) !important;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 5px;
    transition: all 0.3s ease;
       color: #fff !important  ;
}

#footer .btn-social:hover {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    transform: translateY(-3px);
    color: #fff !important  ;
}

#footer .btn-social i {
    color: var(--var(--white)) !important;
}

#footer .btn-social:hover i {
    color: var(--white) !important; /* White icon on hover */
}


/* PWA & Action Buttons */
#footer .button-pwa-link {
    background: #000000;
    color: #ffffff !important;
    border: 1px solid rgba(var(--white-rgb), 0.2);
    padding: 8px 15px;
    border-radius: 50px;
    display: block;
    width: 100%;
    text-align: left;
    margin-bottom: 10px;
    transition: all 0.3s ease;
}

#footer .button-pwa-link:hover {
    background:#4a4a4a;
    border-color: var(--brand-primary);
    color: var(--white) !important;
    padding-left: 20px;
}

#footer .button-pwa-link i {
    color: #ffffff !important;
    transition: color 0.3s ease;
}

#footer .button-pwa-link:hover i {
    color: #ffffff !important;
}

/* Copyright Area */
.copyright {
    background-color: var(--var(--black))000 !important;
    color: var(--text-secondary) !important;
    border-top: 1px solid var(--text-main);
    padding: 20px 0;
}

.copyright a {
    color: var(--brand-primary) !important;
    text-decoration: none;
}

/* ==========================================
   MODAL CONTACT MODERNIZATION
   ========================================== */

#modal-contact .btn-outline-secondary {
    color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    background-color: var(--var(--white)) !important; /* Force var(--white) bg to remove dark blue */
    font-weight: 600;
}

#modal-contact .btn-outline-secondary:hover {
    background-color: var(--brand-primary) !important;
    color: var(--var(--white)) !important;
    border-color: var(--brand-primary) !important;
}

#modal-contact .btn-outline-secondary i {
    color: var(--brand-primary); /* Orange icons by default */
    transition: color 0.3s ease;
}

#modal-contact .btn-outline-secondary:hover i {
    color: var(--var(--white)); /* White icons on hover */
}

/* Modal Tabs */
#modal-contact .nav-link {
    color: var(--text-secondary);
    border-left: 3px solid transparent;
}

#modal-contact .nav-link:hover,
#modal-contact .nav-link.active {
    color: var(--brand-primary);
    background-color: rgba(var(--brand-primary-rgb), 0.05);
    border-left-color: var(--brand-primary);
}

#modal-contact .nav-link i {
    color: var(--brand-primary);
}

/* Modal Headers */
#modal-contact h5 {
    color: var(--brand-primary);
    margin-bottom: 1rem;
}

/* ==========================================
   WHATSAPP LIST - CARD STYLE
   ========================================== */
/* ==========================================
   MODAL CARD LIST (Generic)
   ========================================== */
.modal-card-list li {
    margin-bottom: 8px;
    background: var(--ui-grey-100);
    border: 1px solid var(--ui-grey-200);
    border-radius: 8px;
    transition: all 0.3s ease;
}

.modal-card-list a {
    display: block; /* Make the whole card clickable */
    padding: 10px 15px;
    color: var(--text-dark-grey);
    text-decoration: none;
    font-weight: 500;
    display: flex;
    align-items: center;
}

/* Hover Effect */
.modal-card-list li:hover {
    background: var(--var(--white));
    border-color: var(--brand-primary);
    transform: translateX(5px); /* Slide right effect */
    box-shadow: 0 4px 10px rgba(var(--brand-primary-rgb), 0.15);
}

.modal-card-list li:hover a {
    color: var(--brand-primary);
}

/* Icons in list */
.modal-card-list i, 
.modal-card-list svg {
    margin-right: 10px;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    color: var(--text-secondary); /* Default generic icon color */
}

/* Specific: WhatsApp Icons Green by Default */
.modal-card-list .fa-whatsapp,
.modal-card-list .bi-whatsapp {
    color: var(--whatsapp-green); 
}

/* On Hover: All icons turn Orange */
.modal-card-list li:hover i,
.modal-card-list li:hover svg {
    color: var(--brand-primary); 
}

/* =========================================
   HEADER SCROLL EFFECTS (Black/Blue Theme)
   ========================================= */

/* 1. Default & Scrolled State: Black Background */
.navbar,
.navbar-stuck, 
.header-scrolled {
    background-color: var(--var(--black))000 !important; 
    transition: background-color 0.4s ease-in-out, padding 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(var(--black-rgb),0.5) !important;
}

/* 2. Text Colors: White */
.navbar .navbar-brand,
.navbar .nav-link,
.navbar .navbar-tool-icon-box,
.navbar i {
    color: var(--var(--white)) !important;
}

/* 3. Hover Highlight: Blue */
.navbar .nav-link:hover,
.navbar .active > .nav-link,
.dropdown-item:hover,
.dropdown-item.active {
    color: var(--brand-info) !important; /* Bright Blue */
    background-color: transparent !important;
}

/* 4. DROPDOWNS & MEGAMENU: Black Theme */
.dropdown-menu,
.dropdown-menu.show {
    background-color: var(--var(--black))000 !important;
    border: 1px solid var(--text-main) !important;
    color: var(--var(--white)) !important;
}

.dropdown-item {
    color: var(--disabled-grey) !important;
}

.dropdown-item:hover {
    color: var(--brand-info) !important; /* Blue Text on Hover */
    background-color: rgba(var(--brand-info-rgb), 0.1) !important; /* Slight Blue Bg */
}



/* =========================================
   BODY BACKGROUND (Purple)
   ========================================= */

body {
    background-color: #fff !important;
    color: #000000 !important;
}



/* Ensure main wrapper acts transparent or matches */
main, .page-wrapper {
    background-color: transparent !important;
}

/* =========================================
   MEGAMENU STYLING (Fixed & Centered) - LIGHT VERSION
   ========================================= */
.navbar .mega-menu {
    position: relative !important;
}

/* Dropdown Container */
.navbar .mega-menu .dropdown-menu {
    width: 700px !important;
    max-width: 95vw !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    padding: 25px !important;
    background-color: var(--var(--white)) !important; /* White Background */
    border: 1px solid var(--border-color) !important;
    box-shadow: 0 10px 30px rgba(var(--black-rgb),0.15) !important;
    border-radius: 8px !important;
}

/* Grid Layout */
.navbar .mega-menu .mega-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 15px !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

/* Items */
.navbar .mega-menu .mega-grid > li {
    width: 100% !important;
}

.navbar .mega-menu .mega-grid > li > a {
    display: block !important;
    padding: 8px 12px !important;
    color: var(--text-main) !important; /* Black Text */
    text-decoration: none !important;
    font-size: 14px !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
    border-bottom: 1px solid var(--ui-grey-100) !important; /* Subtle separator */
}

.navbar .mega-menu .mega-grid > li > a:hover {
    background-color: rgba(var(--brand-info-rgb), 0.05) !important;
    color: var(--brand-info) !important; /* Blue Highlight */
    padding-left: 18px !important;
}

/* =========================================
   HEADER YELLOW (Amarillo Pollito)
   ========================================= */

/* Background */
.navbar,
.navbar-stuck,
.header-scrolled,
.topbar {
    background-color: var(--top-bar) !important; /* Chick Yellow */
    box-shadow: 0 4px 15px rgba(var(--black-rgb),0.1) !important;
}

/* Text Colors: Black for Contrast */
.navbar .navbar-brand,
.navbar .nav-link,
.navbar .navbar-tool-icon-box,
.navbar i,
.topbar,
.topbar a {
    color: var(--var(--black))000 !important;
}

/* Toggler Icon (Mobile Menu Burger) */
.navbar-toggler-icon {
    /* Use standard black hamburger SVG */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgb(0, 0, 0)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    filter: none !important;
}

/* Hover Effects */
.navbar .nav-link:hover,
.dropdown-item:hover {
    color: var(--brand-info) !important; /* Keep Blue Highlight */
}

/* Button Close Offcanvas */
.btn-close {
    filter: none !important;
}

/* =========================================
   MOBILE MENU & MEGAMENU FIXES
   ========================================= */

@media (max-width: 991.98px) {
    /* 1. OFF CANVAS BACKGROUND (Friendlier/Light) */
    #primaryMenu,
    .offcanvas-collapse {
        background-color: var(--white) !important;
        color: var(--text-main) !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }

    /* 2. TEXT COLORS */
    #primaryMenu .nav-link,
    #primaryMenu .dropdown-item,
    #primaryMenu a,
    #primaryMenu h5,
    #primaryMenu i {
        color: var(--text-dark) !important;
        font-weight: 500; /* Ensure good weight */
    }

    /* Hover effect for links */
    #primaryMenu .nav-link:hover,
    #primaryMenu .dropdown-item:hover {
        color: var(--brand-primary) !important;
        background-color: rgba(var(--brand-primary-rgb), 0.05); /* Subtle hover bg */
    }

    /* Close button - Ensure it's dark on light bg */
    #primaryMenu .btn-close {
        filter: none !important; 
        opacity: 0.7;
    }

    /* 3. DROPDOWNS IN MOBILE */
    #primaryMenu .dropdown-menu {
        background-color: var(--bg-light) !important; /* Light grey for contrast */
        border: none !important;
        padding-left: 20px !important;
        margin-top: 5px;
        border-radius: 8px;
    }
    
    /* 4. FIX MEGAMENU IN MOBILE (List View) */
    .navbar .mega-menu .dropdown-menu {
        width: 100% !important;
        max-width: 100% !important;
        left: 0 !important;
        transform: none !important;
        position: static !important;
        padding: 0 !important;
        box-shadow: none !important;
        background-color: transparent !important;
        border: none !important;
    }
    
    .navbar .mega-menu .mega-grid {
        display: block !important; /* Stack items */
    }
    
    .navbar .mega-menu .mega-grid > li {
        width: 100% !important;
        border-bottom: none !important;
    }

    .navbar .mega-menu .mega-grid > li > a {
        border-bottom: none !important;
    }
}


/* =========================================
   TOPBAR RESTORE (Dark)
   ========================================= */
.topbar {
    background-color: var(--ui-dark-1) !important; /* Dark Grey/Black */
    color: #f6f6f6 !important;
}

.topbar a {
    color: #f6f6f6 !important;
}

.topbar a:hover {
    color: #cecece !important; /* Yellow highlight */
}

/* =========================================
   MOBILE MENU CLEANUP (No Lines)
   ========================================= */
@media (max-width: 991.98px) {
    /* Remove vertical borders/lines from tree view */
    #primaryMenu ul,
    #primaryMenu li,
    #primaryMenu .dropdown-menu,
    .navbar .mega-menu .mega-grid {
        border-left: none !important;
        border-right: none !important;
        box-shadow: none !important;
    }

    /* Proper Indentation for Nested Items instead of lines */
    #primaryMenu .dropdown-menu .dropdown-item,
    #primaryMenu .dropdown-menu .dropdown-toggle {
        padding-left: 20px !important;
    }
    
    #primaryMenu .dropdown-menu .dropdown-menu .dropdown-item {
         padding-left: 30px !important; /* Deeper nesting */
    }

    /* Constrained underline style for all mobile menu items (Product Style) using pseudo-elements */
    #primaryMenu .nav-link,
    #primaryMenu .dropdown-item,
    #primaryMenu .dropdown-toggle,
    .navbar .mega-menu .mega-grid > li > a {
        position: relative !important;
        border-bottom: none !important; /* Remove direct border */
        width: 100% !important; /* Ensure full width for click area */
        display: block !important;
    }

    #primaryMenu .nav-link::after,
    #primaryMenu .dropdown-item::after,
    #primaryMenu .dropdown-toggle::after,
    .navbar .mega-menu .mega-grid > li > a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 90%;
        border-bottom: 1px solid var(--border-color);
    }

    /* Ensure container LIs don't have borders */
    #primaryMenu li,
    .navbar .mega-menu .mega-grid > li {
        border-bottom: none !important;
        border-left: none !important;
    }

    /* Topbar Mobile: Align Right & Black Text */
    .topbar .d-flex {
        justify-content: flex-end !important;
    }

 
}

/* =========================================
   ALL DROPDOWNS WHITE (Match Megamenu)
   ========================================= */
.navbar .dropdown-menu,
.navbar .dropdown-menu.show {
    background-color: var(--var(--white)) !important; /* White */
    color: var(--text-main) !important; /* Dark Text */
    border: 1px solid var(--border-color) !important;
    box-shadow: 0 10px 30px rgba(var(--black-rgb),0.15) !important;
}

.dropdown-item {
    color: var(--text-main) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(var(--brand-info-rgb), 0.05) !important;
    color: var(--brand-info) !important; /* Blue Highlight */
}

/* ==========================================================================
   BOTONES MULTICANAL (Consolidado)
   ========================================================================== */
.btn-floating {
    position: fixed;
    width: 60px;
    height: 60px;
    right: 20px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--var(--white)) !important;
    font-size: 30px;
    box-shadow: 0 4px 12px rgba(var(--black-rgb),0.3);
    z-index: 1050; /* Above most elements */
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: pointer;
    text-decoration: none !important;
    border: none;
}

.btn-floating:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 16px rgba(var(--black-rgb),0.4);
    color: var(--var(--white)) !important;
}

.btn-floating i {
    color: var(--var(--white)) !important;
    text-shadow: none;
}

/* Variantes de Color */
.btn-floating--whatsapp { background: linear-gradient(145deg, var(--whatsapp-green), var(--whatsapp-hover)); }
.btn-floating--call     { background: linear-gradient(145deg, var(--success-green), #388e3c); }
.btn-floating--telegram { background: linear-gradient(145deg, var(--link-light-blue), var(--link-dark-blue)); }
.btn-floating--master   { background: var(--text-main); transform: rotate(0deg); }

/* Posiciones Desktop (Stack Vertical) */
.btn-pos-1 { bottom: 120px; } /* WhatsApp Main */
.btn-pos-2 { bottom: 190px; } /* WhatsApp Direct */
.btn-pos-3 { bottom: 260px; } /* Call */
.btn-pos-4 { bottom: 330px; } /* Telegram */
.btn-pos-5 { bottom: 400px; } /* Random */

/* Contenedores de Menús (Popups) */
.multicanal-menu {
    position: fixed;
    bottom: 150px; /* Default, will be adjusted by JS or relative to btn */
    right: 90px;
    width: 250px;
    background: var(--var(--white));
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(var(--black-rgb),0.15);
    display: none;
    z-index: 1051;
    overflow: hidden;
    padding: 0;
}

.multicanal-menu a {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    border-bottom: 1px solid var(--border-color);
    color: var(--text-main);
    font-weight: 500;
    font-size: 14px;
    transition: background 0.2s;
    text-decoration: none;
}

.multicanal-menu a:hover { background: var(--ui-grey-100); }
.multicanal-menu a:last-child { border-bottom: none; }
.multicanal-menu i { margin-right: 10px; font-size: 18px; }

/* --- Mobile Master Button Logic --- */
@media (max-width: 768px) {
    /* Hide individual buttons by default on mobile */
    .d-md-block-only {
        display: none !important; 
    }
    
    /* Master button visible only on mobile */
    .btn-floating--master {
        display: flex !important;
        bottom: 20px;
        right: 20px;
    }

    /* Active State for Master Button */
    .multicanal-mobile-active .btn-floating--master {
        transform: rotate(45deg);
        background: var(--error-red);
    }

    /* Mobile Stack Container */
    .multicanal-mobile-stack {
        position: fixed;
        bottom: 90px;
        right: 20px;
        display: flex;
        flex-direction: column-reverse;
        gap: 15px;
        z-index: 1049;
        pointer-events: none; /* Let clicks pass through when hidden */
    }

    .multicanal-mobile-stack .btn-floating {
        position: static; /* Stack naturally */
        opacity: 0;
        transform: translateY(20px) scale(0.8);
        pointer-events: auto;
    }

    /* Show buttons when active */
    .multicanal-mobile-active .multicanal-mobile-stack .btn-floating {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    
    /* Staggered animation delays */
    .multicanal-mobile-active .multicanal-mobile-stack .btn-floating:nth-child(1) { transition-delay: 0.05s; }
    .multicanal-mobile-active .multicanal-mobile-stack .btn-floating:nth-child(2) { transition-delay: 0.1s; }
    .multicanal-mobile-active .multicanal-mobile-stack .btn-floating:nth-child(3) { transition-delay: 0.15s; }
    .multicanal-mobile-active .multicanal-mobile-stack .btn-floating:nth-child(4) { transition-delay: 0.2s; }
}

/* Deshabilitar Master en Desktop */
@media (min-width: 769px) {
    .btn-floating--master { display: none !important; }
    .multicanal-mobile-stack { display: contents; } /* Remove wrapper effect */
}

/* ==========================================================================
   TRADUCTOR PERSONALIZADO
   ========================================================================== */
.lang-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 15px;
    padding: 10px;
    width: 100%;
    margin: 0 auto;
}

.lang-card {
    background: var(--ui-grey-100);
    border: 1px solid var(--ui-grey-200);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-decoration: none !important;
}

.lang-card:hover {
    transform: translateY(-3px);
    background: var(--var(--white));
    box-shadow: 0 10px 25px rgba(var(--black-rgb),0.1);
    border-color: var(--text-main)17c;
}

.lang-flag {
    font-size: 2.5rem;
    line-height: 1;
    filter: drop-shadow(0 2px 4px rgba(var(--black-rgb),0.1));
}

.lang-name {
    font-weight: 600;
    color: var(--text-dark-grey);
    font-size: 0.95rem;
}

/* Ocultar elementos nativos de Google pero mantener funcionalidad */
.goog-te-banner-frame.skiptranslate { display: none !important; }
body { top: 0px !important; }

/* Contenedor del widget original oculto */
#google_translate_element {
    width: 0;
    height: 0;
    overflow: hidden;
    position: absolute;
    left: -9999px;
    visibility: hidden;
}

/* ==========================================================================
   MODERNIZACIÓN CATEGORÍAS Y PRODUCTOS (OPCIÓN 1)
   ========================================================================== */
   
/* HEADER CATEGORÍA */
.modern-cat-header {
    background: linear-gradient(to bottom, var(--ui-grey-100), var(--var(--white)));
    padding: 3rem 0;
    border-bottom: 1px solid var(--ui-grey-100);
    margin-bottom: 2rem;
}
.modern-cat-header h2 {
    font-weight: 800;
    color: var(--text-dark);
    letter-spacing: -0.5px;
    margin-bottom: 1rem;
}
.modern-cat-desc {
    font-size: 1.1rem;
    color: var(--text-secondary);
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}

/* PRODUCT CARD */
.product-card {
    background: var(--var(--white));
    border: 1px solid #eaeaea;
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    text-decoration: none !important;
}

.product-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(var(--black-rgb),0.1);
    border-color: transparent;
}

.product-card-img-wrapper {
    position: relative;
    overflow: hidden;
    background: var(--var(--white));
    padding: 10px;
    text-align: center;
}

.product-card img {
    transition: transform 0.6s ease;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.product-card:hover img {
    transform: scale(1.08);
}

/* BADGES */
.product-badges {
    position: absolute;
    top: 15px;
    left: 15px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    z-index: 5;
}

/* estilo único para todos */
.product-badge,
.product-badge.new,
.product-badge.sale {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 30px;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 5px rgba(var(--black-rgb),0.1);
    background-color: var(--brand-primary);
    color: var(--white);
}

/* BODY */
.product-card-body {
    padding: 1.25rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.product-title {
    font-size: 1.05rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    line-height: 1.4;
    color: var(--ui-dark-2);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-transform: capitalize;
}

.product-card:hover .product-title {
    color: black;
}


.product-divider {
    height: 1px;
    background: var(--ui-grey-100);
    margin: 10px 0;
    width: 50px;
}

/* PRICING */
.product-price-box {
    margin-top: auto;
}

.price-current {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--ui-dark-3);
    display: block;
}

.price-old {
    text-decoration: line-through;
    color: var(--ui-grey-400);
    font-size: 0.9rem;
    margin-right: 8px;
}

/* ACTION BUTTON - FLOATING */
.btn-card-action {
    position: absolute;
    bottom: 15px;
    right: 15px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--text-main)17c;
    color: var(--var(--white));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    opacity: 0;
    transform: translateY(10px) scale(0.8);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 5px 15px rgba(var(--brand-info-rgb), 0.4);
    z-index: 10;
}

.product-card:hover .btn-card-action {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.btn-card-action:hover {
    background: var(--brand-info);
    color: var(--var(--white));
    transform: translateY(-2px) scale(1.1);
}


/* ==========================================================================
   REFINE CATEGORY HEADER (Based on Feedack)
   ========================================================================== */
.modern-cat-header {
    background: var(--var(--white)) !important; /* Force var(--white) background, no gray */
    padding: 5rem 0; /* More spacing */
    border-bottom: none; /* Cleaner look */
}

.modern-cat-header h2 {
    font-family: 'Poppins', 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    font-size: 3.5rem !important; /* Bigger, bolder */
    color: var(--text-dark) !important;
    text-transform: uppercase; /* Stronger presence */
    letter-spacing: -2px;
    margin-bottom: 1.5rem;
    position: relative;
    display: inline-block;
}

/* Remove any potential text highlight/background on spans inside h2 */
.modern-cat-header h2 span, 
.modern-cat-header *[data-lectura] {
    background-color: transparent !important;
}

.modern-cat-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.25rem !important;
    color: var(--text-secondary) !important;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.8;
    font-weight: 300;
}

/* Fancy underline for Title */
.modern-cat-header .product-divider {
    width: 80px !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--text-main)17c, var(--ui-grey-200)) !important;
    border-radius: 4px;
    margin-bottom: 2rem !important;
}


/* ==========================================================================
   HEADER FIXES (Background & Text)
   ========================================================================== */
.modern-cat-header {
    background-color: var(--white) !important;
    background: var(--white) !important;
}

/* Force TEXT Background Transparent on EVERYTHING inside header */
.modern-cat-header *, 
.modern-cat-header h2, 
.modern-cat-header h2 *, 
.modern-cat-header p, 
.modern-cat-header p *,
.modern-cat-header span,
.modern-cat-header mark {
    background-color: transparent !important;
    background: transparent !important;
}

/* Title Size Adjustment */
.modern-cat-header h2 {
    font-size: 2.8rem !important; /* Smaller than 3.5rem */
    color: var(--var(--black)) !important; /* Pure Black */
    line-height: 1.2;
}

/* Description Text Color */
.modern-cat-header .modern-cat-desc, 
.modern-cat-header p {
    color: var(--text-dark-grey) !important; /* Dark Grey */
    font-weight: 400 !important;
}

/* Remove any text selection style if that was the issue */
::selection {
    background: var(--brand-primary);
    color: var(--white);
}

/* ==========================================================================
   HEADER FIX: REMOVE BACKGROUND COMPLETELY (CLEANEST POSSIBLE)
   ========================================================================== */
.modern-cat-header {
    background: transparent !important;
    background-color: transparent !important;
    padding: 2rem 0 !important; /* Reduced padding a bit to be cleaner */
    border: none !important;
}

/* Ensure no shadows or boxes on anything inside */
.modern-cat-header * {
    background: transparent !important;
    box-shadow: none !important;
}

/* ==========================================================================
   GLOBAL TEXT COLOR OVERRIDE (FORCE BLACK)
   ========================================================================== */
:root {
    --bs-body-color: var(--var(--black))000 !important;
    --bs-heading-color: var(--var(--black))000 !important;
}

body {
    color: #000000 !important;
}

/* Force specific elements to be var(--black) - Commented out as it breaks dark sections
p, h1, h2, h3, h4, h5, h6, li, span, div, a {
    color: #000000;
} 
*/

/* Force Breadcrumbs to be var(--black) */
.breadcrumb-item, 
.breadcrumb-item a, 
.breadcrumb-item.active {
    color: var(--var(--black))000 !important;
}
.breadcrumb-item + .breadcrumb-item::before {
    color: var(--var(--black))000 !important;
}

/* Fix Muted Text (Make it Dark Gray/Black as requested) */
.text-muted {
    color: var(--text-dark)222 !important; /* Almost Black */
}

/* Fix Category Description specifically */
.modern-cat-desc {
    color: var(--var(--black))000 !important;
    opacity: 1 !important;
}

/* EXCEPTIONS: Maintain White on Dark Backgrounds if classes form theme are used */
.text-var(--white), .text-light, .btn-primary, .bg-primary, .bg-dark {
    /* Use specificity to protect var(--white) text if needed, 
       but user asked for "Whole Site Black generic fonts". 
       I will set specific overrides for var(--white) text classes to win back control if needed. */
}
.text-var(--white), .text-var(--white) *, .text-light, .text-light * {
    color: var(--var(--white)) !important;
}



/* ==========================================================================
   HEADER DESCRIPTION FIX (FORCE BLACKEST BLACK)
   ========================================================================== */
.modern-cat-header .modern-cat-desc, 
.modern-cat-header p,
.modern-cat-header span {
    color: var(--var(--black))000 !important;
    font-weight: 500 !important; /* Thicker font for better read */
    opacity: 1 !important;
    text-shadow: none !important;
}

/* ==========================================================================
   MODERN PRODUCT DETAIL STYLES
   ========================================================================== */
.product-detail-container {
    padding-top: 3rem;
    padding-bottom: 5rem;
}

/* Title */
.product-detail-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 2.5rem;
    color: var(--text-dark) !important; /* Force var(--black) per user request */
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

/* Price Box */
.product-detail-price-box {
    background: var(--ui-grey-100);
    padding: 1.5rem;
    border-radius: 12px;
    margin-bottom: 1.5rem;
    border: 1px solid var(--border-color);
}

.product-detail-price-current {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--text-main)17c; /* Theme color */
    display: block;
}

.product-detail-price-old {
    font-size: 1.1rem;
    color: var(--shadow-grey);
    text-decoration: line-through;
    margin-right: 10px;
}

/* Quantity Selector */
.quantity-wrapper {
    display: flex;
    align-items: center;
    border: 2px solid var(--ui-grey-200);
    border-radius: 50px;
    padding: 5px;
    width: fit-content;
}

.quantity-input {
    border: none;
    text-align: center;
    width: 60px;
    font-weight: 700;
    font-size: 1.2rem;
    background: transparent;
}

.quantity-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: var(--ui-grey-100);
    color: var(--text-main);
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
}

.quantity-btn:hover {
    background: var(--ui-grey-200);
    transform: scale(1.1);
}

/* Add to Cart Button (Theme Moderno) */
.btn-add-cart-large {
    background: linear-gradient(135deg, #4a4a4a, #6c6c6c) !important;
    color: #4a4a4a !important;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 15px 30px;
    border-radius: 50px;
    border: none;
    width: 100%;
    box-shadow: 0 10px 20px rgba(74, 74, 74, 0.2);
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.btn-add-cart-large:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(74, 74, 74, 0.4);
    background: linear-gradient(135deg, #6c6c6c, #4a4a4a) !important;
}

/* Product Page - Make text black instead of gray */
.text-muted {
    color: #000000 !important;
}

/* Product Page - Force all list text to be black */
.col-md-6 p,
.col-md-6 li,
.col-md-6 span,
.col-md-6 .text-muted,
.card-body .text-muted,
.form-label.text-muted {
    color: #000000 !important;
}

/* Product Page - Main Add to Cart Button to Orange */
.btn-primary.btn-lg.w-100,
button.btn-primary,
.btn.btn-primary {
    background: linear-gradient(135deg, #4a4a4a, #6c6c6c) !important;
    border-color: #4a4a4a !important;
    color: #ffffff !important;
}

.btn-primary.btn-lg.w-100:hover,
button.btn-primary:hover,
.btn.btn-primary:hover {
    background: linear-gradient(135deg, #6c6c6c, #4a4a4a) !important;
    box-shadow: 0 6px 20px rgba(74, 74, 74, 0.4) !important;
}

/* Product Page - All outline buttons to orange */
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-info,
.btn-outline-success {
    border-color: #4a4a4a !important;
    color: #4a4a4a !important;
    background: #ffffff !important;
}

.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-info:hover,
.btn-outline-success:hover {
    background: linear-gradient(135deg, #4a4a4a, #6c6c6c) !important;
    border-color: #4a4a4a !important;
    color: #4a4a4a !important;
}

/* Extra specific for btn-outline-info */
button.btn.btn-outline-info,
.btn.btn-outline-info {
    border-color: #4a4a4a !important;
    color: #4a4a4a !important;
    background-color: #4a4a4a !important;
}

button.btn.btn-outline-info:hover,
.btn.btn-outline-info:hover {
    background: linear-gradient(135deg, #4a4a4a, #6c6c6c) !important;
    border-color: #4a4a4a !important;
    color: #4a4a4a !important;
}

/* Product Page - Change dark badges to orange */
.badge.bg-dark {
    background: linear-gradient(135deg, #0b0b0b, #565656) !important;
    color: #4a4a4a !important;
}

/* Product Page - Change any dark backgrounds to orange */
.bg-dark {
    background: linear-gradient(135deg, #4a4a4a, #6c6c6c) !important;
    color: #4a4a4a !important;
}

/* Product Page - Product Title h1 to Orange */
.container h1,
h1.display-5 {
    color: #4a4a4a !important;
}

/* Override Bootstrap bg-primary to neutral light color */
.bg-primary {
    background-color: #f5f5f5 !important;
    background-image: linear-gradient(to right, #f0f0f0, #f8f8f8) !important;
}

/* Tallas / Colores */
.variant-btn {
    border: 1px solid var(--ui-grey-300);
    background: var(--var(--white));
    color: var(--text-main);
    padding: 8px 16px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    font-weight: 500;
    margin-right: 8px;
    margin-bottom: 8px;
}

.variant-btn.active, .variant-btn:hover {
    border-color: var(--text-main)17c;
    background: var(--text-main)17c;
    color: var(--var(--white)) !important;
}

input.campo_atributo:checked + .variant-btn {
    border-color: var(--text-main)17c;
    background: var(--text-main)17c;
    color: var(--var(--white)) !important;
}

/* Product Page - Talla buttons to Orange */
.boton-talla {
    border: 2px solid #cccccc !important;
    background: #ffffff !important;
    color: #000000 !important;
    transition: all 0.2s ease !important;
}

.boton-talla.active,
.boton-talla:hover {
    background: linear-gradient(135deg, #4a4a4a, #6c6c6c) !important;
    border-color: #4a4a4a !important;
    color: #ffffff !important;
}

/* Attribute cards for colors */
input.campo_atributo:checked+.card {
    border: 2px solid #4a4a4a !important;
    box-shadow: 0px 0px 8px rgba(74, 74, 74, 0.4) !important;
}

/* Gallery Container */
.product-gallery-container {
    background: var(--var(--white));
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 10px 30px rgba(var(--black-rgb),0.03);
    border: 1px solid var(--ui-grey-100);
}

/* Product Detail Improvements */
.related-products-wrapper {
    margin-top: 2rem;
}

.product-tabs-content {
    background: var(--var(--white));
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 12px rgba(var(--black-rgb),0.03);
    border: 1px solid var(--ui-grey-100);
}

/* Discount Zone Improvements */
.discount-card {
    background: linear-gradient(135deg, var(--var(--white)) 0%, var(--ui-grey-100) 100%);
    border: 1px dashed var(--text-main)17c;
    position: relative;
    overflow: hidden;
}

.discount-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 4px;
    background: linear-gradient(90deg, var(--text-main)17c, var(--brand-primary));
}

.countdown-box {
    background: var(--text-main)17c;
    color: var(--var(--white));
    padding: 8px 12px;
    border-radius: 8px;
    min-width: 60px;
    box-shadow: 0 4px 6px rgba(var(--brand-info-rgb), 0.2);
}

.countdown-value {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    display: block;
}

.countdown-label {
    font-size: 0.7rem;
    text-transform: uppercase;
    opacity: 0.8;
    letter-spacing: 1px;
}

/* === STORE REDESIGN 2026 === */

/* Sticky Column for Product Details */
@media (min-width: 992px) {
  .sticky-product-details {
    position: sticky;
    top: 20px; /* Adjust based on header height */
    z-index: 10;
  }
}

/* Attributes: Pill Buttons (Chips) */
.btn-check:checked + .btn-option {
  background-color: var(--text-main)17c;
  color: var(--var(--white));
  border-color: var(--text-main)17c;
  box-shadow: 0 4px 10px rgba(var(--brand-info-rgb), 0.3);
}

.btn-option {
  min-width: 45px;
  border-radius: 50rem; /* Pill shape */
  font-weight: 600;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0.2rem;
}

.btn-option:hover {
  transform: translateY(-2px);
}

/* Gallery Grid System */
.product-gallery-grid {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 1rem;
}

.product-gallery-thumbs {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-height: 500px;
  overflow-y: auto;
}

.product-gallery-thumb-item {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.2s;
}

.product-gallery-thumb-item.active {
  border-color: var(--text-main)17c;
}

.product-gallery-main {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(var(--black-rgb),0.05);
}

@media (max-width: 768px) {
  .product-gallery-grid {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column-reverse;
  }
  .product-gallery-thumbs {
    flex-direction: row;
    overflow-x: auto;
    max-height: none;
  }
  .product-gallery-thumb-item {
    width: 60px;
    flex-shrink: 0;
  }
}

/* Buy Box Typography & UX */
.price-main {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--text-main)17c;
  line-height: 1;
}

.price-old {
  font-size: 1.1rem;
  color: var(--shadow-grey);
  text-decoration: line-through;
}

.discount-badge-modern {
  background: var(--brand-danger);
  color: var(--white);
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 0.8rem;
  font-weight: 700;
  vertical-align: middle;
  margin-left: 8px;
}

.btn-add-cart-modern {
  background: linear-gradient(135deg, var(--text-main)17c 0%, #4a47a3 100%);
  color: var(--white);
  border: none;
  border-radius: 12px;
  font-weight: 700;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 15px rgba(var(--brand-info-rgb), 0.4);
  transition: transform 0.2s, box-shadow 0.2s;
}

.btn-add-cart-modern:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(var(--brand-info-rgb), 0.5);
  color: var(--white);
}

/* Mobile Sticky Bar */
.mobile-sticky-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: var(--white);
  padding: 12px;
  box-shadow: 0 -2px 10px rgba(var(--black-rgb),0.1);
  z-index: 1000;
  display: none;
}

@media (max-width: 768px) {
  .mobile-sticky-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }
  .hide-on-mobile-sticky {
    display: none; /* Add this class to elements you want to hide when bar is active if using JS, or just utilize responsive utilities */
  }
}

/* HOTFIX GALLERY */
.product-gallery-thumblist-item {
   /* Inherit visual style from new class, but keep old name */
   width: 100%;
   aspect-ratio: 1;
   border-radius: 8px;
   overflow: hidden;
   border: 2px solid transparent;
   cursor: pointer;
   transition: all 0.2s;
   display: block; /* Ensure anchor behaves like block */
}

.product-gallery-thumblist-item.active {
   border-color: var(--text-main)17c;
}

/* --- Right Column Modernization --- */

.sticky-product-details {
  position: -webkit-sticky;
  position: sticky;
  top: 100px; /* Adjust based on navbar height */
  background: var(--var(--white));
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(var(--black-rgb),0.04);
  z-index: 10;
}

.product-meta-label {
  font-size: 0.85rem;
  color: var(--text-secondary);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.product-price-lg {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--text-main)17c;
  line-height: 1.1;
  letter-spacing: -1px;
}

.product-price-prev {
  text-decoration: line-through;
  color: var(--shadow-grey);
  font-size: 1.1rem;
  font-weight: 500;
}

.product-description-short {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text-secondary);
}

@media (max-width: 768px) {
  .sticky-product-details {
    position: static;
    padding: 1rem;
  }
}




/* FOOTER MANAGED */
.footer-copyright-managed {
    background-color: #cecece; /* Color de fondo personalizable */
    color: #000000         /* Color de texto personalizable */
    width: 100%;
    padding: 5px 0;
}


/* ==========================================================================
   MENU BUTTON FIX
   ========================================================================== */
.navbar-toggler {
    background-color: transparent !important;
    border: none !important;
    padding: 0.25rem 0.75rem !important;
    box-shadow: none !important;
}

/* Ensure the hamburger icon SVG is BLACK (brightness 0) */
.navbar-toggler .navbar-toggler-icon {
    filter: brightness(0) !important; 
    width: 30px;
    height: 30px;
}

.navbar-toggler:hover {
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* ============================================
   NAVBAR SEARCH BAR - White Background Effect
   ============================================ */

/* Search bar with white background when activated - covers entire nav */
.navbar-search.show {
    background-color: var(--white) !important;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
    z-index: 1800 !important; /* Ensure it's above all navigation elements */
}

/* Ensure the container inside also has proper styling */
.navbar-search.show .container {
    background-color: transparent;
}

/* Style the search input when active */
.navbar-search.show .navbar-search-field {
    color: var(--text-main);
    font-size: 1.125rem;
}

/* Search icon styling when active */
.navbar-search.show .ai-search {
    color: var(--brand-primary);
}

/* Make sure search bar covers the full navbar height */
.navbar-search {
    min-height: 100%;
}

/* ============================================
   MODERN ORDERS TABLE STYLING
   ============================================ */

/* Style the orders table container */
#contenedor_pedido_listado_pedido_publico {
    padding: 0 !important;
}

/* Modern table styling */
#contenedor_pedido_listado_pedido_publico table {
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

/* Table header with orange gradient */
#contenedor_pedido_listado_pedido_publico table thead {
    background: linear-gradient(135deg, #4a4a4a 0%, #6c6c6c 100%);
    color: white;
}

#contenedor_pedido_listado_pedido_publico table thead th {
    border: none !important;
    font-weight: 600;
    padding: 1.25rem 1rem;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

/* Table body rows */
#contenedor_pedido_listado_pedido_publico table tbody tr {
    transition: all 0.2s ease;
    border-bottom: 1px solid #f0f0f0;
}

#contenedor_pedido_listado_pedido_publico table tbody tr:hover {
    background-color: #fafafa;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

#contenedor_pedido_listado_pedido_publico table tbody td {
    padding: 1.25rem 1rem;
    vertical-align: middle;
    border: none !important;
}

/* Status badges modern styling */
#contenedor_pedido_listado_pedido_publico .badge {
    padding: 0.5rem 1rem;
    border-radius: 20px;
    font-weight: 500;
    font-size: 0.75rem;
}

/* Responsive improvements */
@media (max-width: 768px) {
    #contenedor_pedido_listado_pedido_publico table thead th {
        padding: 1rem 0.75rem;
        font-size: 0.7rem;
    }
    
    #contenedor_pedido_listado_pedido_publico table tbody td {
        padding: 1rem 0.75rem;
        font-size: 0.85rem;
    }
}


#greeting-toast {
    position: fixed;
    bottom: 125px;
    left: 20px;
    z-index: 9999;
    max-width: 350px;
    background: #ffffff;
    border-left: 5px solid #d1d5db; /* gris neutro */
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    border-radius: 8px;
    padding: 15px;
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease;
    font-family: 'Inter', sans-serif;
}

.greeting-content {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.greeting-icon {
    font-size: 24px;
    color: #6b7280; /* gris medio */
}

.greeting-text {
    flex: 1;
}

.greeting-title {
    font-weight: 700;
    color: #374151; /* gris oscuro neutro */
    font-size: 15px;
    margin-bottom: 4px;
}

.greeting-body {
    font-size: 13px;
    color: #6b7280; /* gris medio */
    line-height: 1.4;
}

.greeting-close {
    background: none;
    border: none;
    font-size: 18px;
    color: #9ca3af; /* gris suave */
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.greeting-close:hover {
    color: #374151; /* gris oscuro */
}


#shipping-toast {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 9900;
    background: #ffffff;
    border-left: 5px solid #d1d5db;
    box-shadow: 0 10px 40px rgba(0,0,0,0.08);
    border-radius: 8px;
    padding: 15px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    max-width: 350px;
    font-family: 'Inter', sans-serif;
    animation: slideInUp 0.5s ease;
    opacity: 1;
    transition: opacity 0.5s ease;
}

.shipping-icon {
    font-size: 24px;
    color: #6b7280;
}

.shipping-text {
    flex: 1;
}

.shipping-title {
    font-weight: 700;
    color: #374151;
    font-size: 15px;
    margin-bottom: 4px;
}

.shipping-body {
    font-size: 13px;
    color: #6b7280;
    line-height: 1.4;
}

.shipping-close {
    background: none;
    border: none;
    font-size: 18px;
    color: #9ca3af;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.shipping-close:hover {
    color: #374151;
}


.badge-distribuidor {
    background-color: #f3f4f6;
    color: #374151;
    border: 1px solid #e5e7eb;
    font-weight: 600;
    font-size: 11px;
    padding: 4px 8px;
    border-radius: 6px;
}



/* contenedor grid */
.acciones-secundarias {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 25px;
}

@media (min-width: 992px) {
    .acciones-secundarias {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* columna */
.accion-col {
    width: 100%;
}

/* boton base */
.accion-secundaria {
    width: 100%;
    height: 100%;
    padding: 11px 12px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 13px;
    color: #374151;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.accion-secundaria i {
    font-size: 18px;
    color: #6b7280;
}

/* hover neutro */
.accion-secundaria:hover {
    background: #f9fafb;
    border-color: #d1d5db;
    color: #111827;
}

/* variantes suaves */
.accion-whatsapp:hover { border-color: #c7f0d4; }
.accion-preguntar:hover { border-color: #dbeafe; }
.accion-compartir:hover { border-color: #e5e7eb; }
.accion-email:hover { border-color: #e0e7ff; }

/* dropdown */
.accion-dropdown {
    position: relative;
    height: 100%;
}

.accion-menu {
    position: absolute;
    left: 0;
    bottom: calc(100% + 8px);
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.12);
    border: 1px solid #e5e7eb;
    padding: 8px 0;
    list-style: none;
    min-width: 220px;
    display: none;
    z-index: 999;
}

.accion-dropdown:hover .accion-menu {
    display: block;
}

.accion-menu a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    font-size: 13px;
    color: #374151;
    text-decoration: none;
}

.accion-menu a:hover {
    background: #f3f4f6;
}

.accion-header {
    font-size: 11px;
    font-weight: 600;
    color: #9ca3af;
    padding: 6px 14px;
}

.accion-divider {
    height: 1px;
    background: #e5e7eb;
    margin: 6px 0;
}

/* ocultar texto en móvil */
@media (max-width: 576px) {
    .accion-text {
        display: none;
    }
}







/* ========================================
   SISTEMA DE CALIFICACIÓN - RATING STARS
   ======================================== */

/* Rating Container - Unified */
.rating-container {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: left;
}

.rating {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 5px;
}

.rating input {
    display: none;
}

.rating label {
    width: 30px;
    height: 30px;
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    background-color: #ddd;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.rating label:hover,
.rating label:hover~label {
    background-color: #ffc107;
}

.rating input:checked+label,
.rating input:checked+label~label {
    background-color: #ffc107;
}

/* Submit Icon Button - Unified with Primary Button Style */
.submit-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    background: linear-gradient(135deg, #4a4a4a, #6c6c6c);
    color: #ffffff;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
    outline: none;
    box-shadow: 0 2px 8px rgba(74, 74, 74, 0.2);
}

.submit-icon:hover {
    background: linear-gradient(135deg, #6c6c6c, #4a4a4a);
    box-shadow: 0 4px 12px rgba(74, 74, 74, 0.4);
    transform: translateY(-1px);
}

.submit-icon i {
    font-size: 16px;
    color: #ffffff !important;
}

/* Toast Notifications */
#toast,
#home_toast {
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #28a745;
    color: white;
    padding: 15px;
    border-radius: 5px;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    font-size: 14px;
}



/* ========================================
   LINKTREE PAGE STYLES
   ======================================== */

/* Reset */
.linktree-page * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Inter', sans-serif;
}

.linktree-page [class*="fa-"] { font-family: "Font Awesome 6 Free" !important; }
.linktree-page .fab { font-family: "Font Awesome 6 Free" !important; }
.linktree-page .fa-brands, .linktree-page .fab  { font-family: "Font Awesome 6 Brands" !important; }

/* Body for Linktree */
.linktree-page {
  margin: 0;
  padding: 0;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  z-index: 1;
  
  background: linear-gradient(270deg,
    #020024,
    #090979,
    #00d4ff,
    #ff00c8,
    #00ff88,
    #020024);
  
  background-size: 1200% 1200%;
  animation: fondoAnimado 18s ease infinite;
}

/* Animated Background */
@keyframes fondoAnimado {
  0% { background-position: 0% 50%; }
  25% { background-position: 50% 100%; }
  50% { background-position: 100% 50%; }
  75% { background-position: 50% 0%; }
  100% { background-position: 0% 50%; }
}

/* Glow Layer Behind */
.linktree-page::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  
  background:
    radial-gradient(circle at 20% 30%, rgba(0,255,255,0.25), transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(255,0,200,0.25), transparent 40%),
    radial-gradient(circle at 50% 50%, rgba(0,255,150,0.20), transparent 40%);
  
  animation: glowMove 14s linear infinite;
}

@keyframes glowMove {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.2); }
  100% { transform: rotate(360deg) scale(1); }
}

/* Container */
.linktree-page .container {
  width: 90%;
  max-width: 420px;
  background: #fff;
  border-radius: 25px;
  padding: 30px 20px 40px;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  margin-top: 30px;
  margin-bottom: 30px;
}

/* Avatar */
.linktree-page .avatar {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  margin: auto;
  display: block;
}

/* Username */
.linktree-page .username {
  margin-top: 12px;
  font-size: 20px;
  font-weight: 700;
}

/* Social Links */
.linktree-page .social {
  margin: 15px 0 25px;
}

.linktree-page .social a {
  margin: 0 8px;
  text-decoration: none;
  font-size: 20px;
  color: #4a4a4a;
  transition: all 0.3s ease;
  display: inline-block;
}

.linktree-page .social a:hover {
  color: #6c6c6c;
  transform: translateY(-2px);
}

/* Links */
.linktree-page .link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  border: 2px solid #4a4a4a;
  padding: 14px 15px;
  border-radius: 30px;
  margin-bottom: 14px;
  text-decoration: none;
  color: #4a4a4a;
  font-weight: 600;
  transition: .2s;
  background: #fff;
}

.linktree-page .link:hover {
  background: linear-gradient(135deg, #4a4a4a, #6c6c6c);
  color: #fff;
  border-color: #6c6c6c;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(74, 74, 74, 0.3);
}

.linktree-page .link img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}


/* ==========================================
   POLISHED SECTION TITLES (Video, Mapa, etc.)
   ========================================== */
section.container h2:not([class]), 
section.container h2[class=""] {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--brand-primary); /* Dark Gray #4a4a4a */
    margin-bottom: 30px;
    margin-top: 15px;
    letter-spacing: -0.5px;
    position: relative;
    display: block;
    text-align: left; /* Ensure left alignment to match underline */
}

/* Decorative Underline */
section.container h2:not([class])::after, 
section.container h2[class=""]::after {
    content: '';
    display: block;
    width: 60px;
    height: 5px;
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    margin-top: 12px;
    border-radius: 10px;
    opacity: 0.8;
}

/* ==========================================
   FLOATING BUBBLE SHADOWS (Multicanal)
   ========================================== */
.btn-whatsapp-multicontacto,
.btn-whatsapp-aleatorio,
.btn-call-multicontacto,
.btn-whatsapp_multicontacto_directo,
.btn-telegram-multicontacto,
.btn__wthasapp {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3) !important; /* Strong, premium shadow */
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.btn-whatsapp-multicontacto:hover,
.btn-whatsapp-aleatorio:hover,
.btn-call-multicontacto:hover,
.btn-whatsapp_multicontacto_directo:hover,
.btn-telegram-multicontacto:hover,
.btn__wthasapp:hover {
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4) !important;
    transform: translateY(-4px) !important;
}


/* ==========================================
   MODERN REGISTRATION / LOGIN - PREMIUM FORMS
   ========================================== */

/* Card Styling */
.form-card-modern {
    background: var(--white);
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(var(--black-rgb), 0.08);
    transition: all 0.3s ease;
    border: 1px solid rgba(var(--brand-primary-rgb), 0.05);
    height: 100%;
}

.form-card-modern:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 60px rgba(var(--brand-primary-rgb), 0.12);
}

.form-header-modern {
    background: linear-gradient(135deg, rgba(var(--bg-light), 0.5) 0%, rgba(var(--white-rgb), 0.8) 100%);
    padding: 30px;
    border-bottom: 1px solid rgba(var(--brand-primary-rgb), 0.05);
    border-radius: 20px 20px 0 0;
    text-align: center;
}

.form-header-modern h4 {
    margin: 0;
    font-weight: 700;
    color: var(--brand-primary);
    font-size: 1.5rem;
    letter-spacing: -0.5px;
}

.form-header-modern p {
    margin-top: 10px;
    margin-bottom: 0;
    color: var(--text-secondary);
    font-size: 0.95rem;
}

.form-body-modern {
    padding: 30px;
}

/* Input Fields */
.form-control-modern {
    background: var(--bg-light);
    border: 2px solid transparent;
    border-radius: 12px;
    padding: 12px 20px;
    font-size: 1rem;
    color: var(--text-main);
    transition: all 0.3s ease;
    height: auto; /* Allow auto height for padding */
}

.form-control-modern:focus {
    background: var(--white);
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 4px rgba(var(--brand-primary-rgb), 0.1);
    color: var(--text-main);
}

.form-label {
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 8px;
    color: var(--text-dark);
    display: block;
}

/* Primary Button */
.btn-modern-primary {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);
    color: var(--white);
    font-weight: 700;
    padding: 14px 28px;
    border-radius: 12px;
    border: none;
    box-shadow: 0 4px 15px rgba(var(--brand-primary-rgb), 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    width: 100%;
    font-size: 1.05rem;
}

.btn-modern-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(var(--brand-primary-rgb), 0.4);
    color: var(--white);
}

.btn-modern-primary:active {
    transform: translateY(0);
}

/* Secondary Actions */
.text-decoration-none-hover:hover {
    text-decoration: underline !important;
}

.acceso_login {
    color: var(--brand-secondary);
    font-weight: 500;
    transition: color 0.2s;
}

.acceso_login:hover {
    color: var(--brand-primary);
}


/* Utility for height */
.h-60 {
    height: 60% !important;
}

#stock,
#cantidad {
    height: 48px;
}

.pulse-on-hover:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0,0,0,.12);
}
