@font-face {
    font-family: "Inter";
    src: url("./fonts/Inter-ExtraBold.ttf") format("opentype");
    font-weight: 800;
}

@font-face {
    font-family: "Inter";
    src: url("./fonts/Inter-Light.ttf") format("opentype");
    font-weight: 300;
}

@font-face {
    font-family: "Yeseva";
    src: url("./fonts/YesevaOne-Regular.ttf") format("opentype");
}

@font-face {
    font-family: "DM Sans";
    src: url("./fonts/DMSans-Regular-ext.woff2") format("woff2");
    font-weight: 300 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: "DM Sans";
    src: url("./fonts/DMSans-Regular.woff2") format("woff2");
    font-weight: 300 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root {
    /* Colors */
    --purple-1: #173e7d;
    --purple-2: #173e7d;
    --pink: #BE5B75;
    --pink-2: #FFE8F0;
    --turquoise: #D7FFFA;
    --white: #fff;
    --bg-page: #fcfbf9;
    --main: #1a1a1a;
    --black: #000000;
    --black-2: #3F3F3F;
    --grey: #898989;
    --grey-2: #828282;
    --grey-3: #383838;

    /* Font families */
    --font-display: 'Kumbh Sans', sans-serif;
    --font-body:    'Geist', 'DM Sans', system-ui, sans-serif;
    --font-ui:      'Geist', 'Inter', system-ui, sans-serif;
    --font-serif:   'Playfair Display', serif;

    /* Type scale */
    --text-h1:      3rem;       /* 48px */
    --text-h2:      2rem;       /* 32px */
    --text-h3:      1.375rem;   /* 22px */
    --text-h4:      1.0625rem;  /* 17px */
    --text-body:    1rem;       /* 16px */
    --text-body-sm: 0.875rem;   /* 14px */
    --text-ui:      0.9375rem;  /* 15px */
    --text-price:   1.125rem;   /* 18px */
    --text-label:   0.6875rem;  /* 11px */

    /* Font weights */
    --weight-display: 400;
    --weight-heading: 600;
    --weight-body:    400;
    --weight-body-md: 500;
    --weight-ui:      500;
    --weight-price:   600;
    --weight-label:   600;

    /* Line heights */
    --leading-display: 1.1;
    --leading-heading: 1.25;
    --leading-subhead: 1.35;
    --leading-body:    1.65;
    --leading-ui:      1.4;
    --leading-label:   1.2;

    /* Letter spacing */
    --tracking-display: -0.02em;
    --tracking-heading: -0.01em;
    --tracking-body:     0em;
    --tracking-ui:       0em;
    --tracking-label:    0.08em;
    --tracking-label-lg: 0.12em;

    /* Spacing scale (4px base) */
    --space-1:  4px;
    --space-2:  8px;
    --space-3:  12px;
    --space-4:  16px;
    --space-5:  20px;
    --space-6:  24px;
    --space-8:  32px;
    --space-10: 40px;
    --space-12: 48px;
    --space-16: 64px;
    --space-20: 80px;

    /* Border radius */
    --radius-btn:     99px;
    --radius-card:    12px;
    --radius-card-lg: 16px;
    --radius-input:   6px;
    --radius-badge:   4px;
}

*,
*:after,
*:before {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
}

body {
    font-size: 100%;
    list-style-type: none;
    font-family: 'Geist', 'DM Sans', system-ui, sans-serif;
    color: var(--black);
    background-color: var(--bg-page);
}

ul {
    list-style: none;
}

a{
    text-decoration: none;
}

.centrado-vertical {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
}

.centrado-horizontal {
    display: flex;
    justify-content: center;
    align-content: center;
}

.centrado-horizontal-espaciado {
    display: flex;
    justify-content: space-between;
    align-content: center;
}

h1, h2, h3 {
    font-family: 'Kumbh Sans', sans-serif !important;
    text-rendering: optimizeLegibility;
    color: var(--main);
    font-weight: 500 !important;
}

h2 {
    font-size: var(--text-h2);
    line-height: var(--leading-heading);
    letter-spacing: var(--tracking-heading);
}

h3 {
    font-size: var(--text-h3);
    line-height: var(--leading-subhead);
    letter-spacing: 0em;
}

h5 {
    font-size: 16px;
    color: var(--black);
    font-weight: 700;
    text-transform: uppercase;
}

.text-black {
    color: var(--black);
    font-weight: 400;
}

.text-light-grey {
    color: #828282;
}

.text-grey {
    color: #898989;
}

.text-grey-3 {
    color: var(--grey-3);
}

.text-black-2 {
    color: var(--black-2);
}

.text-sub {
    border-bottom: 1px solid var(--black);
}

.ft-10 {
    font-size: 10px;
}

.ft-12 {
    font-size: 12px;
}

.ft-13 {
    font-size: 13px;
}

.ft-14 {
    font-size: 14px;
}

.ft-15 {
    font-size: 15px;
}

.ft-16 {
    font-size: 16px;
}

.ft-18 {
    font-size: 18px;
}

.fw-300 {
    font-weight: 300;
}

.fw-400 {
    font-weight: 400;
}

.fw-500 {
    font-weight: 500;
}

.fw-600 {
    font-weight: 600;
}

.fw-700 {
    font-weight: 700;
}

.fw-800 {
    font-weight: 800;
}

.imagen-fondo {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

/* Nav */

.nav-header {
    background-color: var(--purple-1) !important;
    height: 40px;
    font-family: 'Inter';
    font-weight: 400;
    font-size: 12px;
    color: var(--white);
    display: flex;
    align-items: center;
}

.nav-header a {
    font-family: 'Inter';
    font-weight: 400;
    font-size: 12px;
    padding: 0 2px;
}

.nav-header .container ul {
    display: flex;
    margin-bottom: 0;
}

.nav-header .container ul li {
    margin-right: 2rem;
}

.nav-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.menu {
    display: flex;
    flex-direction: column;
}

nav {
    padding: 0px 40px;
    font-size: 14px;
}

nav a {
    color: var(--white);
}

.sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
    background: var(--bg-page);
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

/* Compensar el navbar fixed */
body > main {
    padding-top: 72px;
}

.navbar {
    background-color: transparent;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

/* Hero slider portrait */
.section-slider {
    padding: 1rem 0 2rem;
}

.hero-slider .hero-item {
    padding: 0 6px;
}

.hero-ratio {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-card);
    aspect-ratio: 3 / 4;
}

.hero-ratio img,
.hero-ratio a {
    display: block;
    width: 100%;
    height: 100%;
}

.hero-ratio a img,
.hero-ratio > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.navbar .form-1 {
    flex: 1 1 auto;
    max-width: 500px;
    margin: 0 1.5rem;
}

.nav-acciones ul a{
    margin: 0 0.5rem;
    white-space: nowrap;
    transition: transform 0.2s ease-in-out;
}

.nav-acciones ul a:hover{
    transform: scale(1.2);
}

.nav-link {
    font-size: 14px;
    font-weight: 300;
    font-family: "Inter";
    white-space: nowrap;
}

.nav-link span {
    margin-left: 0.5rem;
    margin-top: 3px;
}

.n-items {
    position: absolute;
    top: -10px;
    right: -7px;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    background-color: #BE5B75;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    color: var(--white);
    font-weight: 700;
}

.nav-link:focus,
.nav-link:hover {
    color: var(--blue);
}

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

.menu li:hover {
    background-color: var(--purple-1) !important;
    color: var(--white);
}

.mega-menu {
    background: transparent;
    border-radius: 0px;
    border: none;
    min-width: 190px;
}

.mega-menu ul li {
    padding: 10px;
    background-color: #00000036;
    margin: 5px;
}

.mega-menu ul li a {
    text-decoration: none;
    color: var(--white);
}

.categorias {
    margin-bottom: 0;
    padding: 15px 0;
}

.menu-responsive .navbar-collapse ul{
    background: #f5f5f5;
}

.menu-responsive .navbar-collapse ul{
    width: 100%;
    padding: 0;
}

.menu-responsive .navbar-collapse li{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.menu-responsive .navbar-collapse a{
    width: 100%;
    padding: 8px 20px 8px 15px;
    border-bottom: 1px solid #DEE1E7;
    background: white;
}

.categorias li {
    margin-left: 1.5rem;
    transition: 0.1s all ease-in;
    margin-bottom: 0;
    white-space: nowrap;
}

.categorias li a {
    color: var(--black);
}

.categorias li:hover {
    transform: scale(1.1);
}

.categorias li a:hover {
    color: var(--purple-1);
    font-weight: 500;
}

.categoria-selecionada {
    margin-bottom: 15px;
    border-bottom: 2px solid #522455;
}

.ofertas {
    background-color: #FFE8F0;
    justify-content: center;
    align-items: center;
    padding: 10px 0;

}

.ofertas p {
    margin-left: 2rem;
    margin-bottom: 0;
    font-weight: 700;
    letter-spacing: 1.4px;
}

.ofertas .medio {
    background-color: var(--white);
    padding: 10px 15px;
    border-radius: 50%;
    box-sizing: border-box;
}

/*Footer*/

.footer-ventajas {
    padding: 20px 0;
    background-color: var(--purple-1);
    color: var(--white);
    font-size: 13px;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-top{
    background-color: #F5F6F6;
    font-size: 12px;
    font-weight: 300;
    padding: 1.5rem 0;
}

.footer-top input {
    height: 46px;
    width: 286px;
    border: none;
    border-bottom: 2px solid var(--black);
    margin-right: 15px;
    padding: 0 1rem;
    font-size: 14px;
}

.footer-top p{
    max-width: 760px;
}

.footer-ventajas img {
    margin-right: 15px;
}

.footer {
    display: block;
    font-size: 12px;
    font-weight: 300;
    color: var(--grey-3);
    padding: 2vw 0;
}

.footer h5 {
    padding-bottom: 1.5rem;
}

.footer li {
    padding-bottom: 0.5rem;
}

.logo-nombre {
    color: var(--light-blue);
    font-family: var(--font_sarabun);
    font-size: 96px;
}

.menu-footer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    margin-right: 2rem;
}

.footer-bottom {
    text-align: center;
    padding: 1.5vw 0;
    font-size: 12px;
    font-weight: 400px;
    line-height: 150%;
    background-color: var(--black);
    color: var(--white);
    position: relative;
}

.footer-bottom .container {
    max-width: 1050px;
}

.footer-bottom span {
    color: var(--purple_2);
}

.footer a {
    color: var(--brown);
}

.footer .col {
    margin: 0 1rem;
}

.icono-solo {
    width: 69px;
    height: 95px;
}

.close {
    display: none;
    background-color: var(--purple-1);
    color: var(--white);
    padding: 8px 8px 8px 20px;
}

.close button {
    border: none;
    color: var(--white);
}

button {
    all: unset;
}

.iconos-redes {
    width: 40px;
    height: 40px;
    margin-right: 1rem;
}
.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #6b7280;
    margin-right: 0.6rem;
    transition: color 0.2s;
}
.footer-social-link:hover { color: #374151; }
.fv-item { display: flex; align-items: center; gap: 8px; }

.icono-idioma {
    width: 50px;
    height: 30px;
}

.form-1 {
    display: flex;
    width: 391px;
    height: 46px;
    padding: 10px 25px;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    background: #FFF;
    margin-left: 2rem;
    border-radius: 29px;
    border: 1px solid var(--Grey-6, #E5E5E5);
    background: #FFF;
}

.form-1 input[type="text"] {
    border: none;
    width: 100%;
    height: 35px;
}

.form-1 input[type="text"]:focus{
    border: none;
    outline: none;
    box-shadow: none;
}

.form-2 {
    display: flex;
    width: 100%;
    height: 44px;
    padding: 10px 10px 10px 25px;
    justify-content: space-between;
    align-items: center;
    border: 1px solid var(--purple-1);
    background-color: var(--white);
}

.form-2 input[type="text"] {
    border: none;
    width: 100%;
    height: 35px;
}

.form-2 input[type="text"]:focus {
    border: none;
    outline: none;
    box-shadow: none;
}

.form-2 button {
    display: flex;
    width: 103px;
    height: 29px;
    flex-direction: column;
    justify-content: center;
    flex-shrink: 0;
    background-color: var(--purple-1);
    color: #FFF;
    text-align: center;
    font-size: 11px;
    font-weight: 800;
}

.footer-top form input:focus {
    border-color: var(--purple-2);
    outline: none;
    box-shadow: none;
}

.btn-cuadrado {
    display: flex;
    width: 140px;
    height: 30px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    font-family: var(--font-ui);
    font-weight: var(--weight-label);
    font-size: var(--text-label);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    border-radius: var(--radius-btn);
    margin-top: -3px !important;
    transition: 0.5s all ease;
    cursor: pointer;
}

.btn-amarillo {
    background: #EAA907;
    color: var(--main);
}

.btn-suscribirse {
    height: 55px;
    max-width: 271px;
    border: 1px solid #E5E5E5;
    background: var(--white);
    display: flex;
    align-items: center;
    transition: 0.5s all ease;
    cursor: pointer;
}

.btn-suscribirse:hover, .btn-blanco:hover {
    background-color: var(--pink-2);
    transform: scale(1.02);
    color: var(--black);
}

.btn-violeta {
    color: white !important;
    background: var(--purple-1);
}

.btn-amarillo:hover {
    color: white;
    background-color: #2E5229;
}

.btn-violeta:hover {
    color: white !important;
    background-color: #EAA907;
    transform: scale(1.02);
}

.btn-rosa {
    color: white !important;
    height: 46px;
    font-weight: 500;
    background: var(--pink);
}

.btn-rosa:hover, .btn-ag-carrito:hover {
    background-color: var(--purple-2);
    color: white !important;
    transform: scale(1.02);
}

.btn-blanco {
    width: 171px;
    height: 46px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    border: 2px solid var(--grey-3);
    font-family: var(--font-ui);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-label);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    border-radius: var(--radius-btn);
    transition: 0.5s all ease;
    color: var(--black);
}

.btn-ag-carrito {
    display: block;
    width: fit-content;
    min-width: 120px;
    margin: 0.5rem auto 0.75rem;
    height: 32px;
    padding: 0 1.25rem;
    flex-shrink: 0;
    border: 1px solid #C4C4C4;
    color: var(--black-2, #000);
    font-family: var(--font-ui);
    font-size: 0.6rem;
    font-weight: var(--weight-label);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    border-radius: var(--radius-btn);
    transition: 0.5s all ease;
}

.btn-sesion {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 46px;
    color: var(--pink);
    text-align: center;
    font-family: var(--font-ui);
    font-size: var(--text-label);
    font-weight: var(--weight-label);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    border: 1px solid var(--pink);
    border-radius: var(--radius-btn);
    cursor: pointer;
    transition: 0.2s all ease;
}

.btn-sesion:hover {
    color: white !important;
    font-weight: 800;
    background: var(--pink);
}

.btn-cuenta {
    color: var(--black);
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    padding: 5px;
    border: 1px solid #C4C4C4;
    cursor: pointer;
    transition: 0.2s all ease;
}

.btn-cuenta:hover {
    font-weight: 500;
    color: var(--pink);
    border-color: var(--pink);
}

/*main*/

section {
    margin: 3rem 0;
}

.contenido {
    padding: 4rem 0 4rem 10rem;
    max-width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 10;
    position: relative;
}

.contenido p {
    font-size: 14px;
}

.contenido .titulo {
    font-family: var(--font-display);
    font-size: 64px;
    line-height: var(--leading-display);
    letter-spacing: var(--tracking-display);
    text-align: center;
    padding-bottom: 1rem;
}

.marcas-eyebrow {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1.15;
    color: var(--main);
    margin-bottom: 1.25rem;
}

.section-historias .carrusel-historias svg{
    margin: 10px;
}


.section-historias .carrusel-historias svg:focus{
    border: 0px !important;
}

.section-ofertas {
    margin: 50px 0;
}


/* Colección — nuevo layout: texto izquierda + 2 imágenes portrait derecha */
.section-coleccion {
    padding: 60px 0;
}

.coleccion-intro {
    padding: 0 48px 0 0;
}

.coleccion-intro h2 {
    font-size: 2.5rem;
    line-height: 1.15;
    margin-bottom: 1.25rem;
}

.coleccion-desc {
    color: var(--grey);
    font-size: 0.95rem;
    line-height: 1.65;
    margin-bottom: 2rem;
}

.btn-coleccion {
    display: inline-block;
    padding: 0.65rem 1.75rem;
    border: 1.5px solid var(--main);
    border-radius: 100px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--main);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.btn-coleccion:hover {
    background: var(--main);
    color: #fff;
}

.coleccion-cat-link {
    display: block;
    text-decoration: none;
    color: inherit;
    padding: 0 4px;
}

.coleccion-cat-img {
    overflow: hidden;
    aspect-ratio: 3 / 4;
}


.coleccion-cat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.coleccion-cat-link:hover .coleccion-cat-img img {
    transform: scale(1.04);
}

.coleccion-cat-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.9rem 0.25rem;
    border-bottom: 1px solid #e0ddd8;
}

.coleccion-cat-name {
    font-size: 1rem;
    font-weight: 500;
    color: var(--main);
}

.coleccion-cat-arrow {
    font-size: 1rem;
    color: var(--grey);
}


.card {
    border-radius: var(--radius-card);
    overflow: hidden;
    background-color: var(--bg-page);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-body);
    text-align: center;
    justify-content: center;
    align-items: center;
}

.card p {
    margin-bottom: 0;
}

.card-body {
    z-index: 10;
}



.slick-brands-arrows {
    cursor: pointer;
    padding: 5px 10px;
    position: absolute;
    top: 25%;
    z-index: 10;
}

.prev {
    left: 0;
}

.next {
    right: 0;
}

.card {
    border: none;
    padding: 1rem;
}

.carrusel_productos .card img:not(.card-brand-logo) {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 3 / 4;
    object-fit: contain !important;
    background: var(--bg-page);
    transition: transform 0.4s ease;
}

.fav {
    width: 19px;
    height: 16px;
    position: absolute;
    top: 0;
    right: 1rem;
}

.etiqueta {
    position: absolute;
    top: 0;
    left: 1rem;
    display: inline-flex;
    width: auto;
    height: 20px;
    padding: 0 6px;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    background-color: #173e7d;
    font-family: var(--font-ui);
    font-size: var(--text-label);
    font-weight: var(--weight-label);
    letter-spacing: var(--tracking-label);
    color: var(--white);
    text-transform: uppercase;
    border-radius: var(--radius-badge);
}

.card-img-link {
    display: block;
}

.nm-product-image-empty {
    width: 100%;
    aspect-ratio: 4 / 5;
    background: linear-gradient(180deg, #f6f1ea 0%, #ece5db 100%);
    border-radius: 12px 12px 0 0;
}

.nm-product-image-empty--detail {
    aspect-ratio: 1 / 1.15;
    border-radius: 12px;
}

.card-title-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.card-title-link:hover {
    color: var(--main);
}

.card-brand-logo {
    height: 28px !important;
    max-height: 28px !important;
    max-width: 110px !important;
    width: auto !important;
    object-fit: contain;
    display: block;
    margin: 0 auto 0.5rem;
}

.card-title {
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-body-md);
    line-height: var(--leading-subhead);
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.tienda {
    font-family: var(--font-ui);
    color: var(--grey);
    font-size: var(--text-label);
    font-weight: var(--weight-label);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
}

.tienda span {
    text-decoration-line: underline;
    text-transform: none;
    letter-spacing: 0;
}

.precio {
    font-family: var(--font-ui);
    font-size: var(--text-price);
    font-weight: var(--weight-price);
    line-height: var(--leading-ui);
    letter-spacing: -0.01em;
}

.section-banners .titulo {
    font-family: var(--font-display);
    font-size: 34px;
    font-weight: var(--weight-display);
    line-height: var(--leading-display);
    letter-spacing: var(--tracking-display);
    text-transform: uppercase;
    padding-bottom: 2rem;
}

.section-banners .bn1 .btn-violeta {
    width: 234px;
    height: 46px;
    background-color: transparent;
    border: 2px solid black;
    color: var(--black) !important;
    font-size: 14px;
}

.section-banners .bn1 .btn-violeta:hover {
    background-color: var(--pink-2);
    transform: scale(1.02);
    color: var(--black);
}

.section-banners .col-12 .btn-violeta {
    width: 234px;
    height: 46px;
}

.section-banners .col-12 .contenido {
    display: block;
    padding: 3rem 0 2rem 6rem;
}

.section-banners .col-6 div {
    box-sizing: border-box;
}

.section-banners .col-6 div{
    height: 290px;
    box-sizing: border-box;
}

.section-banners .col-6 .contenido {
    display: block;
    padding: 3rem 0 2rem 3rem;
}

.section-banners .col-6 .titulo{
    padding-bottom: 0;
}

.section-banners .col-6 .btn-cuadrado {
    height: 46px;
    width: 183px;
}

.bn-2 {
    max-width: 75%;
}

.contenedor-productos nav {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3rem 0;
}

.section-grilla .row .col-6 img:not(.imagen-fondo) {
    max-height: 209px;
}
/*paginacion*/

.section-grilla .container nav{
    display: flex;
    align-items: center;
    justify-content: end;
    padding-right: 2.5rem !important;
}

.pagination {
    font-weight: 700;
    width: auto;
    justify-content: flex-end !important;
}

.pagination li {
    margin: 0 !important;
    padding: 0 !important;
}

.page-item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
}

.page-item .page-link:focus {
    background-color: #163f7d;
    color: white;
    box-shadow: none;
}

.page-link {
    color: #163f7d;
    font-size: 14px;
    border: 1px solid #163f7d;
    border-radius: 6px !important;
}

.page-link:hover {
    background-color: #163f7d;
    border-color: #163f7d;
    color: white;
}

.page-item.active .page-link {
    background-color: #163f7d;
    border-color: #163f7d;
    color: white;
}

.contenedor-gifcard {
    height: 90%;
    padding: 2rem 0;
}

.gitfcard {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.gitfcard p{
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
}

.gitfcard .titulo {
    font-size: 34px;
    font-weight: 800;
    text-transform: uppercase;
    text-align: start;
    margin-left: -25px;
    line-height: normal;
}

.gitfcard a {
    height: 46px;
    color: #FFF;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

.volver {
    color: var(--grey-3);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    border-bottom: 1px solid var(--grey-3);
}

.volver:hover {
    font-weight: 500;
    color: var(--purple-1);
    border-bottom: 2px solid var(--purple-1);
}

.enlaces {
    padding: 2rem 0 0.5rem 0;
}

.enlaces a{
    color: var(--black);
    font-size: 13px;
    font-weight: 400;
}

.section-grilla .descripcion {
    max-width: 785px;
    text-align: center;
}

.oferta-tiempo {
    float: right;
    font-size: 12px;
    font-weight: 400;
    line-height: 150%;
}

.oferta-tiempo span {
    font-size: 14px;
    color: var(--pink);
}

.zoom {
    display: flex;
    justify-content: space-between;
    color: var(--grey);
    font-size: 13px;
    width: 112px;
}

.etiqueta-d, .etiqueta-i {
    display: flex;
    width: 70px;
    height: 25px;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.5rem;
}

.etiqueta-i {
    background-color: var(--purple-2);
    color: var(--white);
    font-weight: 800;
    font-size: 10px;
    text-transform: uppercase;
    margin-right: 0.5rem;
}

.etiqueta-d {
    background:#F5F6F6;
    margin-left: 0.5rem;
}

.precio-actual {
    margin-right: 0.5rem;
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
}

.precio-anterior {
    color: var(--Black-2, #000);
    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
    margin: 0.5rem;
    text-decoration: line-through;
}

.precio-anterior img {
    margin-left: 0.5rem;
    margin-top: -4px;
}

select {
    border-radius: 0px !important;
    font-size: 14px !important;
    margin-bottom: 1rem;
}

.cantidad {
    width: 66.754px;
    height: 46px;
    flex-shrink: 0;
    text-align: center;
}

.section-producto .btn-cuadrado {
    height: 46px;
    width: 277px;
    margin: 0 1rem !important;
}

.contenedor-info {
    max-width: 390px;
    font-size: 12px;
}

.like {
    width: 23px;
    height: 20px;
    margin-top: 13px;
}

.miniatura {
    border: 1px solid var(--black);
    margin-bottom: 0.5rem;
}

.cuerpo-info {
    padding: 0 12px;
}
.menu-info li {
    font-size: 13px;
    font-weight: 600;
    width: 256px;
    height: 50px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--black);
    margin-bottom: 20px;
    cursor: pointer;
}

.info-seleccionada {
    background:#F5F6F6;
}

.section-info-producto {
    color: var(--Black-2, #3F3F3F);
    font-size: 15px;
    font-weight: 400;
    line-height: 180%;
}

.section-info-producto .titulo {
    color: var(--black);
    font-size: 14px;
    font-weight: 700;
}

.mensaje-carrito {
    display: flex;
    padding: 0.5rem 2rem;
    background:#D7FFFA;
    font-size: 12px;
    font-weight: 400;
    line-height: 180%; /* 21.6px */
}

.mensaje-carrito img {
    margin-right: 1rem;
    color: var(--Black-2, #000);
}

.cart-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 75vh;
}

.section-carrito .table .img-producto{
    width: 70px;
    height: 70px;
    object-fit: cover;
    flex-shrink: 0;
    border-radius: 4px;
}

.section-carrito .table tbody {
    color: var(--grey-3);
    font-size: 12px;
    font-weight: 300;
}

.section-carrito .table tbody .titulo {
    color: var(--black);
    font-size: 16px;
}

.section-carrito .table tbody .precio-anterior {
    color: var(--grey);
    font-size: 12px;
    font-weight: 400;
    line-height: 150%;
    text-decoration-line: line-through;
    margin-left: 0;
}

.section-carrito .table tbody .precio-actual {
    color: var(--black);
    font-size: 16px;
    font-weight: 700;
    line-height: 150%;
}

.btn-eliminar {
    cursor: pointer;
}

.contenedor-cantidad {
    width: 119px;
    height: 43px;
    flex-shrink: 0;
    padding: 0;
    border: 1px solid #C4C4C4;
    background-color: white;
}

.btn-sus, .btn-add {
    color: #C4C4C4;
    text-align: center;
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    text-transform: capitalize;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0 10px;
    height: 100%;
    display: flex;
    align-items: center;
}

.btn-add {
    margin-right: 0;
}

.btn-sus {
    margin-left: 0;
}

.btn-sus:hover, .btn-add:hover {
    color: var(--black);
}

input {
    color: var(--black);
    text-align: center;
    width: 35px;
    border: none;
    background-color: transparent;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
    text-align: start;
}

.section-carrito .btn-cuadrado {
    width: 286px;
    border-color: #C4C4C4;
}

.info-facturacion {
    background: #F5F6F6;
    padding: 1rem;
}

/* ── Cart redesign ── */
.cart-table thead th {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--grey);
    border-bottom: 2px solid #e8e8e8;
    padding-bottom: 0.6rem;
}

.cart-price-header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cart-flags {
    display: flex;
    gap: 0.2rem;
}

.cart-flag {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid transparent;
    background: #f0f0f0;
    font-size: 0.85rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    transition: border-color 0.15s;
}

.cart-flag.active {
    border-color: #163f7d;
    background: #e8eef7;
}

.cart-item-name {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--main);
    text-decoration: none;
}

.cart-item-name:hover { text-decoration: underline; }

.cart-item-variant {
    font-size: 0.75rem;
    color: var(--grey);
    margin-top: 0.15rem;
}

/* Sidebar */
.cart-sidebar {
    background: #f8f8f6;
    border-radius: 12px;
    padding: 1.5rem;
    position: sticky;
    top: 80px;
}

.cart-sidebar-title {
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: 1rem;
    color: var(--main);
}

.cart-sidebar-flags {
    display: flex;
    gap: 0.35rem;
    margin-bottom: 1rem;
}

.cart-sidebar-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.88rem;
    color: var(--main);
    padding: 0.5rem 0;
    border-bottom: 1px solid #e8e8e8;
}

.cart-sidebar-total {
    font-weight: 700;
    font-size: 1rem;
    border-bottom: none;
    padding-top: 0.75rem;
}

.cart-delivery-note {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: var(--grey);
    padding: 0.65rem 0;
    border-bottom: 1px solid #e8e8e8;
    line-height: 1.4;
}

.cart-delivery-note svg { flex-shrink: 0; margin-top: 1px; }

.cart-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    margin-top: 1.25rem;
    padding: 0.85rem 1rem;
    background: #163f7d;
    color: #fff !important;
    border-radius: 99px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: opacity 0.2s;
}

.cart-checkout-btn:hover { opacity: 0.88; color: #fff !important; }

/*Acordeon*/

.accordion-header {
    display: flex;
}

.accordion {
    --bs-accordion-bg: #F5F6F6;
}

.accordion-body {
    padding: 0;
}

.accordion-header button {
    border-radius: 0px !important;
}

.accordion-header button img {
    margin-right: 1rem;
    margin-left: -0.5rem;
}

.accordion-item {
    border: none;
    border-radius: 0px !important;
}

.accordion-button:not(.collapsed) {
    color: var(--black);
    box-shadow: none;
}

.accordion-button:not(.collapsed) {
    background-color: #F5F6F6;
    color: var(--black);
}

.accordion-button.collapsed:focus, .accordion-button.collapsed:active {
    box-shadow: none !important;
}

.accordion-button:not(.collapsed):focus, .accordion-button.collapsed:active {
    box-shadow: none !important;
}

/*configuracion inicial*/
.accordion-button::after {
    background-image: var(--bs-accordion-btn-icon);
    transform: var(--bs-accordion-btn-icon);
}


/*cuando no esta activo*/
.accordion-button:not(.collapsed)::after {
    background-image: var(--bs-accordion-btn-icon);
    transform: var(--bs-accordion-btn-icon);
}

/*cuando esta activo*/
.accordion-button[aria-expanded="true"]::after {
    transform: rotate(180deg);
}
.form-cupon {
    display: flex;
    height: 46px;
    padding: 10px 20px;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    border: 1px solid var(--Grey-8, #C4C4C4);
    background: var(--white);
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.form-cupon input[type="text"] {
    text-align: start;
    border: none;
    width: 50%;
    height: 35px;
    color: var(--grey);
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
}

.form-cupon input[type="text"]:focus{
    border: none;
    outline: none;
    box-shadow: none;
}

.form-cupon button{
    color: var(--purple-1);
    font-size: 12px;
    font-weight: 400;
    text-decoration-line: underline;
}

.form-check-input:checked {
    background-color: var(--purple-1) !important;
    border-color: var(--purple-1) !important;
}

.datos-facturacion {
    font-size: 14;
    font-weight: 400;
}

.section-pago {
    padding-bottom: 5rem;
}

.pago-section-title {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--grey);
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e8e8e8;
}

.pago-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--main);
    margin-bottom: 0.3rem;
    letter-spacing: 0.04em;
}

.pago-input {
    width: 100%;
    border: 1px solid #d0d0d0;
    border-radius: 8px;
    padding: 0.55rem 0.85rem;
    font-size: 0.88rem;
    color: var(--main);
    background: #fff;
    transition: border-color 0.2s;
    outline: none;
    font-family: inherit;
}

.pago-input:focus {
    border-color: #163f7d;
}

.pago-methods {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.pago-method-option {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    border: 1px solid #d0d0d0;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    cursor: pointer;
    font-size: 0.88rem;
    transition: border-color 0.2s;
}

.pago-method-option:has(input:checked) {
    border-color: #163f7d;
    background: #f0f4fb;
}

.pago-method-option input { accent-color: #163f7d; }

.pago-method-hint {
    font-size: 0.78rem;
    color: #555;
    margin: -0.2rem 0 0.35rem 1rem;
    padding-left: 0.1rem;
}

.pago-cash-change {
    padding: 0.75rem 1rem;
    background: #f8f9fa;
    border: 1px solid #d0d0d0;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.pago-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid #e8e8e8;
}

.pago-item-img {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}

.pago-item-info {
    flex: 1;
    min-width: 0;
}

.pago-item-name {
    font-size: 0.82rem;
    font-weight: 600;
    margin: 0 0 0.15rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pago-item-variant {
    font-size: 0.75rem;
    color: var(--grey);
    margin: 0 0 0.1rem;
}

.pago-item-qty {
    font-size: 0.75rem;
    color: var(--grey);
    margin: 0;
}

.pago-item-price {
    font-size: 0.85rem;
    font-weight: 700;
    flex-shrink: 0;
}

/* Confirmación */
.section-confirmado { min-height: 60vh; display: flex; align-items: center; }
.section-confirmado .container { width: 100%; }
.confirmado-icon { margin-bottom: 1.5rem; }
.confirmado-title { font-size: 2rem; font-weight: 700; color: var(--main); margin-bottom: 0.5rem; }
.confirmado-sub { font-size: 1.05rem; color: var(--grey); }
.confirmado-num { font-size: 1rem; margin-top: 1rem; }
.confirmado-msg { font-size: 0.9rem; color: var(--grey); margin-top: 0.5rem; }

.datos-facturacion .total-compra, .section-pago .total-compra {
    padding-bottom: 1rem;
    border-bottom: 1px solid #C4C4C4;
    margin-bottom: 3rem;
}

.datos-facturacion .btn-violeta, .section-pago .btn-violeta {
    width: 100%;
    padding: 0.5rem auto;
    height: auto;
    min-height: 46px;
    font-size: 14px;
}

.section-pago .enlaces {
    color: var(--grey-3);
    font-size: 14px;
    font-weight: 400;
    line-height: 26px;
}

.section-pago .enlaces a {
    color: var(--purple-1);
    text-decoration: underline;
    font-size: 14px;
    font-weight: 400;
}

.section-pago input {
    text-align: start;
    border-radius: 0px;
    border: 1px solid#C4C4C4;
    height: 46px;
}

.section-pago textarea {
    height: 86px;
    resize: none;
    border-radius:0;
}

.producto-rm-carrito {
    display: flex;
    border-bottom: 1px solid #E5E5E5;
    padding: 1.5rem 0;
}

.resumen-compra {
    padding: 1rem;
    background-color: #F5F6F6;
}

.resumen-compra .img-producto {
    width: 83px;
    height: 103px;
    margin-right: 2.5rem;
}

.resumen-compra .precio-actual {
    font-size: 16px;
    font-weight: 800;
    margin-left: 0.5rem;
}

.resumen-compra .precio-anterior {
    font-size: 14px;
    font-weight: 400;
    text-decoration: line-through;
}

#moneda-pago {
    max-width: 228px;
    margin-top: 1rem;
}

input[type="radio"] {
    width: 15px;
    height: 15px;
}

.radio-pago {
    padding-top: 0.5rem;
    height: 40px;
    max-width: 276px;
    border-bottom: 1px solid #E5E5E5;
}

.info-cuenta {
    padding-bottom: 2rem;
    border-bottom: 1px solid #CCC;
}

.form-registrarse {
    color: #3F3F3F;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}

.form-registrarse input[type="text"], 
.form-registrarse input[type="email"],
.form-registrarse input[type="password"] {
    color: var(--black);
    height: 46px;
    text-align: start;
}

.form-registrarse .btn-violeta {
    width: 100%;
    max-width: 242px;
    height: 46px;
}

.opinion {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.opinion p {
    max-width: 768px;
    color: var(--grey-3);
    font-size: 15px;
}

.opinion span {
    color: #000;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
}

.opciones-cuenta {
    display: flex;
    flex-direction: column;
    align-items: start;
    background: var(--white);
    width: 100%;
    font-size: 15px;
    font-size: 500;
    border: 1px solid #E5E5E5;
}

.opciones-cuenta ul {
    list-style: none;
    width: 100%;
    padding: 0;
}

.opciones-cuenta ul li {
    padding-left: 2rem;
    height: 51px;
    color: var(--grey);
    width: 100%;
    transition: 0.2s all ease;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    line-height: 24px;
    display: flex;
    align-items: center;
}

.opciones-cuenta ul li.seleccionado {
    font-weight: 800;
    background-color: #EEEEEE;
    color: #474141;
    font-weight: 700;
}

.titulo-panel {
    background-color: #EEEEEE;
    font-weight: 600 !important;
    color: var(--black) !important;
}

.voucher {
    display: flex;
    padding: 2rem 0;
    flex-direction: column;
    align-items: center;
    border: 1px solid #E5E5E5;
    margin-top: 2rem;
    width: 100%;
}

.voucher .titulo {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.voucher p {
    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 0.5rem;
}

.voucher a {
    color: var(--purple-1);
    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
    text-decoration-line: underline;
}

.section-cuenta-panel .enlaces{
    margin-bottom: 50px;
}

.section-cuenta-panel h2 {
    margin-bottom: 60px;
}

.banner-cuenta{
    margin-bottom: 70px;
    height: 109px;
    width: auto;
}

#informacion .row {
    margin-bottom: 70px;
}

.form-pedido input, .form-suscripcion input {
    border-radius: 0px !important;
}

.form-pedido .btn-violeta, .form-suscripcion .btn-violeta{
    width: 242px;
    height: 46px;
    margin-left: 10px;
    margin-top: 1rem !important;
}

.form-suscripcion .oferta {
    max-width: 640px;
}

.section-contacto .info-atencion {
    font-size: 15px;
    font-weight: 400;
    color: var(--grey);
}

.section-contacto .info-atencion p{
    margin-bottom: 5px;
}

.section-contacto .contenedor-gifcard {
    height: 300px;
    margin-top: 30px;
    max-width: 300px;
}

.section-contacto .contenedor-gifcard .btn-violeta{
    display: flex;
    width: 100%;
    max-width: 183px;
    margin-bottom: -15px;
}

.section-contacto .gitfcard .titulo {
    margin-left: 0;
    max-width: 150px;
}

.form-contacto, .form-contacto select,
.form-contacto textarea, .form-contacto input {
    color: var(--black-2);
    font-size: 14px;
    font-weight: 400;
}

.form-contacto input, .form-contacto select{
    height: 46px;
    border-radius: 0px;
}

.form-contacto textarea{
    height: 189px;
    resize: none;
    border-radius: 0px;
}

.form-contacto .btn-violeta {
    display: flex;
    width: 100%;
    max-width: 183px;
    height: 46px;
}

.contenedor-preguntas {
    margin: 0 10%;
    margin-bottom: 2rem;
}

.section-preguntas .accordion-item {
    background-color: var(--white);
}

.section-preguntas {
    margin-bottom: 5rem;
}

.section-preguntas .accordion-item {
    border-top: 1px solid #CCC;
}

.section-preguntas .accordion-button {
    background-color: var(--white) !important;
    border-radius: 0px !important;
}

.section-preguntas .accordion-button[aria-expanded="true"] span{
    font-weight: 600;
}

.section-preguntas .accordion-button span{
    color: var(--grey-3);
    font-size: 14px;
    font-weight: 400;
}

.section-suscripcion {
    margin-bottom: 5rem;
}

.section-suscripcion .bienvenido {
    background-color: #F5F6F6;
    padding: 92px 0 39px 0;
}

.contenedor-suscripcion {
    margin: 0 5%;
    margin-bottom: 2rem;
}

.section-suscripcion .bienvenido h2 {
    font-size: 64px;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    line-height: 110%;
    margin-bottom: 33px;
}

.bienvenido .contenedor-suscripcion .info  p{
    max-width: 402px;
}

.instrucciones {
    display: flex;
    font-family: "Inter";
    font-size: 14px;
    font-style: italic;
    line-height: 150%;
    align-items: center;
    margin-top: 1rem;
    font-weight: 300;
}

.instrucciones p {
    margin-bottom: 0;
}

.redondo {
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--black-2);
    border-radius: 50%;
    margin-right: 1rem;
    box-sizing: border-box;
}

.section-suscripcion .btn-violeta {
    width: 282px;
    height: 46px;
    font-size: 14px;
    margin-bottom: 18px;
}

.contenedor-planes {
    padding: 50px 100px 0px 100px;
}

.redondo-2 {
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--black-2);
    border-radius: 50%;
}

.contenedor-planes .table-responsive {
    padding: 1rem 2rem;
    background-color: #F5F6F6;
}

.contenedor-planes .table>thead {
    vertical-align: sub;
    border-bottom: 1px solid #C4C4C4;
}

.contenedor-planes .table>:not(caption)>*>* {
    border: 0px;
}


.contenedor-planes table thead th {
    font-size: 20px;
    font-weight: 500;
}

.info-atomizador p {
    background-color: #F5F6F6;
    padding: 20px;
    font-size: 15px;
    line-height: 180%;
}

.ver-mas {
    color: var(--purple-1);
    text-decoration: underline;
}

.ver-mas:hover {
    color: var(--purple-1);
}

.advertencia {
    color: #383838;
    font-size: 12px;
    font-style: italic;
    font-weight: 300;
    line-height: 150%;
}

.section-cupones .encabezado {
    margin: 0 20% 3rem 20%;
    font-size: 14px;
}

.section-cupones .condiciones {
    margin-top: 300px;
    font-size: 12px;
    font-weight: 400;
    line-height: 170%;
    text-transform: capitalize;
}

.cupon {
    padding: 0 1.5rem;
    margin: 1rem 0;
}

.cupon div{
    border: 1px dashed var(--Grey-8, #C4C4C4);
    background: #FFF;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    height: 260px;
}

.contenedor-cupones {
    margin: 0 10%;
}

.cupon .btn-blanco {
    margin: 1rem 0;
    border: 1px solid #C4C4C4;
}

.footer-top form {
    padding-left: 12px;
} 

.soporte {
    display: flex;
    align-items: center;
    width: 168px;
    height: 53px;
    flex-shrink: 0;
    border-radius: 30px;
    background: var(--purple-1, #173e7d);
    padding: 0 20px;
    position: absolute;
    right: 30px;
    bottom: 20px;
    transition: 0.5s all ease;
    cursor: pointer;
    color: var(--white);
}

.soporte:hover {
    transform: scale(1.05);
}

.soporte img {
    padding-right: 10px;
}



@media (max-width: 1200px) {
    .card-title {
        min-height: 45px;
    }
}

@media (max-width: 992px) {
    nav .container, .footer-ventajas .container {
        max-width: 992px;
        background-color: var(--purple-1);
        margin: 0;
    }

    .footer-top .container {
        max-width: 992px;
    }

    .nav-header {
        padding: 0 10px;
    }

    .navbar {
        padding-top: 0;
        border-top: 1px solid #734F78;
    }
    
    .navbar .container {
        padding: 1rem 10px;
    }

    .nav-acciones {
        position: absolute;
        right: 0;
    }

    .section-banners .col-6 div{
        height: 350px;
    }

    .section-cupones .encabezado {
        margin: 0 0 3rem 0;
    }

    .contenedor-cupones {
        margin: 0;
    }

    .section-cupones .condiciones {
        margin-top: 100px;
    }

    .categorias li a{
        font-size: 14px;
    }

    .categorias .btn-violeta {
        width: 100px;
        font-size: 12px;
        font-weight: 400;
    }

    .section-banners .titulo {
        font-size: 24px;
    }

    .section-banners .col-12 .contenido {
        padding: 3rem 0 2rem 0;
        display: flex;
    }

    .section-banners .col-md-6 .contenido {
        padding: 3rem 0 2rem 0;
        display: flex;
        max-width: 100%;
    }

    .section-banners .btn-cuadrado {
        width: 90% !important;
    }

    .footer-ventajas .row li:not(:last-child) {
        padding-bottom: 15px;
    }

    .section-grilla .row .col-6 img:not(.imagen-fondo) {
        max-height: 167px;
    }

    .contenedor-suscripcion {
        margin: 0;
    }

    .contenedor-planes {
        padding: 50px 0px 0px 0px;
    }

    .bienvenido {
        padding: 20px !important;
    }

    .bienvenido h2 {
        font-size: 52px !important;
    }
}

@media (max-width: 767px) {
    .gitfcard .titulo {
        margin-left: 0;
    }

    .section-producto .btn-cuadrado {
        height: 46px;
        width: 200px;
        margin: 0 1rem !important;
    }

    .contenedor-cantidad {
        flex-direction: column;
        width: 50px;
        height: 110px;
    }

    .btn-add, .btn-sus {
        margin: 0;
    }

    .contedor-btn-registro {
        margin: 0;
    }

    .opinion {
        flex-direction: column;
        text-align: center;
    }

    .opinion span {
        text-align: end;
    }

    .section-cupones .condiciones {
        margin-top: 30px;
    }

    .nav-header {
        flex-direction: column-reverse;
        height: 80px;
        justify-content: space-around;
    }

    .navbar .logo img{
        width: 180px;
        margin-left: 15px;
    }

    .navbar-toggler-icon {
        width: 12px;
    }

    .navbar .container {
        justify-content: start;
    }

    .section-set .titulo {
        font-size: 50px;
    }

    .contenido {
        padding: 4rem;
        max-width: 100%;
    }

    .section-ofertas .contenido {
        padding: 2rem 0;
        display: flex;
    }

    .soporte {
        width: 100px;
        height: 50px;
        padding: 0 10px;
    }

    .section-contacto .contenedor-gifcard {
        max-width: 100%;
        height: 250px;
    }
    
    .section-contacto .contenedor-gifcard .btn-violeta{
        max-width: 100%;
    }

    .section-contacto .gitfcard .titulo {
        max-width: 100%;
        text-align: center;
    }

    .form-contacto .btn-violeta {
        width: 100%;
        max-width: 100%;
    }

    .contenedor-preguntas {
        margin: 0;
    }

    .contenedor-preguntas .accordion img{
        height: 250px;
        margin: 0 !important;
    }

    .section-pago {
        padding-bottom: 0;
    }
}

@media (max-width: 570px) {
    .soporte {
        right: 10px;
    }

    .section-info-producto .menu-info li{
        font-size: 10px;
        width: 50%;
    }

    .section-grilla .row .col-6 {
        padding: 0;
    }
}

@media (max-width: 360px) {
    .nav-header {
        height: 100px;
    }

    .form-2 {
        padding: 10px;
    }
}

/* ============================================================
   RESPONSIVE TYPE SCALE
   ============================================================ */
@media (max-width: 767.98px) {
    :root {
        --text-h1: 2.25rem;   /* 36px */
        --text-h2: 1.625rem;  /* 26px */
        --text-h3: 1.25rem;   /* 20px */
    }

    .contenido .titulo {
        font-size: 40px;
    }
}

/* ============================================================
   NAVBAR PRINCIPAL (estilo Arezzo)
   ============================================================ */
.navbar-main {
    background: #fff;
    padding: 0;
}

.nm-inner {
    display: flex;
    align-items: center;
    height: 70px;
    padding: 0 2.5rem;
    gap: 1.5rem;
    position: relative;
    max-width: 1320px;
    margin: 0 auto;
}

.nm-brand img {
    display: block;
}

.nm-links {
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
    gap: 1.25rem;
    flex: 1;
}

.nm-links li {
    list-style: none;
}

.nm-links li a,
.nm-outlet {
    font-size: 0.65rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--main);
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
    transition: opacity 0.2s;
}

.nm-links li a:hover { opacity: 0.55; }

.nm-sep {
    color: #bbb;
    font-weight: 300;
    font-size: 1.1rem;
    list-style: none;
}

.nm-outlet {
    font-weight: 700 !important;
}

/* Search en navbar */
.nm-search {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    border-bottom: 1px solid rgba(26,26,26,0.25);
    padding-bottom: 2px;
    margin-right: 0.25rem;
}

.nm-search-icon {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0;
}

.nm-search-input {
    border: none;
    background: transparent;
    font-size: 0.65rem;
    letter-spacing: 0.09em;
    color: var(--main);
    width: 132px;
    outline: none;
    font-weight: 500;
    font-family: var(--font-body);
}

.nm-search-input::placeholder {
    color: var(--grey);
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

body.has-video-hero .nm-search {
    border-bottom-color: rgba(26,26,26,0.25);
}

body.has-video-hero .nm-search-input,
body.has-video-hero .nm-search-input::placeholder {
    color: var(--main);
}

body.has-video-hero.scrolled-past-hero .nm-search {
    border-bottom-color: rgba(26,26,26,0.25);
}

body.has-video-hero.scrolled-past-hero .nm-search-input,
body.has-video-hero.scrolled-past-hero .nm-search-input::placeholder {
    color: var(--main);
}

.nm-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-left: auto;
}

.nm-action {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--main);
    text-decoration: none;
    font-size: 0.65rem;
    letter-spacing: 0.09em;
    font-weight: 500;
}

.nm-toggler {
    background: transparent;
    border: 1px solid rgba(0,0,0,0.25);
    padding: 0.35rem 0.5rem;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.nm-accent-line {
    height: 2px;
    background: linear-gradient(90deg, #c0442a 0%, #e07840 40%, #d4a560 70%, #c0442a 100%);
}

/* ============================================================
   OUTLET SECTION
   ============================================================ */
/* ============================================================
   HERO VIDEO — temporal, estilo Swarovski
   ============================================================ */

/* Header fijo y transparente sobre el video */
body.has-video-hero .nav-header { display: none; }

body.has-video-hero header {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1030;
    background: transparent;
    transition: background 0.4s ease, box-shadow 0.4s ease;
}

/* has-video-hero: navbar igual que las páginas internas */

/* Nav links oscuros (video claro) */
body.has-video-hero .nm-links li a,
body.has-video-hero .nm-outlet,
body.has-video-hero .nm-sep {
    color: var(--main) !important;
}

body.has-video-hero .nm-action {
    color: var(--main);
}

body.has-video-hero .icono-nav {
    filter: none !important;
}

body.has-video-hero .nm-toggler {
    border-color: rgba(0,0,0,0.25);
}

/* Accent line oculta sobre el video */
body.has-video-hero .nm-accent-line {
    display: none;
}

/* Scrolleado: header sólido */
body.has-video-hero.scrolled-past-hero header {
    background: var(--bg-page) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07) !important;
}

body.has-video-hero.scrolled-past-hero .nm-links li a,
body.has-video-hero.scrolled-past-hero .nm-outlet,
body.has-video-hero.scrolled-past-hero .nm-sep {
    color: var(--main) !important;
}

body.has-video-hero.scrolled-past-hero .nm-action {
    color: var(--main);
}

body.has-video-hero.scrolled-past-hero .icono-nav {
    filter: none !important;
}


body.has-video-hero.scrolled-past-hero .nm-accent-line {
    display: block;
}

/* Hero section: 75vh desde el top, debajo del header fijo */
.hero-video-section {
    position: relative;
    width: 100%;
    height: 85vh;
    overflow: hidden;
    margin-top: -72px;
    padding-top: 72px;
}

.hero-video-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    z-index: 0;
}

.hero-video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.08);
    z-index: 1;
}

/* Texto bottom-left igual a Swarovski */
.hero-video-content {
    position: absolute;
    bottom: 80px;
    left: 60px;
    z-index: 2;
    text-align: left;
    max-width: 520px;
}

.hero-video-title {
    font-family: 'Kumbh Sans', sans-serif !important;
    font-size: 3rem;
    font-weight: 400 !important;
    color: #1a1a1a !important;
    line-height: 1.15;
    margin-bottom: 1.75rem;
    letter-spacing: -0.01em;
}

.hero-video-cta {
    display: inline-block;
    padding: 0.75rem 1.75rem;
    border: 1px solid #1a1a1a;
    color: #1a1a1a;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 400;
    background: rgba(255,255,255,0.55);
    backdrop-filter: blur(2px);
    transition: background 0.25s ease;
}

.hero-video-cta:hover {
    background: rgba(255,255,255,0.85);
    color: #1a1a1a;
}

@media (max-width: 767.98px) {
    .hero-video-content {
        bottom: 60px;
        left: 24px;
        right: 24px;
    }
    .hero-video-title {
        font-size: 2rem !important;
    }
}

/* ============================================================
   OUTLET — nuevo layout editorial
   ============================================================ */
.section-outlet {
    padding: 60px 0;
    margin-top: 30px;
}

.outlet-year {
    font-size: 2.5rem;
    font-weight: 500 !important;
    color: var(--main);
    line-height: 1;
    margin-bottom: 0.75rem;
}

.outlet-desc-top {
    font-size: 0.9rem;
    color: var(--grey);
    line-height: 1.65;
    max-width: 280px;
    margin: 0;
}

.outlet-heading {
    font-size: 2.75rem;
    line-height: 1.1;
    text-align: right;
    margin: 0;
}

.outlet-hero-link {
    display: block;
    text-decoration: none;
}

.outlet-hero-img {
    aspect-ratio: 3 / 4;
    overflow: hidden;
    border-radius: var(--radius-card);
}

.outlet-hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.outlet-hero-link:hover .outlet-hero-img img {
    transform: scale(1.03);
}

.outlet-product-item {
    display: block;
    text-decoration: none;
    color: inherit;
}

.outlet-product-img {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: var(--radius-card);
    margin-bottom: 0.75rem;
}

.outlet-product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.outlet-product-item:hover .outlet-product-img img {
    transform: scale(1.03);
}

.outlet-product-name {
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--main);
    margin-bottom: 0.2rem;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.outlet-product-price {
    font-size: 0.88rem;
    color: var(--grey);
    margin: 0;
}

@media (max-width: 991.98px) {
    .outlet-heading {
        text-align: left;
        font-size: 2rem;
        margin-top: 1.5rem;
    }

    .coleccion-intro {
        padding: 0 0 2rem;
    }

    .coleccion-intro h2 {
        font-size: 1.75rem;
    }

    .shop-look-right {
        padding: 2.5rem 1.5rem 0;
    }

    .shop-look-text h2 {
        font-size: 2.5rem;
    }
}

/* ============================================================
   ARMÁ TU LOOK
   ============================================================ */
.section-shop-look {
    padding: 60px 0;
}

.shop-look-portrait {
    aspect-ratio: 2 / 3;
    overflow: hidden;
    border-radius: var(--radius-card);
}

.shop-look-portrait img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.shop-look-portrait:hover img {
    transform: scale(1.05);
}

.shop-look-caption {
    font-size: 0.85rem;
    color: var(--grey);
    margin-top: 0.75rem;
    padding-left: 0.25rem;
}

.shop-look-right {
    padding: 0 3rem 0 4rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.shop-look-text {
    margin-bottom: 2rem;
}

.shop-look-text h2 {
    font-size: 3.5rem;
    line-height: 1.05;
    margin-bottom: 1rem;
}

.shop-look-desc {
    color: var(--grey);
    font-size: 0.95rem;
    line-height: 1.65;
}

.shop-look-grid-item {
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: var(--radius-card);
}

.shop-look-grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.shop-look-grid-item:hover img {
    transform: scale(1.04);
}

/* ============================================================
   INSTAGRAM SECTION
   ============================================================ */
.section-instagram {
    background: var(--bg-page);
    padding: 80px 0;
    overflow: hidden;
}

.ig-layout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    min-height: 504px;
    max-width: 1296px;
    margin: 0 auto;
}

/* Collage izquierda */
.ig-collage-left {
    position: relative;
    flex: 0 0 34%;
    height: 504px;
}

@keyframes ig-float {
    0%   { transform: translateY(0px); }
    50%  { transform: translateY(-8px); }
    100% { transform: translateY(0px); }
}

.ig-photo {
    position: absolute;
    overflow: hidden;
    border-radius: 4px;
    animation: ig-float 5s ease-in-out infinite;
}

.ig-photo-1 { animation-delay: 0s; }
.ig-photo-2 { animation-delay: 1s; }
.ig-photo-3 { animation-delay: 2s; }
.ig-photo-4 { animation-delay: 0.5s; }
.ig-photo-5 { animation-delay: 1.5s; }

.ig-photo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.ig-photo:hover {
    animation-play-state: paused;
}

.ig-photo:hover img {
    transform: scale(1.04);
    transition: transform 0.4s ease;
}

/* Foto 1: arriba derecha */
.ig-photo-1 {
    right: 10%;
    top: 0;
    width: 52%;
    height: 50%;
}

/* Foto 2: izquierda medio, solapa foto 1 */
.ig-photo-2 {
    left: 0;
    top: 30%;
    width: 42%;
    height: 36%;
    z-index: 1;
}

/* Foto 3: abajo centro */
.ig-photo-3 {
    left: 18%;
    bottom: 0;
    width: 52%;
    height: 42%;
}

/* Centro */
.ig-center {
    flex: 0 0 24%;
    text-align: center;
    padding: 0 2rem;
}

.ig-eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    color: var(--grey);
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}

