/*************************
    *******TABLE OF CONTENTS******
    **************************/
/*
    1. CSS CUSTOM PROPERTIES (VARIABLES)
    2. RESET & BASE STYLES
    3. TYPOGRAPHY
    4. LAYOUT COMPONENTS
    - Grid & Container
    - Header
    - Navigation
    - Sidebar
    - Footer
    5. FORM COMPONENTS
    - Inputs
    - Buttons
    - Form Controls
    6. UI COMPONENTS
    - Cards
    - Modals
    - Overlays
    - Loading States
    7. E-COMMERCE COMPONENTS
    - Product Cards
    - Cart
    - Checkout
    - Bundles
    8. UTILITIES
    - Spacing
    - Display
    - Positioning
    9. ANIMATIONS & TRANSITIONS
    10. MEDIA QUERIES
    */

/*************************
    *******1. CSS CUSTOM PROPERTIES (VARIABLES)******
    **************************/
:root {
    /* Colores principales */
    --color-primary: #C23972;
    --color-primary-dark: #BC2361;
    --color-primary-hover: #e8428c;
    --color-secondary: #0066C9;
    --color-secondary-dark: #03638a;

    /* Colores de texto */
    --color-text-primary: #000000;
    --color-text-secondary: #363432;
    --color-text-tertiary: #696763;
    --color-text-gray: #6c757d;
    --color-text-white: #FFFFFF;

    /* Colores de fondo */
    --color-bg-primary: #ffffff;
    --color-bg-secondary: #F7F7F0;
    --color-bg-tertiary: #F0F0E9;
    --color-bg-gray: #eeeeee;
    --color-bg-light-gray: #fefefe;

    /* Colores de borde */
    --color-border-primary: #E6E4DF;
    --color-border-secondary: #d0d0d1;
    --color-border-tertiary: #CCCCCC;

    /* Colores especiales */
    --color-hover-pink: #dcbdc8;
    --color-hover-blue: #9acfea;
    --color-blue-primary: #0080ff;
    --color-light-bg: #FAFAFA;
    --color-text-dark: #4a4a4a;
    --color-black-text: #010101;
    --color-light-gray: #d7d7d7;
    --color-dark-text: #232323;
    --color-dark-gray: #474747;
    --color-input-bg: #e1e1e1;
    --color-dark-border: #1b1e21;

    /* Fuentes */
    --font-primary: 'Montserrat', sans-serif;
    --font-secondary: 'Open Sans', sans-serif;
    --font-tertiary: 'Abel', sans-serif;

    /* Tamaños de fuente - Matching original pixel sizes */
    --font-size-base: 1rem; /* Base size maintained for site consistency (1rem = 14px) */
    --font-size-xs: 0.5625rem; /* 9px */
    --font-size-small: 0.75rem; /* 12px */
    --font-size-small-plus: 0.8125rem; /* 13px */
    --font-size-14px: 0.875rem; /* 14px */
    --font-size-medium: 0.9375rem; /* 15px */
    --font-size-medium-plus: 1rem; /* 16px */
    --font-size-base-16: 1rem; /* 16px */
    --font-size-medium-large: 1.0625rem; /* 17px */
    --font-size-large-minus: 1.125rem; /* 18px */
    --font-size-large: 1.25rem; /* 20px */
    --font-size-xl: 1.375rem; /* 22px */
    --font-size-xxl: 1.5rem; /* 24px */
    --font-size-xxl-plus: 1.6875rem; /* 27px */
    --font-size-48px: 3.428rem; /* 48px */
    --font-size-xxxl: 1.75rem; /* 28px */
    --font-size-36px: 2.571rem; /* 36px */
    --font-size-40px: 2.857rem; /* 40px */
    --font-size-41px: 2.929rem; /* 41px */
    --font-size-44px: 3.143rem; /* 44px */
    --font-size-60px: 4.286rem; /* 60px */
    --font-size-100px: 7.143rem; /* 100px */

    /* Tamaños de encabezados */
    --font-size-h1: 1.70em;
    --font-size-h2: 1.66em;
    --font-size-h3: 1.64em;
    --font-size-h4: 1.62em;
    --font-size-h5: 1.60em;
    --font-size-h6: 1.58em;

    /* Espaciado */
    --spacing-xs: 4px;
    --spacing-sm: 8px;
    --spacing-md: 12px;
    --spacing-lg: 16px;
    --spacing-xl: 20px;
    --spacing-xxl: 24px;
    --spacing-xxxl: 32px;

    /* Border radius */
    --border-radius-sm: 5px;
    --border-radius-md: 10px;
    --border-radius-lg: 15px;
    --border-radius-xl: 32px;

    /* Sombras */
    --shadow-light: 0px 2px 5px 1px rgba(0, 0, 0, 0.1);
    --shadow-medium: 0 3px 6px 0 rgba(0,0,0,0.3);
    --shadow-heavy: 1px 12px 14px 1px rgba(0, 0, 0, 0.75);

    /* Alturas comunes */
    --height-header: 90px;
    --height-button: 40px;
    --height-input: 45px;
    --height-input-large: 46px;

    /* Anchos máximos */
    --max-width-container: 1560px;
    --max-width-sidebar: 340px;
    --max-width-form: 980px;
    --max-width-product-info: 550px;

    /* Z-index layers */
    --z-header: 9999;
    --z-overlay: 100000000;
    --z-modal: 100000002;
    --z-sidebar: 100000004;
    --z-loading: 9999999;

    /* Breakpoints para media queries */
    --breakpoint-xs: 480px;
    --breakpoint-sm: 767px;
    --breakpoint-md: 990px;
    --breakpoint-lg: 1200px;
    --breakpoint-xl: 1560px;


    --layout-gutter: 15px; /* 15px */
}

/*************************
    *******2. RESET & BASE STYLES******
    **************************/
/*@import url(https://fonts.googleapis.com/css?family=Montserrat:400,300,400italic,500,700,100); */
/*@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,800,300,600,700); */
/*@import url(https://fonts.googleapis.com/css?family=Abel); */

html {
    width: 100%;
    font-size: 14px; /* Root font size for rem calculations */
}

body {
    font-family: var(--font-primary);
    background-color: var(--color-bg-primary);
    font-weight: 400;
    color: var(--color-text-primary);
    width: 100%;
    min-height: 100%;
    box-sizing: border-box;
    font-size: var(--font-size-base);
}

body.overlayed {
    overflow: hidden;
}

body.overlayed::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* semi-transparent overlay */
    z-index: var(--z-overlay);
}

select {
    border-radius: 0;
    border-color: rgb(169, 169, 169);
}

input[type=checkbox] {
    display: inline-block;
    width: 32px;
    vertical-align: middle;
    padding: 0px;
}

ul li {
    list-style: none;
}

a:hover {
    outline: none;
    text-decoration: none;
}

a:focus {
    outline: none;
    outline-offset: 0;
}

/*************************
    *******3. TYPOGRAPHY******
    **************************/
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-primary);
    color: var(--color-primary);
}

h1, .h1 { font-size: var(--font-size-h1); }
h2, .h2 { font-size: var(--font-size-h2); }
h3, .h3 { font-size: var(--font-size-h3); }
h4, .h4 { font-size: var(--font-size-h4); }
h5, .h5 { font-size: var(--font-size-h5); }
h6, .h6 { font-size: var(--font-size-h6); }

/*************************
    *******4. LAYOUT COMPONENTS******
    **************************/

/* === 4.1 Grid & Container === */
.col-centered {
    float: none;
    margin: 0 auto;
}

/*.main-wrapper {*/
/*    margin-left: inherit;*/
/*}*/

.main-wrapper .container-fluid {
    padding-bottom: 64px;
    max-width: none;
}

.main-wrapper .content-limit {
    max-width: var(--max-width-container);
    margin: 0 auto;
    padding-left: var(--layout-gutter);
    padding-right: var(--layout-gutter);
}

/* true full-width band (no side padding) */
.main-wrapper .band-flush {
    margin-left: calc(-1 * var(--layout-gutter));
    margin-right: calc(-1 * var(--layout-gutter));
}


.main-wrapper .container-fluid.epc-non-boxed {
    max-width: unset;
    padding-bottom: 0;
}

.main-wrapper.con-menu {
    margin-left: 320px;
    margin-top: var(--height-header);
}

/* === 4.2 Header === */
#header {
    position: sticky;
    top: 0;
    width: 100%;
    vertical-align: middle;
    white-space: nowrap;
    -webkit-box-shadow: var(--shadow-light);
    -moz-box-shadow: var(--shadow-light);
    box-shadow: var(--shadow-light);
    z-index: var(--z-header);
    height: var(--height-header);
    background-color: transparent;



    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);

}    #header.header-topped {
         z-index: var(--z-modal);
     }



#header .line1 {
    width: 100%;
    display: flex;
    background-color: rgba(255, 255, 255, 0.85);
    height: 100%;
    flex-wrap: nowrap;
    justify-content: normal;
    align-content: normal;
    align-items: center;
    flex-direction: row;
    padding: 10px 0;
    z-index: var(--z-loading);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}    #header .line1 .logo-container {
         display: flex;
         padding-left: var(--spacing-md);
         flex-direction: row;
         margin-bottom: 1px;
         justify-content: left;
     }

#header .logo-container .logo {
    width: 28rem;
}

#header .toggle-categorias {
    border: none;
    border-radius: var(--border-radius-xl);
    padding: 8px 18px;
    margin: 0 var(--spacing-md);
    font-size: var(--font-size-medium-plus);
    font-weight: 600;
    vertical-align: middle;
    color: #fff;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

@media (max-width: 486px) {
    #header .toggle-categorias {
        background: none;
    }
}

#header .toggle-categorias > i {
    background-color: transparent;
}


#header .toggle-categorias:hover {
    background: linear-gradient(135deg, var(--color-primary-dark) 0%, #a01d52 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(194, 57, 114, 0.3);
}

#header .toggle-categorias i:hover {
    background-color: unset;
}

#header .toggle-categorias span {
    margin-left: 6px;
}

#header .toggle-categorias > * {
    vertical-align: middle;
}

#header > .line1 .shop-menu {
    order: 4;
    margin-left: auto;
}

#header .line1 .fa-shopping-cart {
    font-size: var(--font-size-36px);
}

#header .line1 .boton-carrito {
    position: relative;
}

#header > .line1 .header__boton__texto {
    margin-left: 4px;
}

#header .line1 .header__boton {
    padding: 10px 14px;
    margin-right: var(--spacing-sm);
    border-radius: var(--border-radius-md);
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#header .line1 .header__boton__texto {
    font-weight: 500;
    font-size: var(--font-size-medium-plus);
    color: var(--color-text-tertiary);
    background-color: transparent;
}

#header .line1 .header__boton:hover {
    background-color: rgba(0, 0, 0, 0.04);
}

#header .line1 .header__boton:hover * {
    background-color: transparent;
}

#header .line1 .header__boton:hover .header__boton__texto {
    color: var(--color-primary-dark);
}

#header .line1 .header__escaparate-button {
    color: #555;
    background: #fff;
    border: 1px solid #ddd;
    padding: 8px 14px;
    font-weight: 600;
}

#header .line1 .header__escaparate-button:hover,
#header .line1 .header__escaparate-button:focus {
    color: var(--color-primary-dark);
    background: #fdf2f7;
    border-color: var(--color-primary);
}

.navbar-toggle {
    background-color: var(--color-text-primary);
}

/*************************
    *******5. FORM COMPONENTS******
    **************************/

/* === 5.1 Form Controls === */
.form-control {
    border-radius: var(--border-radius-md);
}

.form-control input[type=checkbox] {
    display: inline-block;
}

.form-control::placeholder {
    color: var(--color-text-gray);
    opacity: 1;
}

/* === 5.2 Buttons === */
.btn {
    border-radius: var(--border-radius-md);
}

.btn:hover, .btn:focus {
    outline: none;
    box-shadow: none;
    color: var(--color-text-white);
}

/*************************
    *******8. UTILITIES******
    **************************/

/* === 8.1 Scroll to Top === */
a#scrollUp {
    bottom: 0px;
    right: 10px;
    padding: 5px 10px;
    background: var(--color-primary);
    color: var(--color-text-white);
    -webkit-animation: bounce 2s ease infinite;
    animation: bounce 2s ease infinite;
}

a#scrollUp i {
    font-size: var(--font-size-xxl);
}

/*************************
    *******6. SEARCH COMPONENTS******
    **************************/





.header__boton__icono {
    width: 28px;
}

.header--carrito--icono {
    display: inline-block;
    position: relative;
    width: 28px;
    margin-right: 4px;
}


.header--carrito--icono--num-articulos {
    position:absolute;
    top: -10px;
    right: -10px;
    font-size: var(--font-size-xs);
    /* marke it a cirlc4 */;
    border-radius: 50%;
    width:18px;
    height:18px;
    background-color: #C23972 !important;

    /* center the content text   vertically */
    line-height: 18px;
    text-align: center;

    color: white !important;
}







/*
        header tablet
    /* *!*/
/*@media all and (min-width: 990px) and (max-width: 1098px) {*/
/*    #header {*/
/*        height: 90px;*/
/*        overflow:hidden;*/
/*    }*/
/*    #header > .line1 {*/
/*        height: 60px;*/
/*        padding: 0px;*/
/*        vertical-align: middle;*/
/*        padding-left: 0px;*/
/*    }*/

/*    #header > .line1 .logo-container {*/
/*        padding: 1px;*/
/*        margin: 0px;*/

/*    }*/
/*    #header > .line1 > .logo-container .logo {*/
/*        width: 8em;*/
/*    }*/



/*    #header > .line1 i {*/
/*        font-size: 32px;*/
/*        padding: 0px;*/
/*        margin: 0px;*/

/*    }*/

/*    #header > .line1 .header__boton__texto {*/
/*        display: none;*/
/*    }*/
/*}*/


/*
        Movil
    */


.solo-movil {
    display: none;
}

.solo-ordenador {
    display: none;
}


@media all and (min-width: 990px) {
    .solo-ordenador {
        display: initial;
    }
}




@media all and (max-width: 990px) {
    .esconder-movil {
        display: none !important;
    }

    .solo-movil {
        display: initial;
    }

    .informacion-movil {
        padding: 0;
    }
}


#header .toggle-busqueda-movil {
    display: none;
    color: var(--color-text-tertiary);
}

@media all and (max-width: 350px) {
    #header > .line1 > .logo-container .logo {
        margin: 0 -14px;
    }
}
#header > .line1 > .logo-container .logo {
    width: 12em;
}

@media all and (max-width: 990px) {

    :root {
        --height-header: 60px;
    }

    #header {
        height: 60px;
        position: sticky;
    }

    #header > .line1 {
        height: 100%;
        padding: 0;
        vertical-align: middle;
    }

    #header .toggle-categorias {
        order: 1;
        padding: 6px 10px;
        margin: 0 4px 0 8px;
        border: none;
        background: none;
        color: var(--color-primary);
        font-size: var(--font-size-medium-plus);
        border-radius: var(--border-radius-md);
    }

    #header .toggle-categorias:hover {
        background: rgba(0, 0, 0, 0.05);
        box-shadow: none;
    }

    #header .toggle-categorias span {
        display: none;
    }

    #header > .line1 .logo-container {
        order: 2;
        padding: 1px;
        margin: 0px;
    }

    #header > .line1 > .logo-container .logo {
        width: 12em;
    }

    #header > .line1 .search_box {
        order: 3;
    }

    #header > .line1 .shop-menu {
        order: 4;
        margin-left: auto;
        display: flex;
        justify-content: end;
        padding-right: 12px;
    }

    #header > .line1 .shop-menu ul {
        justify-content: space-between;

    }

    #header .line1 .spacer {
        flex: 1;
        display: inline-block;
    }

    /* last child selector */
    #header .line1 .header__boton {
        margin: 0
    }

    #header .line1  .spacer{
        display: none;
    }

    #header .line1 .header__boton:last-child {
        margin-right: 0;
        padding-right: 0;
    }

    #header > .line1 .header__boton__texto {
        display: none;
    }

    #header > .line1 i {
        font-size: 1.4rem;
        padding: 0;
        margin: 0;
    }

    #header .toggle-categorias > i {
        font-size: 1.35rem;
        color: var(--color-primary);
    }

    #header .line1 .header__boton {
        padding: 6px 8px;
    }

    #header .line1 .header__boton__icono,
    #header .line1 .header--carrito--icono {
        width: 22px;
    }

    #header .toggle-busqueda-movil i {
        font-size: 1.65rem;
        color: var(--color-text-primary);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: rgba(0,0,0,0.04);
        transition: background 0.15s ease;
    }

    #header .toggle-busqueda-movil i:active {
        background: rgba(194, 57, 114, 0.1);
    }


    #header > .line1 .shop-menu ul .shop-menu-register {
        display: none;
    }
}

/*
        Header simple
    */

.main-wrapper-simple {
    min-height:100vh;
    display:flex;
    flex-direction:column;
    /*justify-content:space-between;*/
}

#header-simple {
    top: 0;
    width: 100%;

    vertical-align: middle;

    height: 64px;
    margin-bottom: 0;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid #eee;
}


#header-simple  .logo-container {
    flex: 1;
    max-height: 56px;
    text-align: center;
    padding: 6px;
}


#header-simple  .logo-container .logo {
    width: auto;
    max-width: 180px;
    max-height: 44px;
    object-fit: contain;
}


/*
        Movil
    */

@media all and (max-width: 990px) {

    #header-simple {
        height: 54px;
        /*position: sticky;*/
    }

    #header-simple > .line1 {
        height: 60px;
        padding: 0px;
        vertical-align: middle;
        padding-left: 0;
    }

    #header-simple > .line1 .logo-container {
        order: 2;
        padding: 1px;
        margin: 0;

    }
    #header-simple > .line1 > .logo-container .logo {
        width: 120px;
    }
}



















/*.secondary-nav {*/
/*    color: #ffffff;*/
/*    height: 30px;*/
/*    width: 100%;*/
/*    border-top: 0px;*/
/*    margin: 0px;*/
/*    padding: 0px;*/
/*    border-bottom: 1px solid white;*/
/*    display: flex;*/
/*    flex-wrap: nowrap;*/
/*    flex-direction: row;*/
/*    !*-webkit-box-shadow: 0px 50px 78px -16px rgba(0, 0, 0, 0.75);*!*/
/*    !*-moz-box-shadow: 0px 50px 78px -16px rgba(0, 0, 0, 0.75);*!*/
/*    !*box-shadow: 0px 50px 78px -16px rgba(0, 0, 0, 0.75);*!*/
/*    !* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#4c4c4c+0,595959+12,666666+25,474747+39,2c2c2c+50,000000+51,111111+60,2b2b2b+76,1c1c1c+91,131313+100;Black+Gloss+%231 *!*/
/*    !* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,e5e5e5+100;White+3D *!*/
/*    background: #03638a; !* Old browsers *!*/

/*    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e5e5e5', GradientType=0); !* IE6-9 *!*/
/*}*/
/*!**/
/*    Secondary navigation*/
/* *!*/




/*.secondary-nav > * {*/
/*    flex: 1;*/
/*    height: 100%;*/
/*    justify-content: center;*/


/*    text-align: center;*/
/*    font-weight: 500;*/
/*    align-content: center;*/
/*    display: flex;*/

/*    min-width: 100px;*/

/*}*/

/*.secondary-nav >*:not(:last-child) {*/
/*    border-right: 2px groove white;*/
/*}*/

/*.secondary-nav > * > * {*/
/*    overflow: hidden;*/
/*}*/


/*.secondary-nav *:hover {*/
/*    background: #C23972;*/
/*    color: blue;*/
/*}*/

/*.secondary-nav *:hover > a {*/

/*    color: white;*/
/*}*/

/*.secondary-nav > div > a {*/
/*    padding-top: 4px;*/
/*    font-size: 1.1em;*/
/*    color: white;*/
/*    font-family: 'Montserrat', sans-serif;*/
/*    !*text-transform: uppercase;*!*/
/*    height: 100%;*/
/*}*/






.btn{
    text-wrap: normal;
    word-wrap: break-spaces;
}

.register-button:hover {
    color: unset !important;

}

.btn.btn-rosa {
    background-color: var(--color-primary);
    color: var(--color-text-white);
    border: 1px solid var(--color-primary);
}

.btn.btn-rosa:hover, .btn.btn-rosa:focus {
    background-color: var(--color-primary-dark);
    color: var(--color-text-white);
}


.btn.btn-gris {
    background-color: #d7d7d7;
    color: #232323;
}

.btn.btn-gris:hover, .btn.btn-gris:focus {
    background-color: #474747;
    color: white;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    /*background-color: #f3f3f3;*/
    background-color: white;
    margin: 0;
    padding: 0;
}

/*.descripcion-resumida {*/
/*    width: 100%;*/
/*    max-width: 1000px;*/
/*    margin: 30px auto;*/
/*    padding: 20px;*/
/*    background-color: #fff;*/
/*    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);*/
/*    border-radius: 8px;*/
/*}*/

/*.descripcion-resumida h3 {*/
/*    font-size: 28px;*/
/*    color: #333;*/
/*    text-align: center;*/
/*    padding-bottom: 10px;*/
/*    margin-bottom: 20px;*/
/*    border-bottom: 2px solid #007bff;*/
/*}*/

/*.descripcion-resumida h4 {*/
/*    font-size: 20px;*/
/*    color: #007bff;*/
/*    margin-top: 20px;*/
/*    margin-bottom: 10px;*/
/*    font-weight: bold;*/
/*}*/

/*.descripcion-resumida ul {*/
/*    list-style-type: none;*/
/*    padding-left: 0;*/
/*}*/

/*.descripcion-resumida ul li {*/
/*    margin-bottom: 12px;*/
/*    background-color: #f9f9f9;*/
/*    padding: 12px;*/
/*    border-radius: 5px;*/
/*    border-left: 4px solid #007bff;*/
/*}*/

/*.descripcion-resumida ul li ul {*/
/*    margin-left: 0;*/
/*    padding-left: 0;*/
/*}*/

/*.descripcion-resumida ul li ul li {*/
/*    display: flex;*/
/*    justify-content: space-between;*/
/*    background-color: transparent;*/
/*    padding: 5px 0;*/
/*    margin: 5px 0;*/
/*    border-bottom: 1px solid #e0e0e0;*/
/*}*/

/*!* Style for the label (left side) *!*/
/*.descripcion-resumida ul li ul li::before {*/
/*    content: "";*/
/*    font-weight: bold;*/
/*    color: #333;*/
/*    flex-basis: 40%;*/
/*    text-align: left;*/
/*}*/

/*!* Style for the value (right side) *!*/
/*.descripcion-resumida ul li ul li span {*/
/*    color: #007bff;*/
/*    font-weight: bold;*/
/*    flex-basis: 60%;*/
/*    text-align: right;*/
/*}*/

/*
        Search dropdown
    */

.search_box {
    padding-left: 8px;
    display: inline-flex;
    position: relative;
    flex-grow: 1;
    /*max-width: 1080px;*/
    /*width: 100%;*/

}

.search_box--button {
    background-color: var(--color-primary-dark);
    color: white;
    border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0 !important;
    transition: background-color 0.15s ease;
    border: none;
    font-size: var(--font-size-medium-plus);
    padding: 0 14px;
}

.search_box--button:hover {
    background-color: #a01d52;
    color: white;
}




.search_box input::placeholder {
    color: #999;
    opacity: 1;
    font-weight: 400;
}

.search_box .search_box__group {
    width: 100%;
}
.search_box input {
    border: 1px solid #ddd !important;
    font-family: var(--font-primary);
    font-size: var(--font-size-medium-plus);
    font-weight: 400;
    height: 44px;
    outline: medium;
    padding-left: 16px;
    width: 100%;

    border-radius: var(--border-radius-md) 0 0 var(--border-radius-md);

    background: #f5f5f5;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}

.search_box input:focus {
    border-color: var(--color-primary) !important;
    background: #fff;
    box-shadow: 0 0 0 2px rgba(194, 57, 114, 0.1);
}


.busqueda-movil {
    display: none;
}

.busqueda-movil.mostrar {
    display: none;
}



@media all and (max-width: 1200px) {
    .toggle-categorias span {
        display: none;
    }
}

@media all and (max-width: 450px) {

    #header .toggle-busqueda-movil {
        display: inline-block;
    }

    .secondary-nav {
        display: none;
    }


    .search_box {
        display: none;
    }

    .busqueda-movil.mostrar {
        display: flex;
    }

    .busqueda-movil {
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 100000001;
        padding: 0 12px;
        background: #fff;
        box-shadow: 0 2px 12px rgba(0,0,0,0.12);
        height: 60px;
        align-items: center;
        gap: 8px;
    }

    .busqueda-movil__back {
        background: none;
        border: none;
        padding: 8px;
        color: #333;
        font-size: 1.3rem;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .busqueda-movil form {
        width: 100%;
        flex: 1;
    }

    .busqueda-movil .busqueda-global-textbox {
        width: 100%;
        height: 44px;

        border: 1px solid #ddd;
        font-family: var(--font-primary);
        font-size: var(--font-size-medium-plus);
        font-weight: 400;
        outline: none;
        padding: 0 16px;
        color: #333;
        background: #f8f8f8;
        border-radius: var(--border-radius-md);
        transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    .busqueda-movil .busqueda-global-textbox:focus {
        border-color: var(--color-primary);
        background: #fff;
        box-shadow: 0 0 0 2px rgba(194, 57, 114, 0.12);
    }
}



.search-dropdown {
    position: fixed;
    min-height: 0px;
    width: 90%;
    max-width: 1080px;
    background-color: white;
    z-index: 100000002;
    display: none;
    padding: 0;
    list-style: none;
    margin: 0;

    left: 50%;
    transform: translateX(-50%);

    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0,0,0,0.08);

    overscroll-behavior: none;
    border-radius: 0 0 var(--border-radius-lg) var(--border-radius-lg);
    overflow: hidden;
    max-height: 70vh;
    overflow-y: auto;
}



.search-dropdown.movil {
    position: fixed;
    top: 60px; /* directly below the search overlay */
    width: 100%;
    max-width: none;
    left: 0;
    transform: none;
    border-radius: 0;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
    max-height: calc(100vh - 60px);
}




.search-dropdown li {
    padding: 10px 12px;
    font-size: var(--font-size-small);
    height: auto;
    min-height: 80px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.15s ease;
}

.search-dropdown li:hover  {
    background-color: #fdf2f6;
}

.search-dropdown li > .imagen {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    min-width: 70px;
    height: 70px;
    margin-right: 12px;
    border-radius: var(--border-radius-sm);
    overflow: hidden;
    background: #fafafa;
}

.search-dropdown li > .imagen img {
    max-height: 65px;
    max-width: 65px;
    object-fit: contain;
}


.search-dropdown li > .info {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    min-width: 0;
}

.search-dropdown li  > .info > .texto {
    display: block;
    font-size: var(--font-size-medium);
    color: #333;
    text-decoration: none;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.search-dropdown li > .info > .texto:hover {
    color: var(--color-primary);
}

.search-dropdown li > .info  > .precio {
    color: var(--color-primary);
    font-size: var(--font-size-medium-plus);
    font-weight: 700;
    display: block;
}


.search-dropdown li span.extra {
    display: block;
}

@media all and (max-width: 990px) {
    .search-dropdown li > .info > .texto {
        font-size: var(--font-size-small);
    }
    .search-dropdown li > .imagen {
        width: 55px;
        min-width: 55px;
        height: 55px;
    }
    .search-dropdown li > .imagen img {
        max-height: 50px;
        max-width: 50px;
    }
}


.search-dropdown li:last-child {
    border-bottom: none;
}

.header_top {
    background: none repeat scroll 0 0 #F0F0E9;
}

#header > .line1 .container .row {
    border-bottom: 0px solid #f5f5f5;
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 0px;
    padding-top: 8px;
    background-color: white;
}

#header > .line1 .container .row .col-sm-4 {
    padding-left: 0;
}

