/* Auto-concat site chrome CSS. Edit source files then regenerate. */
/* === ev-tokens.css === */
/**
 * EspacioVino design tokens — single source for storefront.
 * Load after styles.css so these extend / override the legacy :root.
 */

:root {
    /* Type */
    --font-display: "Source Serif 4", Georgia, "Times New Roman", serif;
    --font-body: "Montserrat", "Helvetica Neue", Arial, sans-serif;
    --font-nav: "Manrope", "Montserrat", "Helvetica Neue", Arial, sans-serif;
    --w-regular: 400;
    --w-medium: 500;
    --w-semibold: 600;
    --w-bold: 700;
    --text-xs: 14px;
    --text-sm: 15px;
    --text-base: 16px;
    --text-md: 17px;
    --text-lg: 20px;
    --text-xl: 24px;
    --text-2xl: 28px;
    --text-display: 32px;
    --lh-tight: 1.25;
    --lh-body: 1.5;
    --lh-ui: 1.35;
    --ev-text-floor: 14px;

    /* Color */
    --ev-brand: #6f1c48;
    --ev-brand-soft: #8c2e60;
    --ev-ink: #2a2a2a;
    --ev-muted: #6b5f66;
    --ev-line: #ebe6e8;
    --ev-wash: #faf7f8;
    --ev-wash-deep: #f7eef2;
    --ev-price: #1a1a1a;
    --ev-surface: #fff;

    /* Legacy aliases used across the site */
    --color-text: var(--ev-ink);
    --color-muted: var(--ev-muted);
    --color-price: var(--ev-price);
    --color-brand: var(--ev-brand);

    /* Shape / space */
    --ev-radius: 5px;
    --ev-radius-sm: 3px;
    --ev-space-1: 8px;
    --ev-space-2: 12px;
    --ev-space-3: 16px;
    --ev-space-4: 24px;
    --ev-space-5: 32px;

    /* Layout (page-gutter may redeclare) */
    --ev-page-gutter: 30px;
    --ev-nav-link-pad-x: 12px;

    /*
     * Page-local aliases — keep existing var(--ev-h-*) etc. working
     * without duplicating hex values in each stylesheet.
     */
    --ev-h-brand: var(--ev-brand);
    --ev-h-brand-soft: var(--ev-brand-soft);
    --ev-h-ink: var(--ev-ink);
    --ev-h-muted: var(--ev-muted);
    --ev-h-line: var(--ev-line);
    --ev-h-wash: var(--ev-wash-deep);

    --ev-d-brand: var(--ev-brand);
    --ev-d-brand-soft: var(--ev-brand-soft);
    --ev-d-ink: var(--ev-ink);
    --ev-d-muted: var(--ev-muted);
    --ev-d-line: var(--ev-line);
    --ev-d-wash: var(--ev-wash-deep);
    --ev-d-free: #0d7a3f;

    --ev-t-brand: var(--ev-brand);
    --ev-t-ink: var(--ev-ink);
    --ev-t-muted: var(--ev-muted);
    --ev-t-line: var(--ev-line);
    --ev-t-wash: var(--ev-wash);

    --ev-n-brand: var(--ev-brand);
    --ev-n-brand-soft: var(--ev-brand-soft);
    --ev-n-ink: var(--ev-ink);
    --ev-n-muted: var(--ev-muted);
    --ev-n-line: var(--ev-line);
    --ev-n-wash: var(--ev-wash-deep);

    --ev-e-brand: var(--ev-brand);
    --ev-e-brand-soft: var(--ev-brand-soft);
    --ev-e-ink: var(--ev-ink);
    --ev-e-muted: var(--ev-muted);
    --ev-e-line: var(--ev-line);
    --ev-e-wash: var(--ev-wash-deep);
    --ev-e-wa: #00aa00;

    --ev-pc-brand: var(--ev-brand);
    --ev-pc-brand-soft: var(--ev-brand-soft);
    --ev-pc-ink: var(--ev-ink);
    --ev-pc-muted: var(--ev-muted);
    --ev-pc-line: var(--ev-line);
    --ev-pc-wash: var(--ev-wash);

    --ev-pdp-brand: var(--ev-brand);
    --ev-pdp-brand-soft: var(--ev-brand-soft);
    --ev-pdp-ink: var(--ev-ink);
    --ev-pdp-muted: var(--ev-muted);
    --ev-pdp-line: var(--ev-line);
    --ev-pdp-wash: var(--ev-wash);
}

@media screen and (max-width: 1025px) {
    :root {
        --ev-page-gutter: 10px;
    }
}


/* === ev-components.css === */
/**
 * Shared storefront components — buttons, steppers, inputs.
 * Depends on ev-tokens.css. Load after styles.css.
 */

/* Primary CTA: buy + legacy .btn2 (excludes header/filter/stepper chrome) */
.btn2,
.buy-btn,
.buy-btn.small,
.buy-btn-nocart,
.product-list .product .buy-btn,
.product-list .product .buy-btn.small,
.product-list .product .buy-btn-nocart,
.product-list .product .btn2,
.tiny-preview .buy-btn,
.tiny-preview .buy-btn.small,
.tiny-preview .buy-btn-nocart,
.tiny-preview .btn2,
.search-results .product .buy-btn,
.search-results .product .buy-btn.small {
    border-radius: var(--ev-radius);
    background-color: var(--ev-brand);
    border: 1px solid var(--ev-brand);
    color: #fff;
    font-family: var(--font-nav), var(--font-body), sans-serif;
    font-weight: var(--w-semibold);
}

.btn2:hover,
.buy-btn:hover,
.buy-btn.small:hover,
.buy-btn-nocart:hover {
    background-color: var(--ev-brand-soft);
    border-color: var(--ev-brand-soft);
    color: #fff;
}

/* Qty stepper — same radius / brand as CTA */
.ev-qty-stepper {
    border-color: var(--ev-brand);
    border-radius: var(--ev-radius);
    overflow: hidden;
}

.ev-qty-stepper button,
.ev-qty-stepper .ev-qty-minus,
.ev-qty-stepper .ev-qty-plus {
    background: var(--ev-brand);
    border-radius: 0;
    color: #fff;
}

.ev-qty-stepper button:hover,
.ev-qty-stepper button:focus,
.ev-qty-stepper .ev-qty-minus:hover,
.ev-qty-stepper .ev-qty-plus:hover {
    background: var(--ev-brand-soft);
}

.ev-qty-stepper .ev-qty-val {
    color: var(--ev-brand);
    border-radius: 0;
}

/* Prefer token radius on common form controls in storefront */
#bcontainer input[type="text"],
#bcontainer input[type="email"],
#bcontainer input[type="tel"],
#bcontainer input[type="number"],
#bcontainer input[type="password"],
#bcontainer select,
#bcontainer textarea,
#hcontainer input[type="text"],
#hcontainer input[type="email"],
#hcontainer select,
#hcontainer textarea {
    border-radius: var(--ev-radius-sm);
}


/* === ev-site-search.css === */
/* Buscador cabecera: caja blanca, separador + lupa gris dentro del campo (carga aparte de Assetic/main.css) */

.ev-site-search-form {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

/* Altura 40px alineada con iconos WA / carrito en navbar */
.ev-site-search {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    height: 40px;
    background: #fff;
    border: 1px solid #bdbdbd;
    border-radius: 9px;
    box-sizing: border-box;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ev-site-search:focus-within {
    border-color: #a8a8a8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08), 0 0 0 3px rgba(111, 28, 72, 0.12);
}

.ev-site-search .ev-site-search__input {
    display: block;
    width: 100% !important;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0 50px 0 14px;
    box-sizing: border-box;
    border: none !important;
    border-radius: 0;
    background: #fff;
    box-shadow: none !important;
    float: none;
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    z-index: 1;
    font-size: 14px;
    line-height: 38px;
    color: #555;
}

.ev-site-search .ev-site-search__input:focus {
    outline: none;
    box-shadow: none !important;
    border: none !important;
}

.ev-site-search .ev-site-search__input::placeholder {
    color: #888;
}

.ev-site-search .ev-site-search__input::-webkit-input-placeholder {
    color: #888;
}

.ev-site-search .ev-site-search__input::-moz-placeholder {
    color: #888;
    opacity: 1;
}

.ev-site-search .ev-site-search__input:-ms-input-placeholder {
    color: #888;
}

.ev-site-search .ev-site-search__divider {
    position: absolute;
    z-index: 2;
    right: 40px;
    top: 50%;
    margin-top: -10px;
    width: 1px;
    height: 20px;
    background: #d0d0d0;
    pointer-events: none;
}

.ev-site-search button.ev-site-search__submit {
    position: absolute;
    z-index: 3;
    right: 0;
    top: 0;
    bottom: 0;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 9px 9px 0;
    background: transparent !important;
    color: #9a9a9a !important;
    box-shadow: none !important;
    cursor: pointer;
    line-height: 1;
    float: none;
    font-weight: normal;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.ev-site-search button.ev-site-search__submit:hover,
.ev-site-search button.ev-site-search__submit:focus {
    color: #666 !important;
    outline: none;
    background: transparent !important;
}

.ev-site-search button.ev-site-search__submit:focus-visible {
    outline: 2px solid rgba(111, 28, 72, 0.45);
    outline-offset: -2px;
}

.ev-site-search button.ev-site-search__submit .glyphicon {
    top: 0;
    line-height: 1;
    font-size: 16px;
    color: #9a9a9a;
}

.ev-site-search button.ev-site-search__submit:hover .glyphicon,
.ev-site-search button.ev-site-search__submit:focus .glyphicon {
    color: #666;
}

/* Loader mientras llegan sugerencias (clase .ev-site-search--loading via JS) */
.ev-site-search.ev-site-search--loading::after {
    content: "";
    position: absolute;
    z-index: 4;
    right: 48px;
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -9px;
    box-sizing: border-box;
    border: 2px solid rgba(111, 28, 72, 0.22);
    border-top-color: #6f1c48;
    border-radius: 50%;
    animation: ev-site-search-spin 0.65s linear infinite;
    pointer-events: none;
}

@keyframes ev-site-search-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Dropdown: cabe en el viewport (mobile) y permite scroll interno */
.ui-autocomplete.ev-autocomplete-menu,
.ui-autocomplete {
    max-height: calc(100vh - 110px);
    max-height: calc(100dvh - 110px);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    border: 1px solid #e0e0e0;
    border-radius: 0 0 8px 8px;
    padding: 4px 0 0;
    box-sizing: border-box;
}

.ui-autocomplete .ui-autocomplete-category {
    margin: 6px 10px 2px;
    padding: 0;
    font-size: 12px;
    letter-spacing: 0.04em;
    color: #888;
}

.ui-autocomplete .ui-menu-item a {
    padding: 6px 10px !important;
    line-height: 1.25;
    /* Evitar el salto de jQuery UI (margin:-1px + border/font-weight en focus) */
    margin: 0 !important;
    border: 0 !important;
    box-sizing: border-box;
}

.ui-autocomplete .ui-menu-item a.ui-state-focus,
.ui-autocomplete .ui-menu-item a.ui-state-active,
.ui-autocomplete .ui-menu-item a.ui-state-hover {
    margin: 0 !important;
    border: 0 !important;
    font-weight: inherit !important;
    color: inherit;
    background: #fafafa;
}

.ui-autocomplete .ui-menu-item:hover {
    background: #fafafa;
}

.ev-ac-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
}

.ev-ac-thumb {
    width: 36px;
    height: 48px;
    object-fit: contain;
    flex: 0 0 36px;
    background: #f7f7f7;
    border-radius: 3px;
}

.ev-ac-thumb--empty {
    display: inline-block;
}

.ev-ac-meta {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.ev-ac-label {
    font-size: 14px;
    font-weight: 600;
    color: #222;
    white-space: normal;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    line-height: 1.25;
}

.ev-ac-producer {
    font-size: 12px;
    color: #888;
    white-space: normal;
    overflow-wrap: anywhere;
    word-wrap: break-word;
    line-height: 1.25;
}

.ev-ac-sub {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 2px;
}

.ev-ac-price {
    font-size: 13px;
    font-weight: 600;
    color: #6f1c48;
}

.ev-ac-stock {
    font-size: 12px;
    color: #a67c00;
}

.ev-ac-stock--ok {
    color: #2e7d32;
}

.ev-ac-item--oos .ev-ac-label {
    color: #777;
}

.ui-autocomplete .ui-autocomplete-see-all,
.ui-autocomplete .ui-autocomplete-didyoumean {
    display: block;
    font-weight: 600 !important;
    color: #6f1c48 !important;
    border-top: 1px solid #eee;
    padding: 12px !important;
    text-align: center;
    white-space: normal !important;
    word-wrap: break-word;
    overflow-wrap: anywhere;
    text-overflow: clip !important;
    overflow: visible !important;
    line-height: 1.35;
}

.ui-autocomplete .ui-autocomplete-didyoumean {
    border-top: none;
    font-style: italic;
}

.ui-autocomplete .ui-autocomplete-see-all-item,
.ui-autocomplete .ui-autocomplete-didyoumean-item {
    background: #faf7f9;
}

/* Mantener "Ver todos" visible al pie mientras se scrollean productos */
.ui-autocomplete .ui-autocomplete-see-all-item {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 2;
    overflow: visible !important;
    box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.05);
}

.ui-autocomplete .ui-autocomplete-see-all-item > a {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

.ui-autocomplete .ui-autocomplete-see-all-item:hover,
.ui-autocomplete .ui-autocomplete-see-all-item.ui-state-focus,
.ui-autocomplete .ui-autocomplete-didyoumean-item:hover,
.ui-autocomplete .ui-autocomplete-didyoumean-item.ui-state-focus {
    background: #f3ebf0;
}

/* Pagina de resultados */
.ev-search-empty {
    max-width: 720px;
    margin: 0 auto 40px;
    text-align: center;
}

.ev-search-empty__title {
    margin-top: 10px;
}

.ev-search-didyoumean {
    margin: 16px 0 24px;
    font-size: 18px;
}

.ev-search-didyoumean a {
    color: #6f1c48;
    font-weight: 600;
}

.ev-search-featured-title {
    margin: 28px 0 12px;
    text-align: center;
}


/* === ev-product-shelf.css === */
/* Product shelf — native horizontal scroll + snap (mobile swipe, desktop arrows) */

.home-top,
#home-tops .home-top,
.product-slider .home-countdown {
    overflow: visible;
}

.ev-home-custom-lead {
    margin: -4px 0 6px;
    padding: 0 16px;
    font-family: var(--font-body), sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: var(--ev-muted, #6b5f66);
}

#home-custom .head {
    margin: 0 0 12px;
    text-align: center;
}

#home-custom .head .more a {
    font-size: 14px;
}

#recommended,
#2x1 {
    background: transparent;
}

.ev-product-shelf {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 0 24px;
    box-sizing: border-box;
    z-index: 1;
}

.ev-shelf-track,
.ev-shelf-track.product-list,
.product-list.ev-shelf-track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    padding: 4px 0 8px;
    list-style: none;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    -ms-scroll-snap-type: mandatory;
    scroll-padding-inline: 4px;
    background: transparent;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.ev-shelf-track::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.ev-shelf-track > li {
    -webkit-box-flex: 0 !important;
    -ms-flex: 0 0 72% !important;
    flex: 0 0 72% !important;
    max-width: 72% !important;
    width: 72% !important;
    margin: 0 12px 0 0;
    padding: 0 !important;
    list-style: none;
    box-sizing: border-box;
    scroll-snap-align: start;
    -ms-scroll-snap-coordinate: 0% 0%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.ev-shelf-track .tiny-preview,
.ev-shelf-track .product {
    width: 100%;
    height: 100%;
    margin-bottom: 0;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    overflow: visible;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.ev-shelf-track > li:last-child {
    margin-right: 0;
}

.ev-shelf-track .tiny-preview > br {
    display: none;
}

.ev-shelf-track .tiny-preview > div:not(.image),
.ev-shelf-track .tiny-preview .lower-container,
.ev-shelf-track .tiny-preview .small-buy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 100%;
}

/* Beat .product-list .product .small-buy > .ev-buy-wrap { margin-top: 20px } */
.ev-shelf-track .tiny-preview .ev-buy-wrap,
.ev-shelf-track .product .small-buy > .ev-buy-wrap,
.product-list.ev-shelf-track .product .small-buy > .ev-buy-wrap,
.ev-shelf-track.product-list .product .small-buy > .ev-buy-wrap {
    margin-top: auto !important;
    width: 100%;
    text-align: center;
    padding-top: 16px;
}

@media screen and (max-width: 767px) {
    .ev-shelf-track .tiny-preview .ev-buy-wrap,
    .ev-shelf-track .product .small-buy > .ev-buy-wrap,
    .product-list.ev-shelf-track .product .small-buy > .ev-buy-wrap,
    .ev-shelf-track.product-list .product .small-buy > .ev-buy-wrap {
        margin-top: auto !important;
        padding-top: 10px;
    }
}

.ev-shelf-nav {
    display: none !important;
    position: absolute !important;
    top: 50% !important;
    left: auto;
    right: auto;
    bottom: auto !important;
    z-index: 5;
    width: 40px;
    height: 40px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #6f1c48 !important;
    color: #fff !important;
    font-size: 28px;
    line-height: 1 !important;
    text-align: center;
    cursor: pointer;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
    opacity: 0.92;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: opacity 0.15s ease, background 0.15s ease;
    transition: opacity 0.15s ease, background 0.15s ease;
}

.ev-shelf-nav:hover,
.ev-shelf-nav:focus {
    opacity: 1;
    background: #5c1228 !important;
    color: #fff !important;
    outline: none;
    text-decoration: none;
}

.ev-shelf-nav.is-disabled,
.ev-shelf-nav:disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.ev-shelf-prev {
    left: 4px !important;
    right: auto !important;
}

.ev-shelf-next {
    right: 4px !important;
    left: auto !important;
}

.ev-shelf-nav span {
    display: block;
    line-height: 1;
    margin: 0;
    padding: 0;
}

/* ‹ › glyphs sit optically off-center inside the circle */
.ev-shelf-prev span {
    -webkit-transform: translate(-2px, -1px);
    -ms-transform: translate(-2px, -1px);
    transform: translate(-2px, -1px);
}

.ev-shelf-next span {
    -webkit-transform: translate(2px, -1px);
    -ms-transform: translate(2px, -1px);
    transform: translate(2px, -1px);
}

@media screen and (max-width: 767px) {
    .ev-product-shelf {
        margin-left: -12px;
        margin-right: -12px;
    }

    .ev-shelf-track,
    .ev-shelf-track.product-list,
    .product-list.ev-shelf-track {
        padding-left: 12px;
        padding-right: 28px;
        scroll-padding-inline: 12px;
    }

    /* ~2 full cards + tiny peek — avoid mid-card clipping on narrow phones */
    .ev-shelf-track > li {
        -ms-flex: 0 0 calc(50% - 10px) !important;
        flex: 0 0 calc(50% - 10px) !important;
        max-width: calc(50% - 10px) !important;
        width: calc(50% - 10px) !important;
        margin-right: 10px;
    }

    /* Let .ev-pcard size the media stage; beat legacy #home-tops / .product-slider
       height:140px rules that cropped bottle photos with overflow:hidden. */
    #home-tops .ev-shelf-track .tiny-preview.ev-pcard .image,
    #home-tops .ev-shelf-track .tiny-preview .image.ev-pcard__media,
    .product-slider .ev-shelf-track .tiny-preview.ev-pcard .image,
    .product-slider .ev-shelf-track .tiny-preview .image.ev-pcard__media,
    .ev-shelf-track .tiny-preview.ev-pcard .image,
    .ev-shelf-track .tiny-preview .image.ev-pcard__media {
        height: auto !important;
        -webkit-box-flex: 0 !important;
        -ms-flex: 0 0 auto !important;
        flex: 0 0 auto !important;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    #home-tops .ev-shelf-track .tiny-preview.ev-pcard img,
    #home-tops .ev-shelf-track .tiny-preview img.ev-pcard__img,
    .product-slider .ev-shelf-track .tiny-preview.ev-pcard img,
    .product-slider .ev-shelf-track .tiny-preview img.ev-pcard__img,
    .ev-shelf-track .tiny-preview.ev-pcard img,
    .ev-shelf-track .tiny-preview img.ev-pcard__img {
        max-height: 168px;
        max-width: 92%;
        width: auto;
        height: auto;
        margin: auto;
    }

    #home-tops .bx-pager,
    .product-slider .bx-pager,
    #home-tops .bx-controls,
    .product-slider .bx-controls {
        display: none !important;
    }
}

@media screen and (min-width: 480px) and (max-width: 767px) {
    .ev-shelf-track > li {
        -ms-flex: 0 0 calc(50% - 12px) !important;
        flex: 0 0 calc(50% - 12px) !important;
        max-width: calc(50% - 12px) !important;
        width: calc(50% - 12px) !important;
        margin-right: 12px;
    }
}

@media screen and (min-width: 768px) {
    .ev-product-shelf.ev-shelf-scrollable .ev-shelf-nav {
        display: -webkit-box !important;
        display: -ms-flexbox !important;
        display: flex !important;
    }

    /* ~3 cards + peek → always clear that you can slide */
    .ev-shelf-track > li {
        -ms-flex: 0 0 30% !important;
        flex: 0 0 30% !important;
        max-width: 30% !important;
        width: 30% !important;
    }

    .ev-shelf-track,
    .ev-shelf-track.product-list,
    .product-list.ev-shelf-track {
        padding-left: 44px;
        padding-right: 44px;
        scroll-padding-inline: 44px;
    }

    .ev-shelf-prev {
        left: 0 !important;
    }

    .ev-shelf-next {
        right: 0 !important;
    }

    /* Ofertas Relámpago: always 4 products — center the row on desktop */
    #home-countdown .ev-shelf-track,
    #home-countdown .ev-shelf-track.product-list,
    #home-countdown .product-list.ev-shelf-track {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding-left: 0;
        padding-right: 0;
        scroll-padding-inline: 0;
        overflow-x: hidden !important;
    }

    #home-countdown .ev-shelf-track > li {
        -ms-flex: 0 0 calc(25% - 12px) !important;
        flex: 0 0 calc(25% - 12px) !important;
        max-width: calc(25% - 12px) !important;
        width: calc(25% - 12px) !important;
        margin: 0 6px;
    }

    #home-countdown .ev-shelf-nav {
        display: none !important;
    }
}

