/* Allow the complete cart button and its quantity badge to fit in the header. */
html body .elementor.elementor-location-header .elementor-widget-woocommerce-menu-cart {
    overflow: visible !important;
}
html body .elementor.elementor-location-header .elementor-menu-cart__toggle_button {
    box-sizing: border-box !important;
    border: 1px solid #ed1c24 !important;
    border-radius: 8px !important;
    background: #fff5f5 !important;
    color: #151515 !important;
    min-height: 44px;
}
html body .elementor.elementor-location-header .elementor-menu-cart__toggle_button:hover,
html body .elementor.elementor-location-header .elementor-menu-cart__toggle_button:focus-visible {
    background: #ffe4e5 !important;
}
@media (min-width: 768px) {
    html body .elementor.elementor-location-header .elementor-widget-woocommerce-menu-cart {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 128px !important;
        max-width: none !important;
    }
    html body .elementor.elementor-location-header .elementor-menu-cart__toggle_button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        width: auto !important;
        min-width: 128px !important;
        padding: 11px 16px !important;
        white-space: nowrap !important;
    }
    html body .elementor.elementor-location-header .elementor-menu-cart__toggle .elementor-button-text {
        font-size: 14px !important;
    }
    html body .elementor.elementor-location-header .elementor-menu-cart__toggle .elementor-button-icon {
        margin: 0 !important;
    }
}
@media (min-width: 1025px) {
    html body .elementor.elementor-location-header .elementor-element.elementor-element-42ebd9f {
        padding-inline: 24px !important;
    }
    html body .elementor.elementor-location-header .elementor-element.elementor-element-2423500 {
        flex: 0 1 280px !important;
        width: 280px !important;
        min-width: 180px !important;
    }
}
@media (min-width: 1025px) and (max-width: 1450px) {
    html body .elementor.elementor-location-header .elementor-element.elementor-element-acf8395 {
        display: none !important;
    }
    html body .elementor.elementor-location-header .elementor-element.elementor-element-2423500 {
        flex-basis: 200px !important;
        width: 200px !important;
    }
}
/* Native dialog provides focus containment, Escape handling and a top-layer backdrop. */
html body dialog#okr-cart-confirm {
    box-sizing: border-box;
    width: min(520px, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    max-height: calc(100dvh - 32px);
    margin: auto;
    padding: 32px;
    border: 0;
    border-radius: 18px;
    background: #fff;
    color: #171717;
    box-shadow: 0 24px 80px #0005;
    font-family: Arial, sans-serif;
    text-align: left;
    overflow: auto;
}
#okr-cart-confirm::backdrop { background: rgb(0 0 0 / 48%); }
#okr-cart-confirm .okr-cart-close {
    position: absolute; top: 10px; right: 10px;
    width: 40px; height: 40px; padding: 0; border: 0;
    background: transparent; color: #555; font: 28px/1 Arial, sans-serif;
    cursor: pointer;
}
#okr-cart-confirm .okr-cart-check {
    display: grid; place-items: center; width: 48px; height: 48px;
    border-radius: 50%; background: #e9f7ee; color: #19723e;
    margin-bottom: 18px; font-size: 26px; font-weight: bold;
}
html body #okr-cart-confirm h2 {
    font: 700 26px/1.2 Arial, sans-serif !important;
    letter-spacing: -.4px; text-transform: none !important;
    margin: 0 0 12px; color: #171717;
}
html body #okr-cart-confirm p {
    font: 16px/1.5 Arial, sans-serif; margin: 0 0 16px;
    color: #454545; overflow-wrap: anywhere;
}
html body #okr-cart-confirm .okr-cart-product { font-weight: 600; color: #171717; }
#okr-cart-confirm .okr-cart-actions { display: grid; gap: 10px; margin-top: 24px; }
html body #okr-cart-confirm .okr-cart-actions > * {
    display: flex; align-items: center; justify-content: center;
    box-sizing: border-box; min-height: 48px; padding: 12px 16px;
    border-radius: 8px; border: 1px solid #ddd;
    font: 700 15px/1.4 Arial, sans-serif; text-decoration: none;
    text-transform: none; letter-spacing: 0; cursor: pointer;
    white-space: normal; text-align: center;
}
html body #okr-cart-confirm .okr-cart-go { background: #ed1c24; color: #fff; border-color: #ed1c24; }
html body #okr-cart-confirm .okr-cart-go:hover { background: #c9141b; }
html body #okr-cart-confirm .okr-cart-continue { background: #fff; color: #252525; }
html body #okr-cart-confirm .okr-cart-continue:hover { background: #f5f5f5; }
#okr-cart-confirm :focus-visible { outline: 3px solid #222; outline-offset: 3px; }
@media (max-width: 480px) {
    html body dialog#okr-cart-confirm { padding: 26px 22px; }
    html body #okr-cart-confirm h2 { font-size: 23px !important; }
}