#header > .line1 .container .row .col-sm-8 {
    padding-right: 0;
}


.btn-group.open .dropdown-toggle {
    background: rgba(0, 0, 0, 0);
    box-shadow: none;
}

.dropdown-menu li a:hover, .dropdown-menu li a:focus {
    background-color: #C23972;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
}


@media (max-width: 990px) {
    #header {
        position: sticky  !important;
        display: flex;
        z-index: 100000;
    }

    .breadcrumbs {
        position: static  !important;
        top: 0;
    }
}


.shop-menu ul {

    margin: 0.5rem;
    padding: 0.5rem;
    height: 100%;
}

.shop-menu ul li {
    vertical-align: middle;
    display: inline-block;
    padding:  15px;
    text-align: center;
    height: 100%;
    font-size: var(--font-size-medium-plus);
}

.shop-menu ul li > * {
    height: 100%;
    display: inline-block;
}

.shop-menu ul li  * {
    vertical-align: middle;
}


.shop-menu ul li:last-child {
    padding-right: 0;
}

.shop-menu ul li a {
    /*background: var(--color-bg-primary);*/
    color: var(--color-text-tertiary);
    font-family: var(--font-primary);
    font-size: 1.2rem;
    font-weight: 400;
    padding: 0;
    margin-top: 0px;
}

.shop-menu ul li a i {
    margin-right: 3px;
    display:block;
    font-size: var(--font-size-large);
}

.shop-menu ul li a:hover {
    color: #C23972;
    background: #fff;
}


.navbar-collapse.collapse {
    padding-left: 0;
}

.mainmenu ul li {
    padding-right: 15px;
    padding-left: 15px;
}

.mainmenu ul li:first-child {
    padding-left: 0px;
}

.mainmenu ul li a {
    color: var(--color-text-tertiary);
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium-large);
    font-weight: 300;
    padding: 0;
    padding-bottom: 10px;
}

.mainmenu ul li a:hover, .mainmenu ul li a.active, .shop-menu ul li a.active {
    background: none;
    color: #fdb45e;
}


.contactinfo ul li:first-child {
    margin-left: -15px;
}

.contactinfo ul li a {
    font-size: var(--font-size-small);
    color: var(--color-text-tertiary);
    font-family: 'Montserrat', sans-serif;
}

.contactinfo ul li a:hover {
    background: inherit;
}


.fa-bars:hover {
    background: #0083C9;
}

.fa-facebook:hover {
    background: #0083C9;
}

.fa-twitter:hover {
    background: #5BBCEC;
}

.fa-linkedin:hover {
    background: #FF4518;
}

.fa-dribbble:hover {
    background: #90C9DC;
}

.fa-google-plus:hover {
    background: #CE3C2D;
}


/*  Dropdown menu*/
.navbar-header .navbar-toggle .icon-bar {
    background-color: #fff;
}

.nav.navbar-nav > li:hover > ul.sub-menu {
    display: block;
    /*-webkit-animation: fadeInUp 400ms;*/
    /*-moz-animation: fadeInUp 400ms;*/
    /*-ms-animation: fadeInUp 400ms;*/
    /*-o-animation: fadeInUp 400ms;*/
    /*animation: fadeInUp 400ms;*/
}

ul.sub-menu {
    position: absolute;
    top: 30px;
    left: 0;
    background: rgba(0, 0, 0, 0.6);
    list-style: none;
    padding: 0;
    margin: 0;
    width: 220px;
    -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
    display: none;
    z-index: 999;
}

.dropdown ul.sub-menu li .active {
    color: #FDB45E;
    padding-left: 0;
}

.navbar-nav li ul.sub-menu li {
    padding: 10px 20px 0;
}

.navbar-nav li ul.sub-menu li:last-child {
    padding-bottom: 20px;
}

.navbar-nav li ul.sub-menu li a {
    color: #fff;
}

.navbar-nav li ul.sub-menu li a:hover {
    color: #FDB45E;
}

.fa-angle-down {
    padding-left: 5px;
    padding-right: 12px;
}

@-webkit-keyframes fadeInUp {

    0% {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

/*************************
    *******Footer CSS******
    **************************/
#footer {
    background-color: #ffffff;
    position: relative;
    bottom: -78px;
    margin-bottom: 0px;
    padding-bottom: 0px;
    min-height: 200px;
}



.footer-top {
    border-bottom: 2px  white dotted;
    text-align: center;
    padding-top:20px;
}




.footer-icons li {
    margin:0 auto;
    display:inline-block;
    list-style: none;
    padding: 6px;
    text-align: center;
    font-size: var(--font-size-medium-plus);
    font-weight:600;
    width:150px;
    /*min-width: 120px;*/



}

.footer-icons li i {
    text-align:center;
    display: block;
}


.iframe-img {
    position: relative;
    display: block;
    height: 61px;
    margin-bottom: 10px;
    border: 0px solid #CCCCC6;
    border-radius: 3px;
}

.overlay-icon {
    position: absolute;
    top: 0;
    width: 100%;
    height: 61px;
    background: #C23972;
    border-radius: 3px;
    color: #FFF;
    font-size: var(--font-size-large);
    line-height: 0;
    display: block;
    opacity: 0;
    -webkit-transition: 300ms;
    -moz-transition: 300ms;
    -o-transition: 300ms;
    transition: 300ms;
}

.overlay-icon i {
    position: relative;
    top: 50%;
    margin-top: -20px;
}


.address {
    margin-top: 30px;
    position: relative;
    overflow: hidden;
}

.address img {
    width: 100%;
}

.address p {
    color: #666663;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-14px);
    font-weight: 300;
    left: 25px;
    position: absolute;
    top: 50px;
}


#footer {
    margin-top: 30px;
    /*background-color: #9FB3CB;*/

    background-color: #2a2c4c;
    color: #FFF;
}

.footer-widget {
    margin-bottom: 68px;


    background: #2a2c4c;
    color: #FFF;
}

.footer-widget .container {
    border-top: 0px solid #FFFFFF;
    padding-top: 15px;
}

.single-widget h2 {
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium-plus);
    font-weight: 800;
    margin-bottom: 22px;
    text-transform: uppercase;
}

.single-widget h2 i {
    margin-right: 15px;
}

.single-widget ul li a {
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-14px);
    font-weight: 500;
    padding: 5px 0;

}

.single-widget ul li a i {
    margin-right: 18px;
}

.single-widget ul li a:hover {
    background: none;
    color: #0083C9;
}

.searchform input {
    border: 0px solid #DDDDDD;
    color: #CCCCC6;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-14px);
    margin-top: 0;
    outline: medium none;
    padding: 7px;
}

.searchform button {
    background: #C23972;
    border: medium none;
    border-radius: 0;
    margin-left: -5px;
    margin-top: -3px;
    padding: 7px 17px;
}

.searchform button i {
    color: #FFFFFF;
    font-size: var(--font-size-large);
}

.searchform button:hover, .searchform button:focus {
    background-color: #C23972;
}

.searchform p {
    color: #8C8C88;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-14px);
    font-weight: 300;
    margin-top: 25px;
}

.footer-bottom {
    background: #D6D6D0;
    padding-top: 10px;
}

.footer-bottom p {
    color: #363432;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    margin-left: 15px;
}

.footer-bottom p span a {
    color: #2a2c4c;
    font-style: italic;
    text-decoration: underline;
}


/*************************
    ******* Home ******
    **************************/
#slider {
    padding-bottom: 8px;
}

.carousel-indicators li {
    background: rgba(0,0,0,0.2);
    border: none;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 0 4px;
    transition: all 0.3s ease;
}

.carousel-indicators li.active {
    background: #C23972;
    width: 12px;
    height: 12px;
}
/* Quitado */
/*.item {*/
/*    padding-left: 100px;*/
/*}*/

.carousel-control.left, .carousel-control.right {
    background-image: none !important;
    filter: none !important;
    background: rgba(255,255,255,0.95);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.12);
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 20px;
    opacity: 0.85;
    transition: all 0.25s ease;
    box-shadow: 0 2px 12px rgba(0,0,0,0.18);
    margin: 0 12px;
}

.carousel-control.left:hover, .carousel-control.right:hover {
    opacity: 1;
    background: white;
    color: #C23972;
    border-color: rgba(0,0,0,0.18);
    box-shadow: 0 4px 16px rgba(0,0,0,0.22);
}


.pricing {
    position: absolute;
    right: 40%;
    top: 52%;
}



.item h1 {
    color: #B4B1AB;
    font-family: abel;
    font-size: var(--font-size-48px);
    margin-top: 115px;
}

.item h1 span {
    color: #C23972;
}

.item h2 {
    color: #363432;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-xxxl);
    font-weight: 700;
    margin-bottom: 22px;
    margin-top: 10px;
}

.item p {
    color: #363432;
    font-size: var(--font-size-medium-plus);
    font-weight: 300;
    font-family: 'Montserrat', sans-serif;
}

.get {
    background: #C23972;
    border: 0 none;
    border-radius: 0;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium-plus);
    font-weight: 300;
    margin-top: 23px;
}

.item button:hover {
    background: #C23972;
}

.control-carousel {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.12);
    background: rgba(255,255,255,0.95);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #444;
    text-decoration: none;
    opacity: 0.9;
    transition: all 0.25s ease;
    box-shadow: 0 2px 12px rgba(0,0,0,0.18);
    z-index: 2;
}

.control-carousel:hover {
    color: #C23972;
    opacity: 1;
    background: white;
    border-color: rgba(0,0,0,0.18);
    box-shadow: 0 4px 16px rgba(0,0,0,0.22);
    text-decoration: none;
}

.control-carousel.left {
    left: 10px;
}

.control-carousel.right {
    right: 10px;
}

.right {
    right: 0;
}


/************************
    Menu lateral
    ************************/
.brand_products__background-overlay {
    position: fixed; /* Fixed position to stay in place */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.45);
    z-index: 100000000;
    visibility: hidden;
    cursor: pointer;
    transition: background-color 0.35s ease, visibility 0.35s ease;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}


body.overlayed::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* semi-transparent overlay */
    z-index: 100000000;
}

body.overlayed {
    overflow: hidden;


}


/* ============================================================
   SIDEBAR / CATEGORIES MENU
   ============================================================ */

#brand_products {
    box-shadow: 2px 0 30px rgba(0, 0, 0, 0.15);
    transform: translateX(-340px);
    left: -340px;
    position: fixed;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    bottom: 0;
    justify-content: flex-start;
    z-index: var(--z-sidebar);
    max-height: 100%;
    transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
    width: 320px;
    border-radius: 0;
    text-align: left;
    overflow: hidden;
}

/* --- Header --- */
.brand_products__title {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    padding: 18px 20px;
    text-align: left;
    line-height: 1;
    border-radius: 0;
    position: relative;
    flex-shrink: 0;
}

.brand_products__title h2 {
    font-size: var(--font-size-14px);
    color: #fff;
    margin: 0;
    font-family: var(--font-primary);
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.brand_products__title__close-button {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.9rem;
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.15s ease;
    background: rgba(255, 255, 255, 0.12);
}

.brand_products__title__close-button:hover {
    background-color: rgba(255, 255, 255, 0.25);
    color: #fff;
}

.brand_products__close_button {
    background-color: var(--color-primary);
    color: #fff;
    font-size: 1.5em;
    padding: 10px;
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
}

/* --- Show state --- */
#brand_products.brand_products--show {
    transform: translateX(0);
    display: flex;
    left: 0 !important;
}

#brand_products .menu-categorias__header {
    width: 100%;
    height: 28px;
    font-size: 0.82em;
    background-color: var(--color-primary);
    color: #fff;
}

#brand_products .menu-categorias__header h2 {
    color: white;
    text-align: center;
    font-size: var(--font-size-medium-plus);
    padding: 8px;
    margin: 0;
}

/* --- Scrollable list --- */
#brand_products .category-products {
    flex: 1;
    border: none;
    padding: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.1) transparent;
}

#brand_products .category-products::-webkit-scrollbar { width: 4px; }
#brand_products .category-products::-webkit-scrollbar-track { background: transparent; }
#brand_products .category-products::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

/* --- Etiquetas (Ofertas BLACK FRIDAY, etc.) --- */
#brand_products .category-products > .panel-default:first-child {
    margin-bottom: 0;
}

#brand_products .category-products > .panel-default:first-child .panel-heading {
    text-align: left !important;
    padding: 0;
}

#brand_products .category-products > .panel-default:first-child .panel-heading a.clickAndCover {
    display: block;
    padding: 11px 18px;
    font-size: var(--font-size-14px) !important;
    font-weight: 600 !important;
    color: var(--color-primary-dark) !important;
    text-align: left !important;
    transition: all 0.15s ease;
    border-bottom: 1px solid #f0f0f0;
}

#brand_products .category-products > .panel-default:first-child .panel-heading a.clickAndCover:hover {
    background-color: rgba(194, 57, 114, 0.04);
    color: var(--color-primary) !important;
}

/* --- Reset all panels --- */
#brand_products .category-products .panel-heading {
    padding: 0;
    font-size: var(--font-size-14px);
}

#brand_products .category-products .panel-heading h2,
#brand_products .category-products h5 {
    padding: 0;
    margin: 0;
}

#brand_products .category-products .panel-body {
    padding: 0;
    margin: 0;
}

#brand_products .category-products .panel-body ul {
    margin: 0;
    padding: 0;
}

#brand_products .category-products .panel-body ul li {
    padding: 0;
    margin: 0;
}

h2.title:before {
    position: absolute;
    bottom: -6px;
    width: 220px;
    height: 30px;
    z-index: -1;
    left: 50%;
    margin-left: -110px;
}

/* --- All panels base --- */
.category-products .panel {
    border: none;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 0;
}

.category-products .panel-default {
    background-color: transparent;
}

.category-products .panel-default .panel-heading {
    background-color: transparent;
    color: var(--color-text-primary);
    padding: 0;
    border: none;
}

.category-products .panel-body {
    background-color: transparent;
}

.category-products .panel-default .panel-heading .panel-title {
    line-height: 1;
    height: auto;
    min-height: 0;
    display: block;
}

/* --- Selected state --- */
.menu-seleccionado {
    text-decoration: none;
}

.category-products .panel-body ul li.menu-seleccionado {
    background-color: rgba(194, 57, 114, 0.06) !important;
}

.category-products .panel-default .panel-heading .panel-title a.menu-seleccionado {
    font-weight: 600 !important;
    color: var(--color-primary) !important;
    background-color: rgba(194, 57, 114, 0.06) !important;
}

.category-products * {
    vertical-align: middle;
}

.category-products .panel-default .panel-heading:hover {
    background-color: transparent;
}

/* =============================================
   LEVEL 1 - Top categories (secciones)
   ============================================= */
.category-products .panel-default .panel-heading .panel-title a {
    color: #333;
    font-family: var(--font-primary);
    font-size: var(--font-size-medium);
    font-weight: 500;
    padding: 12px 16px 12px 18px;
    text-decoration: none;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    transition: all 0.15s ease;
    border-bottom: 1px solid #f0f0f0;
    background-color: transparent;
}

.category-products .panel-default .panel-heading .panel-title a:hover {
    color: var(--color-primary);
    background-color: rgba(194, 57, 114, 0.04);
}

/* Expanded toggle ONLY (has data-toggle attribute) */
.category-products .panel-default .panel-heading .panel-title a[data-toggle="collapse"]:not(.collapsed) {
    color: var(--color-primary-dark);
    font-weight: 600;
    background-color: rgba(194, 57, 114, 0.06);
    border-bottom: 1px solid rgba(194, 57, 114, 0.1);
    border-left: 3px solid var(--color-primary);
}

/* --- Chevron (only on accordion toggles) --- */
.category-products .panel-default .panel-heading .panel-title a .pull-right {
    transition: transform 0.25s ease;
    font-size: 0.6rem;
    color: #bbb;
    margin-left: auto;
    flex-shrink: 0;
    padding-left: 10px;
}

.category-products .panel-default .panel-heading .panel-title a .pull-right i {
    display: block;
}

.category-products .panel-default .panel-heading .panel-title a[data-toggle="collapse"]:not(.collapsed) .pull-right {
    transform: rotate(180deg);
    color: var(--color-primary);
}

.category-products .panel-default .panel-heading .panel-title a:hover .pull-right {
    color: var(--color-primary);
}

/* =============================================
   LEVEL 2 - Familias (inside expanded panel)
   ============================================= */
.category-products .panel-collapse.in,
.category-products .panel-collapse.collapsing {
    background-color: #fafafa;
}

.category-products .panel-collapse .panel-body {
    padding: 4px 0;
}

.category-products .panel-collapse .panel-body .panel-default .panel-heading {
    border: none;
}

.category-products .panel-collapse .panel-body .panel-default .panel-heading .panel-title a {
    font-size: var(--font-size-14px);
    font-weight: 400;
    padding: 9px 14px 9px 24px;
    color: #555;
    border-bottom: 1px solid #eee;
    background-color: transparent;
    border-left: none;
}

.category-products .panel-collapse .panel-body .panel-default .panel-heading .panel-title a:hover {
    color: var(--color-primary);
    background-color: rgba(194, 57, 114, 0.04);
}

/* Level 2 expanded toggle */
.category-products .panel-collapse .panel-body .panel-default .panel-heading .panel-title a[data-toggle="collapse"]:not(.collapsed) {
    color: var(--color-primary-dark);
    font-weight: 600;
    background-color: rgba(194, 57, 114, 0.06);
    border-left: none;
}

/* =============================================
   LEVEL 3 - Subfamilias
   ============================================= */
.category-products .panel-collapse .panel-collapse .panel-body {
    padding-left: 0;
    background-color: #f5f5f5;
}

.category-products .panel-collapse .panel-collapse .panel-body ul {
    padding: 4px 0;
    margin: 0;
    list-style: none;
}

.category-products .panel-collapse .panel-collapse .panel-body ul li {
    margin: 0;
    padding: 0;
}

.category-products .panel-collapse .panel-collapse .panel-body ul li h5.panel-heading {
    padding: 0;
    margin: 0;
    border: none;
}

.category-products .panel-collapse .panel-collapse .panel-body ul li h5.panel-heading a {
    display: block;
    padding: 7px 14px 7px 36px;
    font-size: var(--font-size-14px);
    font-weight: 400;
    color: #666;
    text-decoration: none;
    transition: all 0.15s ease;
    border-bottom: none !important;
}

.category-products .panel-collapse .panel-collapse .panel-body ul li h5.panel-heading a:hover {
    color: var(--color-primary);
    background-color: rgba(194, 57, 114, 0.05);
}

.category-products .panel-collapse .panel-collapse .panel-body ul li h5.menu-seleccionado a {
    color: var(--color-primary) !important;
    font-weight: 600;
    background-color: rgba(194, 57, 114, 0.06);
}

/* --- Misc --- */
.panel-group .panel-heading + .panel-collapse .panel-body {
    border-top: none;
}

.category-products .badge {
    background: none;
    display: inline-block;
    font-size: var(--font-size-small);
    font-weight: normal;
    line-height: 1;
    min-width: 10px;
    padding: 3px 7px;
    text-align: center;
    vertical-align: baseline;
    white-space: nowrap;
}

.panel-body {
    background-color: transparent;
}

.panel-body ul {
    padding-left: 0;
    list-style: none;
    margin: 0;
}

.panel-body ul li a {
    color: #555;
    font-weight: 400;
    line-height: 1.4;
    font-family: var(--font-primary);
    font-size: var(--font-size-14px);
    display: block;
    padding: 7px 14px 7px 20px;
    transition: all 0.15s ease;
    text-decoration: none;
}

.panel-body ul li a:hover {
    background-color: rgba(194, 57, 114, 0.04);
    color: var(--color-primary);
}

.brands-name {
    border: 1px solid #F7F7F0;
    padding-bottom: 20px;
    padding-top: 15px;
}

.brands-name .nav-stacked li a {
    background-color: #FFFFFF;
    color: var(--color-text-tertiary);
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium);
    padding: 5px 25px;
    text-decoration: none;
    text-transform: uppercase;
}

.brands-name .nav-stacked li a:hover {
    background-color: #fff;
    color: var(--color-text-tertiary);
}

.shipping {
    background-color: #F2F2F2;
    margin-top: 40px;
    overflow: hidden;
    padding-top: 20px;
    position: relative;
}

.price-range {
    margin-top: 30px;
}

.well {
    background-color: #FFFFFF;
    border: 1px solid #F7F7F0;
    border-radius: 4px;
    box-shadow: none;
    margin-bottom: 20px;
    min-height: 20px;
    padding: 35px;
}

.tooltip-inner {
    background-color: #C23972;
    border-radius: 4px;
    color: #FFFFFF;
    max-width: 200px;
    padding: 3px 8px;
    text-align: center;
    text-decoration: none;
}

.tooltip.top .tooltip-arrow {
    border-top-color: #C23972;
    border-width: 5px 5px 0;
    bottom: 0;
    left: 50%;
    margin-left: -5px;
}

.padding-right {
    padding-right: 0;
}

.features_items {
    /*overflow: hidden;*/
    overflow: hidden;
}

h2.title {
    color: #C23972;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-xl);
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 30px;
    position: relative;
}

/* Catalog listing title */
h1.title.catalog-title {
    margin-top: 16px;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: none;
    font-size: var(--font-size-xl);
    line-height: 1.3;
    text-transform: uppercase;
    position: relative;
}

h1.title.catalog-title::after {
    content: '';
    display: block;
    width: 100%;
    max-width: 320px;
    height: 3px;
    background: linear-gradient(90deg, #C23972, #e0498a);
    margin-top: 10px;
    border-radius: 2px;
}

h1.title.catalog-title a {
    color: #C23972;
    text-decoration: none;
    transition: color 0.2s ease;
}

h1.title.catalog-title a:hover {
    color: #a02060;
}

h1.title.catalog-title span:last-child {
    color: #1a1a2e;
}

/* Product grid */
.product-grid {
    display: flex;
    flex-wrap: wrap;
}

/* Pagination row */
.pagination-row {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.pagination-row > div {
    float: none;
}

.pagination-row .pagination-info {
    font-size: 13px;
    color: #888;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0.2px;
}

.pagination-row #tamanyoPagina {
    border-radius: 8px;
    border: 1px solid #ddd;
    padding: 8px 14px;
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
    cursor: pointer;
    background: white;
    color: #333;
    transition: border-color 0.2s ease;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 30px;
}

.pagination-row #tamanyoPagina:hover,
.pagination-row #tamanyoPagina:focus {
    border-color: #C23972;
}

.product-image-wrapper {
    border-radius: 12px;
    border: 1px solid #f0f0f0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    /*transition: all 0.3s ease; */
    position: relative;
    overflow: hidden;
    margin: 0 auto 24px;
    max-width: 340px;
    background-color: white;
}

.product-image-wrapper:hover {
    box-shadow: 0 6px 20px rgba(194, 57, 114, 0.15);
    border-color: rgba(194, 57, 114, 0.2);
    transform: translateY(-3px);
}



.single-products {
    position: relative;
    height: 100%;
    /*min-height: 460px;*/
}

.new, .sale {
    position: absolute;
    top: 0;
    right: 0;
}

.escandallo {
    position: absolute;
    bottom: 0;
    right: 0;
}

.regalo {
    position: absolute;
    bottom: 0;
    left: 0;
}


.regalo-fijo {
    color: green;
    font-size: var(--font-size-large);
    font-weight: 700;
}


.productinfo h2 {
    color: var(--color-primary);
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-xxl);
    font-weight: 700;
    margin-top: 2px;

    /*height:300px;*/
}

.product-overlay h2 {
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-xxl);
    font-weight: 700;
}

.productinfo p {
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium);
    font-weight: 400;
    color: var(--color-text-tertiary);
    margin: 0 2px 6px;
}

.product-image-wrapper .productinfo--image-holder {
    position: relative;
    width: 100%;
    background-color: #fafafa;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid #f0f0f0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.product-image-wrapper .productinfo--image-holder > a:not(.etiqueta-producto-lista) {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

/*.productinfo .productinfo--image-holder > a {*/

/*    display: flex;*/
/*    justify-content: center;*/
/*    align-items: center;*/
/*    box-sizing:border-box;*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    object-fit: cover; !* Ensure image covers the container *!*/

/*}*/

.product-image-wrapper .productinfo--image-holder .productinfo-main-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 12px;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease;
}




/*.productinfo .productinfo--image-holder .spinner {*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    object-fit: cover; !* Ensure image covers the container *!*/
/*}*/