@media screen and (min-width: 992px) {
    /* ~4 cards + peek */
    .ev-shelf-track > li {
        -ms-flex: 0 0 22.5% !important;
        flex: 0 0 22.5% !important;
        max-width: 22.5% !important;
        width: 22.5% !important;
    }

    #home-countdown .ev-shelf-track > li {
        -ms-flex: 0 0 calc(25% - 16px) !important;
        flex: 0 0 calc(25% - 16px) !important;
        max-width: calc(25% - 16px) !important;
        width: calc(25% - 16px) !important;
        margin: 0 8px;
    }
}

@media screen and (min-width: 1200px) {
    /* ~4.5 cards — peek of the next one */
    .ev-shelf-track > li {
        -ms-flex: 0 0 20.5% !important;
        flex: 0 0 20.5% !important;
        max-width: 20.5% !important;
        width: 20.5% !important;
    }

    #home-countdown .ev-shelf-track > li {
        -ms-flex: 0 0 calc(25% - 20px) !important;
        flex: 0 0 calc(25% - 20px) !important;
        max-width: calc(25% - 20px) !important;
        width: calc(25% - 20px) !important;
        margin: 0 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ev-shelf-track {
        scroll-behavior: auto;
    }
}

/* Producer / gallery image shelves */
#producer-images .ev-shelf-track > li {
    text-align: center;
    background: #fafafa;
    border: 1px solid #eee;
    padding: 8px !important;
    box-sizing: border-box;
}

#producer-images .ev-shelf-track img {
    display: block;
    max-height: 200px;
    width: auto;
    max-width: 100%;
    margin: 0 auto;
}

#related-news .ev-shelf-track > li {
    box-sizing: border-box;
    -ms-flex: 0 0 85% !important;
    flex: 0 0 85% !important;
    max-width: 85% !important;
    width: 85% !important;
}

#related-news .ev-shelf-track .thumbnail {
    margin: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #eee;
    padding: 0;
    overflow: hidden;
}

#related-news .ev-shelf-track .thumbnail > a {
    display: block;
    line-height: 0;
}

#related-news .ev-shelf-track .thumbnail img {
    display: block;
    width: 100% !important;
    max-width: 100%;
    height: auto;
    margin: 0;
}

#related-news .ev-shelf-track .thumbnail .caption {
    padding: 12px 14px 16px;
}

#related-news .ev-shelf-track .thumbnail h3 {
    font-size: 14px;
    line-height: 1.35;
    margin: 0;
}

@media screen and (min-width: 768px) {
    #related-news .ev-shelf-track > li {
        -ms-flex: 0 0 46% !important;
        flex: 0 0 46% !important;
        max-width: 46% !important;
        width: 46% !important;
    }
}

@media screen and (min-width: 992px) {
    #related-news .ev-shelf-track > li {
        -ms-flex: 0 0 32% !important;
        flex: 0 0 32% !important;
        max-width: 32% !important;
        width: 32% !important;
    }
}

/* Override global button { position:relative } so shelf arrows stay absolute */
button.ev-shelf-nav,
.ev-shelf-nav {
    position: absolute !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    line-height: 1 !important;
    font-size: 28px !important;
    z-index: 5 !important;
}


/* === ev-product-card.css === */
/* Product card — listing + shelves (keeps .product / .tiny-preview hooks) */

/* Empty alignment slots — invisible, but MUST keep the slot’s margin/height */
.ev-pcard__slot-empty {
    display: block;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
    color: transparent !important;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.product.ev-pcard,
.product-list .product.ev-pcard,
.tiny-preview.ev-pcard,
#home-tops .tiny-preview.ev-pcard,
.product-slider .tiny-preview.ev-pcard {
    border: 1px solid var(--ev-pc-line);
    background: #fff;
    border-radius: 0;
    padding: 0;
    overflow: hidden;
    text-align: center;
    box-shadow: none;
    -webkit-transition: border-color 0.25s ease;
    transition: border-color 0.25s ease;
}

.product.ev-pcard:hover,
.product-list .product.ev-pcard:hover,
.tiny-preview.ev-pcard:hover {
    border-color: #d9cfd4;
}

.product.ev-pcard > br,
.tiny-preview.ev-pcard > br {
    display: none;
}

/* ——— Media: white stage so bottle photos blend (no pink box) ——— */
.product.ev-pcard .image.ev-pcard__media,
.product-list .product.ev-pcard .image.ev-pcard__media,
.tiny-preview.ev-pcard .image.ev-pcard__media {
    position: relative;
    margin: 0;
    padding: 20px 18px 8px;
    background: #fff;
    overflow: hidden;
}

.ev-pcard__media-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 210px;
}

.product-list .product.ev-pcard img.ev-pcard__img,
.tiny-preview.ev-pcard img.ev-pcard__img,
.product.ev-pcard .ev-pcard__img {
    display: block;
    margin: 0 auto;
    max-height: 230px;
    width: auto;
    max-width: 88%;
    -webkit-transition: -webkit-transform 0.35s ease;
    transition: transform 0.35s ease;
}

.product.ev-pcard:hover .ev-pcard__img,
.tiny-preview.ev-pcard:hover .ev-pcard__img {
    -webkit-transform: scale(1.025);
    transform: scale(1.025);
}

.product.ev-pcard .image-text.ev-pcard__badge,
.tiny-preview.ev-pcard .image-text.ev-pcard__badge {
    top: 10px;
    left: 10px;
    right: auto;
    bottom: auto;
    z-index: 2;
    padding: 4px 8px;
    border: 0;
    border-radius: 0;
    background: var(--ev-pc-wash);
    color: var(--ev-pc-brand);
    font-family: var(--font-nav), var(--font-body), sans-serif;
    font-size: 13px;
    font-weight: var(--w-semibold);
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: uppercase;
    opacity: 1;
    box-shadow: none;
}

/* ——— Body ——— */
.product.ev-pcard .ev-pcard__body,
.product-list .product.ev-pcard .data.ev-pcard__body,
.tiny-preview.ev-pcard .ev-pcard__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 10px 16px 14px;
    margin: 0;
    color: var(--ev-pc-ink);
    text-align: center;
}

.ev-pcard__producer {
    margin: 0 0 4px;
    padding: 0;
    font-family: var(--font-nav), var(--font-body), sans-serif;
    font-size: 13px;
    font-weight: var(--w-medium);
    letter-spacing: 0.06em;
    line-height: 1.35;
    text-transform: uppercase;
    color: var(--ev-pc-muted);
}

.product.ev-pcard .ev-pcard__name,
.tiny-preview.ev-pcard .ev-pcard__name {
    margin: 0 0 2px;
}

.product.ev-pcard .ev-pcard__name h2,
.tiny-preview.ev-pcard .ev-pcard__name h2,
.product.ev-pcard h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: var(--w-semibold);
    line-height: 1.32;
    letter-spacing: -0.01em;
}

.product.ev-pcard .ev-pcard__name h2 a,
.tiny-preview.ev-pcard .ev-pcard__name h2 a,
.product.ev-pcard .ev-pcard__name h2 a:hover,
.tiny-preview.ev-pcard .ev-pcard__name h2 a:hover {
    color: var(--ev-pc-ink);
    text-decoration: none;
}

.product.ev-pcard .ev-pcard__name h2 a,
.tiny-preview.ev-pcard .ev-pcard__name h2 a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
}

/*
 * Listing: equal-height cards in the row so CTAs share one baseline.
 * Extra space goes above the price/buy block (margin-top: auto), not under the card.
 */
.ev-listing-grid.product-list,
.ev-listing-grid.row {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.ev-listing-grid .product.ev-pcard {
    height: 100%;
}

/* Compact “Descuento Comunidad” on listing (styles.css uses margin: 10px 0) */
.ev-listing-grid .product.ev-pcard .ev-pcard__community:not(.ev-pcard__slot-empty) {
    margin: 6px 0 0;
}

.ev-listing-grid .product.ev-pcard .ev-pcard__community .community-discount {
    margin: 0 !important;
    padding: 5px 8px !important;
    font-size: 13px;
    font-weight: var(--w-semibold);
    line-height: 1.2;
}

.product.ev-pcard .product-review,
.tiny-preview.ev-pcard .product-review {
    margin: 0 0 4px;
    opacity: 0.9;
}

/* Empty stars: don’t leave a blank line between title and stock on listing */
.ev-listing-grid .product.ev-pcard .product-review.ev-pcard__slot-empty,
.product-list:not(.ev-shelf-track) .product.ev-pcard .product-review.ev-pcard__slot-empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
}

.ev-listing-grid:has(.product-review:not(.ev-pcard__slot-empty)) .product.ev-pcard .product-review.ev-pcard__slot-empty,
.product-list:not(.ev-shelf-track):has(.product-review:not(.ev-pcard__slot-empty)) .product.ev-pcard .product-review.ev-pcard__slot-empty {
    display: block !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 0 4px !important;
    overflow: hidden;
}

/*
 * Listing: always collapse empty “Descuento Comunidad” slots.
 * Do NOT re-expand via :has on the whole grid — one badge in 15 cards
 * was reserving ~34px blank between price and CTA on every neighbor.
 */
.ev-listing-grid .product.ev-pcard .ev-pcard__community.ev-pcard__slot-empty,
.product-list:not(.ev-shelf-track) .product.ev-pcard .ev-pcard__community.ev-pcard__slot-empty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
}

.ev-listing-grid .product.ev-pcard .instalments:empty,
.product-list:not(.ev-shelf-track) .product.ev-pcard .instalments:empty {
    display: none !important;
    margin: 0 !important;
    height: 0 !important;
}

/* ——— Price / buy block ——— */
/*
 * Pin price + CTA to the bottom of the card (listing + shelves) so buttons
 * stay level when titles wrap or neighbors show SIN STOCK / badges.
 */
.product.ev-pcard .lower-container,
.tiny-preview.ev-pcard .lower-container,
.product-list .product.ev-pcard .data .lower-container {
    margin-top: auto;
    width: 100%;
}