.ig-title {
    font-size: 2rem;
    font-weight: 400 !important;
    line-height: 1.2;
    color: var(--main);
    margin-bottom: 1.5rem;
}

.ig-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.4rem;
    border: 1px solid var(--main);
    border-radius: 99px;
    font-size: 0.7rem;
    letter-spacing: 0.09em;
    font-weight: 500;
    color: var(--main);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.ig-btn:hover {
    background: var(--main);
    color: #fff;
}

/* Collage derecha */
.ig-collage-right {
    position: relative;
    flex: 0 0 34%;
    height: 504px;
}

/* Foto 4: arriba izquierda, grande */
.ig-photo-4 {
    left: 5%;
    top: 0;
    width: 65%;
    height: 62%;
}

/* Foto 5: abajo derecha, solapa foto 4 */
.ig-photo-5 {
    right: 0;
    bottom: 0;
    width: 52%;
    height: 44%;
    z-index: 1;
}

@media (max-width: 991.98px) {
    .ig-layout {
        flex-direction: column;
        gap: 2rem;
    }
    .ig-collage-left,
    .ig-collage-right {
        flex: none;
        width: 100%;
        height: 340px;
    }
    .ig-center {
        flex: none;
    }
}
/* Grilla productos — imagen edge-to-edge */
.grilla-content .card {
    padding: 0;
}

