/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 04 2026 | 03:03:19 */
/* ==========================================================
   LAS FLORES DE LA REINA
   HEADER + MENÚ + CARRITO
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400;500;600;700&family=Lato:wght@400;700;900&family=Poppins:wght@300;400;500;600&display=swap');

:root {
    --flor-bg: #fff1f0;
    --flor-text: #2c2c2c;
    --flor-rose: #a7546a;
    --flor-rose-light: #f4e3e2;
}


/* ==========================================================
   ESCRITORIO
   ========================================================== */

@media (min-width: 922px) {

    /* ------------------------------------------------------
       HEADER GENERAL
       ------------------------------------------------------ */

    #masthead,
    #ast-desktop-header,
    #masthead .ast-primary-header-bar {
        background: rgba(255, 241, 240, 0.95) !important;

        height: 102px !important;
        min-height: 102px !important;

        padding: 0 !important;
        margin: 0 !important;

        border-top: 0 !important;
        border-bottom: 1px solid rgba(167, 84, 106, 0.15) !important;

        box-shadow: none !important;
    }


    /* Contenedor principal */
    #masthead .site-primary-header-wrap {
        width: 100% !important;
        max-width: none !important;

        min-height: 102px !important;

        padding: 0 32px !important;
        margin: 0 !important;
    }


    /* Centrar logo + menú + carrito como un solo conjunto */
    #masthead .ast-builder-grid-row {
        display: flex !important;

        width: max-content !important;
        max-width: calc(100vw - 64px) !important;

        min-height: 102px !important;

        margin: 0 auto !important;
        padding: 0 !important;

        align-items: center !important;
        justify-content: center !important;

        gap: clamp(35px, 5vw, 74px) !important;

        grid-template-columns: none !important;
    }


    #masthead .site-header-primary-section-left,
    #masthead .site-header-primary-section-center,
    #masthead .site-header-primary-section-right {
        display: flex !important;
        align-items: center !important;

        width: auto !important;
        height: auto !important;

        flex: 0 0 auto !important;

        padding: 0 !important;
        margin: 0 !important;
    }


    #masthead .site-header-primary-section-right {
        gap: clamp(35px, 5vw, 74px) !important;
    }



    /* ======================================================
       LOGO
       ====================================================== */

    #masthead .site-branding,
    #masthead .ast-site-identity,
    #masthead .site-logo-img {
        padding: 0 !important;
        margin: 0 !important;
    }


    #masthead .custom-logo-link {
        display: flex !important;
        align-items: center !important;

        padding: 0 !important;
        margin: 0 !important;
    }


    #masthead img.custom-logo,
    #masthead .site-logo-img img {
        display: block !important;

        width: auto !important;
        height: 88px !important;

        max-width: 128px !important;
        max-height: 88px !important;

        object-fit: contain !important;

        margin: 0 !important;
        padding: 0 !important;
    }



    /* ======================================================
       MENÚ PRINCIPAL
       ====================================================== */

    #masthead .ast-builder-menu,
    #masthead .ast-builder-menu-1 {
        padding: 0 !important;
        margin: 0 !important;
    }


    #masthead .main-header-menu {
        display: flex !important;
        align-items: center !important;

        gap: clamp(20px, 2vw, 29px) !important;

        padding: 0 !important;
        margin: 0 !important;
    }


    #masthead .main-header-menu > .menu-item {
        position: relative !important;

        padding: 0 !important;
        margin: 0 !important;
    }


    #masthead .main-header-menu > .menu-item > .menu-link {
        display: inline-flex !important;
        align-items: center !important;

        height: auto !important;
        min-height: 0 !important;

        padding: 0 !important;
        margin: 0 !important;

        font-family: 'Lora', serif !important;
        font-size: 14.4px !important;
        font-weight: 400 !important;
        line-height: 1.4 !important;

        color: var(--flor-text) !important;
        background: transparent !important;

        text-decoration: none !important;
        text-transform: none !important;

        border: 0 !important;

        transition: color 0.2s ease !important;
    }


    /* Quitar azul de Astra */
    #masthead .main-header-menu .current-menu-item > .menu-link,
    #masthead .main-header-menu .current-menu-ancestor > .menu-link,
    #masthead .main-header-menu .current_page_item > .menu-link,
    #masthead .main-header-menu .current-menu-parent > .menu-link {
        color: var(--flor-text) !important;
        background: transparent !important;
    }


    /* Hover */
    #masthead .main-header-menu > .menu-item > .menu-link:hover {
        color: var(--flor-rose) !important;
    }



    /* ------------------------------------------------------
       FLECHAS DEL MENÚ
       ------------------------------------------------------ */

    #masthead .main-header-menu .ast-icon {
        margin-left: 6px !important;
    }


    #masthead .main-header-menu .ast-icon svg {
        width: 8px !important;
        height: 8px !important;

        fill: var(--flor-rose) !important;
    }



    /* ======================================================
       SUBMENÚ
       ====================================================== */

    #masthead .main-header-menu .sub-menu {
        min-width: 205px !important;

        padding: 7px 0 !important;
        margin-top: 9px !important;

        background: rgba(255, 241, 240, 0.98) !important;

        border: 1px solid rgba(167, 84, 106, 0.18) !important;
        border-radius: 4px !important;

        box-shadow: 0 16px 40px rgba(167, 84, 106, 0.14) !important;
    }


    #masthead .main-header-menu .sub-menu .menu-link {
        display: block !important;

        padding: 11px 16px !important;

        font-family: 'Poppins', sans-serif !important;
        font-size: 12.5px !important;
        font-weight: 400 !important;

        color: var(--flor-text) !important;
        background: transparent !important;

        white-space: nowrap !important;

        transition:
            color 0.18s ease,
            background 0.18s ease,
            padding-left 0.18s ease !important;
    }


    #masthead .main-header-menu .sub-menu .menu-link:hover {
        color: var(--flor-rose) !important;
        background: var(--flor-rose-light) !important;

        padding-left: 19px !important;
    }



    /* ======================================================
       CARRITO
       ====================================================== */

    #masthead .ast-header-woo-cart,
    #masthead .ast-site-header-cart,
    #masthead .ast-site-header-cart-li {
        width: auto !important;
        height: auto !important;
        min-height: 0 !important;

        padding: 0 !important;
        margin: 0 !important;
    }


    /*
     * Contenedor exterior de Astra:
     * no debe tener fondo ni tamaño propio.
     */
    #masthead .ast-site-header-cart .cart-container {
        display: inline-flex !important;
        align-items: center !important;

        width: auto !important;
        height: auto !important;
        min-height: 0 !important;

        padding: 0 !important;
        margin: 0 !important;

        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;
    }


    /*
     * BOTÓN ROSA
     *
     * IMPORTANTE:
     * sin altura fija.
     * El HTML original usa padding 0.6rem 1.2rem.
     */
    #masthead .ast-site-header-cart .ast-addon-cart-wrap {
        box-sizing: border-box !important;

        position: relative !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: auto !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        padding: 9.6px 19.2px !important;
        margin: 0 !important;

        gap: 8px !important;

        background: var(--flor-rose) !important;
        color: var(--flor-bg) !important;

        border: 0 !important;
        border-radius: 2px !important;

        box-shadow: none !important;

        font-family: 'Lato', sans-serif !important;
        font-size: 12.8px !important;
        font-weight: 700 !important;

        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;

        line-height: 1 !important;

        transition:
            background 0.25s ease,
            color 0.25s ease,
            transform 0.15s ease !important;
    }



    /* ------------------------------------------------------
       TEXTO "CARRO"
       ------------------------------------------------------ */

    #masthead .ast-woo-header-cart-info-wrap {
        order: 2 !important;

        display: inline-flex !important;
        align-items: center !important;

        width: auto !important;
        height: auto !important;
        min-height: 0 !important;

        padding: 0 !important;
        margin: 0 !important;

        font-family: 'Lato', sans-serif !important;
        font-size: 12.8px !important;
        font-weight: 700 !important;

        line-height: 1 !important;
        letter-spacing: 0.08em !important;

        text-transform: uppercase !important;

        color: var(--flor-bg) !important;
        background: transparent !important;
    }


    #masthead .ast-woo-header-cart-title {
        padding: 0 !important;
        margin: 0 !important;

        font: inherit !important;
        color: inherit !important;

        line-height: 1 !important;
    }



    /* ------------------------------------------------------
       ICONO
       ------------------------------------------------------ */

    #masthead .ast-addon-cart-wrap i.astra-icon {
        order: 1 !important;

        position: relative !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 17px !important;
        height: 17px !important;

        flex: 0 0 17px !important;

        padding: 0 !important;
        margin: 0 !important;

        color: var(--flor-bg) !important;
        background: transparent !important;

        font-size: 17px !important;
        line-height: 17px !important;
    }


    #masthead .ast-addon-cart-wrap i.astra-icon svg {
        display: block !important;

        width: 17px !important;
        height: 17px !important;

        max-width: 17px !important;
        max-height: 17px !important;

        fill: none !important;
        stroke: currentColor !important;
    }



    /* ------------------------------------------------------
       CONTADOR
       ------------------------------------------------------ */

    #masthead .ast-addon-cart-wrap i.astra-icon::after {
        position: static !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 18px !important;
        height: 18px !important;

        min-width: 18px !important;
        min-height: 18px !important;

        padding: 0 !important;
        margin: 0 0 0 8px !important;

        transform: none !important;

        background: var(--flor-rose-light) !important;
        color: var(--flor-rose) !important;

        border: 0 !important;
        border-radius: 50% !important;

        font-family: 'Lato', sans-serif !important;
        font-size: 10px !important;
        font-weight: 900 !important;

        line-height: 18px !important;

        box-shadow: none !important;
    }



    /* ------------------------------------------------------
       HOVER DEL CARRITO
       ------------------------------------------------------ */

    #masthead .ast-addon-cart-wrap:hover {
        background: var(--flor-rose-light) !important;
        color: var(--flor-rose) !important;

        transform: translateY(-1px) !important;
    }


    #masthead .ast-addon-cart-wrap:hover .ast-woo-header-cart-info-wrap,
    #masthead .ast-addon-cart-wrap:hover .ast-woo-header-cart-title,
    #masthead .ast-addon-cart-wrap:hover i.astra-icon {
        color: var(--flor-rose) !important;
    }
}
/* ==========================================================
   AJUSTE FINAL CARRITO DESKTOP
   ========================================================== */