.product.ev-pcard .small-buy,
.tiny-preview.ev-pcard .small-buy {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

/* Stock: availability signal (green) + low-stock whisper (brand) */
.product.ev-pcard .in-stock,
.tiny-preview.ev-pcard .in-stock,
.product-list .product.ev-pcard .in-stock {
    margin: 0 0 4px;
    font-family: var(--font-nav), var(--font-body), sans-serif;
    font-size: 14px;
    font-weight: var(--w-medium);
    letter-spacing: 0.02em;
    line-height: 1.35;
}

.product.ev-pcard .in-stock--ok,
.tiny-preview.ev-pcard .in-stock--ok {
    color: #00a650 !important;
}

.product.ev-pcard .in-stock--low,
.tiny-preview.ev-pcard .in-stock--low {
    color: #00a650 !important;
}

.product.ev-pcard .product-list-price-c,
.tiny-preview.ev-pcard .product-list-price-c {
    display: block;
    margin: 0 0 2px;
    line-height: 1.2;
}

.product.ev-pcard .product-list-price,
.tiny-preview.ev-pcard .product-list-price {
    color: #9a9096;
    font-size: 14px;
    font-weight: var(--w-regular);
}

.product.ev-pcard .ev-price-off,
.tiny-preview.ev-pcard .ev-price-off,
.product.ev-pcard .small-buy > .ev-price-off,
.tiny-preview.ev-pcard .small-buy > .ev-price-off {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0 8px;
    width: 100%;
    margin: 0;
}

.product.ev-pcard .small-buy .product-price,
.tiny-preview.ev-pcard .small-buy .product-price,
.product-list .product.ev-pcard .small-buy .product-price {
    margin: 0 !important;
    font-family: var(--font-body);
    font-size: 24px;
    font-weight: var(--w-bold);
    color: var(--color-price);
    letter-spacing: -0.02em;
    line-height: 1.15;
}

/* % OFF: brand chip, not ML green pill */
.product.ev-pcard .discount-arrow,
.tiny-preview.ev-pcard .discount-arrow,
.product.ev-pcard .small-buy .discount-arrow,
.tiny-preview.ev-pcard .small-buy .discount-arrow,
.product.ev-pcard .ev-price-off .discount-arrow,
.tiny-preview.ev-pcard .ev-price-off .discount-arrow {
    display: inline-block;
    margin: 0 0 0 2px !important;
    padding: 4px 8px;
    top: 0 !important;
    vertical-align: middle;
    background: var(--ev-pc-wash);
    border: 1px solid #e4d6dc;
    border-radius: 0;
    color: var(--ev-pc-brand);
    font-family: var(--font-nav), var(--font-body), sans-serif;
    font-size: 13px;
    font-weight: var(--w-semibold);
    letter-spacing: 0.03em;
    line-height: 1.25;
}

.product.ev-pcard .discount-arrow p,
.tiny-preview.ev-pcard .discount-arrow p,
.product.ev-pcard .discount-arrow.arrow-left p,
.tiny-preview.ev-pcard .discount-arrow.arrow-left p {
    margin: 0;
    color: var(--ev-pc-brand);
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.product.ev-pcard .discount-text,
.tiny-preview.ev-pcard .discount-text {
    margin: 0 0 6px;
    font-family: var(--font-nav), var(--font-body), sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: var(--ev-pc-brand);
}

.product.ev-pcard .discount-text b,
.tiny-preview.ev-pcard .discount-text b {
    font-weight: var(--w-semibold);
}

.product.ev-pcard .promoted,
.tiny-preview.ev-pcard .promoted {
    margin: 8px 0 0;
    padding: 8px 10px;
    background: var(--ev-pc-wash);
    border: 1px solid var(--ev-pc-line);
    border-radius: 0;
    color: var(--ev-pc-ink);
    font-size: 14px;
    line-height: 1.4;
}

.product.ev-pcard .small-highlight,
.tiny-preview.ev-pcard .small-highlight {
    margin: 4px 0 8px;
    font-family: var(--font-nav), sans-serif;
    font-size: 14px;
    font-weight: var(--w-semibold);
    letter-spacing: 0.03em;
    color: var(--ev-pc-brand-soft);
}

.product.ev-pcard .instalments,
.tiny-preview.ev-pcard .instalments {
    margin-top: 4px;
    font-size: 14px;
    color: var(--ev-pc-muted);
}

.product.ev-pcard .small-buy > br,
.tiny-preview.ev-pcard .small-buy > br,
.product.ev-pcard .small-buy .instalments + br,
.tiny-preview.ev-pcard .small-buy .instalments + br {
    display: none;
}

/* CTA + stepper: same radius (5px) and solid brand fill */
.product.ev-pcard .ev-buy-wrap,
.tiny-preview.ev-pcard .ev-buy-wrap,
.product-list .product.ev-pcard .small-buy > .ev-buy-wrap,
.product-list:not(.ev-shelf-track) .product.ev-pcard .small-buy > .ev-buy-wrap {
    width: 100%;
    margin-top: 8px !important;
    padding-top: 0;
    text-align: center;
}

/* One CTA look for every product card (shelf, listing, home). */
.product.ev-pcard .buy-btn,
.product.ev-pcard .buy-btn.small,
.product.ev-pcard .buy-btn-nocart,
.product.ev-pcard .btn2,
.product.ev-pcard .btn2.small,
.tiny-preview.ev-pcard .buy-btn,
.tiny-preview.ev-pcard .buy-btn.small,
.tiny-preview.ev-pcard .buy-btn-nocart,
.tiny-preview.ev-pcard .btn2,
.product-list .product.ev-pcard .buy-btn,
.product-list .product.ev-pcard .buy-btn.small,
.product-list .product.ev-pcard .buy-btn-nocart,
.product-list .product.ev-pcard .btn2,
.product-list .product.ev-pcard .btn2.small,
#home-tops .tiny-preview.ev-pcard .buy-btn,
#home-tops .tiny-preview.ev-pcard .buy-btn.small,
#home-tops .tiny-preview.ev-pcard .buy-btn-nocart,
#home-tops .tiny-preview.ev-pcard .btn2,
.product-slider .tiny-preview.ev-pcard .buy-btn,
.product-slider .tiny-preview.ev-pcard .buy-btn.small,
.product-slider .tiny-preview.ev-pcard .buy-btn-nocart,
.product-slider .tiny-preview.ev-pcard .btn2,
.ev-shelf-track .tiny-preview.ev-pcard .buy-btn,
.ev-shelf-track .tiny-preview.ev-pcard .buy-btn.small,
.ev-shelf-track .tiny-preview.ev-pcard .buy-btn-nocart,
.ev-shelf-track .tiny-preview.ev-pcard .btn2,
.search-results .product.ev-pcard .buy-btn,
.search-results .product.ev-pcard .buy-btn.small,
.search-results .product.ev-pcard .btn2 {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 11px 12px;
    border: 1px solid var(--ev-pc-brand);
    background: var(--ev-pc-brand);
    color: #fff !important;
    font-family: var(--font-nav), var(--font-body), sans-serif;
    font-size: 14px;
    font-weight: var(--w-semibold);
    letter-spacing: 0.01em;
    line-height: 1.25;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    border-radius: var(--ev-radius, 5px);
    -webkit-transition: background 0.2s ease, border-color 0.2s ease;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.product.ev-pcard .buy-btn:hover,
.product.ev-pcard .buy-btn-nocart:hover,
.product.ev-pcard .btn2:hover,
.tiny-preview.ev-pcard .buy-btn:hover,
.tiny-preview.ev-pcard .buy-btn-nocart:hover,
.tiny-preview.ev-pcard .btn2:hover {
    background: var(--ev-pc-brand-soft);
    border-color: var(--ev-pc-brand-soft);
    color: #fff !important;
}

.product.ev-pcard .ev-qty-stepper,
.tiny-preview.ev-pcard .ev-qty-stepper,
.product-list .product.ev-pcard .ev-qty-stepper {
    border-radius: var(--ev-radius, 5px);
    height: 44px;
}

.product.ev-pcard .ev-qty-stepper .ev-qty-val,
.tiny-preview.ev-pcard .ev-qty-stepper .ev-qty-val {
    font-size: 16px;
    line-height: 42px;
}

.product.ev-pcard .ev-qty-stepper button,
.tiny-preview.ev-pcard .ev-qty-stepper button {
    font-size: 22px;
}

.product.ev-pcard .small-buy > b,
.tiny-preview.ev-pcard .small-buy > b {
    display: block;
    margin: 4px 0 8px;
    font-family: var(--font-nav), sans-serif;
    font-size: 14px;
    font-weight: var(--w-semibold);
    letter-spacing: 0.04em;
    color: var(--ev-pc-muted);
}

/* Shelf alignment: CTA still sits at bottom */
.ev-shelf-track .ev-pcard .ev-buy-wrap,
.ev-shelf-track .product.ev-pcard .small-buy > .ev-buy-wrap,
.product-list.ev-shelf-track .product.ev-pcard .small-buy > .ev-buy-wrap {
    margin-top: auto !important;
    padding-top: 14px;
}

/* ——— Mobile denser grid ——— */
@media screen and (max-width: 767px) {
    .product.ev-pcard,
    .product-list .product.ev-pcard,
    .tiny-preview.ev-pcard {
        margin-bottom: 12px;
    }

    .product.ev-pcard .image.ev-pcard__media,
    .tiny-preview.ev-pcard .image.ev-pcard__media {
        padding: 14px 10px 6px;
    }

    .ev-pcard__media-link {
        min-height: 156px;
    }

    .product-list .product.ev-pcard img.ev-pcard__img,
    .tiny-preview.ev-pcard img.ev-pcard__img {
        max-height: 168px;
        max-width: 92%;
    }

    .product.ev-pcard .ev-pcard__body,
    .tiny-preview.ev-pcard .ev-pcard__body {
        padding: 8px 6px 12px;
    }

    .ev-pcard__producer {
        font-size: 12px;
        margin-bottom: 4px;
    }

    .product.ev-pcard .ev-pcard__name,
    .tiny-preview.ev-pcard .ev-pcard__name {
        margin-bottom: 4px;
    }

    .product.ev-pcard .ev-pcard__name h2,
    .tiny-preview.ev-pcard .ev-pcard__name h2,
    .product.ev-pcard h2 {
        font-size: 16px;
    }

    .product.ev-pcard .in-stock,
    .tiny-preview.ev-pcard .in-stock {
        font-size: 13px;
        margin-bottom: 6px;
    }

    .product.ev-pcard .product-list-price,
    .tiny-preview.ev-pcard .product-list-price {
        font-size: 13px;
    }

    /* Mobile: stack badge + price, then tachado, with clear vertical gaps */
    .product.ev-pcard .ev-price-off,
    .tiny-preview.ev-pcard .ev-price-off,
    .product.ev-pcard .small-buy > .ev-price-off,
    .tiny-preview.ev-pcard .small-buy > .ev-price-off {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 6px;
    }

    .product.ev-pcard .discount-arrow,
    .tiny-preview.ev-pcard .discount-arrow,
    .product.ev-pcard .small-buy .discount-arrow,
    .tiny-preview.ev-pcard .small-buy .discount-arrow {
        font-size: 12px;
        padding: 3px 7px;
        margin: 0 !important;
    }

    .product.ev-pcard .small-buy .product-price,
    .tiny-preview.ev-pcard .small-buy .product-price {
        font-size: 20px;
        margin: 0;
        line-height: 1.25;
    }

    .product.ev-pcard .product-list-price-c,
    .tiny-preview.ev-pcard .product-list-price-c,
    .product-list .product.ev-pcard .product-list-price-c {
        margin-top: 6px !important;
        margin-bottom: 2px;
        line-height: 1.3;
    }

    /* Keep 13px type; fit “Agregar al carrito” on one line via padding + nowrap. */
    .product.ev-pcard .buy-btn,
    .product.ev-pcard .buy-btn.small,
    .product.ev-pcard .buy-btn-nocart,
    .product.ev-pcard .btn2,
    .tiny-preview.ev-pcard .buy-btn,
    .tiny-preview.ev-pcard .buy-btn.small,
    .tiny-preview.ev-pcard .buy-btn-nocart,
    .tiny-preview.ev-pcard .btn2,
    #home-tops .tiny-preview.ev-pcard .buy-btn,
    #home-tops .tiny-preview.ev-pcard .buy-btn.small,
    #home-tops .tiny-preview.ev-pcard .buy-btn-nocart,
    #home-tops .tiny-preview.ev-pcard .btn2,
    .product-slider .tiny-preview.ev-pcard .buy-btn,
    .product-slider .tiny-preview.ev-pcard .buy-btn.small,
    .product-slider .tiny-preview.ev-pcard .buy-btn-nocart,
    .product-slider .tiny-preview.ev-pcard .btn2,
    .ev-shelf-track .tiny-preview.ev-pcard .buy-btn,
    .ev-shelf-track .tiny-preview.ev-pcard .buy-btn.small,
    .ev-shelf-track .tiny-preview.ev-pcard .buy-btn-nocart,
    .ev-shelf-track .tiny-preview.ev-pcard .btn2,
    .product-list .product.ev-pcard .buy-btn,
    .product-list .product.ev-pcard .buy-btn.small,
    .product-list .product.ev-pcard .buy-btn-nocart,
    .product-list .product.ev-pcard .btn2,
    .search-results .product.ev-pcard .buy-btn,
    .search-results .product.ev-pcard .buy-btn.small,
    .search-results .product.ev-pcard .btn2 {
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 0 !important;
        padding: 10px 4px;
        font-size: 13px;
        letter-spacing: 0;
        line-height: 1.2;
        white-space: nowrap;
    }

    .product.ev-pcard .ev-qty-stepper,
    .tiny-preview.ev-pcard .ev-qty-stepper {
        height: 40px;
    }

    .product.ev-pcard .ev-qty-stepper .ev-qty-val,
    .tiny-preview.ev-pcard .ev-qty-stepper .ev-qty-val {
        font-size: 15px;
        line-height: 38px;
    }

    .product.ev-pcard .ev-buy-wrap,
    .tiny-preview.ev-pcard .ev-buy-wrap,
    .product-list:not(.ev-shelf-track) .product.ev-pcard .small-buy > .ev-buy-wrap {
        margin-top: 12px !important;
    }

    /*
     * Mobile listing + shelf alignment (reserved slots):
     * Each description block keeps a fixed height so neighbors stay level
     * (stars↔stars, stock↔stock, price↔price) without CSS Subgrid.
     */
    .ev-listing-grid .product.ev-pcard .ev-pcard__producer,
    .ev-shelf-track .ev-pcard .ev-pcard__producer {
        margin-bottom: 4px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        min-height: 1.35em;
        line-height: 1.35;
    }

    .ev-listing-grid .product.ev-pcard .ev-pcard__producer.ev-pcard__slot-empty,
    .ev-shelf-track .ev-pcard .ev-pcard__producer.ev-pcard__slot-empty {
        padding: 0;
        font-size: 12px;
        min-height: 1.35em;
    }

    .ev-listing-grid .product.ev-pcard .ev-pcard__name,
    .ev-shelf-track .ev-pcard .ev-pcard__name {
        margin-bottom: 4px;
    }

    .ev-listing-grid .product.ev-pcard .ev-pcard__name h2,
    .ev-listing-grid .product.ev-pcard .ev-pcard__name h2 a {
        min-height: 0 !important;
        max-height: calc(1.32em * 2) !important;
        line-height: 1.32 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
    }

    /* Shelves still reserve 2 lines so neighbors stay level in the track */
    .ev-shelf-track .ev-pcard .ev-pcard__name h2,
    .ev-shelf-track .ev-pcard .ev-pcard__name h2 a {
        min-height: calc(1.32em * 2) !important;
        max-height: calc(1.32em * 2) !important;
        line-height: 1.32 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
    }

    /* Stars row: identical box for filled + empty (fixes missing-rating drift) */
    .ev-listing-grid .product.ev-pcard .product-review,
    .ev-shelf-track .ev-pcard .product-review {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 22px;
        flex: 0 0 22px;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        margin: 0 0 8px !important;
        line-height: 22px !important;
        overflow: hidden;
    }

    .ev-listing-grid .product.ev-pcard .product-review.ev-pcard__slot-empty,
    .ev-shelf-track .ev-pcard .product-review.ev-pcard__slot-empty {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 0px;
        flex: 0 0 0;
    }

    .ev-listing-grid:has(.product-review:not(.ev-pcard__slot-empty)) .product.ev-pcard .product-review.ev-pcard__slot-empty,
    .ev-shelf-track:has(.product-review:not(.ev-pcard__slot-empty)) .ev-pcard .product-review.ev-pcard__slot-empty {
        display: block !important;
        font-size: 14px !important;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 22px;
        flex: 0 0 22px;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        margin: 0 0 8px !important;
    }

    /*
     * Community discount band (order 0 → above price stack on mobile).
     * Empty slots collapse by default; only reserve height when the row/shelf
     * has at least one real badge (:has), so you don’t get a blank gap when
     * nobody in the group has “Descuento Comunidad”.
     */
    .ev-listing-grid .product.ev-pcard .ev-pcard__community:not(.ev-pcard__slot-empty),
    .ev-shelf-track .ev-pcard .ev-pcard__community:not(.ev-pcard__slot-empty) {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 34px;
        flex: 0 0 34px;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0 !important;
        display: block;
        width: 100%;
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
        margin: 4px 0 6px !important;
        overflow: hidden;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .ev-listing-grid .product.ev-pcard .ev-pcard__community.ev-pcard__slot-empty,
    .ev-shelf-track .ev-pcard .ev-pcard__community.ev-pcard__slot-empty {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 0px;
        flex: 0 0 0;
        overflow: hidden;
    }

    /* Shelf only: reserve empty community slots for neighbor alignment.
       Listing grid must NOT — one badge would blank-pad every card. */
    .ev-shelf-track:has(.ev-pcard__community:not(.ev-pcard__slot-empty)) .ev-pcard .ev-pcard__community.ev-pcard__slot-empty {
        display: block !important;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 34px;
        flex: 0 0 34px;
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0 !important;
        width: 100%;
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
        margin: 4px 0 6px !important;
    }

    .ev-listing-grid .product.ev-pcard .ev-pcard__community .ev-community-discount-link,
    .ev-shelf-track .ev-pcard .ev-pcard__community .ev-community-discount-link {
        display: block;
        width: 100%;
        text-decoration: none;
    }

    .ev-listing-grid .product.ev-pcard .ev-pcard__community .community-discount,
    .ev-shelf-track .ev-pcard .ev-pcard__community .community-discount {
        display: block !important;
        width: 100%;
        margin: 0 !important;
        padding: 6px 8px !important;
        line-height: 1.2 !important;
        font-size: 12px !important;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Extra promos in compact cards break neighbor alignment — hide on listing/shelf */
    .ev-listing-grid .product.ev-pcard .small-buy > .discount-text,
    .ev-listing-grid .product.ev-pcard .small-buy > .promoted,
    .ev-listing-grid .product.ev-pcard .small-buy > .promo-link,
    .ev-listing-grid .product.ev-pcard .small-buy > .small-highlight,
    .ev-listing-grid .product.ev-pcard .small-buy > .next-buy-discount,
    .ev-listing-grid .product.ev-pcard .small-buy > .ev-pcard__extra,
    .ev-shelf-track .ev-pcard .small-buy > .discount-text,
    .ev-shelf-track .ev-pcard .small-buy > .promoted,
    .ev-shelf-track .ev-pcard .small-buy > .promo-link,
    .ev-shelf-track .ev-pcard .small-buy > .small-highlight,
    .ev-shelf-track .ev-pcard .small-buy > .next-buy-discount,
    .ev-shelf-track .ev-pcard .small-buy > .ev-pcard__extra {
        display: none !important;
    }

    .ev-listing-grid .product.ev-pcard .product-list-price-c,
    .ev-shelf-track .ev-pcard .product-list-price-c {
        min-height: 1.3em;
        line-height: 1.3;
    }

    .ev-listing-grid .product.ev-pcard .product-list-price-c.ev-pcard__slot-empty,
    .ev-shelf-track .ev-pcard .product-list-price-c.ev-pcard__slot-empty {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    .ev-listing-grid:has(.product-list-price-c:not(.ev-pcard__slot-empty)) .product.ev-pcard .product-list-price-c.ev-pcard__slot-empty,
    .ev-shelf-track:has(.product-list-price-c:not(.ev-pcard__slot-empty)) .ev-pcard .product-list-price-c.ev-pcard__slot-empty {
        display: block !important;
        font-size: 13px;
        min-height: 1.3em !important;
        height: 1.3em !important;
        margin-top: 6px !important;
    }

    /* Badge slot: reserve empty only if a neighbor shows a real badge */
    .ev-listing-grid .product.ev-pcard .discount-arrow,
    .ev-listing-grid .product.ev-pcard .small-buy .discount-arrow,
    .ev-shelf-track .ev-pcard .discount-arrow,
    .ev-shelf-track .ev-pcard .small-buy .discount-arrow {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        min-height: 22px;
        line-height: 1.15;
    }

    .ev-listing-grid .product.ev-pcard .discount-arrow.ev-pcard__slot-empty,
    .ev-shelf-track .ev-pcard .discount-arrow.ev-pcard__slot-empty {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ev-listing-grid:has(.discount-arrow:not(.ev-pcard__slot-empty)) .product.ev-pcard .discount-arrow.ev-pcard__slot-empty,
    .ev-shelf-track:has(.discount-arrow:not(.ev-pcard__slot-empty)) .ev-pcard .discount-arrow.ev-pcard__slot-empty {
        display: block !important;
        width: 100%;
        height: 22px !important;
        min-height: 22px !important;
        padding: 3px 7px !important;
        margin: 0 0 6px !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
        top: 0 !important;
    }

    /* Stock: 1 line by default; 2 lines only if someone shows “Últimas unidades…” */
    .ev-listing-grid .product.ev-pcard .in-stock,
    .ev-shelf-track .ev-pcard .in-stock {
        -ms-flex-negative: 0;
        flex-shrink: 0;
        min-height: 1.15em !important;
        height: auto;
        line-height: 1.15;
        margin: 2px 0 0 !important;
        overflow: hidden;
    }

    .ev-listing-grid .product.ev-pcard .in-stock.ev-pcard__slot-empty,
    .ev-shelf-track .ev-pcard .in-stock.ev-pcard__slot-empty {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    .ev-listing-grid:has(.in-stock--low) .product.ev-pcard .in-stock,
    .ev-shelf-track:has(.in-stock--low) .ev-pcard .in-stock {
        min-height: 2.3em !important;
        height: 2.3em;
    }

    .ev-listing-grid:has(.in-stock:not(.ev-pcard__slot-empty)) .product.ev-pcard .in-stock.ev-pcard__slot-empty,
    .ev-shelf-track:has(.in-stock:not(.ev-pcard__slot-empty)) .ev-pcard .in-stock.ev-pcard__slot-empty {
        display: block !important;
        font-size: 13px !important;
        min-height: 1.15em !important;
        height: 1.15em !important;
        margin: 2px 0 0 !important;
    }

    .ev-listing-grid:has(.in-stock--low) .product.ev-pcard .in-stock.ev-pcard__slot-empty,
    .ev-shelf-track:has(.in-stock--low) .ev-pcard .in-stock.ev-pcard__slot-empty {
        min-height: 2.3em !important;
        height: 2.3em !important;
    }

    .ev-listing-grid .product.ev-pcard .product-price,
    .ev-listing-grid .product.ev-pcard .small-buy .product-price,
    .ev-shelf-track .ev-pcard .product-price,
    .ev-shelf-track .ev-pcard .small-buy .product-price {
        min-height: 1.25em;
        line-height: 1.25;
    }

    .ev-listing-grid .product.ev-pcard .product-price.ev-pcard__slot-empty,
    .ev-shelf-track .ev-pcard .product-price.ev-pcard__slot-empty {
        font-size: 20px;
        min-height: 1.25em;
        margin: 0 0 6px;
    }

    .ev-listing-grid .product.ev-pcard .ev-buy-wrap,
    .ev-shelf-track .ev-pcard .ev-buy-wrap {
        margin-top: 12px !important;
    }

    /* “¿Querés comprarlo?” / SIN STOCK sit in the final-price band */
    .ev-listing-grid .product.ev-pcard .ev-purchase-ask,
    .ev-listing-grid .product.ev-pcard .small-buy > b,
    .ev-shelf-track .ev-pcard .ev-purchase-ask,
    .ev-shelf-track .ev-pcard .small-buy > b {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4 !important;
        width: 100%;
        min-height: 1.25em;
        margin: 0 0 6px;
        line-height: 1.25;
        font-size: 14px;
    }
}

/* Desktop/tablet: reserve 2 title lines on listing so price/SIN STOCK start level */
@media screen and (min-width: 768px) {
    .ev-listing-grid .product.ev-pcard .ev-pcard__name h2,
    .ev-listing-grid .product.ev-pcard .ev-pcard__name h2 a {
        min-height: calc(1.32em * 2);
        max-height: calc(1.32em * 2);
        line-height: 1.32;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
    }
}

/* Desktop/tablet shelves: same reserved slots (cards sit side-by-side in the track) */
@media screen and (min-width: 768px) {
    .ev-shelf-track .ev-pcard .ev-pcard__community:not(.ev-pcard__slot-empty) {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 34px;
        flex: 0 0 34px;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        display: block;
        width: 100%;
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
        margin: 6px 0 !important;
        overflow: hidden;
    }

    .ev-shelf-track .ev-pcard .ev-pcard__community.ev-pcard__slot-empty {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        flex: 0 0 0;
    }

    .ev-shelf-track:has(.ev-pcard__community:not(.ev-pcard__slot-empty)) .ev-pcard .ev-pcard__community.ev-pcard__slot-empty {
        display: block !important;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 34px;
        flex: 0 0 34px;
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
        margin: 6px 0 !important;
    }

    .ev-shelf-track .ev-pcard .ev-pcard__community .community-discount {
        display: block !important;
        width: 100%;
        margin: 0 !important;
        padding: 6px 8px !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .ev-shelf-track .ev-pcard .small-buy > .discount-text,
    .ev-shelf-track .ev-pcard .small-buy > .promoted,
    .ev-shelf-track .ev-pcard .small-buy > .promo-link,
    .ev-shelf-track .ev-pcard .small-buy > .small-highlight,
    .ev-shelf-track .ev-pcard .small-buy > .next-buy-discount,
    .ev-shelf-track .ev-pcard .small-buy > .ev-pcard__extra {
        display: none !important;
    }

    .ev-shelf-track .ev-pcard .ev-pcard__producer {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        min-height: 1.35em;
        line-height: 1.35;
    }

    .ev-shelf-track .ev-pcard .ev-pcard__name h2,
    .ev-shelf-track .ev-pcard .ev-pcard__name h2 a {
        min-height: calc(1.32em * 2) !important;
        max-height: calc(1.32em * 2) !important;
        line-height: 1.32 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
    }

    .ev-shelf-track .ev-pcard .product-review {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 22px;
        flex: 0 0 22px;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        margin: 0 0 8px !important;
        line-height: 22px !important;
        overflow: hidden;
    }

    .ev-shelf-track .ev-pcard .product-review.ev-pcard__slot-empty {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        flex: 0 0 0;
    }

    .ev-shelf-track:has(.product-review:not(.ev-pcard__slot-empty)) .ev-pcard .product-review.ev-pcard__slot-empty {
        display: block !important;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 22px;
        flex: 0 0 22px;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        margin: 0 0 8px !important;
    }

    .ev-shelf-track .ev-pcard .in-stock {
        min-height: 1.2em !important;
        height: auto;
        line-height: 1.2;
    }

    .ev-shelf-track:has(.in-stock--low) .ev-pcard .in-stock {
        min-height: calc(1.2em * 2) !important;
        height: calc(1.2em * 2);
    }

    .ev-shelf-track .ev-pcard .product-list-price-c.ev-pcard__slot-empty {
        display: none !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    .ev-shelf-track:has(.product-list-price-c:not(.ev-pcard__slot-empty)) .ev-pcard .product-list-price-c.ev-pcard__slot-empty {
        display: block !important;
        min-height: 1.3em !important;
    }

    /* Badge is inline with price on desktop — no vertical slot needed */
    .ev-shelf-track .ev-pcard .discount-arrow.ev-pcard__slot-empty {
        display: none !important;
    }

    .ev-shelf-track .ev-pcard .product-price,
    .ev-shelf-track .ev-pcard .small-buy .product-price {
        min-height: 1.15em;
        line-height: 1.15;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .ev-pcard__media-link {
        min-height: 180px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .product.ev-pcard .ev-pcard__img,
    .tiny-preview.ev-pcard .ev-pcard__img {
        -webkit-transition: none;
        transition: none;
    }

    .product.ev-pcard:hover .ev-pcard__img,
    .tiny-preview.ev-pcard:hover .ev-pcard__img {
        -webkit-transform: none;
        transform: none;
    }
}


/* === ev-product-attrs.css === */
/* Descripción (ficha2): bloque aparte, mismo título que cata / ficha */

.ev-product-desc {
    width: 100%;
    margin: 0 0 72px;
    padding: 0;
}

.ev-product-desc__header {
    text-align: center;
    margin-bottom: 22px;
}

.ev-product-desc__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 0;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-weight: 600;
    font-size: var(--text-2xl, 28px);
    line-height: 1.2;
    color: var(--color-text, #333);
    letter-spacing: 0.02em;
}

.ev-product-desc__title::before,
.ev-product-desc__title::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background: var(--color-brand, #6f1c48);
    flex-shrink: 0;
}

.ev-product-desc .ev-tech-sheet__intro.product-description,
#product .ev-product-desc .ev-tech-sheet__intro.product-description {
    margin-bottom: 0;
}

@media (max-width: 479px) {
    .ev-product-desc__title {
        gap: 12px;
        font-size: var(--text-xl, 24px);
    }

    .ev-product-desc__title::before,
    .ev-product-desc__title::after {
        width: 28px;
    }
}

/* Notas de cata (ficha2 experiment): bloque aparte de la ficha técnica */

.ev-tasting-notes {
    width: 100%;
    margin: 0 0 72px;
    padding: 0;
}

.ev-tasting-notes + .ev-tech-sheet {
    padding-top: 0;
}

.ev-tasting-notes__header {
    text-align: center;
    margin-bottom: 22px;
}

.ev-tasting-notes__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 0;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-weight: 600;
    font-size: var(--text-2xl, 28px);
    line-height: 1.2;
    color: var(--color-text, #333);
    letter-spacing: 0.02em;
}

.ev-tasting-notes__title::before,
.ev-tasting-notes__title::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background: var(--color-brand, #6f1c48);
    flex-shrink: 0;
}

.ev-tasting-notes__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 46em;
    margin: 0 auto;
}

.ev-tasting-notes__list--cols-3 {
    grid-template-columns: repeat(3, 1fr);
    max-width: none;
    gap: 22px 28px;
}

.ev-tasting-notes__list--cols-2 {
    grid-template-columns: repeat(2, 1fr);
    max-width: 56em;
    gap: 22px 28px;
}

.ev-tasting-notes__item {
    display: flex;
    align-items: flex-start;
}

.ev-tasting-notes__item .attr-icon {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    margin-top: 2px;
    color: #6f1c48 !important;
    font-size: 14px;
    line-height: 1.2;
    text-align: center;
    display: inline-block;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 0.9px #6f1c48;
}

.ev-tasting-notes__item .attr-body {
    flex: 1;
    min-width: 0;
}

.ev-tasting-notes__item .title {
    color: #999;
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 2px;
    line-height: 1.3;
}

.ev-tasting-notes__item .value {
    color: var(--color-text, #333);
    font-size: var(--text-sm, 15px);
    line-height: 1.65;
    font-weight: 400;
    word-break: break-word;
}

@media (max-width: 991px) {
    .ev-tasting-notes__list--cols-3 {
        grid-template-columns: 1fr;
        max-width: 46em;
        gap: 18px;
    }
}

@media (max-width: 767px) {
    .ev-tasting-notes__list--cols-2 {
        grid-template-columns: 1fr;
        max-width: 46em;
        gap: 18px;
    }
}

@media (max-width: 479px) {
    .ev-tasting-notes__title {
        gap: 12px;
        font-size: var(--text-xl, 24px);
    }

    .ev-tasting-notes__title::before,
    .ev-tasting-notes__title::after {
        width: 28px;
    }
}

/* Ficha técnica — una sola grilla, ancho completo */

.ev-tech-sheet {
    width: 100%;
    margin: 0;
    padding: 4px 0 28px;
}

.ev-tech-sheet__header {
    text-align: center;
    margin-bottom: 22px;
}

.ev-tech-sheet__title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin: 0;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-weight: 600;
    font-size: var(--text-2xl, 28px);
    line-height: 1.2;
    color: var(--color-text, #333);
    letter-spacing: 0.02em;
}

.ev-tech-sheet__title::before,
.ev-tech-sheet__title::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background: var(--color-brand, #6f1c48);
    flex-shrink: 0;
}

.ev-tech-sheet__intro.product-description,
#product .ev-tech-sheet__intro.product-description {
    text-align: center;
    max-width: 42em;
    margin: 0 auto 28px;
    color: var(--color-muted, #666);
    font-size: var(--text-base, 16px);
    line-height: 1.6;
}

.ev-tech-sheet__intro.product-description p,
#product .ev-tech-sheet__intro.product-description p {
    margin: 0 0 0.55em;
}

.ev-tech-sheet__intro.product-description p:last-child,
#product .ev-tech-sheet__intro.product-description p:last-child {
    margin-bottom: 0;
}

.ev-tech-sheet__intro.product-description p:empty,
#product .ev-tech-sheet__intro.product-description p:empty {
    display: none;
}

.ev-tech-sheet__intro.product-description br,
#product .ev-tech-sheet__intro.product-description br {
    display: block;
    content: "";
    margin-top: 0.55em;
}

/* Una sola grilla: 4 columnas en desktop */
.ev-tech-sheet__grid.product-attributes,
.ev-tech-sheet .ev-tech-sheet__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px 28px;
    overflow: visible;
    margin: 0;
    padding: 0;
    border: none;
}

.ev-tech-sheet .attribute {
    display: flex;
    align-items: flex-start;
    padding: 0;
    margin: 0;
    border: none;
    float: none;
    width: auto;
}

.ev-tech-sheet .attribute .attr-icon,
.ev-tech-sheet .attribute .attr-icon-svg {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    margin-top: 2px;
    color: #6f1c48 !important;
    font-size: 14px;
    line-height: 1.2;
    text-align: center;
    display: inline-block;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 0.9px #6f1c48;
}

.ev-tech-sheet .attribute .attr-icon-svg {
    -webkit-text-fill-color: unset;
    -webkit-text-stroke: 0;
    overflow: visible;
    flex-shrink: 0;
}

.ev-tech-sheet .attribute .attr-body {
    flex: 1;
    min-width: 0;
}

.ev-tech-sheet .attribute .title {
    color: #999;
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    width: auto;
    max-width: 100%;
    margin-bottom: 2px;
    line-height: 1.3;
}

.ev-tech-sheet .attribute .value {
    color: var(--color-text, #333);
    font-size: var(--text-sm, 15px);
    line-height: 1.4;
    font-weight: 400;
    word-break: break-word;
}

.ev-tech-sheet .attribute .value a {
    color: inherit;
    text-decoration: none;
}

.ev-tech-sheet .attribute .value a:hover {
    color: var(--color-brand, #6f1c48);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ev-tech-sheet .attribute .value .flag-icon {
    margin-right: 6px;
    vertical-align: middle;
}

/* Elaboración / vinificación: texto largo, ocupa toda la fila */
.ev-tech-sheet .attribute--full {
    grid-column: 1 / -1;
}

.ev-tech-sheet .attribute--full .value,
.ev-tech-sheet .attribute--long .value {
    line-height: 1.65;
}

.ev-tech-sheet .attribute--full .value p {
    margin: 0 0 12px;
}

.ev-tech-sheet .attribute--full .value p:last-child {
    margin-bottom: 0;
}

/* Texto largo ( Twig: attribute--long si > ~70 chars ): 2 columnas */
.ev-tech-sheet .attribute--long {
    grid-column: span 2;
}

/* Productor */
.ev-tech-sheet__producer {
    margin-top: 36px;
    padding-top: 24px;
    border-top: 1px solid #eee;
    text-align: center;
}

.ev-tech-sheet__producer-logo img,
#producer-small-logo.ev-tech-sheet__producer-logo img {
    margin: 0 auto 10px;
    width: 150px;
    max-width: 100%;
    padding: 8px;
    background: #fff;
}

.ev-tech-sheet__producer-link {
    display: inline-block;
    font-size: var(--text-sm, 15px);
    color: var(--color-brand, #6f1c48);
    text-decoration: none;
}

.ev-tech-sheet__producer-link:hover {
    text-decoration: underline;
}

@media (max-width: 991px) {
    .ev-tech-sheet__grid.product-attributes,
    .ev-tech-sheet .ev-tech-sheet__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px 22px;
    }

    /* En 3 cols, texto largo ocupa el ancho completo (más legible que 2/3) */
    .ev-tech-sheet .attribute--long {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .ev-tech-sheet__grid.product-attributes,
    .ev-tech-sheet .ev-tech-sheet__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 18px 16px;
    }

    /* En mobile (2 cols), span 2 = fila completa */
    .ev-tech-sheet .attribute--long {
        grid-column: 1 / -1;
    }
}

@media (max-width: 479px) {
    .ev-tech-sheet__title {
        gap: 12px;
        font-size: var(--text-xl, 24px);
    }

    .ev-tech-sheet__title::before,
    .ev-tech-sheet__title::after {
        width: 28px;
    }

    .ev-tech-sheet__grid.product-attributes,
    .ev-tech-sheet .ev-tech-sheet__grid {
        grid-template-columns: 1fr 1fr;
        gap: 16px 12px;
    }
}

/* Fallback: atributos fuera de ficha técnica */
.product-attributes .attribute {
    display: flex;
    align-items: flex-start;
}

.product-attributes .attribute .attr-icon,
.attribute .attr-icon {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin-right: 10px;
    margin-top: 1px;
    color: #6f1c48 !important;
    font-size: 15px;
    line-height: 1.2;
    text-align: center;
    display: inline-block;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 0.9px #6f1c48;
}

.product-attributes .attribute .attr-icon-svg,
.attribute .attr-icon-svg {
    -webkit-text-fill-color: unset;
    -webkit-text-stroke: 0;
    overflow: visible;
    flex-shrink: 0;
}

.product-attributes .attribute .attr-body {
    flex: 1;
    min-width: 0;
}

.product-attributes .attribute .title {
    color: #555;
    font-weight: bold;
    font-size: 13px;
    width: auto;
    max-width: 100%;
}

/* Rating estilo ML */
.ev-rating {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    vertical-align: middle;
    line-height: 1;
    text-decoration: none;
    color: inherit;
}

a.ev-rating:hover,
a.ev-rating:focus {
    text-decoration: none;
    opacity: 0.85;
}

.ev-rating-value {
    color: #666;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.01em;
    font-variant-numeric: tabular-nums;
}

.ev-rating-stars {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    line-height: 1;
    /* ★ sits low in the em box; nudge up to align with adjacent text */
    transform: translateY(-1px);
}

.ev-rating-star {
    display: block;
    color: #d8d8d8;
    font-size: 18px;
    line-height: 1;
}

.ev-rating-star.is-filled {
    color: #6f1c48;
}

.ev-rating-count {
    color: #999;
    font-size: 13px;
    font-weight: 400;
}

.ev-rating--sm .ev-rating-value {
    font-size: 12px;
}

.ev-rating--sm .ev-rating-star {
    font-size: 14px;
}

.ev-rating--sm .ev-rating-count {
    font-size: 11px;
}

#product .product-review .ev-rating {
    display: inline-flex;
    margin-right: 0;
    vertical-align: middle;
    flex-shrink: 0;
}

/* Beat #product .product-review span { display: inline-block } */
#product .product-review .ev-rating span {
    margin-right: 0;
}

#product .product-review .ev-rating-stars {
    display: inline-flex;
}

#product .product-review .ev-rating-star {
    display: block;
}

#product .product-review .product-review-sep {
    display: inline;
    margin: 0 6px;
    padding: 0;
    color: #ccc;
    font-weight: 400;
    vertical-align: baseline;
}

/* Keep rating | Favoritos | Compartir on one line on mobile */
@media screen and (max-width: 767px) {
    #product .product-review {
        display: inline-flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        max-width: 100%;
        white-space: nowrap;
        font-size: 13px;
    }

    #product .product-review .ev-rating-star {
        font-size: 15px;
    }

    #product .product-review .ev-rating-value,
    #product .product-review .favorite-button,
    #product .product-review .ev-share-link-btn {
        font-size: 13px;
    }

    #product .product-review .product-review-sep {
        margin: 0 5px;
    }

    #product .product-review .product-review-actions {
        display: inline-flex;
        flex-wrap: nowrap;
        align-items: center;
        white-space: nowrap;
    }
}