/* Product row skeleton — shown while Slick initialises */
@keyframes productShimmer {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.product-row-shimmer {
    display: flex;
    overflow: hidden;
    padding: 4px 0;
}

.product-row-shimmer .shimmer-card {
    flex: 1 0 0;
    min-width: 0;
    padding: 0 10px;
}

.shimmer-card-img {
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    background: linear-gradient(90deg, #f0f0f0 0%, #e4e4e4 40%, #f0f0f0 100%);
    background-size: 200% 100%;
    animation: productShimmer 1.5s ease-in-out infinite;
}

.shimmer-card-line {
    height: 12px;
    margin-top: 10px;
    border-radius: 4px;
    background: linear-gradient(90deg, #f0f0f0 0%, #e4e4e4 40%, #f0f0f0 100%);
    background-size: 200% 100%;
    animation: productShimmer 1.5s ease-in-out infinite;
}

.shimmer-card-line.short {
    width: 55%;
    margin-top: 6px;
}

@media all and (max-width: 767px) {
    .product-row-shimmer .shimmer-card:nth-child(n+3) {
        display: none;
    }
}

@media all and (min-width: 768px) and (max-width: 1023px) {
    .product-row-shimmer .shimmer-card:nth-child(n+5) {
        display: none;
    }
}


.etiqueta-producto-lista {
    position: absolute;
    top: 12px;
    left: 12px;
    background: linear-gradient(135deg, #e0498a 0%, #C23972 100%);
    padding: 4px 10px;
    text-align: center;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(194, 57, 114, 0.3);
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    cursor: pointer;
    z-index: 2;
    width: auto;
    height: auto;
}


.etiqueta-producto-lista .etiqueta-producto-lista--icon {
    height: 16px;
    width: 16px;
}

.etiqueta-producto-lista .etiqueta-producto-lista--text {
    color: white;
    font-size: var(--font-size-small);
    text-transform: uppercase;
    vertical-align: middle;
}




.etiqueta-producto-detalle {
    /*background: rgba(227, 227, 227, 0.82);*/
    opacity: 1;
    border: 1px solid #C23972;
    border-radius: 6px;
    padding: 6px 4px;
    text-align: center;
    display:inline-block;
    margin: 4px;
    text-decoration: none; /* Ensures no underline appears on hover */
}



.etiqueta-producto-detalle .etiqueta-producto-detalle--icon {
    height: 16px;
    width: 16px;
}

.etiqueta-producto-detalle .etiqueta-producto-detalle--text {
    /*color: black;*/
    font-size: var(--font-size-medium);
    text-transform: uppercase;
    font-weight: bolder;
    color: var(--color-primary);
}



.precio-hot {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: linear-gradient(135deg, #ff6b35, #ff4500);
    padding: 5px 10px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
    box-shadow: 0 2px 6px rgba(255, 69, 0, 0.3);
}

.precio-hot .precio-hot--icon {
    height: 14px;
    width: 14px;
}

.precio-hot .precio-hot--text {
    color: white;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.productinfo .productinfo-main-image {
    width: 100%;


}

.productinfo .disponibilidad-lista {
    font-size: var(--font-size-small-plus);
    font-weight: 400;
    text-align: left;
}

.productinfo {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #fff;
}

.productinfo .productinfo-data {
    padding: 10px 14px 10px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.productinfo .productinfo-data .spacer  {
    flex-grow: 1;
}

.product-information .price-block {
    margin-bottom: 28px;
}

.productinfo .productinfo-data .productinfo-data-disponibilidad  {
    display: block;
    border-top: 1px solid #f0f0f0;
    padding: 8px 0 4px;
    margin-top: auto;
    overflow: hidden;
}

.productinfo-data-disponibilidad .productinfo-codigo-stock {
    font-size: 11px;
    color: #aaa;
    margin-bottom: 3px;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.productinfo-data-disponibilidad p {
    margin-bottom: 2px;
    font-size: 12px;
    color: #555;
    display: flex;
    align-items: center;
    gap: 5px;
}

.productinfo-data-disponibilidad p i.fa-truck {
    color: #C23972;
    font-size: 12px;
    flex-shrink: 0;
}




.productinfo-verprecio {
    font-size: var(--font-size-medium);
    font-weight: 600;
    background: linear-gradient(135deg, #e0498a 0%, #b5295f 100%);
    color: white;
    margin-top: 8px;
    padding: 10px 16px;
    border-radius: 8px;
    text-align: center;
    transition: all 0.25s ease;
    display: block;
    width: 100%;
    border: none;
}

.productinfo-verprecio:hover {
    background: linear-gradient(135deg, #e8428c 0%, #c03069 100%);
    color: white;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(194, 57, 114, 0.3);
    text-decoration: none;
}

.productinfo-precio {
    position: relative;
    font-size: var(--font-size-36px);
    font-weight: 800;
    color: #C23972;
    text-align: left;
    line-height: 1.4;
    margin: 6px 0 4px;
    letter-spacing: -0.5px;
}



.productinfo-en-tienda {
    color: blueviolet !important;
}


.productinfo-precio-iva{
    position: absolute;
    bottom: 18px;
    padding-left: 2px;
    font-size: var(--font-size-small);
    color: #2a8a3e;
    font-weight: 600;
}

.productinfo-precio-canon {
    position: absolute;
    bottom: 8px;
    padding-left: 2px;
    font-size: var(--font-size-small);
    color: #2a8a3e;
    font-weight: 600;
}

.productinfo .product-name {
    margin-top: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

@media all and (max-width: 476px) {
    .product-image-wrapper {
        height: unset;
    }

    .productinfo .productinfo-verprecio {
        font-size: var(--font-size-small);
        font-weight: 600;
        padding: 8px 12px;
    }

    .productinfo-precio {
        font-size: var(--font-size-xxl);
        font-weight: 800;
        line-height: 1.4;
        text-align: left;
    }

    .productinfo-precio-canon {
        position: static;
        display: block;
    }

    .productinfo .product-name {
        margin-top: 6px;
        font: 500 var(--font-size-small-plus)/20px Montserrat, "Open Sans", sans-serif;
    }

    .productinfo-codigo-stock {
        display: none;
    }
}


.productinfo .product-name * {
    text-overflow: ellipsis;
}

.productinfo .product-name, .product-name a {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    margin-bottom: 0;
    text-overflow: ellipsis;
    height: auto;
    max-height: 4.2em;
    overflow: hidden;
    font: 600 var(--font-size-14px)/1.4 Montserrat, "Open Sans", sans-serif;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    color: #1a1a2e;
    transition: color 0.2s ease;
}

.product-name a:hover {
    color: #C23972;
    text-decoration: none;
}


.productinfo .product-marca {
    color: #999;
    letter-spacing: 0.03em;
    padding-left: 0;
    margin-bottom: 2px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}


@media all and (min-width: 990px) {
    .productinfo .product-name {
        /*padding-top: 10px;*/

    }
}


.productinfo .productinfo-data--bottom {
    position: absolute;
    bottom: 0;
    /*align-self: flex-end;*/
    width: 100%;
    padding-bottom: 2px;

}

@media all and (max-width: 990px) {
    .productinfo .productinfo-data--bottom {
        display: none;
    }
}


@media all and (min-width: 476px) {

    .productinfo .product-name {
        min-height: 60px;
    }
}

@media all and (min-width: 990px) {
    .productinfo .product-name {
        min-height: 66px;
    }
}



.product-overlay {
    background: #C23972;
    top: 0;
    display: none;
    height: 0;
    position: absolute;
    transition: height 500ms ease 0s;
    width: 100%;
    display: block;
    opacity: 1;
}

.single-products:hover .product-overlay {
    display: block;
    height: 100%;
}

.product-overlay .overlay-content {
    bottom: 0;
    position: absolute;
    bottom: 0;
    text-align: center;
    width: 100%;
}

.product-overlay .add-to-cart {
    background: #fff;
    border: 0 none;
    border-radius: 0;
    color: #C23972;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium);
    margin-bottom: 25px;
}

.product-overlay .add-to-cart:hover {
    background: #fff;
    color: #C23972;
}

.product-overlay p {
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-14px);
    font-weight: 400;
    color: #fff;
}

.add-to-cart {
    background: #F5F5ED;
    border: 0 none;
    border-radius: 0;
    color: var(--color-text-tertiary);
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium);
    margin-bottom: 25px;
}

.add-to-cart:hover {
    background: #C23972;
    border: 0 none;
    border-radius: 0;
    color: #FFFFFF;
}

.add-to {
    margin-bottom: 10px;
}

.add-to-cart i {
    margin-right: 5px;
}

.add-to-cart:hover {
    background: #C23972;
    color: #FFFFFF;
}


.category-tab {
    overflow: hidden;
    /*border-radius: 1%;*/
}

.category-tab  .nav-tabs {
    background: #40403E;
    border-bottom: 1px solid #C23972;

    list-style: none outside none;
    margin: 0 0 12px;
    padding: 0;
    width: 100%;
}


.category-tab .nav-tabs li a {
    border: 0 none;
    border-radius: 0;
    color: #B3AFA8;
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-14px);
    text-transform: uppercase;
}

.category-tab .nav-tabs li a:hover {
    background: #C23972;
    color: #fff;
}

.category-tab .tab-content {
    padding-top: 12px;
}

.nav-tabs li.active a, .nav-tabs li.active a:hover, .nav-tabs li.active a:focus {
    -moz-border-bottom-colors: none;
    -moz-border-left-colors: none;
    -moz-border-right-colors: none;
    -moz-border-top-colors: none;
    background-color: #C23972;
    border: 0px;
    color: #FFFFFF;
    cursor: default;
    margin-right: 0;
    margin-left: 0;
}

.nav-tabs li a {
    border: 1px solid rgba(0, 0, 0, 0);
    border-radius: 4px 4px 0 0;
    line-height: 1.42857;
    margin-right: 0;
}

.recommended_items {
    overflow: hidden;
}

#recommended-item-carousel .carousel-inner .item {
    padding-left: 0;
}

.recommended-item-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.recommended-item-control i {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,0.12);
    background: rgba(255,255,255,0.95);
    color: #444;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s ease;
    box-shadow: 0 2px 12px rgba(0,0,0,0.18);
    padding: 0;
}

.recommended-item-control i:hover {
    background: white;
    color: #C23972;
    border-color: rgba(0,0,0,0.18);
    box-shadow: 0 4px 16px rgba(0,0,0,0.22);
}

.recommended_items h2 {

}

.our_partners {
    overflow: hidden;
}

.our_partners ul {
    background: #F7F7F0;
    margin-bottom: 50px;
}

.our_partners ul li a:hover {
    background: none;
}

/*************************
    *******Shop CSS******
    **************************/
#advertisement {
    padding-bottom: 45px;
}

#advertisement img {
    width: 100%;
}

.pagination {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    margin-top: 0;
    padding-left: 0;
    padding-bottom: 0;
    list-style: none;
    flex-wrap: wrap;
}

.pagination li:first-child a, .pagination li:first-child span {
    border-bottom-left-radius: 10px;
    border-top-left-radius: 10px;
    margin-left: 0;
}

.pagination li:last-child a, .pagination li:last-child span {
    border-bottom-right-radius: 10px;
    border-top-right-radius: 10px;
}

.pagination .active a, .pagination .active span, .pagination .active a:hover,
.pagination .active span:hover, .pagination .active a:focus,
.pagination .active span:focus {
    background: linear-gradient(135deg, #e0498a 0%, #b5295f 100%);
    border-color: transparent;
    color: #FFFFFF;
    cursor: default;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(194, 57, 114, 0.35);
}

.pagination li a, .pagination li span {
    background-color: #f5f5f5;
    border: 1px solid #e8e8e8;
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    line-height: 1;
    margin-left: 0;
    padding: 0 12px;
    position: relative;
    text-decoration: none;
    margin-right: 0;
    color: #333;
    font-size: 14px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
    border-radius: 10px;
    transition: all 0.2s ease;
}

.pagination li a:hover {
    background: #C23972;
    border-color: #C23972;
    color: #fff;
    box-shadow: 0 2px 6px rgba(194, 57, 114, 0.25);
}

.pagination li.disabled a,
.pagination li.disabled span {
    background-color: #f9f9f9;
    color: #ccc;
    cursor: not-allowed;
    border-color: #eee;
}

.pagination li.disabled a:hover {
    background-color: #f9f9f9;
    color: #ccc;
    box-shadow: none;
    border-color: #eee;
}

/*************************
    *******Product Details CSS******
    **************************/
/*.product-details {*/
/*    overflow: hidden;*/
/*}*/

#similar-product {
    margin-top: 40px;
}

#reviews {
    padding-left: 25px;
    padding-right: 25px;
}

.product-details {
    margin-bottom: 10px;
    margin-top: 10px;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
}

.view-product {
    position: relative;
    background: #fff;
    border-radius: 12px;
    padding: 12px;
    border: 1px solid #f0f0f0;
}

.view-product .imagen-principal {
    border: none;
    width: 100%;
    border-radius: 8px;
}

.view-product h3 {
    background: #C23972;
    bottom: 0;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-14px);
    font-weight: 700;
    margin-bottom: 0;
    padding: 8px 20px;
    position: absolute;
    right: 0;
}

#similar-product .carousel-inner .item {
    padding-left: 0px;
}

#similar-product .carousel-inner .item img {
    display: inline-block;
    margin-left: 15px;
}

.item-control {
    position: absolute;
    top: 35%;
}

.item-control i {
    background: #C23972;
    color: #FFFFFF;
    font-size: var(--font-size-large);
    padding: 5px 10px;
}

.item-control i:hover {
    background: #ccccc6;
}

.newarrival {
    position: absolute;
    top: 0;
    left: 0
}


.product-information {
    overflow: hidden;
    padding: 18px 22px 20px 22px;
    max-width: none;
    position: relative;
    margin: 0;
    background: #fff;
    border-radius: 12px;
    border: 1px solid #eee;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.product-information h1 {
    color: #1a1a2e;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-xxl);
    font-weight: 700;
    line-height: 1.25;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 2px solid #f5f5f5;
}

@media all and (max-width: 476px) {
    .product-information h1 {
        font-size: var(--font-size-large);
        font-weight: 700;
        line-height: 1.2;
        margin-bottom: 4px;
        padding-bottom: 6px;
    }
}

.product-information p {
    color: #000000;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 5px;
}



/*.product-information span {*/
/*    !*display: inline-block;*!*/
/*    margin-bottom: 8px;*/
/*    margin-top: 18px;*/
/*}*/

.product-information span input {
    border: 2px solid #e0e0e0;
    color: var(--color-text-tertiary);
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-large);
    font-weight: 700;
    height: 40px;
    outline: medium none;
    text-align: center;
    width: 56px;
    border-radius: 8px;
    transition: border-color 0.2s ease;
}

.product-information span input:focus {
    border-color: #C23972;
    box-shadow: 0 0 0 3px rgba(194, 57, 114, 0.1);
}

.product-information span label {
    color: #000000;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    margin-right: 5px;
}

.product-information .row {
    margin-bottom: 0;
}

/* Product metadata rows (SKU, Brand, PN, EAN) */
.product-information .product-meta-table {
    margin: 10px 0;
    border: 1px solid #f0f0f0;
    border-radius: 10px;
    overflow: hidden;
    background: #fafbfc;
}

.product-information .product-meta-row {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 0;
    font-size: 14px;
}

.product-information .product-meta-row:last-child {
    border-bottom: none;
}

.product-information .product-meta-row b {
    color: #666;
    font-weight: 600;
    min-width: 130px;
    flex-shrink: 0;
}

.product-information .product-meta-row span,
.product-information .product-meta-row a {
    color: #1a1a2e;
    font-weight: 500;
}


.product-information .pi-precio {
    position: relative;
    display: inline-block;
    color: #C23972;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-40px);
    font-weight: 800;
    margin-right: 20px;
    margin-top: 4px;
    letter-spacing: -0.5px;
}


.product-information .pi-descuento-original {
    margin-bottom: 2px;
    display: inline-flex;
    flex-direction: column;
    vertical-align: middle;
    margin-right: 14px;
}

.product-information .pi-descuento-original--label {
    font-size: var(--font-size-14px);
    color: gray;
}

.product-information .pi-descuento-original--value {
    font-size: var(--font-size-medium-plus);
    color: dimgray;
    text-decoration: line-through;
    padding: 4px 0;
    font-weight: bold;
}

.product-information .pi-descuento {
    margin-bottom: 2px;
    display: inline-flex;
    flex-direction: column;
    vertical-align: middle;
}

.product-information .pi-descuento--label {
    font-size: var(--font-size-14px);
    color: gray;
}

.product-information .pi-descuento--value {
    text-align: center;
    font-size: var(--font-size-medium-plus);
    background:linear-gradient(to bottom, #ea0000 0%, #b5295f 100%);
    color: white;
    border-radius: 3px 3px 3px 3px;
    padding: 4px 8px;
    font-weight: bold;
}


.product-information .pi-precio-con-iva {
    position: relative;
    display: inline-block;
    color: #C23972;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium-plus);
    font-weight: 700;
    margin-right: 0;
    margin-top: 0px;
}

.product-information .price-sin-iva {
    font-size: 13px;
    color: #777;
    margin-top: 2px;
    margin-bottom: 12px;
}

.product-information .pi-precio .pi-precio-iva{
    position: absolute;
    right: -25px;
    bottom: 18px;
    padding-left: 2px;
    font-size: var(--font-size-small);
}

.product-information .pi-buttons {
    display: flex;
    position: absolute;
    bottom: 0;
    padding: 10px 0px;

    width: 100%;
    margin-left: -20px;
    height: 68px;
}

.product-information .pi-buttons  *{
    flex: 1;
    flex-flow: column;
    height: 100%;
    padding: 0px 2px;
    text-align: center;
    margin:6px;
}


.product-information .pi-buttons #cantidadArt {
    width: 60px;
    flex-grow: 0.2;

}

.share {
    margin-top: 15px;
}

.cart {
    background: linear-gradient(135deg, #e0498a 0%, #b5295f 100%);
    border: 0 none;
    border-radius: 12px;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium);
    margin-bottom: 10px;
    margin-left: 0;
    width: 100%;
    height: 50px;
    transition: all 0.25s ease;
    cursor: pointer;
}

.cart:hover {
    background: linear-gradient(135deg, #e8428c 0%, #c03069 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(194, 57, 114, 0.35);
}

.cart:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(194, 57, 114, 0.25);
}

.cart.buy-button {
    font-size: 1.35em;
    margin-bottom: 24px;
    background: linear-gradient(135deg, #e0498a 0%, #b5295f 100%);
    height: 54px;
    font-weight: 600;
    letter-spacing: 0.3px;
    box-shadow: 0 3px 10px rgba(194, 57, 114, 0.25);
}

.cart.buy-button:hover {
    background: linear-gradient(135deg, #e8428c 0%, #c03069 100%);
    box-shadow: 0 5px 18px rgba(194, 57, 114, 0.4);
    transform: translateY(-2px);
}

.cart.buy-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(194, 57, 114, 0.3);
}

.cart.buy-button[disabled] {
    background: #b0b0b0;
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
}

.cart.share-button {
    display: none;

}

@media all and (max-width: 990px) {

    .cart > * {
        -webkit-border-radius: 12px;
        -moz-border-radius: 12px;
        border-radius: 12px;
    }

    .cart.buy-button {
        height: 54px;
        font-size: 1.35em;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        border-radius: 8px;
        font-weight: 400;
        /*background-color: #dd0000;*/
    }

    .cart.share-button {

        height: 54px;
        width: 54px;
        margin-right: 6px;
        font-size: 1.35em;
        display: inline-flex;
        justify-content: center;
        align-items: center;

        background: linear-gradient(to left, #078bff 0%, #3d8fd3 100%);
        border-radius: 8px;
    }


    .cantidad-carrito {
        display: none;
    }


    .precio-detalle-movil {
        padding: 10px 12px;
        box-shadow: 0 -2px 12px rgba(0,0,0,0.10);
        position: fixed;
        left: 0;
        bottom: 0;
        height: auto;
        min-height: 60px;
        width: 100%;
        z-index: 1000;
        background: white;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .precio-detalle-movil .buy-button {
        flex: 1;
        margin-bottom: 0 !important;
        height: 48px !important;
        font-size: 1.1em !important;
        border-radius: 10px !important;
    }

    .precio-detalle-movil .share-button {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px;
        margin-right: 0 !important;
        margin-bottom: 0 !important;
        border-radius: 10px !important;
    }

    /* Mobile adjustments for new product detail styles */
    .product-information {
        padding: 6px 12px 0 12px;
        border-radius: 0;
        border: none;
        box-shadow: none;
        max-width: 100%;
        min-height: auto;
        overflow: visible;
    }

    .product-information h1 {
        font-size: var(--font-size-xl);
        margin-bottom: 6px;
        padding-bottom: 6px;
    }

    .product-information .pi-precio {
        font-size: var(--font-size-30px, 30px);
        margin-top: 0;
        margin-right: 10px;
    }

    .product-information .pi-buttons {
        position: static;
        height: auto;
        margin-left: 0;
        width: auto;
        display: none;
    }

    .product-information .price-sin-iva {
        margin-bottom: 6px;
    }

    .product-information .price-block {
        margin-bottom: 4px;
    }

    .view-product {
        border-radius: 0;
        padding: 4px 0;
        border: none;
    }

    .product-information .product-meta-table {
        border-radius: 0;
        margin: 6px 0;
        border: none;
        background: transparent;
    }

    .product-information .product-meta-row {
        padding: 4px 0;
        font-size: 13px;
    }

    .product-information .product-meta-row b {
        min-width: 80px;
    }

    .product-information .availability-section {
        border-radius: 0;
        margin: 6px 0;
        padding: 6px 0;
        background: transparent;
        border: none;
        border-top: 1px solid #f0f0f0;
        border-bottom: 1px solid #f0f0f0;
    }

    .product-information .availability-section .row {
        padding: 5px 0;
    }

    .product-information .availability-section b {
        font-size: 12px;
    }

    .product-information .shipping-calculator {
        margin-top: 4px;
        padding: 10px 12px;
        background: #f8f9fa;
        border: none;
        border-radius: 10px;
        border-top: none;
    }

    .product-information .shipping-calculator-header {
        font-size: 14px;
        font-weight: 700;
        margin-bottom: 10px;
        color: #333;
    }

    .product-information .shipping-calculator-header i {
        font-size: 15px;
    }

    .product-information .shipping-total-row {
        padding: 10px 12px;
        border-width: 1px;
        border-radius: 8px;
        margin-bottom: 10px;
    }

    .product-information .shipping-total-label {
        font-size: 12px;
    }

    .product-information .shipping-total-value {
        font-size: 18px;
    }

    .product-information .shipping-total-breakdown > span:first-child {
        font-size: 11px;
    }

    .product-information .shipping-disclaimer {
        font-size: 10px;
    }

    .product-information .shipping-form-label {
        font-size: 11px;
        margin-bottom: 6px;
    }

    .product-information .shipping-form-inputs {
        display: flex;
        gap: 6px;
        align-items: center;
    }

    .product-information .shipping-form-inputs input.form-control {
        flex: 1;
        width: auto;
        min-width: 0;
        height: 36px;
        font-size: 14px;
        border-radius: 8px;
    }

    .product-information .shipping-calculator .btn-gris {
        flex-shrink: 0;
        font-size: 13px;
        padding: 7px 14px;
        border-radius: 8px;
    }

    .product-information .shipping-result {
        font-size: 12px;
        padding: 8px 10px;
        margin-top: 8px;
    }

    .product-information hr {
        display: none;
    }

    .product-information .whatsapp-button {
        margin: 8px 0;
        padding: 9px 14px;
        font-size: 13px;
    }

    .product-details {
        margin: 0 !important;
        padding: 0;
    }

    .product-details > .row {
        margin: 0;
    }

    .product-details > .row > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

    /* Force form wrapper to have no extra spacing */
    .product-details .buy-article {
        margin: 0;
        padding: 0;
    }

    .product-information p {
        margin-bottom: 2px;
    }

    .contenedor-producto {
        padding: 0 0 80px 0 !important;
    }

    .contenedor-producto-descripcion {
        padding: 0 !important;
        margin: 0 !important;
    }

    .product-details.content-limit {
        padding-left: 0;
        padding-right: 0;
    }

    .shop-details-tab {
        margin-top: 0;
        border-radius: 0;
        border-left: none;
        border-right: none;
        box-shadow: none;
        border-top: 1px solid #eee;
    }

    .shop-details-tab .nav-tabs {
        padding: 0 12px;
        background: #fafafa;
    }

    .shop-details-tab .nav-tabs > li > a {
        font-size: 13px;
        padding: 10px 12px;
    }

    .shop-details-tab .tab-content {
        padding: 12px;
    }

    .contenedor-producto-descripcion legend {
        font-size: 17px;
        margin-bottom: 10px;
        padding-left: 12px;
    }

    /* Thumbnail nav compacted */

    .product_images_nav_wrapper {
        height: 65px;
        margin-top: 6px;
    }
}


.shop-details-tab {
    margin-left: 0;
    margin-right: 0;
    padding-bottom: 10px;
    background-color: white;
    border-radius: 12px;
    border: 1px solid #eee;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    padding: 0;
    overflow: hidden;
    margin-top: 6px;
}

.shop-details-tab .nav-tabs {
    border-bottom: 2px solid #f0f0f0;
    padding: 0 20px;
    background: #fafafa;
}

.shop-details-tab .nav-tabs > li > a {
    border: none;
    border-bottom: 3px solid transparent;
    color: #666;
    font-weight: 600;
    font-size: 15px;
    padding: 14px 20px;
    margin-bottom: -2px;
    transition: all 0.2s ease;
}

.shop-details-tab .nav-tabs > li > a:hover {
    background: transparent;
    border-bottom-color: #ddd;
    color: #333;
}

.shop-details-tab .nav-tabs > li.active > a,
.shop-details-tab .nav-tabs > li.active > a:hover,
.shop-details-tab .nav-tabs > li.active > a:focus {
    border: none;
    border-bottom: 3px solid #C23972;
    color: #C23972;
    background: transparent;
}

.shop-details-tab .tab-content {
    padding: 24px;
}


/*.shop-details-tab .col-sm-12 {*/
/*    padding-left: 0;*/
/*    padding-right: 0;*/
/*}*/

/*************************
    *******404 CSS******
    **************************/
.logo-404 {
    margin-top: 60px;
}

.content-404 h1 {
    color: #363432;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-41px);
    font-weight: 300;
}

.content-404 img {
    margin: 0 auto;
}

.content-404 p {
    color: #363432;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-large-minus);
}

.content-404 h2 {
    margin-top: 50px;
}

.content-404 h2 a {
    background: #C23972;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-44px);
    font-weight: 300;
    padding: 8px 40px;
}

.or {
    background: #C23972;
    border-radius: 40px;
    color: #FFFFFF;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium-plus);
    height: 50px;
    line-height: 50px;
    margin-top: 75px;
    text-align: center;
    width: 50px;
}

/*************************
    *******login page CSS******
    **************************/
#form {
    display: block;
    margin-bottom: 185px;
    margin-top: 185px;
    overflow: hidden;
}

.login-form {

}

.signup-form {

}

.login-form h2, .signup-form h2 {
    color: var(--color-text-tertiary);
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-large);
    font-weight: 300;
    margin-bottom: 30px;
}

.login-form form input, .signup-form form input {
    background: #F0F0E9;
    border: medium none;
    color: var(--color-text-tertiary);
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-14px);
    font-weight: 300;
    height: 40px;
    margin-bottom: 10px;
    outline: medium none;
    padding-left: 10px;
    width: 100%;
}

