/* ==========================================================
   LAS FLORES DE LA REINA
   HEADER + MENÚ + CARRITO
   VERSIÓN CONSOLIDADA
   ========================================================== */

@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;
}


/* ==========================================================
   DESKTOP
   ========================================================== */

@media (min-width: 922px) {

    /* ======================================================
       HEADER GENERAL
       ====================================================== */

    #masthead {
        position: sticky !important;
        top: 0 !important;
        z-index: 9999 !important;

        background: #fae9ea !important;

        transition:
            box-shadow 0.32s ease,
            background-color 0.32s ease !important;
    }


    #ast-desktop-header,
    #masthead .ast-primary-header-bar {
        height: 102px !important;
        min-height: 102px !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #fae9ea !important;

        border-top: 0 !important;
        border-bottom: 1px solid rgba(167,84,106,0.15) !important;

        box-shadow: none !important;

        transition:
            height 0.32s cubic-bezier(0.16,1,0.3,1),
            min-height 0.32s cubic-bezier(0.16,1,0.3,1),
            background-color 0.32s ease,
            box-shadow 0.32s ease !important;
    }


    #masthead .site-primary-header-wrap {
        width: 100% !important;
        max-width: none !important;

        min-height: 102px !important;

        margin: 0 !important;
        padding: 0 32px !important;

        transition:
            min-height 0.32s cubic-bezier(0.16,1,0.3,1) !important;
    }


    #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;

        transition:
            min-height 0.32s cubic-bezier(0.16,1,0.3,1),
            gap 0.32s cubic-bezier(0.16,1,0.3,1) !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;

        margin: 0 !important;
        padding: 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 {
        margin: 0 !important;
        padding: 0 !important;
    }


    #masthead .custom-logo-link {
        display: flex !important;

        align-items: center !important;

        margin: 0 !important;
        padding: 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;

        transition:
            height 0.32s cubic-bezier(0.16,1,0.3,1),
            max-height 0.32s cubic-bezier(0.16,1,0.3,1),
            max-width 0.32s cubic-bezier(0.16,1,0.3,1) !important;
    }


    /* ======================================================
       MENÚ PRINCIPAL
       ====================================================== */

    #masthead .ast-builder-menu,
    #masthead .ast-builder-menu-1 {
        margin: 0 !important;
        padding: 0 !important;
    }


    #masthead .main-header-menu {
        display: flex !important;

        align-items: center !important;

        gap: clamp(20px,2vw,29px) !important;

        margin: 0 !important;
        padding: 0 !important;

        transition:
            gap 0.32s cubic-bezier(0.16,1,0.3,1) !important;
    }


    #masthead .main-header-menu > .menu-item {
        position: relative !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    #masthead .main-header-menu > .menu-item > .menu-link {
        position: relative !important;

        display: inline-flex !important;

        align-items: center !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !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;

        border: 0 !important;

        text-decoration: none !important;
        text-transform: none !important;

        transition:
            color 0.2s ease !important;
    }


    #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;
    }


    #masthead .main-header-menu > .menu-item > .menu-link:hover {
        color: var(--flor-rose) !important;
    }


    /* ======================================================
       SUBRAYADO
       ====================================================== */

    #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: var(--flor-rose) !important;

        transform: scaleX(0) !important;
        transform-origin: right center !important;

        pointer-events: none !important;

        transition:
            transform 0.3s ease !important;
    }


    #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;
    }


    #masthead .main-header-menu .sub-menu .menu-link::after {
        display: none !important;
    }


    /* ======================================================
       FLECHAS CUSTOM
       ====================================================== */

    #masthead
    .main-header-menu
    > .menu-item-has-children
    > .menu-link
    .ast-icon {
        position: relative !important;

        display: inline-flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 14px !important;
        height: 14px !important;

        margin-left: 6px !important;

        color: var(--flor-rose) !important;

        transform:
            translateY(-1px)
            rotate(0deg) !important;

        transform-origin: center !important;

        transition:
            transform 0.32s cubic-bezier(0.16,1,0.3,1),
            color 0.22s ease !important;
    }


    #masthead
    .main-header-menu
    > .menu-item-has-children
    > .menu-link
    .ast-icon svg {
        display: none !important;
    }


    #masthead
    .main-header-menu
    > .menu-item-has-children
    > .menu-link
    .ast-icon::before {
        content: "";

        display: block;

        width: 6px;
        height: 6px;

        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;

        transform:
            translateY(-2px)
            rotate(45deg);

        transition:
            transform 0.32s cubic-bezier(0.16,1,0.3,1);
    }


    #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;
    }


    #masthead
    .main-header-menu
    > .menu-item-has-children:hover
    > .menu-link
    .ast-icon::before {
        transform:
            translateY(-2px)
            rotate(45deg)
            scale(1.05);
    }


    /* ======================================================
       PUENTE INVISIBLE
       ====================================================== */

    #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;
    }


    #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;
    }


    #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 DESKTOP
       ====================================================== */

    #masthead .ast-header-woo-cart,
    #masthead .ast-site-header-cart,
    #masthead .ast-site-header-cart-li,
    #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;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;

        border: 0 !important;

        box-shadow: none !important;
    }


    #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: flex-start !important;

        width: auto !important;

        min-width: 0 !important;
        max-width: none !important;

        height: auto !important;

        min-height: 0 !important;
        max-height: none !important;

        margin: 0 !important;

        padding:
            0.6rem
            2.9rem
            0.6rem
            1.2rem !important;

        gap: 0.5rem !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: 0.8rem !important;
        font-weight: 700 !important;

        line-height: 1.2 !important;

        letter-spacing: 0.08em !important;

        text-transform: uppercase !important;

        transition:
            background-color 0.25s ease,
            color 0.25s ease,
            transform 0.15s ease,
            padding 0.32s cubic-bezier(0.16,1,0.3,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;

        margin: 0 !important;
        padding: 0 !important;

        font-family: 'Lato', sans-serif !important;
        font-size: 0.8rem !important;
        font-weight: 700 !important;

        line-height: 1.2 !important;

        letter-spacing: 0.08em !important;

        text-transform: uppercase !important;

        color:
            var(--flor-bg) !important;

        background: transparent !important;

        border: 0 !important;
        outline: 0 !important;

        box-shadow: none !important;
    }


    #masthead .ast-woo-header-cart-title {
        margin: 0 !important;
        padding: 0 !important;

        font: inherit !important;

        color: inherit !important;

        background: transparent !important;

        border: 0 !important;
        outline: 0 !important;

        box-shadow: none !important;
    }


    /* ICONO */

    #masthead .ast-addon-cart-wrap i.astra-icon {
        order: 1 !important;

        position: static !important;

        display: inline-flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 17px !important;
        height: 17px !important;

        min-width: 17px !important;

        margin: 0 !important;
        padding: 0 !important;

        color:
            var(--flor-bg) !important;

        font-size: 17px !important;
        line-height: 17px !important;

        opacity: 1 !important;
    }


    #masthead .ast-addon-cart-wrap i.astra-icon::before {
        color:
            var(--flor-bg) !important;

        opacity: 1 !important;
    }


    #masthead .ast-addon-cart-wrap i.astra-icon svg {
        display: block !important;

        width: 17px !important;
        height: 17px !important;

        color:
            var(--flor-bg) !important;

        stroke:
            var(--flor-bg) !important;

        fill: none !important;

        opacity: 1 !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;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 18px !important;
        height: 18px !important;

        min-width: 18px !important;
        min-height: 18px !important;

        margin: 0 !important;
        padding: 0 !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: 0.65rem !important;
        font-weight: 900 !important;

        line-height: 18px !important;

        box-shadow: none !important;
    }


    /* ESTADOS DEL TEXTO DEL CARRITO */

    #masthead .ast-site-header-cart .ast-woo-header-cart-info-wrap:hover,
    #masthead .ast-site-header-cart .ast-woo-header-cart-title:hover,
    #masthead .ast-site-header-cart .ast-woo-header-cart-info-wrap:focus,
    #masthead .ast-site-header-cart .ast-woo-header-cart-title:focus,
    #masthead .ast-site-header-cart .ast-woo-header-cart-info-wrap:active,
    #masthead .ast-site-header-cart .ast-woo-header-cart-title:active {
        background: transparent !important;
        background-color: transparent !important;

        border: 0 !important;
        outline: 0 !important;

        box-shadow: none !important;
    }


    /* HOVER CARRITO */

    #masthead .ast-site-header-cart:hover
    .ast-addon-cart-wrap,

    #masthead .ast-site-header-cart
    .ast-addon-cart-wrap:hover {
        background:
            var(--flor-rose-light) !important;

        color:
            var(--flor-rose) !important;

        transform:
            translateY(-1px) !important;
    }


    #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:
            var(--flor-rose) !important;
    }


    #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:
            var(--flor-rose) !important;

        stroke:
            var(--flor-rose) !important;
    }


    /* ======================================================
       HEADER COMPACTO AL HACER SCROLL
       ====================================================== */

    #masthead.fdr-header-scrolled {
        box-shadow:
            0 8px 30px
            rgba(167,84,106,0.10) !important;
    }


    #masthead.fdr-header-scrolled,
    #masthead.fdr-header-scrolled #ast-desktop-header,
    #masthead.fdr-header-scrolled .ast-primary-header-bar {
        height: 72px !important;
        min-height: 72px !important;

        background:
            rgba(250,233,234,0.97) !important;

        backdrop-filter:
            blur(12px) !important;

        -webkit-backdrop-filter:
            blur(12px) !important;
    }


    #masthead.fdr-header-scrolled
    .site-primary-header-wrap {
        min-height: 72px !important;
    }


    #masthead.fdr-header-scrolled
    .ast-builder-grid-row {
        min-height: 72px !important;

        gap:
            clamp(
                30px,
                4vw,
                60px
            ) !important;
    }


    #masthead.fdr-header-scrolled
    img.custom-logo,

    #masthead.fdr-header-scrolled
    .site-logo-img img {
        height: 62px !important;

        max-height: 62px !important;
        max-width: 105px !important;
    }


    #masthead.fdr-header-scrolled
    .main-header-menu {
        gap:
            clamp(
                18px,
                1.8vw,
                26px
            ) !important;
    }


    #masthead.fdr-header-scrolled
    .ast-site-header-cart
    .ast-addon-cart-wrap {
        padding:
            0.54rem
            2.75rem
            0.54rem
            1.05rem !important;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 921px) {

    /* ======================================================
       HEADER NORMAL
       ====================================================== */

    #masthead {
        position: relative !important;

        top: auto !important;

        z-index: 999 !important;
    }


    #masthead .ast-mobile-header-wrap {
        position: relative !important;

        top: auto !important;
    }


    #masthead
    .ast-mobile-header-wrap
    .ast-primary-header-bar {
        height: 88px !important;
        min-height: 88px !important;

        margin: 0 !important;
        padding: 0 !important;

        background:
            #fae9ea !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;

        margin: 0 !important;
        padding: 0 !important;
    }


    #masthead
    .ast-mobile-header-wrap
    .ast-builder-grid-row {
        box-sizing: border-box !important;

        display: grid !important;

        grid-template-columns:
            1fr auto 1fr !important;

        width: 100% !important;
        height: 88px !important;

        padding-left: 22px !important;
        padding-right: 22px !important;

        align-items: center !important;

        gap: 0 !important;
    }


    #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;
    }


    /* ======================================================
       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: 64px !important;

        max-width: 96px !important;
        max-height: 64px !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 {
        display: inline-flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 48px !important;
        height: 48px !important;

        min-width: 48px !important;
        min-height: 48px !important;

        margin: 0 !important;
        padding: 0 !important;

        background:
            rgba(255,255,255,0.55) !important;

        color:
            var(--flor-rose) !important;

        border:
            1px solid
            rgba(167,84,106,0.20) !important;

        border-radius: 50% !important;

        box-shadow:
            0 8px 24px
            rgba(167,84,106,0.10) !important;

        outline: none !important;

        transition:
            background 0.2s ease,
            transform 0.2s ease,
            box-shadow 0.2s ease !important;
    }


    #masthead
    .ast-mobile-header-wrap
    .ast-button-wrap
    .menu-toggle:hover,

    #masthead
    .ast-mobile-header-wrap
    .ast-button-wrap
    .menu-toggle:active {
        background:
            var(--flor-rose-light) !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: 23px !important;
        height: 23px !important;

        color:
            var(--flor-rose) !important;

        fill:
            var(--flor-rose) !important;
    }


    /* ======================================================
       CARRITO DEL HEADER
       ====================================================== */

    #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;

        margin: 0 !important;
        padding: 0 !important;
    }


    #masthead
    .ast-mobile-header-wrap
    .ast-site-header-cart
    .cart-container {
        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;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        border:
            1px solid
            rgba(167,84,106,0.20) !important;

        border-radius: 50% !important;

        background:
            rgba(255,255,255,0.55) !important;

        color:
            var(--flor-rose) !important;

        box-shadow:
            0 8px 24px
            rgba(167,84,106,0.10) !important;
    }


    #masthead
    .ast-mobile-header-wrap
    .ast-woo-header-cart-info-wrap {
        display: none !important;
    }


    #masthead
    .ast-mobile-header-wrap
    .ast-addon-cart-wrap
    i.astra-icon {
        position: relative !important;

        display: inline-flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 23px !important;
        height: 23px !important;

        margin: 0 !important;
        padding: 0 !important;

        color:
            var(--flor-rose) !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;

        color:
            var(--flor-rose) !important;

        stroke:
            var(--flor-rose) !important;

        stroke-width: 1.5 !important;

        opacity: 0.82 !important;
    }


    #masthead
    .ast-mobile-header-wrap
    .ast-addon-cart-wrap
    i.astra-icon::after {
        position: absolute !important;

        top: -10px !important;
        right: -10px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 20px !important;
        height: 20px !important;

        min-width: 20px !important;
        min-height: 20px !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;

        background:
            var(--flor-rose) !important;

        color: #fff !important;

        border:
            2px solid
            var(--flor-bg) !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;
    }


    /* ======================================================
       OVERLAY DEL 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%,
                var(--flor-bg) 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 PANEL
       ====================================================== */

    .ast-mobile-popup-drawer
    .ast-mobile-popup-header {
        position: relative !important;

        min-height: 118px !important;

        display: flex !important;

        align-items: flex-start !important;
        justify-content: flex-end !important;

        padding: 18px 20px !important;

        border-bottom:
            1px solid
            rgba(167,84,106,0.13) !important;
    }


    .ast-mobile-popup-drawer
    .ast-mobile-popup-header::before {
        content:
            "Las Flores de la\A Reina";

        white-space: pre-line;

        position: absolute;

        top: 24px;
        left: 20px;

        font-family:
            'Lora',
            serif;

        font-size: 17px;
        font-weight: 400;

        line-height: 1.12;

        color:
            var(--flor-text);
    }


    .ast-mobile-popup-drawer
    .ast-mobile-popup-header::after {
        content:
            "ORIGINAL SINCE 2001";

        position: absolute;

        top: 72px;
        left: 20px;

        font-family:
            'Lato',
            sans-serif;

        font-size: 9px;
        font-weight: 700;

        letter-spacing: 0.16em;

        color:
            var(--flor-rose);
    }


    /* ======================================================
       BOTÓN CERRAR
       ====================================================== */

    .ast-mobile-popup-drawer
    .menu-toggle-close {
        display: inline-flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 38px !important;
        height: 38px !important;

        min-width: 38px !important;

        margin: 0 !important;
        padding: 0 !important;

        background:
            rgba(255,255,255,0.65) !important;

        color:
            var(--flor-rose) !important;

        border:
            1px solid
            rgba(167,84,106,0.18) !important;

        border-radius: 50% !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:
            var(--flor-rose) !important;
    }


    /* ======================================================
       CONTENIDO DEL MENÚ
       ====================================================== */

    .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 DEL MENÚ
       ====================================================== */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item {
        box-sizing: border-box !important;

        position: relative !important;

        width: 100% !important;

        min-height: 54px !important;
        height: auto !important;

        margin: 6px 0 !important;
        padding: 0 !important;

        background:
            rgba(255,255,255,0.64) !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.05) !important;

        overflow: hidden !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item
    > .menu-link {
        box-sizing: border-box !important;

        display: flex !important;

        align-items: center !important;

        width: 100% !important;

        height: 54px !important;

        min-height: 54px !important;
        max-height: 54px !important;

        margin: 0 !important;

        padding:
            0
            22px !important;

        font-family:
            'Lora',
            serif !important;

        font-size: 16px !important;
        font-weight: 400 !important;

        line-height: 1.2 !important;

        color:
            #2f2a2a !important;

        background:
            transparent !important;

        border: 0 !important;
    }


    /* ======================================================
       PADRES CON SUBMENÚ
       ====================================================== */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .menu-link {
        padding:
            0
            58px
            0
            22px !important;

        cursor: pointer !important;

        user-select: none !important;

        -webkit-tap-highlight-color:
            transparent !important;
    }


    .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;

        overflow: hidden !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open {
        height: auto !important;

        min-height: 0 !important;
        max-height: none !important;

        padding-bottom:
            6px !important;

        overflow: visible !important;

        background:
            transparent !important;

        border: 0 !important;

        box-shadow: none !important;
    }


    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children.fdr-open
    > .menu-link {
        height: 54px !important;

        min-height: 54px !important;
        max-height: 54px !important;

        background:
            rgba(244,227,226,0.72) !important;

        color:
            var(--flor-rose) !important;

        border:
            1px solid
            rgba(167,84,106,0.18) !important;

        border-radius:
            14px !important;

        box-shadow:
            0 8px 20px
            rgba(167,84,106,0.05) !important;
    }


    /* ======================================================
       FLECHA DEL ACORDEÓN
       ====================================================== */

    .ast-mobile-popup-drawer
    .main-header-menu
    > .menu-item-has-children
    > .ast-menu-toggle {
        position: absolute !important;

        top: 12px !important;
        right: 14px !important;

        z-index: 3 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 30px !important;
        height: 30px !important;

        min-width: 30px !important;
        min-height: 30px !important;

        margin: 0 !important;
        padding: 0 !important;

        background:
            rgba(255,245,245,0.72) !important;

        color:
            var(--flor-rose) !important;

        border:
            1px solid
            rgba(167,84,106,0.08) !important;

        border-radius: 50% !important;

        box-shadow: none !important;
    }


    .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;
    }


    .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:
            var(--flor-rose) !important;

        transform:
            translateY(-2px)
            rotate(0deg);

        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 {
        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.fdr-open
    > .ast-menu-toggle::before {
        transform:
            translateY(2px)
            rotate(180deg) !important;
    }


    /* ======================================================
       SUBMENÚ
       ====================================================== */

    .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
            6px !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:not(.fdr-open)
    > .sub-menu {
        height: 0 !important;

        min-height: 0 !important;
        max-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        opacity: 0 !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;

        opacity: 1;

        transform:
            translateY(0);
    }


    /* ======================================================
       SUBCATEGORÍAS
       ====================================================== */

    .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 {
        display: flex !important;

        align-items: center !important;

        width: auto !important;

        height: auto !important;
        min-height: 0 !important;

        margin:
            3px
            0
            3px
            8px !important;

        padding:
            10px
            14px !important;

        background:
            transparent !important;

        color:
            #686262 !important;

        font-family:
            'Poppins',
            sans-serif !important;

        font-size: 14px !important;
        font-weight: 400 !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.2s ease,
            background-color 0.2s ease,
            border-color 0.2s ease,
            transform 0.2s ease !important;
    }


    .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;
    }


    .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:
            var(--flor-rose) !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:
            var(--flor-rose) !important;

        background:
            rgba(255,255,255,0.65) !important;

        border-left-color:
            var(--flor-rose) !important;

        transform:
            translateX(2px) !important;
    }
}