@media (min-width: 922px) {

    /* Botón */
    #masthead .ast-site-header-cart .ast-addon-cart-wrap {
        position: relative !important;

        width: 173px !important;
        min-width: 173px !important;

        height: 47px !important;
        min-height: 47px !important;
        max-height: 47px !important;

        padding: 0 46px 0 24px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        gap: 10px !important;

        background: #a7546a !important;
        color: #fff1f0 !important;

        border: none !important;
        border-radius: 2px !important;

        box-shadow: none !important;
    }


    /* Icono carrito */
    #masthead .ast-addon-cart-wrap i.astra-icon {
        order: 1 !important;

        position: relative !important;

        width: 18px !important;
        height: 18px !important;

        min-width: 18px !important;

        margin: 0 !important;
        padding: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        color: #fff1f0 !important;

        opacity: 1 !important;
    }


    #masthead .ast-addon-cart-wrap i.astra-icon svg {
        width: 18px !important;
        height: 18px !important;

        color: #fff1f0 !important;

        stroke: #fff1f0 !important;
        fill: none !important;

        opacity: 1 !important;
    }


    /* Texto CARRO */
    #masthead .ast-woo-header-cart-info-wrap {
        order: 2 !important;

        margin: 0 !important;
        padding: 0 !important;

        display: inline-flex !important;
        align-items: center !important;

        font-family: 'Lato', sans-serif !important;
        font-size: 12.8px !important;
        font-weight: 700 !important;

        line-height: 1 !important;
        letter-spacing: 0.08em !important;

        text-transform: uppercase !important;

        color: #fff1f0 !important;
    }


    #masthead .ast-woo-header-cart-title {
        color: #fff1f0 !important;
        font: inherit !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* Contador 0:
       Astra lo genera dentro del icono,
       así que lo sacamos visualmente y
       lo posicionamos al extremo derecho. */
    #masthead .ast-addon-cart-wrap i.astra-icon::after {
        position: absolute !important;

        top: 50% !important;

        /* respecto al botón completo */
        left: auto !important;
        right: -111px !important;

        transform: translateY(-50%) !important;

        width: 18px !important;
        height: 18px !important;

        min-width: 18px !important;
        min-height: 18px !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        background: #f4e3e2 !important;
        color: #a7546a !important;

        border: none !important;
        border-radius: 50% !important;

        font-family: 'Lato', sans-serif !important;
        font-size: 10px !important;
        font-weight: 900 !important;

        line-height: 18px !important;

        box-shadow: none !important;

        z-index: 2 !important;
    }
}
/* ==========================================================
   CORRECCIÓN CARRITO — TAMAÑO REAL DEL HTML
   ========================================================== */