.product-list .product .ev-rating {
    margin: 2px auto 0;
    justify-content: center;
}

@media screen and (max-width: 767px) {
    .product-list .product .ev-rating {
        margin: 1px auto 0;
    }

    .product-list .product .ev-rating--sm .ev-rating-value {
        font-size: 12px;
    }

    .product-list .product .ev-rating--sm .ev-rating-star {
        font-size: 11px;
    }
}

/* Listado de calificaciones: puntaje, estrellas y fecha a la misma escala */
#reviews .review .head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
    line-height: 1.2;
}

#reviews .review .head .date {
    color: #666;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
}

/* Interactive review star picker */
#review_value,
.ev-star-picker-input {
    display: none !important;
}

.ev-star-picker {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 6px 0 12px;
    user-select: none;
    -webkit-user-select: none;
}

.ev-star-picker-stars {
    display: inline-flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
    gap: 6px;
}

.ev-star-picker-star {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    padding: 0;
    border: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #d4d0d2 !important;
    font-size: 36px;
    line-height: 1;
    cursor: pointer;
    display: inline-block;
    overflow: visible;
    font-weight: normal;
    transition: color 0.12s ease;
}

.ev-star-picker-star span {
    display: block;
    line-height: 1;
}

.ev-star-picker-star span:before {
    content: "\2605";
    color: inherit;
}