.login-form form span {
    line-height: 25px;
}

.login-form form span input {
    width: 15px;
    float: left;
    height: 15px;
    margin-right: 5px;
}

.login-form form button {
    margin-top: 23px;
}

.login-form form button, .signup-form form button {
    background: #C23972;
    border: medium none;
    border-radius: 0;
    color: #FFFFFF;
    display: block;
    font-family: 'Montserrat', sans-serif;
    padding: 6px 25px;
}

.login-form label {

}

.login-form label input {
    border: medium none;
    display: inline-block;
    height: 0;
    margin-bottom: 0;
    outline: medium none;
    padding-left: 0;
}


/*************************
    *******Cart CSS******
    **************************/
#do_action {
    margin-bottom: 50px;
}



.breadcrumbs {
    z-index: 10000000;
    width: 100%;

    height: 24px;
    background: #1a5c8a;
    color: white;
    margin-bottom: 0;
    padding-bottom: 0;
    padding-top: 0;
    font-size: 12px;

    display: flex;
    align-items: center;

    overflow-x: scroll;
    overflow-y: hidden;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;  /* Internet Explorer 10+ */

    white-space: nowrap;
    text-overflow: ellipsis;
}

.breadcrumbs .breadcrumb {
    white-space: nowrap;
    text-overflow: ellipsis;
}

.breadcrumbs::-webkit-scrollbar{
    width: 0;
    height: 0;
    display: none;
}




.breadcrumbs > * {
    color: white;
}

.breadcrumbs .breadcrumb {
    background: transparent;
    color: white;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 8px;
    font-size: 12px;
    line-height: 24px;
}

.breadcrumbs .breadcrumb ol {
    margin-bottom: 0px;
}

.breadcrumbs .breadcrumb li a {
    background: inherit;
    color: #FFFFFF;
    padding: 2px 5px;
    font-size: 12px;
}

.breadcrumbs .breadcrumb > .active {
    color: #FFFFFF;
    padding: 2px 4px;
    font-weight: bolder;
    font-size: 12px;
}

.breadcrumbs .breadcrumb > li + li:before {
    content: "";
}

@media all and (max-width: 990px) {
    .breadcrumbs .breadcrumb {
        color: darkgray;
    }

    .breadcrumbs {
        height: 32px;
        border-top: 1px solid antiquewhite;
        border-bottom: 1px solid antiquewhite;
        background: white;
    }

    .breadcrumbs .breadcrumb li a {
        color: #1c1f22;
    }

    .breadcrumbs .breadcrumb > .active {
        color: #1b1e21;
    }
}


#cart_items .cart_info {
    border: 1px solid #E6E4DF;
    margin-bottom: 50px;
    background-color: #fefefe;
}

#cart_items .cart_info > .table {
    padding-bottom: 0 !important;
}

#cart_items .cart_info .cart_menu {
    background: #C23972;
    color: #fff;
    font-size: var(--font-size-medium-plus);
    font-family: 'Montserrat', sans-serif;
    font-weight: normal;
}

#cart_items .cart_info .table.table-condensed thead tr {
    height: 40px;
}

#cart_items .cart_info .table.table-condensed tr {
    border-bottom: 1px solid #F7F7F0
}

#cart_items .cart_info .table.table-condensed tr:last-child {
    border-bottom: 0
}

#cart_items .cart_info .image {
    padding-left: 30px;
}

#cart_items .cart_info .cart_description .nombre_producto {
    margin-bottom: 0
}

#cart_items .cart_info .cart_description .nombre_producto a {
    color: #363432;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-small);
    font-weight: normal;
}

#cart_items .cart_info .cart_disponibilidad {
    /* color: #363432; */
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-small);
    /* font-weight: normal; */
}

#cart_items .cart_info .cart_description p {
    color: var(--color-text-tertiary);
    font-size: var(--font-size-small-plus);
}

#cart_items .cart_info .cart_price p {
    color: var(--color-text-tertiary);
    font-size: var(--font-size-medium-plus);
    text-align: right;
}

#cart_items .cart_info .cart_total_price {
    color: #C23972;
    font-size: var(--font-size-14px);
    text-align: right;
}

#cart_items .cart_info
.table.table-condensed.total-result {
    margin-bottom: 10px;
    margin-top: 35px;
    color: var(--color-text-tertiary)
}

#cart_items .cart_info
.table.table-condensed.total-result tr {
    border-bottom: 0
}

#cart_items .cart_info
.table.table-condensed.total-result span {
    color: #C23972;
    font-weight: 700;
    font-size: var(--font-size-medium-plus);
}

#cart_items .cart_info
.table.table-condensed.total-result
.shipping-cost {
    border-bottom: 1px solid #F7F7F0;
}

.cart_info table tr td {
    border-top: 0 none;
    vertical-align: inherit;
}

.cart_product {
    display: block;
    margin: 15px -70px 10px 25px;
}

.cart_quantity_button a {
    background: #F0F0E9;
    color: var(--color-text-tertiary);
    display: inline-block;
    font-size: var(--font-size-medium-plus);
    height: 28px;
    overflow: hidden;
    text-align: center;
    width: 25px;
    float: left;
}

.cart_quantity_input {
    color: var(--color-text-tertiary);
    float: left;
    font-size: var(--font-size-medium-plus);
    text-align: center;
    font-family: 'Montserrat', sans-serif;
}

.cart_delete {
    display: none;
    margin-right: -12px;
    overflow: hidden;
}

.cart_delete a {
    background: #F0F0E9;
    color: #FFFFFF;
    padding: 5px 7px;
    font-size: var(--font-size-medium-plus);
}

.cart_delete a:hover {
    background: #C23972;
}

.bg h2.title {
    margin-right: 0;
    margin-left: 0;
    margin-top: 0;
}

.heading h3 {
    color: #363432;
    font-size: var(--font-size-large);
    font-family: 'Montserrat', sans-serif;
}

.heading p {
    color: #434343;
    font-size: var(--font-size-medium-plus);
    font-weight: 300;
}

#do_action .total_area {
    padding-bottom: 18px !important;
}

#do_action .total_area, #do_action .chose_area {
    border: 1px solid #E6E4DF;
    color: var(--color-text-tertiary);
    padding: 30px 25px 30px 0;
    margin-bottom: 80px;
}

.total_area span {
    float: right;
}

.total_area ul li {
    background: #E6E4DF;
    color: var(--color-text-tertiary);
    margin-top: 10px;
    padding: 7px 20px;
}

.user_option label {
    color: var(--color-text-tertiary);
    font-weight: normal;
    margin-left: 10px;
}

.user_info {
    display: block;
    margin-bottom: 15px;
    margin-top: 20px;
    overflow: hidden;
}

.user_info label {
    color: var(--color-text-tertiary);
    display: block;
    font-size: var(--font-size-medium);
    font-weight: normal;
}

.user_info .single_field {
    width: 31%
}

.user_info .single_field.zip-field input {
    background: transparent;
    border: 1px solid #F0F0E9
}

.user_info > li {
    float: left;
    margin-right: 10px
}

.user_info > li > span {

}

.user_info input, select, textarea {
    background: #F0F0E9;
    border-width: 1px;
    color: var(--color-text-tertiary);
    padding: 5px;
    width: 100%;
    border-radius: 0;
    resize: none;
}

.user_info select:focus {
    border: 0;
}

.chose_area .update {
    margin-left: 40px;
}

.update, .check_out {
    background: #C23972;
    border-radius: 0;
    color: #FFFFFF;
    margin-top: 18px;
    border: none;
    padding: 5px 15px;
}

.update {
    margin-left: 40px;
}

.check_out {
    margin-left: 20px
}

#do_action {
    margin-bottom: 50px;
}

#do_action .total_area {
    padding-bottom: 18px !important;
}

#do_action .total_area, #do_action .chose_area {
    border: 1px solid #E6E4DF;
    color: var(--color-text-tertiary);
    padding: 30px 25px 30px 0;
    margin-bottom: 80px;
}

.total_area span {
    float: right;
}

.total_area ul li {
    background: #E6E4DF;
    color: var(--color-text-tertiary);
    margin-top: 10px;
    padding: 7px 20px;
}

.user_option label {
    color: var(--color-text-tertiary);
    font-weight: normal;
    margin-left: 10px;
}

.cart_info table tr td {
    border-top: 0 none;
    vertical-align: inherit;
}

.cart_product {
    display: block;
    margin: 15px -70px 10px 25px;
}

.cart_quantity_button a {
    background: #F0F0E9;
    color: var(--color-text-tertiary);
    display: inline-block;
    font-size: var(--font-size-medium-plus);
    height: 28px;
    overflow: hidden;
    text-align: center;
    width: 25px;
    float: left;
}

.cart_quantity_input {
    color: var(--color-text-tertiary);
    float: left;
    font-size: var(--font-size-medium-plus);
    text-align: center;
    font-family: 'Montserrat', sans-serif;
}

.cart_delete {
    display: none;
    margin-right: -12px;
    overflow: hidden;
}

.cart_delete a {
    background: #F0F0E9;
    color: #FFFFFF;
    padding: 5px 7px;
    font-size: var(--font-size-medium-plus);
}

.cart_delete a:hover {
    background: #C23972;
}

.bg h2.title {
    margin-right: 0;
    margin-left: 0;
    margin-top: 0;
}

.heading h3 {
    color: #363432;
    font-size: var(--font-size-large);
    font-family: 'Montserrat', sans-serif;
}

.heading p {
    color: #434343;
    font-size: var(--font-size-medium-plus);
    font-weight: 300;
}

.cart_info > table > tbody .precio-subido {
    background-color: #ed6365;
    color: white;
    font-size: var(--font-size-14px);
}

.cart_info > table > tbody .precio-bajado {
    background-color: #80ff80;
}

.cart_info > table > tbody .precio-igual {

}

.cart_info > table > tbody .articulo-baja {
    background-color: #F333FF;
}

/*
    Columna derecha carrito
*/
/* === CART PAGE LAYOUT === */
.carrito-page {
    padding: 12px 32px 32px;
    background: #fff;
    border: 1px solid #e8e6e1;
    border-radius: 14px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    margin: 10px 0 24px;
}

/* === CHECKOUT STEPPER === */
.checkout-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 10px 0 14px;
    margin-bottom: 2px;
}

.checkout-stepper__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 70px;
    position: relative;
    z-index: 1;
}

.checkout-stepper__icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 700;
    background: #e9ecef;
    color: #999;
    border: 2px solid #e9ecef;
    transition: all 0.2s ease;
}

.checkout-stepper__label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.2s ease;
}

.checkout-stepper__connector {
    flex: 1;
    max-width: 100px;
    height: 2px;
    background: #e9ecef;
    margin: 0 4px;
    margin-bottom: 22px;
    transition: background 0.2s ease;
}

.checkout-stepper__step--active .checkout-stepper__icon {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: #fff;
    box-shadow: 0 2px 8px rgba(194, 57, 114, 0.35);
}

.checkout-stepper__step--active .checkout-stepper__label {
    color: var(--color-primary);
}

.checkout-stepper__step--completed .checkout-stepper__icon {
    background: #28a745;
    border-color: #28a745;
    color: #fff;
}

.checkout-stepper__step--completed .checkout-stepper__label {
    color: #28a745;
}

.checkout-stepper__connector--completed {
    background: #28a745;
}

/* === BACK LINK === */
.carrito-atras {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: var(--color-primary);
    text-decoration: none;
    margin-bottom: 6px;
}

.carrito-atras:hover {
    color: var(--color-primary-dark);
    text-decoration: underline;
}

/* === CHECKOUT STEP HEADING === */
.cabecera-carrito h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-primary);
    margin: 0 0 4px;
}

/* === CHECKOUT BACK BUTTON === */
.checkout-volver {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: #666;
    text-decoration: none;
    padding: 4px 0;
    margin-bottom: 0;
    transition: color 0.15s;
    flex-basis: 100%;
}

.checkout-volver:hover {
    color: var(--color-primary);
    text-decoration: none;
}

.checkout-volver i {
    font-size: 0.75rem;
}

/* === CHECKOUT OPTION CARDS === */
.checkout-opcion {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid var(--color-border-primary);
    border-radius: 12px;
    background: #fff;
    margin-bottom: 10px;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.checkout-opcion:hover {
    border-color: var(--color-primary);
    box-shadow: 0 2px 8px rgba(194, 57, 114, 0.1);
}

.checkout-opcion--selected {
    border-color: var(--color-primary);
    background: #fdf2f7;
    box-shadow: 0 2px 8px rgba(194, 57, 114, 0.12);
}

.checkout-opcion__radio {
    flex-shrink: 0;
}

.checkout-opcion__radio input[type="radio"] {
    width: 20px;
    height: 20px;
    accent-color: var(--color-primary);
    cursor: pointer;
}

.checkout-opcion__body {
    flex: 1;
    min-width: 0;
}

.checkout-opcion__titulo {
    font-weight: 600;
    font-size: 0.95rem;
    color: #222;
}

.checkout-opcion__detalle {
    font-size: 0.82rem;
    color: #666;
    margin-top: 4px;
}

.checkout-opcion__precio {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--color-primary);
    white-space: nowrap;
    flex-shrink: 0;
}

.checkout-opcion__descripcion {
    font-size: 0.85rem;
    color: #555;
    margin-top: 6px;
    line-height: 1.4;
}

/* === CHECKOUT ADDRESS CARD === */
.checkout-direccion {
    padding: 14px 16px;
    font-size: 0.85rem;
    line-height: 1.6;
}

.checkout-direccion__campo {
    display: flex;
    gap: 6px;
}

.checkout-direccion__campo .izquierda {
    color: #888;
    min-width: 90px;
    flex-shrink: 0;
}

.checkout-direccion__campo .derecha {
    font-weight: 600;
    color: #333;
}

/* === CHECKOUT OBSERVATIONS === */
.checkout-observaciones {
    border: 1px solid var(--color-border-primary);
    border-radius: 12px;
    padding: 12px 14px;
    font-family: inherit;
    font-size: 0.88rem;
    width: 100%;
    resize: vertical;
    transition: border-color 0.15s;
}

.checkout-observaciones:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(194, 57, 114, 0.1);
}

/* === EMPTY STATE / NO OPTIONS === */
.checkout-vacio {
    text-align: center;
    padding: 32px 16px;
    color: #888;
    font-size: 0.9rem;
}

.carrito-layout {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-top: 4px;
}

.carrito-layout__items {
    flex: 1;
    min-width: 0;
}

.carrito-layout__summary {
    width: 320px;
    flex-shrink: 0;
    position: sticky;
    top: 80px;
}

@media (max-width: 767px) {
    .carrito-layout {
        flex-direction: column;
    }
    .carrito-layout__summary {
        width: 100%;
        position: static;
    }
    .checkout-stepper {
        padding: 12px 0 16px;
    }
    .checkout-stepper__icon {
        width: 30px;
        height: 30px;
        font-size: 0.75rem;
    }
    .checkout-stepper__label {
        font-size: 0.65rem;
    }
    .checkout-stepper__connector {
        max-width: 40px;
        margin-bottom: 18px;
    }
    .carrito-item {
        flex-wrap: wrap;
    }
    .carrito-item__image {
        width: 64px;
        height: 64px;
    }
    .carrito-item__side {
        width: 100%;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        min-width: 0;
        padding-top: 8px;
        border-top: 1px solid #f0f0f0;
    }
    .carrito-cabecera {
        flex-direction: column;
        align-items: flex-start;
    }
    .checkout-opcion {
        flex-wrap: wrap;
    }
    .checkout-opcion__precio {
        width: 100%;
        text-align: right;
        margin-top: 4px;
    }
    .cabecera-carrito h3 {
        font-size: 1.2rem;
    }
}

.carrito-footer {
    margin-top: 10px;
}

/* === ORDER SUMMARY PANEL === */
.carrito-columna {
    background: #fff;
    border: 1px solid var(--color-border-primary);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 12px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.05);
}

.carrito-columna .cabecera {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f9f7f5;
    color: #333;
    font-size: 0.9rem;
    font-weight: 700;
    padding: 11px 16px;
    border-bottom: 2px solid var(--color-primary);
}

.carrito-columna .cabecera i {
    color: var(--color-primary);
}

.carrito-columna .cuerpo {
    padding: 16px;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium);
    background-color: #fefefe;
}

.resumen-linea {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
}

.resumen-total {
    font-weight: 700;
    font-size: var(--font-size-medium-large);
    margin-top: 4px;
}

.resumen-total .derecha {
    color: var(--color-primary);
    font-size: 1.15rem;
}

.descuento {
    color: #e74c3c;
}

.carrito-columna .izquierda {
    color: #555;
}

.carrito-columna .derecha {
    font-weight: 700;
    color: #222;
}

/* === CART BUTTONS === */
.carrito-pagar input[type=submit], .finalizar_btn {
    width: 100%;
    height: 48px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0080ff 0%, #0060cc 100%);
    color: white;
    font-size: var(--font-size-medium-plus);
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    border: none;
    margin-bottom: 12px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0,128,255,0.25);
    transition: box-shadow 0.2s, transform 0.1s;
}

.carrito-pagar input[type=submit]:hover, .finalizar_btn:hover {
    box-shadow: 0 4px 16px rgba(0,128,255,0.4);
    transform: translateY(-1px);
}

.seguir_comprando_btn {
    display: inline-block;
    width: 100%;
    height: 44px;
    border-radius: 12px;
    background-color: #fff;
    color: #0080ff;
    font-size: var(--font-size-medium-plus);
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    border: 2px solid #0080ff;
    text-align: center;
    line-height: 40px;
    transition: background 0.2s, color 0.2s;
}

.seguir_comprando_btn:hover {
    background: #0080ff;
    color: #fff;
}

.boton_primario {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0080ff 0%, #0060cc 100%);
    color: white;
    font-size: var(--font-size-medium-plus);
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    border: none;
    text-align: center;
    margin-bottom: 10px;
    box-shadow: 0 2px 8px rgba(0,128,255,0.25);
    transition: box-shadow 0.2s, transform 0.1s;
}

.boton_primario:hover {
    color: white;
    box-shadow: 0 4px 16px rgba(0,128,255,0.4);
    transform: translateY(-1px);
}

.boton_secundario {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    border-radius: 12px;
    background-color: #fff;
    color: #0080ff;
    font-size: var(--font-size-medium-plus);
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    border: 2px solid #0080ff;
    text-align: center;
    transition: background 0.2s, color 0.2s;
}

.boton_secundario:hover {
    background: #0080ff;
    color: #fff;
}

.carrito-pagar .revalorizar_btn {
    background: linear-gradient(135deg, #ff6b6b 0%, #e74c3c 100%);
    color: white;
    font-size: var(--font-size-medium-plus);
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    box-shadow: 0 2px 8px rgba(231,76,60,0.25);
}

.disponibilidad-24h {
    color: green;
    font-weight: 900;
}

.disponibilidad-48h {
    font-weight: 400;
}

.disponibilidad-prox {
    color: #0000FF;
    font-weight: 900;
}

.disponibilidad-no {
    color: red;
    font-weight: 900;
}

/* Loading animations */
.sk-fading-circle {
    margin: 100px auto;
    width: 40px;
    height: 40px;
    position: relative;
}

.sk-fading-circle .sk-circle {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.sk-fading-circle .sk-circle:before {
    content: '';
    display: block;
    margin: 0 auto;
    width: 15%;
    height: 15%;
    background-color: #333;
    border-radius: 100%;
    -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
    animation: sk-circleFadeDelay 1.2s infinite ease-in-out both;
}

.sk-fading-circle .sk-circle2 {
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg);
}

.sk-fading-circle .sk-circle3 {
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
}

.sk-fading-circle .sk-circle4 {
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.sk-fading-circle .sk-circle5 {
    -webkit-transform: rotate(120deg);
    -ms-transform: rotate(120deg);
    transform: rotate(120deg);
}

.sk-fading-circle .sk-circle6 {
    -webkit-transform: rotate(150deg);
    -ms-transform: rotate(150deg);
    transform: rotate(150deg);
}

.sk-fading-circle .sk-circle7 {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

.sk-fading-circle .sk-circle8 {
    -webkit-transform: rotate(210deg);
    -ms-transform: rotate(210deg);
    transform: rotate(210deg);
}

.sk-fading-circle .sk-circle9 {
    -webkit-transform: rotate(240deg);
    -ms-transform: rotate(240deg);
    transform: rotate(240deg);
}

.sk-fading-circle .sk-circle10 {
    -webkit-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    transform: rotate(270deg);
}

.sk-fading-circle .sk-circle11 {
    -webkit-transform: rotate(300deg);
    -ms-transform: rotate(300deg);
    transform: rotate(300deg);
}

.sk-fading-circle .sk-circle12 {
    -webkit-transform: rotate(330deg);
    -ms-transform: rotate(330deg);
    transform: rotate(330deg);
}

.sk-fading-circle .sk-circle2:before {
    -webkit-animation-delay: -1.1s;
    animation-delay: -1.1s;
}

.sk-fading-circle .sk-circle3:before {
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}

.sk-fading-circle .sk-circle4:before {
    -webkit-animation-delay: -0.9s;
    animation-delay: -0.9s;
}

.sk-fading-circle .sk-circle5:before {
    -webkit-animation-delay: -0.8s;
    animation-delay: -0.8s;
}

.sk-fading-circle .sk-circle6:before {
    -webkit-animation-delay: -0.7s;
    animation-delay: -0.7s;
}

.sk-fading-circle .sk-circle7:before {
    -webkit-animation-delay: -0.6s;
    animation-delay: -0.6s;
}

.sk-fading-circle .sk-circle8:before {
    -webkit-animation-delay: -0.5s;
    animation-delay: -0.5s;
}

.sk-fading-circle .sk-circle9:before {
    -webkit-animation-delay: -0.4s;
    animation-delay: -0.4s;
}

.sk-fading-circle .sk-circle10:before {
    -webkit-animation-delay: -0.3s;
    animation-delay: -0.3s;
}

.sk-fading-circle .sk-circle11:before {
    -webkit-animation-delay: -0.2s;
    animation-delay: -0.2s;
}

.sk-fading-circle .sk-circle12:before {
    -webkit-animation-delay: -0.1s;
    animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleFadeDelay {
    0%, 39%, 100% {
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
}

@keyframes sk-circleFadeDelay {
    0%, 39%, 100% {
        opacity: 0;
    }
    40% {
        opacity: 1;
    }
}

.overlay {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
}

.overlay i {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.spin-big {
    font-size: 50px;
    height: 50px;
    width: 50px;
}

.panel-control-caja ul {
    padding: 20px;
}

/*************************
    *******checkout CSS******
    **************************/
.step-one {
    margin-bottom: -10px
}

.register-req, .step-one .heading {
    background: none repeat scroll 0 0 #F0F0E9;
    color: #363432;
    font-size: var(--font-size-large);
    margin-bottom: 35px;
    padding: 10px 25px;
    font-family: 'Montserrat', sans-serif;
}

.checkout-options {
    padding-left: 20px
}

.checkout-options h3 {
    color: #363432;
    font-size: var(--font-size-large);
    margin-bottom: 0;
    font-weight: normal;
    font-family: 'Montserrat', sans-serif;
}

.checkout-options p {
    color: #434343;
    font-weight: 300;
    margin-bottom: 25px;
}

.checkout-options .nav li {
    float: left;
    margin-right: 45px;
    color: var(--color-text-tertiary);
    font-size: var(--font-size-large-minus);
    font-family: 'Montserrat', sans-serif;
    font-weight: normal;
}

.checkout-options .nav label {
    font-weight: normal;
}

.checkout-options .nav li a {
    color: #C23972;
    font-size: var(--font-size-large-minus);
    font-weight: normal;
    padding: 0
}

.checkout-options .nav li a:hover {
    background: inherit;
}

.checkout-options .nav i {
    margin-right: 10px;
    border-radius: 50%;
    padding: 5px;
    background: #C23972;
    color: #fff;
    font-size: var(--font-size-14px);
    padding: 2px 3px;
}

.register-req {
    font-size: var(--font-size-14px);
    font-weight: 300;
    padding: 15px 20px;
    margin-top: 35px;
}

.register-req p {
    margin-bottom: 0
}

.shopper-info p, .bill-to p, .order-message p {
    color: var(--color-text-tertiary);
    font-size: var(--font-size-large);
    font-weight: 300
}

.shopper-info .btn-primary {
    background: #C23972;
    border: 0 none;
    border-radius: 0;
    margin-right: 15px;
    margin-top: 20px;
}

.form-two, .form-one {
    float: left;
    width: 47%
}

.shopper-info > form > input, .form-two > form > select, .form-two > form > input,
.form-one > form > input {
    background: #F0F0E9;
    border: 0 none;
    margin-bottom: 10px;
    padding: 10px;
    width: 100%;
    font-weight: 300
}

.form-two > form > select {
    padding: 10px 5px
}

.form-two {
    margin-left: 5%
}

.order-message textarea {
    font-size: var(--font-size-small);
    height: 335px;
    margin-bottom: 20px;
    padding: 15px 20px;
}

.order-message label {
    font-weight: 300;
    color: var(--color-text-tertiary);
    font-family: 'Montserrat', sans-serif;
    margin-left: 10px;
    font-size: var(--font-size-14px);
}

.review-payment h2 {
    color: var(--color-text-tertiary);
    font-size: var(--font-size-large);
    font-weight: 300;
    margin-top: 45px;
    margin-bottom: 20px
}

.payment-options {
    margin-bottom: 125px;
    margin-top: -25px
}

.payment-options span label {
    color: var(--color-text-tertiary);
    font-size: var(--font-size-14px);
    font-weight: 300;
    margin-right: 30px;
}

/*************************
    ******* Contact CSS ********
    **************************/
.contact-map {
    width: 100%;
    height: 385px;
    margin-bottom: 70px
}

.contact-info .heading, .contact-form .heading {
    text-transform: capitalize;
}

.contact-form .form-group {
    margin-bottom: 20px;
}

#contact-page
.form-control::-moz-placeholder {
    color: #8D8D8D;
}

#contact-page .form-control {
    background-color: #fff;
    border: 1px solid #ddd;
    color: var(--color-text-tertiary);
    height: 46px;
    padding: 6px 12px;
    width: 100%;
    font-size: var(--font-size-medium-plus);
    border-radius: 4px;
    box-shadow: inherit;
}

#contact-page #message {
    height: 160px;
    resize: none;
}

#main-contact-form .btn-primary {
    margin-bottom: 15px;
    margin-top: 20px;
}

#contact-page .form-control:focus, #contact-page .form-control:hover {
    box-shadow: inherit;
    border-color: #FDB45E;
}

#contact-page .contact-info {
    padding: 0 20px;
}

#contact-page .contact-info address {
    margin-bottom: 40px;
    margin-top: -5px;
}