@media (min-width: 922px) {

    /* Eliminar tamaños fijos que pusimos antes */
    #masthead .ast-header-woo-cart,
    #masthead .ast-site-header-cart,
    #masthead .ast-site-header-cart .cart-container {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        padding: 0 !important;
        margin: 0 !important;

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }


    /* Botón: mismas proporciones del HTML original */
    #masthead .ast-site-header-cart .ast-addon-cart-wrap {
        box-sizing: border-box !important;

        position: relative !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        /*
         * Dejamos espacio extra a la derecha
         * porque el contador de Astra se posiciona aparte.
         */
        padding:
            0.6rem
            2.9rem
            0.6rem
            1.2rem !important;

        margin: 0 !important;

        gap: 0.5rem !important;

        background: #a7546a !important;
        color: #fff1f0 !important;

        border: 0 !important;
        border-radius: 2px !important;

        box-shadow: none !important;

        font-family: 'Lato', sans-serif !important;
        font-size: 0.8rem !important;
        font-weight: 700 !important;

        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;

        line-height: 1.2 !important;
    }


    /* Icono */
    #masthead .ast-addon-cart-wrap i.astra-icon {
        order: 1 !important;

        position: static !important;

        width: 17px !important;
        min-width: 17px !important;
        height: 17px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        color: #fff1f0 !important;

        font-size: 17px !important;
        line-height: 17px !important;

        opacity: 1 !important;
    }

    #masthead .ast-addon-cart-wrap i.astra-icon::before {
        color: #fff1f0 !important;
        opacity: 1 !important;
    }

    #masthead .ast-addon-cart-wrap i.astra-icon svg {
        width: 17px !important;
        height: 17px !important;

        color: #fff1f0 !important;
        stroke: #fff1f0 !important;

        opacity: 1 !important;
    }


    /* Texto CARRO */
    #masthead .ast-woo-header-cart-info-wrap {
        order: 2 !important;

        display: inline-flex !important;
        align-items: center !important;

        width: auto !important;
        height: auto !important;

        padding: 0 !important;
        margin: 0 !important;

        font-family: 'Lato', sans-serif !important;
        font-size: 0.8rem !important;
        font-weight: 700 !important;

        letter-spacing: 0.08em !important;
        text-transform: uppercase !important;

        line-height: 1.2 !important;

        color: #fff1f0 !important;
    }

    #masthead .ast-woo-header-cart-title {
        margin: 0 !important;
        padding: 0 !important;

        font: inherit !important;
        color: inherit !important;
    }


    /* Contador */
    #masthead .ast-addon-cart-wrap i.astra-icon::after {
        position: absolute !important;

        top: 50% !important;
        right: 1.2rem !important;
        left: auto !important;

        transform: translateY(-50%) !important;

        width: 18px !important;
        height: 18px !important;
        min-width: 18px !important;
        min-height: 18px !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        background: #f4e3e2 !important;
        color: #a7546a !important;

        border: 0 !important;
        border-radius: 50% !important;

        font-family: 'Lato', sans-serif !important;
        font-size: 0.65rem !important;
        font-weight: 900 !important;

        line-height: 18px !important;

        box-shadow: none !important;
    }
}
/* ==========================================================
   MENÚ DESPLEGABLE — COMPORTAMIENTO DEL HTML ORIGINAL
   ========================================================== */

@media (min-width: 922px) {

    /* ------------------------------------------------------
       ELEMENTOS PRINCIPALES
       ------------------------------------------------------ */

    #masthead .main-header-menu > .menu-item {
        position: relative !important;
    }


    #masthead .main-header-menu > .menu-item > .menu-link {
        position: relative !important;
        overflow: visible !important;
    }


    /* ======================================================
       SUBRAYADO ELEGANTE
       ====================================================== */

    #masthead .main-header-menu > .menu-item > .menu-link::after {
        content: "" !important;

        position: absolute !important;

        left: 0 !important;
        right: 0 !important;
        bottom: -4px !important;

        width: 100% !important;
        height: 1.5px !important;

        background: #a7546a !important;

        transform: scaleX(0) !important;
        transform-origin: right center !important;

        transition:
            transform 0.30s ease !important;

        pointer-events: none !important;
    }


    /* Aparece al pasar el mouse */
    #masthead .main-header-menu > .menu-item:hover > .menu-link::after,
    #masthead .main-header-menu > .menu-item:focus-within > .menu-link::after {
        transform: scaleX(1) !important;
        transform-origin: left center !important;
    }


    /* No queremos subrayado en los enlaces internos */
    #masthead .main-header-menu .sub-menu .menu-link::after {
        display: none !important;
    }



    /* ======================================================
       FLECHA DEL DESPLEGABLE
       ====================================================== */

    #masthead
    .main-header-menu
    > .menu-item-has-children
    > .menu-link
    .ast-icon {
        transform: translateY(-1px) rotate(0deg) !important;

        transition:
            transform 0.24s ease !important;
    }


    /* Flecha hacia arriba cuando está abierto */
    #masthead
    .main-header-menu
    > .menu-item-has-children:hover
    > .menu-link
    .ast-icon,

    #masthead
    .main-header-menu
    > .menu-item-has-children:focus-within
    > .menu-link
    .ast-icon {
        transform: translateY(-1px) rotate(180deg) !important;
    }



    /* ======================================================
       PUENTE INVISIBLE ENTRE MENÚ Y DROPDOWN
       ====================================================== */

    /*
     * ESTA ES LA PARTE QUE SOLUCIONA
     * QUE EL MENÚ DESAPAREZCA AL BAJAR EL MOUSE.
     */

    #masthead
    .main-header-menu
    > .menu-item-has-children::after {
        content: "" !important;

        position: absolute !important;

        top: 100% !important;

        left: -12px !important;
        right: -12px !important;

        height: 15px !important;

        background: transparent !important;

        pointer-events: auto !important;

        z-index: 999 !important;
    }



    /* ======================================================
       DROPDOWN
       ====================================================== */

    #masthead
    .main-header-menu
    > .menu-item-has-children
    > .sub-menu {

        display: block !important;

        position: absolute !important;

        top: calc(100% + 9px) !important;
        left: 50% !important;

        min-width: 205px !important;

        margin: 0 !important;
        padding: 7px 0 !important;

        background: rgba(255, 241, 240, 0.98) !important;

        border: 1px solid rgba(167, 84, 106, 0.18) !important;
        border-radius: 4px !important;

        box-shadow:
            0 16px 40px rgba(167, 84, 106, 0.14) !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        transform:
            translateX(-50%)
            translateY(10px)
            scale(0.98) !important;

        transform-origin: top center !important;

        transition:
            opacity 0.24s ease,
            transform 0.24s cubic-bezier(0.16, 1, 0.3, 1),
            visibility 0s linear 0.16s !important;

        z-index: 1000 !important;
    }



    /* ======================================================
       DROPDOWN ABIERTO
       ====================================================== */

    #masthead
    .main-header-menu
    > .menu-item-has-children:hover
    > .sub-menu,

    #masthead
    .main-header-menu
    > .menu-item-has-children:focus-within
    > .sub-menu {

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

        transform:
            translateX(-50%)
            translateY(0)
            scale(1) !important;

        transition-delay: 0s !important;
    }



    /* ======================================================
       ENLACES INTERNOS
       ====================================================== */

    #masthead .main-header-menu .sub-menu .menu-link {
        display: block !important;

        padding: 11px 16px !important;

        font-family: 'Poppins', sans-serif !important;
        font-size: 12.5px !important;
        font-weight: 400 !important;

        color: #2c2c2c !important;
        background: transparent !important;

        white-space: nowrap !important;

        transition:
            color 0.18s ease,
            background 0.18s ease,
            padding-left 0.18s ease !important;
    }


    #masthead .main-header-menu .sub-menu .menu-link:hover {
        color: #a7546a !important;
        background: #f4e3e2 !important;

        padding-left: 19px !important;
    }
}
/* ==========================================================
   CARRITO — INVERSIÓN DE COLORES EN HOVER
   ========================================================== */