.ev-star-picker-star:focus {
    outline: none;
}

.ev-star-picker-star:focus-visible {
    outline: 2px solid var(--color-brand, #6f1c48);
    outline-offset: 3px;
    border-radius: 4px;
}

.ev-star-picker-star:hover,
.ev-star-picker-star:focus,
.ev-star-picker-star:active {
    background: transparent !important;
    background-color: transparent !important;
    color: inherit;
}

/* Selección persistente */
.ev-star-picker-star.is-filled {
    color: var(--color-brand, #6f1c48) !important;
}

/* Hover: rellena desde la 1 hasta la estrella bajo el cursor */
.ev-star-picker-stars:hover .ev-star-picker-star {
    color: #d4d0d2 !important;
}

.ev-star-picker-stars:hover .ev-star-picker-star:hover,
.ev-star-picker-stars:hover .ev-star-picker-star:hover ~ .ev-star-picker-star {
    color: var(--color-brand, #6f1c48) !important;
}

.ev-star-picker-caption {
    min-height: 1.35em;
    color: var(--color-brand, #6f1c48);
    font-family: var(--font-body, "Montserrat", "Helvetica Neue", Arial, sans-serif);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.35;
}

.ev-star-picker-caption.is-placeholder {
    color: #888;
    font-weight: 500;
}

.ev-star-picker-tip {
    margin: 0;
    min-height: 1.2em;
    font-size: 13px;
    color: #666;
    text-align: center;
    line-height: 1.35;
}

.ev-star-picker-tip[hidden] {
    display: none !important;
}

/* Review form layout / notify / validation */
#review-form-container .review-form-inner {
    max-width: 480px;
}

#review-form-container .ev-star-picker.has-error .ev-star-picker-caption {
    color: #b00020;
}

#review-form-container textarea,
#review-form-container .review-description__textarea {
    width: 100%;
    min-height: 120px;
    box-sizing: border-box;
}

.review-form-error {
    margin: 0 0 12px;
    padding: 10px 12px;
    background: #fdeceb;
    color: #8a1c1c;
    border: 1px solid #f0c4c4;
    border-radius: 4px;
    font-size: 14px;
    text-align: left;
}

.review-form-error[hidden] {
    display: none !important;
}

#review-description .review-description__title {
    margin: 8px 0 6px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #333;
    border: 0;
    padding: 0;
}

#review-description .review-description__help {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.45;
    color: #555;
}

#review-description .review-description__note {
    margin: 8px 0 0;
    font-size: 12px;
    line-height: 1.4;
    color: #888;
    font-style: italic;
}

#review-description .review-description__textarea.has-error,
#review-description textarea.has-error {
    border-color: #b00020;
}

.review-notify {
    margin: 14px 0 16px;
}

.review-notify__label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    font-weight: normal;
    font-size: 14px;
    line-height: 1.4;
    color: #333;
    cursor: pointer;
}

.review-notify__chk {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    margin-top: 1px;
    flex-shrink: 0;
    border: 2px solid #6f1c48;
    border-radius: 3px;
    background: #fff;
    cursor: pointer;
    position: relative;
}

.review-notify__chk:checked {
    background: #6f1c48;
}

.review-notify__chk:checked::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 1px;
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.review-notify__chk:focus-visible {
    outline: 2px solid #6f1c48;
    outline-offset: 2px;
}

#review-email,
.review-email {
    display: none;
    margin: 10px 0 4px;
    position: relative;
}

#review-email input,
.review-email__input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
}

.review-email__input.is-prefilled {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.review-email__label {
    display: block;
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 600;
    color: #6f1c48;
}

.review-email__known {
    margin: 0 0 4px;
    font-size: 14px;
    color: #444;
}

#review-form-container .review-form-submit {
    display: block;
    width: 100%;
    margin: 4px 0 0;
    padding: 12px 16px;
    font-size: 15px;
    text-align: center;
}

@media (max-width: 480px) {
    .ev-star-picker-star {
        font-size: 32px;
    }
}


/* === ev-page-gutter.css === */
/* Shared left edge: logo, jetmenu items, #bcontainer */
:root {
    --ev-page-gutter: 30px;
    --ev-nav-link-pad-x: 12px;
}

@media screen and (max-width: 1025px) {
    :root {
        --ev-page-gutter: 10px;
    }
}

#bcontainer {
    padding-left: var(--ev-page-gutter);
    padding-right: var(--ev-page-gutter);
}

.navbar-default {
    padding-left: var(--ev-page-gutter);
    padding-right: var(--ev-page-gutter);
}

@media screen and (max-width: 767px) {
    .navbar-default {
        padding: 4px 12px 2px;
    }
}

@media (min-width: 768px) {
    .navbar-default > .container-fluid {
        padding-left: 0;
        padding-right: 0;
    }

    .navbar-default > .container-fluid > .navbar-header {
        margin-left: 0;
        margin-right: 0;
    }

    .navbar > .container-fluid .navbar-brand,
    .navbar-default > .container-fluid .navbar-brand {
        margin-left: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .navbar-brand img {
        margin-left: 0;
    }

    /*
     * Offset first visible tab so its LABEL aligns with --ev-page-gutter.
     * Match both states: before jetmenu.js runs (Vinos is :first-child) and
     * after it prepends li.showhide (Vinos is .showhide + li) — otherwise F5
     * paints with less left margin and then jumps.
     */
    .jetmenu {
        padding-left: 0;
        padding-right: var(--ev-page-gutter);
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .jetmenu > li:not(.showhide):first-child,
    .jetmenu > li.showhide + li {
        margin-left: calc(var(--ev-page-gutter) - var(--ev-nav-link-pad-x));
    }

    .jetmenu > li:not(.showhide) > a {
        padding-left: var(--ev-nav-link-pad-x);
        padding-right: var(--ev-nav-link-pad-x);
    }

    .jetmenu > li > .megamenu.full-width {
        padding-left: var(--ev-page-gutter);
        padding-right: var(--ev-page-gutter);
    }

    /* Bootstrap .row (-15px) pulls columns left of the gutter — cancel it */
    .jetmenu > li > .megamenu .row {
        margin-left: 0;
        margin-right: 0;
    }
}


/* === ev-footer.css === */
/* ——— Footer ——— */
#footer {
    padding-top: 28px;
    margin-top: 32px;
}

#footer-container {
    max-width: 1140px;
    padding: 0 20px;
}