#contact-page .contact-info p {
    margin-bottom: 0;
    color: var(--color-text-tertiary);
    font-size: var(--font-size-medium-plus);
    line-height: 25px;
}

.social-networks {
    overflow: hidden;
    text-align: center;
}

.social-networks ul {
    margin-top: -5px;
    padding: 0;
    display: inline-block;
}

.social-networks ul li {
    float: left;
    text-decoration: none;
    list-style: none;
    margin-right: 20px;
}

.social-networks ul li:last-child {
    margin-right: 0;
}

.social-networks ul li a {
    color: #999;
    font-size: var(--font-size-xxl);
}

.contact-info .social-networks ul li a i {
    background: none;
}

.contact-info .social-networks ul li a:hover {
    color: #C23972;
}

/*
        Registro
    */
.registro-terminos-distribuidor {
    display: none;
}

/*
        Detalles del artículo
    */

.detalles-articulo {
    padding-left: 0;
    padding-right: 0;
    font-family: 'Montserrat', 'Open Sans', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #333;
}

/*@media all and (max-width: 990px) {*/
/*    .detalles-articulo {*/
/*        padding: 12px 0 !important;*/
/*    }*/
/*}*/

.detalles-articulo ul {
    /*background-color: white;*/
    border: none;
    padding-left: 0 !important;
}

.detalles-articulo ul li {

}

/*.detalles-articulo  * {*/
/*    background-color: white;*/
/*}*/

.view-product .imageholder {
    width: 100%;
    max-height: 380px;
    padding: 0px;
}

/* Imagen sticky para el detalle del artículo */
@media all and (min-width: 990px) {

    .view-product {
        margin: auto;
        max-width: 540px;
    }


    .imagen-sticky {
        position: -webkit-sticky;
        position: sticky;
        top: 120px;
    }
}


/*
        Elementos del carrito
    */
.cart_info .disponibilidad-no, .cart_info .disponibilidad-no p {
    background-color: #ed6365;
    color: white;
    font-size: var(--font-size-14px);
}

.cart_info > table > tbody .precio-subido {
    background-color: #ed6365;
}

.cart_info > table > tbody .precio-bajado {
    background-color: #80ff80;
}

.cart_info > table > tbody .precio-igual {

}


.cart_info > table > tbody .articulo-baja {
    background-color: #F333FF;
}

.imagen-detalles-mini {
    cursor: pointer;
    cursor: hand;
    width: 72px;
    height: 72px;
}

/*
        contenedor principal
    */
.main-container {

}

.disponibilidad-24h {
    /*background-color: green;*/
    color: green;
    font-weight: 900;
    /*color: white;*/
}

.disponibilidad-48h {
    /* background-color: yellow; */
    /* color: black; */
    /*color: #f07624;*/
    font-weight: 400;
}

.disponibilidad-prox {
    /* background-color: yellow; */
    /* color: black; */
    color: #0000FF;
    font-weight: 900;
}

.disponibilidad-no {
    /* background-color: red; */
    /* color: white; */
    color: red;
    font-weight: 900;
}

/*  Historial de pedidos - legacy styles overridden below */
.pedido-header {

}

.pedido-holder {
    /* overridden in panel section */
}

.pedido-header .row {
    /* overridden in panel section */
}

.pedido-body, pedido-body .row {
    margin: auto 0;
}

.pedido-body, .pedido-body #cart_items .cart_info {
    margin-bottom: 0px !important;
}

.pedido-header, .pedido-header div {

}


#filtros-content .panel-body{
    padding: 0;
}

/* Compact filter panel */
.panel-default > .panel-heading {
    padding: 6px 16px;
    background-color: #fafbfc;
    border-bottom: 1px solid #f0f0f0;
}

.product-information .product-title-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 0;
    margin: -2px 0 12px;
    color: #707783;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

.product-information .product-title-meta__item {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.product-information .product-title-meta__separator {
    margin: 0 8px;
    color: #c1c7d0;
    font-size: 11px;
    line-height: 1;
}

@media all and (max-width: 767px) {
    .product-information .product-title-meta {
        display: none;
    }
}

.panel-default > .panel-heading .panel-title {
    font-size: 13px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
}

.panel-default > .panel-heading .panel-title a {
    color: #444;
    text-decoration: none;
}

.panel-default > .panel-heading .panel-title a i {
    color: #C23972;
    margin-right: 4px;
}

/* Search form / Filter panel */
.busqueda-form {
    overflow-x: hidden;
    padding: 8px 12px;
    border: 1px solid #f0f0f0;
    border-radius: 10px;
    background-color: #fafbfc;
    color: #333;
    font-family: 'Montserrat', sans-serif;
}

.busqueda-form * {
    border-radius: 8px !important;
    vertical-align: middle;
}

.busqueda-form > .row {
    padding-left: 2px;
    padding-right: 2px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.busqueda-form .espacio-stock {
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin: 3px 0;
}

.busqueda-form .espacio-stock label {
    margin: 0;
    cursor: pointer;
    user-select: none;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    line-height: 1;
    white-space: nowrap;
}

.busqueda-form .espacio-stock input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 44px !important;
    height: 24px !important;
    min-width: 44px;
    min-height: 24px;
    background: #bbb;
    border-radius: 14px;
    border: none !important;
    box-shadow: none !important;
    position: relative;
    cursor: pointer;
    transition: background 0.25s ease;
    padding: 0 !important;
    margin: 0;
    flex-shrink: 0;
    outline: none;
    vertical-align: middle;
}

.busqueda-form .espacio-stock input[type="checkbox"]::before {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    background: white;
    border-radius: 50%;
    transition: transform 0.25s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.busqueda-form .espacio-stock input[type="checkbox"]:checked {
    background: linear-gradient(135deg, #e0498a 0%, #b5295f 100%);
}

.busqueda-form .espacio-stock input[type="checkbox"]:checked::before {
    transform: translateX(20px);
}

.busqueda-form .espacio-stock input[type="checkbox"]:hover {
    background: #a0a0a0;
}

.busqueda-form .espacio-stock input[type="checkbox"]:checked:hover {
    background: linear-gradient(135deg, #e85a97 0%, #c93068 100%);
}

.busqueda-form .espacio-boton {
    height: 32px;
}

.busqueda-form .buscar_btn {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 4px 0;
    background: linear-gradient(135deg, #e0498a 0%, #b5295f 100%);
    border: none;
    color: white;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.3px;
    transition: all 0.25s ease;
}

.busqueda-form .buscar_btn:hover {
    background: linear-gradient(135deg, #e8428c 0%, #c03069 100%);
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(194, 57, 114, 0.3);
}

.busqueda-form input[type="text"], .busqueda-form select {
    height: 32px;
    background-color: white;
    margin: 3px 0;
    border: 1px solid #e0e0e0;
    font-size: 13px;
    transition: border-color 0.2s ease;
}

.busqueda-form input[type="text"]:focus,
.busqueda-form select:focus {
    border-color: #C23972;
    box-shadow: 0 0 0 3px rgba(194, 57, 114, 0.08);
    outline: none;
}

.busqueda-form .buscar-btn {
    width: 100%;
}

/* Filters panel (Filtros collapsible) */
.products .panel-default {
    border: 1px solid #f0f0f0;
    border-radius: 10px;
    box-shadow: none;
    margin-bottom: 10px;
    overflow: hidden;
}

.products .panel-default > .panel-heading {
    background: #fafbfc;
    border-bottom: 1px solid #f0f0f0;
    padding: 6px 16px;
    border-radius: 10px 10px 0 0;
}

.products .panel-default > .panel-heading .panel-title a {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #444;
    text-decoration: none;
}

.products .panel-default > .panel-heading .panel-title a i {
    color: #C23972;
    margin-right: 6px;
}

.products .panel-default > .panel-heading .panel-title a:hover {
    color: #C23972;
}

.products .panel-default .panel-body {
    padding: 12px 16px;
}

/* Left sidebar filter list */
.filtros .filtro-atributo-lista {
    list-style: none;
    padding: 0;
    margin: 0;
}


.panel-control--caja--header {
    color: white;
}


#gdpr-cookie-message {
    display: inline-block;
    position: fixed;
    bottom: 20px;
    right: 20px;
    margin-left: 20px;
    background: #3B3646;
    color: white;
    border-radius: 4px;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
    max-width: 320px;
    font-size: var(--font-size-small);
}

#gdpr-cookie-message a {
    color: #EE4B5A;
    border-bottom: 1px solid white;
    padding-bottom: 2px;
    font-size: var(--font-size-base);
}

#gdpr-cookie-message a:hover {
    color: white;
    border-bottom: 1px solid #EE4B5A;
    transition: all 0.3s ease-in;
}

#gdpr-cookie-message h4 {
    font-family: "Quicksand", sans-serif;
    font-size: var(--font-size-14px);
    font-weight: 700;
    color: #EE4B5A;
    margin: 0 0 8px 0;
    padding: 0
}

#gdpr-cookie-message p:last-child {
    margin-bottom: 0px;
    text-align: right
}

#gdpr-cookie-message button {
    position: relative;
    background: #ca4169;

    color: white;
    border-radius: 3px;
    border: none;
    font-family: "Quicksand", sans-serif;
    font-size: var(--font-size-small);
    padding: 5px 8px;
    margin-left: 15px;
    vertical-align: middle;
    cursor: pointer
}

#gdpr-cookie-message button:hover {
    background: white;
    color: #EE4B5A
}


div.eurpc-alert {

    font-size: larger;
}

div.eurpc-alert.alert-danger {
    background-color: red;
    color: white;
}

.cabecera-carrito {
    margin-top: 0;
    margin-bottom: 2px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.carrito-boton-nuevo {
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium);
}

.carrito-boton-carritos {
    border-radius: 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: var(--font-size-medium);
}


.modal-dialog {
    position: absolute;
    width:50%;
    top: 20%;
    left: 25%;
}

@media all and (max-width: 990px) {
    .modal-dialog {
        position: absolute;
        width:90%;
        top: 40% !important;
        left: 5% !important;
    }
}

.spin-normal {
    font-size: 35px;
    height: 35px;
    width: 35px;
}

.spin-small {
    font-size: 20px;
    height: 20px;
    width: 20px;
}

.carrito-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: 50px;
    z-index: 10000;
    opacity: .6;
    background-color: gray;

}


/* otro spinner */
/* Absolute Center Spinner */
.loading {
    position: fixed;
    z-index: 9999999;
    height: 4em;
    width: 4em;
    overflow: visible;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;

}

/* Transparent Overlay */
.loading:before {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.15);


}

/* :not(:required) hides these rules from IE9 and below */
.loading:not(:required) {
    /* hide "loading..." text */
    font: 034º12/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0;


}

.loading:not(:required):after {

    content: '';
    display: block;
    font-size: var(--font-size-xxxl);
    width: 1em;
    height: 1em;
    margin-top: -1em;
    -webkit-animation: spinner 4500ms infinite linear;
    -moz-animation: spinner 4500ms infinite linear;
    -ms-animation: spinner 4500ms infinite linear;
    -o-animation: spinner 4500ms infinite linear;
    animation: spinner 4500ms infinite linear;
    border-radius: 0.5em;
    -webkit-box-shadow: rgba(51, 122, 183, 0.95) 1.5em 0 0 0, rgba(194, 57, 114, 0.95) 1.1em 1.1em 0 0, rgba(51, 122, 183, 0.95) 0 1.5em 0 0, rgba(194, 57, 114, 0.95) -1.1em 1.1em 0 0, rgba(51, 122, 183, 0.95) -1.5em 0 0 0, rgba(194, 57, 114, 0.95) -1.1em -1.1em 0 0, rgba(51, 122, 183, 0.95) 0 -1.5em 0 0, rgba(194, 57, 114, 0.95) 1.1em -1.1em 0 0;
    box-shadow: rgba(51, 122, 183, 0.95) 1.5em 0 0 0, rgba(194, 57, 114, 0.95) 1.1em 1.1em 0 0, rgba(51, 122, 183, 0.95) 0 1.5em 0 0, rgba(194, 57, 114, 0.95) -1.1em 1.1em 0 0, rgba(51, 122, 183, 0.95) -1.5em 0 0 0, rgba(194, 57, 114, 0.95) -1.1em -1.1em 0 0, rgba(51, 122, 183, 0.95) 0 -1.5em 0 0, rgba(194, 57, 114, 0.95) 1.1em -1.1em 0 0;

}

/* Animation */