@media (min-width: 922px) {

    #masthead .ast-site-header-cart .ast-addon-cart-wrap {
        transition:
            background-color 0.25s ease,
            color 0.25s ease,
            transform 0.15s ease !important;
    }

    /* Hover del botón completo */
    #masthead .ast-site-header-cart:hover .ast-addon-cart-wrap,
    #masthead .ast-site-header-cart .ast-addon-cart-wrap:hover {
        background: #f4e3e2 !important;
        color: #a7546a !important;

        transform: translateY(-1px) !important;
    }

    /* Texto CARRO */
    #masthead .ast-site-header-cart:hover .ast-woo-header-cart-info-wrap,
    #masthead .ast-site-header-cart:hover .ast-woo-header-cart-title,
    #masthead .ast-addon-cart-wrap:hover .ast-woo-header-cart-info-wrap,
    #masthead .ast-addon-cart-wrap:hover .ast-woo-header-cart-title {
        color: #a7546a !important;
    }

    /* Icono */
    #masthead .ast-site-header-cart:hover i.astra-icon,
    #masthead .ast-site-header-cart:hover i.astra-icon::before,
    #masthead .ast-site-header-cart:hover i.astra-icon svg,
    #masthead .ast-addon-cart-wrap:hover i.astra-icon,
    #masthead .ast-addon-cart-wrap:hover i.astra-icon::before,
    #masthead .ast-addon-cart-wrap:hover i.astra-icon svg {
        color: #a7546a !important;
        stroke: #a7546a !important;
    }

    /* Contador:
       queda del mismo rosa pálido del fondo,
       tal como ocurre en el HTML */
    #masthead .ast-site-header-cart:hover i.astra-icon::after,
    #masthead .ast-addon-cart-wrap:hover i.astra-icon::after {
        background: #f4e3e2 !important;
        color: #a7546a !important;
    }
}
/* ==========================================================
   HEADER MÓVIL — LAS FLORES DE LA REINA
   ========================================================== */

