/**
 * Medusaa Shop - Vintage Apothecary & Rubber-Hose 1930s Experience
 * Inspirada en Betty Boop, Cuphead y la distribución limpia de Mercado Libre
 * Versión 1.5.0
 */

/* =========================================================
   0. TIPOGRAFÍA OFICIAL & TOKENS DE DISEÑO VINTAGE 1930s
   ========================================================= */
:root {
    --dfs-bg-cream: #FAF5EC;
    --dfs-bg-cream-alt: #FCF9F2;
    --dfs-bg-parchment: #F4EFE6;
    --dfs-bg-washed-navy: #E5ECF4;
    --dfs-ink-navy: var(--theme-palette-color-3, #121E36);
    --dfs-ink-navy-deep: var(--theme-palette-color-3, #0E1A2F);
    --dfs-ink-navy-soft: var(--theme-palette-color-4, #233454);
    --dfs-scarlet-red: var(--theme-palette-color-2, #133386);
    /* Color interactivo configurable desde Blocksy (Paleta > Color 2). */
    --dfs-blue-emphasis: var(--theme-palette-color-2, #0f47d7);
    --dfs-mustard-yellow: var(--theme-button-background-initial-color, var(--theme-palette-color-6, #EAA22E));

    --dfs-border-ink: 2.5px solid var(--dfs-ink-navy);
    --dfs-border-ink-thin: 2px solid var(--dfs-ink-navy);
    --dfs-shadow-block: 4px 4px 0px var(--dfs-ink-navy);
    --dfs-shadow-block-sm: 2.5px 2.5px 0px var(--dfs-ink-navy);
    --dfs-shadow-block-hover: 2px 2px 0px var(--dfs-ink-navy);
    --dfs-shadow-block-active: 0px 0px 0px var(--dfs-ink-navy);

    --dfs-font-display: var(--theme-font-family, "Quicksand", sans-serif);
    --dfs-font-serif: var(--theme-font-family, "Quicksand", sans-serif);
    --dfs-font-typewriter: var(--theme-font-family, "Quicksand", sans-serif);
    --dfs-font-ui: var(--theme-font-family, "Quicksand", sans-serif);
}

/* Fondo general controlado desde Blocksy (Paleta > Color 7). */
body {
    background-color: var(--theme-palette-color-7, #ffffff) !important;
    color: var(--theme-text-color, var(--dfs-ink-navy)) !important;
    font-family: var(--theme-font-family, "Quicksand", sans-serif) !important;
}

/* Pirámide olfativa en ficha individual */
.dfs-piramide-olfativa {
    margin-top: 22px;
    padding: 18px 16px 14px;
    border: 2px solid var(--dfs-ink-navy);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.38);
    box-shadow: var(--dfs-shadow-block-sm);
    clear: both;
}

.dfs-piramide-header {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.dfs-piramide-icon-decor {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(234, 162, 46, 0.16);
    font-size: 1.1rem;
}

.dfs-piramide-title {
    margin: 0;
    font-size: 1.05rem;
    letter-spacing: 0.02em;
    font-weight: 800;
    color: var(--theme-heading-color, var(--dfs-ink-navy));
    font-family: var(--theme-font-family, "Quicksand", sans-serif) !important;
}

.dfs-familia-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1.5px solid var(--dfs-ink-navy);
    background: rgba(19, 51, 134, 0.08);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dfs-notas-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.dfs-nota-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-height: 150px;
    padding: 12px 12px 13px;
    border-radius: 14px;
    border: 2px solid var(--dfs-ink-navy);
    background: linear-gradient(180deg, rgba(255,255,255,0.75), rgba(250,245,236,0.95));
    box-shadow: 0 2px 0 rgba(18,30,54,0.12);
}

.dfs-nota-card.dfs-nota-salida {
    background: linear-gradient(180deg, rgba(255, 236, 201, 0.75), rgba(255, 247, 232, 0.9));
}

.dfs-nota-card.dfs-nota-corazon {
    background: linear-gradient(180deg, rgba(233, 236, 255, 0.78), rgba(247, 249, 255, 0.95));
}

.dfs-nota-card.dfs-nota-fondo {
    background: linear-gradient(180deg, rgba(232, 244, 233, 0.76), rgba(245, 250, 245, 0.96));
}

.dfs-nota-emoji {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: rgba(255,255,255,0.7);
    border: 1.5px solid rgba(18,30,54,0.18);
    font-size: 1.45rem;
    line-height: 1;
}

.dfs-nota-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.dfs-nota-label {
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 0.06em;
    color: var(--theme-text-color, rgba(18, 30, 54, 0.8));
    font-family: var(--theme-font-family, "Quicksand", sans-serif) !important;
}

.dfs-nota-desc {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--theme-text-color, var(--dfs-ink-navy));
    font-weight: 600;
    font-family: var(--theme-font-family, "Quicksand", sans-serif) !important;
}

.woocommerce div.product .product_title {
    font-family: var(--theme-font-family, "Quicksand", sans-serif);
    color: var(--theme-headings-color, var(--theme-palette-color-3, #081C57));
}

.dfs-sugerido {
    margin: 14px 0 0;
    font-size: 0.85rem;
    line-height: 1.5;
    color: var(--dfs-ink-navy);
}

@media (max-width: 780px) {
    .dfs-notas-grid {
        grid-template-columns: 1fr;
    }

    .dfs-piramide-olfativa {
        margin-top: 18px;
    }
}

/* Ocultar la cabecera vacía por defecto de Blocksy */
.ct-header {
    display: none !important;
}

/* Reset global de FiboSearch: Eliminar borde exterior crema y padding de la envoltura */
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp,
.dgwt-wcas-style-pirx.dgwt-wcas-style-pirx-compact .dgwt-wcas-sf-wrapp,
.dgwt-wcas-sf-wrapp {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* =========================================================
   1. CABECERA OFICIAL DE MARCA (#000080 NAVY BRAND HEADER)
   ========================================================= */
.dfs-vintage-header {
    width: 100% !important;
    background: #223553 !important;
    position: relative !important;
    z-index: 9999 !important;
    border-bottom: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Ocultar cualquier remanente del ticker superior */
.dfs-top-ticker {
    display: none !important;
}

/* ---------------------------------------------------------
   1.1 CABECERA DESKTOP (Pantallas > 920px)
   --------------------------------------------------------- */
@media (max-width: 920px) {
    .dfs-header-desktop {
        display: none !important;
    }
}

@media (min-width: 921px) {
    .dfs-header-mobile {
        display: none !important;
    }

    .dfs-floating-dock-wrapper,
    #dfs-dock-wrapper,
    #dfs-bottom-nav {
        display: none !important;
    }

    .dfs-header-desktop {
        display: block !important;
        background: #223553 !important;
        padding: 10px 24px 8px 24px !important;
        color: #ffffff !important;
        border-bottom: none !important;
    }

    .dfs-header-container {
        max-width: 1260px !important;
        margin: 0 auto !important;
        width: 100% !important;
    }

    /* =========================================================
       DISTRIBUCIÓN EN 3 BLOQUES (Izquierda, Centro, Derecha)
       - Espaciado idéntico entre bloques (Bloque 1 - Bloque 2 == Bloque 2 - Bloque 3)
       - El buscador se ajusta de forma exactamente proporcional al menú
       - Alineación central perfecta en Línea 1 y Línea 2
       ========================================================= */
    .dfs-desktop-grid {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: 1220px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    .dfs-desktop-col {
        display: flex !important;
        flex-direction: column !important;
        gap: 8px !important;
        box-sizing: border-box !important;
    }

    /* =========================================================
       BLOQUE 1: IZQUIERDA (Identidad + Código Postal)
       ========================================================= */
    .dfs-desktop-col-left {
        flex: 0 0 auto !important;
        width: auto !important;
        align-items: flex-start !important;
    }

    /* Línea 1: Favicon + Logotipo */
    .dfs-desktop-left-row1 {
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }

    .dfs-desktop-brand-group {
        display: inline-flex !important;
        align-items: center !important;
        gap: 12px !important;
        text-decoration: none !important;
        transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    }

    .dfs-desktop-brand-group:hover {
        transform: scale(1.02) !important;
    }

    .dfs-desktop-brand-favicon {
        height: 40px !important;
        max-height: 40px !important;
        width: auto !important;
        max-width: 58px !important;
        object-fit: contain !important;
        display: block !important;
        flex-shrink: 0 !important;
    }

    .dfs-desktop-brand-logo {
        height: 34px !important;
        max-height: 34px !important;
        max-width: 155px !important;
        width: auto !important;
        object-fit: contain !important;
        display: block !important;
    }

    /* Línea 2: Código Postal del cliente */
    .dfs-desktop-left-row2 {
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        display: flex !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }

    .dfs-desktop-cp-badge {
        display: inline-flex !important;
        align-items: center !important;
        gap: 5px !important;
        height: 32px !important;
        padding: 0 6px !important;
        box-sizing: border-box !important;
        color: #FAF5EC !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 11.5px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        border-radius: 6px !important;
        cursor: pointer !important;
        transition: background 0.15s ease, opacity 0.15s ease !important;
        line-height: 1 !important;
    }

    .dfs-desktop-cp-badge:hover {
        background: rgba(250, 245, 236, 0.1) !important;
        color: #ffffff !important;
    }

    .dfs-cp-icon {
        color: #EAA22E !important;
        font-size: 13px !important;
        flex-shrink: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        position: relative !important;
        top: -0.5px !important;
    }

    .dfs-cp-text {
        display: inline-flex !important;
        align-items: center !important;
        line-height: 1 !important;
    }

    .dfs-cp-arrow {
        color: #FAF5EC !important;
        opacity: 0.7 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: 2px !important;
        transition: transform 0.15s ease !important;
        line-height: 1 !important;
    }

    .dfs-desktop-cp-badge:hover .dfs-cp-arrow {
        opacity: 1 !important;
        transform: translateX(2px) !important;
    }

    /* =========================================================
       BLOQUE 2: CENTRO (Buscador Proporcional + Menú Principal)
       ========================================================= */
    .dfs-desktop-col-center {
        flex: 0 0 auto !important;
        width: fit-content !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important; /* Estira el buscador exactamente al ancho que ocupa la fila del menú */
        box-sizing: border-box !important;
    }

    /* Línea 1: Buscador FiboSearch que mide exactamente el ancho de la fila de opciones */
    .dfs-desktop-center-row1 {
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: stretch !important;
        box-sizing: border-box !important;
    }

    .dfs-desktop-search-wrap {
        width: 100% !important;
        display: flex !important;
    }

    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp,
    .dfs-desktop-search-wrap .dfs-header-search-form {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    /* Evita que FiboSearch pinte un fondo cuadrado al activar el autocomplete. */
    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp,
    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp.dgwt-wcas-active,
    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp:focus-within,
    .dfs-desktop-search-wrap .dgwt-wcas-search-form,
    .dfs-desktop-search-wrap .dgwt-wcas-search-form:focus-within,
    .dfs-desktop-search-wrap .dgwt-wcas-sf-wrapp,
    .dfs-desktop-search-wrap .dgwt-wcas-sf-wrapp:focus-within {
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    /* El azul del contenedor activo debe coincidir exactamente con la cabecera. */
    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp.dgwt-wcas-active,
    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp:focus-within,
    .dfs-desktop-search-wrap .dgwt-wcas-search-form:focus-within,
    .dfs-desktop-search-wrap .dgwt-wcas-sf-wrapp:focus-within {
        background: #223553 !important;
        background-color: #223553 !important;
    }

    /* La cápsula queda encima; la tarjeta crema sube hasta su mitad. */
    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp.dgwt-wcas-active input[type="search"].dgwt-wcas-search-input,
    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp:focus-within input[type="search"].dgwt-wcas-search-input {
        position: relative !important;
        z-index: 2 !important;
        border-radius: 999px !important;
        border-bottom-width: 1.2px !important;
        box-shadow: none !important;
    }

    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp.dgwt-wcas-active .dgwt-wcas-suggestions-wrapp,
    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp:focus-within .dgwt-wcas-suggestions-wrapp {
        z-index: 1 !important;
        margin-top: -19px !important;
        padding-top: 19px !important;
        background: #FFFFFF !important;
        background-color: #FFFFFF !important;
        border: 1.2px solid #081C57 !important;
        border-radius: 16px !important;
        box-shadow: 0 12px 30px rgba(8, 28, 87, 0.16) !important;
        overflow: hidden !important;
    }

    /* FiboSearch Desktop: Borde azul limpio y sin bordes exteriores crema */
    .dfs-desktop-search-wrap .dgwt-wcas-sf-wrapp,
    .dfs-desktop-search-wrap .dgwt-wcas-search-form {
        background: transparent !important;
        background-color: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
        width: 100% !important;
        position: relative !important;
        display: flex !important;
        align-items: center !important;
    }

    .dfs-desktop-search-wrap input[type="search"].dgwt-wcas-search-input,
    .dfs-desktop-search-wrap .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input,
    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
        width: 100% !important;
        height: 38px !important;
        line-height: 38px !important;
        border-radius: 999px !important;
        border: 1.2px solid #081C57 !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        color: #081C57 !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        padding-left: 38px !important;
        padding-right: 32px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
        outline: none !important;
        transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
        -webkit-appearance: none !important;
        box-sizing: border-box !important;
    }

    .dfs-desktop-search-wrap input[type="search"].dgwt-wcas-search-input:focus,
    .dfs-desktop-search-wrap .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:focus {
        background-color: #ffffff !important;
        border-color: #081C57 !important;
        box-shadow: 0 0 0 3px rgba(8, 28, 87, 0.15) !important;
        outline: none !important;
    }

    .dfs-desktop-search-wrap button.dgwt-wcas-search-submit,
    .dfs-desktop-search-wrap .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
        position: absolute !important;
        left: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 18px !important;
        height: 18px !important;
        min-height: 18px !important;
        min-width: 18px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        z-index: 2 !important;
        pointer-events: auto !important;
    }

    .dfs-desktop-search-wrap .dgwt-wcas-ico-magnifier path,
    .dfs-desktop-search-wrap .dgwt-wcas-search-submit svg path {
        fill: #081C57 !important;
    }

    .dfs-desktop-search-wrap input[type="search"].dgwt-wcas-search-input::placeholder,
    .dfs-desktop-search-wrap input[type="search"].dgwt-wcas-search-input::-webkit-input-placeholder {
        color: #78889b !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 12.5px !important;
        font-weight: 400 !important;
        letter-spacing: -0.01em !important;
        opacity: 1 !important;
    }

    /* Formulario nativo fallback */
    .dfs-search-input-box {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        background: #ffffff !important;
        border: 1.2px solid #081C57 !important;
        border-radius: 999px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
        transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
        height: 38px !important;
        padding: 0 14px !important;
    }

    .dfs-search-input-box:focus-within {
        border-color: #081C57 !important;
        box-shadow: 0 0 0 3px rgba(8, 28, 87, 0.15) !important;
    }

    .dfs-search-box-icon {
        color: #081C57 !important;
        font-size: 15px !important;
        margin-right: 8px !important;
        flex-shrink: 0 !important;
    }

    .dfs-search-field {
        flex: 1 !important;
        height: 100% !important;
        border: none !important;
        outline: none !important;
        padding: 0 !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        color: #081C57 !important;
        background: transparent !important;
    }

    .dfs-search-field::placeholder {
        color: #78889b !important;
        font-size: 12.5px !important;
        font-weight: 400 !important;
        letter-spacing: -0.01em !important;
    }

    .dfs-search-submit {
        height: auto !important;
        padding: 0 4px !important;
        background: transparent !important;
        color: #8a99ad !important;
        border: none !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
    }

    /* Línea 2: Menú Principal (Botones en Píldora) */
    .dfs-desktop-center-row2 {
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .dfs-desktop-nav-menu {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
    }

    .dfs-desktop-nav-list {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        width: max-content !important;
    }

    /* Estilo Base de Botón del Menú */
    .dfs-desktop-nav-btn {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        height: 32px !important;
        padding: 0 14px !important;
        box-sizing: border-box !important;
        color: #FAF5EC !important;
        background: transparent !important;
        border: 1.2px solid transparent !important;
        border-radius: 999px !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 12.5px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        cursor: pointer !important;
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
        white-space: nowrap !important;
        line-height: 1 !important;
    }

    .dfs-desktop-nav-btn span {
        display: inline-flex !important;
        align-items: center !important;
        line-height: 1 !important;
    }

    .dfs-desktop-nav-btn i {
        font-size: 13px !important;
        color: #FAF5EC !important;
        transition: color 0.2s ease !important;
        line-height: 1 !important;
    }

    .dfs-desktop-nav-btn:hover {
        background: rgba(250, 245, 236, 0.14) !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
    }

    .dfs-desktop-nav-btn:hover i {
        color: #ffffff !important;
    }

    .dfs-nav-icon-box {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
    }

    .dfs-desktop-nav-btn .dfs-icon-line {
        display: inline-flex !important;
        font-size: 13.5px !important;
        color: #FAF5EC !important;
        transition: color 0.18s ease !important;
    }

    .dfs-desktop-nav-btn .dfs-icon-solid {
        display: none !important;
        font-size: 13.5px !important;
        line-height: 1 !important;
    }

    /* ESTADO ACTIVO: Píldora Crema con Icono Sólido Relleno */
    .dfs-desktop-nav-btn.is-active,
    .dfs-nav-has-dropdown.is-active .dfs-desktop-nav-btn {
        background: #FAF5EC !important;
        color: #081C57 !important;
        border: 1.2px solid rgba(8, 28, 87, 0.15) !important;
        font-weight: 700 !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
        transform: none !important;
    }

    /* Al estar activa la pestaña, se oculta el lineal y se muestra el sólido */
    .dfs-desktop-nav-btn.is-active .dfs-icon-line,
    .dfs-nav-has-dropdown.is-active .dfs-desktop-nav-btn .dfs-icon-line {
        display: none !important;
    }

    .dfs-desktop-nav-btn.is-active .dfs-icon-solid,
    .dfs-nav-has-dropdown.is-active .dfs-desktop-nav-btn .dfs-icon-solid {
        display: inline-flex !important;
        transform: scale(1.06) !important;
        color: #081C57 !important; /* Relleno con el azul marino principal */
    }

    .dfs-desktop-nav-btn.is-active .dfs-icon-solid i,
    .dfs-desktop-nav-btn.is-active .fi-sr-flame,
    .dfs-desktop-nav-btn.is-active .fi-sr-star,
    .dfs-desktop-nav-btn.is-active .fi-sr-envelope,
    .dfs-desktop-nav-btn.is-active .fi-sr-apps,
    .dfs-desktop-nav-btn.is-active .fi-sr-medal {
        color: #081C57 !important; /* Relleno uniforme con el azul principal oficial */
        filter: none !important;
    }

    .dfs-nav-hot-tag {
        background: #e53e3e !important;
        color: #ffffff !important;
        font-size: 9px !important;
        font-weight: 800 !important;
        padding: 1px 5px !important;
        border-radius: 999px !important;
        letter-spacing: 0.5px !important;
        margin-left: 2px !important;
        line-height: 1 !important;
    }

    .dfs-dropdown-arrow {
        font-size: 11px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        position: relative !important;
        top: 1.5px !important; /* Baja la flecha al centro óptico del texto de Categorías */
        margin-left: 2px !important;
        transition: transform 0.2s ease, top 0.2s ease !important;
    }

    .dfs-nav-has-dropdown:hover .dfs-dropdown-arrow,
    .dfs-nav-has-dropdown.is-open .dfs-dropdown-arrow {
        transform: rotate(180deg) !important;
        top: -1.5px !important;
    }

    /* Desplegable de Categorías Flotante */
    .dfs-nav-has-dropdown {
        position: relative !important;
    }

    .dfs-desktop-dropdown-menu {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        left: 0 !important;
        background: #FAF5EC !important;
        border: 1.5px solid #081C57 !important;
        border-radius: 14px !important;
        box-shadow: none !important;
        padding: 8px 0 !important;
        min-width: 235px !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(6px) !important;
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
        z-index: 10000 !important;
    }

    .dfs-dropdown-header-title {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 6px 18px 8px 18px !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        letter-spacing: 1.2px !important;
        color: #081C57 !important;
        border-bottom: 1.5px solid rgba(8, 28, 87, 0.09) !important;
        margin-bottom: 4px !important;
    }

    .dfs-perfume-icon-box {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
    }

    .dfs-perfume-icon-box .dfs-perfume-svg {
        width: 17px !important;
        height: 17px !important;
        color: #081C57 !important;
        stroke: #081C57 !important;
    }

    .dfs-dropdown-header-title i {
        font-size: 13px !important;
        color: #081C57 !important;
    }

    .dfs-nav-has-dropdown:hover .dfs-desktop-dropdown-menu,
    .dfs-nav-has-dropdown.is-open .dfs-desktop-dropdown-menu {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
    }

    .dfs-dropdown-arrow-up {
        position: absolute !important;
        top: -7px !important;
        left: 24px !important;
        width: 12px !important;
        height: 12px !important;
        background: #FAF5EC !important;
        border-top: 1.5px solid #081C57 !important;
        border-left: 1.5px solid #081C57 !important;
        transform: rotate(45deg) !important;
    }

    .dfs-dropdown-arrow-up.right-aligned {
        left: auto !important;
        right: 28px !important;
        background: #ffffff !important;
        border-top: 1.5px solid rgba(8, 28, 87, 0.15) !important;
        border-left: 1.5px solid rgba(8, 28, 87, 0.15) !important;
    }

    .dfs-dropdown-list {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .dfs-dropdown-list li {
        position: relative !important;
    }

    .dfs-dropdown-list li a {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 9px 18px !important;
        color: #081C57 !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        line-height: 1 !important;
        transition: background 0.15s ease, padding-left 0.15s ease !important;
    }

    .dfs-dropdown-list li a i {
        font-size: 14px !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 16px !important;
        height: 16px !important;
        color: #081C57 !important;
        flex-shrink: 0 !important;
        position: relative !important;
        top: -1px !important; /* Centrado óptico con la línea media del texto Quicksand */
    }

    /* Igualación de grosor para el icono de Unisex con respecto a los iconos bold */
    .dfs-dropdown-list li a span {
        display: inline-flex !important;
        align-items: center !important;
        line-height: 1 !important;
        color: #081C57 !important;
    }

    .dfs-dropdown-list li a:hover {
        background: transparent !important;
        padding-left: 18px !important;
        color: var(--dfs-blue-emphasis, #133386) !important;
    }

    .dfs-dropdown-list li a:hover i,
    .dfs-dropdown-list li a:hover span {
        color: var(--dfs-blue-emphasis, #133386) !important;
    }

    /* Submenú Flotante Lateral (Hombre y Mujer) */
    .dfs-dropdown-has-flyout {
        position: relative !important;
    }

    .dfs-dropdown-parent-link {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .dfs-flyout-arrow {
        font-size: 11px !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 16px !important;
        color: #081C57 !important;
        margin-left: auto !important;
        opacity: 0.6 !important;
        position: relative !important;
        top: 0 !important;
        transition: transform 0.2s ease, opacity 0.2s ease !important;
    }

    .dfs-flyout-submenu {
        position: absolute !important;
        top: -6px !important;
        left: calc(100% + 4px) !important;
        background: #FAF5EC !important;
        border: 1.5px solid #081C57 !important;
        border-radius: 14px !important;
        box-shadow: 0 10px 28px rgba(8, 28, 87, 0.22) !important;
        padding: 6px 0 !important;
        min-width: 175px !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateX(4px) !important;
        transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease !important;
        z-index: 10002 !important;
    }

    .dfs-dropdown-has-flyout:hover > .dfs-flyout-submenu,
    .dfs-dropdown-has-flyout:focus-within > .dfs-flyout-submenu {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateX(0) !important;
    }

    .dfs-dropdown-has-flyout:hover .dfs-flyout-arrow {
        opacity: 1 !important;
        transform: translateX(3px) !important;
    }

    .dfs-dropdown-divider {
        height: 1px !important;
        background: rgba(8, 28, 87, 0.1) !important;
        margin: 6px 0 !important;
    }

    .dfs-dropdown-all-link {
        font-weight: 700 !important;
        color: #133386 !important;
    }

    /* =========================================================
       BLOQUE 3: DERECHA (Redes Sociales + Sesión / Carrito)
       ========================================================= */
    .dfs-desktop-col-right {
        flex: 0 0 328px !important;
        width: 328px !important;
        justify-self: end !important;
        align-items: flex-end !important;
    }

    /* Línea 1: Banners de Redes Sociales (Mad Cartoon Style, ancho 100% idéntico a la fila 2) */
    .dfs-desktop-right-row1 {
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .dfs-social-banners-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .dfs-social-banner {
        flex: 1 1 0 !important;
        width: 50% !important;
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: max-content !important;
        place-content: center !important;
        align-items: center !important;
        column-gap: 6px !important;
        height: 31px !important;
        box-sizing: border-box !important;
        padding: 0 10px !important;
        border-radius: 999px !important;
        line-height: 1 !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 11.5px !important;
        font-weight: 800 !important;
        letter-spacing: 0.4px !important;
        text-transform: uppercase !important;
        text-decoration: none !important;
        /* Estilo Mad Cartoon */
        border: 1.5px solid #081C57 !important;
        box-shadow: 2.5px 2.5px 0px #081C57 !important;
        transition: transform 0.15s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.15s ease !important;
    }

    .dfs-social-banner:hover {
        transform: translate(-1.5px, -1.5px) !important;
        box-shadow: 4px 4px 0px #081C57 !important;
    }

    .dfs-social-banner:active {
        transform: translate(1.5px, 1.5px) !important;
        box-shadow: 0.5px 0.5px 0px #081C57 !important;
    }

    .dfs-social-instagram {
        background: linear-gradient(135deg, #f09433, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888) !important;
        color: #ffffff !important;
    }

    .dfs-social-facebook {
        background: #1877F2 !important;
        color: #ffffff !important;
    }

    .dfs-social-banner > i {
        display: grid !important;
        place-items: center !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 13px !important;
        width: 13px !important;
        height: 13px !important;
        font-size: 13px !important;
        line-height: 1 !important;
        vertical-align: middle !important;
        color: #ffffff !important;
    }

    .dfs-social-banner > i::before {
        display: block !important;
        line-height: 1 !important;
    }

    .dfs-social-banner > span {
        display: block !important;
        line-height: 1 !important;
        margin: 0 !important;
        transform: translateY(2px) !important;
    }

    /* Línea 2: Accesos de Usuario y Carrito */
    .dfs-desktop-right-row2 {
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .dfs-user-actions-guest {
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .dfs-user-actions-auth {
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        gap: 8px !important;
        box-sizing: border-box !important;
    }

    /* Enlaces modo invitado */
    .dfs-guest-nav-link {
        display: inline-flex !important;
        align-items: center !important;
        gap: 5px !important;
        color: #FAF5EC !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 12.5px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        padding: 4px 8px !important;
        border-radius: 6px !important;
        transition: background 0.15s ease, color 0.15s ease !important;
    }

    .dfs-guest-nav-link:hover {
        background: rgba(250, 245, 236, 0.12) !important;
        color: #ffffff !important;
    }

    .dfs-guest-nav-link i {
        font-size: 13px !important;
    }

    /* Enlaces modo cliente logueado */
    .dfs-auth-direct-link {
        color: #FAF5EC !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 12.5px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        padding: 4px 6px !important;
        border-radius: 6px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 5px !important;
        line-height: 1 !important;
        transition: color 0.15s ease, background 0.15s ease !important;
    }

    .dfs-auth-direct-link:hover {
        color: #ffffff !important;
        background: rgba(250, 245, 236, 0.12) !important;
    }

    .dfs-auth-fav-link {
        display: inline-flex !important;
        align-items: center !important;
        gap: 5px !important;
        line-height: 1 !important;
        height: 32px !important;
        padding: 0 6px !important;
        box-sizing: border-box !important;
    }

    .dfs-auth-fav-link i {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 14px !important;
        color: #FAF5EC !important;
        line-height: 1 !important;
        height: 14px !important;
        position: relative !important;
        top: -1px !important; /* Alineación central exacta con la palabra Favoritos */
    }

    .dfs-auth-fav-link span {
        display: inline-flex !important;
        align-items: center !important;
        line-height: 1 !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 12.5px !important;
        font-weight: 600 !important;
        color: #FAF5EC !important;
    }

    /* Trigger de Mi Cuenta con Avatar */
    .dfs-auth-dropdown-wrap {
        position: relative !important;
        display: inline-flex !important;
        align-items: center !important;
        height: 32px !important;
        box-sizing: border-box !important;
    }

    .dfs-auth-account-trigger {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        background: transparent !important;
        border: none !important;
        color: #FAF5EC !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
        padding: 0 6px !important;
        height: 32px !important;
        box-sizing: border-box !important;
        border-radius: 999px !important;
        line-height: 1 !important;
        transition: background 0.15s ease, color 0.15s ease !important;
    }

    .dfs-auth-account-trigger span {
        display: inline-flex !important;
        align-items: center !important;
        line-height: 1 !important;
    }

    .dfs-user-arrow {
        font-size: 10px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        position: relative !important;
        top: 1.5px !important;
        transition: transform 0.2s ease, top 0.2s ease !important;
    }

    .dfs-auth-dropdown-wrap:hover .dfs-user-arrow,
    .dfs-auth-dropdown-wrap.is-open .dfs-user-arrow {
        transform: rotate(180deg) !important;
        top: -1.5px !important;
    }

    .dfs-auth-account-trigger:hover,
    .dfs-auth-dropdown-wrap.is-open .dfs-auth-account-trigger {
        background: rgba(250, 245, 236, 0.14) !important;
        color: #ffffff !important;
    }

    .dfs-avatar-circle {
        width: 24px !important;
        height: 24px !important;
        border-radius: 50% !important;
        background: #FAF5EC !important;
        color: #081C57 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        flex-shrink: 0 !important;
    }

    .dfs-user-arrow {
        font-size: 10px !important;
        transition: transform 0.2s ease !important;
    }

    .dfs-auth-dropdown-wrap:hover .dfs-user-arrow,
    .dfs-auth-dropdown-wrap.is-open .dfs-user-arrow {
        transform: rotate(180deg) !important;
    }

    /* Menú Desplegable Flotante de Usuario (Mercado Libre Style) */
.dfs-user-profile-dropdown {
        position: absolute !important;
        top: calc(100% + 10px) !important;
        right: 0 !important;
        width: 260px !important;
        background: var(--dfs-site-bg, #FAF5EC) !important;
        border-radius: 14px !important;
        border: 1.5px solid #081C57 !important;
        box-shadow: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(6px) !important;
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
        z-index: 10000 !important;
        overflow: visible !important;
    }

    .dfs-auth-dropdown-wrap:hover .dfs-user-profile-dropdown,
    .dfs-auth-dropdown-wrap.is-open .dfs-user-profile-dropdown {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
    }

    .dfs-user-dropdown-header {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 16px !important;
        border-bottom: 1px solid #f0f2f5 !important;
        background: var(--dfs-site-bg, #FAF5EC) !important;
        border-radius: 14px 14px 0 0 !important;
    }

    .dfs-dropdown-avatar {
        width: 38px !important;
        height: 38px !important;
        border-radius: 50% !important;
        background: #081C57 !important;
        color: #FAF5EC !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        flex-shrink: 0 !important;
    }

    .dfs-dropdown-user-details {
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    .dfs-dropdown-name {
        color: #081C57 !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .dfs-dropdown-email {
        color: #718096 !important;
        font-size: 11.5px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .dfs-user-dropdown-body {
        padding: 6px 0 !important;
        background: var(--dfs-site-bg, #FAF5EC) !important;
    }

    .dfs-dropdown-item {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 9px 16px !important;
        color: #2d3748 !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease !important;
    }

    .dfs-dropdown-item i {
        font-size: 15px !important;
        color: #4a5568 !important;
        flex-shrink: 0 !important;
    }

    .dfs-dropdown-item:hover {
        background: transparent !important;
        color: var(--dfs-blue-emphasis, #133386) !important;
        padding-left: 16px !important;
    }

    .dfs-dropdown-item:hover i {
        color: var(--dfs-blue-emphasis, #133386) !important;
    }

    .dfs-user-dropdown-footer {
        border-top: 1px solid #edf2f7 !important;
        padding: 6px 0 !important;
        background: var(--dfs-site-bg, #FAF5EC) !important;
    }

    .dfs-dropdown-logout-item {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 9px 16px !important;
        color: #e53e3e !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        transition: background 0.15s ease !important;
    }

    .dfs-dropdown-logout-item:hover {
        background: #fff5f5 !important;
    }

    .dfs-dropdown-logout-item i {
        font-size: 15px !important;
        color: #e53e3e !important;
    }

    /* Carrito Desktop */
    .dfs-desktop-cart-link {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        text-decoration: none !important;
        color: #FAF5EC !important;
        padding: 0 6px !important;
        height: 32px !important;
        box-sizing: border-box !important;
        border-radius: 6px !important;
        background: transparent !important;
        border: none !important;
        transition: background 0.15s ease, color 0.15s ease !important;
        line-height: 1 !important;
    }

    .dfs-desktop-cart-link:hover {
        background: rgba(250, 245, 236, 0.12) !important;
        color: #ffffff !important;
    }

    .dfs-cart-icon-box {
        position: relative !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        height: 15px !important;
        top: 0 !important; /* Eliminamos el top: 2px para alineación central exacta con la palabra Carrito */
    }

    .dfs-cart-icon-box i {
        font-size: 15px !important;
        color: #FAF5EC !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
    }

    .dfs-desktop-cart-badge {
        position: absolute !important;
        top: -6px !important;
        right: -7px !important;
        background: #EC1C24 !important;
        color: #ffffff !important;
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
        font-size: 9px !important;
        font-weight: 800 !important;
        width: 17px !important;
        height: 17px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        border: 1.5px solid #223553 !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    }

    .dfs-cart-label,
    .dfs-desktop-cart-label {
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 12.5px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        color: #FAF5EC !important;
    }
}

/* ---------------------------------------------------------
   1.2 CABECERA MÓVIL (Pantallas <= 920px)
   --------------------------------------------------------- */
@media (max-width: 920px) {
    /* Cabecera Móvil Fija / Sticky (Estilo Mercado Libre) */
    .dfs-vintage-header {
        position: sticky !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 9999 !important;
        background: #ffffff !important;
        box-shadow: 0 6px 16px rgba(8, 28, 87, 0.14) !important;
    }

    .dfs-vintage-header.dfs-header-compact {
        box-shadow: 0 6px 16px rgba(8, 28, 87, 0.14) !important;
        background: #ffffff !important;
    }

    /* Al fijarse, la cabecera recupera el fondo blanco y sus bordes rectos. */
    .dfs-vintage-header.dfs-header-compact .dfs-header-mobile {
        border-radius: 0 !important;
        background: #ffffff !important;
    }

    .dfs-header-mobile {
        display: block !important;
        background: #ffffff !important;
        padding: calc(5px + env(safe-area-inset-top, 0px)) 12px 9px !important;
        border-bottom: 0 !important;
    }

    .dfs-vintage-header.dfs-header-compact .dfs-header-mobile {
        padding-bottom: 9px !important;
    }

    .dfs-mobile-header-container {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Tres columnas simétricas para mantener el logotipo centrado. */
    .dfs-mobile-top-row {
        display: grid !important;
        grid-template-columns: 40px minmax(0, 1fr) 40px !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-height: 48px !important;
    }

    .dfs-mobile-action {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        padding: 0 !important;
        color: #0B35C9 !important;
        background: transparent !important;
        border: 0 !important;
        text-decoration: none !important;
        box-shadow: none !important;
    }

    .dfs-mobile-action i,
    .dfs-mobile-search-symbol i {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 20px !important;
        line-height: 1 !important;
        color: inherit !important;
    }

    .dfs-mobile-action:hover,
    .dfs-mobile-action:focus-visible {
        color: #0B35C9 !important;
    }

    .dfs-vintage-header.dfs-header-compact .dfs-mobile-action,
    .dfs-vintage-header.dfs-header-compact .dfs-mobile-search-action {
        color: #0B35C9 !important;
    }

    .dfs-mobile-brand {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        text-decoration: none !important;
    }

    .dfs-mobile-brand-logo {
        width: 96px !important;
        max-width: 100% !important;
        max-height: 44px !important;
        height: auto !important;
        object-fit: contain !important;
        display: block !important;
        filter: none !important;
    }

    .dfs-mobile-search-action {
        position: relative !important;
        width: 40px !important;
        height: 40px !important;
        justify-self: end !important;
        color: #0B35C9 !important;
    }

    .dfs-mobile-search-symbol {
        position: absolute !important;
        inset: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        pointer-events: none !important;
    }

    .dfs-mobile-search-wrap,
    .dfs-mobile-search-wrap .dgwt-wcas-search-wrapp {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
    }

    .dfs-mobile-search-wrap .dgwt-wcas-ico-magnifier-handler {
        opacity: 0 !important;
    }

    .dfs-mobile-search-wrap .dgwt-wcas-search-icon,
    .dfs-mobile-search-wrap .js-dgwt-wcas-enable-mobile-form {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }

    .dfs-mobile-search-action:focus-within,
    .dfs-mobile-search-action:hover {
        color: #0B35C9 !important;
    }

    /* En la portada, solo el estado inicial deja ver el banner bajo la cabecera. */
    body.home .dfs-vintage-header:not(.dfs-header-compact),
    body.home .dfs-vintage-header:not(.dfs-header-compact) .dfs-header-mobile {
        background: transparent !important;
        box-shadow: none !important;
    }

    body.home .dfs-vintage-header:not(.dfs-header-compact) .dfs-mobile-action,
    body.home .dfs-vintage-header:not(.dfs-header-compact) .dfs-mobile-search-action {
        color: #ffffff !important;
    }

    /* Formulario nativo fallback estilo píldora */
    .dfs-search-form-mobile,
    .dfs-mobile-search-form {
        width: 100% !important;
        margin: 0 !important;
    }

    .dfs-search-form-mobile .dfs-search-input-box,
    .dfs-mobile-search-box {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        background: #ffffff !important;
        border: 1.2px solid #081C57 !important;
        border-radius: 999px !important;
        padding: 0 12px !important;
        height: 35px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
        transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    }

    .dfs-search-form-mobile .dfs-search-input-box:focus-within,
    .dfs-mobile-search-box:focus-within {
        border-color: #081C57 !important;
        box-shadow: 0 0 0 3px rgba(8, 28, 87, 0.15) !important;
    }

    .dfs-search-box-icon {
        color: #081C57 !important;
        font-size: 14px !important;
        margin-right: 8px !important;
        flex-shrink: 0 !important;
    }

    .dfs-search-form-mobile .dfs-search-field,
    .dfs-mobile-search-input {
        flex: 1 !important;
        height: 100% !important;
        border: none !important;
        outline: none !important;
        padding: 0 !important;
        font-family: var(--dfs-font-ui), "Plus Jakarta Sans", sans-serif !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        color: #081C57 !important;
        background: transparent !important;
    }

    .dfs-search-form-mobile .dfs-search-field::placeholder,
    .dfs-mobile-search-input::placeholder {
        color: #78889b !important;
        font-size: 12.5px !important;
        font-weight: 400 !important;
        letter-spacing: -0.01em !important;
    }

    .dfs-search-form-mobile .dfs-search-submit {
        background: transparent !important;
        border: none !important;
        color: #8a99ad !important;
        font-size: 14px !important;
        cursor: pointer !important;
        padding: 0 4px !important;
    }

    /* =========================================================
       FIBOSEARCH: ESTILO PÍLDORA MODERNO CON ICONO SEPARADO
       ========================================================= */
    .dgwt-wcas-search-wrapp {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .dgwt-wcas-search-form {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
    }

    .dgwt-wcas-sf-wrapp {
        position: relative !important;
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
    }

    /* Input estilo píldora con separación holgada para la lupa */
    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input,
    .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input,
    input[type="search"].dgwt-wcas-search-input {
        width: 100% !important;
        height: 35px !important;
        line-height: 35px !important;
        border-radius: 999px !important;
        border: 1.2px solid #081C57 !important;
        background: #ffffff !important;
        color: #081C57 !important;
        font-family: var(--dfs-font-ui), "Plus Jakarta Sans", sans-serif !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        padding-left: 36px !important; /* Espacio limpio tras la lupa a 11px */
        padding-right: 32px !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
        outline: none !important;
        transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
        -webkit-appearance: none !important;
    }

    /* Estado Focus en input */
    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:focus,
    .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:focus,
    input[type="search"].dgwt-wcas-search-input:focus {
        background-color: #ffffff !important;
        border-color: #081C57 !important;
        box-shadow: 0 0 0 3px rgba(8, 28, 87, 0.15) !important;
        outline: none !important;
    }

    /* Placeholders en FiboSearch: leyenda compacta y elegante */
    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input::placeholder,
    .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input::placeholder,
    input[type="search"].dgwt-wcas-search-input::placeholder,
    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input::-webkit-input-placeholder,
    input[type="search"].dgwt-wcas-search-input::-webkit-input-placeholder,
    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input::-moz-placeholder,
    input[type="search"].dgwt-wcas-search-input::-moz-placeholder {
        color: #78889b !important;
        opacity: 1 !important;
        font-size: 12.5px !important;
        font-weight: 400 !important;
        font-family: var(--dfs-font-ui), "Plus Jakarta Sans", sans-serif !important;
        letter-spacing: -0.01em !important;
    }

    /* Botón de lupa posicionado a la izquierda */
    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit,
    .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
        position: absolute !important;
        left: 11px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 18px !important;
        height: 18px !important;
        min-height: 18px !important;
        min-width: 18px !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        z-index: 2 !important;
        pointer-events: auto !important;
    }

    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-ico-magnifier,
    .dgwt-wcas-ico-magnifier {
        width: 15px !important;
        height: 15px !important;
        max-width: 15px !important;
        max-height: 15px !important;
    }

    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-ico-magnifier path,
    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit svg path,
    .dgwt-wcas-ico-magnifier path {
        fill: #081C57 !important; /* Azul principal de la marca */
        transition: fill 0.2s ease !important;
    }

    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:hover .dgwt-wcas-ico-magnifier path {
        fill: #081C57 !important;
    }

    /* Iconos adicionales FiboSearch (Preloader, Limpiar texto) */
    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-preloader,
    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-voice-search,
    .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-close {
        right: 11px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }

    .dgwt-wcas-search-wrapp .dgwt-wcas-close path {
        fill: #8a99ad !important;
    }

    /* =========================================================
       FIBOSEARCH: TARJETAS DE SUGERENCIAS BLANCAS
       ========================================================= */
    .dgwt-wcas-suggestions-wrapp,
    .dgwt-wcas-details-wrapp {
        background-color: #FFFFFF !important;
        background: #FFFFFF !important;
        border: 2px solid #081C57 !important;
        border-radius: 16px !important;
        box-shadow: 0 12px 30px rgba(8, 28, 87, 0.16) !important;
        overflow: hidden !important;
    }

    .dgwt-wcas-suggestion {
        background-color: #FFFFFF !important;
        background: #FFFFFF !important;
        border-bottom: 1px solid rgba(8, 28, 87, 0.08) !important;
    }

    .dgwt-wcas-suggestion:hover,
    .dgwt-wcas-suggestion.dgwt-wcas-suggestion-selected {
        background-color: rgba(8, 28, 87, 0.06) !important;
    }

    .dgwt-wcas-suggestions-wrapp *,
    .dgwt-wcas-details-wrapp *,
    .dgwt-wcas-sd,
    .dgwt-wcas-suggestion * {
        color: #081C57 !important;
    }

    .dgwt-wcas-st strong,
    .dgwt-wcas-sd strong,
    .dgwt-wcas-st-title,
    .dgwt-wcas-datails-title {
        color: #081C57 !important;
        font-weight: 700 !important;
    }

    .dgwt-wcas-details-more-products {
        background: #FFFFFF !important;
        background-color: #FFFFFF !important;
        color: #081C57 !important;
        border-top: 1px solid rgba(8, 28, 87, 0.08) !important;
        font-weight: 700 !important;
    }

    /* =========================================================
       FIBOSEARCH: OVERLAY MÓVIL FULLSCREEN CON NOTCH / PWA SAFE AREA
       ========================================================= */
    .dgwt-wcas-overlay-mobile {
        position: fixed !important;
        top: var(--dfs-search-visual-top, 0px) !important;
        left: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100vh !important;
        height: var(--dfs-search-visual-height, 100dvh) !important;
        background: #FAF5EC !important;
        background-color: #FAF5EC !important;
        padding-top: env(safe-area-inset-top, 0px) !important;
        box-sizing: border-box !important;
        z-index: 9999999 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* Soporte explícito para Notch y Standalone PWA */
    html.is-pwa-standalone .dgwt-wcas-overlay-mobile,
    body.is-pwa-standalone .dgwt-wcas-overlay-mobile {
        padding-top: max(env(safe-area-inset-top, 0px), 44px) !important;
    }

    @media (display-mode: standalone) {
        .dgwt-wcas-overlay-mobile {
            padding-top: max(env(safe-area-inset-top, 0px), 44px) !important;
        }
    }

    /* Barra superior del overlay móvil (evita el notch y asegura clicabilidad) */
    .dgwt-wcas-om-bar {
        background: #FAF5EC !important;
        background-color: #FAF5EC !important;
        padding: 8px 12px !important;
        height: auto !important;
        min-height: 52px !important;
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        border-bottom: 1.5px solid rgba(8, 28, 87, 0.12) !important;
        box-sizing: border-box !important;
        flex-shrink: 0 !important;
    }

    /* Botón flecha regresar (<--) en overlay móvil */
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:active,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:focus,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:hover {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        border-radius: 50% !important;
        background: rgba(8, 28, 87, 0.06) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: none !important;
        box-shadow: none !important;
        cursor: pointer !important;
        padding: 0 !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
    }

    .dgwt-wcas-om-bar .dgwt-wcas-om-return svg {
        position: static !important;
        width: 20px !important;
        height: 20px !important;
    }

    .dgwt-wcas-om-bar button.dgwt-wcas-om-return svg path,
    .dgwt-wcas-om-bar .dgwt-wcas-om-return svg path {
        fill: #081C57 !important;
    }

    /* Contenedor del buscador en overlay */
    .dgwt-wcas-om-bar .dgwt-wcas-search-wrapp-mobile {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .dgwt-wcas-om-bar .dgwt-wcas-search-wrapp-mobile .dgwt-wcas-sf-wrapp {
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input {
        width: 100% !important;
        max-width: 100% !important;
        height: 38px !important;
        line-height: 38px !important;
        border-radius: 999px !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        border: 1.2px solid #081C57 !important;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
        padding-left: 36px !important;
        padding-right: 32px !important;
        font-size: 16px !important; /* Mínimo 16px obligatorio en iOS para anular auto-zoom */
        color: #081C57 !important;
        font-family: var(--dfs-font-ui), "Plus Jakarta Sans", sans-serif !important;
        outline: none !important;
        box-sizing: border-box !important;
        -webkit-appearance: none !important;
    }

    .dgwt-wcas-search-wrapp-mobile button.dgwt-wcas-search-submit {
        left: 10px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }

    .dgwt-wcas-search-wrapp-mobile button.dgwt-wcas-search-submit svg path {
        fill: #081C57 !important;
    }

    .dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input::placeholder,
    .dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input::-webkit-input-placeholder {
        color: #78889b !important;
        font-size: 12.5px !important;
        font-weight: 400 !important;
        letter-spacing: -0.01em !important;
    }

    /* Sugerencias en overlay móvil: ocupan el resto de la pantalla con fondo Crema */
    .dgwt-wcas-overlay-mobile-on .dgwt-wcas-suggestions-wrapp {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        flex: 1 !important;
        height: auto !important;
        max-height: 100% !important;
        background: #FAF5EC !important;
        background-color: #FAF5EC !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* Fila 2: Barra compacta de envío dinámico con enlace */
    .dfs-mobile-shipping-bar {
        display: inline-flex !important;
        align-items: center !important;
        gap: 5px !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        color: #FAF5EC !important;
        padding: 1px 4px !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        text-decoration: none !important;
        cursor: pointer !important;
        width: fit-content !important;
        max-width: 100% !important;
        border-radius: 6px !important;
        max-height: 28px !important;
        opacity: 1 !important;
        transform: translateY(0) scaleY(1) !important;
        transform-origin: top center !important;
        transition: max-height 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                    opacity 0.2s ease,
                    transform 0.22s ease,
                    margin 0.24s ease,
                    padding 0.24s ease !important;
        overflow: hidden !important;
    }

    /* Al bajar por el contenido: la barra de envío se pliega y oculta suavemente (Estilo Mercado Libre) */
    .dfs-vintage-header.dfs-header-compact .dfs-mobile-shipping-bar {
        max-height: 0 !important;
        opacity: 0 !important;
        transform: translateY(-8px) scaleY(0.7) !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        pointer-events: none !important;
    }

    .dfs-mobile-shipping-bar:hover,
    .dfs-mobile-shipping-bar:active {
        opacity: 0.9 !important;
        background: rgba(250, 245, 236, 0.08) !important;
    }

    .dfs-mobile-shipping-bar .dfs-marker-icon,
    .dfs-mobile-shipping-bar i {
        color: #EAA22E !important;
        font-size: 13px !important;
        flex-shrink: 0 !important;
    }

    .dfs-mobile-shipping-text {
        color: #FAF5EC !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .dfs-mobile-shipping-bar .dfs-shipping-arrow {
        color: #FAF5EC !important;
        opacity: 0.75 !important;
        display: inline-flex !important;
        align-items: center !important;
        margin-left: 2px !important;
        flex-shrink: 0 !important;
        transition: transform 0.15s ease, opacity 0.15s ease !important;
    }

    .dfs-mobile-shipping-bar .dfs-shipping-arrow svg {
        display: block !important;
    }

    .dfs-mobile-shipping-bar:hover .dfs-shipping-arrow,
    .dfs-mobile-shipping-bar:active .dfs-shipping-arrow {
        opacity: 1 !important;
        transform: translateX(2px) !important;
    }

    /* Ocultar cinta de categorías para ahorrar espacio de pantalla */
    .dfs-mobile-cat-tabs-wrap {
        display: none !important;
    }
}

/* =========================================================
   2. VISIBILIDAD RESPONSIVA Y COMPENSACIÓN MÓVIL
   ========================================================= */


@media (max-width: 920px) {
    /* Compensación en el cuerpo de la página para que la cápsula flotante no tape contenido */
    body {
        padding-bottom: 0 !important;
    }

    /* Reposicionamiento de WhatsApp y botones flotantes para que floten encima de la cápsula */
    .joinchat,
    .wa__popup_chat_box,
    .wa__btn_popup,
    .ma-whatsapp-launch,
    [class*="whatsapp"],
    .ct-back-to-top,
    .qlwapp-toggle {
        bottom: calc(115px + env(safe-area-inset-bottom, 0px)) !important;
        transition: bottom 0.2s ease !important;
        z-index: 99980 !important;
    }

    /* =========================================================
       2. CÁPSULA FLOTANTE REDONDEADA DOCK
       ========================================================= */
    .dfs-floating-dock-wrapper {
        position: fixed !important;
        bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        z-index: 99990 !important;
        pointer-events: none !important;
        padding: 0 14px !important;
        box-sizing: border-box !important;
        transform: translate3d(0, 0, 0) !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
        will-change: transform, opacity !important;
        backface-visibility: hidden !important;
        -webkit-backface-visibility: hidden !important;
        transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), transform 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    /* Ocultar suavemente cuando el usuario hace zoom con los dedos para no tapar contenido */
    .dfs-floating-dock-wrapper.is-zoomed-hidden {
        opacity: 0 !important;
        transform: translateY(40px) translate3d(0, 0, 0) !important;
        -webkit-transform: translateY(40px) translate3d(0, 0, 0) !important;
        pointer-events: none !important;
    }

    .dfs-dock-bar {
        pointer-events: auto !important;
        position: relative !important;
        width: 100% !important;
        max-width: 336px !important;
        height: 52px !important;
        background: #ffffff !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        border-radius: 15px !important;
        box-shadow: 0 10px 30px rgba(5, 36, 100, 0.16), 0 2px 8px rgba(5, 36, 100, 0.08) !important;
        border: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-around !important;
        padding: 0 6px !important;
        box-sizing: border-box !important;
        user-select: none !important;
        -webkit-tap-highlight-color: transparent !important;
        font-family: var(--dfs-font-ui) !important;
    }

    .dfs-bottom-item {
        flex: 1 !important;
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        background: transparent !important;
        border: none !important;
        padding: 2px 0 !important;
        color: var(--dfs-ink-navy) !important;
        font-family: inherit !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        letter-spacing: 0.1px !important;
        transition: color 0.18s ease, transform 0.15s ease !important;
        cursor: pointer !important;
        position: relative !important;
        box-sizing: border-box !important;
    }

    .dfs-bottom-item:active {
        transform: scale(0.93) !important;
    }

    .dfs-item-inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
    }

    /* =========================================================
       3. BOTÓN CENTRAL DE INICIO (Mascota Medusaa Centrada)
       ========================================================= */
    .dfs-home-icon {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .dfs-mascot-svg-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 21px !important;
        height: 21px !important;
        color: #052464 !important;
        transition: color 0.18s ease, transform 0.15s ease !important;
    }

    .dfs-mascot-svg-wrap svg {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
    }

    .dfs-mascot-svg-wrap path {
        stroke: currentColor !important;
        stroke-width: 14px !important;
        stroke-linejoin: round !important;
        stroke-linecap: round !important;
    }

    .dfs-bottom-item.is-active .dfs-mascot-svg-wrap path {
        stroke-width: 14px !important;
    }

    .dfs-bottom-item.is-active .dfs-mascot-svg-wrap,
    .dfs-bottom-item.is-active .dfs-icon-solid .dfs-mascot-svg-wrap,
    .dfs-bottom-item:hover .dfs-mascot-svg-wrap {
        color: var(--theme-palette-color-1, #EC1C24) !important;
        transform: scale(1.08) !important;
    }

    .dfs-mascot-img {
        width: 21px !important;
        height: 21px !important;
        object-fit: contain !important;
        display: block !important;
        transition: transform 0.15s ease !important;
    }

    .dfs-bottom-item.is-active .dfs-mascot-img,
    .dfs-bottom-item:hover .dfs-mascot-img {
        transform: scale(1.08) !important;
    }

    /* =========================================================
       4. ICONOS FLATICON (SIN RECTÁNGULOS NI FONDOS)
       ========================================================= */
    .dfs-bottom-icon {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 1px !important;
        width: 32px !important;
        height: 22px !important;
        background: transparent !important; /* Totalmente transparente, sin rectángulos */
        border: none !important;
        box-shadow: none !important;
        transition: transform 0.15s ease !important;
    }

    /* Icono Lineal (Visible en reposo) */
    .dfs-icon-line {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        transition: opacity 0.18s ease !important;
    }

    .dfs-icon-line i {
        font-size: 18px !important;
        line-height: 1 !important;
        color: #052464 !important;
        transition: color 0.18s ease !important;
    }

    /* Icono Relleno (Visible al estar activo) */
    .dfs-icon-solid {
        display: none !important;
        align-items: center !important;
        justify-content: center !important;
        transition: opacity 0.18s ease !important;
    }

    .dfs-icon-solid i {
        font-size: 18px !important;
        line-height: 1 !important;
        color: var(--theme-palette-color-1, #EC1C24) !important;
    }

    /* PESTAÑA ACTIVA: SIN FONDO NI RECTÁNGULO */
    .dfs-bottom-item.is-active .dfs-bottom-icon {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
        border: none !important;
    }

    /* Cambio de lineal a sólido en estado activo */
    .dfs-bottom-item.is-active .dfs-icon-line {
        display: none !important;
    }

    .dfs-bottom-item.is-active .dfs-icon-solid {
        display: flex !important;
        transform: scale(1.06) !important;
    }

    .dfs-bottom-item.is-active {
        color: var(--theme-palette-color-1, #EC1C24) !important;
        font-weight: 700 !important;
    }

    .dfs-bottom-label {
        font-size: 9px !important;
        line-height: 1.1 !important;
    }

    /* Badge dinámico de carrito */
    .dfs-cart-badge {
        position: absolute !important;
        top: -4px !important;
        right: -6px !important;
        background-color: var(--theme-palette-color-1, #EC1C24) !important;
        color: #ffffff !important;
        font-size: 9px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        padding: 2px 5px !important;
        border-radius: 10px !important;
        border: 2px solid #ffffff !important;
        display: none;
        min-width: 14px !important;
        text-align: center !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2) !important;
    }

    .dfs-cart-badge.has-items,
    .dfs-cart-badge:not(:empty):not(:contains("0")) {
        display: inline-block !important;
    }

    /* =========================================================
       5. DRAWER DE CATEGORÍAS (Apertura Derecha a Izquierda <---)
          ESTÉTICA VINTAGE 1930s (BOTICA RETRO & CÓMIC)
       ========================================================= */
    .dfs-drawer-overlay {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(18, 30, 54, 0.6) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
        z-index: 99998 !important;
    }

    .dfs-drawer-overlay.is-open {
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .dfs-drawer.dfs-drawer-left,
    .dfs-drawer.dfs-drawer-right {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        width: min(340px, 86vw) !important;
        height: 100% !important;
        background: var(--dfs-bg-cream) !important;
        z-index: 99999 !important;
        display: flex !important;
        flex-direction: column !important;
        transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1) !important;
        overflow: hidden !important;
        font-family: var(--dfs-font-ui) !important;
    }

    .dfs-drawer.dfs-drawer-left {
        left: 0 !important;
        right: auto !important;
        transform: translateX(-100%) !important;
        box-shadow: none !important;
        visibility: hidden !important;
        border-right: 2px solid var(--dfs-ink-navy) !important;
        border-left: none !important;
        visibility: hidden !important;
    }

    .dfs-drawer.dfs-drawer-left.is-open {
        transform: translateX(0) !important;
        visibility: visible !important;
        box-shadow: none !important;
    }
    .dfs-drawer.dfs-drawer-left.is-open { visibility: visible !important; box-shadow: none !important; }

    .dfs-drawer.dfs-drawer-right {
        right: 0 !important;
        left: auto !important;
        transform: translateX(100%) !important;
        box-shadow: none !important;
        border-left: 2px solid var(--dfs-ink-navy) !important;
        border-right: none !important;
        visibility: hidden !important;
    }

    .dfs-drawer.dfs-drawer-right.is-open {
        transform: translateX(0) !important;
        visibility: visible !important;
        box-shadow: none !important;
    }

    /* Cabecera del Drawer con Slate Navy #223553 y Logotipo */
    .dfs-drawer-header {
        background: #223553 !important;
        color: var(--dfs-bg-cream) !important;
        padding: calc(14px + env(safe-area-inset-top, 0px)) 16px 14px 16px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border-bottom: 2px solid #182840 !important;
    }

    .dfs-drawer-brand {
        display: flex !important;
        align-items: center !important;
        flex: 1 !important;
    }

    .dfs-drawer-logo-link {
        display: inline-flex !important;
        align-items: center !important;
        text-decoration: none !important;
    }

    .dfs-drawer-logo-img {
        height: 38px !important;
        max-height: 42px !important;
        width: auto !important;
        max-width: 220px !important;
        object-fit: contain !important;
        display: block !important;
    }

    /* Botón de Cierre Circular Estilo Botón Retro */
    .dfs-close-btn {
        background: var(--dfs-mustard-yellow) !important;
        border: 2px solid var(--dfs-bg-cream) !important;
        color: var(--dfs-ink-navy) !important;
        width: 34px !important;
        height: 34px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.4) !important;
        transition: transform 0.15s ease, background 0.15s ease !important;
    }

    .dfs-close-btn:hover {
        background: #f7b744 !important;
        transform: scale(1.05) !important;
    }

    .dfs-close-btn:active {
        transform: translate(1px, 1px) !important;
        box-shadow: 0px 0px 0px transparent !important;
    }

    .dfs-drawer-body {
        flex: 1 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 16px 16px calc(110px + env(safe-area-inset-bottom, 0px)) 16px !important;
        background: var(--dfs-bg-cream) !important;
    }

    /* =========================================================
       5.1 TARJETA DE PERFIL / CUENTA DE USUARIO EN CABECERA
       ========================================================= */
    .dfs-drawer-account-section {
        margin-bottom: 18px !important;
    }

    .dfs-account-card {
        display: flex !important;
        align-items: center !important;
        background: var(--dfs-bg-cream-alt) !important;
        border: var(--dfs-border-ink) !important;
        box-shadow: var(--dfs-shadow-block-sm) !important;
        border-radius: 14px !important;
        padding: 10px 12px !important;
        gap: 12px !important;
        box-sizing: border-box !important;
    }

    .dfs-account-avatar {
        width: 44px !important;
        height: 44px !important;
        border-radius: 50% !important;
        overflow: hidden !important;
        background: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
        border: 2px solid var(--dfs-ink-navy) !important;
        box-shadow: 1.5px 1.5px 0px var(--dfs-ink-navy) !important;
    }

    .dfs-avatar-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    .guest-avatar {
        background: var(--dfs-bg-washed-navy) !important;
        color: var(--dfs-ink-navy) !important;
        font-size: 19px !important;
    }

    .dfs-account-meta {
        flex: 1 !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .dfs-account-name {
        font-family: var(--dfs-font-ui) !important;
        font-weight: 700 !important;
        font-size: 14.5px !important;
        color: var(--dfs-ink-navy) !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        line-height: 1.2 !important;
        letter-spacing: 0.1px !important;
    }

    .dfs-account-email,
    .dfs-account-sub {
        font-size: 11px !important;
        color: #5c6b84 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        margin-top: 2px !important;
        font-weight: 500 !important;
    }

    .dfs-account-action-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        padding: 6px 12px !important;
        background: var(--dfs-mustard-yellow) !important;
        color: var(--dfs-ink-navy) !important;
        border-radius: 10px !important;
        text-decoration: none !important;
        font-family: var(--dfs-font-ui) !important;
        font-size: 11px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        border: 2px solid var(--dfs-ink-navy) !important;
        box-shadow: 2px 2px 0px var(--dfs-ink-navy) !important;
        transition: transform 0.12s ease, box-shadow 0.12s ease !important;
    }

    .dfs-account-action-btn:active {
        transform: translate(1.5px, 1.5px) !important;
        box-shadow: 0px 0px 0px var(--dfs-ink-navy) !important;
    }

    .dfs-account-action-btn.guest-btn {
        background: var(--dfs-scarlet-red) !important;
        color: #ffffff !important;
    }

    /* Títulos de Sección Limpios (Sin líneas punteadas ni doble borde) */
    .dfs-section-title {
        font-family: var(--dfs-font-ui) !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        color: #63728a !important;
        letter-spacing: 1.2px !important;
        text-transform: uppercase !important;
        margin: 0 0 10px 4px !important;
        padding: 0 !important;
        border: none !important;
        display: flex !important;
        align-items: center !important;
        gap: 6px !important;
    }

    /* Separador: Una sola línea sólida arriba de cada bloque (Departamentos no lleva) */
    .dfs-drawer-section + .dfs-drawer-section {
        border-top: 1.5px solid rgba(18, 30, 54, 0.12) !important;
        margin-top: 16px !important;
        padding-top: 16px !important;
    }

    .dfs-section-divider {
        display: none !important;
    }

    .dfs-category-item {
        display: flex !important;
        align-items: center !important;
        padding: 9px 12px !important;
        margin-bottom: 4px !important;
        border-radius: 10px !important;
        text-decoration: none !important;
        color: var(--dfs-ink-navy) !important;
        font-family: var(--dfs-font-ui) !important;
        font-size: 13px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.3px !important;
        font-weight: 600 !important;
        transition: all 0.15s ease !important;
        border: 1.5px solid transparent !important;
    }

    .dfs-category-item:hover,
    .dfs-category-item:active {
        background: var(--dfs-bg-cream-alt) !important;
        border-color: var(--dfs-ink-navy) !important;
        box-shadow: 2px 2px 0px var(--dfs-ink-navy) !important;
        transform: translateX(3px) !important;
    }

    .dfs-cat-icon {
        font-size: 17px !important;
        margin-right: 12px !important;
        width: 24px !important;
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
        color: var(--dfs-ink-navy) !important;
    }

    .dfs-cat-text {
        flex: 1 !important;
    }

    .dfs-menu-item-icon {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 24px !important;
        height: 24px !important;
        margin-right: 12px !important;
        color: var(--dfs-ink-navy) !important;
        flex-shrink: 0 !important;
        line-height: 1 !important;
        transition: color 0.15s ease, transform 0.15s ease !important;
    }

    .dfs-item-row:hover .dfs-menu-item-icon,
    .dfs-has-children.is-open > .dfs-item-row .dfs-menu-item-icon {
        color: #133386 !important;
        transform: scale(1.1) !important;
    }

    .dfs-perfume-svg {
        display: block !important;
        width: 22px !important;
        height: 22px !important;
        stroke: currentColor !important;
        fill: none !important;
    }

    /* 6.1 BLOQUE DE AYUDA Y POLÍTICAS (Estilo Ticket de Botica) */
    .dfs-help-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 3px !important;
        padding: 4px 6px !important;
    }

    .dfs-help-item {
        display: block !important;
        padding: 7px 10px !important;
        text-decoration: none !important;
        color: #435168 !important;
        font-size: 12.5px !important;
        font-weight: 600 !important;
        border-radius: 8px !important;
        transition: all 0.15s ease !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .dfs-help-item:hover,
    .dfs-help-item:active {
        background: rgba(19, 51, 134, 0.08) !important;
        color: #133386 !important;
        transform: translateX(4px) !important;
    }

    /* 6. MENÚ DE DEPARTAMENTOS: ACORDEÓN MULTINIVEL VINTAGE */
    .dfs-wp-menu-list {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .dfs-wp-menu-list .dfs-nav-item {
        list-style: none !important;
        margin-bottom: 4px !important;
    }

    .dfs-item-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 3px 6px !important;
        border-radius: 10px !important;
        transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
        border: 1.5px solid transparent !important;
        box-sizing: border-box !important;
        width: auto !important;
        margin-right: 8px !important;
        overflow: visible !important;
    }

    .dfs-item-row:hover,
    .dfs-item-row:active,
    .dfs-item-row.is-active {
        background: var(--dfs-bg-cream-alt, #F5EEDB) !important;
        border-color: var(--dfs-ink-navy, #081C57) !important;
        box-shadow: 2px 2px 0px var(--dfs-ink-navy, #081C57) !important;
        transform: none !important;
    }

    .dfs-item-row.is-active > .dfs-item-link,
    .dfs-item-row.is-active > .dfs-submenu-toggle {
        color: #133386 !important;
        font-weight: 700 !important;
    }

    .dfs-item-link {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        padding: 9px 8px !important;
        text-decoration: none !important;
        color: var(--dfs-ink-navy) !important;
        font-family: var(--dfs-font-ui) !important;
        font-size: 13px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.3px !important;
        font-weight: 600 !important;
        transition: color 0.15s ease !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .dfs-item-link:active {
        color: #133386 !important;
    }

    /* Botón flecha para desplegar submenús con estética de botón retro */
    .dfs-submenu-toggle {
        background: transparent !important;
        border: none !important;
        width: 36px !important;
        height: 36px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        color: var(--dfs-ink-navy) !important;
        border-radius: 8px !important;
        transition: transform 0.2s ease, color 0.15s ease !important;
        -webkit-tap-highlight-color: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
    }

    .dfs-submenu-toggle:active {
        color: #133386 !important;
    }

    .dfs-chevron {
        transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
        font-size: 14px !important;
    }

    /* Flecha cuando está abierto */
    .dfs-has-children.is-open > .dfs-item-row > .dfs-submenu-toggle .dfs-chevron {
        transform: rotate(180deg) !important;
    }

    .dfs-has-children.is-open > .dfs-item-row > .dfs-item-link {
        color: #133386 !important;
    }

    .dfs-has-children.is-open > .dfs-item-row > .dfs-submenu-toggle {
        color: #133386 !important;
    }

    /* Submenús en acordeón con borde de pluma vintage */
    .dfs-wp-menu-list .sub-menu {
        list-style: none !important;
        margin: 4px 0 6px 14px !important;
        padding: 2px 0 2px 8px !important;
        border-left: 2px solid var(--dfs-ink-navy, #081C57) !important;
        max-height: 0 !important;
        opacity: 0 !important;
        overflow: hidden !important;
        transition: max-height 0.32s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.22s ease !important;
        box-sizing: border-box !important;
    }

    .dfs-has-children.is-open > .sub-menu {
        max-height: 2500px !important;
        opacity: 1 !important;
        margin-top: 4px !important;
        margin-bottom: 6px !important;
        padding-top: 2px !important;
    }

    /* Niveles de submenú (Nivel 2) */
    .dfs-sub-level-1 > li > .dfs-item-row > .dfs-item-link {
        font-size: 12.5px !important;
        font-family: var(--dfs-font-ui) !important;
        font-weight: 700 !important;
        color: #2b3952 !important;
        padding: 7px 12px !important;
    }

    /* Niveles de submenú (Nivel 3) */
    .dfs-sub-level-2 {
        border-left: 2px dashed rgba(18, 30, 54, 0.3) !important;
        margin-left: 14px !important;
    }

    .dfs-sub-level-2 > li > .dfs-item-row > .dfs-item-link {
        font-size: 11.5px !important;
        font-family: var(--dfs-font-ui) !important;
        font-weight: 500 !important;
        color: #4b586e !important;
        padding: 6px 12px !important;
    }

    /* Enlace de Cerrar Sesión en pie de ventana desplegable */
    .dfs-drawer-logout-wrap {
        margin-top: 24px !important;
        padding: 16px 4px 10px 4px !important;
        border-top: 1.5px solid rgba(18, 30, 54, 0.12) !important;
        display: flex !important;
        align-items: center !important;
    }

    .dfs-drawer-logout-link {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        font-family: var(--dfs-font-ui) !important;
        font-size: 13.5px !important;
        font-weight: 700 !important;
        color: #d32f2f !important;
        text-decoration: none !important;
        background: rgba(211, 47, 47, 0.06) !important;
        border: 1.5px solid rgba(211, 47, 47, 0.2) !important;
        padding: 8px 14px !important;
        border-radius: 10px !important;
        transition: all 0.18s ease !important;
        cursor: pointer !important;
    }

    .dfs-drawer-logout-link i {
        font-size: 15px !important;
        display: inline-flex !important;
        color: #d32f2f !important;
    }

    .dfs-drawer-logout-link:hover,
    .dfs-drawer-logout-link:active {
        background: rgba(211, 47, 47, 0.12) !important;
        color: #b71c1c !important;
        border-color: rgba(211, 47, 47, 0.35) !important;
        transform: translateY(-1px) !important;
    }
}

/* =========================================================
   7. PULL TO REFRESH NATIVO (PWA Y DISPOSITIVOS MÓVILES)
   ========================================================= */
.dfs-ptr-container {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    z-index: 999999 !important;
    pointer-events: none !important;
    transform: translateY(-110px) translate3d(0, 0, 0);
    -webkit-transform: translateY(-110px) translate3d(0, 0, 0);
    will-change: transform, opacity;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.22s ease;
    opacity: 0;
}

.dfs-ptr-container.is-visible {
    opacity: 1 !important;
}

.dfs-ptr-container.is-pulling {
    transition: none !important;
}

.dfs-ptr-container.is-refreshing {
    opacity: 1 !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
    transform: translateY(calc(30px + env(safe-area-inset-top, 0px))) translate3d(0, 0, 0) !important;
    -webkit-transform: translateY(calc(30px + env(safe-area-inset-top, 0px))) translate3d(0, 0, 0) !important;
}

/* Velo / Cortina con arco en U y degradado translúcido hacia el sitio */
.dfs-ptr-curtain {
    position: absolute !important;
    top: -180px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 340px !important;
    pointer-events: none !important;
    z-index: 1 !important;
    will-change: transform, opacity;
    opacity: 0;
    transform: scaleY(0.7) translate3d(0, 0, 0);
    -webkit-transform: scaleY(0.7) translate3d(0, 0, 0);
    transform-origin: top center !important;
    transition: opacity 0.24s ease, transform 0.24s ease !important;
}

.dfs-ptr-arc-svg {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    filter: drop-shadow(0 10px 24px rgba(8, 28, 87, 0.32)) !important;
}

.dfs-ptr-container.is-visible .dfs-ptr-curtain,
.dfs-ptr-container.is-pulling .dfs-ptr-curtain {
    opacity: 1 !important;
    transform: scaleY(1) translate3d(0, 0, 0) !important;
    -webkit-transform: scaleY(1) translate3d(0, 0, 0) !important;
}

.dfs-ptr-container.is-refreshing .dfs-ptr-curtain {
    opacity: 1 !important;
    transform: scaleY(1.06) translate3d(0, 0, 0) !important;
    -webkit-transform: scaleY(1.06) translate3d(0, 0, 0) !important;
    animation: dfs-ptr-curtain-breathe 1.4s ease-in-out infinite alternate !important;
}

@keyframes dfs-ptr-curtain-breathe {
    0% {
        opacity: 0.88;
        transform: scaleY(1) translate3d(0, 0, 0);
    }
    100% {
        opacity: 1;
        transform: scaleY(1.08) translate3d(0, 0, 0);
    }
}

/* Píldora de estado con diseño premium */
.dfs-ptr-pill {
    position: relative !important;
    z-index: 2 !important;
    margin-top: 14px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    background: rgba(250, 245, 236, 0.96) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1.5px solid rgba(19, 51, 134, 0.22) !important;
    border-radius: 999px !important;
    padding: 8px 18px !important;
    box-shadow: 0 10px 28px rgba(8, 28, 87, 0.26), 0 2px 6px rgba(0, 0, 0, 0.05) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #081C57 !important;
    user-select: none !important;
    transition: transform 0.22s cubic-bezier(0.175, 0.885, 0.32, 1.275), border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

.dfs-ptr-container.is-threshold-ready .dfs-ptr-pill {
    transform: scale(1.06) !important;
    border-color: #133386 !important;
    background: #FAF5EC !important;
    box-shadow: 0 14px 34px rgba(19, 51, 134, 0.38), 0 0 18px rgba(19, 51, 134, 0.18) !important;
    color: #133386 !important;
}

.dfs-ptr-container.is-refreshing .dfs-ptr-pill {
    transform: scale(1.04) !important;
    border-color: #133386 !important;
    box-shadow: 0 14px 36px rgba(8, 28, 87, 0.32) !important;
}

.dfs-ptr-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    color: #133386 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    transition: transform 0.15s ease-out !important;
}

.dfs-ptr-container.is-threshold-ready .dfs-ptr-icon {
    transform: rotate(180deg) !important;
    color: #133386 !important;
}

.dfs-ptr-container.is-refreshing .dfs-ptr-icon {
    animation: dfs-ptr-spin 0.75s linear infinite !important;
    color: #081C57 !important;
}

@keyframes dfs-ptr-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* =========================================================
   8. ADAPTACIÓN PARA PWA / MODO APP INSTALADA (STANDALONE)
   En modo PWA/App, no existe barra de navegación del navegador
   y la barra inferior flotante se ajusta más abajo, pegándose
   sutilmente al margen seguro inferior (Home Indicator / Bezel).
   ========================================================= */
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui) {
    @media (max-width: 920px) {
        .dfs-vintage-header {
            position: sticky !important;
            top: 0 !important;
            padding: env(safe-area-inset-top, 0px) 0 0 !important;
            margin: 0 !important;
        }

        /* Margen superior natural para Notch / Dynamic Island en Cabecera (0px en Android, ~47px en iOS) */
        .dfs-header-mobile {
            padding-top: 4px !important;
        }

        /* Margen superior en Cabecera del Menú Lateral */
        .dfs-drawer-header {
            padding-top: calc(14px + env(safe-area-inset-top, 0px)) !important;
            background: #223553 !important;
        }

        .dfs-ptr-container.is-refreshing {
            transform: translateY(calc(30px + env(safe-area-inset-top, 0px))) translate3d(0, 0, 0) !important;
            -webkit-transform: translateY(calc(30px + env(safe-area-inset-top, 0px))) translate3d(0, 0, 0) !important;
        }

        body {
            padding-bottom: 0 !important;
        }

        .dfs-floating-dock-wrapper {
            bottom: 8px !important;
        }

        .joinchat,
        .wa__popup_chat_box,
        .wa__btn_popup,
        .ma-whatsapp-launch,
        [class*="whatsapp"],
        .ct-back-to-top,
        .qlwapp-toggle {
            bottom: 76px !important;
        }
    }
}

/* Soporte absoluto mediante clase JS .is-pwa-standalone (iOS Safari Home Screen & Android) */
html.is-pwa-standalone .dfs-vintage-header,
body.is-pwa-standalone .dfs-vintage-header {
    position: sticky !important;
    top: 0 !important;
    padding: env(safe-area-inset-top, 0px) 0 0 !important;
    margin: 0 !important;
}

/* Controles redondos del overlay móvil: volver, recargar y cerrar */
@media (max-width: 920px) {
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:active,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:focus,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:hover {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 2px solid var(--dfs-bg-cream) !important;
        border-radius: 50% !important;
        background: var(--dfs-mustard-yellow) !important;
        color: var(--dfs-ink-navy) !important;
        box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.4) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
        transition: transform 0.15s ease, background-color 0.15s ease, color 0.15s ease !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .dgwt-wcas-om-bar .dgwt-wcas-om-return .fi-rr-angle-small-right {
        display: block !important;
        font-size: 19px !important;
        line-height: 1 !important;
        color: var(--dfs-ink-navy) !important;
        transform: rotate(180deg);
    }

    .dfs-reload-btn:hover,
    .dfs-close-btn:hover,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:hover {
        background: #0547E0 !important;
        color: #FFFFFF !important;
        transform: scale(1.05) !important;
    }

    .dfs-reload-btn:active,
    .dfs-close-btn:active,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:active {
        background: #0547E0 !important;
        color: #FFFFFF !important;
    }

    .dfs-reload-btn:hover i,
    .dfs-close-btn:hover i,
    .dgwt-wcas-om-bar .dgwt-wcas-om-return:hover .fi-rr-angle-small-right,
    .dfs-reload-btn:active i,
    .dfs-close-btn:active i,
    .dgwt-wcas-om-bar .dgwt-wcas-om-return:active .fi-rr-angle-small-right {
        color: #FFFFFF !important;
        -webkit-text-stroke-color: #FFFFFF !important;
    }
}

html.is-pwa-standalone .dfs-header-mobile,
body.is-pwa-standalone .dfs-header-mobile {
    padding-top: 4px !important;
}

html.is-pwa-standalone .dfs-drawer-header,
body.is-pwa-standalone .dfs-drawer-header {
    padding-top: calc(14px + env(safe-area-inset-top, 0px)) !important;
    background: #223553 !important;
}

html.is-pwa-standalone .dfs-ptr-container.is-refreshing,
body.is-pwa-standalone .dfs-ptr-container.is-refreshing {
    transform: translateY(calc(30px + env(safe-area-inset-top, 0px))) translate3d(0, 0, 0) !important;
    -webkit-transform: translateY(calc(30px + env(safe-area-inset-top, 0px))) translate3d(0, 0, 0) !important;
}

/* En PWA, elimina el pequeño margen que separaba la cabecera del borde
   superior al entrar directamente al carrito o al checkout. */
@media (max-width: 920px) {
    /* En navegador móvil también se elimina el hueco superior en carrito y
       checkout; el ajuste queda limitado a estas dos páginas. */
    body.woocommerce-cart #dfs-vintage-header,
    body.woocommerce-checkout #dfs-vintage-header {
        margin-top: -8px !important;
    }

    html.is-pwa-standalone body.woocommerce-cart #dfs-vintage-header,
    body.is-pwa-standalone.woocommerce-cart #dfs-vintage-header,
    html.is-pwa-standalone body.woocommerce-checkout #dfs-vintage-header,
    body.is-pwa-standalone.woocommerce-checkout #dfs-vintage-header {
        margin-top: 0 !important;
    }
}

html.is-pwa-standalone body,
body.is-pwa-standalone {
    padding-bottom: 0 !important;
}

html.is-pwa-standalone .dfs-floating-dock-wrapper,
body.is-pwa-standalone .dfs-floating-dock-wrapper {
    bottom: 8px !important;
}

html.is-pwa-standalone .joinchat,
html.is-pwa-standalone .wa__popup_chat_box,
html.is-pwa-standalone .wa__btn_popup,
html.is-pwa-standalone .ma-whatsapp-launch,
html.is-pwa-standalone [class*="whatsapp"],
html.is-pwa-standalone .ct-back-to-top,
html.is-pwa-standalone .qlwapp-toggle,
body.is-pwa-standalone .joinchat,
body.is-pwa-standalone .wa__popup_chat_box,
body.is-pwa-standalone .wa__btn_popup,
body.is-pwa-standalone .ma-whatsapp-launch,
body.is-pwa-standalone [class*="whatsapp"],
body.is-pwa-standalone .ct-back-to-top,
body.is-pwa-standalone .qlwapp-toggle {
    bottom: 76px !important;
}

/* =========================================================
   9. WOOCOMMERCE PRODUCT CARDS
   Layout y jerarquía en el tema hijo.
   Color, tipografía y radio de botones: personalizador de Blocksy.
   ========================================================= */
/* Acabado vintage compartido por los botones del sitio. Los colores siguen
   siendo los del personalizador de Blocksy; solo se añade el relieve lateral. */
/* =========================================================
   10. ARMONIZACIÓN DE CABECERA Y TIPOGRAFÍA EN DRAWER
   ========================================================= */
.dfs-drawer-banner-title {
    font-family: var(--dfs-font-display) !important;
    font-size: 17px !important;
    letter-spacing: 2px !important;
    text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.4) !important;
}

.dfs-drawer-section-title {
    font-family: var(--dfs-font-ui) !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    font-size: 11px !important;
}

.dfs-drawer-header-banner {
    background: #223553 !important;
    border-bottom: 2.5px solid #182840 !important;
}




/* =========================================================
   GLOBAL DRAWER DEFENSIVE RULES (PREVENT FOOTER BLEED ON DESKTOP)
   ========================================================= */
#dfs-category-drawer,
.dfs-drawer {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: min(340px, 86vw) !important;
    max-width: 360px !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 99999 !important;
    transform: translateX(-100%) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    box-shadow: none !important;
    overflow-y: auto !important;
    background: #FAF5EC !important;
}

#dfs-category-drawer.is-open,
.dfs-drawer.is-open {
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#dfs-category-drawer-overlay,
.dfs-drawer-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: rgba(18, 30, 54, 0.6) !important;
}

#dfs-category-drawer-overlay.is-open,
.dfs-drawer-overlay.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.dfs-drawer-logo-img {
    max-width: 140px !important;
    height: auto !important;
    display: block !important;
}

/* Acciones en la Cabecera del Drawer */
.dfs-drawer-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.dfs-reload-btn {
    background: var(--dfs-mustard-yellow) !important;
    border: 2px solid var(--dfs-bg-cream) !important;
    color: var(--dfs-ink-navy) !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 2px 2px 0px rgba(0, 0, 0, 0.4) !important;
    transition: transform 0.15s ease, background 0.15s ease !important;
    padding: 0 !important;
    outline: none !important;
    flex-shrink: 0 !important;
}

.dfs-reload-btn:hover {
    background: #f7b744 !important;
    transform: scale(1.05) !important;
}

.dfs-reload-btn:active {
    transform: translate(1px, 1px) !important;
    box-shadow: 0px 0px 0px transparent !important;
}

.dfs-reload-btn i {
    font-size: 15px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--dfs-ink-navy) !important;
    -webkit-text-stroke: 0.35px var(--dfs-ink-navy) !important;
    transition: transform 0.3s ease !important;
}

.dfs-reload-btn.is-spinning i {
    animation: dfs-icon-spin 0.7s linear infinite !important;
}

@keyframes dfs-icon-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Desactivar contenedor de Pull to Refresh */
.dfs-ptr-container {
    display: none !important;
}

/* =========================================================
   MODAL DE RECARGA ESTILO DUTY FREE / MEDUSAA VINTAGE
   ========================================================= */
.dfs-reload-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100005 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease, visibility 0.25s ease !important;
}

.dfs-reload-modal.is-active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.dfs-reload-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(8, 28, 87, 0.55) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.dfs-reload-modal-box {
    position: relative !important;
    z-index: 1 !important;
    background: #FAF5EC !important;
    border: 2px solid #081C57 !important;
    border-radius: 16px !important;
    padding: 26px 22px 20px 22px !important;
    text-align: center !important;
    max-width: 300px !important;
    width: 100% !important;
    box-shadow: 4px 4px 0px #081C57 !important;
    transform: scale(0.9) translateY(10px) !important;
    transition: transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

.dfs-reload-modal.is-active .dfs-reload-modal-box {
    transform: scale(1) translateY(0) !important;
}

.dfs-reload-spinner {
    width: 36px !important;
    height: 36px !important;
    border: 3.5px solid rgba(8, 28, 87, 0.18) !important;
    border-top-color: #081C57 !important;
    border-radius: 50% !important;
    animation: dfs-modal-spin 0.8s linear infinite !important;
    margin: 0 auto 14px auto !important;
}

@keyframes dfs-modal-spin {
    to { transform: rotate(360deg); }
}

.dfs-reload-title {
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #081C57 !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.3 !important;
}

.dfs-reload-desc {
    font-family: inherit !important;
    font-size: 13px !important;
    color: #4A5568 !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* Ajustes de iconos dinámicos para departamentos y subcategorías */
.dfs-menu-item-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    margin-right: 8px !important;
    color: var(--dfs-ink-navy, #081C57) !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

.dfs-menu-item-icon i {
    font-size: 16px !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.dfs-icon-subcat i {
    font-size: 15px !important;
}

.dfs-icon-top i {
    color: var(--theme-palette-color-2, #081c57) !important;
}

/* =========================================================
   PIRÁMIDE OLFATIVA — Ficha de Producto WooCommerce
   Bloque inyectado bajo descripción corta (hook prio 25)
   ========================================================= */
.dfs-piramide-olfativa {
    margin: 20px 0 24px;
    padding: 20px 18px 18px;
    background: #f3eee5;
    border: 1px solid rgba(32, 52, 82, 0.12);
    border-radius: 18px;
    box-shadow: 0 4px 20px rgba(32, 52, 82, 0.08);
    font-family: inherit;
}

/* Header: icono + título + badge familia */
.dfs-piramide-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.dfs-piramide-icon-decor {
    font-size: 20px;
    line-height: 1;
    flex-shrink: 0;
}

.dfs-piramide-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #081C57 !important;
    margin: 0 !important;
    padding: 0 !important;
    letter-spacing: 0.3px;
    text-transform: none !important;
    border: none !important;
    flex-shrink: 0;
}

.dfs-familia-badge {
    display: inline-block;
    padding: 3px 10px;
    background: rgba(32, 52, 82, 0.1);
    border: 1px solid rgba(32, 52, 82, 0.18);
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    color: #203452;
    letter-spacing: 0.2px;
    white-space: nowrap;
}

/* Grid de 3 tarjetas (1 col mobile, 3 col desktop) */
.dfs-notas-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

@media (min-width: 600px) {
    .dfs-notas-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }
}

/* Tarjeta de nota */
.dfs-nota-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 13px;
    border: 1px solid transparent;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.dfs-nota-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}

/* Salida — tonos cítricos/dorados */
.dfs-nota-salida {
    background: linear-gradient(135deg, #fffbea 0%, #fef3c7 100%);
    border-color: rgba(251, 191, 36, 0.3);
}

/* Corazón — tonos rosados/florales */
.dfs-nota-corazon {
    background: linear-gradient(135deg, #fff0f6 0%, #fce7f3 100%);
    border-color: rgba(236, 72, 153, 0.2);
}

/* Fondo — tonos amaderados/tierra */
.dfs-nota-fondo {
    background: linear-gradient(135deg, #fdf8f1 0%, #fdebd0 100%);
    border-color: rgba(180, 83, 9, 0.2);
}

/* Emoji grande */
.dfs-nota-emoji {
    font-size: 26px;
    line-height: 1;
    flex-shrink: 0;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.12));
}

/* Info: label + descripción */
.dfs-nota-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.dfs-nota-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #6b7280;
    white-space: nowrap;
}

.dfs-nota-desc {
    font-size: 13px;
    font-weight: 400;
    color: #374151;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.45;
}

/* Línea "Sugerido para" */
.dfs-sugerido {
    margin: 14px 0 0 !important;
    padding: 0 !important;
    font-size: 13px;
    color: #4b5563;
    text-align: center;
}

/* Animación de entrada */
@keyframes dfsPiramideIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.dfs-piramide-olfativa {
    animation: dfsPiramideIn 0.4s ease both;
}

/* Retirar el relieve y el desplazamiento vintage; conservar los colores y
   estilos base definidos por Blocksy. */
button,
[role="button"],
a.button,
.button,
.ct-button,
.wp-element-button,
.wp-block-button__link,
.stk-button,
.single_add_to_cart_button,
.add_to_cart_button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.wp-block-search__button,
.wc-block-components-button,
button:hover,
[role="button"]:hover,
a.button:hover,
.button:hover,
.ct-button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
.stk-button:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
.wp-block-search__button:hover,
.wc-block-components-button:hover,
button:active,
[role="button"]:active,
a.button:active,
.button:active,
.ct-button:active,
.wp-element-button:active,
.wp-block-button__link:active,
.stk-button:active,
.single_add_to_cart_button:active,
.add_to_cart_button:active,
input[type="submit"]:active,
input[type="button"]:active,
input[type="reset"]:active,
.wp-block-search__button:active,
.wc-block-components-button:active {
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
}

/* Mayor especificidad para reglas particulares de WooCommerce y botones
   auxiliares del tema hijo que tenían su propio relieve. */
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .add_to_cart_button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product .add_to_cart_button:active,
.woocommerce ul.products li.product a.button:active,
.dfs-social-banner,
.dfs-social-banner:hover,
.dfs-social-banner:active,
.dfs-account-action-btn,
.dfs-account-action-btn:hover,
.dfs-account-action-btn:active {
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
}

/* =========================================================
   PRODUCT LOOP: ONE CARD FOR MEDIA, DETAILS AND ACTIONS
   ========================================================= */
.woocommerce ul.products > li.product,
ul.products > li.product,
.products > .ct-product-card {
    padding: 0 0 14px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 18px !important;
    box-shadow: 0 6px 22px rgba(8, 28, 87, 0.12) !important;
    overflow: hidden !important;
    text-align: left !important;
}

@media (max-width: 767px) {
    .woocommerce ul.products > li.product,
    ul.products > li.product,
    .products > .ct-product-card {
        padding: 0 0 12px !important;
        border-radius: 15px !important;
        box-shadow: 0 4px 16px rgba(8, 28, 87, 0.12) !important;
    }
}

/* Responsive order and even spacing inside the unified card. */
.woocommerce ul.products li.product,
ul.products li.product,
.products .product,
.ct-product-card {
    display: flex !important;
    flex-direction: column !important;
    row-gap: clamp(8px, 1vw, 10px) !important;
}

.woocommerce ul.products li.product > figure,
ul.products li.product > figure,
.products .product > figure,
.ct-product-card > figure {
    order: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 18px 18px 0 0 !important;
}

.woocommerce ul.products li.product > figure .ct-media-container,
ul.products li.product > figure .ct-media-container,
.products .product > figure .ct-media-container,
.ct-product-card > figure .ct-media-container,
.woocommerce ul.products li.product > figure img,
ul.products li.product > figure img,
.products .product > figure img,
.ct-product-card > figure img {
    display: block !important;
    width: 100% !important;
    border-radius: 0 !important;
}

@media (max-width: 767px) {
    .woocommerce ul.products li.product > figure,
    ul.products li.product > figure,
    .products .product > figure,
    .ct-product-card > figure {
        border-radius: 15px 15px 0 0 !important;
    }
}

.woocommerce ul.products li.product > .woocommerce-loop-product__title,
ul.products li.product > .woocommerce-loop-product__title,
.products .product > .woocommerce-loop-product__title,
.ct-product-card > .woocommerce-loop-product__title {
    order: 1 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
    line-height: 1.3 !important;
    min-height: 2.6em !important;
    overflow: hidden !important;
    width: 100% !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

.woocommerce ul.products li.product > .pwb-brands-in-loop,
ul.products li.product > .pwb-brands-in-loop,
.products .product > .pwb-brands-in-loop,
.ct-product-card > .pwb-brands-in-loop {
    order: 2 !important;
    margin: 0 !important;
    padding: 0 12px !important;
    text-align: left !important;
}

.woocommerce ul.products li.product > .wc-stripe-bnpl-shop-message,
ul.products li.product > .wc-stripe-bnpl-shop-message,
.products .product > .wc-stripe-bnpl-shop-message,
.ct-product-card > .wc-stripe-bnpl-shop-message {
    display: none !important;
}

.woocommerce ul.products li.product > .price,
ul.products li.product > .price,
.products .product > .price,
.ct-product-card > .price {
    order: 3 !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    column-gap: 0.45em !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    text-align: left !important;
}

.woocommerce ul.products li.product > .price .sale-price,
ul.products li.product > .price .sale-price,
.products .product > .price .sale-price,
.ct-product-card > .price .sale-price {
    display: inline-flex !important;
    align-items: baseline !important;
    flex-wrap: nowrap !important;
    column-gap: 0.45em !important;
    white-space: nowrap !important;
}

.woocommerce ul.products li.product > .ct-woo-card-stock,
ul.products li.product > .ct-woo-card-stock,
.products .product > .ct-woo-card-stock,
.ct-product-card > .ct-woo-card-stock,
.woocommerce ul.products li.product > .stock,
ul.products li.product > .stock,
.products .product > .stock,
.ct-product-card > .stock {
    order: 4 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    font-size: 12px !important;
    text-align: left !important;
}

.woocommerce ul.products li.product > .ct-woo-card-stock p,
ul.products li.product > .ct-woo-card-stock p,
.products .product > .ct-woo-card-stock p,
.ct-product-card > .ct-woo-card-stock p {
    margin: 0 !important;
    font-size: inherit !important;
    text-align: left !important;
}

/* Precio y disponibilidad juntos, sin empujar el stock al extremo de la tarjeta. */
.woocommerce ul.products li.product > .dfs-product-card-meta,
ul.products li.product > .dfs-product-card-meta,
.products .product > .dfs-product-card-meta,
.ct-product-card > .dfs-product-card-meta {
    order: 3 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(8px, 1vw, 16px) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

.dfs-product-card-meta > .price {
    display: inline-flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    flex: 0 1 auto !important;
    flex-wrap: nowrap !important;
    gap: 0 0.4em !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    margin: 0 !important;
    white-space: nowrap !important;
    text-align: left !important;
    color: #0b35c9 !important;
    font-weight: 700 !important;
}

.dfs-product-card-meta > .ct-woo-card-stock,
.dfs-product-card-meta > .stock {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    width: auto !important;
    margin: 0 !important;
    color: #081c57 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
    text-align: left !important;
}

.dfs-product-card-meta .stock,
.dfs-product-card-meta .stock.in-stock {
    margin: 0 !important;
    color: #081c57 !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: 1.3 !important;
}

/* El stock disponible de las tarjetas usa el color de texto configurado en Blocksy. */
.woocommerce ul.products li.product .stock.in-stock,
.products .product .stock.in-stock,
.ct-product-card .stock.in-stock {
    color: var(--theme-palette-color-4, #081c57) !important;
}

.woocommerce ul.products li.product > .star-rating,
ul.products li.product > .star-rating,
.products .product > .star-rating,
.ct-product-card > .star-rating,
.woocommerce ul.products li.product > .woocommerce-product-rating,
ul.products li.product > .woocommerce-product-rating,
.products .product > .woocommerce-product-rating,
.ct-product-card > .woocommerce-product-rating {
    order: 5 !important;
    margin: 0 !important;
}

.woocommerce ul.products li.product > .dfs-product-card-rating,
ul.products li.product > .dfs-product-card-rating,
.products .product > .dfs-product-card-rating,
.ct-product-card > .dfs-product-card-rating {
    order: 5 !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    min-height: 16px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

.dfs-product-card-rating .fi {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 14px !important;
    width: 14px !important;
    height: 14px !important;
    color: #065d53 !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

.dfs-product-card-rating .fi::before {
    display: block !important;
    width: 14px !important;
    text-align: center !important;
}

.dfs-product-card-rating.is-rated .fi {
    color: #198754 !important;
}

.dfs-product-card-rating.is-rated .fi.is-inactive {
    color: #bfd9ca !important;
}

.dfs-product-card-original-rating {
    display: none !important;
}

.woocommerce ul.products li.product > .ct-woo-card-actions,
ul.products li.product > .ct-woo-card-actions,
.products .product > .ct-woo-card-actions,
.ct-product-card > .ct-woo-card-actions {
    order: 6 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    row-gap: clamp(8px, 2vw, 14px) !important;
    width: 100%;
    margin: auto 0 0 !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

.woocommerce ul.products li.product > .ct-woo-card-actions a.button,
ul.products li.product > .ct-woo-card-actions a.button,
.products .product > .ct-woo-card-actions a.button,
.ct-product-card > .ct-woo-card-actions a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    margin-inline: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 36px !important;
    text-align: center !important;
    padding: 8px 12px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #f1f5f9 !important;
    color: #0b35c9 !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

.woocommerce ul.products li.product > .ct-woo-card-actions a.button:hover,
ul.products li.product > .ct-woo-card-actions a.button:hover,
.products .product > .ct-woo-card-actions a.button:hover,
.ct-product-card > .ct-woo-card-actions a.button:hover,
.woocommerce ul.products li.product > .ct-woo-card-actions a.button:focus-visible,
ul.products li.product > .ct-woo-card-actions a.button:focus-visible,
.products .product > .ct-woo-card-actions a.button:focus-visible,
.ct-product-card > .ct-woo-card-actions a.button:focus-visible {
    background: #081c57 !important;
    color: #ffffff !important;
}

/* Los productos sin valoraciones muestran cinco estrellas vacías en lugar de
   una fila invisible. Las valoraciones reales conservan sus propias estrellas. */
.woocommerce ul.products li.product:not(:has(.star-rating, .woocommerce-product-rating, .dfs-product-card-rating)) > .ct-woo-card-actions::before,
ul.products li.product:not(:has(.star-rating, .woocommerce-product-rating, .dfs-product-card-rating)) > .ct-woo-card-actions::before,
.products .product:not(:has(.star-rating, .woocommerce-product-rating, .dfs-product-card-rating)) > .ct-woo-card-actions::before,
.ct-product-card:not(:has(.star-rating, .woocommerce-product-rating, .dfs-product-card-rating)) > .ct-woo-card-actions::before {
    content: "\eed9\eed9\eed9\eed9\eed9";
    display: block;
    min-height: 16px;
    width: 100%;
    color: #065d53;
    font-family: uicons-thin-rounded !important;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 7px;
    -webkit-text-stroke: 0.4px currentColor;
    opacity: 1;
    text-align: left;
}

/* Estos botones reutilizan la acción de compra: no ocultarlos al recibir .added.
   Se limita a los productos gestionados por el control de existencias. */
.products .product .ct-woo-card-actions .add_to_cart_button[data-dfs-stock-limit],
.products .product .add_to_cart_button[data-dfs-stock-limit].added {
    display: inline-flex !important;
    visibility: visible !important;
}
.products .product .add_to_cart_button[data-dfs-stock-limit] ~ .added_to_cart {
    display: none !important;
}

/* Estado bloqueado al alcanzar las existencias, conservando la apariencia de Blocksy. */
.add_to_cart_button.dfs-stock-limit-reached {
    opacity: 0.55;
    cursor: not-allowed !important;
    pointer-events: none;
}

.dfs-cart-quantity-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.55em;
    min-height: 1.55em;
    margin-inline-start: 0.55em;
    padding: 0 0.35em;
    border: 1px solid currentColor;
    border-radius: 999px;
    background: transparent;
    color: inherit;
    font-size: 0.82em;
    font-weight: 700;
    line-height: 1;
    vertical-align: middle;
    box-sizing: border-box;
}

/* Navegación móvil: realce limpio y cápsula navy para la página activa. */
@media (max-width: 920px) {
    .dfs-category-item,
    .dfs-item-link,
    .dfs-help-item,
    .dfs-section-title,
    .dfs-cat-text,
    .dfs-item-title-text {
        text-transform: none !important;
    }

    .dfs-item-row:hover,
    .dfs-item-row:active,
    .dfs-item-row.is-active {
        background: transparent !important;
        border-color: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .dfs-item-row:hover > .dfs-item-link,
    .dfs-item-row:hover > .dfs-submenu-toggle,
    .dfs-item-row:active > .dfs-item-link,
    .dfs-item-row:active > .dfs-submenu-toggle,
    .dfs-item-row:hover .dfs-menu-item-icon,
    .dfs-item-row:active .dfs-menu-item-icon {
        color: var(--theme-palette-color-2, #0f47d7) !important;
    }

    .dfs-category-item:hover,
    .dfs-category-item:active,
    .dfs-help-item:hover,
    .dfs-help-item:active {
        background: transparent !important;
        border-color: transparent !important;
        box-shadow: none !important;
        transform: none !important;
        color: var(--theme-palette-color-2, #0f47d7) !important;
    }

    .dfs-category-item:hover .dfs-cat-icon,
    .dfs-category-item:active .dfs-cat-icon {
        color: var(--theme-palette-color-2, #0f47d7) !important;
    }

    .dfs-item-row.is-active {
        background: var(--dfs-ink-navy, #081c57) !important;
        border-color: var(--dfs-ink-navy, #081c57) !important;
        border-radius: 999px !important;
    }

    .dfs-item-row.is-active > .dfs-item-link,
    .dfs-item-row.is-active > .dfs-submenu-toggle,
    .dfs-item-row.is-active .dfs-menu-item-icon,
    .dfs-item-row.is-active .dfs-item-title-text {
        color: #fff !important;
    }

    .dfs-shortcut-help-menu {
        margin-top: 0 !important;
    }

    .dfs-shortcut-help-menu > li > .dfs-item-row {
        margin-right: 0 !important;
    }

    .dfs-bottom-item:not(.is-active):hover,
    .dfs-bottom-item:not(.is-active):focus-visible {
        color: var(--theme-palette-color-2, #0f47d7) !important;
        transform: translateY(-1px) !important;
    }

    .dfs-bottom-item:not(.is-active):hover .dfs-icon-line i,
    .dfs-bottom-item:not(.is-active):focus-visible .dfs-icon-line i {
        color: var(--theme-palette-color-2, #0f47d7) !important;
    }

    .dfs-bottom-item.is-active {
        color: #fff !important;
        background: var(--dfs-ink-navy, #081c57) !important;
        border-radius: 999px !important;
    }

    .dfs-bottom-item.is-active .dfs-icon-solid i,
    .dfs-bottom-item.is-active .dfs-mascot-svg-wrap,
    .dfs-bottom-item.is-active .dfs-bottom-label,
    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-bottom-label {
        color: #fff !important;
    }
}

/* Homologa los accesos de Favoritos/Carrito con el hover animado del menú. */
@media (min-width: 921px) {
    .dfs-user-actions-guest .dfs-guest-nav-link {
        display: inline-flex !important;
        align-items: center !important;
        height: 32px !important;
        min-height: 32px !important;
        box-sizing: border-box !important;
        font-family: var(--dfs-font-ui), "Quicksand", sans-serif !important;
        font-size: 12.5px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
    }

    .dfs-user-actions-guest .dfs-guest-nav-link > i,
    .dfs-user-actions-guest .dfs-guest-nav-link > span {
        display: inline-flex !important;
        align-items: center !important;
        line-height: 1 !important;
    }

    .dfs-user-actions-guest .dfs-guest-nav-link > i {
        font-size: 13px !important;
    }

    .dfs-auth-fav-link,
    .dfs-desktop-cart-link {
        border-radius: 999px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        gap: 7px !important;
        transition: background 0.2s cubic-bezier(0.4, 0, 0.2, 1),
                    color 0.2s cubic-bezier(0.4, 0, 0.2, 1),
                    transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }

    .dfs-auth-fav-link:hover,
    .dfs-desktop-cart-link:hover {
        background: rgba(250, 245, 236, 0.14) !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
    }

    .dfs-auth-fav-link i,
    .dfs-desktop-cart-link .dfs-cart-icon-box > i {
        transition: color 0.2s ease !important;
    }

    .dfs-auth-fav-link:hover i,
    .dfs-desktop-cart-link:hover .dfs-cart-icon-box > i {
        color: #ffffff !important;
    }

    .dfs-auth-fav-link:hover > span,
    .dfs-desktop-cart-link:hover > .dfs-desktop-cart-label {
        color: #ffffff !important;
    }

    /* Categorías y Mi Cuenta conservan su aspecto al pasar el puntero. */
    #dfs-desktop-cats-item:hover > #dfs-cats-dropdown-trigger,
    #dfs-desktop-user-profile-item:hover > #dfs-user-dropdown-trigger {
        background: transparent !important;
        border-color: transparent !important;
        box-shadow: none !important;
        color: #FAF5EC !important;
        transform: none !important;
    }

    #dfs-desktop-cats-item:hover > #dfs-cats-dropdown-trigger i,
    #dfs-desktop-user-profile-item:hover > #dfs-user-dropdown-trigger i {
        color: #FAF5EC !important;
    }

    #dfs-desktop-user-profile-item:hover > #dfs-user-dropdown-trigger .dfs-user-arrow {
        transform: none !important;
        top: 1.5px !important;
    }
}

/* El texto y el icono de cada opción de Mi Cuenta comparten el azul interactivo. */
#dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item:hover,
#dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item:hover > span,
#dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item:hover > i,
#dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item:focus-visible,
#dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item:focus-visible > span,
#dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item:focus-visible > i {
    color: var(--theme-palette-color-2, #0f47d7) !important;
}

/* Contador limpio y circular, sin borde ni sombra interior/exterior. */
.dfs-desktop-cart-badge,
#dfs-bottom-nav .dfs-cart-badge {
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 50% !important;
    background: #ec1c24 !important;
}

/* Alineación óptica y grosor uniforme de iconos en los dropdowns de escritorio. */
.dfs-user-dropdown-body .dfs-dropdown-item,
.dfs-desktop-dropdown-menu .dfs-dropdown-list li a {
    align-items: center !important;
    line-height: 1.2 !important;
}

.dfs-user-dropdown-body .dfs-dropdown-item > i,
.dfs-desktop-dropdown-menu .dfs-dropdown-list li a > i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
    position: static !important;
}

.dfs-user-dropdown-body .dfs-dropdown-item > span,
.dfs-desktop-dropdown-menu .dfs-dropdown-list li a > span {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 18px !important;
    line-height: 1.2 !important;
}

.dfs-user-profile-dropdown .dfs-dropdown-item,
.dfs-user-profile-dropdown .dfs-dropdown-item > span,
.dfs-user-profile-dropdown .dfs-dropdown-item > i {
    color: var(--dfs-ink-navy, #081c57) !important;
}

.dfs-user-profile-dropdown .dfs-dropdown-item {
    box-sizing: border-box !important;
    width: 100% !important;
}

.dfs-user-profile-dropdown > .dfs-user-dropdown-header,
.dfs-user-profile-dropdown > .dfs-user-dropdown-body,
.dfs-user-profile-dropdown > .dfs-user-dropdown-footer {
    box-sizing: border-box !important;
    max-width: 100% !important;
}

.dfs-user-profile-dropdown {
    width: 260px !important;
    max-width: none !important;
}

.dfs-user-profile-dropdown > .dfs-user-dropdown-body,
.dfs-user-profile-dropdown > .dfs-user-dropdown-footer {
    background: var(--dfs-site-bg, #faf5ec) !important;
}

.dfs-user-dropdown-body {
    overflow: hidden !important;
}

.dfs-user-dropdown-header {
    border-radius: 12px 12px 0 0 !important;
}

.dfs-user-dropdown-footer {
    border-radius: 0 0 12px 12px !important;
}

.dfs-help-dropdown .dfs-dropdown-list li a > i {
    position: static !important;
}

@media (max-width: 920px) {
    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-bottom-label {
        color: var(--dfs-ink-navy, #081c57) !important;
    }

    .dfs-drawer.dfs-drawer-left {
        border-radius: 0 30px 30px 0 !important;
        overflow: hidden !important;
    }

    /* El hover del menú acompaña al encabezado: solo cambia el color, sin
       desplazar la fila ni dibujar una tarjeta/fondo adicional. */
    #dfs-category-drawer .dfs-category-item:hover,
    #dfs-category-drawer .dfs-category-item:focus-visible,
    #dfs-category-drawer .dfs-help-item:hover,
    #dfs-category-drawer .dfs-help-item:focus-visible,
    #dfs-category-drawer .dfs-item-row:hover,
    #dfs-category-drawer .dfs-item-row:focus-within {
        background: transparent !important;
        border-color: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    #dfs-category-drawer .dfs-category-item:hover,
    #dfs-category-drawer .dfs-category-item:focus-visible,
    #dfs-category-drawer .dfs-help-item:hover,
    #dfs-category-drawer .dfs-help-item:focus-visible,
    #dfs-category-drawer .dfs-item-row:hover > .dfs-item-link,
    #dfs-category-drawer .dfs-item-row:focus-within > .dfs-item-link,
    #dfs-category-drawer .dfs-item-row:hover > .dfs-submenu-toggle,
    #dfs-category-drawer .dfs-item-row:focus-within > .dfs-submenu-toggle,
    #dfs-category-drawer .dfs-item-row:hover .dfs-menu-item-icon,
    #dfs-category-drawer .dfs-item-row:focus-within .dfs-menu-item-icon,
    #dfs-category-drawer .dfs-category-item:hover .dfs-cat-icon,
    #dfs-category-drawer .dfs-category-item:focus-visible .dfs-cat-icon {
        color: var(--theme-palette-color-2, #0f47d7) !important;
        transform: none !important;
    }

    /* La pestaña activa de la barra inferior destaca solo por su icono. */
    #dfs-bottom-nav .dfs-bottom-item.is-active {
        color: var(--dfs-ink-navy, #081c57) !important;
        background: transparent !important;
        border-radius: 0 !important;
    }

    #dfs-bottom-nav .dfs-bottom-item:not(.is-active) .dfs-bottom-label {
        color: var(--theme-palette-color-2, #081C57) !important;
    }

    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-bottom-label {
        color: var(--dfs-ink-navy, #081c57) !important;
    }

    /* El activo colorea únicamente el icono, usando el color de resaltado. */
    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-icon-solid,
    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-icon-solid i,
    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-mascot-svg-wrap,
    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-mascot-svg-wrap path {
        color: var(--theme-palette-color-1, #ec1c24) !important;
        stroke: none !important;
        stroke-width: 0 !important;
    }

    /* El estado sólido ocupa exactamente la misma caja que el icono lineal. */
    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-bottom-icon,
    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-icon-solid,
    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-icon-solid i,
    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-mascot-svg-wrap,
    #dfs-bottom-nav .dfs-bottom-item.is-active .dfs-mascot-img {
        transform: none !important;
    }

    /* Acerca el contador al glifo de carrito, montándolo parcialmente encima. */
    #dfs-bottom-nav .dfs-cart-badge {
        top: -2px !important;
        right: 3px !important;
    }

    /* Acabado final de la cápsula, sin el contorno azul anterior. */
    #dfs-bottom-nav.dfs-dock-bar {
        background: #ffffff !important;
        border: 0 !important;
        box-shadow: 0 10px 30px rgba(5, 36, 100, 0.16), 0 2px 8px rgba(5, 36, 100, 0.08) !important;
    }

    /* Nuevo acabado del menú lateral con la paleta de Blocksy. */
    #dfs-category-drawer.dfs-drawer {
        background: var(--theme-palette-color-7, #ffffff) !important;
        border: 0 !important;
        border-radius: 0 22px 22px 0 !important;
        box-shadow: 8px 0 24px rgba(8, 28, 87, 0.18) !important;
    }

    #dfs-category-drawer .dfs-drawer-body {
        background: var(--theme-palette-color-7, #ffffff) !important;
    }

    #dfs-category-drawer .dfs-drawer-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 14px !important;
        background: var(--theme-palette-color-1, #0b35c9) !important;
        color: #ffffff !important;
        border: 0 !important;
    }

    #dfs-category-drawer .dfs-drawer-header-top {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    #dfs-category-drawer .dfs-drawer-brand {
        min-width: 0 !important;
    }

    #dfs-category-drawer .dfs-drawer-header-actions {
        flex-shrink: 0 !important;
    }

    #dfs-category-drawer .dfs-close-btn,
    #dfs-category-drawer .dfs-reload-btn {
        width: 36px !important;
        height: 36px !important;
        padding: 0 !important;
        background: #ffffff !important;
        border: 0 !important;
        border-radius: 10px !important;
        color: var(--theme-palette-color-1, #0b35c9) !important;
        box-shadow: 0 1px 4px rgba(8, 28, 87, 0.18) !important;
    }

    #dfs-category-drawer .dfs-close-btn:hover,
    #dfs-category-drawer .dfs-reload-btn:hover {
        background: #ffffff !important;
        color: var(--theme-palette-color-2, #081c57) !important;
        transform: none !important;
    }

    #dfs-category-drawer .dfs-drawer-account-section {
        width: 100% !important;
        margin: 0 !important;
    }

    #dfs-category-drawer .dfs-account-card {
        width: 100% !important;
        background: #ffffff !important;
        border: 0 !important;
        border-radius: 12px !important;
        box-shadow: 0 3px 12px rgba(8, 28, 87, 0.14) !important;
    }

    #dfs-category-drawer .dfs-account-avatar {
        border: 0 !important;
        box-shadow: none !important;
        background: rgba(11, 53, 201, 0.08) !important;
        color: var(--theme-palette-color-2, #081c57) !important;
    }

    #dfs-category-drawer .dfs-account-name {
        color: var(--theme-palette-color-2, #081c57) !important;
    }

    #dfs-category-drawer .dfs-account-email,
    #dfs-category-drawer .dfs-account-sub {
        color: rgba(8, 28, 87, 0.72) !important;
    }

    #dfs-category-drawer .dfs-account-action-btn,
    #dfs-category-drawer .dfs-account-action-btn.guest-btn {
        background: var(--theme-palette-color-1, #0b35c9) !important;
        color: #ffffff !important;
        border: 0 !important;
        border-radius: 8px !important;
        box-shadow: none !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        font-weight: 600 !important;
        transition: background-color 0.15s ease !important;
    }

    #dfs-category-drawer .dfs-account-action-btn:hover,
    #dfs-category-drawer .dfs-account-action-btn:focus-visible {
        background: var(--theme-palette-color-2, #081c57) !important;
        color: #ffffff !important;
        transform: none !important;
        box-shadow: none !important;
    }

    #dfs-category-drawer .dfs-account-action-btn:active {
        transform: none !important;
        box-shadow: none !important;
    }

}

/* Evita el subrayado de la marca solo en las tarjetas/listados de producto. */
.woocommerce ul.products li.product .pwb-brands-in-loop a,
ul.products li.product .pwb-brands-in-loop a,
.products .product .pwb-brands-in-loop a,
.ct-product-card .pwb-brands-in-loop a,
.woocommerce ul.products li.product .pwb-brands-in-loop a:hover,
ul.products li.product .pwb-brands-in-loop a:hover,
.products .product .pwb-brands-in-loop a:hover,
.ct-product-card .pwb-brands-in-loop a:hover,
.woocommerce ul.products li.product .pwb-brands-in-loop a:focus-visible,
ul.products li.product .pwb-brands-in-loop a:focus-visible,
.products .product .pwb-brands-in-loop a:focus-visible,
.ct-product-card .pwb-brands-in-loop a:focus-visible {
    text-decoration: none !important;
    text-decoration-line: none !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/* Experimental iOS 27 PWA workaround: a real fixed paint layer (not a
   pseudo-element) nudges WebKit to recompose its blurred top safe-area edge. */
html.is-pwa-standalone .dfs-pwa-top-paint-layer {
    display: block !important;
    position: fixed !important;
    inset: 0 0 auto !important;
    z-index: 2147483647 !important;
    width: 100% !important;
    height: 11px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background-color: #ffffff !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    pointer-events: none !important;
}

/* Compacta y unifica la altura de los accesos y los departamentos del drawer. */
@media (max-width: 920px) {
    #dfs-category-drawer .dfs-shortcuts-list > .dfs-category-item {
        box-sizing: border-box !important;
        height: 35px !important;
        min-height: 35px !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    #dfs-category-drawer .dfs-wp-menu-list .dfs-nav-item {
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    #dfs-category-drawer .dfs-wp-menu-list .dfs-nav-item > .dfs-item-row {
        box-sizing: border-box !important;
        height: 35px !important;
        min-height: 35px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    #dfs-category-drawer .dfs-wp-menu-list .dfs-nav-item > .dfs-item-row > .dfs-item-link,
    #dfs-category-drawer .dfs-wp-menu-list .dfs-nav-item > .dfs-item-row > .dfs-submenu-toggle {
        box-sizing: border-box !important;
        height: 35px !important;
        min-height: 35px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    #dfs-category-drawer .dfs-wp-menu-list .dfs-nav-item > .dfs-item-row > .dfs-submenu-toggle {
        width: 35px !important;
    }

    #dfs-category-drawer .dfs-shortcut-help-menu > .dfs-nav-item {
        margin-bottom: 0 !important;
    }
}

/* FiboSearch Desktop: el plugin traslada el panel de sugerencias directamente
   al body, así que el CSS debe alcanzarlo fuera del contenedor del buscador. */
@media (min-width: 921px) {
    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp {
        position: relative !important;
        z-index: 1000000000 !important;
        background: transparent !important;
        background-color: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    .dfs-desktop-search-wrap input[type="search"].dgwt-wcas-search-input {
        position: relative !important;
        z-index: 2 !important;
        border-radius: 999px !important;
    }

body.dgwt-wcas-focused > .dgwt-wcas-suggestions-wrapp {
        z-index: 999999999 !important;
        margin-top: 0 !important;
        padding-top: 19px !important;
        background: #FFFFFF !important;
        background-color: #FFFFFF !important;
        border: 1.2px solid #081C57 !important;
        border-radius: 16px !important;
        box-shadow: 0 12px 30px rgba(8, 28, 87, 0.16) !important;
        overflow: hidden !important;
    }
}

/* FiboSearch mobile: the plugin nests its results panel inside the toolbar.
   Keep the toolbar at the top and let the panel span below it, not beside it. */
@media (max-width: 920px) {
    .dgwt-wcas-overlay-mobile {
        justify-content: flex-start !important;
        align-items: stretch !important;
        overflow: hidden !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar {
        position: relative !important;
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
        justify-content: flex-start !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        z-index: 2 !important;
    }

    .dgwt-wcas-om-bar > .dgwt-wcas-suggestions-wrapp {
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: calc(var(--dfs-search-visual-height, 100dvh) - 56px - env(safe-area-inset-top, 0px)) !important;
        max-height: calc(var(--dfs-search-visual-height, 100dvh) - 56px - env(safe-area-inset-top, 0px)) !important;
        margin: 0 !important;
        flex: none !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        z-index: 1 !important;
        background: #FAF5EC !important;
        background-color: #FAF5EC !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input,
    .dgwt-wcas-overlay-mobile .dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input:focus,
    .dgwt-wcas-overlay-mobile .dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input:focus-visible,
    .dgwt-wcas-overlay-mobile .dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input:active {
        border: 1.2px solid #081C57 !important;
        box-shadow: none !important;
        outline: none !important;
        filter: none !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    /* Safari iOS amplía la página al enfocar un input con menos de 16px.
       Esta regla supera al tamaño de 13px del buscador genérico. */
    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar .dgwt-wcas-search-wrapp-mobile .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
        min-width: 0 !important;
        max-width: 100% !important;
        height: 38px !important;
        line-height: normal !important;
        font-size: 16px !important;
    }

    .dgwt-wcas-om-bar > .dgwt-wcas-suggestions-wrapp .dgwt-wcas-suggestion {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        background: #FAF5EC !important;
        background-color: #FAF5EC !important;
        border: 0 !important;
        border-bottom: 0 !important;
        box-sizing: border-box !important;
    }
}

/* El hover azul prevalece sobre los estados amarillos definidos anteriormente. */
@media (max-width: 920px) {
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:active,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:focus,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:hover {
        border: 1.2px solid #081C57 !important;
        box-shadow: none !important;
        outline: none !important;
    }

    .dgwt-wcas-om-bar .dgwt-wcas-om-return > svg {
        display: none !important;
    }

    .dgwt-wcas-om-bar .dgwt-wcas-om-return .fi-rr-angle-small-right {
        display: inline-block !important;
        font-family: "uicons-regular-rounded" !important;
        font-size: 20px !important;
        font-weight: normal !important;
        line-height: 1 !important;
        opacity: 1 !important;
        visibility: visible !important;
        color: #081C57 !important;
        transform: rotate(180deg) !important;
    }

    .dfs-reload-btn:hover,
    .dfs-close-btn:hover,
    .dgwt-wcas-om-bar button.dgwt-wcas-om-return:hover {
        background-color: #0547E0 !important;
        color: #FFFFFF !important;
    }

    .dfs-reload-btn:hover i,
    .dfs-close-btn:hover i,
    .dgwt-wcas-om-bar .dgwt-wcas-om-return:hover .fi-rr-angle-small-right {
        color: #FFFFFF !important;
        -webkit-text-stroke-color: #FFFFFF !important;
    }
}

/* Botón nativo para compartir la página: solo se activa en la app PWA. */
#dfs-pwa-share-button {
    display: none !important;
    position: fixed !important;
    right: 20px;
    bottom: calc(76px + 62px + env(safe-area-inset-bottom, 0px));
    z-index: 100001 !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    border: 1.5px solid #052062 !important;
    border-radius: 50% !important;
    background: #FFFFFF !important;
    color: #052062 !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
    cursor: pointer !important;
    line-height: 1 !important;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease !important;
    -webkit-tap-highlight-color: transparent !important;
}

html.is-pwa-standalone #dfs-pwa-share-button,
body.is-pwa-standalone #dfs-pwa-share-button {
    display: inline-flex !important;
}

#dfs-pwa-share-button .fi-rr-share {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #052062 !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

#dfs-pwa-share-button:hover,
#dfs-pwa-share-button:focus-visible {
    border-color: #0648E0 !important;
    background: #0648E0 !important;
    color: #FFFFFF !important;
}

#dfs-pwa-share-button:hover .fi-rr-share,
#dfs-pwa-share-button:focus-visible .fi-rr-share {
    color: #FFFFFF !important;
}

#dfs-pwa-share-button:active {
    transform: scale(0.96) !important;
}

#dfs-pwa-share-feedback {
    display: none;
    position: fixed;
    z-index: 100002;
    max-width: min(250px, calc(100vw - 24px));
    padding: 8px 12px;
    border-radius: 999px;
    background: #052062;
    color: #FFFFFF;
    font: 600 13px/1.25 var(--dfs-font-ui, sans-serif);
    text-align: center;
    pointer-events: none;
}

#dfs-pwa-share-feedback.is-visible {
    display: block;
}

/* Controles flotantes: no forman parte del encabezado ni del panel del drawer. */
.dfs-drawer-floating-actions {
    position: fixed !important;
    top: calc(14px + env(safe-area-inset-top, 0px)) !important;
    /* El control ocupa la franja exterior, justo al lado del drawer. */
    left: min(calc(min(340px, 86vw) + 8px), calc(100vw - 38px)) !important;
    right: auto !important;
    z-index: 100001 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-6px) !important;
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease !important;
}

.dfs-drawer-floating-actions.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

.dfs-drawer-floating-actions .dfs-close-btn,
.dfs-drawer-floating-actions .dfs-reload-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 36px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 10px !important;
    color: var(--theme-palette-color-1, #0b35c9) !important;
    box-shadow: 0 1px 4px rgba(8, 28, 87, 0.18) !important;
    cursor: pointer !important;
}

.dfs-drawer-floating-actions .dfs-close-btn svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
}

.dfs-drawer-floating-actions .dfs-reload-btn i {
    color: var(--theme-palette-color-1, #0b35c9) !important;
}

.dfs-drawer-floating-actions .dfs-close-btn:hover,
.dfs-drawer-floating-actions .dfs-reload-btn:hover {
    background: #ffffff !important;
    color: var(--theme-palette-color-2, #081c57) !important;
    transform: none !important;
}

/* Navegador mÃ³vil: solo Cerrar. PWA: Recargar aparece debajo de Cerrar. */
.dfs-drawer-floating-actions .dfs-reload-btn {
    display: none !important;
}

html.is-pwa-standalone .dfs-drawer-floating-actions .dfs-reload-btn,
body.is-pwa-standalone .dfs-drawer-floating-actions .dfs-reload-btn {
    display: flex !important;
}

/* Browser and PWA: free the mobile viewport while browsing down the page.
   Only the navigation capsule moves; the assistant stays anchored to its wrapper. */
@media (max-width: 920px) {
    #dfs-bottom-nav.dfs-dock-bar {
        transition: transform 220ms ease, opacity 220ms ease !important;
    }

    #dfs-bottom-nav.dfs-dock-bar.is-scroll-hidden {
        opacity: 0 !important;
        transform: translate3d(0, calc(100% + 32px + env(safe-area-inset-bottom, 0px)), 0) !important;
        pointer-events: none !important;
    }
}

@media (max-width: 920px) and (prefers-reduced-motion: reduce) {
    #dfs-bottom-nav.dfs-dock-bar {
        transition: none !important;
    }
}

/* Remove only the floating WhatsApp launcher on mobile and in the installed app.
   The assistant and its WhatsApp link inside the chat panel remain available. */
@media (max-width: 920px), (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui) {
    #medusaa-assistant .ma-whatsapp-launch {
        display: none !important;
    }
}

html.is-pwa-standalone #medusaa-assistant .ma-whatsapp-launch,
body.is-pwa-standalone #medusaa-assistant .ma-whatsapp-launch {
    display: none !important;
}
/* Footer de Blocksy: distribución independiente para pantallas móviles. */
@media (max-width: 920px) {
    #footer {
        padding-bottom: 30px !important;
        background-color: var(--theme-palette-color-2, #081c57);
    }

    #footer .ct-footer-copyright > p:first-child {
        font-size: 0;
        line-height: 0;
        text-align: center;
    }

    #footer .ct-footer-copyright > p:first-child a {
        display: block;
        width: fit-content;
        max-width: 100%;
        margin: 0 auto 6px;
        font-size: 15px;
        line-height: 1.4;
    }

    #footer .ct-footer-copyright > p:first-child a:last-child {
        margin-bottom: 0;
    }

    #footer .ct-footer-copyright > p.dfs-footer-copyright-lines {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
        text-align: center;
    }

    #footer .dfs-footer-copyright-main {
        white-space: nowrap;
        font-size: clamp(12px, 3.6vw, 15px);
    }

    #footer .dfs-footer-copyright-separator {
        display: none;
    }
}

/* Nueva identidad: cabecera blanca solo en escritorio. */
@media (min-width: 921px) {
    #dfs-vintage-header,
    #dfs-vintage-header .dfs-header-desktop {
        background: #ffffff !important;
        color: var(--theme-palette-color-2, #081c57) !important;
    }

    #dfs-vintage-header {
        box-shadow: 0 5px 18px rgba(8, 28, 87, 0.09) !important;
    }

    .dfs-desktop-brand-logo {
        height: 46px !important;
        max-height: 46px !important;
        max-width: 140px !important;
    }

    .dfs-desktop-cp-badge,
    .dfs-desktop-cp-badge .dfs-cp-icon,
    .dfs-desktop-cp-badge .dfs-cp-arrow,
    .dfs-desktop-nav-btn,
    .dfs-desktop-nav-btn i,
    .dfs-desktop-nav-btn .dfs-icon-line,
    .dfs-guest-nav-link,
    .dfs-auth-direct-link,
    .dfs-auth-fav-link i,
    .dfs-auth-fav-link span,
    .dfs-auth-account-trigger,
    .dfs-desktop-cart-link,
    .dfs-desktop-cart-link .dfs-cart-icon-box > i,
    .dfs-desktop-cart-link .dfs-desktop-cart-label {
        color: var(--theme-palette-color-2, #081c57) !important;
    }

    .dfs-desktop-cp-badge:hover,
    .dfs-desktop-nav-btn:hover,
    .dfs-guest-nav-link:hover,
    .dfs-auth-direct-link:hover,
    .dfs-auth-account-trigger:hover,
    .dfs-auth-dropdown-wrap.is-open .dfs-auth-account-trigger,
    .dfs-desktop-cart-link:hover {
        background: rgba(11, 53, 201, 0.07) !important;
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    .dfs-desktop-nav-btn:hover i,
    .dfs-auth-direct-link:hover i,
    .dfs-auth-direct-link:hover span,
    .dfs-auth-fav-link:hover i,
    .dfs-auth-fav-link:hover span,
    .dfs-desktop-cart-link:hover .dfs-cart-icon-box > i,
    .dfs-desktop-cart-link:hover .dfs-desktop-cart-label {
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    #dfs-desktop-cats-item:hover > #dfs-cats-dropdown-trigger,
    #dfs-desktop-user-profile-item:hover > #dfs-user-dropdown-trigger {
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    .dfs-desktop-nav-btn.is-active,
    .dfs-nav-has-dropdown.is-active .dfs-desktop-nav-btn {
        background: rgba(11, 53, 201, 0.09) !important;
        border-color: transparent !important;
        box-shadow: none !important;
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    .dfs-desktop-nav-btn.is-active .dfs-icon-solid,
    .dfs-nav-has-dropdown.is-active .dfs-desktop-nav-btn .dfs-icon-solid,
    .dfs-desktop-nav-btn.is-active .dfs-icon-solid i,
    .dfs-desktop-nav-btn.is-active .fi-sr-flame,
    .dfs-desktop-nav-btn.is-active .fi-sr-star,
    .dfs-desktop-nav-btn.is-active .fi-sr-envelope,
    .dfs-desktop-nav-btn.is-active .fi-sr-apps,
    .dfs-desktop-nav-btn.is-active .fi-sr-medal {
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    .dfs-avatar-circle {
        background: rgba(11, 53, 201, 0.09) !important;
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    .dfs-desktop-cart-badge {
        border-color: #ffffff !important;
    }

    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp.dgwt-wcas-active,
    .dfs-desktop-search-wrap .dgwt-wcas-search-wrapp:focus-within,
    .dfs-desktop-search-wrap .dgwt-wcas-search-form:focus-within,
    .dfs-desktop-search-wrap .dgwt-wcas-sf-wrapp:focus-within {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    .dfs-desktop-dropdown-menu,
    .dfs-flyout-submenu,
    .dfs-dropdown-arrow-up,
    .dfs-user-profile-dropdown,
    .dfs-user-dropdown-header,
    .dfs-user-dropdown-body,
    .dfs-user-dropdown-footer {
        background: #ffffff !important;
    }

    .dfs-social-banner,
    .dfs-social-banner:hover,
    .dfs-social-banner:active {
        border: 0 !important;
    }

    #dfs-desktop-cats-item:hover > #dfs-cats-dropdown-trigger,
    #dfs-desktop-cats-item:focus-within > #dfs-cats-dropdown-trigger,
    #dfs-desktop-cats-item.is-open > #dfs-cats-dropdown-trigger {
        background: rgba(11, 53, 201, 0.07) !important;
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    #dfs-desktop-cats-item:hover > #dfs-cats-dropdown-trigger i,
    #dfs-desktop-cats-item:focus-within > #dfs-cats-dropdown-trigger i,
    #dfs-desktop-cats-item.is-open > #dfs-cats-dropdown-trigger i {
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    #dfs-cats-dropdown-menu,
    #dfs-help-dropdown-menu,
    #dfs-user-dropdown-menu,
    #dfs-cats-dropdown-menu .dfs-flyout-submenu {
        background: #ffffff !important;
        border: 0 !important;
        box-shadow: -9px 12px 18px -12px rgba(8, 28, 87, 0.18),
                    9px 12px 18px -12px rgba(8, 28, 87, 0.18),
                    0 17px 22px -14px rgba(8, 28, 87, 0.2) !important;
    }

    #dfs-help-dropdown-menu .dfs-dropdown-arrow-up,
    #dfs-user-dropdown-menu .dfs-dropdown-arrow-up {
        display: none !important;
    }

    #dfs-user-dropdown-menu > .dfs-user-dropdown-header,
    #dfs-user-dropdown-menu > .dfs-user-dropdown-body,
    #dfs-user-dropdown-menu > .dfs-user-dropdown-footer {
        background: #ffffff !important;
    }

    #dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item,
    #dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item > span,
    #dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item > i {
        color: var(--theme-palette-color-2, #081c57) !important;
    }

    #dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item:is(:hover, :focus-visible),
    #dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item:is(:hover, :focus-visible) > span,
    #dfs-user-dropdown-menu .dfs-user-dropdown-body > .dfs-dropdown-item:is(:hover, :focus-visible) > i {
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    #dfs-cats-dropdown-menu .dfs-flyout-submenu {
        left: 100% !important;
    }

    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-row {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 36px !important;
    }

    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-row:hover,
    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria.is-open > .dfs-dropdown-perfumeria-row {
        background: rgba(11, 53, 201, 0.06) !important;
    }

    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-link {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        padding: 9px 0 9px 18px !important;
    }

    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-toggle {
        display: inline-flex !important;
        flex: 0 0 38px !important;
        width: 38px !important;
        height: auto !important;
        min-height: 36px !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: stretch !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: var(--theme-palette-color-2, #081c57) !important;
        cursor: pointer !important;
        box-shadow: none !important;
    }

    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-toggle:focus-visible {
        outline: 2px solid var(--theme-palette-color-1, #0b35c9) !important;
        outline-offset: -3px !important;
    }

    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-toggle i {
        font-size: 15px !important;
        transition: transform 0.2s ease !important;
    }

    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria.is-open .dfs-dropdown-perfumeria-toggle i {
        transform: rotate(180deg) !important;
    }

    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-children {
        display: none !important;
        padding-left: 10px !important;
    }

    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria.is-open > .dfs-dropdown-perfumeria-children {
        display: block !important;
    }

    /* La misma cápsula discreta de la dirección para las demás acciones. */
    .dfs-desktop-nav-btn,
    .dfs-guest-nav-link,
    .dfs-auth-direct-link,
    .dfs-auth-fav-link,
    .dfs-auth-account-trigger,
    .dfs-desktop-cart-link {
        border-radius: 6px !important;
    }

    .dfs-desktop-nav-btn:hover,
    .dfs-guest-nav-link:hover,
    .dfs-auth-direct-link:hover,
    .dfs-auth-fav-link:hover,
    .dfs-auth-account-trigger:hover,
    .dfs-desktop-cart-link:hover {
        transform: none !important;
    }

    #dfs-desktop-user-profile-item:hover > #dfs-user-dropdown-trigger,
    #dfs-desktop-user-profile-item:focus-within > #dfs-user-dropdown-trigger,
    #dfs-desktop-user-profile-item.is-open > #dfs-user-dropdown-trigger {
        background: rgba(11, 53, 201, 0.07) !important;
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    #dfs-desktop-user-profile-item:hover > #dfs-user-dropdown-trigger i,
    #dfs-desktop-user-profile-item:focus-within > #dfs-user-dropdown-trigger i,
    #dfs-desktop-user-profile-item.is-open > #dfs-user-dropdown-trigger i {
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    /* Los dropdowns sólo cambian el texto y los iconos, nunca el fondo de la fila. */
    #dfs-cats-dropdown-menu .dfs-dropdown-list li a:is(:hover, :focus-visible),
    #dfs-help-dropdown-menu .dfs-dropdown-list li a:is(:hover, :focus-visible),
    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-row:hover,
    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria.is-open > .dfs-dropdown-perfumeria-row {
        background: transparent !important;
    }

    #dfs-cats-dropdown-menu .dfs-dropdown-list li a:is(:hover, :focus-visible),
    #dfs-help-dropdown-menu .dfs-dropdown-list li a:is(:hover, :focus-visible),
    #dfs-cats-dropdown-menu .dfs-dropdown-list li a:is(:hover, :focus-visible) > i,
    #dfs-help-dropdown-menu .dfs-dropdown-list li a:is(:hover, :focus-visible) > i,
    #dfs-cats-dropdown-menu .dfs-dropdown-list li a:is(:hover, :focus-visible) > span,
    #dfs-help-dropdown-menu .dfs-dropdown-list li a:is(:hover, :focus-visible) > span,
    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-link:is(:hover, :focus-visible),
    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-link:is(:hover, :focus-visible) > span,
    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-toggle:is(:hover, :focus-visible) {
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }

    #dfs-cats-dropdown-menu .dfs-dropdown-perfumeria-link:is(:hover, :focus-visible) .dfs-perfume-svg {
        color: var(--theme-palette-color-1, #0b35c9) !important;
        stroke: var(--theme-palette-color-1, #0b35c9) !important;
    }
}

/* Menú lateral móvil: misma cápsula discreta que las acciones de la cabecera. */
@media (max-width: 920px) {
    #dfs-category-drawer .dfs-drawer-body .dfs-category-item,
    #dfs-category-drawer .dfs-drawer-body .dfs-help-item,
    #dfs-category-drawer .dfs-drawer-body .dfs-item-row > .dfs-item-link,
    #dfs-category-drawer .dfs-drawer-body .dfs-item-row > .dfs-submenu-toggle,
    #dfs-category-drawer .dfs-drawer-body .dfs-item-row .dfs-menu-item-icon,
    #dfs-category-drawer .dfs-drawer-body .dfs-category-item .dfs-cat-icon,
    #dfs-category-drawer .dfs-drawer-body .dfs-item-row .dfs-item-title-text {
        color: var(--theme-palette-color-2, #081c57) !important;
    }

    #dfs-category-drawer .dfs-drawer-body .dfs-category-item,
    #dfs-category-drawer .dfs-drawer-body .dfs-help-item,
    #dfs-category-drawer .dfs-drawer-body .dfs-item-row {
        border-radius: 6px !important;
        border-color: transparent !important;
        box-shadow: none !important;
    }

    #dfs-category-drawer .dfs-drawer-body .dfs-category-item:is(:hover, :focus-visible),
    #dfs-category-drawer .dfs-drawer-body .dfs-help-item:is(:hover, :focus-visible),
    #dfs-category-drawer .dfs-drawer-body .dfs-item-row:is(:hover, :focus-within, .is-active) {
        background: rgba(11, 53, 201, 0.07) !important;
        border-color: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    #dfs-category-drawer .dfs-drawer-body .dfs-category-item:is(:hover, :focus-visible),
    #dfs-category-drawer .dfs-drawer-body .dfs-help-item:is(:hover, :focus-visible),
    #dfs-category-drawer .dfs-drawer-body .dfs-category-item:is(:hover, :focus-visible) .dfs-cat-icon,
    #dfs-category-drawer .dfs-drawer-body .dfs-item-row:is(:hover, :focus-within, .is-active) > .dfs-item-link,
    #dfs-category-drawer .dfs-drawer-body .dfs-item-row:is(:hover, :focus-within, .is-active) > .dfs-submenu-toggle,
    #dfs-category-drawer .dfs-drawer-body .dfs-item-row:is(:hover, :focus-within, .is-active) .dfs-menu-item-icon,
    #dfs-category-drawer .dfs-drawer-body .dfs-item-row:is(:hover, :focus-within, .is-active) .dfs-icon-top i,
    #dfs-category-drawer .dfs-drawer-body .dfs-item-row:is(:hover, :focus-within, .is-active) .dfs-item-title-text {
        color: var(--theme-palette-color-1, #0b35c9) !important;
    }
}

/* La transparencia solo se usa en inicio antes de desplazar la página. */
@media (max-width: 920px) {
    body:not(.home) #dfs-vintage-header,
    body:not(.home) #dfs-vintage-header.dfs-header-compact {
        background: #ffffff !important;
        box-shadow: 0 4px 14px rgba(8, 28, 87, 0.14) !important;
    }

    body:not(.home) #dfs-vintage-header .dfs-header-mobile {
        background: #ffffff !important;
    }

    body:not(.home) #dfs-vintage-header .dfs-mobile-action,
    body:not(.home) #dfs-vintage-header .dfs-mobile-search-action,
    body:not(.home) #dfs-vintage-header .dfs-mobile-search-symbol,
    body:not(.home) #dfs-vintage-header .dfs-mobile-search-symbol i {
        color: #0b35c9 !important;
    }

    body.home #dfs-vintage-header:not(.dfs-header-compact),
    body.home #dfs-vintage-header:not(.dfs-header-compact) .dfs-header-mobile {
        background: transparent !important;
        box-shadow: none !important;
    }

    body.home #dfs-vintage-header:not(.dfs-header-compact) .dfs-mobile-action,
    body.home #dfs-vintage-header:not(.dfs-header-compact) .dfs-mobile-search-action,
    body.home #dfs-vintage-header:not(.dfs-header-compact) .dfs-mobile-search-symbol,
    body.home #dfs-vintage-header:not(.dfs-header-compact) .dfs-mobile-search-symbol i {
        color: #ffffff !important;
    }

    body.home #dfs-vintage-header.dfs-header-compact,
    body.home #dfs-vintage-header.dfs-header-compact .dfs-header-mobile {
        background: #ffffff !important;
    }

    body.home #dfs-vintage-header.dfs-header-compact {
        box-shadow: 0 4px 14px rgba(8, 28, 87, 0.14) !important;
    }

    body.home #dfs-vintage-header.dfs-header-compact .dfs-mobile-action,
    body.home #dfs-vintage-header.dfs-header-compact .dfs-mobile-search-action,
    body.home #dfs-vintage-header.dfs-header-compact .dfs-mobile-search-symbol,
    body.home #dfs-vintage-header.dfs-header-compact .dfs-mobile-search-symbol i {
        color: #0b35c9 !important;
    }
}

/* FiboSearch conserva sugerencias bajo body; al cerrar el overlay pueden
   aparecer un instante. En móvil solo se muestra la lista del propio panel. */
@media (max-width: 920px) {
    body > .dgwt-wcas-suggestions-wrapp {
        display: none !important;
    }
}

/* Buscador móvil: superficies blancas, acentos azules y tarjetas sin bordes. */
@media (max-width: 920px) {
    .dgwt-wcas-overlay-mobile,
    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar,
    .dgwt-wcas-overlay-mobile .dgwt-wcas-suggestions-wrapp {
        background: #ffffff !important;
        background-color: #ffffff !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar {
        border: 0 !important;
        box-shadow: 0 4px 14px rgba(8, 28, 87, 0.09) !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar button.dgwt-wcas-om-return,
    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar button.dgwt-wcas-om-return:focus,
    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar button.dgwt-wcas-om-return:active {
        border: 0 !important;
        border-radius: 10px !important;
        background: #dce4ec !important;
        color: #0b35c9 !important;
        box-shadow: 0 3px 10px rgba(8, 28, 87, 0.10) !important;
        transform: none !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar .dgwt-wcas-om-return .fi-rr-angle-small-right {
        color: #0b35c9 !important;
        -webkit-text-stroke-color: #0b35c9 !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar button.dgwt-wcas-om-return:hover {
        background: #0b35c9 !important;
        color: #ffffff !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar .dgwt-wcas-om-return:hover .fi-rr-angle-small-right {
        color: #ffffff !important;
        -webkit-text-stroke-color: #ffffff !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar .dgwt-wcas-search-wrapp-mobile .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
        border: 0 !important;
        border-radius: 10px !important;
        background: #f6f8fc !important;
        color: #081c57 !important;
        box-shadow: 0 3px 12px rgba(8, 28, 87, 0.11) !important;
        font-size: 16px !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-om-bar .dgwt-wcas-search-wrapp-mobile .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:focus {
        border: 0 !important;
        outline: none !important;
        box-shadow: 0 0 0 2px rgba(11, 53, 201, 0.16), 0 3px 12px rgba(8, 28, 87, 0.11) !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-search-wrapp-mobile input[type="search"].dgwt-wcas-search-input::placeholder {
        color: #7383a0 !important;
        font-size: 14px !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-search-wrapp-mobile button.dgwt-wcas-search-submit svg path {
        fill: #0b35c9 !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-suggestions-wrapp .dgwt-wcas-suggestion-headline-v2 {
        width: calc(100% - 24px) !important;
        margin: 10px 12px 8px !important;
        padding: 8px 4px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        color: #081c57 !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-sugg-hist-clear {
        color: #0b35c9 !important;
        text-decoration: none !important;
        font-weight: 600 !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-details-wrapp {
        background: #ffffff !important;
        border: 0 !important;
        border-radius: 10px !important;
        box-shadow: 0 4px 14px rgba(8, 28, 87, 0.10) !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-suggestions-wrapp .dgwt-wcas-suggestion:not(.dgwt-wcas-suggestion-headline-v2) {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 8px 20px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        color: #081c57 !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-suggestions-wrapp .dgwt-wcas-suggestion:not(.dgwt-wcas-suggestion-headline-v2):is(:hover, :focus-visible, .dgwt-wcas-suggestion-selected) {
        background: #f4f7fc !important;
        box-shadow: none !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-suggestions-wrapp .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product:not(.dgwt-wcas-suggestion-history-product) {
        width: calc(100% - 24px) !important;
        max-width: calc(100% - 24px) !important;
        margin: 0 12px 9px !important;
        padding: 10px 12px !important;
        border-radius: 10px !important;
        box-shadow: 0 3px 12px rgba(8, 28, 87, 0.10) !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-suggestions-wrapp .dgwt-wcas-suggestion.dgwt-wcas-suggestion-product:not(.dgwt-wcas-suggestion-history-product):is(:hover, :focus-visible, .dgwt-wcas-suggestion-selected) {
        box-shadow: 0 4px 14px rgba(8, 28, 87, 0.13) !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-suggestion-history-search svg path {
        fill: #0b35c9 !important;
    }

    .dgwt-wcas-overlay-mobile .dgwt-wcas-suggestion .dgwt-wcas-si img {
        border: 0 !important;
        border-radius: 7px !important;
    }
}

/* Footer links on the navy background. */
#footer a:hover,
#footer a:focus-visible {
    color: #ffffff !important;
}