.grilla-content .card img:not(.card-brand-logo) {
    width: 100%;
    object-fit: contain;
    background: var(--bg-page);
    display: block;
    transition: transform 0.4s ease;
}

.section-grilla .row .col-6 img:not(.imagen-fondo) {
    max-height: 340px;
}

.grilla-content .card .card-body {
    padding: 0.65rem 0.75rem 0;
}

/* Product image zoom on hover — desktop only */

@media (min-width: 992px) {
    .carrusel_productos .card:hover img:not(.card-brand-logo),
    .section-producto .card:hover img,
    .grilla-content .card:hover img:not(.card-brand-logo) {
        transform: scale(1.06);
        cursor: pointer;
    }
}

/* Cart added toast — desktop only */
@keyframes cart-toast-anim {
    0%   { opacity: 0; transform: translateX(-50%) translateY(0px); }
    15%  { opacity: 1; transform: translateX(-50%) translateY(-24px); }
    65%  { opacity: 1; transform: translateX(-50%) translateY(-60px); }
    100% { opacity: 0; transform: translateX(-50%) translateY(-90px); }
}

.cart-toast {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translateX(-50%);
    background: #22c55e;
    color: #fff;
    padding: 0.6rem 1.6rem;
    border-radius: 99px;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    z-index: 9999;
    pointer-events: none;
    display: none;
    white-space: nowrap;
    box-shadow: 0 4px 16px rgba(34,197,94,0.3);
}