#footer a:hover,
#footer a:focus {
    color: #fff;
    text-decoration: underline;
}

/* Top: newsletter + payment */
.footer-top {
    padding-bottom: 28px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.footer-top__col {
    text-align: center;
}

#subscribe-footer {
    overflow: visible;
    text-align: center;
}

#subscribe-footer .promo-subscription {
    margin: 0 0 16px;
}

#subscribe-footer h2,
.footer-top h2 {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 14px;
    line-height: 1.3;
}

#subscribe-footer #mailing-subscribe-form {
    display: block;
    text-align: center;
    float: none;
}

#subscribe-footer #mailing-subscribe-form .subscribe-container {
    display: inline-block;
    max-width: 100%;
    vertical-align: top;
}

#subscribe-footer .promo-subscription div {
    display: inline-block;
    vertical-align: top;
}

#subscribe-footer #mailing-subscribe-form input[type="email"],
#subscribe-footer #mailing-subscribe-form input[type="text"] {
    float: left;
    width: 240px;
    max-width: calc(100% - 170px);
    margin: 0;
    height: 42px;
    padding: 8px 12px;
    border: 1px solid #fff;
    border-right: 0;
    border-radius: 5px 0 0 5px;
    box-sizing: border-box;
}

#subscribe-footer #mailing-subscribe-form button,
#subscribe-footer #mailing-subscribe-form .btn-med,
#subscribe-footer #mailing-subscribe-form .ha-subscribe-btn {
    float: left;
    margin: 0;
    height: 42px;
    padding: 0 16px;
    border-radius: 0 5px 5px 0;
    background: #fff !important;
    color: #6f1c48 !important;
    border: 2px solid #fff !important;
    box-shadow: none;
    font-weight: 700;
    line-height: 38px;
}

#subscribe-footer #mailing-subscribe-form button:hover,
#subscribe-footer #mailing-subscribe-form .btn-med:hover,
#subscribe-footer #mailing-subscribe-form .ha-subscribe-btn:hover {
    background: #f3e4ec !important;
    color: #6f1c48 !important;
}

.footer-reviews {
    display: inline-block;
    margin-top: 8px;
    text-decoration: none;
}

.footer-reviews:hover,
.footer-reviews:focus {
    text-decoration: none;
}

.footer-reviews:hover .footer-reviews__label,
.footer-reviews:focus .footer-reviews__label {
    text-decoration: underline;
}

.footer-reviews__stars .glyphicon {
    margin: 0 3px;
    font-size: 18px;
    color: #ffc900;
}

.footer-reviews__label {
    display: block;
    margin-top: 6px;
    font-size: 14px;
}

#payment {
    text-align: center;
    padding: 0;
}

.footer-payment-img {
    width: 280px;
    max-width: 100%;
    margin: 0 auto;
}

.footer-payment-note {
    margin: 12px auto 0;
    max-width: 320px;
    font-size: 13px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.85);
}

/* Nav columns */
.footer-nav {
    clear: both;
}

#footer-list-container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-top: 28px;
    margin-bottom: 8px;
    padding: 0;
    overflow: visible;
}

.footer-list {
    float: none;
    margin-bottom: 24px;
    padding-left: 15px;
    padding-right: 15px;
    list-style: none;
}

.footer-list > li {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.4;
}

.footer-title {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.06em;
    margin-bottom: 14px !important;
    opacity: 1;
}

#footer .footer-list a {
    text-decoration: none;
    opacity: 0.92;
}

#footer .footer-list a:hover,
#footer .footer-list a:focus {
    opacity: 1;
    text-decoration: underline;
}

/* Social */
.footer-social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.footer-social li {
    margin: 0;
}

.footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border: 2px solid rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 34px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* Override legacy .footer-list i { font-size: 10px } from styles.css */
.footer-social a i {
    font-size: 34px;
    line-height: 1;
}

.footer-social a:hover,
.footer-social a:focus {
    background: #fff;
    color: #6f1c48 !important;
    text-decoration: none !important;
}

/* Legal */
.footer-legal {
    margin-top: 8px;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.footer-legal__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px 24px;
    margin-bottom: 16px;
}

.footer-legal__copy {
    margin: 0;
    max-width: 640px;
    font-size: 12px;
    font-style: normal;
    line-height: 1.5;
    text-align: center;
    color: rgba(255, 255, 255, 0.9);
}

.footer-legal__fiscal img {
    display: block;
}

@media screen and (max-width: 767px) {
    #subscribe-footer #mailing-subscribe-form .subscribe-container {
        display: block;
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }

    #subscribe-footer .promo-subscription div {
        display: block;
        width: 100%;
    }

    #subscribe-footer #mailing-subscribe-form input[type="email"],
    #subscribe-footer #mailing-subscribe-form input[type="text"],
    #subscribe-footer #mailing-subscribe-form button,
    #subscribe-footer #mailing-subscribe-form .btn-med,
    #subscribe-footer #mailing-subscribe-form .ha-subscribe-btn {
        float: none;
        width: 100%;
        max-width: 100%;
        border-radius: 5px;
        border-right: 1px solid #fff;
    }

    #subscribe-footer #mailing-subscribe-form input[type="email"],
    #subscribe-footer #mailing-subscribe-form input[type="text"] {
        margin-bottom: 8px;
    }

    .footer-top__col + .footer-top__col {
        margin-top: 28px;
    }

    .footer-list {
        text-align: left;
    }

    .footer-social {
        justify-content: flex-start;
    }
}


/* === ev-delivery.css === */
/* ——— Envíos /delivery — editorial layout aligned with nosotros ——— */

.ev-delivery {
    position: relative;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding: 28px 0 64px;
    background: #fff;
}

.ev-delivery__hero {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--ev-d-line);
    -webkit-animation: ev-delivery-rise 0.5s ease both;
    animation: ev-delivery-rise 0.5s ease both;
}

.ev-delivery__title {
    margin: 0 0 12px;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-size: 34px;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--ev-d-ink);
}

.ev-delivery__lead {
    margin: 0;
    max-width: 36em;
    font-size: 16px;
    line-height: 1.5;
    color: var(--ev-d-muted);
}

/* Shared content (also under /como-comprar) */
.ev-delivery__content {
    -webkit-animation: ev-delivery-rise 0.5s ease 0.06s both;
    animation: ev-delivery-rise 0.5s ease 0.06s both;
}

.ev-delivery__benefits {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.ev-delivery__benefit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 12px;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 200px;
    flex: 1 1 200px;
    box-sizing: border-box;
    padding: 14px 16px;
    border: 1px solid var(--ev-d-line);
    border-radius: 12px;
    background: #fff;
}

.ev-delivery__benefit-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--ev-d-wash);
    color: var(--ev-d-brand);
    font-size: 14px;
}

.ev-delivery__benefit-title {
    margin: 0 0 2px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--ev-d-ink);
}

.ev-delivery__benefit-sub {
    font-size: 12px;
    line-height: 1.35;
    color: var(--ev-d-muted);
}

.ev-delivery__cta {
    margin: 0 0 28px;
}

.ev-delivery__cta-btn {
    display: inline-block;
    margin: 0 0 8px;
}

.ev-delivery__cta-btn i {
    margin-right: 6px;
}

.ev-delivery__cta-note {
    margin: 0;
    font-size: 13px;
    line-height: 1.4;
    color: var(--ev-d-muted);
}

.ev-delivery__options {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
}

.ev-delivery__option {
    padding: 22px 0;
    border-top: 1px solid var(--ev-d-line);
    -webkit-animation: ev-delivery-rise 0.45s ease both;
    animation: ev-delivery-rise 0.45s ease both;
}

.ev-delivery__option:nth-child(1) { -webkit-animation-delay: 0.1s; animation-delay: 0.1s; }
.ev-delivery__option:nth-child(2) { -webkit-animation-delay: 0.14s; animation-delay: 0.14s; }
.ev-delivery__option:nth-child(3) { -webkit-animation-delay: 0.18s; animation-delay: 0.18s; }
.ev-delivery__option:nth-child(4) { -webkit-animation-delay: 0.22s; animation-delay: 0.22s; }
.ev-delivery__option:nth-child(5) { -webkit-animation-delay: 0.26s; animation-delay: 0.26s; }

.ev-delivery__option:last-child {
    border-bottom: 1px solid var(--ev-d-line);
}

.ev-delivery__option-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 10px;
}

.ev-delivery__option-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--ev-d-wash);
    color: var(--ev-d-brand);
    font-size: 15px;
}

.ev-delivery__option-title {
    margin: 2px 0 4px;
    font-family: var(--font-body, "Montserrat", Arial, sans-serif);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.25;
    color: var(--ev-d-brand);
}

.ev-delivery__option-perk {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--ev-d-ink);
}

.ev-delivery__option-perk--free {
    color: var(--ev-d-free);
}

.ev-delivery__option-body {
    padding-left: 54px;
}

.ev-delivery__option-body p {
    margin: 0 0 8px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--ev-d-ink);
}

.ev-delivery__option-body p:last-child {
    margin-bottom: 0;
}

.ev-delivery__option-body a {
    color: var(--ev-d-brand);
    font-weight: 600;
    text-decoration: none;
}

.ev-delivery__option-body a:hover,
.ev-delivery__option-body a:focus {
    color: var(--ev-d-brand-soft);
    text-decoration: underline;
}

.ev-delivery__muted {
    color: var(--ev-d-muted) !important;
    font-weight: 400 !important;
}

.ev-delivery__muted--en {
    margin-top: 10px !important;
    font-size: 13px !important;
    font-style: italic;
}

.ev-delivery__zones {
    margin-top: 10px;
}

.ev-delivery__zones summary {
    display: inline-block;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    color: var(--ev-d-brand);
    list-style: none;
}

.ev-delivery__zones summary::-webkit-details-marker {
    display: none;
}

.ev-delivery__zones summary::after {
    content: " ▾";
    font-size: 11px;
}

.ev-delivery__zones[open] summary::after {
    content: " ▴";
}

.ev-delivery__zones summary:hover {
    color: var(--ev-d-brand-soft);
    text-decoration: underline;
}

.ev-delivery__zone-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 6px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.ev-delivery__zone-list li {
    padding: 5px 10px;
    border: 1px solid var(--ev-d-line);
    border-radius: 999px;
    background: #fff;
    font-size: 12px;
    line-height: 1.3;
    color: var(--ev-d-muted);
}

/* When included under /como-comprar without .ev-delivery wrapper */
h2 + .ev-delivery__content,
.ev-delivery__content {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

@-webkit-keyframes ev-delivery-rise {
    from {
        opacity: 0;
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes ev-delivery-rise {
    from {
        opacity: 0;
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@media (max-width: 640px) {
    .ev-delivery {
        padding-top: 20px;
        padding-bottom: 48px;
    }

    .ev-delivery__title {
        font-size: 28px;
    }

    .ev-delivery__option-body {
        padding-left: 0;
        margin-top: 4px;
    }

    .ev-delivery__benefit {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
        flex: 1 1 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ev-delivery__hero,
    .ev-delivery__content,
    .ev-delivery__option {
        -webkit-animation: none;
        animation: none;
    }
}


/* === ev-howtobuy.css === */
/* ——— Cómo comprar ——— */

.ev-howto {
    position: relative;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding: 28px 0 64px;
    background: #fff;
}

.ev-howto__hero {
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--ev-h-line);
    -webkit-animation: ev-howto-rise 0.5s ease both;
    animation: ev-howto-rise 0.5s ease both;
}

.ev-howto__langs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.ev-howto__lang {
    display: inline-block;
    line-height: 0;
    opacity: 0.55;
    -webkit-transition: opacity 0.15s ease;
    transition: opacity 0.15s ease;
}

.ev-howto__lang:hover,
.ev-howto__lang:focus,
.ev-howto__lang.is-active {
    opacity: 1;
}

.ev-howto__lang .flag-icon {
    width: 28px;
    height: 21px;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.ev-howto__title {
    margin: 0 0 12px;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-size: 34px;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--ev-h-ink);
}

.ev-howto__lead {
    margin: 0;
    max-width: 36em;
    font-size: 16px;
    line-height: 1.5;
    color: var(--ev-h-muted);
}

.ev-howto__intro {
    margin: 0 0 28px;
    max-width: 40em;
    font-size: 15px;
    line-height: 1.55;
    color: var(--ev-h-ink);
}

.ev-howto__steps {
    margin: 0 0 36px;
    padding: 0;
    list-style: none;
    counter-reset: none;
}

.ev-howto__step {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 0;
    border-top: 1px solid var(--ev-h-line);
    -webkit-animation: ev-howto-rise 0.45s ease both;
    animation: ev-howto-rise 0.45s ease both;
}

.ev-howto__step:first-child {
    border-top: 0;
}

.ev-howto__step:nth-child(1) { -webkit-animation-delay: 0.06s; animation-delay: 0.06s; }
.ev-howto__step:nth-child(2) { -webkit-animation-delay: 0.1s; animation-delay: 0.1s; }
.ev-howto__step:nth-child(3) { -webkit-animation-delay: 0.14s; animation-delay: 0.14s; }
.ev-howto__step:nth-child(4) { -webkit-animation-delay: 0.18s; animation-delay: 0.18s; }
.ev-howto__step:nth-child(5) { -webkit-animation-delay: 0.22s; animation-delay: 0.22s; }
.ev-howto__step:nth-child(6) { -webkit-animation-delay: 0.26s; animation-delay: 0.26s; }

.ev-howto__step:last-child {
    border-bottom: 1px solid var(--ev-h-line);
}

.ev-howto__step-num {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--ev-h-wash);
    color: var(--ev-h-brand);
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.ev-howto__step-body {
    min-width: 0;
    padding-top: 2px;
}

.ev-howto__step-title {
    margin: 0 0 4px;
    font-family: var(--font-body, "Montserrat", Arial, sans-serif);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.3;
    color: var(--ev-h-brand);
}

.ev-howto__step-text {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--ev-h-muted);
}

.ev-howto__section {
    margin: 0 0 36px;
    -webkit-animation: ev-howto-rise 0.5s ease 0.28s both;
    animation: ev-howto-rise 0.5s ease 0.28s both;
}

.ev-howto__section:last-child {
    margin-bottom: 0;
}

.ev-howto__section-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 12px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.ev-howto__section-title {
    margin: 0 0 16px;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--ev-h-ink);
}

.ev-howto__section-head .ev-howto__section-title {
    margin-bottom: 0;
}

.ev-howto__section-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--ev-h-brand);
    text-decoration: none;
}

.ev-howto__section-link:hover,
.ev-howto__section-link:focus {
    color: var(--ev-h-brand-soft);
    text-decoration: underline;
}

.ev-howto__payments {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ev-howto__payment {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 14px;
    padding: 14px 0;
    border-top: 1px solid var(--ev-h-line);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--ev-h-ink);
}

.ev-howto__payment:last-child {
    border-bottom: 1px solid var(--ev-h-line);
}

.ev-howto__payment-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--ev-h-wash);
    color: var(--ev-h-brand);
    font-size: 14px;
}

/* Nested delivery block: tighten top spacing under section head */
.ev-howto__section .ev-delivery__content {
    max-width: none;
    margin: 0;
}

.ev-howto__section .ev-delivery__benefits {
    margin-top: 0;
}

