/* Oleyn DH — site-wide same-day promo bar (v1.4.12, dynamic). Tiny standalone
   sheet so the full checkout stylesheet isn't loaded on every page. Injected by
   JS at the top of <body>; pushes content down (not fixed) so it never covers a
   sticky theme header. Brand maroon when live, deeper maroon when a teaser. */

.oleyn-dh-promobar {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 44px 10px 16px;
    background: linear-gradient(135deg, #8c1d45 0%, #b3315f 100%);
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    z-index: 99990;
}
.oleyn-dh-promobar.is-teaser { background: #6e1536; }
.oleyn-dh-promobar__in {
    display: inline-block;
    max-width: 1100px;
    text-align: center;
}
.oleyn-dh-promobar__in strong { font-weight: 800; color: #ffe2ee; }
.oleyn-dh-promobar__in a { color: #fff; text-decoration: underline; }
/* Close (×): every load-bearing visual prop is !important + scoped under the
   bar, because themes restyle raw <button> elements (the Hello Elementor /
   child theme forced this into a white auto-width pill with a dark glyph). The
   !important + fixed width/height + min-width:0 defeats those button rules and
   keeps it a clean translucent circle. (Same hardening as the QR popup close.) */
.oleyn-dh-promobar .oleyn-dh-promobar__close,
.oleyn-dh-promobar button.oleyn-dh-promobar__close {
    position: absolute !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.18) !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: none !important;
    text-shadow: none !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    text-transform: none !important;
    transition: background 0.15s ease !important;
}
.oleyn-dh-promobar .oleyn-dh-promobar__close:hover,
.oleyn-dh-promobar button.oleyn-dh-promobar__close:hover {
    background: rgba(255, 255, 255, 0.32) !important;
    color: #ffffff !important;
}
.oleyn-dh-promobar .oleyn-dh-promobar__close:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: 2px !important;
}

@media (max-width: 600px) {
    .oleyn-dh-promobar { font-size: 13px; padding: 9px 40px 9px 12px; }
}