.cart-toast.active {
    display: block;
    animation: cart-toast-anim 2s ease forwards;
}

/* ============================================================
   PÁGINA PRODUCTOS — sidebar + grilla
   ============================================================ */
.grilla-layout {
    display: flex;
    gap: 0;
    min-height: 80vh;
    max-width: 1400px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.grilla-sidebar {
    flex: 0 0 220px;
    padding-right: 2rem;
    border-right: 1px solid #ebebeb;
}

.grilla-content {
    flex: 1;
    padding-left: 2rem;
    min-width: 0;
}

.grilla-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #ebebeb;
}

.grilla-header-left {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
}

.grilla-banner-itau img {
    height: 48px;
    width: auto;
    display: block;
    border-radius: 8px;
}

.grilla-title {
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    margin: 0;
}
.grilla-brand-logo {
    height: 38px;
    max-height: 38px;
    max-width: 180px;
    width: auto;
    object-fit: contain;
    display: block;
}


.grilla-count {
    font-size: 0.8rem;
    color: var(--grey);
}

/* Sidebar nav */
.sidebar-nav {
    position: sticky;
    top: 80px;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #ddd transparent;
}

.sidebar-all {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--grey);
    padding: 0.4rem 0;
    margin-bottom: 1rem;
    border-bottom: 1px solid #ebebeb;
    padding-bottom: 0.75rem;
}