@-webkit-keyframes ev-howto-rise {
    from {
        opacity: 0;
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes ev-howto-rise {
    from {
        opacity: 0;
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@media (max-width: 640px) {
    .ev-howto {
        padding-top: 20px;
        padding-bottom: 48px;
    }

    .ev-howto__title {
        font-size: 28px;
    }

    .ev-howto__section-title {
        font-size: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ev-howto__hero,
    .ev-howto__step,
    .ev-howto__section {
        -webkit-animation: none;
        animation: none;
    }
}


/* === ev-news.css === */
/* ——— Noticias (editorial / revista) ——— */

.ev-news {
    --ev-n-brand: var(--ev-brand);
    --ev-n-brand-soft: var(--ev-brand-soft);
    --ev-n-ink: var(--ev-ink);
    --ev-n-muted: var(--ev-muted);
    --ev-n-line: var(--ev-line);
    --ev-n-wash: var(--ev-wash-deep);
    --ev-n-surface: var(--ev-surface, #fff);

    position: relative;
    max-width: 1120px;
    margin: 0 auto;
    padding: 28px 20px 72px;
    color: var(--ev-n-ink);
    background: var(--ev-n-surface);
}

@media (min-width: 768px) {
    .ev-news {
        padding-left: 36px;
        padding-right: 36px;
    }
}

.ev-news a {
    color: var(--ev-n-brand);
    text-decoration: none;
    -webkit-transition: color 0.18s ease;
    transition: color 0.18s ease;
}

.ev-news a:hover,
.ev-news a:focus {
    color: var(--ev-n-brand-soft);
    text-decoration: none;
}

/* —— Index header —— */

.ev-news__header {
    margin-bottom: 36px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--ev-n-line);
    -webkit-animation: ev-news-rise 0.55s ease both;
    animation: ev-news-rise 0.55s ease both;
}

.ev-news__kicker {
    display: block;
    margin: 0 0 10px;
    font-family: var(--font-nav, "Manrope", sans-serif);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ev-n-brand);
}

.ev-news__title {
    margin: 0 0 12px;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.12;
    color: var(--ev-n-ink);
}

.ev-news__lead-text {
    margin: 0;
    max-width: 34em;
    font-family: var(--font-body, "Montserrat", sans-serif);
    font-size: 16px;
    line-height: 1.55;
    color: var(--ev-n-muted);
}

.ev-news__filter {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    font-size: 14px;
    color: var(--ev-n-muted);
}

.ev-news__filter-label {
    font-family: var(--font-nav, "Manrope", sans-serif);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* —— Meta —— */

.ev-news__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin: 0 0 12px;
    font-family: var(--font-nav, "Manrope", sans-serif);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ev-n-muted);
}

.ev-news__meta-sep {
    opacity: 0.45;
}

/* —— Tags / chips —— */

.ev-news__tags {
    margin: 16px 0 0;
}

.ev-news__tags-label {
    display: none;
}

.ev-news__tags-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ev-news__tag {
    display: inline-block;
    padding: 4px 10px;
    border: 1px solid var(--ev-n-line);
    border-radius: 999px;
    background: var(--ev-n-wash);
    font-family: var(--font-nav, "Manrope", sans-serif);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.3;
    color: var(--ev-n-brand);
    -webkit-transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.ev-news a.ev-news__tag:hover,
.ev-news a.ev-news__tag:focus {
    background: var(--ev-n-brand);
    border-color: var(--ev-n-brand);
    color: #fff;
}

/* —— Lead story —— */

.ev-news__lead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 22px;
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--ev-n-line);
    -webkit-animation: ev-news-rise 0.55s ease both;
    animation: ev-news-rise 0.55s ease both;
    -webkit-animation-delay: 0.06s;
    animation-delay: 0.06s;
}

@media (min-width: 900px) {
    .ev-news__lead {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        gap: 36px;
    }

    .ev-news__lead-media {
        -webkit-box-flex: 1.35;
        -ms-flex: 1.35 1 0;
        flex: 1.35 1 0;
        min-width: 0;
    }

    .ev-news__lead-body {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 0;
        flex: 1 1 0;
        min-width: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 8px 0;
    }
}

.ev-news__media {
    display: block;
    overflow: hidden;
    background: var(--ev-n-wash);
}

.ev-news__media img {
    display: block;
    width: 100%;
    height: auto;
    -webkit-transition: -webkit-transform 0.55s ease;
    transition: transform 0.55s ease;
}

.ev-news__lead-media {
    aspect-ratio: 16 / 10;
}

.ev-news__lead-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ev-news__media:hover img,
.ev-news__media:focus img {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
}

.ev-news__story-title {
    margin: 0 0 14px;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.2;
    color: var(--ev-n-ink);
}

.ev-news__story-title a {
    color: inherit;
}

.ev-news__story-title a:hover,
.ev-news__story-title a:focus {
    color: var(--ev-n-brand);
}

.ev-news__lead .ev-news__story-title {
    font-size: clamp(26px, 3.4vw, 38px);
}

.ev-news__excerpt {
    margin: 0 0 18px;
    font-family: var(--font-body, "Montserrat", sans-serif);
    font-size: 15px;
    line-height: 1.6;
    color: var(--ev-n-muted);
}

.ev-news__cta {
    display: inline-block;
    align-self: flex-start;
    font-family: var(--font-nav, "Manrope", sans-serif);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--ev-n-brand);
}

.ev-news__cta span {
    display: inline-block;
    margin-left: 4px;
    -webkit-transition: -webkit-transform 0.18s ease;
    transition: transform 0.18s ease;
}

.ev-news__cta:hover span,
.ev-news__cta:focus span {
    -webkit-transform: translateX(3px);
    transform: translateX(3px);
}

/* —— Grid —— */

.ev-news__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 36px 28px;
    margin: 0;
    padding: 0;
    list-style: none;
}

@media (min-width: 768px) {
    .ev-news__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.ev-news__card {
    -webkit-animation: ev-news-rise 0.5s ease both;
    animation: ev-news-rise 0.5s ease both;
}

.ev-news__card:nth-child(1) { -webkit-animation-delay: 0.08s; animation-delay: 0.08s; }
.ev-news__card:nth-child(2) { -webkit-animation-delay: 0.12s; animation-delay: 0.12s; }
.ev-news__card:nth-child(3) { -webkit-animation-delay: 0.16s; animation-delay: 0.16s; }
.ev-news__card:nth-child(4) { -webkit-animation-delay: 0.2s; animation-delay: 0.2s; }
.ev-news__card:nth-child(5) { -webkit-animation-delay: 0.24s; animation-delay: 0.24s; }
.ev-news__card:nth-child(6) { -webkit-animation-delay: 0.28s; animation-delay: 0.28s; }

.ev-news__card-media {
    margin-bottom: 14px;
    aspect-ratio: 3 / 2;
}

.ev-news__card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ev-news__card .ev-news__story-title {
    font-size: clamp(20px, 2.2vw, 24px);
    margin-bottom: 10px;
}

.ev-news__card .ev-news__excerpt {
    font-size: 14px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ev-news__card .ev-news__tags {
    margin-top: 12px;
}

/* —— Pagination —— */

.ev-news__nav {
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid var(--ev-n-line);
    text-align: center;
}

.ev-news__nav .pagination {
    margin: 0;
}

.ev-news__nav .pagination > li > a,
.ev-news__nav .pagination > li > span {
    border-radius: 0;
    border-color: var(--ev-n-line);
    color: var(--ev-n-ink);
    font-family: var(--font-nav, "Manrope", sans-serif);
    font-size: 13px;
}

.ev-news__nav .pagination > .active > a,
.ev-news__nav .pagination > .active > span,
.ev-news__nav .pagination > .active > a:hover,
.ev-news__nav .pagination > .active > span:hover {
    background: var(--ev-n-brand);
    border-color: var(--ev-n-brand);
    color: #fff;
}

.ev-news__nav .pagination > li > a:hover,
.ev-news__nav .pagination > li > a:focus {
    background: var(--ev-n-wash);
    border-color: var(--ev-n-line);
    color: var(--ev-n-brand);
}

/* —— Article (show) —— */

.ev-news--article {
    max-width: 960px;
    padding-left: 20px;
    padding-right: 20px;
}

@media (min-width: 768px) {
    .ev-news--article {
        padding-left: 36px;
        padding-right: 36px;
    }
}

.ev-news__crumb {
    margin: 0 0 22px;
    font-family: var(--font-nav, "Manrope", sans-serif);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ev-n-muted);
}

.ev-news__crumb a {
    color: var(--ev-n-muted);
}

.ev-news__crumb a:hover,
.ev-news__crumb a:focus {
    color: var(--ev-n-brand);
}

.ev-news__crumb-sep {
    margin: 0 8px;
    opacity: 0.4;
}

.ev-news__article-head {
    margin-bottom: 28px;
    -webkit-animation: ev-news-rise 0.55s ease both;
    animation: ev-news-rise 0.55s ease both;
}

.ev-news__article-title {
    margin: 0 0 16px;
    max-width: 18em;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-size: clamp(30px, 4.5vw, 46px);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.12;
    color: var(--ev-n-ink);
}

.ev-news__article-tools {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 18px;
    margin: 18px 0 0;
}

@media (min-width: 768px) {
    .ev-news__article-tools {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}

.ev-news__share {
    font-family: var(--font-nav, "Manrope", sans-serif);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--ev-n-muted);
}

.ev-news__share .ev-share-link {
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.ev-news__share .ev-share-link-btn {
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--ev-n-muted);
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: 1.2;
    cursor: pointer;
    text-decoration: none;
    -webkit-transition: color 0.18s ease;
    transition: color 0.18s ease;
}

.ev-news__share .ev-share-link-btn:hover,
.ev-news__share .ev-share-link-btn:focus {
    color: var(--ev-n-brand);
    background: transparent;
    text-decoration: none;
}

.ev-news__share .ev-share-link-btn i {
    font-size: 12px;
    line-height: 1;
}

.ev-news__share .ev-share-link-label {
    display: inline;
}

.ev-news__hero {
    margin: 0 0 32px;
    overflow: hidden;
    background: var(--ev-n-wash);
    -webkit-animation: ev-news-rise 0.55s ease both;
    animation: ev-news-rise 0.55s ease both;
    -webkit-animation-delay: 0.06s;
    animation-delay: 0.06s;
}

.ev-news__hero img {
    display: block;
    width: 100%;
    height: auto;
}

.ev-news__layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 32px;
}

@media (min-width: 900px) {
    .ev-news__layout {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        gap: 40px;
    }

    .ev-news__body {
        -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
        flex: 1 1 auto;
        min-width: 0;
    }

    .ev-news__aside {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 240px;
        flex: 0 0 240px;
        position: -webkit-sticky;
        position: sticky;
        top: 24px;
    }
}

.ev-news__body {
    max-width: 72ch;
    font-family: var(--font-body, "Montserrat", sans-serif);
    font-size: 16px;
    line-height: 1.7;
    color: var(--ev-n-ink);
    -webkit-animation: ev-news-rise 0.55s ease both;
    animation: ev-news-rise 0.55s ease both;
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
}

.ev-news__body p {
    margin: 0 0 1.15em;
}

.ev-news__body h2,
.ev-news__body h3 {
    margin: 1.6em 0 0.6em;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: var(--ev-n-ink);
}

.ev-news__body img {
    max-width: 100%;
    height: auto;
    margin: 1.2em 0;
}

.ev-news__body ul,
.ev-news__body ol {
    margin: 0 0 1.15em;
    padding-left: 1.25em;
}

.ev-news__mail {
    padding: 18px 18px 20px;
    border: 1px solid var(--ev-n-line);
    background: var(--ev-n-wash);
}

.ev-news__mail-title {
    margin: 0 0 6px;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--ev-n-ink);
}

.ev-news__mail-hint {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.45;
    color: var(--ev-n-muted);
}

.ev-news__mail label {
    display: block;
    margin-bottom: 6px;
    font-family: var(--font-nav, "Manrope", sans-serif);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ev-n-muted);
}

.ev-news__mail input[type="email"],
.ev-news__mail input.form-control {
    width: 100%;
    margin-bottom: 10px;
    padding: 9px 11px;
    border: 1px solid var(--ev-n-line);
    border-radius: var(--ev-radius, 5px);
    background: #fff;
    font-size: 14px;
    color: var(--ev-n-ink);
    box-shadow: none;
}

.ev-news__mail input[type="email"]:focus,
.ev-news__mail input.form-control:focus {
    border-color: var(--ev-n-brand);
    outline: none;
    box-shadow: 0 0 0 2px rgba(111, 28, 72, 0.12);
}

.ev-news__mail .btn2,
.ev-news__mail button,
.ev-news__mail input[type="submit"] {
    display: inline-block;
    width: 100%;
    margin-top: 4px;
    padding: 10px 14px;
    border: 1px solid var(--ev-n-brand);
    border-radius: var(--ev-radius, 5px);
    background: var(--ev-n-brand);
    color: #fff;
    font-family: var(--font-nav, "Manrope", sans-serif);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    -webkit-transition: background 0.18s ease, border-color 0.18s ease;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.ev-news__mail .btn2:hover,
.ev-news__mail button:hover,
.ev-news__mail input[type="submit"]:hover {
    background: var(--ev-n-brand-soft);
    border-color: var(--ev-n-brand-soft);
    color: #fff;
}

.ev-news__article-tags {
    margin-top: 36px;
    padding-top: 22px;
    border-top: 1px solid var(--ev-n-line);
}

.ev-news__article-tags .ev-news__tags-label {
    display: block;
    margin: 0 0 10px;
    font-family: var(--font-nav, "Manrope", sans-serif);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--ev-n-muted);
}

.ev-news__comments {
    margin-top: 48px;
    padding-top: 28px;
    border-top: 1px solid var(--ev-n-line);
}

.ev-news__comments-title {
    margin: 0 0 16px;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--ev-n-ink);
}

.ev-news__related {
    margin-top: 56px;
    padding-top: 28px;
    border-top: 1px solid var(--ev-n-line);
}

.ev-news__related-title {
    margin: 0 0 20px;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-size: 26px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--ev-n-ink);
}

.ev-news__related .ev-shelf-track > li {
    -ms-flex: 0 0 260px !important;
    flex: 0 0 260px !important;
    max-width: 260px !important;
    width: 260px !important;
}

@media (max-width: 767px) {
    .ev-news__related .ev-shelf-track > li {
        -ms-flex: 0 0 72% !important;
        flex: 0 0 72% !important;
        max-width: 72% !important;
        width: 72% !important;
    }
}

.ev-news__preview {
    display: block;
    width: 100%;
}

.ev-news__preview-media {
    display: block;
    margin-bottom: 12px;
    overflow: hidden;
    aspect-ratio: 3 / 2;
    background: var(--ev-n-wash);
}

.ev-news__preview-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-transition: -webkit-transform 0.45s ease;
    transition: transform 0.45s ease;
}

.ev-news__preview:hover .ev-news__preview-media img,
.ev-news__preview:focus .ev-news__preview-media img {
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
}

.ev-news__preview-title {
    margin: 0;
    font-family: var(--font-display, "Source Serif 4", Georgia, serif);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--ev-n-ink);
}

.ev-news__preview-title a {
    color: inherit;
}

.ev-news__preview-title a:hover,
.ev-news__preview-title a:focus {
    color: var(--ev-n-brand);
}

.ev-news__empty {
    padding: 40px 0;
    font-size: 15px;
    color: var(--ev-n-muted);
}

@-webkit-keyframes ev-news-rise {
    from {
        opacity: 0;
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes ev-news-rise {
    from {
        opacity: 0;
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .ev-news__header,
    .ev-news__lead,
    .ev-news__card,
    .ev-news__article-head,
    .ev-news__hero,
    .ev-news__body {
        -webkit-animation: none;
        animation: none;
    }

    .ev-news__media img,
    .ev-news__preview-media img,
    .ev-news__cta span {
        -webkit-transition: none;
        transition: none;
    }
}


/* === ev-top-bar.css === */
/* Top promo bar — mobile: 70% msg + actions; desktop: centered group */
.ev-top-bar,
#upper-advice.ev-top-bar {
    background: #2c1018;
    color: #fff;
    text-align: left;
    padding: 0;
    font-family: var(--font-body, "Montserrat", "Helvetica Neue", Arial, sans-serif);
    font-size: 13px;
    line-height: 1.25;
    letter-spacing: 0.01em;
}

.ev-top-bar.is-hidden {
    display: none !important;
}

.ev-top-bar__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 6px var(--ev-page-gutter, 10px);
    box-sizing: border-box;
    gap: 12px;
}

.ev-top-bar__msg-link {
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    max-width: 70%;
    min-width: 0;
    box-sizing: border-box;
    text-decoration: none !important;
    color: #fff !important;
    cursor: pointer;
}

a.ev-top-bar__msg-link:hover,
a.ev-top-bar__msg-link:focus {
    color: #fff !important;
    text-decoration: none !important;
    opacity: 0.92;
}

.ev-top-bar__msg {
    display: block;
    margin: 0;
    color: #fff;
    font-weight: 500;
    text-align: left;
}

.ev-top-bar__actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 8px;
}