/* ==========================================================
   CARRITO FLOTANTE MÓVIL
   ========================================================== */

.fdr-floating-cart {
    display: none;
}


@media (max-width: 921px) {

    .fdr-floating-cart {
        appearance: none;
        -webkit-appearance: none;

        position: fixed;

        top:
            calc(
                18px +
                env(safe-area-inset-top,0px)
            );

        right: 22px;

        z-index: 10000;

        display: inline-flex;

        align-items: center;
        justify-content: center;

        width: 48px;
        height: 48px;

        margin: 0;
        padding: 0;

        background:
            rgba(255,255,255,0.90);

        color:
            var(--flor-rose);

        border:
            1px solid
            rgba(167,84,106,0.20);

        border-radius: 50%;

        box-shadow:
            0 10px 28px
            rgba(167,84,106,0.14);

        backdrop-filter:
            blur(10px);

        -webkit-backdrop-filter:
            blur(10px);

        cursor: pointer;

        opacity: 0;
        visibility: hidden;

        transform:
            translateY(-14px)
            scale(0.92);

        pointer-events: none;

        -webkit-tap-highlight-color:
            transparent;

        transition:
            opacity 0.28s ease,
            transform 0.34s cubic-bezier(0.16,1,0.3,1),
            visibility 0.28s ease,
            background-color 0.22s ease,
            box-shadow 0.22s ease;
    }


    .fdr-floating-cart.is-visible {
        opacity: 1;
        visibility: visible;

        transform:
            translateY(0)
            scale(1);

        pointer-events: auto;
    }


    .fdr-floating-cart:focus,
    .fdr-floating-cart:focus-visible {
        outline: none;
    }


    .fdr-floating-cart:active {
        background:
            var(--flor-rose-light);

        transform:
            scale(0.96);
    }


    /* ICONO */

    .fdr-floating-cart__icon {
        position: relative;

        display: inline-flex;

        align-items: center;
        justify-content: center;

        width: 23px;
        height: 23px;

        color:
            var(--flor-rose);
    }


    .fdr-floating-cart__icon svg {
        display: block;

        width: 23px;
        height: 23px;

        fill: none;

        color:
            var(--flor-rose);

        stroke:
            var(--flor-rose);

        stroke-width: 1.5;

        opacity: 0.82;
    }


    /* CONTADOR */

    .fdr-floating-cart__count {
        position: absolute;

        top: -7px;
        right: -9px;

        display: flex;

        align-items: center;
        justify-content: center;

        width: 20px;
        height: 20px;

        min-width: 20px;

        padding: 0;

        background:
            var(--flor-rose);

        color: #fff;

        border:
            2px solid
            var(--flor-bg);

        border-radius: 50%;

        font-family:
            'Lato',
            sans-serif;

        font-size: 10px;
        font-weight: 900;

        line-height: 16px;

        box-shadow:
            0 5px 12px
            rgba(167,84,106,0.24);
    }


    .fdr-floating-cart__count[data-count="0"] {
        display: none;
    }


    /* MICROANIMACIÓN */

    .fdr-floating-cart.has-items.is-visible
    .fdr-floating-cart__icon {
        animation:
            fdrCartReminder
            2s
            ease-in-out
            infinite;
    }
}


