/* ==========================================================================
   1. ELITE WOOCOMMERCE STORE NOTICE (.woocommerce-store-notice / .demo_store)
   Overrides legacy 4.5em padding in child style.css with compact Floating Pill
   ========================================================================== */
body .woocommerce-store-notice.demo_store {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: 22px !important;
    top: auto !important;
    transform: translate3d(-50%, 0, 0);
    width: calc(100vw - 32px) !important;
    max-width: 680px !important;
    margin: 0 !important;
    padding: 12px 14px 12px 16px !important;
    background: linear-gradient(135deg, rgba(6, 40, 61, 0.97) 0%, rgba(11, 59, 91, 0.97) 55%, rgba(19, 99, 223, 0.95) 100%) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    color: #f8fafc !important;
    border: 1px solid rgba(147, 197, 253, 0.32) !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 45px -10px rgba(6, 40, 61, 0.55), 0 4px 14px rgba(19, 99, 223, 0.25) !important;
    z-index: 9995 !important;
    font-family: var(--dv-font-sans, 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif) !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    box-sizing: border-box !important;
    touch-action: pan-y !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease, box-shadow 0.2s ease !important;
    cursor: grab;
}
body .woocommerce-store-notice.demo_store:active {
    cursor: grabbing;
}
body .woocommerce-store-notice.demo_store.dv-is-swiping {
    transition: none !important;
}
/* Hide Store Notice cleanly when mobile menu, cart drawer, sticky ATC, or flavour selector is open */
body.mobile-toggled .woocommerce-store-notice.demo_store,
body.drawer-open .woocommerce-store-notice.demo_store,
body.filter-open .woocommerce-store-notice.demo_store,
body.sticky-atc-open .woocommerce-store-notice.demo_store,
body.dv-ef-open-body .woocommerce-store-notice.demo_store {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate3d(-50%, 30px, 0) scale(0.96) !important;
}
.dv-sn-grabber {
    display: none;
    width: 36px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.28);
    margin: 0 auto 8px auto;
}
.dv-sn-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
}
.dv-sn-badge {
    position: relative !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 11px !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    color: #38bdf8 !important;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.15) !important;
}
.dv-sn-badge svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #38bdf8 !important;
}
.dv-sn-pulse {
    position: absolute !important;
    top: -3px !important;
    right: -3px !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    background: #10b981 !important;
    border: 2px solid #06283d !important;
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.35) !important;
}
.dv-sn-text {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    color: #f8fafc !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}
.dv-sn-text p {
    margin: 0 !important;
    display: inline !important;
}
.dv-sn-text strong,
.dv-sn-text b {
    color: #ffffff !important;
    font-weight: 800 !important;
}
body .woocommerce-store-notice.demo_store .dv-sn-text a:not(.woocommerce-store-notice__dismiss-link) {
    color: #38bdf8 !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}
body .woocommerce-store-notice.demo_store .dv-sn-text a:not(.woocommerce-store-notice__dismiss-link):hover {
    color: #7dd3fc !important;
}
.dv-sn-actions {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
}
body .woocommerce-store-notice.demo_store a.woocommerce-store-notice__dismiss-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    float: none !important;
    margin: 0 !important;
    padding: 7px 13px !important;
    background: rgba(255, 255, 255, 0.14) !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    border-radius: 999px !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all 0.16s ease !important;
    cursor: pointer !important;
}
body .woocommerce-store-notice.demo_store a.woocommerce-store-notice__dismiss-link:hover {
    background: #10b981 !important;
    border-color: #10b981 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.35) !important;
}
.dv-sn-dismiss-icon {
    width: 14px !important;
    height: 14px !important;
    flex-shrink: 0 !important;
    opacity: 0.9 !important;
}

/* ==========================================================================
   2. ELITE WOOCOMMERCE PAGE ALERT NOTICES (.woocommerce-message / info / error)
   Swipeable, modern brand-aligned banners with an instant close/swipe action
   ========================================================================== */
body .woocommerce-notices-wrapper .woocommerce-message,
body .woocommerce-notices-wrapper .woocommerce-info,
body .woocommerce-notices-wrapper .woocommerce-error,
body .single-product .woocommerce-error {
    position: relative !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255, 255, 255, 0.16) !important;
    border-left-width: 5px !important;
    box-shadow: 0 12px 28px -8px rgba(6, 40, 61, 0.22) !important;
    padding: 13px 40px 13px 16px !important;
    font-family: var(--dv-font-sans, 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    transition: transform 0.26s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.24s ease !important;
    touch-action: pan-y !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}
body .woocommerce-notices-wrapper .woocommerce-message {
    background: linear-gradient(135deg, var(--dv-navy, #06283d) 0%, #0b3c78 55%, #10b981 100%) !important;
    border-left-color: #10b981 !important;
    color: #ffffff !important;
}
body .woocommerce-notices-wrapper .woocommerce-info {
    background: linear-gradient(135deg, var(--dv-navy, #06283d) 0%, #1363df 100%) !important;
    border-left-color: var(--dv-sky, #47b5ff) !important;
    color: #ffffff !important;
}
body .woocommerce-notices-wrapper .woocommerce-error,
body .single-product .woocommerce-error {
    background: linear-gradient(135deg, #450a0a 0%, #991b1b 65%, #dc2626 100%) !important;
    border-left-color: #f87171 !important;
    color: #ffffff !important;
}
.dv-notice-swiping {
    transition: none !important;
}
button.dv-notice-close {
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    transform: translateY(-50%) !important;
    width: 24px !important;
    min-width: 24px !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
}
button.dv-notice-close:hover {
    background: rgba(255, 255, 255, 0.26) !important;
}

/* Mobile Adjustments (< 768px) */
@media (max-width: 767.98px) {
    body .woocommerce-store-notice.demo_store {
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: none !important;
        bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
        transform: translate3d(0, 0, 0);
        padding: 8px 13px 12px 13px !important;
        border-radius: 16px !important;
        background: rgba(11, 15, 25, 0.94) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
    /* Lift Store Notice above mobile sticky add-to-cart bar when scrolled on product pages */
    body.cta-off-screen .woocommerce-store-notice.demo_store {
        bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
    }
    body.mobile-toggled .woocommerce-store-notice.demo_store,
    body.drawer-open .woocommerce-store-notice.demo_store,
    body.filter-open .woocommerce-store-notice.demo_store,
    body.sticky-atc-open .woocommerce-store-notice.demo_store,
    body.dv-ef-open-body .woocommerce-store-notice.demo_store {
        transform: translate3d(0, 30px, 0) scale(0.96) !important;
    }
    .dv-sn-grabber {
        display: block !important;
    }
    .dv-sn-inner {
        gap: 10px !important;
    }
    .dv-sn-badge {
        width: 32px !important;
        height: 32px !important;
    }
    .dv-sn-text {
        font-size: 12.5px !important;
        text-align: left !important;
    }
    body .woocommerce-store-notice.demo_store a.woocommerce-store-notice__dismiss-link {
        padding: 6px 11px !important;
        font-size: 11.5px !important;
    }
}