.sidebar-all.active,
.sidebar-all:hover {
    color: var(--main);
}

.sidebar-group {
    margin-bottom: 0.15rem;
}

.sidebar-parent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--main);
    padding: 0.45rem 0;
    cursor: pointer;
    transition: color 0.2s;
}

.sidebar-parent:hover {
    color: var(--purple-1);
}

.sidebar-parent.active {
    color: var(--purple-1);
}

.sidebar-chevron {
    font-size: 0.9rem;
    transition: transform 0.25s ease;
    display: inline-block;
}

.sidebar-group.open .sidebar-chevron {
    transform: rotate(90deg);
}

.sidebar-children {
    display: none;
    padding-left: 0.75rem;
    margin-bottom: 0.5rem;
}

.sidebar-group.open .sidebar-children {
    display: block;
}

.sidebar-child {
    display: block;
    font-size: 0.8rem;
    color: var(--grey);
    padding: 0.3rem 0;
    transition: color 0.2s;
    line-height: 1.4;
}

.sidebar-child:hover {
    color: var(--main);
}

.sidebar-child.active {
    color: var(--purple-1);
    font-weight: 600;
}

.sidebar-brand-filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    margin-bottom: 0.5rem;
    background: #f5f0ea;
    border-radius: 6px;
    font-size: 0.8rem;
}

.sidebar-brand-label { color: #3a3a3a; }

.sidebar-brand-clear {
    color: var(--grey);
    text-decoration: none;
    white-space: nowrap;
    font-size: 0.75rem;
}

.sidebar-brand-clear:hover { color: #c00; }
.sidebar-brand-cats {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #ebebeb;
}

.sbc-row {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 5px 0;
    text-decoration: none;
    cursor: pointer;
    transition: color 0.15s;
    color: #555;
}

.sbc-row:hover { color: #111; }
.sbc-row:hover .sbc-box { border-color: #1d4ed8; }

.sbc-box {
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    border: 1.5px solid #ccc;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, border-color 0.15s;
    position: relative;
}

.sbc-row.checked .sbc-box {
    background: #1d4ed8;
    border-color: #1d4ed8;
}

.sbc-row.checked .sbc-box::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 5px;
    border-left: 1.5px solid #fff;
    border-bottom: 1.5px solid #fff;
    transform: rotate(-45deg) translateY(-1px);
}

.sbc-label {
    font-size: 0.75rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.3;
}

.sbc-row.checked .sbc-label {
    color: #1d4ed8;
    font-weight: 700;
}


@media (max-width: 767.98px) {
    .grilla-layout {
        flex-direction: column;
        padding: 1rem;
    }
    .grilla-sidebar {
        flex: none;
        padding-right: 0;
        border-right: none;
        border-bottom: 1px solid #ebebeb;
        padding-bottom: 1rem;
        margin-bottom: 1rem;
    }
    .grilla-content {
        padding-left: 0;
    }
    .sidebar-children {
        display: block;
    }
}

/* ============================================================
   PRODUCTO DETALLE — rediseño
   ============================================================ */
.pd-info {
    max-width: 440px;
    margin: 0 auto;
    padding: 0.5rem 0;
}

.pd-brand {
    text-align: center;
    margin-bottom: 1rem;
}

.pd-brand img {
    max-height: 36px;
    object-fit: contain;
}

.pd-brand-text {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--main);
}

.pd-title {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    text-align: center;
    line-height: 1.25;
    color: var(--main);
    margin-bottom: 0.75rem;
}

.pd-category-badge {
    display: inline-block;
    background: #163f7d;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding: 0.25rem 0.85rem;
    border-radius: 99px;
    text-align: center;
    margin: 0;
    display: flex;
    justify-content: center;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.pd-sku {
    text-align: center;
    font-size: 0.75rem;
    color: var(--grey);
    margin-bottom: 1.25rem;
}

.pd-precio {
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    color: var(--main);
    margin-bottom: 1.5rem;
    letter-spacing: -0.01em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.pd-currency-flags {
    display: flex;
    gap: 0.35rem;
    align-items: center;
}

.pd-flag {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 2px solid transparent;
    background: #f0f0f0;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s, transform 0.15s;
    line-height: 1;
    padding: 0;
}

.pd-flag:hover {
    transform: scale(1.1);
}

.pd-flag.active {
    border-color: #163f7d;
    background: #e8eef7;
}

.pd-breadcrumb-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

img.pd-banner-itau {
    height: 44px;
    width: auto;
    flex-shrink: 0;
    border-radius: 6px;
    display: block;
}

.pt-relacionados {
    padding-top: 100px;
}

.pd-variants {
    margin-bottom: 1.25rem;
}

.pd-variants-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--grey);
    margin-bottom: 0.4rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.pd-select {
    width: 100%;
    border: 1px solid #d0d0d0;
    border-radius: 99px;
    padding: 0.55rem 1rem;
    font-size: 0.85rem;
    color: var(--main);
    background: #fff;
    appearance: auto;
}

.pd-precio-itau {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    font-size: 1.1rem;
    color: var(--grey);
    margin-top: -0.75rem;
    margin-bottom: 1.25rem;
}

.pd-precio-itau strong {
    color: var(--main);
    font-weight: 700;
}

.pd-precio-itau-logo {
    height: 22px;
    width: auto;
    border-radius: 3px;
    opacity: 0.85;
}

.pd-qty-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 0.75rem;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #d0d0d0;
    border-radius: 99px;
    background: #fff;
    height: 40px;
}

.pd-qty-btn {
    background: none;
    border: none;
    width: 40px;
    height: 38px;
    font-size: 1.2rem;
    cursor: pointer;
    color: var(--main);
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pd-qty-btn:hover {
    color: #163f7d;
}

.pd-qty-val {
    width: 40px;
    text-align: center;
    border-left: 1px solid #d0d0d0;
    border-right: 1px solid #d0d0d0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--main);
    height: 38px;
    line-height: 38px;
    display: block;
    flex-shrink: 0;
}

.pd-actions {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-bottom: 1.25rem;
}

.pd-actions > * {
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: unset !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.pd-actions .pd-btn-dark {
    margin-top: 30px;
}

.pd-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.75rem 1rem;
    border-radius: 99px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.2s;
    text-decoration: none;
    border: none;
}

.pd-btn:hover {
    opacity: 0.88;
    transform: scale(1.01);
}

.pd-btn-outline {
    background: #fff;
    border: 2px solid var(--main);
    color: var(--main);
}

.pd-btn-dark {
    background: #163f7d;
    color: #fff !important;
}

.pd-btn-dark:hover {
    color: #fff !important;
}

.pd-btn-whatsapp {
    background: #25D366;
    color: #fff !important;
}

.pd-btn-whatsapp:hover {
    color: #fff !important;
}

.pd-fav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    background: none;
    border: none;
    color: var(--grey);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    cursor: pointer;
    padding: 0.4rem 0;
    transition: color 0.2s;
}

.pd-fav:hover,
.pd-fav.active {
    color: #e0294a;
}

.pd-fav.active svg {
    fill: #e0294a;
    stroke: #e0294a;
}

/* Thumbnails */
.pd-thumb {
    border: 2px solid transparent;
    border-radius: 8px;
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.2s;
}

.pd-thumb img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
}

.pd-thumb:hover,
.pd-thumb.active {
    border-color: #163f7d;
}

.pd-main-img-wrap {
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    cursor: zoom-in;
}

.pd-main-img-wrap.is-empty {
    cursor: default;
}

.pd-main-img-wrap img {
    width: 100%;
    object-fit: contain;
    background: var(--bg-page);
    transition: transform 0.3s;
}

.pd-main-img-wrap:hover img {
    transform: scale(1.03);
}

.pd-zoom-icon {
    position: absolute;
    bottom: 0.75rem;
    right: 0.75rem;
    background: rgba(255,255,255,0.85);
    border-radius: 50%;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
}

.pd-main-img-wrap:hover .pd-zoom-icon {
    opacity: 1;
}

/* Fix: pd-btn overrides btn-ag-carrito conflicts */
.pd-btn.pd-add-cart {
    width: 100%;
    height: auto;
    min-width: unset;
    margin: 0;
    padding: 0.75rem 1rem;
    display: flex;
}

/* ==============================================
   CUENTA / ACCOUNT
   ============================================== */
.section-cuenta { min-height: 70vh; }

.cuenta-login-wrap {
    display: flex;
    justify-content: center;
    padding: 1rem 0;
}
.cuenta-login-box {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 20px rgba(0,0,0,.08);
    padding: 2.5rem 2rem;
    width: 100%;
    max-width: 440px;
}
.cuenta-login-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--main);
    margin-bottom: 1.5rem;
}
.cuenta-login-register {
    text-align: center;
    font-size: 0.88rem;
    color: #666;
}
.cuenta-login-register a { color: var(--main); font-weight: 600; text-decoration: none; }
.cuenta-login-register a:hover { text-decoration: underline; }

/* Sidebar */
.cuenta-sidebar {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(0,0,0,.06);
    padding: 1.5rem;
    position: sticky;
    top: 88px;
}
.cuenta-sidebar-user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 1rem;
}
.cuenta-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--main);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    font-weight: 700;
    flex-shrink: 0;
}
.cuenta-sidebar-name {
    font-weight: 600;
    font-size: 0.92rem;
    margin-bottom: 0.1rem;
    color: #1a1a2e;
}
.cuenta-sidebar-email {
    font-size: 0.78rem;
    color: #888;
    margin-bottom: 0;
    word-break: break-all;
}