/* ==========================================================
   ANIMACIÓN CARRITO
   ========================================================== */

@keyframes fdrCartReminder {

    0%,
    68%,
    100% {
        transform:
            translateY(0)
            rotate(0deg);
    }

    74% {
        transform:
            translateY(-2px)
            rotate(-2deg);
    }

    80% {
        transform:
            translateY(0)
            rotate(1.5deg);
    }

    86% {
        transform:
            translateY(-1px)
            rotate(-1deg);
    }

    92% {
        transform:
            translateY(0)
            rotate(0deg);
    }
}


/* ==========================================================
   INTERACCIONES DEL HEADER
   FOCUS + TAP HIGHLIGHT
   ========================================================== */

#masthead a,
#masthead button,
#masthead [role="button"],
.ast-mobile-popup-drawer a,
.ast-mobile-popup-drawer button,
.fdr-floating-cart {
    -webkit-tap-highlight-color: transparent !important;
}


#masthead a:focus:not(:focus-visible),
#masthead button:focus:not(:focus-visible),
#masthead [role="button"]:focus:not(:focus-visible),
.ast-mobile-popup-drawer a:focus:not(:focus-visible),
.ast-mobile-popup-drawer button:focus:not(:focus-visible),
.fdr-floating-cart:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}


#masthead a:focus-visible,
#masthead button:focus-visible,
#masthead [role="button"]:focus-visible,
.ast-mobile-popup-drawer a:focus-visible,
.ast-mobile-popup-drawer button:focus-visible,
.fdr-floating-cart:focus-visible {
    outline:
        2px solid
        rgba(167,84,106,0.45) !important;

    outline-offset: 3px;

    box-shadow: none !important;
}


/* ==========================================================
   ACCESIBILIDAD
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

    #masthead,
    #masthead *,
    .fdr-floating-cart,
    .fdr-floating-cart * {
        transition-duration:
            0.01ms !important;

        animation-duration:
            0.01ms !important;

        animation-iteration-count:
            1 !important;
    }
}