@-webkit-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    50% {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }


    75% {
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        -o-transform: rotate(270deg);
        transform: rotate(270deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-moz-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    50% {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    75% {
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        -o-transform: rotate(270deg);
        transform: rotate(270deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-o-keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    50% {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    75% {
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        -o-transform: rotate(270deg);
        transform: rotate(270deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes spinner {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    50% {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    75% {
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        -o-transform: rotate(270deg);
        transform: rotate(270deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}



.login-form-container > *{
    max-width: 380px;
    margin: 0 auto;
}

@media all and (max-width: 767px) {
    .login-form-container > *{
        max-width: unset;
    }
}

.login-info-container {
    padding: 2.5rem;
    padding-right: 3.75rem;
    border-right: 1px solid #CCCCCC;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.login-info-container__item {
    width: 100%;
    padding: 0.5rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: flex-start;
    -webkit-box-align: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
}




.formContent {

    -webkit-border-radius: 10px 10px 10px 10px;
    border-radius: 10px 10px 10px 10px;
    background: #fff;

    -webkit-box-shadow: 0 3px 6px 0 rgba(0,0,0,0.3);
    box-shadow: 0 3px 6px 0 rgba(0,0,0,0.3);
    text-align: left;
    border: 1px #eeeeee solid;

    padding: 36px;
    max-width: 980px;
    color: #1b1e21;

    margin: 0 auto;
}

@media all and (max-width: 990px) {
    .formContent {
        box-shadow: unset;
        -webkit-box-shadow: unset;
        border: unset;
        border-radius: unset;
        text-align: left;
        max-width: unset;
    }
    .formContent > * {
        margin-bottom: 16px;
    }

}




.bundle-wrapper {
    padding: 10px 5px;
    /*max-width: 220px;*/
}


.bundle {
    /*height: 400px;*/
    background-color: rgb(240, 240, 240);
    /*min-width: 280px;*/

    color:black;
    border: 1px #f3f3f3 solid;
    position: relative;
    padding: 0px;

    /*
        -webkit-border-radius: 10px 10px 10px 10px;
        border-radius: 10px 10px 10px 10px;
        -webkit-box-shadow: 0 30px 60px 0 rgba(0,0,0,0.3);

        */
    /*box-shadow: 0 30px 60px 0 rgba(0,0,0,0.3);*/

}



.bundle-nombre {
    padding: 0px 10px;
    overflow: hidden;
    margin:0px;
    text-align: center;
    font-weight: 800;
    font-size: 1.8em;
    color: #3c3c3c;
    padding-bottom: 8px;
    height: 120px;
    /*border-bottom: 1px gray solid;*/
}


.bundle img {
    width: 100%;
}

.bundle-descripcion
{
    background-color: rgb(250, 250, 250 );
    padding: 0px;
    margin-top: 0px;
    margin-bottom: 12px;
    /*height:150px;*/
    font-weight: 400;
    height: 40%;
}

.bundle-bottom {
    padding: 10px 10px;
    /*bottom: 0px;*/
    /*position: absolute;*/
    border-top: 1px solid #0066C9;
    width:100%;
    background-color: rgb(250, 250, 250 );
}

.bundle-precio {
    font-size: var(--font-size-xxl);
    font-weight: 600;
    color: var(--color-text-tertiary);
    display: inline-block;
    text-align: center;
}

/*.bundle-boton {*/
/*    position: absolute;*/
/*    right: 2px;*/

/*}*/

.bundle-articulos {
    border-top: 3px solid #b92c28 ;
    padding-top: 10px;
    /*overflow-y: auto;*/

    /*
            border: 1px solid grey;
            background:rgba(200,30,15,0.5);
            padding: 10px 5px;
        */
    overflow-y: auto;
    height:40%;
    font-size: var(--font-size-small);
}

.bundle-articulos ul {
    padding-left: 22px;
    padding-right: 6px;




}

.bundle-articulos li {
    list-style-type: none;
    padding-left: 10px;
}

.bundle-articulos li::before {
    content: "\2022";  /* Add content: \2022 is the CSS Code/unicode for a bullet */
    color: #0066C9; /* Change the color */
    font-weight: bold; /* If you want it to be bold */
    display: inline-block; /* Needed to add space between the bullet and the text */
    width: 1em; /* Also needed for space (tweak if needed) */
    margin-left: -1em; /* Also needed for space (tweak if needed) */
    font-size: 1.3em;
}



@media (min-width: 0px) and ( max-width: 500px) {
    .bundle-wrapper {
        height: unset;
    }

    .bundle-articulos {
        height: 30%;
    }

    .bundle {
        height: 650px;
        overflow: hidden;
    }

    .bundle-nombre {
        height: 210px;
    }

    .bundle-precio {
        font-size: 10px !important;
        text-align: center;
    }
}


@media (min-width: 501px) and ( max-width: 1139px) {
    .bundle-wrapper {
        height: 580px;
    }

    .bundle-articulos {
        height: 35%;
    }

    .bundle {
        height: 580px;
    }
}



@media (min-width: 1140px) {
    .bundle-wrapper {
        height: 500px;
        margin-bottom: var(--spacing-md);
    }

    .bundle-articulos {
        height: 40%;
    }

    .bundle {
        height: 500px;
    }
}




.col-xs-5th-1, .col-xs-5th-2, .col-xs-5th-3, .col-xs-5th-4 {
    float: left;
}

.col-xs-5th-5 {
    float: left;
    width: 100%;
}

.col-xs-5th-4 {
    width: 80%;
}

.col-xs-5th-3 {
    width: 60%;
}

.col-xs-5th-2 {
    width: 40%;
}

.col-xs-5th-1 {
    width: 20%;
}

.col-xs-5th-pull-5 {
    right: 100%;
}

.col-xs-5th-pull-4 {
    right: 80%;
}

.col-xs-5th-pull-3 {
    right: 60%;
}

.col-xs-5th-pull-2 {
    right: 40%;
}

.col-xs-5th-pull-1 {
    right: 20%;
}

.col-xs-5th-pull-0 {
    right: auto;
}

.col-xs-5th-push-5 {
    left: 100%;
}

.col-xs-5th-push-4 {
    left: 80%;
}

.col-xs-5th-push-3 {
    left: 60%;
}

.col-xs-5th-push-2 {
    left: 40%;
}

.col-xs-5th-push-1 {
    left: 20%;
}

.col-xs-5th-push-0 {
    left: auto;
}

.col-xs-5th-offset-5 {
    margin-left: 100%;
}

.col-xs-5th-offset-4 {
    margin-left: 80%;
}

.col-xs-5th-offset-3 {
    margin-left: 60%;
}

.col-xs-5th-offset-2 {
    margin-left: 40%;
}

.col-xs-5th-offset-1 {
    margin-left: 20%;
}

.col-xs-5th-offset-0 {
    margin-left: 0%;
}

@media (min-width: 768px) {
    .col-sm-5th-1, .col-sm-5th-2, .col-sm-5th-3, .col-sm-5th-4 {
        float: left;
    }

    .col-sm-5th-5 {
        float: left;
        width: 100%;
    }

    .col-sm-5th-4 {
        width: 80%;
    }

    .col-sm-5th-3 {
        width: 60%;
    }

    .col-sm-5th-2 {
        width: 40%;
    }

    .col-sm-5th-1 {
        width: 20%;
    }

    .col-sm-5th-pull-5 {
        right: 100%;
    }

    .col-sm-5th-pull-4 {
        right: 80%;
    }

    .col-sm-5th-pull-3 {
        right: 60%;
    }

    .col-sm-5th-pull-2 {
        right: 40%;
    }

    .col-sm-5th-pull-1 {
        right: 20%;
    }

    .col-sm-5th-pull-0 {
        right: auto;
    }

    .col-sm-5th-push-5 {
        left: 100%;
    }

    .col-sm-5th-push-4 {
        left: 80%;
    }

    .col-sm-5th-push-3 {
        left: 60%;
    }

    .col-sm-5th-push-2 {
        left: 40%;
    }

    .col-sm-5th-push-1 {
        left: 20%;
    }

    .col-sm-5th-push-0 {
        left: auto;
    }

    .col-sm-5th-offset-5 {
        margin-left: 100%;
    }

    .col-sm-5th-offset-4 {
        margin-left: 80%;
    }

    .col-sm-5th-offset-3 {
        margin-left: 60%;
    }

    .col-sm-5th-offset-2 {
        margin-left: 40%;
    }

    .col-sm-5th-offset-1 {
        margin-left: 20%;
    }

    .col-sm-5th-offset-0 {
        margin-left: 0%;
    }
}
@media (min-width: 992px) {
    .col-md-5th-1, .col-md-5th-2, .col-md-5th-3, .col-md-5th-4 {
        float: left;
    }

    .col-md-5th-5 {
        float: left;
        width: 100%;
    }

    .col-md-5th-4 {
        width: 80%;
    }

    .col-md-5th-3 {
        width: 60%;
    }

    .col-md-5th-2 {
        width: 40%;
    }

    .col-md-5th-1 {
        width: 20%;
    }

    .col-md-5th-pull-5 {
        right: 100%;
    }

    .col-md-5th-pull-4 {
        right: 80%;
    }

    .col-md-5th-pull-3 {
        right: 60%;
    }

    .col-md-5th-pull-2 {
        right: 40%;
    }

    .col-md-5th-pull-1 {
        right: 20%;
    }

    .col-md-5th-pull-0 {
        right: auto;
    }

    .col-md-5th-push-5 {
        left: 100%;
    }

    .col-md-5th-push-4 {
        left: 80%;
    }

    .col-md-5th-push-3 {
        left: 60%;
    }

    .col-md-5th-push-2 {
        left: 40%;
    }

    .col-md-5th-push-1 {
        left: 20%;
    }

    .col-md-5th-push-0 {
        left: auto;
    }

    .col-md-5th-offset-5 {
        margin-left: 100%;
    }

    .col-md-5th-offset-4 {
        margin-left: 80%;
    }

    .col-md-5th-offset-3 {
        margin-left: 60%;
    }

    .col-md-5th-offset-2 {
        margin-left: 40%;
    }

    .col-md-5th-offset-1 {
        margin-left: 20%;
    }

    .col-md-5th-offset-0 {
        margin-left: 0%;
    }
}
@media (min-width: 1200px) {
    .col-lg-5th-1, .col-lg-5th-2, .col-lg-5th-3, .col-lg-5th-4 {
        float: left;
    }

    .col-lg-5th-5 {
        float: left;
        width: 100%;
    }

    .col-lg-5th-4 {
        width: 80%;
    }

    .col-lg-5th-3 {
        width: 60%;
    }

    .col-lg-5th-2 {
        width: 40%;
    }

    .col-lg-5th-1 {
        width: 20%;
    }

    .col-lg-5th-pull-5 {
        right: 100%;
    }

    .col-lg-5th-pull-4 {
        right: 80%;
    }

    .col-lg-5th-pull-3 {
        right: 60%;
    }

    .col-lg-5th-pull-2 {
        right: 40%;
    }

    .col-lg-5th-pull-1 {
        right: 20%;
    }

    .col-lg-5th-pull-0 {
        right: auto;
    }

    .col-lg-5th-push-5 {
        left: 100%;
    }

    .col-lg-5th-push-4 {
        left: 80%;
    }

    .col-lg-5th-push-3 {
        left: 60%;
    }

    .col-lg-5th-push-2 {
        left: 40%;
    }

    .col-lg-5th-push-1 {
        left: 20%;
    }

    .col-lg-5th-push-0 {
        left: auto;
    }

    .col-lg-5th-offset-5 {
        margin-left: 100%;
    }

    .col-lg-5th-offset-4 {
        margin-left: 80%;
    }

    .col-lg-5th-offset-3 {
        margin-left: 60%;
    }

    .col-lg-5th-offset-2 {
        margin-left: 40%;
    }

    .col-lg-5th-offset-1 {
        margin-left: 20%;
    }

    .col-lg-5th-offset-0 {
        margin-left: 0%;
    }
}


span.color-alternativo {
    color: #2174af;
}

.pdr-6 {
    padding-right: 6px;
}

.pdr-12 {
    padding-right: 12px;
}

.pdl-6 {
    padding-left: 6px;
}

.pdl-12 {
    padding-left: 12px;
}


.canon-detalle {
    color: #C23972;
    font-weight: 800;
}

/* Hide mobile buy bar on desktop only */
@media (min-width: 991px) {
    .precio-detalle-movil {
        display: none;
    }
}

/* Product detail availability section */
.product-information .availability-section {
    background: #fafbfc;
    border-radius: 10px;
    padding: 6px 16px;
    margin: 16px 0;
    border: 1px solid #f0f0f0;
}

.product-information .availability-section .row {
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
}

.product-information .availability-section .row:last-child {
    border-bottom: none;
}

.product-information .availability-section b {
    color: #555;
    font-weight: 600;
    font-size: 13px;
}

.product-information .availability-section i {
    margin-right: 4px;
}

/* Shipping calculator & estimate (unified panel) */
.product-information .shipping-calculator {
    margin-top: 6px;
    padding: 16px;
    background: #fafbfc;
    border-radius: 10px;
    border: 1px solid #e8e8e8;
}

.product-information .shipping-calculator-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 600;
    color: #444;
}

.product-information .shipping-calculator-header i {
    color: #C23972;
    font-size: 16px;
}

/* Total with shipping row */
.product-information .shipping-total-row {
    background: #fff;
    border: 2px solid #e8e8e8;
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 14px;
    transition: border-color 0.3s ease, background 0.3s ease;
}

.product-information .shipping-total-row.shipping-total--exact {
    border-color: #27ae60;
    background: #f0faf4;
}

.product-information .shipping-total-price {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.product-information .shipping-total-label {
    font-size: 13px;
    color: #666;
    font-weight: 500;
}

.product-information .shipping-total-value {
    font-size: 20px;
    font-weight: 800;
    color: #C23972;
}

.product-information .shipping-total--exact .shipping-total-value {
    color: #27ae60;
}

.product-information .shipping-total-breakdown {
    margin-top: 4px;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.product-information .shipping-total-breakdown > span:first-child {
    font-size: 12px;
    color: #777;
}

.product-information .shipping-disclaimer {
    font-size: 11px;
    color: #aaa;
    font-style: italic;
}

.product-information .shipping-total--exact .shipping-disclaimer {
    color: #27ae60;
    font-style: normal;
    font-weight: 500;
}

/* Calculator form */
.product-information .shipping-form-label {
    font-size: 12px;
    color: #888;
    margin-bottom: 8px;
    display: block;
}

.product-information .shipping-form-inputs {
    display: flex;
    gap: 8px;
    align-items: center;
}

.product-information .shipping-form-inputs input.form-control {
    width: 130px;
    flex-shrink: 0;
    border-radius: 8px;
    border: 2px solid #e0e0e0;
    height: 38px;
    font-size: 14px;
    transition: border-color 0.2s ease;
}

.product-information .shipping-form-inputs input.form-control:focus {
    border-color: #C23972;
    box-shadow: 0 0 0 3px rgba(194, 57, 114, 0.1);
    outline: none;
}

.product-information .shipping-form-inputs input.form-control.shipping-input--error {
    border-color: #e74c3c;
    animation: shakeInput 0.4s ease;
}

@keyframes shakeInput {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-6px); }
    40% { transform: translateX(6px); }
    60% { transform: translateX(-4px); }
    80% { transform: translateX(4px); }
}

.product-information .shipping-calculator .btn-gris:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.product-information .shipping-calculator .btn-gris {
    background: #f0f0f0;
    border: 1px solid #ddd;
    color: #333;
    border-radius: 8px;
    padding: 7px 16px;
    font-weight: 600;
    font-size: 13px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.product-information .shipping-calculator .btn-gris:hover {
    background: #e0e0e0;
    border-color: #ccc;
}

/* Shipping result */
.product-information .shipping-result {
    display: none;
    padding: 10px 14px;
    margin-top: 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #333;
}

.product-information .shipping-result.mostrar {
    display: block;
}

.product-information .shipping-result i {
    margin-right: 6px;
}

.product-information .shipping-result.shipping-result--ok {
    background: #f0faf4;
    border: 1px solid #b7e4c7;
    color: #1a7a3a;
}

.product-information .shipping-result.shipping-result--ok span {
    font-weight: 800;
    color: #27ae60;
}

.product-information .shipping-result.shipping-result--error {
    background: #fef5f5;
    border: 1px solid #f0c0c0;
    color: #c0392b;
}

/* Product detail HR styling */
.product-information hr {
    border: none;
    height: 1px;
    background: linear-gradient(to right, transparent, #e0e0e0, transparent);
    margin: 16px 0;
}

/* Related products section */
.contenedor-producto-descripcion legend {
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #1a1a2e;
    border-bottom: 3px solid #C23972;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

/* Quantity row improvements */
.cantidad-carrito {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.cantidad-carrito label {
    font-weight: 600;
    color: #555;
    margin-bottom: 0;
    margin-right: 0;
    font-size: 14px;
}

.cantidad-carrito input[type="number"] {
    width: 60px;
    height: 40px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    font-family: 'Montserrat', sans-serif;
    outline: none;
    transition: border-color 0.2s ease;
    -moz-appearance: textfield;
}

.cantidad-carrito input[type="number"]:focus {
    border-color: #C23972;
    box-shadow: 0 0 0 3px rgba(194, 57, 114, 0.1);
}

.cantidad-carrito input[type="number"]::-webkit-inner-spin-button,
.cantidad-carrito input[type="number"]::-webkit-outer-spin-button {
    opacity: 1;
    height: 36px;
}

/* ═══ IVA LABEL ═══ */
.pi-iva-label {
    font-size: 13px;
    color: #888;
    font-weight: 600;
    margin-top: 2px;
}

/* ═══ PRICE SIN IVA (parenthesized) ═══ */
.product-information .price-sin-iva {
    font-size: 13px;
    color: #2a8a3e;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 4px;
}

/* ═══ AVAILABILITY ICON ROWS ═══ */
.pi-availability {
    background: #fafbfc;
    border-radius: 10px;
    padding: 2px 14px;
    margin: 10px 0 8px;
    border: 1px solid #f0f0f0;
}

.pi-availability__row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13.5px;
    color: #333;
}

.pi-availability__row:last-child {
    border-bottom: none;
}

.pi-availability__row i {
    color: var(--color-primary, #C23972);
    font-size: 16px;
    width: 20px;
    text-align: center;
    flex-shrink: 0;
}

/* ═══ BUY ACTIONS (quantity + CTA together) ═══ */
.pi-buy-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 10px 0 6px;
}

.pi-buy-actions .cantidad-carrito {
    flex-shrink: 0;
}

.pi-buy-actions .buy-button--desktop {
    flex: 1;
    height: 48px;
    font-size: 1.15em;
    margin-bottom: 0;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ═══ TRUST BADGES ═══ */
.trust-badges {
    background: #f3f8f4;
    border: 1px solid #e2ede4;
    border-radius: 10px;
    padding: 10px 14px;
    margin: 10px 0;
}

.trust-badges__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px 0;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
}

.trust-badges__item i {
    font-size: 15px;
    color: #22a652;
    width: 18px;
    text-align: center;
    flex-shrink: 0;
}

/* ═══ WHATSAPP BUTTON ═══ */
.whatsapp-icon2 {
    margin: 0 8px 0 4px;
    font-size: 28px;
}
.whatsapp-button {
    margin: 12px 0;
    background-color: #25D366;
    color: white;
    padding: 10px 16px;
    border-radius: 30px;
    font-weight: bold;
    font-size: 14px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 3px 10px rgba(37, 211, 102, 0.3);
    transition: all 0.25s ease;
}
.whatsapp-button img {
    width: 20px;
    height: 20px;
    margin-right: 8px;
}
.whatsapp-button:hover {
    background-color: #1EBE5D;
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 5px 15px rgba(37, 211, 102, 0.4);
}

/* ═══ BUNDLE PAGES ═══ */
.bundle-breadcrumb {
    padding: 18px 0 8px;
    font-size: 14px;
    color: #666;
}

.bundle-breadcrumb a {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: 600;
}

.bundle-breadcrumb a:hover {
    text-decoration: underline;
}

.bundle-breadcrumb__sep {
    margin: 0 8px;
    color: #aaa;
}

.bundles-seo-text {
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid #eee;
    color: #555;
    line-height: 1.7;
}

.bundles-seo-text h3 {
    color: #333;
    margin-bottom: 16px;
}

.bundle-components {
    padding: 16px 0;
}

.bundle-components h4 {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 12px;
}

.bundle-components__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bundle-components__item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    margin-bottom: 6px;
    background: #f9f9fb;
    border-radius: 8px;
    border-left: 3px solid var(--color-primary);
    font-size: 14px;
    transition: background 0.2s;
}

.bundle-components__item:hover {
    background: #f0f0f5;
}

.bundle-components__item i {
    color: var(--color-primary);
    font-size: 14px;
    flex-shrink: 0;
}

.bundle-components__item a {
    color: #333;
    text-decoration: none;
    font-weight: 500;
}

.bundle-components__item a:hover {
    color: var(--color-primary);
    text-decoration: underline;
}

.filtros {
    background: #fafbfc;
    border: 1px solid #f0f0f0;
    border-radius: 12px;
    padding: 16px;
}

.filtros, .filtros * {
    padding-left: 0;
}

.filtros .filtro-valor-lista {
    margin-bottom: 20px;
}

.filtros .filtro-valor-lista {
    border-top: none;
    list-style: none;
    padding-left: 0;
    padding-top: 4px;
}

.filtros ul > li:not(:first-child) {
    margin-top: 26px;
}

/* === Active filters chips bar === */
.filtros-activos-bar {
    display: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding: 8px 0 10px 0;
    border-bottom: 1px solid #eee;
    margin-bottom: 10px;
}
.filtros-activos-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #888;
    letter-spacing: 0.4px;
    margin-right: 2px;
}
.filtro-activo-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: var(--color-primary);
    color: #fff;
    border-radius: 20px;
    padding: 3px 10px 3px 10px;
    font-size: 12px;
    font-weight: 500;
}
.filtro-activo-remove {
    background: none;
    border: none;
    color: rgba(255,255,255,0.85);
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    padding: 0 0 0 2px;
    margin: 0;
}
.filtro-activo-remove:hover {
    color: #fff;
}
.filtros-activos-limpiar {
    background: none;
    border: 1px solid #ccc;
    border-radius: 20px;
    color: #888;
    font-size: 11px;
    cursor: pointer;
    padding: 3px 10px;
    transition: all 0.15s ease;
}
.filtros-activos-limpiar:hover {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.filtros .filtro-title {
    font-weight: 700;
    font-size: 12px;
    width: 100%;
    background-color: transparent;
    text-transform: uppercase;
    color: #555;
    display: block;
    text-align: left;
    letter-spacing: 0.5px;
    padding-bottom: 6px;
    margin-bottom: 6px;
    border-bottom: 2px solid var(--color-primary);
}


.filtro-valor {
    font-weight: 400;
    font-size: 13px;
    color: #555;
    text-decoration: none;
    transition: color 0.2s ease;
    display: block;
    padding: 4px 0;
}

.filtro-valor:before {
    font-family: FontAwesome;
    content: "\f096";
    margin-right: 8px;
    color: #bbb;
}

.filtro-valor.active:before {
    content: "\f14a";
    color: #C23972;
}

.filtro-valor:hover {
    color: #C23972;
    text-decoration: none;
}

/* Facet count badges */
.filtro-count {
    color: #999;
    font-size: 11px;
    font-weight: 400;
    margin-left: 2px;
}

/* Show more / show less for facet values */
.filtro-valor-lista--collapsible > li:nth-child(n+6):not(.filtro-show-more) {
    display: none;
}
.filtro-valor-lista--collapsible.filtro-valor-lista--expanded > li:nth-child(n+6):not(.filtro-show-more) {
    display: list-item;
}
.filtro-show-more {
    list-style: none;
    margin-top: 4px;
}
.filtro-show-more-link {
    font-size: 12px;
    color: #C23972;
    text-decoration: none;
    cursor: pointer;
}
.filtro-show-more-link:hover {
    text-decoration: underline;
}
.filtro-show-more-link i {
    font-size: 10px;
    margin-left: 4px;
}

/* AJAX loading transition for product grid */
.catalogo-grid.faceted-loading {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

/* === Price range filter === */
.filtro-precio {
    margin-bottom: 16px;
    padding: 0 0 12px 0;
    border-bottom: 1px solid #eee;
}

.filtro-precio .filtro-title {
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    color: #555;
    display: block;
    padding-bottom: 6px;
    margin-bottom: 12px;
    border-bottom: 2px solid var(--color-primary);
    letter-spacing: 0.5px;
}

.filtro-precio-slider {
    position: relative;
    height: 32px;
    margin: 0 4px;
}

.filtro-precio-slider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 4px;
    background: #ddd;
    border-radius: 2px;
    transform: translateY(-50%);
}

.filtro-precio-track {
    position: absolute;
    top: 50%;
    height: 4px;
    background: var(--color-primary);
    border-radius: 2px;
    transform: translateY(-50%);
    pointer-events: none;
}

.filtro-precio-range {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    pointer-events: none;
    margin: 0;
    padding: 0;
}

.filtro-precio-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: #fff;
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    cursor: pointer;
    pointer-events: all;
    position: relative;
    z-index: 2;
}

.filtro-precio-range::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: #fff;
    border: 2px solid var(--color-primary);
    border-radius: 50%;
    cursor: pointer;
    pointer-events: all;
}

.filtro-precio-inputs {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
}

.filtro-precio-input {
    width: 70px;
    padding: 4px 6px;
    border: 1px solid #ccc;
    border-radius: 6px;
    text-align: center;
    font-size: 13px;
    -moz-appearance: textfield;
}

.filtro-precio-input::-webkit-outer-spin-button,
.filtro-precio-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.filtro-precio-sep {
    color: #888;
    font-size: 13px;
}

/* === Catalog layout: filters + product grid === */
.catalogo-layout {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.catalogo-filtros-col {
    flex: 0 0 240px;
    width: 240px;
    position: sticky;
    top: calc(var(--height-header) + 10px);
    max-height: calc(100vh - var(--height-header) - 20px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 14px 10px 4px;
    box-sizing: border-box;
}

/* Styled scrollbar for sidebar */
.catalogo-filtros-col::-webkit-scrollbar {
    width: 5px;
}

.catalogo-filtros-col::-webkit-scrollbar-track {
    background: transparent;
}

.catalogo-filtros-col::-webkit-scrollbar-thumb {
    background: #d0d0d0;
    border-radius: 10px;
}

.catalogo-filtros-col::-webkit-scrollbar-thumb:hover {
    background: #b0b0b0;
}

.catalogo-filtros-col {
    scrollbar-width: thin;
    scrollbar-color: #d0d0d0 transparent;
}

.catalogo-productos-col {
    flex: 1;
    min-width: 0;
}

.catalogo-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}

.catalogo-grid-item {
    min-width: 0;
}

/* Bundles grid: 2 columns on mobile */
@media (max-width: 767px) {
    .bundles-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* === Desktop: hide mobile sidebar === */
@media (min-width: 768px) {
    .filtros-sidebar,
    .filtros-sidebar-overlay,
    .filtros-toggle-bar {
        display: none !important;
    }
}

/* Medium screens: 4 columns */
@media (max-width: 1200px) and (min-width: 768px) {
    .catalogo-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .catalogo-filtros-col {
        flex: 0 0 200px;
        width: 200px;
    }
}

/* === Mobile: off-canvas sidebar, hide inline column === */
@media (max-width: 767px) {
    .catalogo-layout {
        display: block;
    }

    .catalogo-filtros-col {
        display: none;
    }

    .catalogo-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .filtros-toggle-bar {
        display: block;
        padding: 0 15px 12px;
        width: 100%;
    }

    .filtros-sidebar-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.45);
        z-index: 1040;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .filtros-sidebar-overlay.open {
        display: block;
        opacity: 1;
    }

    .filtros-sidebar {
        position: fixed;
        top: 0;
        left: -320px;
        width: 300px;
        max-width: 85vw;
        height: 100%;
        background: #fff;
        z-index: 1050;
        box-shadow: 2px 0 12px rgba(0,0,0,0.15);
        transition: left 0.3s ease;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .filtros-sidebar.open {
        left: 0;
    }

    .filtros-sidebar-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 18px;
        border-bottom: 1px solid #f0f0f0;
        background: #fafbfc;
        flex-shrink: 0;
    }

    .filtros-sidebar-title {
        font-family: 'Montserrat', sans-serif;
        font-size: 15px;
        font-weight: 700;
        color: #333;
    }

    .filtros-sidebar-title i {
        color: #C23972;
        margin-right: 6px;
    }

    .filtros-sidebar-close {
        background: none;
        border: none;
        font-size: 20px;
        color: #888;
        cursor: pointer;
        padding: 4px 8px;
        line-height: 1;
        transition: color 0.2s ease;
    }

    .filtros-sidebar-close:hover {
        color: #C23972;
    }

    .filtros-sidebar-body {
        flex: 1;
        overflow-y: auto;
        padding: 16px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: #d0d0d0 transparent;
    }

    .filtros-sidebar-body::-webkit-scrollbar {
        width: 5px;
    }

    .filtros-sidebar-body::-webkit-scrollbar-track {
        background: transparent;
    }

    .filtros-sidebar-body::-webkit-scrollbar-thumb {
        background: #d0d0d0;
        border-radius: 10px;
    }

    .filtros-sidebar-body .filtros {
        border: none;
        border-radius: 0;
        background: transparent;
        padding: 0;
    }

    body.filtros-sidebar-open {
        overflow: hidden;
    }
}

.btn-filtros-toggle {
    background: #fafbfc;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    color: #444;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-filtros-toggle i {
    color: #C23972;
    margin-right: 6px;
}

.btn-filtros-toggle:hover {
    background: #f0f0f0;
    border-color: #C23972;
    color: #C23972;
}

/* === Catalog toolbar (sort + info above product grid) === */
.catalogo-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    margin-bottom: 12px;
    background: #f8f8f8;
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    gap: 12px;
    flex-wrap: wrap;
}

.catalogo-toolbar-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.catalogo-toolbar-total {
    font-size: 13px;
    font-weight: 600;
    color: #555;
    white-space: nowrap;
}

.catalogo-toolbar-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.catalogo-toolbar-select {
    height: 32px;
    padding: 4px 8px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
    background: #fff;
    color: #333;
    cursor: pointer;
    min-width: 0;
}

.catalogo-toolbar-select:focus {
    border-color: var(--color-primary);
    outline: none;
}

/* === Sidebar filter controls === */
.sidebar-filtro-grupo {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #ececec;
}

.sidebar-filtro-grupo:last-child {
    border-bottom: none;
}

.sidebar-filtro-grupo > .filtro-title {
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    color: #555;
    display: block;
    padding-bottom: 6px;
    margin-bottom: 8px;
    border-bottom: 2px solid var(--color-primary);
    letter-spacing: 0.5px;
}

.sidebar-filtro-input {
    width: 100%;
    height: 34px;
    padding: 5px 10px;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
    background: #fafafa;
    color: #333;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
    margin-top: 4px;
}

.sidebar-filtro-input:focus {
    border-color: var(--color-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(194, 57, 114, 0.08);
    outline: none;
}

.sidebar-filtro-select {
    width: 100%;
    height: 34px;
    padding: 5px 8px;
    border: 1px solid #d8d8d8;
    border-radius: 6px;
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
    background: #fafafa;
    color: #333;
    cursor: pointer;
    margin-top: 4px;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.sidebar-filtro-select:focus {
    border-color: var(--color-primary);
    background: #fff;
    outline: none;
}

.sidebar-filtro-toggles {
    display: flex;
    gap: 16px;
}

.sidebar-filtro-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sidebar-filtro-toggle label {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.sidebar-filtro-toggle input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 38px;
    height: 20px;
    min-width: 38px;
    background: #bbb;
    border-radius: 12px;
    border: none;
    position: relative;
    cursor: pointer;
    transition: background 0.25s ease;
    padding: 0;
    margin: 0;
    flex-shrink: 0;
    outline: none;
}

.sidebar-filtro-toggle input[type="checkbox"]::before {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    background: white;
    border-radius: 50%;
    transition: transform 0.25s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.sidebar-filtro-toggle input[type="checkbox"]:checked {
    background: linear-gradient(135deg, #e0498a 0%, #b5295f 100%);
}

.sidebar-filtro-toggle input[type="checkbox"]:checked::before {
    transform: translateX(18px);
}


/* Hide scrollbar for Chrome, Safari and Opera */
#brand_products .category-products::-webkit-scrollbar-track  {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    border-radius: 0;

}

#brand_products .category-products::-webkit-scrollbar-thumb {
    border-radius: 0;
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);

}

#brand_products .category-products::-webkit-scrollbar {
    width:8px;

}



h1.titulo-principal
{
    text-align: center;
    font-size: 2.0em;
    margin-bottom: 16px;
    border-left: 10px solid pink;
    border-right: 10px solid pink;
    text-transform: uppercase;
}

h2.titulo-secundario1
{
    text-align: left;
    font-size: 1.6em;
    margin-top: 32px;
    margin-bottom: 16px;
    text-transform: uppercase;
}

h2.titulo-secundario2 {
    text-align: left;
    font-size: 1.6em;
    margin-bottom: 16px;
    margin-top: 32px;
    text-transform: uppercase;
}


@media all and (max-width: 990px) {
    h1.titulo-principal {
        font-size: 1.2em;}

    h2.titulo-secundario1 {
        font-size: 1.2em;
    }

    h2.titulo-secundario2 {
        font-size: 1.2em;
    }
}


@media all and (max-width: 990px) {

    .busqueda-form input[type="text"], select {
        height: 32px;
    }

    .busqueda-form .espacio-stock {
        margin-bottom: 4px !important;
    }
}


footer {
    font-family: 'Montserrat', sans-serif;
    position: relative;
}

footer > * {
    margin: 0;
    padding: 15px 32px;
}

@media all and (max-width: 990px) {
    footer > * {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

/* ---- Top accent line ---- */
.footer-arriba {
    background-color: #2A2C4C;
    border-top: 3px solid #6C6FE0;
    padding-top: 24px;
    padding-bottom: 24px;
}

/* ---- Main footer content ---- */
.footer-medio {
    background-color: #363966;
    font-size: var(--font-size-medium);
    padding-top: 40px;
    padding-bottom: 40px;
    background-image: linear-gradient(180deg, #3d4078 0%, #363966 20%);
}

/* ---- Bottom bar ---- */
.footer-abajo {
    background-color: #2A2C4C;
    padding: 16px 32px;
    text-align: center;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-abajo a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-abajo a:hover {
    color: #fff;
}

/* ---- Google rating badge (product detail inline) ---- */
.product-reviews-box {
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: 8px;
    padding: 14px 16px;
    margin-top: 14px;
    background: #fff;
}

.product-reviews-box__header {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    text-decoration: none;
    margin-bottom: 12px;
}

.product-reviews-box__stars {
    color: #FFD700;
    font-size: 1.05rem;
    letter-spacing: 1px;
}

.product-reviews-box__score {
    font-size: 0.95rem;
    font-weight: 700;
    color: #222;
}

.product-reviews-box__sep {
    color: #777;
    font-size: 0.88rem;
}

.product-reviews-box__logo {
    height: 15px;
    vertical-align: middle;
}

.product-reviews-box__count {
    font-size: 0.82rem;
    color: #555;
    font-weight: 600;
}

.product-reviews-box__scroll {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: thin;
    scrollbar-color: #ddd transparent;
}
.product-reviews-box__scroll::-webkit-scrollbar { height: 3px; }
.product-reviews-box__scroll::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }

.product-reviews-box__card {
    flex: 0 0 220px;
    background: #f7f8fa;
    border-radius: 6px;
    padding: 10px 12px;
    border: 1px solid #eee;
}

.product-reviews-box__author {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.product-reviews-box__photo {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.product-reviews-box__name {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #222;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 130px;
}

.product-reviews-box__name:hover {
    text-decoration: underline;
}

.product-reviews-box__time {
    display: block;
    font-size: 0.72rem;
    color: #888;
}

.product-reviews-box__text {
    font-size: 0.78rem;
    color: #444;
    line-height: 1.5;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* extra reviews — subtle horizontal scroll strip */




/* ---- Google Maps Reviews strip ---- */
.footer__google-reviews {
    background-color: #222448;
    padding: 22px 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    overflow: hidden;
}

.google-reviews__container {
    max-width: 1200px;
    margin: 0 auto;
}

.google-reviews__header {
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
}

.google-reviews__aggregate {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.google-reviews__rating-number {
    font-size: 1.35rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

.google-reviews__stars {
    color: #FFD700;
    font-size: 1.1rem;
    letter-spacing: 1px;
}

.google-reviews__count {
    color: rgba(255, 255, 255, 0.65);
    font-size: 0.88rem;
    text-decoration: underline;
}

.google-reviews__count:hover {
    color: #fff;
}

.google-reviews__powered {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.45);
}

.google-reviews__google-logo {
    height: 16px;
    filter: brightness(0) invert(1) opacity(0.5);
}

.google-reviews__list {
    display: flex;
    flex-wrap: nowrap;
    gap: 14px;
    overflow-x: auto;
    padding-bottom: 6px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.google-reviews__list::-webkit-scrollbar {
    height: 4px;
}
.google-reviews__list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
}

.google-reviews__item {
    flex: 0 0 240px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 8px;
    padding: 13px 15px;
}

.google-reviews__author {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 7px;
}

.google-reviews__author-photo {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.google-reviews__author-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.google-reviews__author-name {
    color: #fff;
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.google-reviews__author-name:hover {
    text-decoration: underline;
}

.google-reviews__time {
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.72rem;
}

.google-reviews__item-stars {
    display: block;
    color: #FFD700;
    font-size: 0.82rem;
    letter-spacing: 1px;
    margin-bottom: 6px;
}

.google-reviews__text {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.78rem;
    line-height: 1.55;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 768px) {
    .footer__google-reviews {
        padding: 18px 1.5rem;
    }
    .google-reviews__item {
        flex: 0 0 210px;
    }
    .google-reviews__aggregate {
        gap: 7px;
    }
}

/* ---- Footer text colors ---- */
footer, footer a {
    color: rgba(255, 255, 255, 0.85);
}

footer a {
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
}

footer a:hover {
    color: #fff;
    text-decoration: none;
}

/* ---- Section & column headers ---- */
.footer__footer-header {
    color: white;
    margin: 0;
    font-size: var(--font-size-14px);
    font-weight: 600;
}

.footer__lista-links-header {
    font-weight: 700;
    color: #fff;
    font-size: 1.05em;
    margin-bottom: 16px;
    padding-bottom: 10px;
    position: relative;
}

.footer__lista-links-header::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 36px;
    height: 2px;
    background: #6C6FE0;
    border-radius: 2px;
}

/* ---- Link lists ---- */
.footer__lista-links {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.footer__lista-links li {
    margin-top: 10px;
}

.footer__lista-links li a {
    position: relative;
    padding-left: 0;
    transition: padding-left 0.2s ease, color 0.2s ease;
}

.footer__lista-links li a:hover {
    padding-left: 6px;
    color: #fff;
}

/* ---- Contact text ---- */
.footer__columna__texto {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.7;
}

/* ---- Social media icons ---- */
.footer__red-social {
    width: 24px;
    height: 24px;
    margin-right: 6px;
    padding: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    transition: background 0.2s ease, transform 0.2s ease;
    box-sizing: content-box;
}

.footer__red-social:hover {
    background: rgba(108, 111, 224, 0.5);
    transform: translateY(-2px);
}

/* ---- Payment method icons ---- */
.footer__metodo-pago {
    width: 48px;
    height: 48px;
    margin-top: 8px;
    margin-right: 10px;
}

/* ---- Trust badge icons (top row) ---- */
.footer__logos {
    margin-top: 0;
    display: flex;
    max-width: 960px;
    flex-direction: row;
    margin-left: auto;
    margin-right: auto;
    gap: 0;
}

.footer__logos > * {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    justify-content: flex-start;
    text-align: center;
    font-size: var(--font-size-14px);
    padding: 10px 16px;
    position: relative;
    transition: transform 0.2s ease;
}

.footer__logos > *:hover {
    transform: translateY(-3px);
}

/* subtle column dividers between trust badges */
.footer__logos > *:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    height: 60%;
    width: 1px;
    background: rgba(255, 255, 255, 0.12);
}

.footer__logos > div > p {
    margin-top: 12px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.3;
}

.footer__logo-principal {
    width: 72px;
    height: 72px;
    filter: brightness(1.05);
}

/* ---- Footer columns ---- */
.footer__columna-movil {
    padding: 0 15px !important;
}

/* ---- Responsive ---- */
@media all and (max-width: 992px) {

    .footer__logos {
        margin-top: 0;
        flex-wrap: wrap;
        justify-content: center;
    }

    .footer__logos p {
        display: none;
    }

    .footer__logos > *:not(:last-child)::after {
        display: none;
    }

    .footer__logo-principal {
        width: 36px;
        height: 36px;
        margin-right: 0;
    }

    .footer__logos > * {
        padding: 8px 12px;
        flex: 0 0 auto;
    }

    .footer__columna-movil {
        margin-bottom: 28px !important;
        padding: 0 15px !important;
    }

    .footer__columna__texto {
        margin-bottom: 28px !important;
    }

    .footer-medio {
        padding-top: 28px;
        padding-bottom: 12px;
    }
}

.category-products .panel {
    margin-top: 0 !important;
    padding-top: 3px;
}

.disable-select {
    user-select: none; /* supported by Chrome and Opera */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
}


.reparaciones-container {
    background-image: url("/static/images/reparacion/214.png");
    background-position: center;

    background-size: cover;
    color: black;


    /*
        box-shadow: 10px 10px 78px 27px rgba(202, 33, 152, 0.80);
        -webkit-box-shadow: 10px 10px 78px 27px rgba(202, 33, 152, 0.80);
        -moz-box-shadow: 10px 10px 78px 27px rgba(202, 33, 152, 0.80);
        filter: blur(8px);
        -webkit-filter: blur(8px);

        */

    object-fit: fill;




}


.reparaciones__descripcion-box {
    padding: 4px 8px;
}

.reparaciones__row {
    padding: 8px 0 0 0 !important;
}

.reparaciones__title {
    text-align: center;
    font-size: var(--font-size-36px);
    text-decoration: underline;
    color: black;
}

.reparaciones__descripcion {
    font-size: var(--font-size-large-minus);
    padding: 20px;
}


.reparaciones__form-container {
    padding: 10px !important;
}


.reparaciones__form-container, .reparaciones__form-container .form-group {
    /*background-color: rgba(165, 31, 125, 0.6);*/
    /*background-color: #c6d9fd;*/
    color: black;
    opacity: 1;
    padding: 4px 20px 4px 20px;

    margin-bottom: 0 !important;
    /*border-left:  2px gray solid ;*/


}

.reparaciones__form-container input, .reparaciones__form-container select, .reparaciones__form-container textarea  {
    margin-bottom: 24px !important;

}

.reparaciones__form-container .reparaciones__form-container__titulo {
    text-align: center;
    font-size: var(--font-size-36px);
    color: black;
}


.dispositivos-escritorio.slick-slider {
    /* Removed hardcoded margins - spacing now controlled by CMS espaciado component */
    /*
        margin-left: -15px !important;
        margin-right: -15px !important;
        margin-bottom: 8px;
    */
}

.eliminar_form {
    margin-right: 8px;
    display: inline-block;
}

.carrito-holder {
    display: flex;
    flex-direction: column;
}

/* Empty cart */
.carrito-vacio {
    text-align: center;
    padding: 60px 20px;
    background: #f9f9f9;
    border-radius: 14px;
    border: 2px dashed var(--color-border-secondary);
}

.carrito-vacio-content {
    margin: 0 auto;
    max-width: 320px;
}

.carrito-vacio-content .icon-container {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f0f0f0, #e0e0e0);
    border-radius: 50%;
    width: 100px;
    height: 100px;
    margin-bottom: 20px;
}

.carrito-vacio-content .icon-container i {
    font-size: 2.5rem;
    color: #888;
}

.carrito-vacio h2 {
    color: #333;
    font-size: var(--font-size-large);
    font-weight: 700;
    margin-bottom: 8px;
}

.carrito-vacio p {
    color: #777;
    font-size: var(--font-size-medium);
}

/* Cart item card */
.carrito-item {
    background: #fff;
    border: 1px solid var(--color-border-primary);
    border-radius: 12px;
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 14px 16px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
    transition: box-shadow 0.2s;
}

.carrito-item:hover {
    box-shadow: 0 3px 12px rgba(0,0,0,0.1);
}

.carrito-item .carrito-item__image {
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carrito-item .carrito-item__image > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
}

@media all and (min-width: 990px)  {
    #header .line1 .shop-menu {
        margin-left: 24px;
    }

}

/* Product info (name + availability) — grows to fill */
.carrito-item .carrito-item__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.carrito-item .carrito-item__nombre {
    font-size: var(--font-size-medium-plus);
    font-weight: 600;
    line-height: 1.35;
}

.carrito-item .carrito-item__nombre a {
    color: #222;
    text-decoration: none;
}

.carrito-item .carrito-item__nombre a:hover {
    color: var(--color-primary);
}

.carrito-item .carrito-item__disponibilidad {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: var(--font-size-small);
    color: #666;
}

.carrito-item .carrito-item__disponibilidad-tienda {
    font-size: 0.75rem;
    color: #999;
}

/* Right column: price + controls */
.carrito-item .carrito-item__side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
    flex-shrink: 0;
    min-width: 120px;
}

.carrito-item .carrito-item__precio {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.carrito-item .carrito-item__precio-total {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--color-primary);
}

.carrito-item .carrito-item__precio-unitario {
    font-size: 0.78rem;
    color: #999;
    font-weight: 400;
}

.carrito-item .carrito-item__controles {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Quantity controls (within cart items) */
.carrito-item .cart_quantity_button {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--color-border-secondary);
    border-radius: 8px;
    overflow: hidden;
}

.carrito-item .cart_quantity_button a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #f5f5f5;
    color: #444;
    font-size: 1.1rem;
    font-weight: 600;
    float: none;
    text-decoration: none;
    overflow: visible;
    transition: background 0.15s, color 0.15s;
}

.carrito-item .cart_quantity_button a:hover {
    background: var(--color-primary);
    color: #fff;
}

.carrito-item .cart_quantity_input {
    width: 44px;
    height: 32px;
    text-align: center;
    border: none;
    border-left: 1px solid var(--color-border-secondary);
    border-right: 1px solid var(--color-border-secondary);
    font-size: var(--font-size-medium);
    font-family: 'Montserrat', sans-serif;
    color: #222;
    float: none;
    background: #fff;
}

.carrito-item .cart_quantity_delete {
    color: #bbb;
    font-size: 1rem;
    padding: 6px 10px;
    transition: color 0.15s;
    text-decoration: none;
}

.carrito-item .cart_quantity_delete:hover {
    color: #e74c3c;
}

/* ── Carrito – Cabecera ─────────────────────────────────────── */
.carrito-cabecera {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 0 12px 0;
    border-bottom: 1px solid var(--color-border-primary, #E6E4DF);
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.carrito-cabecera__titulo {
    flex: 1;
    min-width: 0;
}

.carrito-titulo {
    margin: 0;
    font-size: 1.4rem;
    font-weight: 700;
    color: #333;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.carrito-titulo i {
    color: var(--color-primary, #C23972);
}

.carrito-titulo__codigo {
    font-size: 0.85rem;
    font-weight: 500;
    color: #888;
    background: #f4f4f4;
    padding: 3px 10px;
    border-radius: 12px;
    letter-spacing: 0.02em;
}

.carrito-titulo__badge {
    font-size: 0.72rem;
    font-weight: 600;
    color: #fff;
    background: var(--color-primary, #C23972);
    padding: 3px 8px;
    border-radius: 10px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.carrito-cabecera__acciones {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* ── Carrito Buttons ─────────────────────────────────────────── */
.carrito-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 18px;
    border-radius: 8px;
    font-size: 0.875rem;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    border: none;
    transition: all 0.18s ease;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.4;
}

.carrito-btn--secondary {
    background: var(--color-primary, #C23972);
    color: #fff;
}

.carrito-btn--secondary:hover,
.carrito-btn--secondary:focus {
    background: var(--color-primary-dark, #BC2361);
    transform: translateY(-1px);
    color: #fff;
    text-decoration: none;
}

.carrito-btn--outline {
    background: transparent;
    color: var(--color-primary, #C23972);
    border: 2px solid var(--color-primary, #C23972);
}

.carrito-btn--outline:hover,
.carrito-btn--outline:focus {
    background: var(--color-primary, #C23972);
    color: #fff;
    transform: translateY(-1px);
    text-decoration: none;
}

/* ── Dropdown ────────────────────────────────────────────────── */
.carrito-dropdown {
    position: relative;
}

.carrito-dropdown__menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 200;
    background: #fff;
    border: 1px solid var(--color-border-primary, #E6E4DF);
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.1);
    list-style: none;
    margin: 0;
    padding: 6px 0;
    min-width: 200px;
}

.carrito-dropdown.open .carrito-dropdown__menu {
    display: block;
}

.carrito-dropdown__menu li a {
    display: block;
    padding: 9px 16px;
    color: #333;
    font-size: 0.875rem;
    text-decoration: none;
    transition: background 0.15s;
}

.carrito-dropdown__menu li a:hover {
    background: #f7f7f7;
    color: var(--color-primary, #C23972);
}

/* ── Carrito Modal ───────────────────────────────────────────── */
.carrito-modal {
    border-radius: 12px;
    overflow: hidden;
    border: none;
}

.carrito-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    background: linear-gradient(135deg, var(--color-primary, #C23972) 0%, var(--color-primary-dark, #BC2361) 100%);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
}

.carrito-modal__close {
    background: none;
    border: none;
    color: rgba(255,255,255,0.8);
    font-size: 1.4rem;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
    transition: color 0.15s;
}

.carrito-modal__close:hover {
    color: #fff;
}

.carrito-modal__body {
    padding: 16px 20px;
    max-height: 400px;
    overflow-y: auto;
}

.carrito-modal__footer {
    display: flex;
    justify-content: flex-end;
    padding: 12px 20px;
    border-top: 1px solid var(--color-border-primary, #E6E4DF);
    gap: 10px;
}

.carrito-modal__lista {
    list-style: none;
    margin: 0;
    padding: 0;
}

.carrito-modal__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--color-border-primary, #E6E4DF);
    gap: 12px;
}

.carrito-modal__item:last-child {
    border-bottom: none;
}

.carrito-modal__codigo {
    font-size: 0.875rem;
    font-weight: 600;
    color: #333;
    flex: 1;
}

.carrito-modal__opciones {
    display: flex;
    align-items: center;
    gap: 8px;
}

.carrito-modal__opciones a {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--color-primary, #C23972);
    text-decoration: none;
    padding: 4px 10px;
    border-radius: 6px;
    transition: background 0.15s;
}

.carrito-modal__opciones a:hover {
    background: #fef0f5;
}

.carrito-modal__eliminar {
    color: #bbb !important;
    font-size: 0.9rem;
}

.carrito-modal__eliminar:hover {
    color: #e74c3c !important;
    background: #fdf2f0 !important;
}

/* ── Aviso pedido (delivery estimate) ───────────────────────── */
.aviso-pedido {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f0f9f4;
    border-left: 4px solid #27ae60;
    border-radius: 0 8px 8px 0;
    padding: 12px 16px;
    margin: 16px 0;
    font-size: 0.875rem;
    color: #1a6f3c;
}

.aviso-pedido i {
    flex-shrink: 0;
    font-size: 1rem;
    color: #27ae60;
}

/* ── Carrito aviso horario ───────────────────────────────────── */
.carrito-aviso-horario {
    display: flex;
    gap: 16px;
    background: #fffbf0;
    border: 1px solid #f0d080;
    border-left: 4px solid #e6a817;
    border-radius: 10px;
    padding: 16px 20px;
    margin: 20px 0;
}

.carrito-aviso-horario__icon {
    flex-shrink: 0;
    font-size: 1.6rem;
    color: #e6a817;
    padding-top: 2px;
}

.carrito-aviso-horario__contenido {
    flex: 1;
    font-size: 0.875rem;
    color: #5a4a00;
    line-height: 1.5;
}

.carrito-aviso-horario__contenido strong {
    display: block;
    font-size: 0.9rem;
    margin-bottom: 6px;
    color: #3d3200;
}

.carrito-aviso-horario__contenido ul {
    margin: 6px 0;
    padding-left: 18px;
}

.carrito-aviso-horario__contenido ul li {
    margin-bottom: 3px;
    list-style: disc !important;
}

.carrito-aviso-horario__contenido p {
    margin: 8px 0 0;
    font-size: 0.82rem;
    color: #7a6a20;
}

/* ── Carrito alerta ──────────────────────────────────────────── */
.carrito-alerta {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 10px;
    font-size: 0.875rem;
    font-weight: 500;
}

.carrito-alerta--error {
    background: #fff0f0;
    border: 1px solid #f8caca;
    border-left: 4px solid #e74c3c;
    color: #b33;
}

.carrito-alerta i {
    flex-shrink: 0;
    font-size: 1.1rem;
}

/* ── Panel Form Modernization ────────────────────────────────── */
.panel-form {
    background: #fff;
    border: 1px solid #e8e6e1;
    border-radius: 14px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    padding: 28px 32px 32px;
    margin: 16px auto 24px;
    max-width: 1100px;
}

.panel-form h2 {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--color-primary);
    margin: 0 0 24px;
    padding-bottom: 14px;
    border-bottom: 2px solid #f0f0f0;
}

.panel-form .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 24px;
}

.panel-form .form-group {
    margin-bottom: 0;
}

.panel-form .form-group label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #555;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.panel-form .form-group .form-control {
    border: 1px solid var(--color-border-primary);
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 0.9rem;
    transition: border-color 0.15s, box-shadow 0.15s;
    background: #fafafa;
    height: auto;
    line-height: 1.4;
}

.panel-form .form-group select.form-control {
    padding-right: 30px;
    appearance: auto;
    -webkit-appearance: auto;
}

.panel-form .form-group .form-control:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(194, 57, 114, 0.1);
    background: #fff;
}

.panel-form .form-group.has-error .form-control {
    border-color: #e74c3c;
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1);
}

.panel-form .form-group.has-error label {
    color: #e74c3c;
}

.panel-form .form-group .help-inline {
    display: block;
    font-size: 0.78rem;
    color: #e74c3c;
    margin-top: 4px;
}

.panel-form .form-actions {
    grid-column: 1 / -1;
    padding-top: 12px;
    border-top: 1px solid #f0f0f0;
    margin-top: 4px;
}

.panel-form .btn-primary {
    background: var(--color-primary);
    border: none;
    border-radius: 10px;
    padding: 12px 32px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
}

.panel-form .btn-primary:hover {
    background: var(--color-primary-dark);
    transform: translateY(-1px);
}

@media (max-width: 767px) {
    .panel-form {
        padding: 20px 16px;
        margin: 8px 0 16px;
    }

    .panel-form .form-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

}

/* ─── Panel Dashboard ───────────────────────────── */

.panel-dashboard {
    max-width: 1100px;
    margin: 28px auto 0;
}

.panel-dashboard__welcome {
    background: linear-gradient(135deg, #1565c0 0%, #0d47a1 50%, #0a2d6e 100%);
    border-radius: 14px;
    padding: 32px 36px;
    margin-bottom: 24px;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.panel-dashboard__welcome-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.panel-dashboard__title {
    font-size: var(--font-size-xxxl);
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.panel-dashboard__greeting {
    font-size: var(--font-size-medium-plus);
    color: rgba(255,255,255,0.85);
    margin: 6px 0 0;
}

.panel-dashboard__meta {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.panel-dashboard__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255,255,255,0.18);
    border-radius: 8px;
    padding: 6px 14px;
    font-size: var(--font-size-14px);
    color: #fff;
    font-weight: 500;
    white-space: nowrap;
}

.panel-dashboard__badge i {
    font-size: var(--font-size-small-plus);
    opacity: 0.8;
}

.panel-dashboard__mode-form {
    margin: 0;
}

.panel-dashboard__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 34px;
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 8px;
    padding: 7px 14px;
    background: rgba(255,255,255,0.18);
    color: #fff;
    font-size: var(--font-size-14px);
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.panel-dashboard__action:hover,
.panel-dashboard__action:focus {
    background: #fff;
    border-color: #fff;
    color: var(--color-primary-dark);
}

.panel-dashboard__action--light {
    background: #fff;
    border-color: #fff;
    color: #174b8f;
}

.panel-dashboard__action--light:hover,
.panel-dashboard__action--light:focus {
    background: #eef5ff;
    border-color: #d7e7ff;
    color: #0d356d;
}

/* Info cards inside welcome header */
.panel-dashboard__welcome-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.2);
}

.panel-dashboard__info-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 10px;
    padding: 14px 16px;
}

.panel-dashboard__info-icon {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: rgba(255,255,255,0.2);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

.panel-dashboard__info-body {
    min-width: 0;
}

.panel-dashboard__info-label {
    font-size: var(--font-size-small);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: rgba(255,255,255,0.65);
    font-weight: 600;
    margin-bottom: 2px;
}

.panel-dashboard__info-value {
    font-size: var(--font-size-medium);
    font-weight: 600;
    color: #fff;
    word-break: break-word;
}

.panel-dashboard__info-detail {
    font-size: var(--font-size-14px);
    color: rgba(255,255,255,0.75);
    margin-top: 3px;
}

.panel-dashboard__info-detail i {
    width: 14px;
    text-align: center;
    opacity: 0.8;
}

/* Legacy info-row kept for potential reuse */
.panel-dashboard__info-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 24px;
}

.panel-info-card {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #fff;
    border: 1px solid var(--color-border-primary);
    border-radius: 12px;
    padding: 20px;
    transition: box-shadow 0.15s;
}

.panel-info-card:hover {
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.panel-info-card__icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.panel-info-card__body {
    min-width: 0;
}

.panel-info-card__label {
    font-size: var(--font-size-small);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #888;
    font-weight: 600;
    margin-bottom: 2px;
}

.panel-info-card__value {
    font-size: var(--font-size-medium);
    font-weight: 600;
    color: #222;
    word-break: break-word;
}

.panel-info-card__detail {
    font-size: var(--font-size-14px);
    color: #666;
    margin-top: 3px;
}

.panel-info-card__detail i {
    width: 14px;
    text-align: center;
    color: var(--color-primary);
}

/* Navigation sections */
.panel-dashboard__sections {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: start;
}

.panel-section--wide {
    grid-column: 1 / -1;
}

.panel-section {
    background: #fff;
    border: 1px solid var(--color-border-primary);
    border-radius: 14px;
    overflow: hidden;
}

.panel-section__header {
    padding: 14px 20px;
    font-size: var(--font-size-medium);
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
}

.panel-section__links {
    display: flex;
    flex-direction: column;
}

.panel-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    color: #333;
    text-decoration: none;
    font-size: var(--font-size-medium);
    border-bottom: 1px solid #f5f5f5;
    transition: background 0.12s, color 0.12s;
}

.panel-link:last-child {
    border-bottom: none;
}

.panel-link:hover {
    background: #fdf2f7;
    color: var(--color-primary);
    text-decoration: none;
}

.panel-link i:first-child {
    width: 20px;
    text-align: center;
    color: var(--color-primary);
    font-size: 0.85rem;
}

.panel-link span {
    flex: 1;
}

.panel-link__arrow {
    font-size: 0.65rem;
    color: #ccc;
    transition: color 0.12s, transform 0.12s;
}

.panel-link:hover .panel-link__arrow {
    color: var(--color-primary);
    transform: translateX(3px);
}

.panel-link--logout:hover {
    background: #fff5f5;
    color: #c0392b;
}

.panel-link--logout i:first-child {
    color: #c0392b;
}

.panel-form--mascara {
    max-width: none;
    margin: 0;
    padding: 24px 28px 26px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.mascara-form-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px 18px;
    align-items: end;
}

.mascara-form-grid--rule {
    grid-template-columns: minmax(150px, 1fr) minmax(170px, 1fr) minmax(190px, 1.1fr) minmax(110px, 0.55fr) minmax(112px, auto);
    gap: 16px;
}

.mascara-field--span-1 { grid-column: span 1; }
.mascara-field--span-2 { grid-column: span 2; }
.mascara-field--span-3 { grid-column: span 3; }
.mascara-field--span-4 { grid-column: span 4; }
.mascara-field--span-6 { grid-column: span 6; }
.mascara-field--span-12 { grid-column: span 12; }

.mascara-form-grid--rule > .form-group {
    grid-column: auto;
}

.panel-form--mascara .form-group {
    min-width: 0;
}

.panel-form--mascara .form-group label {
    min-height: 16px;
    line-height: 1.25;
}

.panel-form--mascara .form-control {
    width: 100%;
    min-height: 42px;
}

.mascara-logo-upload {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
    min-width: 0;
}

.mascara-logo-upload__preview {
    width: 112px;
    height: 42px;
    flex: 0 0 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    background: #fff;
    border: 1px solid #dfe4ea;
    border-radius: 4px;
}

.mascara-logo-upload__preview img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.mascara-logo-upload__input {
    flex: 1 1 220px;
    min-width: 0;
    padding-top: 8px;
    padding-bottom: 8px;
}

.mascara-form-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-start;
    padding-top: 2px;
}

.panel-form--mascara .panel-form__button-col {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

.panel-form--mascara .panel-form__button-col .btn {
    width: 42px;
    min-width: 42px;
    height: 42px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.panel-form--mascara .mascara-rule-submit:hover,
.panel-form--mascara .mascara-rule-submit:focus {
    color: #fff;
}

.panel-form--mascara .panel-form__button-col .btn.mascara-rule-submit {
    width: 100%;
    min-width: 112px;
    gap: 6px;
    padding: 0 14px;
}

/* Panel form helpers */
.panel-form__desc {
    font-size: 0.88rem;
    color: #666;
    margin: 0 0 20px;
    line-height: 1.5;
}

.panel-form__subtitle {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    margin: 0 0 16px;
}

.panel-form__divider {
    border: none;
    border-top: 2px solid #f0f0f0;
    margin: 24px 0;
}

.panel-form__fieldset {
    border: 1px solid var(--color-border-primary);
    border-radius: 10px;
    padding: 16px 20px;
    margin: 0;
}

.panel-form__legend {
    font-size: 0.85rem;
    font-weight: 600;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 0 8px;
    width: auto;
    border: none;
    margin-bottom: 8px;
}

.panel-form__checkbox {
    display: flex !important;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem !important;
    font-weight: 400 !important;
    color: #333 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer;
    padding: 8px 14px;
    margin: 0;
    border: 1px solid var(--color-border-primary);
    border-radius: 10px;
    background: #fafafa;
    transition: border-color 0.15s, background 0.15s;
    user-select: none;
    width: auto;
}

.panel-form__checkbox:hover {
    border-color: var(--color-primary);
    background: #fdf2f7;
}

.panel-form__checkbox input[type="checkbox"],
.panel-form__checkbox input[type="radio"] {
    accent-color: var(--color-primary);
    width: 18px;
    height: 18px;
    margin: 0;
    cursor: pointer;
    flex-shrink: 0;
}

.form-grid__full {
    grid-column: 1 / -1;
}

/* Panel tables */
.panel-table-wrap {
    overflow-x: auto;
    margin-top: 8px;
}

.panel-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.panel-table thead th {
    background: #fafafa;
    font-weight: 600;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    font-size: 0.78rem;
    padding: 10px 14px;
    border-bottom: 2px solid #f0f0f0;
    text-align: left;
}

.panel-table tbody td {
    padding: 12px 14px;
    border-bottom: 1px solid #f5f5f5;
    color: #333;
}

.panel-table tbody tr:hover {
    background: #fdf2f7;
}

.panel-table__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.panel-table__link {
    color: var(--color-primary);
    font-size: 0.82rem;
    text-decoration: none;
    white-space: nowrap;
}

.panel-table__link:hover {
    text-decoration: underline;
}

.panel-table__link--danger {
    color: #c0392b;
}

.panel-table__link--danger:hover {
    color: #e74c3c;
}

@media (max-width: 767px) {
    .panel-dashboard {
        overflow-x: hidden;
    }

    /* Remove column padding so hero can be truly full-bleed */
    section:has(.panel-dashboard) > .container-fluid > .row > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

    .panel-dashboard__welcome {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        padding: 20px 16px 20px;
        border-radius: 0;
        margin-bottom: 0;
        gap: 14px;
    }

    .panel-dashboard__welcome-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .panel-dashboard__title {
        font-size: 1.25rem;
    }

    .panel-dashboard__greeting {
        font-size: 0.85rem;
    }

    .panel-dashboard__meta {
        width: 100%;
    }

    .panel-dashboard__mode-form {
        width: 100%;
    }

    .panel-dashboard__action {
        width: 100%;
        min-height: 38px;
    }

    .panel-dashboard__badge {
        font-size: 0.72rem;
        padding: 5px 10px;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .panel-dashboard__welcome-info {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .panel-dashboard__info-item {
        padding: 12px 14px;
        gap: 10px;
    }

    /* Re-add side padding to non-hero sections */
    .panel-dashboard__sections {
        padding: 16px 16px 0;
    }

    .panel-dashboard__sections {
        grid-template-columns: 1fr;
        padding-bottom: 16px;
    }

    .panel-section__header {
        font-size: 0.85rem;
        padding: 12px 16px;
    }

    .panel-form--mascara {
        padding: 20px 16px 22px;
    }

    .mascara-form-grid {
        gap: 14px;
    }

    .mascara-form-grid--rule {
        grid-template-columns: 1fr;
    }

    .mascara-field--span-1,
    .mascara-field--span-2,
    .mascara-field--span-3,
    .mascara-field--span-4,
    .mascara-field--span-6,
    .mascara-field--span-12 {
        grid-column: 1 / -1;
    }

    .panel-form--mascara .panel-form__button-col {
        justify-content: flex-start;
    }

    .panel-form--mascara .panel-form__button-col .btn {
        width: 100%;
    }

    .panel-table__actions {
        flex-direction: column;
        gap: 6px;
    }

    .pedido-header__meta {
        grid-template-columns: 1fr 1fr;
    }

    .pedido-header__actions {
        gap: 8px;
    }
}

/* ─── End Panel Dashboard ───────────────────────── */

/* ─── Panel Radio Buttons Fix ───────────────────── */
.panel-form .form-group label.radio {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    font-weight: 400;
    color: #333;
    text-transform: none;
    letter-spacing: 0;
    padding: 10px 16px;
    margin-bottom: 0;
    border: 1px solid var(--color-border-primary);
    border-radius: 10px;
    background: #fafafa;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}

.panel-form .form-group label.radio:hover {
    border-color: var(--color-primary);
    background: #fdf2f7;
}

.panel-form .form-group label.radio input[type="radio"].form-control {
    all: revert;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--color-primary);
    cursor: pointer;
    border: none;
    box-shadow: none;
    background: none;
    padding: 0;
    flex-shrink: 0;
}

.panel-form .form-group label.radio + label.radio {
    margin-top: 8px;
}
/* ─── End Panel Radio Buttons Fix ───────────────── */

/* ─── Panel JS-Generated Tables Modernization ──── */
.pedidos-holder {
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 24px;
}

.pedido-holder {
    border: 1px solid var(--color-border-primary);
    border-radius: 14px;
    overflow: hidden;
    margin: 0 0 20px 0;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    background: #fff;
}

.pedido-header {
    padding: 16px 20px 0;
    background: #f8f8f6;
    border-bottom: 1px solid #eee;
}

.pedido-header__meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px 20px;
    margin-bottom: 14px;
}

.pedido-meta-item {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.pedido-meta-item__label {
    font-size: var(--font-size-small);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #888;
}

.pedido-meta-item__value {
    color: #222;
    font-size: var(--font-size-14px);
    font-weight: 500;
    line-height: 1.4;
}

.pedido-header__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 0 14px;
    border-top: 1px solid #eee;
    flex-wrap: wrap;
}

.pedido-repetir {
    background: var(--color-primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 18px;
    font-size: var(--font-size-small-plus);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
}

.pedido-repetir:hover {
    background: var(--color-primary-dark);
    transform: translateY(-1px);
}

.pedido-cancelar {
    background: #e74c3c;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 18px;
    font-size: var(--font-size-small-plus);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}

.pedido-cancelar:hover {
    background: #c0392b;
}

.pedido-body {
    padding: 0;
}

.pedido-body .table-responsive {
    width: 100%;
    margin: 0;
}

.tabla-pedidos {
    border-collapse: collapse;
    margin: 0;
    width: 100%;
}

.tabla-pedidos thead tr.cart_menu {
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
}

.tabla-pedidos thead tr.cart_menu td {
    color: #fff;
    font-weight: 600;
    font-size: var(--font-size-small);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 12px 14px;
    border: none;
}

.tabla-pedidos tbody td {
    padding: 10px 14px;
    border-bottom: 1px solid #f5f5f5;
    color: #333;
    vertical-align: middle;
    font-size: var(--font-size-14px);
}

.tabla-pedidos tbody tr:hover {
    background: #fdf2f7;
}

.tabla-pedidos tbody td .nombre_producto a {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: 500;
}

.tabla-pedidos tbody td .nombre_producto a:hover {
    text-decoration: underline;
}

.tabla-pedidos tbody td p {
    margin: 0;
}

.pedido-art-codigo {
    font-size: var(--font-size-small);
    color: #999;
    margin: 2px 0 0;
}
.rma-holder {
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 24px;
}

.rma-eliminar-link {
    color: #e74c3c;
    font-size: var(--font-size-small-plus);
    font-weight: 600;
    text-decoration: none;
}

.rma-eliminar-link:hover {
    color: #c0392b;
    text-decoration: underline;
}
/* ─── End Panel JS-Generated Tables ─────────────── */

/* ─── Auth Pages (passreset, migracion-usuario) ─── */
.auth-centered-page {
    display: flex;
    justify-content: center;
    padding: 40px 0 60px;
}

.auth-card {
    background: #fff;
    border: 1px solid #e8e6e1;
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
    padding: 40px 36px 36px;
    width: 100%;
    max-width: 460px;
    text-align: center;
}

.auth-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    color: #fff;
    font-size: 1.6rem;
    margin-bottom: 20px;
}

.auth-card__icon--success {
    background: linear-gradient(135deg, #27ae60, #1e8449);
}

.auth-card__icon--error {
    background: linear-gradient(135deg, #e74c3c, #c0392b);
}

.auth-card__title {
    font-size: 1.4rem;
    font-weight: 700;
    color: #333;
    margin: 0 0 10px;
}

.auth-card__desc {
    font-size: 0.9rem;
    color: #777;
    line-height: 1.5;
    margin: 0 0 24px;
}

.auth-card__alert {
    border-radius: 10px;
    padding: 14px 18px;
    font-size: 0.88rem;
    line-height: 1.5;
    margin-bottom: 20px;
    text-align: left;
}

.auth-card__alert i {
    margin-right: 6px;
}

.auth-card__alert a {
    color: var(--color-primary);
}

.auth-card__alert--warning {
    background: #fef9e7;
    border: 1px solid #f0c36d;
    color: #7d6608;
}

.auth-card__alert--error {
    background: #fdf2f2;
    border: 1px solid #e8a0a0;
    color: #922b21;
}

.auth-card__form {
    text-align: left;
}

.auth-card__form .form-group {
    margin-bottom: 18px;
}

.auth-card__form .form-group label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #555;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.auth-card__form .form-group .form-control {
    border: 1px solid var(--color-border-primary);
    border-radius: 10px;
    padding: 11px 14px;
    font-size: 0.9rem;
    transition: border-color 0.15s, box-shadow 0.15s;
    background: #fafafa;
    height: auto;
    line-height: 1.4;
    width: 100%;
}

.auth-card__form .form-group .form-control:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(194, 57, 114, 0.1);
    background: #fff;
}

.auth-card__form .form-group.has-error .form-control {
    border-color: #e74c3c;
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.1);
}

.auth-card__form .form-group.has-error label {
    color: #e74c3c;
}

.auth-card__form .form-group .help-inline {
    display: block;
    font-size: 0.78rem;
    color: #e74c3c;
    margin-top: 4px;
}

.auth-card__actions {
    text-align: center;
    padding-top: 8px;
}

.auth-card__actions .btn-primary {
    background: var(--color-primary);
    border: none;
    border-radius: 10px;
    padding: 12px 32px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s;
    text-decoration: none;
    display: inline-block;
}

.auth-card__actions .btn-primary:hover {
    background: var(--color-primary-dark);
    transform: translateY(-1px);
    color: #fff;
    text-decoration: none;
}

@media (max-width: 767px) {
    .auth-page {
        padding: 20px 0 40px;
    }
    .auth-card {
        padding: 28px 20px 24px;
    }
}
/* ─── End Auth Pages ────────────────────────────── */

    .carrito-page {
        padding: 16px;
        margin: 8px 0 16px;
        border-radius: 10px;
    }
}


@media all and (max-width: 767px) {
    .esconder-xs {
        display: none!important;
    }
}


.eleccion-carrito   {
    display: flex;
    font-weight: normal;
    width: 100%;
    justify-content: space-between;
}

.eleccion-carrito > * {

}

.eleccion-carrito .eleccion-carrito-selector {
    min-width: 20px;
    width: 40px;
}

/*.detalles-articulo span::before {*/
/*    content: ": ";*/
/*}*/


/* lg */
@media (min-width: 1200px) {

}

/* md */
@media (min-width: 992px) and (max-width: 1199px) {


    .usa{
        margin-right: 0;
    }

    .shipping img{
        width: 100%;
    }

    .searchform input{
        width: 160px;
    }

    /*
        .product-information span span{
            width: 100%;
        }
        */


    #similar-product .carousel-inner .item img{
        width: 65px;
    }

    #cart_items .cart_info .cart_description h4,
    #cart_items .cart_info .cart_description p{
        text-align: center;
    }

}


/* sm */
@media (min-width: 768px) and (max-width: 991px) {

    .shop-menu ul li a{
        padding-left: 0;
    }

    #slider-carousel .item{
        padding-left: 30px;
    }

    .item h2{
        font-size: var(--font-size-xxl);
    }    .girl{
             margin-left: 0;
         }

    .pricing{
        width: 100px;
    }


    .shipping img{
        width: 100%;
    }

    .slider.slider-horizontal{
        width: 100% !important;
    }

    .tab-pane .col-sm-3, .features_items .col-sm-4{
        width: 50%;
    }

    .footer-widget .col-sm-2{
        width: 33%;
        display: inline-block;
        margin-bottom: 50px;
    }

    .footer-widget .col-sm-3{
        display: inline-block;
        width: 40%;
    }

    #similar-product .carousel-inner .item img{
        width: 60px;
        /*margin-left: 0;*/
    }

    /*.product-information span span{*/
    /*	display: block;*/
    /*	width: 100%;*/
    /*}*/

    .product-information .cart{
        margin-left: 0;
        /*margin-top: 15px;*/
    }

    .item-control i{
        font-size: var(--font-size-small);
        padding: 5px 6px;
    }

    #cart_items .cart_info .cart_description h4, #cart_items .cart_info .cart_description p{
        text-align: center;
    }

    .companyinfo h2{
        font-size: var(--font-size-large);
    }    .address {
             margin-top: 48px;
             margin-left: 20px;
         }

    .address p {
        font-size: var(--font-size-small);
        top: 5px;
    }
}/* xs */
@media (max-width: 767px) {

    .header_top .col-sm-6:first-child{
        display: inline-block;
        float: left;
    }

    .header_top .col-sm-6:last-child{
        display: inline-block;
        float: right;
    }

    .header-middle .col-sm-4 {
        display: inline-block;
        overflow: inherit;
        width: 100%;
    }

    .social-icons ul li a i {
        padding: 8px 10px;
    }

    .shop-menu.pull-right{
        float: none !important;
    }

    .shop-menu .nav.navbar-nav{
        margin-left: -30px;
        margin-bottom: 0px;
    }

    .header-bottom .col-sm-9{
        display: inline-block;
        width: 100%;
    }

    .mainmenu{
        width: 100%;
    }

    .mainmenu ul li{
        background: rgba(0, 0, 0, 0.5);
        padding-top: 15px;
        padding-bottom: 0;
    }

    .mainmenu ul li:last-child{
        padding-bottom: 15px;
    }

    .mainmenu ul li  a{
        color: #fff;
    }

    .navbar-collapse.in{
        overflow: inherit;
    }

    .mainmenu ul li a.active{
        padding-left: 15px;
    }

    .dropdown .fa-angle-down{
        display: none;
    }

    ul.sub-menu{
        position: relative;
        width: auto;
        display: block;
        background: transparent;
        box-shadow: none;
        top: 0;
    }

    .mainmenu .navbar-nav li ul.sub-menu li{
        background: transparent;
        padding-bottom:0;
    }

    .nav.navbar-nav > li:hover > ul.sub-menu{
        -webkit-animation: none;
        -moz-animation: none;
        -ms-animation: none;
        -o-animation: none;
        animation: none;
        box-shadow: none;
    }

    .header-bottom{
        position: relative;
    }

    .header-bottom .col-sm-3 {
        display: inline-block;
        position: absolute;
        left: 0;
        top: 38px;
    }

    #slider-carousel .item{
        padding-left: 0;
    }

    .shipping{
        margin-bottom: 25px;
    }

    .pricing{
        width: 100px;
    }


    .footer-widget .col-sm-2 {
        width: 28%;
        display: flex;
        margin-bottom: 50px;
        margin-top: 0;
        float: left;
        margin-left: 30px;
    }

    .companyinfo{
        text-align: center;
    }

    .footer-widget .col-sm-3{
        display: inline-block;
    }

    .single-widget{

    }

    /*
        .product-information span {
            display: block;
        }
        */

    #similar-product {
        margin-bottom: 40px;
    }

    .well{
        display: inline-block;
    }

}

/* XS Portrait */
@media (max-width: 480px) {

    .contactinfo{
        text-align: center;
    }

    .contactinfo ul li a {
        padding-right: 15px;
        padding-left: 0;
    }

    .social-icons.pull-right{
        float: none !important;
        text-align: center;
    }

    .btn-group.pull-right,
    .footer-bottom .pull-left,
    .footer-bottom .pull-right,
    .mainmenu.pull-left,
    .media.commnets .pull-left,
    .media-list .pull-left{
        float: none !important;
    }

    .header_top .col-sm-6:first-child{
        display: block;
        float: none;
    }

    .header_top .col-sm-6:last-child{
        display: block;
        float: none;
    }

    .contactinfo .nav.nav-pills, .social-icons .nav.navbar-nav{
        display: inline-block;
    }

    .logo{
        text-align: center;
        width: 100%;
    }

    .shop-menu ul li {
        padding: 0;
    }

    .header-middle .col-sm-4{
        text-align: center;
        overflow: inherit;
    }

    .shop-menu .nav.navbar-nav {
        margin-left: 0;
    }

    .btn-group>.btn-group:last-child>.btn:first-child{
        margin-right: 0;
    }

    .header-bottom .col-sm-9{
        display: inline-block;
        width: 100%;
    }

    .mainmenu{
        width: 100%;
    }

    .mainmenu ul li{
        background: rgba(0, 0, 0, 0.5);
        padding-top: 15px;
        padding-bottom: 0;
    }

    .mainmenu ul li:last-child{
        padding-bottom: 15px;
    }

    .mainmenu ul li a {
        color: #FFF;
        padding-bottom: 0;
    }

    .navbar-collapse.in{
        overflow: inherit;
    }

    .mainmenu ul li a.active{
        padding-left: 15px;
    }

    .dropdown .fa-angle-down{
        display: none;
    }

    ul.sub-menu{
        position: relative;
        width: auto;
        display: block;
        background: transparent;
        box-shadow: none;
        top: 0;
    }

    .mainmenu .navbar-nav li ul.sub-menu li{
        background: transparent;
        padding-bottom:0;
    }

    .nav.navbar-nav > li:hover > ul.sub-menu{
        -webkit-animation: none;
        -moz-animation: none;
        -ms-animation: none;
        -o-animation: none;
        animation: none;
        box-shadow: none;
    }


    .item{
        padding-left: 0;
    }

    .item h1{
        font-size: 30px;
        margin-top: 0;
    }

    .item h2{
        font-size: var(--font-size-xxl);
    }

    .pricing{
        width: 70px;
    }

    .companyinfo h2, .companyinfo p{
        text-align: center;
    }

    .video-gallery{
        margin-top: 30px;
    }

    .footer-bottom p{
        font-size: 13px;
        text-align: center;
    }

    .footer-widget .col-sm-2 {
        width: 50%;
        display: flex;
        margin-bottom: 50px;
        margin-top: 0;
        float: left;
        padding-right: 0;
        padding-left: 30px;
        margin-left: 0;
    }

    .single-widget {
        padding-left: 0;
    }

    .features_items{
        margin-top: 30px;
    }

    #similar-product .carousel-inner .item img{
        margin-left: 4px;
    }

    .product-information{
        margin-top: 0;
    }

    #reviews p, .blog-post-area .single-blog-post p{
        text-align: justify;
    }

    #reviews form span input{
        width: 100%;
        margin-bottom: var(--spacing-xl);
    }

    #reviews form span input:last-child{
        margin-left: 0;
    }

    .blog-post-area .single-blog-post h3{
        font-size: var(--font-size-medium);
    }

    .blog-post-area .post-meta ul li{
        margin-right: 7px;
    }

    .shipping{
        margin-bottom: var(--spacing-xl);
    }

    .commnets{
        padding: 0;
    }

    .content-404 h1{
        font-size: 30px;
    }

    .content-404 h2 a{
        font-size: var(--font-size-xxl);
    }

    .order-message{
        display: inline-block;
    }

    .response-area .media img{
        width: auto;
    }

    .sinlge-post-meta li{
        margin-bottom: 10px;
    }

    .product-information{
        padding-left: 0;
        margin: 0;
    }
}

/* Responsive design for bundles - Medium range */
@media (min-width: 501px) and (max-width: 1139px) {
    .bundle-wrapper {
        height: 580px;
    }

    .bundle-articulos {
        height: 35%;
    }

    .bundle {
        height: 580px;
    }
}

/* Responsive design for bundles - Large screens */
@media (min-width: 1140px) {
    .bundle-wrapper {
        height: 500px;
        margin-bottom: var(--spacing-md);
    }

    .bundle-articulos {
        height: 40%;
    }

    .bundle {
        height: 500px;
    }
}



.dispositivas-slider img {
    border-radius: 0.8rem;
}

/* Mobile product detail overrides (must come after general styles) */
@media all and (max-width: 990px) {
    .cantidad-carrito {
        display: none !important;
    }
    .buy-button--desktop {
        display: none !important;
    }
}



/* ============================================
   MOBILE PRODUCT DETAIL — FLUSH LAYOUT
   (end of file = highest cascade priority)
   ============================================ */
@media all and (max-width: 990px) {
    /* Outer wrapper: only bottom padding for fixed cart bar */
    .main-wrapper .contenedor-producto {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Add bottom spacing only after the last child so cart bar doesn't overlap content */
    .main-wrapper .contenedor-producto > *:last-child {
        margin-bottom: 80px !important;
    }

    /* Product details block: zero all spacing */
    .main-wrapper .product-details,
    .main-wrapper .product-details.content-limit {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Row inside product details */
    .main-wrapper .product-details > .row {
        margin: 0 !important;
    }

    /* Columns — zero Bootstrap padding, product-information handles its own */
    .main-wrapper .product-details > .row > [class*="col-"] {
        padding: 0 !important;
    }

    /* Form wrapper */
    .main-wrapper .product-details .buy-article {
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Product information: 12px horizontal padding + smaller base font for mobile */
    .main-wrapper .product-information {
        padding: 6px 12px 0 12px !important;
        font-size: 13px !important;
    }

    /* Inner rows (solo-movil SKU line) — zero Bootstrap row/col margins */
    .main-wrapper .product-information .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .main-wrapper .product-information .row > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Availability inner rows too */
    .main-wrapper .product-information .availability-section .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .main-wrapper .product-information .availability-section .row > [class*="col-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Description container: zero all spacing */
    .main-wrapper .contenedor-producto-descripcion,
    .main-wrapper .contenedor-producto-descripcion.content-limit,
    .main-wrapper .contenedor-producto-descripcion.container-fluid {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Shop details tab: flush against product info (overridden below with border) */

    /* Tab nav and content: same 12px left padding as product-information */
    .main-wrapper .shop-details-tab .nav-tabs {
        padding: 0 12px !important;
    }
    .main-wrapper .shop-details-tab .tab-content {
        padding: 12px !important;
    }

    /* Tab content col-sm-12: remove Bootstrap padding so text aligns */
    .main-wrapper .shop-details-tab .tab-content .col-sm-12 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Description fieldsets/legends flush */
    .main-wrapper .shop-details-tab .tab-content fieldset,
    .main-wrapper .shop-details-tab .tab-content legend {
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    /* ---- FLUSH SECTIONS: clean, no boxes ---- */
    .product-information .availability-section {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 6px 0 !important;
        margin: 6px 0 !important;
        border-top: 1px solid #f0f0f0 !important;
    }

    .product-information .availability-section .row {
        border-bottom: none !important;
        padding: 5px 0 !important;
    }

    .product-information .shipping-calculator {
        background: #f8f9fa !important;
        border: none !important;
        border-radius: 10px !important;
        box-shadow: none !important;
        padding: 12px !important;
        margin: 6px 0 0 0 !important;
    }

    .product-information .shipping-total-row {
        background: #fff !important;
        border: 1px solid #e0e0e0 !important;
        border-radius: 8px !important;
        padding: 10px 12px !important;
        margin-bottom: 10px !important;
    }

    .product-information .shipping-total-row.shipping-total--exact {
        border-color: #27ae60 !important;
        background: #f0faf4 !important;
    }

    .product-information .product-meta-table {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        margin: 4px 0 !important;
        padding-top: 10px !important;
        border-top: 1px solid #e8e8e8 !important;
    }

    .product-information .product-meta-row {
        padding: 3px 0 !important;
        border-bottom: none !important;
    }

    /* WhatsApp: full width, same alignment */
    .product-information .whatsapp-button {
        margin: 10px 0 !important;
    }

    /* View product image area: borderless, edge-to-edge on mobile */
    .view-product {
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        background: #f8f8f8 !important;
    }

    /* Image counter indicator on mobile */
    .view-product #product_images .slick-dots {
        bottom: 8px !important;
    }
    .view-product #product_images .slick-dots li {
        margin: 0 2px !important;
    }
    .view-product #product_images .slick-dots li button:before {
        font-size: 8px !important;
        color: rgba(0,0,0,0.25) !important;
    }
    .view-product #product_images .slick-dots li.slick-active button:before {
        color: #C23972 !important;
    }

    /* Thumbnails: horizontal scroll strip */
    .view-product .product_images_nav_wrapper {
        background: #fff !important;
        padding: 6px 8px !important;
        margin-top: 0 !important;
    }

    /* Product info: slightly more top breathing room */
    .main-wrapper .product-information {
        padding: 8px 12px 4px 12px !important;
    }

    /* Title: scaled down for mobile */
    .product-information h1 {
        font-size: 18px !important;
        line-height: 1.25 !important;
        margin-bottom: 6px !important;
        padding-bottom: 4px !important;
    }

    /* Price: scaled for mobile — match first breakpoint */
    .product-information .pi-precio {
        font-size: 30px !important;
        margin-bottom: 4px !important;
    }

    /* Availability text: tighter on mobile */
    .product-information .availability-section {
        font-size: 13px !important;
    }
    .product-information .availability-section b {
        font-size: 12px !important;
    }

    /* Shipping calculator: polished on small mobile */
    .product-information .shipping-calculator {
        font-size: 13px !important;
        padding: 10px !important;
    }
    .product-information .shipping-calculator-header {
        font-size: 13px !important;
        font-weight: 700 !important;
    }
    .product-information .shipping-total-value {
        font-size: 17px !important;
    }
    .product-information .shipping-calculator .btn-gris {
        font-size: 13px !important;
        padding: 6px 14px !important;
    }
    .product-information .shipping-form-inputs input.form-control {
        font-size: 13px !important;
        height: 34px !important;
    }
    .product-information .shipping-form-label {
        font-size: 11px !important;
    }

    /* Buy actions: hide desktop CTA on mobile (precio-detalle-movil is used instead) */
    .pi-buy-actions {
        display: none !important;
    }

    /* Availability icon rows: flush on mobile */
    .pi-availability {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 4px 0 !important;
        margin: 6px 0 !important;
        border-top: 1px solid #f0f0f0 !important;
    }

    .pi-availability__row {
        padding: 6px 0 !important;
        font-size: 13px !important;
    }

    /* Trust badges: flush on mobile */
    .trust-badges {
        background: transparent !important;
        border: none !important;
        border-radius: 0 !important;
        padding: 6px 0 !important;
        margin: 6px 0 !important;
        border-top: 1px solid #f0f0f0 !important;
    }

    .trust-badges__item {
        font-size: 12px !important;
    }

    /* Description tab: subtle top separator + scaled font */
    .main-wrapper .shop-details-tab {
        margin-top: 0 !important;
        border-top: 1px solid #eee !important;
        font-size: 13px !important;
    }
    .main-wrapper .shop-details-tab .nav-tabs > li > a {
        font-size: 13px !important;
        padding: 10px 12px !important;
    }
    .main-wrapper .shop-details-tab .tab-content {
        font-size: 13px !important;
    }
    .main-wrapper .shop-details-tab .tab-content h1,
    .main-wrapper .shop-details-tab .tab-content h2,
    .main-wrapper .shop-details-tab .tab-content h3 {
        font-size: 16px !important;
        margin-top: 12px !important;
        margin-bottom: 6px !important;
    }
    .main-wrapper .shop-details-tab .tab-content h4,
    .main-wrapper .shop-details-tab .tab-content h5,
    .main-wrapper .shop-details-tab .tab-content h6 {
        font-size: 14px !important;
        margin-top: 8px !important;
        margin-bottom: 4px !important;
    }
    .main-wrapper .shop-details-tab .tab-content p,
    .main-wrapper .shop-details-tab .tab-content li,
    .main-wrapper .shop-details-tab .tab-content td,
    .main-wrapper .shop-details-tab .tab-content span {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
}

/* ==========================================================================
   MOBILE PRODUCT LISTING CARDS: tighter spacing, harmonious grid
   ========================================================================== */
@media all and (max-width: 990px) {
    /* Tighter gap between card columns on mobile */
    .product-grid > [class*="col-"],
    .products .row > [class*="col-"].col-xs-6 {
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .product-grid,
    .products .row:has(> .col-xs-6) {
        margin-left: -6px !important;
        margin-right: -6px !important;
    }

    /* Tighter bottom margin between card rows */
    .product-image-wrapper {
        margin-bottom: 12px !important;
        border-radius: 10px;
        max-width: none;
    }

    .productinfo .productinfo-data {
        padding: 8px 10px 8px !important;
    }

    .productinfo .product-marca {
        font-size: 10px !important;
        margin-bottom: 1px !important;
    }

    .productinfo .product-name,
    .productinfo .product-name a {
        font-size: 12px !important;
        line-height: 1.35 !important;
    }
}

/* === Catalog loading overlay === */
.catalogo-loading-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.7);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 16px;
}
.catalogo-loading-overlay.active {
    display: flex;
}
.catalogo-loading-spinner {
    width: 48px;
    height: 48px;
    border: 4px solid #e0e0e0;
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: catalogo-spin 0.7s linear infinite;
}
@keyframes catalogo-spin {
    to { transform: rotate(360deg); }
}
.catalogo-loading-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #555;
    letter-spacing: 0.5px;
}
.catalogo-no-results {
    padding: 40px 20px;
    text-align: center;
    color: #666;
    font-size: 15px;
    background: #f9f9f9;
    border-radius: 8px;
    margin-top: 10px;
}

/* === CMS Landing Content (hybrid mode: above grid) === */
.cms-landing-content {
    margin-bottom: 24px;
}

/* === Mid-scroll CMS blocks injected within product grid === */
.cms-mid-scroll-block {
    grid-column: 1 / -1;
    padding: 20px 0;
    margin: 8px 0;
}