@media (max-width: 921px) {

    /* ======================================================
       HEADER
       ====================================================== */

    #masthead .ast-mobile-header-wrap .ast-primary-header-bar {
        height: 88px !important;
        min-height: 88px !important;

        padding: 0 18px !important;

        background: rgba(255, 241, 240, 0.97) !important;

        border: 0 !important;
        border-bottom: 1px solid rgba(167, 84, 106, 0.12) !important;

        box-shadow: 0 8px 28px rgba(167, 84, 106, 0.08) !important;
    }

    #masthead .ast-mobile-header-wrap .site-primary-header-wrap {
        height: 88px !important;
        min-height: 88px !important;

        padding: 0 !important;
        margin: 0 !important;
    }

    /* ☰ — LOGO — CARRITO */
    #masthead .ast-mobile-header-wrap .ast-builder-grid-row {
        display: grid !important;

        grid-template-columns: 1fr auto 1fr !important;

        width: 100% !important;
        height: 88px !important;

        align-items: center !important;

        gap: 0 !important;
    }

    #masthead .ast-mobile-header-wrap
    .site-header-primary-section-left {
        justify-self: start !important;
    }

    #masthead .ast-mobile-header-wrap
    .site-header-primary-section-center {
        justify-self: center !important;
    }

    #masthead .ast-mobile-header-wrap
    .site-header-primary-section-right {
        justify-self: end !important;
    }



    /* ======================================================
       LOGO
       ====================================================== */

    #masthead .ast-mobile-header-wrap .site-branding,
    #masthead .ast-mobile-header-wrap .ast-site-identity,
    #masthead .ast-mobile-header-wrap .site-logo-img {
        margin: 0 !important;
        padding: 0 !important;
    }

    #masthead .ast-mobile-header-wrap img.custom-logo,
    #masthead .ast-mobile-header-wrap .site-logo-img img {
        display: block !important;

        width: auto !important;
        height: 58px !important;

        max-width: 88px !important;
        max-height: 58px !important;

        object-fit: contain !important;

        filter: drop-shadow(
            0 4px 10px rgba(167, 84, 106, 0.10)
        ) !important;
    }



    /* ======================================================
       HAMBURGUESA
       ====================================================== */

    #masthead .ast-mobile-header-wrap
    .ast-button-wrap .menu-toggle {
        width: 48px !important;
        height: 48px !important;

        min-width: 48px !important;
        min-height: 48px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        background: rgba(255,255,255,0.55) !important;

        color: #a7546a !important;

        border: 1px solid rgba(167,84,106,0.20) !important;
        border-radius: 999px !important;

        box-shadow: 0 8px 24px rgba(167,84,106,0.10) !important;
    }

    #masthead .ast-mobile-header-wrap
    .ast-button-wrap .menu-toggle:hover,
    #masthead .ast-mobile-header-wrap
    .ast-button-wrap .menu-toggle:active {
        background: #f4e3e2 !important;

        transform: translateY(-1px) !important;

        box-shadow: 0 10px 28px rgba(167,84,106,0.15) !important;
    }

    #masthead .ast-mobile-header-wrap .menu-toggle svg {
        width: 25px !important;
        height: 25px !important;

        fill: #a7546a !important;
        color: #a7546a !important;
    }



    /* ======================================================
       CARRITO MÓVIL
       ====================================================== */

    #masthead .ast-mobile-header-wrap .ast-site-header-cart {
        width: 48px !important;
        height: 48px !important;

        padding: 0 !important;
        margin: 0 !important;
    }

    #masthead .ast-mobile-header-wrap
    .ast-site-header-cart .cart-container {
        width: 48px !important;
        height: 48px !important;

        padding: 0 !important;
        margin: 0 !important;

        background: transparent !important;

        border: 0 !important;
        box-shadow: none !important;
    }

    #masthead .ast-mobile-header-wrap
    .ast-site-header-cart .ast-addon-cart-wrap {
        position: relative !important;

        width: 48px !important;
        height: 48px !important;

        min-width: 48px !important;
        min-height: 48px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        background: rgba(255,255,255,0.55) !important;

        color: #a7546a !important;

        border: 1px solid rgba(167,84,106,0.20) !important;
        border-radius: 999px !important;

        box-shadow: 0 8px 24px rgba(167,84,106,0.10) !important;
    }

    /* Ocultar palabra CARRO */
    #masthead .ast-mobile-header-wrap
    .ast-woo-header-cart-info-wrap {
        display: none !important;
    }

    /* Icono */
    #masthead .ast-mobile-header-wrap
    .ast-addon-cart-wrap i.astra-icon {
        position: relative !important;

        width: 27px !important;
        height: 27px !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #a7546a !important;

        font-size: 27px !important;
        line-height: 27px !important;
    }

    #masthead .ast-mobile-header-wrap
    .ast-addon-cart-wrap i.astra-icon svg {
        width: 27px !important;
        height: 27px !important;

        color: #a7546a !important;
        stroke: #a7546a !important;
    }

    /* Contador */
    #masthead .ast-mobile-header-wrap
    .ast-addon-cart-wrap i.astra-icon::after {
        position: absolute !important;

        top: -11px !important;
        right: -11px !important;

        transform: none !important;

        width: 20px !important;
        height: 20px !important;

        min-width: 20px !important;
        min-height: 20px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        background: #a7546a !important;
        color: #ffffff !important;

        border: 2px solid #fff1f0 !important;
        border-radius: 50% !important;

        font-family: 'Lato', sans-serif !important;
        font-size: 10px !important;
        font-weight: 900 !important;

        line-height: 16px !important;

        box-shadow: 0 5px 12px rgba(167,84,106,0.24) !important;
    }



    /* ======================================================
       FONDO OSCURO CUANDO SE ABRE EL MENÚ
       ====================================================== */

    .ast-mobile-popup-drawer .ast-mobile-popup-overlay {
        background: rgba(44,44,44,0.34) !important;

        backdrop-filter: blur(3px) !important;
        -webkit-backdrop-filter: blur(3px) !important;
    }



    /* ======================================================
       PANEL LATERAL
       ====================================================== */

    .ast-mobile-popup-drawer .ast-mobile-popup-inner {
        width: min(88vw, 360px) !important;
        max-width: 360px !important;

        background:
            radial-gradient(
                circle at 10% 0%,
                rgba(201,122,144,0.17),
                transparent 42%
            ),
            linear-gradient(
                180deg,
                #fff7f6 0%,
                #fff1f0 100%
            ) !important;

        border-right: 1px solid rgba(167,84,106,0.16) !important;

        box-shadow: 22px 0 50px rgba(44,44,44,0.18) !important;
    }



    /* ======================================================
       CABECERA DEL MENÚ LATERAL
       ====================================================== */

    .ast-mobile-popup-drawer .ast-mobile-popup-header {
        position: relative !important;

        min-height: 132px !important;

        padding: 21px !important;

        display: flex !important;
        align-items: flex-start !important;
        justify-content: flex-end !important;

        border-bottom: 1px solid rgba(167,84,106,0.13) !important;
    }

    /* Nombre */
    .ast-mobile-popup-drawer
    .ast-mobile-popup-header::before {
        content: "Las Flores de la\A Reina";

        white-space: pre-line;

        position: absolute;

        top: 27px;
        left: 21px;

        font-family: 'Lora', serif;
        font-size: 17px;
        font-weight: 400;

        line-height: 1.12;

        color: #2c2c2c;
    }

    /* Subtítulo */
    .ast-mobile-popup-drawer
    .ast-mobile-popup-header::after {
        content: "ORIGINAL SINCE 2001";

        position: absolute;

        top: 76px;
        left: 21px;

        font-family: 'Lato', sans-serif;

        font-size: 9px;
        font-weight: 700;

        letter-spacing: .16em;

        color: #a7546a;
    }



    /* ======================================================
       BOTÓN CERRAR
       ====================================================== */

    .ast-mobile-popup-drawer .menu-toggle-close {
        width: 38px !important;
        height: 38px !important;

        min-width: 38px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        background: rgba(255,255,255,0.65) !important;

        color: #a7546a !important;

        border: 1px solid rgba(167,84,106,0.18) !important;
        border-radius: 999px !important;

        box-shadow: 0 6px 18px rgba(167,84,106,0.10) !important;
    }

    .ast-mobile-popup-drawer .menu-toggle-close svg {
        width: 17px !important;
        height: 17px !important;

        fill: #a7546a !important;
    }



    /* ======================================================
       CONTENIDO DEL MENÚ
       ====================================================== */

    .ast-mobile-popup-drawer .ast-mobile-popup-content {
        padding: 14px 18px 26px !important;
    }



    /* Tarjetas principales */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item {
        position: relative !important;

        width: 100% !important;

        margin: 6px 0 !important;

        background: rgba(255,255,255,0.58) !important;

        border: 1px solid rgba(167,84,106,0.10) !important;
        border-radius: 14px !important;

        box-shadow: 0 8px 22px rgba(167,84,106,0.07) !important;

        overflow: hidden !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link {
        width: 100% !important;

        min-height: 54px !important;

        padding: 15px !important;

        display: flex !important;
        align-items: center !important;

        font-family: 'Lora', serif !important;
        font-size: 16px !important;
        font-weight: 400 !important;

        line-height: 1.3 !important;

        color: #2c2c2c !important;

        background: transparent !important;

        border: 0 !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .menu-link {
        padding-right: 55px !important;
    }



    /* ======================================================
       BOTÓN DE ACORDEÓN
       ====================================================== */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle {
        position: absolute !important;

        top: 15px !important;
        right: 15px !important;

        width: 24px !important;
        height: 24px !important;

        padding: 0 !important;
        margin: 0 !important;

        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        background: rgba(167,84,106,0.08) !important;

        color: #a7546a !important;

        border: 0 !important;
        border-radius: 999px !important;
    }

    .ast-mobile-popup-drawer .ast-menu-toggle svg {
        width: 10px !important;
        height: 10px !important;

        fill: #a7546a !important;

        transition: transform .25s ease !important;
    }

    .ast-mobile-popup-drawer
    .ast-menu-toggle[aria-expanded="true"] svg {
        transform: rotate(180deg) !important;
    }



    /* ======================================================
       SUBMENÚ
       ====================================================== */

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu {
        width: 100% !important;

        margin: 0 !important;
        padding: 3px 6px 8px !important;

        background: transparent !important;

        border: 0 !important;
        box-shadow: none !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .menu-link {
        min-height: 42px !important;

        margin: 4px 0 4px 9px !important;
        padding: 11px 15px !important;

        display: flex !important;
        align-items: center !important;

        font-family: 'Poppins', sans-serif !important;
        font-size: 14px !important;
        font-weight: 400 !important;

        color: #666 !important;

        background: transparent !important;

        border-left: 2px solid rgba(167,84,106,0.22) !important;

        border-radius: 0 12px 12px 0 !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .menu-link:hover {
        color: #a7546a !important;

        background: rgba(255,255,255,0.65) !important;

        border-left-color: #a7546a !important;
    }
}
/* ==========================================================
   AJUSTE FINO HEADER MÓVIL
   ========================================================== */

@media (max-width: 921px) {

    /* Dar aire real a izquierda y derecha */
    #masthead .ast-mobile-header-wrap .ast-builder-grid-row {
        box-sizing: border-box !important;

        width: 100% !important;

        padding-left: 18px !important;
        padding-right: 18px !important;

        grid-template-columns: 1fr auto 1fr !important;
    }


    /* Asegurar posiciones */
    #masthead .ast-mobile-header-wrap
    .site-header-primary-section-left {
        justify-self: start !important;
        margin: 0 !important;
    }

    #masthead .ast-mobile-header-wrap
    .site-header-primary-section-center {
        justify-self: center !important;
        margin: 0 !important;
    }

    #masthead .ast-mobile-header-wrap
    .site-header-primary-section-right {
        justify-self: end !important;
        margin: 0 !important;
    }


    /* ======================================================
       HAMBURGUESA
       ====================================================== */

    #masthead .ast-mobile-header-wrap
    .ast-button-wrap .menu-toggle {

        width: 48px !important;
        height: 48px !important;

        border-radius: 50% !important;

        background: rgba(255,255,255,0.55) !important;

        border: 1px solid rgba(167,84,106,0.20) !important;

        color: #a7546a !important;

        outline: none !important;

        box-shadow:
            0 8px 24px rgba(167,84,106,0.10) !important;
    }


    /* Quitar contornos raros al pulsar/focus */
    #masthead .ast-mobile-header-wrap
    .ast-button-wrap .menu-toggle:focus,
    #masthead .ast-mobile-header-wrap
    .ast-button-wrap .menu-toggle:focus-visible {

        outline: none !important;
        border-style: solid !important;
    }


    #masthead .ast-mobile-header-wrap
    .menu-toggle svg {

        width: 23px !important;
        height: 23px !important;

        fill: #a7546a !important;
        color: #a7546a !important;
    }


    /* ======================================================
       LOGO
       ====================================================== */

    #masthead .ast-mobile-header-wrap img.custom-logo,
    #masthead .ast-mobile-header-wrap .site-logo-img img {

        height: 62px !important;
        width: auto !important;

        max-height: 62px !important;
        max-width: 94px !important;

        object-fit: contain !important;
    }


    /* ======================================================
       CARRITO
       ====================================================== */

    #masthead .ast-mobile-header-wrap
    .ast-site-header-cart,

    #masthead .ast-mobile-header-wrap
    .ast-site-header-cart .cart-container,

    #masthead .ast-mobile-header-wrap
    .ast-site-header-cart .ast-addon-cart-wrap {

        width: 48px !important;
        height: 48px !important;

        min-width: 48px !important;
        min-height: 48px !important;

        max-width: 48px !important;
        max-height: 48px !important;
    }


    #masthead .ast-mobile-header-wrap
    .ast-site-header-cart .ast-addon-cart-wrap {

        padding: 0 !important;

        border-radius: 50% !important;

        background: rgba(255,255,255,0.55) !important;

        border:
            1px solid rgba(167,84,106,0.20) !important;

        box-shadow:
            0 8px 24px rgba(167,84,106,0.10) !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }


    /* Icono un poco menos pesado */
    #masthead .ast-mobile-header-wrap
    .ast-addon-cart-wrap i.astra-icon {

        width: 24px !important;
        height: 24px !important;

        font-size: 24px !important;
        line-height: 24px !important;

        color: #a7546a !important;
    }


    #masthead .ast-mobile-header-wrap
    .ast-addon-cart-wrap i.astra-icon svg {

        width: 24px !important;
        height: 24px !important;

        color: #a7546a !important;
        stroke: #a7546a !important;

        stroke-width: 1.7 !important;

        opacity: 0.9 !important;
    }


    /* Contador flotante */
    #masthead .ast-mobile-header-wrap
    .ast-addon-cart-wrap i.astra-icon::after {

        top: -10px !important;
        right: -10px !important;

        width: 20px !important;
        height: 20px !important;

        background: #a7546a !important;
        color: #ffffff !important;

        border: 2px solid #fff1f0 !important;

        font-size: 10px !important;

        box-shadow:
            0 5px 12px rgba(167,84,106,0.24) !important;
    }
}
@media (max-width: 921px) {

    /* Más aire lateral */
    #masthead .ast-mobile-header-wrap .ast-builder-grid-row {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    /* Logo un poco más cercano a la referencia */
    #masthead .ast-mobile-header-wrap img.custom-logo,
    #masthead .ast-mobile-header-wrap .site-logo-img img {
        height: 64px !important;
        max-height: 64px !important;
        max-width: 96px !important;
    }

    /* Carrito algo más delicado */
    #masthead .ast-mobile-header-wrap
    .ast-addon-cart-wrap i.astra-icon {
        width: 23px !important;
        height: 23px !important;
        font-size: 23px !important;
        line-height: 23px !important;
    }

    #masthead .ast-mobile-header-wrap
    .ast-addon-cart-wrap i.astra-icon svg {
        width: 23px !important;
        height: 23px !important;
        stroke-width: 1.5 !important;
        opacity: 0.82 !important;
    }
}
/* ==========================================================
   AJUSTE FINO — MENÚ MÓVIL ABIERTO
   ========================================================== */