/* Nav */
.cuenta-nav { display: flex; flex-direction: column; gap: 0.2rem; }
.cuenta-nav-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 0.75rem;
    border: none;
    border-left: 3px solid transparent;
    background: none;
    border-radius: 0 8px 8px 0;
    color: #555;
    font-size: 0.88rem;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
    width: 100%;
    transition: background 0.15s, color 0.15s;
}
.cuenta-nav-item:hover { background: #f5f7fb; color: var(--main); }
.cuenta-nav-item.active {
    background: #eef2ff;
    color: var(--main);
    font-weight: 600;
    border-left-color: var(--main);
}
.cuenta-nav-badge {
    background: var(--main);
    color: #fff;
    font-size: 0.68rem;
    border-radius: 20px;
    padding: 0.1rem 0.45rem;
    margin-left: auto;
    font-weight: 700;
}
.cuenta-logout-btn {
    width: 100%;
    background: none;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.5rem;
    font-size: 0.82rem;
    color: #999;
    cursor: pointer;
    transition: all 0.15s;
    margin-top: 1rem;
}
.cuenta-logout-btn:hover { border-color: #dc2626; color: #dc2626; background: #fff5f5; }

/* Content card */
.cuenta-content {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 16px rgba(0,0,0,.06);
    padding: 2rem;
    min-height: 420px;
}
.cuenta-tab-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--main);
    margin-bottom: 1.5rem;
}
.cuenta-save-btn {
    background: var(--main);
    color: #fff !important;
    border: none;
    border-radius: 8px;
    padding: 0.6rem 1.5rem;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.15s;
    text-decoration: none;
    display: inline-block;
}
.cuenta-save-btn:hover { opacity: 0.88; }
.cuenta-cancel-btn {
    background: none;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 0.6rem 1.25rem;
    font-size: 0.88rem;
    color: #666;
    cursor: pointer;
    transition: all 0.15s;
}
.cuenta-cancel-btn:hover { border-color: #bbb; }
.cuenta-add-btn {
    background: #fff;
    border: 2px solid var(--main);
    color: var(--main);
    border-radius: 8px;
    padding: 0.4rem 1rem;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}
.cuenta-add-btn:hover { background: var(--main); color: #fff; }
.cuenta-alert {
    padding: 0.7rem 1rem;
    border-radius: 8px;
    font-size: 0.88rem;
    line-height: 1.5;
}
.cuenta-alert-success { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.cuenta-alert-error   { background: #fef2f2; color: #991b1b; border: 1px solid #fca5a5; }

/* Addresses */
.cuenta-addr-card {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    background: #f9fafc;
    border: 1px solid #e8eaf0;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin-bottom: 0.75rem;
}
.cuenta-addr-label {
    font-weight: 700;
    font-size: 0.8rem;
    color: var(--main);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.cuenta-addr-badge {
    display: inline-block;
    background: var(--main);
    color: #fff;
    font-size: 0.68rem;
    border-radius: 4px;
    padding: 0.1rem 0.4rem;
    font-weight: 600;
    margin-left: 0.4rem;
    vertical-align: middle;
}
.cuenta-addr-info p { font-size: 0.88rem; color: #444; }
.cuenta-addr-actions {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    align-items: flex-end;
    flex-shrink: 0;
}
.btn-set-default {
    background: none;
    border: 1px solid var(--main);
    color: var(--main);
    border-radius: 6px;
    padding: 0.28rem 0.6rem;
    font-size: 0.75rem;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s;
}
.btn-set-default:hover { background: var(--main); color: #fff; }
.btn-delete-addr {
    background: none;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 0.28rem 0.55rem;
    cursor: pointer;
    color: #aaa;
    transition: all 0.15s;
    line-height: 1;
}
.btn-delete-addr:hover { border-color: #dc2626; color: #dc2626; background: #fff5f5; }
.cuenta-addr-form {
    background: #f9fafc;
    border: 1px solid #e8eaf0;
    border-radius: 10px;
    padding: 1.5rem;
}
.cuenta-addr-form h4 { font-size: 1rem; font-weight: 600; margin-bottom: 1.25rem; color: var(--main); }
#addr-map {
    height: 280px;
    border-radius: 8px;
    border: 1px solid #dde0e8;
    margin-top: 0.25rem;
}

/* Orders */
.cuenta-order-card {
    border: 1px solid #e8eaf0;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 0.75rem;
}
.cuenta-order-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.9rem 1.25rem;
    cursor: pointer;
    background: #f9fafc;
    transition: background 0.15s;
    flex-wrap: wrap;
    gap: 0.5rem;
    user-select: none;
}
.cuenta-order-header:hover { background: #f0f4fb; }
.cuenta-order-num  { font-weight: 700; color: var(--main); font-size: 0.88rem; }
.cuenta-order-date { font-size: 0.8rem; color: #888; }
.cuenta-order-total { font-weight: 700; font-size: 0.92rem; color: #1a1a2e; }
.cuenta-order-status {
    font-size: 0.73rem;
    font-weight: 700;
    border-radius: 20px;
    padding: 0.18rem 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.status-pending    { background: #fff7ed; color: #c2410c; }
.status-confirmed  { background: #eff6ff; color: #1d4ed8; }
.status-processing { background: #f5f3ff; color: #6d28d9; }
.status-shipped    { background: #ecfdf5; color: #059669; }
.status-delivered  { background: #f0fdf4; color: #16a34a; }
.status-cancelled  { background: #fef2f2; color: #b91c1c; }
.cuenta-order-toggle { transition: transform 0.2s; flex-shrink: 0; }
.cuenta-order-toggle.rotated { transform: rotate(180deg); }
.cuenta-order-items {
    padding: 0.75rem 1.25rem;
    border-top: 1px solid #e8eaf0;
    background: #fff;
}
.cuenta-order-item {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 0.84rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid #f3f3f3;
    color: #555;
}
.cuenta-order-item:last-of-type { border-bottom: none; }
.cuenta-order-item-name { flex: 1; }
.cuenta-order-item-qty  { color: #888; flex-shrink: 0; }
.cuenta-order-item-price { font-weight: 600; color: #1a1a2e; flex-shrink: 0; }

/* Favorites */
.cuenta-fav-card {
    background: #fff;
    border: 1px solid #e8eaf0;
    border-radius: 10px;
    overflow: hidden;
    transition: box-shadow 0.2s;
}
.cuenta-fav-card:hover { box-shadow: 0 4px 18px rgba(0,0,0,.08); }
.cuenta-fav-img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}
.cuenta-fav-info {
    padding: 0.65rem 0.75rem;
    border-bottom: 1px solid #f3f3f3;
}
.cuenta-fav-name {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #1a1a2e;
    text-decoration: none;
    margin-bottom: 0.2rem;
    line-height: 1.3;
}
.cuenta-fav-name:hover { color: var(--main); }
.cuenta-fav-info span { font-size: 0.82rem; color: #555; }
.btn-remove-fav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: 100%;
    background: none;
    border: none;
    padding: 0.45rem;
    font-size: 0.75rem;
    color: #aaa;
    cursor: pointer;
    transition: color 0.15s;
}
.btn-remove-fav:hover { color: #dc2626; }

/* Mobile */
@media (max-width: 991px) {
    .cuenta-sidebar { position: static; }
    .cuenta-nav {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.35rem;
    }
    .cuenta-nav-item {
        flex: 0 0 auto;
        border-left: none;
        border-bottom: 3px solid transparent;
        border-radius: 8px 8px 0 0;
        font-size: 0.82rem;
        padding: 0.5rem 0.7rem;
    }
    .cuenta-nav-item.active {
        border-left-color: transparent;
        border-bottom-color: var(--main);
    }
    .cuenta-content { padding: 1.25rem; }
}

/* ==============================================
   PAGO — Invite banner
   ============================================== */
.pago-invite-wrap {
    position: relative;
    background: linear-gradient(135deg, #eef2ff 0%, #e8f0ff 100%);
    border: 1px solid #c7d4f5;
    border-radius: 12px;
    padding: 1.1rem 3rem 1.1rem 1.25rem;
    margin-bottom: 1.5rem;
}
.pago-invite-inner {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}
.pago-invite-icon {
    font-size: 1.6rem;
    flex-shrink: 0;
    line-height: 1;
    padding-top: 0.1rem;
}
.pago-invite-body {
    flex: 1;
    min-width: 200px;
}
.pago-invite-title {
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--main);
    margin-bottom: 0.4rem;
}
.pago-invite-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 1.5rem;
}
.pago-invite-list li {
    font-size: 0.8rem;
    color: #444;
    position: relative;
    padding-left: 0.9rem;
}
.pago-invite-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: var(--main);
    font-weight: 700;
    font-size: 0.75rem;
}
.pago-invite-actions {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    flex-shrink: 0;
    justify-content: center;
}
.pago-invite-btn-primary {
    background: var(--main);
    color: #fff !important;
    border-radius: 8px;
    padding: 0.45rem 1rem;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
    transition: opacity 0.15s;
    display: inline-block;
}
.pago-invite-btn-primary:hover { opacity: 0.88; color: #fff !important; }
.pago-invite-btn-secondary {
    background: #fff;
    color: var(--main) !important;
    border: 1px solid var(--main);
    border-radius: 8px;
    padding: 0.45rem 1rem;
    font-size: 0.8rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
    transition: all 0.15s;
    display: inline-block;
}
.pago-invite-btn-secondary:hover { background: var(--main); color: #fff !important; }
.pago-invite-close {
    position: absolute;
    top: 0.6rem;
    right: 0.75rem;
    background: none;
    border: none;
    font-size: 1.3rem;
    color: #aaa;
    cursor: pointer;
    line-height: 1;
    padding: 0.1rem 0.25rem;
    transition: color 0.15s;
}
.pago-invite-close:hover { color: #555; }

@media (max-width: 576px) {
    .pago-invite-inner { flex-direction: column; gap: 0.75rem; }
    .pago-invite-actions { flex-direction: row; }
}

.pago-logged-in-notice {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.82rem;
    color: #444;
    background: #f0f4ff;
    border: 1px solid #d0daff;
    border-radius: 8px;
    padding: 0.5rem 0.85rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}
.pago-logged-in-notice svg { color: var(--main); flex-shrink: 0; }
.pago-logged-in-notice a {
    margin-left: auto;
    color: #888;
    font-size: 0.78rem;
    text-decoration: none;
}
.pago-logged-in-notice a:hover { color: #dc2626; text-decoration: underline; }

/* ==============================================
   NAVBAR — icon equalization & logged-in dot
   ============================================== */
.icono-nav {
    width: 22px;
    height: 22px;
    display: block;
    flex-shrink: 0;
}
.nm-icon-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
}
.nm-action-icon {
    padding: 0;
}
.nm-action-cart .nm-icon-wrap {
    width: auto;
}
.nm-logged-dot {
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 8px;
    height: 8px;
    background: #16a34a;
    border-radius: 50%;
    border: 1.5px solid #fff;
    pointer-events: none;
}

/* ==============================================
   CUENTA — green active indicator & green logout
   ============================================== */
.cuenta-nav-item.active {
    background: #f0fdf4;
    color: #15803d;
    border-left-color: #16a34a;
}
.cuenta-nav-item.active svg { stroke: #16a34a; }
.cuenta-nav-item:hover { color: #15803d; }

.cuenta-logout-btn {
    border-color: #fecaca;
    color: #dc2626;
    background: #fff5f5;
}
.cuenta-logout-btn:hover {
    border-color: #dc2626;
    color: #fff;
    background: #dc2626;
}

/* ==============================================
   CUENTA — order history thumbnails
   ============================================== */
.cuenta-order-item {
    align-items: center;
}
.cuenta-order-thumb {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
    border: 1px solid #f0f0f0;
}
.cuenta-order-thumb-placeholder {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    background: #f3f4f6;
    flex-shrink: 0;
}

.cuenta-order-details {
    margin-top: 1.1rem;
    padding-top: 1rem;
    border-top: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.cuenta-order-detail-row {
    display: flex;
    gap: 0.75rem;
    font-size: 0.8rem;
    line-height: 1.4;
}
.cuenta-order-detail-label {
    flex-shrink: 0;
    min-width: 140px;
    color: #9ca3af;
    font-weight: 500;
}
.cuenta-order-detail-value {
    color: #374151;
}

/* ============================================================
   NOSOTROS PAGE
============================================================ */
.about-eyebrow {
    display: inline-block;
    font-family: var(--font-ui);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: var(--color-typography, #ba9e66);
    margin-bottom: 0.75rem;
}

.about-eyebrow--light { color: #fff; }

/* --- Hero --- */
.about-hero {
    position: relative;
    width: 100%;
    height: 64vh;
    min-height: 380px;
    max-height: 620px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.about-hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.about-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.5) 100%);
}

.about-hero-content {
    position: relative;
    z-index: 1;
    text-align: center;
    color: #fff;
    padding: 0 1.5rem;
}

.about-hero-logo {
    display: block;
    margin: 0 auto 0.75rem;
    height: clamp(34px, 5vw, 50px);
    width: auto;
    filter: brightness(0) invert(1);
}

.about-hero-sub {
    font-family: var(--font-ui);
    font-size: 1rem;
    max-width: 480px;
    margin: 0 auto;
    opacity: 0.92;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* --- Sections --- */
.about-section {
    padding: 4.5rem 0;
    text-align: center;
}

.about-heading {
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 600;
    font-size: 2rem;
    margin-bottom: 1.5rem;
    color: #262626;
}

.about-quote {
    font-family: var(--font-serif);
    font-style: italic;
    font-size: 1.3rem;
    color: #262626;
    max-width: 640px;
    margin: 0 auto 2rem;
    line-height: 1.5;
}

.about-text {
    max-width: 640px;
    margin: 0 auto;
}

.about-text p {
    font-size: 0.95rem;
    line-height: 1.8;
    color: #5c5c5c;
    margin-bottom: 1.1rem;
}

.about-brands-band {
    background: #faf7f2;
}

.about-location-band {
    background: #faf7f2;
}

.about-location-address {
    font-size: 1rem;
    color: #5c5c5c;
    margin-bottom: 1.5rem;
}

.about-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-ui);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #fff;
    background: var(--color-button, #7a5433);
    text-decoration: none;
    padding: 0.9rem 2rem;
    border-radius: 999px;
    transition: opacity .2s;
}

.about-cta-btn:hover {
    opacity: 0.85;
    color: #fff;
}

@media (max-width: 767px) {
    .about-hero { height: 42vh; min-height: 280px; }
    .about-section { padding: 3rem 0; }
    .about-heading { font-size: 1.5rem; }
    .about-quote { font-size: 1.1rem; }
}

/* ============================================================
   FAQ / PREGUNTAS FRECUENTES
============================================================ */
.faq-section {
    display: grid;
    grid-template-columns: 1fr 0.6fr;
    min-height: 80vh;
    background: #fff;
}

.faq-left {
    padding: 6rem 5rem 6rem 6rem;
}

.faq-main-heading {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    font-weight: 400;
    line-height: 1.15;
    color: #1a1410;
    margin: 0 0 3rem 0;
}

.faq-list {
    border-top: 1px solid #d6d0c8;
}

.faq-item {
    border-bottom: 1px solid #d6d0c8;
}

.faq-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.25rem 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
}

.faq-question {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 1rem;
    font-weight: 400;
    color: #1a1410;
    line-height: 1.4;
}

.faq-icon {
    font-size: 1.4rem;
    font-weight: 300;
    color: #1a1410;
    flex-shrink: 0;
    line-height: 1;
    user-select: none;
}

.faq-answer {
    padding-bottom: 1.25rem;
}

.faq-answer p {
    font-size: 0.9rem;
    color: #6b6560;
    line-height: 1.7;
    margin: 0;
}

.faq-right {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow: hidden;
}

.faq-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 900px) {
    .faq-section {
        grid-template-columns: 1fr;
    }
    .faq-right {
        position: relative;
        height: 55vw;
    }
    .faq-left {
        padding: 3rem 1.5rem;
    }
}

/* ============================================================
   CONTACTO
============================================================ */
.ct-page {
    background: #fff;
    padding: 5rem 2rem 6rem;
}

.ct-header {
    text-align: center;
    margin-bottom: 3rem;
}

.ct-title {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    font-weight: 400;
    color: #1a1410;
    margin: 0 0 1rem 0;
}

.ct-subtitle {
    font-size: 0.95rem;
    color: #6b6560;
    line-height: 1.6;
    margin: 0;
}

.ct-body {
    display: grid;
    grid-template-columns: 5fr 6fr;
    max-width: 1060px;
    margin: 0 auto;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}

.ct-left {
    background: #f2ece4;
    padding: 2.5rem 2.5rem 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.ct-intro {
    font-size: 0.9rem;
    color: #4a4540;
    line-height: 1.6;
    margin: 0;
}

.ct-form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ct-input {
    width: 100%;
    padding: 0.7rem 1rem;
    border: 1px solid #e0d9d0;
    border-radius: 999px;
    background: #fff;
    font-size: 0.875rem;
    color: #1a1410;
    outline: none;
    font-family: inherit;
    box-sizing: border-box;
}

.ct-input::placeholder {
    color: #aaa;
}

.ct-input:focus {
    border-color: #b0a89e;
}

.ct-textarea {
    border-radius: 14px;
    resize: vertical;
    min-height: 100px;
}

.ct-send-btn {
    width: 100%;
    padding: 0.75rem;
    background: #1a1410;
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.ct-send-btn:hover {
    background: #3a3028;
}

.ct-info-card {
    background: #fff;
    border-radius: 6px;
    padding: 1.5rem;
}

.ct-info-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #1a1410;
    margin: 0 0 0.3rem 0;
    letter-spacing: 0.02em;
}

.ct-info-text {
    font-size: 0.85rem;
    color: #6b6560;
    line-height: 1.6;
    margin: 0 0 1rem 0;
}

.ct-divider {
    border: none;
    border-top: 1px solid #e8e2da;
    margin: 0.75rem 0 1rem;
}

.ct-maps-link {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: #1a1410;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.ct-maps-link:hover {
    text-decoration: underline;
}

.ct-right {
    overflow: hidden;
}

.ct-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (max-width: 767px) {
    .ct-body {
        grid-template-columns: 1fr;
    }
    .ct-right {
        height: 60vw;
    }
    .ct-left {
        padding: 2rem 1.25rem;
    }
}

/* =============================================
   PÁGINAS LEGALES (terminos, devoluciones, etc.)
============================================= */
.section-legal {
    padding: 3rem 0 5rem;
}

.legal-wrap {
    max-width: 780px;
    margin: 0 auto;
}

.legal-title {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid #f0ece6;
}

.legal-content {
    font-size: 0.9rem;
    line-height: 1.9;
    color: #3a3a3a;
}

.legal-content p,
.legal-content br + br {
    margin-bottom: 0.75rem;
}

/* =============================================
   MARCAS PAGE
============================================= */
.section-marcas {
    padding: 3rem 0 5rem;
}

.marcas-page-title {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.marcas-page-sub {
    font-size: 0.9rem;
    color: var(--grey);
    margin-bottom: 3rem;
}

.marcas-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

@media (max-width: 992px) {
    .marcas-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 576px) {
    .marcas-grid { grid-template-columns: repeat(2, 1fr); }
}

.marcas-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    padding: 1.5rem 1rem;
    border: 1px solid #e8e2da;
    border-radius: var(--radius-card);
    text-decoration: none;
    color: #3a3a3a;
    transition: box-shadow .2s, border-color .2s;
}

.marcas-item:hover {
    box-shadow: 0 4px 18px rgba(0,0,0,.08);
    border-color: #c8b89a;
    color: #3a3a3a;
}

.marcas-item img {
    max-height: 64px;
    max-width: 140px;
    object-fit: contain;
}

.marcas-item span {
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-align: center;
}

/* =============================================
   MOBILE APP SHELL (<= 991.98px)
============================================= */
@media (max-width: 991.98px) {
    /* Prevent iOS Safari from zooming in on focused inputs */
    input, select, textarea {
        font-size: 16px !important;
    }

    .nav-header {
        display: none !important;
    }

    .nm-inner {
        height: 64px;
        padding: 0 14px;
        gap: 0.5rem;
        justify-content: center;
    }

    .nm-brand {
        margin: 0 auto;
    }

    .nm-brand img {
        width: min(44vw, 141px) !important;
        max-width: 141px;
    }

    .nm-mobile-actions {
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .nm-mobile-action {
        position: relative;
        width: 34px;
        height: 34px;
        border-radius: 50%;
        overflow: visible;
        background: #f5f6f6;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #363636;
    }

    .nm-mobile-action svg {
        width: 17px;
        height: 17px;
        stroke: currentColor;
        stroke-width: 1.8;
        fill: none;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .mobile-cart-count {
        top: -4px !important;
        right: -4px !important;
        width: auto;
        height: 18px;
        min-width: 18px;
        border-radius: 9px;
        font-size: 0.62rem;
        line-height: 18px;
        padding: 0 5px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }

    .mobile-cart-count.is-empty {
        display: none !important;
    }

    .nm-hamburger-icon {
        width: 20px;
        height: 20px;
        stroke: #313131;
        stroke-width: 2;
        fill: none;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .nm-actions {
        display: none;
    }

    .nm-toggler {
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        border: none;
        width: 36px;
        height: 36px;
        padding: 0;
        border-radius: 50%;
        background: #f5f6f6;
        justify-content: center;
    }

    .nm-toggler .navbar-toggler-icon {
        width: 18px;
        height: 18px;
    }

    .nm-accent-line {
        height: 1px;
        background: #d8d8d8;
    }

    body > main {
        padding-top: 68px;
        padding-bottom: 82px;
    }

    body > main > section:first-child {
        margin-top: 0;
    }

    body.has-mobile-tabs > main {
        padding-top: 114px;
    }

    .mobile-category-tabs {
        display: flex;
        align-items: center;
        gap: 0.45rem;
        overflow-x: auto;
        white-space: nowrap;
        padding: 0.55rem 0.75rem 0.6rem;
        background: #fff;
        border-bottom: 1px solid #ececec;
        -webkit-overflow-scrolling: touch;
    }

    .mobile-category-tabs::-webkit-scrollbar {
        display: none;
    }

    .mobile-category-tabs a {
        display: inline-flex;
        align-items: center;
        height: 30px;
        padding: 0 0.9rem;
        border-radius: 99px;
        border: 1px solid #d8d8d8;
        color: #3a3a3a;
        font-size: 0.7rem;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .mobile-category-tabs a.active {
        background: var(--main);
        border-color: var(--main);
        color: #fff;
    }

    .mobile-menu-pages {
        width: min(88vw, 350px);
        max-width: min(88vw, 350px);
        background: #fff;
        --bs-offcanvas-width: min(88vw, 350px);
    }

    .mobile-menu-header {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 100%;
        min-height: 0;
        padding: 0;
        border-bottom: 0;
    }

    .mobile-menu-close {
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 6;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background: #f5f6f6;
        color: #3f3f3f;
        font-size: 1.2rem;
        line-height: 1;
        text-align: center;
    }

    .mobile-menu-brand {
        padding: 1.3rem 1rem 0.55rem;
        border-bottom: 1px solid #efefef;
    }

    .mobile-menu-brand img {
        width: min(44vw, 150px);
        height: auto;
        display: block;
    }

    .mobile-menu-body {
        padding: 0 !important;
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .menu-responsive .mobile-menu-pages .mobile-menu-links li,
    .menu-responsive .mobile-menu-pages .mobile-menu-categories-group {
        display: block !important;
    }

    .menu-responsive .mobile-menu-pages .mobile-menu-categories-collapse {
        width: 100%;
        flex: 0 0 100%;
    }

    .mobile-menu-pages-links {
        margin: 0;
        padding: 0 !important;
        background: #fff !important;
    }

    .mobile-menu-categories-group {
        border-bottom: 1px solid #efefef;
    }

    .mobile-menu-categories-toggle {
        width: 100%;
        min-height: 44px;
        padding: 0.65rem 1rem;
        border: 0;
        background: #fff;
        color: #303030;
        font-size: 0.84rem;
        font-weight: 500;
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: left;
        gap: 0;
    }

    .menu-toggle-left {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

    .mobile-menu-categories-toggle svg {
        width: 16px;
        height: 16px;
        stroke: currentColor;
        stroke-width: 1.9;
        fill: none;
        stroke-linecap: round;
        stroke-linejoin: round;
        transition: transform .2s ease;
    }

    .mobile-menu-categories-toggle[aria-expanded="true"] svg {
        transform: rotate(180deg);
    }

    .mobile-menu-categories-collapse {
        border-top: 1px solid #efefef;
        background: #fafafa;
    }

    .mobile-menu-category-links {
        padding: 0 !important;
        margin: 0;
        background: transparent !important;
    }

    .mobile-menu-category-links li a {
        min-height: 40px;
        padding-left: 1.25rem;
        background: transparent;
        font-size: 0.8rem;
    }

    .mobile-menu-contact {
        margin-top: 30px;
        padding: 1rem 1rem 0.75rem;
        border-top: 1px solid #efefef;
        border-bottom: 1px solid #efefef;
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
    }

    .mobile-menu-contact a {
        display: flex;
        align-items: center;
        gap: 0.55rem;
        font-size: 0.77rem;
        color: #414141;
        line-height: 1.35;
        text-decoration: none;
    }

    .mobile-menu-contact a:hover {
        color: var(--main);
    }

    .menu-contact-icon {
        width: 16px;
        height: 16px;
        flex-shrink: 0;
        opacity: 0.7;
    }

    .mobile-menu-social {
        padding: 0.65rem 1rem;
        display: flex;
        align-items: center;
        gap: 0.6rem;
        margin-top: 30px;
    }

    .mobile-menu-social a {
        width: 34px;
        height: 34px;
        border-radius: 50%;
        background: #f0f0f0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #444;
        transition: background .2s, color .2s;
    }

    .mobile-menu-social a:hover {
        background: var(--main);
        color: #fff;
    }

    .mobile-menu-social a svg {
        width: 17px;
        height: 17px;
    }

    .mobile-menu-links {
        padding: 0 !important;
        margin: 0;
        background: #fff !important;
    }

    .mobile-menu-links li {
        list-style: none;
    }

    .mobile-menu-links li a {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0.75rem;
        min-height: 44px;
        padding: 0.65rem 1rem;
        border-bottom: 1px solid #efefef;
        color: #303030;
        font-size: 0.81rem;
        font-weight: 500;
        text-decoration: none;
    }

    .mobile-menu-links li a.active {
        color: var(--main);
        font-weight: 700;
        background: #fafafa;
    }

    .menu-item-icon {
        width: 17px;
        height: 17px;
        stroke: currentColor;
        stroke-width: 1.8;
        fill: none;
        stroke-linecap: round;
        stroke-linejoin: round;
        flex-shrink: 0;
        opacity: 0.55;
    }

    .mobile-menu-links li a.active .menu-item-icon,
    .mobile-menu-categories-toggle .menu-item-icon {
        opacity: 0.8;
    }

    .mobile-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1100;
        height: 66px;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        background: #fff;
        border-top: 1px solid #e7e7e7;
        box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
    }

    .mobile-bottom-nav a {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.2rem;
        color: #6a6a6a;
        font-size: 0.60rem;
        font-weight: 600;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }

    .mobile-bottom-nav a.active {
        color: var(--main);
    }

    .mobile-bottom-nav a svg {
        width: 18px;
        height: 18px;
        stroke: currentColor;
        stroke-width: 1.8;
        fill: none;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .mobile-bottom-nav-badge {
        position: absolute;
        top: 4px;
        left: calc(50% + 2px);
        min-width: 17px;
        height: 17px;
        border-radius: 9px;
        background: #be5b75;
        color: #fff;
        font-size: 0.6rem;
        font-weight: 700;
        line-height: 17px;
        text-align: center;
        padding: 0 4px;
    }

    .mobile-bottom-nav-badge.is-empty {
        display: none !important;
    }

    .footer-ventajas,
    #pie-de-pagina {
        display: none;
    }

    .mobile-home-discovery {
        position: sticky;
        top: 64px;
        z-index: 1025;
        background: #fff;
        border-bottom: 1px solid #ececec;
        margin-top: -1px;
    }

    .mobile-home-search-wrap {
        padding: 0.6rem 0.75rem 0.5rem;
    }

    .mobile-home-search {
        height: 38px;
        display: flex;
        align-items: center;
        gap: 0.45rem;
        border: 1px solid #dfdfdf;
        border-radius: 999px;
        padding: 0 0.8rem;
        background: #fff;
    }

    .mobile-home-search svg {
        width: 16px;
        height: 16px;
        stroke: #818181;
        stroke-width: 1.8;
        fill: none;
    }

    .mobile-home-search input {
        width: 100%;
        border: none;
        outline: none;
        font-size: 0.82rem;
        color: #2f2f2f;
        background: transparent;
    }

    .mobile-home-tabs {
        display: flex;
        align-items: center;
        gap: 0.45rem;
        overflow-x: auto;
        white-space: nowrap;
        padding: 0.5rem 0.75rem 0.58rem;
        -webkit-overflow-scrolling: touch;
    }

    .mobile-home-tabs::-webkit-scrollbar {
        display: none;
    }

    .mobile-home-tabs a {
        display: inline-flex;
        align-items: center;
        height: 30px;
        padding: 0 0.9rem;
        border-radius: 99px;
        border: 1px solid #d8d8d8;
        color: #3a3a3a;
        font-size: 0.7rem;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
    }

    .mobile-home-tabs a.active {
        background: var(--main);
        border-color: var(--main);
        color: #fff;
    }

    .hero-video-section {
        height: 42vh;
        margin-top: -68px;
        padding-top: 68px;
    }

    .mobile-brands-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.75rem;
        padding: 0.75rem 14px;
    }

    .mobile-brand-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-decoration: none;
        border: 1px solid #ebebeb;
        border-radius: var(--radius-card, 8px);
        padding: 0.7rem 0.4rem 0.5rem;
        gap: 0.4rem;
        background: #fff;
    }

    .mobile-brand-item img {
        width: 100%;
        max-height: 44px;
        object-fit: contain;
    }

    .mobile-brand-item span {
        font-size: 0.6rem;
        font-weight: 700;
        color: #555;
        text-align: center;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        line-height: 1.2;
    }

    .section-slider {
        padding: 0.8rem 0 1.2rem;
    }

    .section-slider .container,
    .section-historias .container,
    .section-ofertas .container,
    .section-coleccion .container,
    .section-shop-look .container,
    .section-outlet .container,
    .section-instagram .container,
    .section-grilla .grilla-layout,
    .producto-interna-seciton .container,
    .section-legal .container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    body.mobile-products-focus .section-historias,
    body.mobile-products-focus .section-ofertas,
    body.mobile-products-focus .section-coleccion,
    body.mobile-products-focus .section-shop-look,
    body.mobile-products-focus .section-banners,
    body.mobile-products-focus .section-instagram {
        display: none !important;
    }

    .marcas-eyebrow {
        font-size: 1.6rem;
        margin-bottom: 0.8rem;
    }

    .section-coleccion {
        padding: 34px 0 20px;
    }

    .coleccion-intro h2 {
        font-size: 1.55rem;
    }

    .coleccion-desc {
        margin-bottom: 1.2rem;
        line-height: 1.5;
    }

    .section-grilla {
        margin-top: 0;
    }

    .grilla-layout {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }

    .grilla-sidebar {
        display: none;
    }

    .grilla-content {
        padding-left: 0 !important;
    }

    .section-grilla .row.g-3 {
        --bs-gutter-x: 0.8rem;
        --bs-gutter-y: 0.9rem;
    }

    .section-grilla .row.g-3 > [class*="col-"] {
        padding-left: calc(var(--bs-gutter-x) * .5);
        padding-right: calc(var(--bs-gutter-x) * .5);
    }

    .grilla-header {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.4rem;
        margin-bottom: 1rem;
        padding-bottom: 0.9rem;
    }

    .grilla-title {
        font-size: 1.08rem !important;
    }

    .grilla-banner-itau {
        flex-basis: 100%;
    }

    .grilla-banner-itau img {
        height: 36px;
    }

    .pd-breadcrumb-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    img.pd-banner-itau {
        height: 34px;
    }

    .pt-relacionados {
        padding-top: 56px;
    }

    .section-legal {
        padding: 1.2rem 0 2.2rem;
    }

    .legal-wrap {
        background: #fff;
        border: 1px solid #ececec;
        border-radius: 12px;
        padding: 1rem;
    }

    .legal-title {
        font-size: 1.2rem;
        margin-bottom: 1rem;
    }

    .legal-content {
        font-size: 0.84rem;
        line-height: 1.55;
    }

    .pago-main-title,
    .cart-sidebar-title,
    .cuenta-tab-title {
        font-size: 1.12rem !important;
    }

    .cuenta-content,
    .cart-sidebar {
        border-radius: 10px;
        padding: 1.1rem;
    }

    /* ── Home mobile: ocultar todo excepto hero + discovery + grilla ── */
    body.mobile-products-focus .section-slider,
    body.mobile-products-focus .section-recomendados,
    body.mobile-products-focus .section-outlet {
        display: none !important;
    }

    /* ── Home mobile: grilla 12 productos ── */
    .section-mobile-home {
        padding: 0.75rem 0 1rem;
    }

    .mobile-home-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.75rem;
        padding: 0 14px;
    }

    .mobile-home-grid .card {
        padding: 0;
        border: 1px solid #ebebeb;
        border-radius: var(--radius-card);
        overflow: hidden;
        cursor: pointer;
    }

    .mobile-home-grid .card img {
        width: 100%;
        aspect-ratio: 3 / 4;
        object-fit: cover;
        display: block;
    }

    .mobile-home-grid .card .card-body {
        padding: 0.42rem 0.5rem 0.3rem;
    }

    .mobile-home-grid .card .tienda {
        font-size: 0.53rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--grey);
        margin: 0 0 0.15rem;
    }

    .mobile-home-grid .card .card-title {
        font-size: 0.61rem;
        font-weight: 500;
        line-height: 1.25;
        color: var(--main);
        min-height: 0;
        margin-bottom: 0.2rem;
    }

    .mobile-home-grid .card .precio {
        font-size: 0.66rem;
        font-weight: 700;
    }

    .mobile-home-grid .card .btn-ag-carrito {
        width: 100%;
        border-radius: 0;
        font-size: 0.53rem;
        height: 29px;
        margin-top: 0.35rem;
    }

    .btn-ver-todos-mobile {
        display: inline-block;
        padding: 0.6rem 2rem;
        border: 1.5px solid var(--main);
        border-radius: 99px;
        font-size: 0.65rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        color: var(--main);
        text-decoration: none;
        text-transform: uppercase;
    }

    /* ── Cart mobile: cards ── */
    .cart-mobile-list {
        border-top: 1px solid #ebebeb;
    }

    .cart-mobile-item {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 0.9rem 0;
        border-bottom: 1px solid #ebebeb;
        position: relative;
    }

    .cart-mobile-img {
        width: 72px;
        height: 72px;
        object-fit: cover;
        border-radius: 6px;
        flex-shrink: 0;
    }

    .cart-mobile-info {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
        padding-right: 38px;
    }

    .cart-mobile-info .cart-item-name {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }

    .cart-mobile-bottom {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        flex-wrap: wrap;
    }

    .cart-mobile-qty {
        width: 90px !important;
        height: 32px !important;
        flex-direction: row !important;
        flex-shrink: 0;
    }

    .cart-mobile-price {
        font-size: 0.88rem;
        font-weight: 700;
        color: var(--main);
    }

    .cart-mobile-remove {
        position: absolute;
        top: 0.6rem;
        right: 0;
        background: none;
        border: none;
        color: #e53935;
        cursor: pointer;
        line-height: 1;
        padding: 0.35rem;
        flex-shrink: 0;
    }

    .cart-mobile-remove svg {
        width: 22px;
        height: 22px;
        display: block;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .cart-mobile-remove:hover { color: #c62828; }

    /* ── Cart continue button ── */
    .cart-continue-wrap {
        padding: 0.9rem 0 0.25rem;
    }

    .cart-continue-btn {
        display: inline-block;
        font-size: 0.8rem;
        font-weight: 600;
        color: var(--grey);
        text-decoration: none;
        letter-spacing: 0.02em;
    }

    .cart-continue-btn:hover { color: var(--main); }

    /* Productos page grid: 15% smaller cards */
    .grilla-content .card .card-body {
        padding: 0.55rem 0.64rem 0;
    }

    .grilla-content .card .card-title {
        font-size: 0.74rem;
        line-height: 1.25;
    }

    .grilla-content .card .tienda {
        font-size: 0.58rem;
    }

    .grilla-content .card .precio {
        font-size: 0.96rem;
    }

    .grilla-content .card .card-brand-logo {
        height: 22px !important;
        max-height: 22px !important;
        margin-bottom: 0.35rem;
    }

    .grilla-content .card .btn-ag-carrito {
        font-size: 0.51rem;
        height: 28px;
        min-width: 90px;
        margin-bottom: 0.55rem;
    }
}

.section-promos-mobile {
    padding: 1.1rem 0 1.75rem;
}

.promos-title {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    margin-bottom: 0.35rem;
}

.promos-subtitle {
    color: #717171;
    font-size: 0.85rem;
    margin-bottom: 0.9rem;
}

.promo-mobile-slide {
    padding: 0 6px;
}

.promo-mobile-card {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #ececec;
    background: #fff;
}

.promo-mobile-card img {
    width: 100%;
    display: block;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

.promo-empty-state {
    border: 1px dashed #d7d7d7;
    border-radius: 10px;
    padding: 1rem;
    font-size: 0.82rem;
    color: #6d6d6d;
}

/* Footer utility classes (reemplazaron inline styles) */
.footer-chat-label { display: block; margin-bottom: 0.25rem; font-size: 0.85rem; }
.footer-wa-link { display: flex; align-items: center; gap: 0.35rem; font-weight: 700; font-size: calc(1em + 1.5px); color: inherit; text-decoration: none; }
.footer-maps-link { display: inline-flex; align-items: flex-start; gap: 0.35rem; color: inherit; text-decoration: none; }
.footer-maps-icon { margin-top: 3px; flex-shrink: 0; }
.footer-logo { max-width: 160px; height: auto; display: block; }
.footer-social-label { font-weight: 600; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.05em; padding-bottom: 1.5rem; margin-bottom: 0.5rem; }

/* Paraguay-only brand notice */
.pd-paraguay-notice { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.78rem; font-weight: 600; color: #c05621; background: #fff5eb; border: 1px solid #f6a84b; border-radius: 6px; padding: 0.3rem 0.7rem; margin-bottom: 0.75rem; }

/* ── Currency toggle navbar ───────────────────────────────────── */
.nm-currency-toggle {
    display: flex; align-items: center; gap: 6px;
    cursor: pointer; user-select: none; margin: 0 6px;
}
.nm-currency-label {
    font-size: 0.65rem; font-weight: 700; letter-spacing: 0.04em;
    color: #aaa; transition: color .2s;
}
.nm-currency-toggle.is-usd .nm-currency-usd-label,
.nm-currency-toggle.is-pyg .nm-currency-pyg-label { color: #111; }
.nm-toggle-track {
    width: 36px; height: 20px; border-radius: 999px;
    background: #d1d5db; position: relative;
    transition: background .25s;
    flex-shrink: 0;
}
.nm-toggle-track.is-pyg { background: #0038a8; }
.nm-toggle-thumb {
    width: 16px; height: 16px; border-radius: 50%;
    background: #fff; position: absolute;
    top: 2px; left: 2px;
    transition: transform .25s, box-shadow .25s;
    box-shadow: 0 1px 3px rgba(0,0,0,.25);
}
.nm-toggle-track.is-pyg .nm-toggle-thumb { transform: translateX(16px); }

/* Cart badge */
.nm-cart-badge {
    position: absolute; top: -5px; right: -7px;
    min-width: 16px; height: 16px; padding: 0 4px;
    border-radius: 999px; background: #111; color: #fff;
    font-size: 10px; font-weight: 700; line-height: 16px;
    text-align: center; display: flex; align-items: center; justify-content: center;
}
.nm-cart-badge.is-empty { display: none; }

/* ── Mobile subcategory chips ─────────────────────────────────── */
.mobile-sub-chips {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 16px 12px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.mobile-sub-chips::-webkit-scrollbar { display: none; }
.sub-chip {
    flex-shrink: 0;
    padding: 6px 16px;
    border-radius: 999px;
    border: 1.5px solid #e5e7eb;
    background: #fff;
    font-size: 0.72rem;
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
    text-decoration: none;
    transition: background .15s, border-color .15s, color .15s;
}
.sub-chip.active {
    background: #111;
    border-color: #111;
    color: #fff;
}
.sub-chip:hover:not(.active) {
    border-color: #9ca3af;
    color: #111;
}

/* ─── Bell notification ─────────────────────── */
.nm-bell-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    position: relative;
    color: inherit;
}
.nm-bell-btn svg {
    width: 22px;
    height: 22px;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.nm-bell-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    background: #e63e3e;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    line-height: 1;
    pointer-events: none;
}
.nm-bell-badge.is-empty { display: none; }
.nm-notif-panel {
    position: absolute;
    top: calc(100% + 10px);
    right: 2.5rem;
    width: 320px;
    max-width: calc(100vw - 24px);
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,.13);
    z-index: 9999;
    display: none;
    overflow: hidden;
}
.nm-notif-panel.open { display: block; }
@media (max-width: 991.98px) {
    .nm-notif-panel {
        right: 12px;
    }
}
.nm-notif-header {
    padding: 12px 16px 10px;
    font-size: 13px;
    font-weight: 700;
    border-bottom: 1px solid #f0f0f0;
    color: #222;
}
.nm-notif-list {
    max-height: 360px;
    overflow-y: auto;
}
.nm-notif-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid #f6f6f6;
    transition: background .15s;
}
.nm-notif-item:last-child { border-bottom: none; }
.nm-notif-item:hover { background: #fafafa; }
.nm-notif-item.unread { background: #f0f7ff; }
.nm-notif-item.unread:hover { background: #e6f0fb; }
.nm-notif-icon {
    font-size: 20px;
    flex-shrink: 0;
    margin-top: 1px;
}
.nm-notif-body { flex: 1; min-width: 0; }
.nm-notif-title {
    font-size: 13px;
    font-weight: 600;
    color: #222;
    margin-bottom: 2px;
    line-height: 1.3;
}
.nm-notif-sub {
    font-size: 11.5px;
    color: #666;
}
.nm-notif-time {
    font-size: 10.5px;
    color: #aaa;
    margin-top: 3px;
}
.nm-notif-empty {
    padding: 24px 16px;
    text-align: center;
    color: #888;
    font-size: 13px;
}
.nm-notif-login {
    padding: 16px;
    text-align: center;
    font-size: 13px;
    color: #555;
}
.nm-notif-login a {
    color: var(--color-button, #7a5433);
    font-weight: 600;
    text-decoration: underline;
}
.nm-bell-wrap { position: relative; }
.nm-mobile-bell-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: inherit;
    width: 36px;
    height: 36px;
}
.nm-mobile-bell-btn svg {
    width: 22px;
    height: 22px;
}

/* ─── Brand category chips ──────────────────── */
.brand-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 0 16px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.brand-chips::-webkit-scrollbar { display: none; }
.brand-chips .sub-chip {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.68rem;
}
@media (max-width: 991px) {
    .brand-chips {
        flex-wrap: nowrap;
        padding: 0 0 12px;
    }
}

/* ─── Buscador mobile (grilla productos) ─────── */
.grilla-mobile-search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #f5f5f5;
    border-radius: 999px;
    padding: 8px 16px;
    margin: 0 0 14px;
}
.grilla-mobile-search-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    opacity: 0.6;
}
.grilla-mobile-search-input {
    border: none;
    background: transparent;
    outline: none;
    font-size: 0.8rem;
    width: 100%;
    color: var(--main);
}
.grilla-mobile-search-input::placeholder {
    color: var(--grey);
}

/* ─── Ordenar por (mobile, grilla productos) ─── */
.grilla-sort {
    position: relative;
    flex-shrink: 0;
}
.grilla-sort-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    padding: 0;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--main);
    white-space: nowrap;
}
.grilla-sort-caret {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .15s;
}
.grilla-sort-toggle[aria-expanded="true"] .grilla-sort-caret {
    transform: rotate(180deg);
}
.grilla-sort-menu {
    min-width: 160px;
    font-size: 0.8rem;
    border-radius: 10px;
    border: 1px solid #ebebeb;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.grilla-sort-menu .dropdown-item.active,
.grilla-sort-menu .dropdown-item:active {
    background: #111;
    color: #fff;
}