.ev-top-bar__cta {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    color: #fff !important;
    font-weight: 600;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    white-space: nowrap;
    cursor: pointer;
}

.ev-top-bar__cta:hover,
.ev-top-bar__cta:focus {
    color: #fff !important;
    opacity: 0.88;
    text-decoration: underline !important;
}

.ev-top-bar__close,
button.ev-top-bar__close {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    z-index: 2;
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    cursor: pointer;
    opacity: 0.75;
    -webkit-appearance: none;
    appearance: none;
    position: static;
}

.ev-top-bar__close span {
    display: block;
    line-height: 1;
    transform: translateY(-0.5px);
}

.ev-top-bar__close:hover,
.ev-top-bar__close:focus,
button.ev-top-bar__close:hover,
button.ev-top-bar__close:focus {
    opacity: 1;
    outline: none;
    background: transparent !important;
    color: #fff !important;
}

.ev-top-bar__close:focus-visible {
    outline: 1px solid rgba(255, 255, 255, 0.7);
    outline-offset: 2px;
}

/* Mobile: keep split layout, readable type */
@media screen and (max-width: 767px) {
    .ev-top-bar,
    #upper-advice.ev-top-bar {
        font-size: 12px;
    }

    .ev-top-bar__inner {
        padding: 8px var(--ev-page-gutter, 10px);
        gap: 10px;
    }

    .ev-top-bar__actions {
        gap: 6px;
    }
}

/* Desktop: centered group like the original bar */
@media screen and (min-width: 768px) {
    .ev-top-bar,
    #upper-advice.ev-top-bar {
        text-align: center;
    }

    .ev-top-bar__inner {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 6px var(--ev-page-gutter, 30px);
        gap: 14px;
    }

    .ev-top-bar__msg-link {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
        flex: 0 1 auto;
        width: auto;
        max-width: none;
    }

    .ev-top-bar__msg {
        text-align: center;
        white-space: nowrap;
    }

    .ev-top-bar__actions {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }
}


/* === ev-menu-account.css === */
/* Mobile nav — categories in hamburger; account via header 👤 icon. No Assetic. */

/* Desktop: hide mobile account+cart cluster (desktop has its own cart / Mi cuenta) */
.header-mobile-actions {
    display: none !important;
}

@media (max-width: 767px) {
    :root {
        --ev-mobile-nav-gutter: 12px;
    }

    .navbar-default {
        padding: 4px var(--ev-mobile-nav-gutter) 2px !important;
    }

    .navbar-default > .container-fluid {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .navbar-default > .container-fluid > .navbar-header,
    .navbar-default > .container-fluid > .navbar-collapse {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* ☰ | logo | 👤 🛒 — logo centrado en vertical con los íconos */
    .navbar-default > .container-fluid > .navbar-header {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        float: none;
        width: 100%;
    }

    .navbar-default > .container-fluid > .navbar-header .navbar-toggle {
        grid-column: 1;
        justify-self: start;
        align-self: center;
        order: unset;
        float: none;
        margin: 0;
        flex: none;
        width: 44px;
        min-width: 44px;
    }

    .navbar-default > .container-fluid > .navbar-header .navbar-brand {
        grid-column: 2;
        justify-self: center;
        align-self: center;
        float: none;
        flex: none;
        margin: 0;
        padding: 0;
        display: flex;
        align-items: center;
        line-height: 0;
        height: auto;
    }

    .header-mobile-actions {
        grid-column: 3;
        justify-self: end;
        align-self: center;
        display: flex !important;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: 0;
    }

    .header-account-mobile {
        position: relative;
        flex: 0 0 36px;
        width: 36px;
        height: 34px;
        display: flex;
        flex-direction: row;
        align-items: flex-end;
        justify-content: center;
        float: none;
    }

    .header-account-mobile__btn {
        display: flex !important;
        align-items: flex-end;
        justify-content: center;
        width: 36px !important;
        height: 34px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #6f1c48 !important;
        font-size: inherit !important;
        font-weight: inherit !important;
        line-height: 0;
        cursor: pointer;
        text-decoration: none !important;
        box-shadow: none !important;
        -webkit-appearance: none;
        appearance: none;
        position: relative;
        overflow: visible;
    }

    .header-account-mobile__btn .account-icon-svg {
        display: block;
        line-height: 0;
        -webkit-transform: translateY(2px);
        transform: translateY(2px);
    }

    .header-account-mobile__btn .account-icon-svg svg {
        display: block;
        width: 34px !important;
        height: 34px !important;
        max-width: 34px !important;
        max-height: 34px !important;
    }

    /* Cart slightly smaller in the mobile header cluster */
    .header-mobile-actions .cart-header-link {
        padding: 0;
        align-items: flex-end;
    }

    .header-mobile-actions .cart-header-link .cart-icon-svg svg {
        width: 32px !important;
        height: 32px !important;
        max-width: 32px !important;
        max-height: 32px !important;
    }

    .header-account-mobile__btn:hover,
    .header-account-mobile__btn:focus,
    .header-account-mobile.open > .header-account-mobile__btn {
        color: #6f1c48 !important;
        background: transparent !important;
        outline: none;
    }

    .header-account-mobile__menu {
        min-width: 180px;
        margin-top: 4px;
        padding: 6px 0;
        border: 1px solid #eadfe5;
        border-radius: 8px;
        box-shadow: 0 8px 24px rgba(111, 28, 72, 0.12);
        font-family: var(--font-nav);
    }

    .header-account-mobile__menu > li > a {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 16px;
        color: #6f1c48 !important;
        font-size: 15px;
        font-weight: var(--w-medium, 500);
        line-height: 1.3;
    }

    .header-account-mobile__menu > li > a:hover,
    .header-account-mobile__menu > li > a:focus {
        background: #f6eef2 !important;
        color: #6f1c48 !important;
    }

    .header-account-mobile__menu > li > a > i {
        width: 1.1em;
        text-align: center;
        font-size: 13px;
        opacity: 0.9;
    }

    .header-account-mobile__menu .divider {
        margin: 4px 0;
        background-color: #eadfe5;
    }

    .header-account-mobile__logout {
        color: #8a6a7a !important;
        font-weight: var(--w-regular, 400) !important;
    }

    .navbar-default > .container-fluid > .navbar-header .cart-header-mobile-wrap {
        order: unset;
        float: none;
        position: relative;
        flex: 0 0 36px;
        width: 36px;
        min-width: 36px;
        height: 34px;
        margin: 0;
        padding: 0;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        align-self: center;
        line-height: 0;
        overflow: visible;
    }

    /* Badge móvil (class; el id solo existe en el carrito desktop) */
    .navbar-default > .container-fluid > .navbar-header .cart-header-mobile-badge {
        position: absolute;
        top: -2px;
        right: -2px;
        float: none;
        min-height: 0;
        height: auto;
        display: block;
        z-index: 2;
    }

    .navbar-default > .container-fluid > .navbar-header .cart-header-mobile-badge #cart-price-container {
        display: none !important;
    }

    .navbar-default .navbar-nav.navbar-right {
        float: none !important;
        width: 100% !important;
        margin: 8px 0 0 !important;
        padding: 0 !important;
    }

    .navbar-default .navbar-nav.navbar-right > li.visible-xs {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .navbar-default .navbar-nav.navbar-right > li.visible-xs a {
        padding: 0 !important;
    }

    .menu-mobile-cats {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 12px;
        row-gap: 10px;
        margin: 0;
        padding: 0 0 8px;
        font-family: var(--font-nav);
        font-size: 18px;
        text-align: center;
    }

    .menu-mobile-cats a {
        color: #6f1c48;
        font-weight: var(--w-medium, 500);
        line-height: 1.35;
        text-align: center;
    }

    .navbar-default > .search-container-mobile {
        margin: 4px 0 6px !important;
        padding: 0 !important;
        width: 100%;
        box-sizing: border-box;
    }
}


/* === ev-favorites.css === */
/* Favorites — heart toggle + list page */

.ev-fav-btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: var(--ev-muted, #6b5f66);
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    line-height: 1;
}

.ev-fav-btn:focus {
    outline: 2px solid var(--ev-brand, #6f1c48);
    outline-offset: 2px;
}

.ev-fav-btn i {
    font-size: 16px;
}

.ev-fav-btn.is-on,
.ev-fav-btn.is-on:hover,
.ev-fav-btn.is-on:focus {
    color: var(--ev-brand, #6f1c48);
}

.ev-fav-btn:disabled {
    opacity: 0.55;
    cursor: wait;
}

.ev-fav-btn--card {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    z-index: 3;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.94) !important;
    box-shadow: 0 1px 4px rgba(42, 42, 42, 0.12) !important;
    color: #8a7a82 !important;
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
}

.ev-fav-btn--card:hover,
.ev-fav-btn--card:focus {
    color: var(--ev-brand, #6f1c48) !important;
    background: #fff !important;
}

.ev-fav-btn--card.is-on {
    background: #fff !important;
    color: var(--ev-brand, #6f1c48) !important;
}

/* Desktop: empty heart only on card hover; saved hearts stay visible. Touch keeps them always on. */
@media (hover: hover) and (pointer: fine) {
    .ev-pcard .ev-fav-btn--card:not(.is-on) {
        opacity: 0;
        -webkit-transform: scale(0.92);
        transform: scale(0.92);
        pointer-events: none;
        -webkit-transition: opacity 0.16s ease, -webkit-transform 0.16s ease;
        transition: opacity 0.16s ease, transform 0.16s ease;
    }

    .ev-pcard:hover .ev-fav-btn--card:not(.is-on),
    .ev-pcard:focus-within .ev-fav-btn--card:not(.is-on) {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
        pointer-events: auto;
    }
}

.ev-fav-btn--pdp {
    gap: 6px;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    color: var(--ev-muted, #6b5f66) !important;
    font-family: var(--font-body), sans-serif;
    font-size: 14px;
    font-weight: 500;
}

.ev-fav-btn--pdp:hover,
.ev-fav-btn--pdp.is-on {
    color: var(--ev-brand, #6f1c48) !important;
    background: none !important;
}

.ev-fav-btn__label {
    font-size: 14px;
}

.ev-fav-toast {
    position: fixed;
    left: 50%;
    bottom: 24px;
    z-index: 10050;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    max-width: calc(100% - 32px);
    padding: 12px 18px;
    border-radius: var(--ev-radius, 5px);
    background: #2a2a2a;
    color: #fff;
    font-family: var(--font-body), sans-serif;
    font-size: 14px;
    line-height: 1.35;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    -webkit-transform: translate(-50%, 16px);
    transform: translate(-50%, 16px);
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.ev-fav-toast.is-visible {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

.ev-fav-toast a {
    color: #fff !important;
    font-weight: 600;
    text-decoration: underline !important;
    white-space: nowrap;
}

.ev-fav-page {
    padding: 28px 0 64px;
}

.ev-fav-page__header {
    margin-bottom: 28px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--ev-line, #ebe6e8);
}

.ev-fav-page__header h1 {
    margin: 0 0 6px;
    font-family: var(--font-display), Georgia, serif;
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--ev-ink, #2a2a2a);
}

.ev-fav-page__lead {
    margin: 0 0 6px;
    font-size: 15px;
    color: var(--ev-muted, #6b5f66);
    line-height: 1.45;
}

.ev-fav-page__count {
    margin: 0;
    font-size: 13px;
    color: #8a7a82;
}

.ev-fav-page [data-ev-fav-row] {
    -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.ev-fav-page [data-ev-fav-row].is-leaving {
    opacity: 0;
    -webkit-transform: scale(0.96);
    transform: scale(0.96);
}

.ev-fav-empty {
    max-width: 420px;
    margin: 48px auto 24px;
    text-align: center;
}

.ev-fav-empty__icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 16px;
    border-radius: 50%;
    background: var(--ev-wash-deep, #f7eef2);
    color: var(--ev-brand, #6f1c48);
    font-size: 22px;
}

.ev-fav-empty h2 {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 600;
    color: var(--ev-ink, #2a2a2a);
}

.ev-fav-empty p {
    margin: 0 0 20px;
    font-size: 15px;
    color: var(--ev-muted, #6b5f66);
    line-height: 1.5;
}

.ev-fav-empty__cta {
    display: inline-block;
    padding: 11px 22px;
    border-radius: var(--ev-radius, 5px);
    background: var(--ev-brand, #6f1c48);
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
}

.ev-fav-empty__cta:hover,
.ev-fav-empty__cta:focus {
    background: var(--ev-brand-soft, #8c2e60);
    color: #fff !important;
}

.ev-fav-page .ev-listing-grid > [class*="col-"] {
    overflow: visible;
    margin-bottom: 16px;
}

.ev-fav-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    overflow: visible;
    background: #fff;
    border: 1px solid var(--ev-pc-line, #ebe6e8);
}

.ev-fav-page .ev-fav-item .product.ev-pcard,
.ev-fav-page .product-list .ev-fav-item .product {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    height: auto;
    margin-bottom: 0;
    overflow: visible;
    border: 0;
}

.ev-fav-page .ev-fav-item .ev-pcard__body,
.ev-fav-page .ev-fav-item .data.ev-pcard__body {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding-bottom: 12px;
}

.ev-fav-page .ev-fav-item .ev-pcard__name {
    margin-bottom: 0;
}

.ev-fav-note {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 4px 16px 16px;
    text-align: center;
}

.ev-fav-note__text {
    width: 100%;
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.45;
    color: var(--ev-ink, #2a2a2a);
    white-space: pre-wrap;
    word-wrap: break-word;
    text-align: center;
}

.ev-fav-note-btn,
button.ev-fav-note-btn {
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: var(--ev-brand, #6f1c48) !important;
    font-family: var(--font-body), sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-decoration: underline !important;
    cursor: pointer;
}

.ev-fav-note-btn:hover,
.ev-fav-note-btn:focus {
    color: var(--ev-brand-soft, #8c2e60) !important;
    background: none !important;
}

.ev-fav-note__edit,
button.ev-fav-note__edit {
    display: -webkit-inline-box !important;
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 7px;
    width: 100% !important;
    max-width: 200px;
    margin: auto 0 0 !important;
    padding: 9px 14px !important;
    border: 1px solid var(--ev-brand, #6f1c48) !important;
    border-radius: var(--ev-radius, 5px) !important;
    background: var(--ev-wash-deep, #f7eef2) !important;
    box-shadow: none !important;
    color: var(--ev-brand, #6f1c48) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.ev-fav-note__edit i {
    font-size: 13px;
    line-height: 1;
}

.ev-fav-note__edit:hover,
.ev-fav-note__edit:focus {
    background: var(--ev-brand, #6f1c48) !important;
    border-color: var(--ev-brand, #6f1c48) !important;
    color: #fff !important;
}

.ev-fav-note__form {
    width: 100%;
    margin-top: 14px;
    text-align: left;
}

.ev-fav-note__label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    color: var(--ev-muted, #6b5f66);
}

.ev-fav-note__input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 10px;
    border: 1px solid var(--ev-line, #ebe6e8);
    border-radius: var(--ev-radius, 5px);
    font-family: var(--font-body), sans-serif;
    font-size: 14px;
    line-height: 1.4;
    resize: vertical;
    min-height: 72px;
}

.ev-fav-note__actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 16px;
    margin-top: 10px;
}

@media screen and (max-width: 767px) {
    .ev-fav-page__header h1 {
        font-size: 24px;
    }

    .ev-fav-toast {
        bottom: 16px;
        font-size: 13px;
    }

    .ev-fav-note {
        padding-left: 10px;
        padding-right: 10px;
    }

    .ev-fav-note__edit,
    button.ev-fav-note__edit {
        gap: 5px;
        max-width: none;
        padding: 8px 8px !important;
        font-size: 12px !important;
    }

    .ev-fav-note__edit i {
        font-size: 12px;
    }
}