@media (max-width: 921px) {

    /* Cabecera del panel algo más compacta */
    .ast-mobile-popup-drawer .ast-mobile-popup-header {
        min-height: 118px !important;
        padding: 18px 20px !important;
    }

    .ast-mobile-popup-drawer
    .ast-mobile-popup-header::before {
        top: 24px !important;
        left: 20px !important;

        font-size: 17px !important;
        line-height: 1.12 !important;
    }

    .ast-mobile-popup-drawer
    .ast-mobile-popup-header::after {
        top: 72px !important;
        left: 20px !important;

        font-size: 9px !important;
    }


    /* ======================================================
       SUBMENÚ ABIERTO
       ====================================================== */

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu {

        margin: 0 !important;
        padding: 4px 10px 10px 12px !important;

        background: transparent !important;

        border: 0 !important;
        box-shadow: none !important;
    }


    /* Cada subcategoría */
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item {

        margin: 0 !important;
        padding: 0 !important;

        min-height: 0 !important;

        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link {

        position: relative !important;

        min-height: 0 !important;
        height: auto !important;

        margin: 4px 0 4px 8px !important;
        padding: 11px 12px 11px 28px !important;

        display: flex !important;
        align-items: center !important;

        font-family: 'Poppins', sans-serif !important;
        font-size: 14px !important;
        font-weight: 400 !important;

        line-height: 1.35 !important;

        color: #666 !important;

        background: transparent !important;

        border: 0 !important;
        border-left: 2px solid rgba(167,84,106,0.22) !important;

        border-radius: 0 10px 10px 0 !important;

        box-shadow: none !important;
    }


    /* Quitar flechas/chevrons de Astra dentro de subcategorías */
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .ast-icon,

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .ast-menu-toggle {

        display: none !important;
    }


    /* Estrellita rosa del HTML */
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link::before {

        content: "✦" !important;

        position: absolute !important;

        left: 12px !important;
        top: 50% !important;

        transform: translateY(-50%) !important;

        color: #a7546a !important;

        font-size: 9px !important;
        line-height: 1 !important;
    }


    /* Hover / toque */
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link:hover,

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link:active {

        color: #a7546a !important;

        background: rgba(255,255,255,0.65) !important;

        border-left-color: #a7546a !important;

        transform: translateX(2px) !important;
    }
}
/* ==========================================================
   ACORDEÓN MÓVIL FINAL
   Las Flores de la Reina
   ========================================================== */

@media (max-width: 921px) {

    /* ------------------------------------------------------
       TRANSICIÓN DE LA TARJETA PADRE
       ------------------------------------------------------ */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children {

        transition:
            background-color 0.22s ease,
            border-color 0.22s ease,
            box-shadow 0.22s ease !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open {

        border-color: rgba(167,84,106,0.18) !important;

        box-shadow:
            0 10px 25px rgba(167,84,106,0.10) !important;
    }


    /* Texto del padre cuando está abierto */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .menu-link {

        color: #a7546a !important;

        transition:
            color 0.22s ease,
            transform 0.22s ease !important;
    }



    /* ======================================================
       BOTÓN REDONDO DE LA FLECHA
       ====================================================== */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle {

        position: absolute !important;

        top: 15px !important;
        right: 15px !important;

        width: 28px !important;
        height: 28px !important;

        min-width: 28px !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        background: rgba(167,84,106,0.08) !important;

        color: #a7546a !important;

        border: 0 !important;
        border-radius: 50% !important;

        box-shadow: none !important;

        transition:
            background-color 0.22s ease,
            transform 0.22s ease !important;
    }


    /* Quitamos la flecha propia de Astra */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle
    svg,

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle
    .ast-icon {

        display: none !important;
    }


    /* Nuestra flecha */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle::before {

        content: "⌄" !important;

        display: block !important;

        font-family: Arial, sans-serif !important;

        font-size: 13px !important;
        font-weight: 400 !important;

        line-height: 1 !important;

        color: #a7546a !important;

        transform: translateY(-2px) rotate(0deg);

        transition:
            transform 0.28s cubic-bezier(0.16,1,0.3,1) !important;
    }


    /* Flecha gira al abrir */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .ast-menu-toggle {

        background: rgba(167,84,106,0.14) !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .ast-menu-toggle::before {

        transform: translateY(2px) rotate(180deg) !important;
    }



    /* ======================================================
       SUBMENÚ ANIMADO
       ====================================================== */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .sub-menu {

        display: block !important;

        max-height: var(--fdr-submenu-height, 0px) !important;

        overflow: hidden !important;

        opacity: 0;

        visibility: hidden !important;

        margin: 0 !important;

        padding:
            0
            6px !important;

        background: transparent !important;

        border: 0 !important;

        box-shadow: none !important;

        transform: translateY(-5px);

        transition:
            max-height 0.34s cubic-bezier(0.16,1,0.3,1),
            opacity 0.22s ease,
            transform 0.28s cubic-bezier(0.16,1,0.3,1),
            padding 0.25s ease,
            visibility 0s linear 0.30s !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .sub-menu {

        opacity: 1;

        visibility: visible !important;

        transform: translateY(0);

        padding:
            3px
            6px
            10px !important;

        transition-delay: 0s !important;
    }



    /* ======================================================
       ELIMINAR CUADROS BLANCOS DE CADA SUBCATEGORÍA
       ====================================================== */

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item {

        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link {

        position: relative !important;

        width: auto !important;

        height: auto !important;
        min-height: 0 !important;

        display: flex !important;
        align-items: center !important;

        gap: 10px !important;

        margin:
            4px
            0
            4px
            9px !important;

        padding:
            11px
            15px !important;

        background: transparent !important;

        color: #666 !important;

        font-family: 'Poppins', sans-serif !important;
        font-size: 14px !important;
        font-weight: 400 !important;

        line-height: 1.4 !important;

        border: 0 !important;

        border-left:
            2px solid rgba(167,84,106,0.22) !important;

        border-radius:
            0 12px 12px 0 !important;

        box-shadow: none !important;

        transition:
            color 0.20s ease,
            background-color 0.20s ease,
            border-color 0.20s ease,
            transform 0.20s ease !important;
    }



    /* ------------------------------------------------------
       QUITAR CUALQUIER > / FLECHA QUE META ASTRA
       ------------------------------------------------------ */

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link
    svg,

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .ast-menu-toggle,

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .ast-icon {

        display: none !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link::before {

        content: "✦" !important;

        position: static !important;

        display: inline-block !important;

        width: auto !important;
        height: auto !important;

        margin: 0 !important;

        color: #a7546a !important;

        background: transparent !important;

        font-family: Arial, sans-serif !important;

        font-size: 9px !important;

        transform: none !important;
    }


    /* Hover / toque */
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link:hover,

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link:active {

        color: #a7546a !important;

        background:
            rgba(255,255,255,0.65) !important;

        border-left-color:
            #a7546a !important;

        transform:
            translateX(2px) !important;
    }
}
/* ==========================================================
   REPARACIÓN FINAL ACORDEÓN MÓVIL
   ========================================================== */

@media (max-width: 921px) {

    /* Tarjeta padre */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children {
        position: relative !important;
        overflow: hidden !important;

        transition:
            box-shadow 0.25s ease,
            border-color 0.25s ease,
            transform 0.25s ease !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open {
        box-shadow: 0 10px 24px rgba(167,84,106,0.08) !important;
        border-color: rgba(167,84,106,0.16) !important;
    }


    /* Enlace padre */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .menu-link {
        display: flex !important;
        align-items: center !important;

        min-height: 54px !important;
        height: auto !important;

        margin: 0 !important;
        padding: 16px 56px 16px 24px !important;

        position: relative !important;
        z-index: 2 !important;

        font-family: 'Lora', serif !important;
        font-size: 16px !important;
        line-height: 1.3 !important;

        background: transparent !important;

        transition:
            color 0.22s ease,
            transform 0.22s ease !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .menu-link {
        color: #a7546a !important;
    }


    /* Flecha */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle {
        position: absolute !important;
        top: 13px !important;
        right: 14px !important;
        z-index: 3 !important;

        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        padding: 0 !important;
        margin: 0 !important;

        background: rgba(167,84,106,0.08) !important;
        border: 1px solid rgba(167,84,106,0.08) !important;
        border-radius: 50% !important;

        box-shadow: none !important;

        transition:
            background-color 0.22s ease,
            transform 0.22s ease !important;
    }

    /* Ocultar icono nativo */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle
    svg,
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle
    .ast-icon {
        display: none !important;
    }

    /* Nuestra flecha */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle::before {
        content: "⌄" !important;
        display: block !important;

        font-family: Arial, sans-serif !important;
        font-size: 14px !important;
        line-height: 1 !important;
        color: #a7546a !important;

        transform: translateY(-2px) rotate(0deg);
        transition: transform 0.28s cubic-bezier(0.16,1,0.3,1) !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .ast-menu-toggle {
        background: rgba(167,84,106,0.14) !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .ast-menu-toggle::before {
        transform: translateY(2px) rotate(180deg) !important;
    }


    /* Submenú con animación */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .sub-menu {
        display: block !important;

        max-height: 0 !important;
        overflow: hidden !important;

        opacity: 0 !important;
        visibility: hidden !important;

        margin: 0 !important;
        padding: 0 10px 0 12px !important;

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;

        transform: translateY(-6px) !important;

        transition:
            max-height 0.34s cubic-bezier(0.16,1,0.3,1),
            opacity 0.22s ease,
            transform 0.28s cubic-bezier(0.16,1,0.3,1),
            padding 0.22s ease,
            visibility 0s linear 0.30s !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        padding: 2px 10px 12px 12px !important;
        transition-delay: 0s !important;
    }


    /* Quitar cuadros feos detrás de cada subitem */
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item {
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link {
        display: flex !important;
        align-items: center !important;

        min-height: 0 !important;
        height: auto !important;

        margin: 3px 0 3px 8px !important;
        padding: 10px 14px !important;

        background: transparent !important;

        color: #666 !important;
        font-family: 'Poppins', sans-serif !important;
        font-size: 14px !important;
        line-height: 1.35 !important;

        border: 0 !important;
        border-left: 2px solid rgba(167,84,106,0.22) !important;
        border-radius: 0 10px 10px 0 !important;
        box-shadow: none !important;

        transition:
            color 0.20s ease,
            background-color 0.20s ease,
            border-color 0.20s ease,
            transform 0.20s ease !important;
    }

    /* Ocultar cualquier > de Astra */
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .ast-menu-toggle,
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    .ast-icon,
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    svg {
        display: none !important;
    }

    /* Estrellita */
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link::before {
        content: "✦" !important;
        display: inline-block !important;
        margin-right: 10px !important;

        color: #a7546a !important;
        font-size: 9px !important;
        line-height: 1 !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link:hover,
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link:active {
        color: #a7546a !important;
        background: rgba(255,255,255,0.65) !important;
        border-left-color: #a7546a !important;
        transform: translateX(2px) !important;
    }
}
/* ==========================================================
   FIX ACORDEÓN MÓVIL
   ========================================================== */

@media (max-width: 921px) {

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .sub-menu {

        display: block !important;

        max-height: 0;

        overflow: hidden !important;

        opacity: 0;

        visibility: visible !important;

        margin: 0 !important;

        padding: 0 10px 0 12px !important;

        background: transparent !important;

        border: 0 !important;

        box-shadow: none !important;

        transform: translateY(-5px);

        transition:
            max-height 0.36s cubic-bezier(0.16,1,0.3,1),
            opacity 0.24s ease,
            transform 0.30s cubic-bezier(0.16,1,0.3,1),
            padding 0.26s ease !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .sub-menu {

        padding:
            4px
            10px
            12px
            12px !important;

        transform: translateY(0);
    }


    /*
     * Toda la fila del padre parece interactiva.
     */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .menu-link {

        cursor: pointer !important;
        user-select: none !important;
        -webkit-tap-highlight-color: transparent !important;
    }


    /*
     * Sensación táctil al tocar.
     */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children:active {

        transform: scale(0.992) !important;
    }


    /*
     * Flecha más suave.
     */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle::before {

        transition:
            transform 0.30s cubic-bezier(0.16,1,0.3,1) !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .ast-menu-toggle::before {

        transform:
            translateY(2px)
            rotate(180deg) !important;
    }
}
/* ==========================================================
   AJUSTE FINO FINAL — FONDO Y COLORES MENÚ MÓVIL
   ========================================================== */

@media (max-width: 921px) {

    /* ------------------------------------------------------
       QUITAR EL BLOQUE BLANCO GRANDE DEL FONDO
       ------------------------------------------------------ */

    .ast-mobile-popup-drawer .ast-mobile-popup-content,
    .ast-mobile-popup-drawer .ast-mobile-popup-content > div,
    .ast-mobile-popup-drawer .main-header-bar-navigation,
    .ast-mobile-popup-drawer .main-navigation,
    .ast-mobile-popup-drawer .main-header-menu {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .ast-mobile-popup-drawer .ast-mobile-popup-content {
        padding: 14px 18px 28px !important;
    }

    .ast-mobile-popup-drawer .main-header-menu {
        margin: 0 !important;
        padding: 0 !important;
    }


    /* ------------------------------------------------------
       TARJETAS CERRADAS
       ------------------------------------------------------ */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item {
        background: rgba(255, 255, 255, 0.64) !important;
        border: 1px solid rgba(167, 84, 106, 0.10) !important;
        border-radius: 18px !important;
        box-shadow: 0 8px 22px rgba(167, 84, 106, 0.05) !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link {
        color: #2f2a2a !important;
    }


    /* ------------------------------------------------------
       ITEM ABIERTO: SIN BLOQUE BLANCO ENVOLVENTE
       ------------------------------------------------------ */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        padding-bottom: 6px !important;
        overflow: visible !important;
    }

    /* La "pastilla" superior del item abierto */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .menu-link {
        background: rgba(244, 227, 226, 0.72) !important;
        border: 1px solid rgba(167, 84, 106, 0.18) !important;
        border-radius: 18px !important;
        box-shadow: 0 8px 20px rgba(167, 84, 106, 0.05) !important;
        color: #a7546a !important;
    }


    /* ------------------------------------------------------
       FLECHA / BOTÓN DEL ACORDEÓN
       ------------------------------------------------------ */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle {
        background: rgba(255, 245, 245, 0.72) !important;
        border: 1px solid rgba(167, 84, 106, 0.08) !important;
        box-shadow: none !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .ast-menu-toggle {
        background: rgba(167, 84, 106, 0.08) !important;
        border-color: rgba(167, 84, 106, 0.12) !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle::before {
        color: #a7546a !important;
    }


    /* ------------------------------------------------------
       SUBMENÚ: SOBRE EL FONDO ROSADO, NO DENTRO DE UNA CAJA
       ------------------------------------------------------ */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .sub-menu {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        margin-top: 8px !important;
        padding: 2px 6px 8px 8px !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link {
        background: transparent !important;
        color: #686262 !important;
        border-left: 2px solid rgba(167, 84, 106, 0.22) !important;
    }

    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link::before {
        color: #a7546a !important;
    }


    /* ------------------------------------------------------
       HOVER / TOQUE
       ------------------------------------------------------ */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link:active,
    .ast-mobile-popup-drawer
    .main-header-menu
    .sub-menu
    > .menu-item
    > .menu-link:active {
        transform: translateX(1px) !important;
    }
}
/* ==========================================================
   ALTURA COMPACTA REAL — TARJETAS MENÚ MÓVIL
   ========================================================== */

@media (max-width: 921px) {

    /* Tarjeta exterior */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item {
        box-sizing: border-box !important;

        min-height: 0 !important;
        height: auto !important;

        padding: 0 !important;
        margin: 6px 0 !important;

        border-radius: 14px !important;
    }


    /* Enlace principal */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link {
        box-sizing: border-box !important;

        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;

        padding: 0 22px !important;
        margin: 0 !important;

        display: flex !important;
        align-items: center !important;

        font-size: 16px !important;
        line-height: 1.2 !important;
    }


    /* Padres con desplegable */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .menu-link {
        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;

        padding: 0 58px 0 22px !important;
    }


    /* Flecha perfectamente centrada */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle {
        top: 12px !important;
        right: 14px !important;

        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;
    }


    /* Cuando está abierto:
       solo la cabecera conserva los 54px;
       el submenú crece debajo por separado */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .menu-link {
        box-sizing: border-box !important;

        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;

        padding: 0 58px 0 22px !important;
    }
}
/* ==========================================================
   FIX ALTURA CATEGORÍAS CON SUBMENÚ CERRADO
   ========================================================== */

@media (max-width: 921px) {

    /* Cuando el acordeón está CERRADO,
       el submenu no debe ocupar absolutamente ningún espacio */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children:not(.fdr-open)
    > .sub-menu {

        display: block !important;

        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        overflow: hidden !important;

        opacity: 0 !important;
    }


    /* La tarjeta padre cerrada debe medir solo lo mismo
       que Inicio / Contáctanos */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children:not(.fdr-open) {

        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;

        padding: 0 !important;

        overflow: hidden !important;
    }


    /* Enlace principal */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children:not(.fdr-open)
    > .menu-link {

        height: 54px !important;
        min-height: 54px !important;
        max-height: 54px !important;

        padding: 0 58px 0 22px !important;

        margin: 0 !important;
    }


    /* Cuando ABRE, liberamos la altura para que el JS
       pueda animar el contenido normalmente */
    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open {

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        overflow: visible !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .sub-menu {

        height: auto !important;

        margin-top: 6px !important;

        padding:
            2px
            6px
            10px
            8px !important;
    }
}