/* FluentCart cart drawer: fixed action column and a true blocking load layer. */
body:not(.wp-admin) :is([data-fluent-cart-cart-drawer], .fct-cart-drawer) {
    isolation: isolate !important;
}

body:not(.wp-admin) :is([data-fluent-cart-cart-drawer], .fct-cart-drawer) .fct-cart-item-summary {
    flex: 0 0 78px !important;
    width: 78px !important;
    min-width: 78px !important;
    max-width: 78px !important;
    align-items: center !important;
}

body:not(.wp-admin) :is([data-fluent-cart-cart-drawer], .fct-cart-drawer) .fct-cart-item-remove {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
}

body:not(.wp-admin) :is([data-fluent-cart-cart-drawer], .fct-cart-drawer) .fct-cart-item-delete-button {
    align-self: center !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* -------------------------------------------------------------------------
 * Empty cart state
 * Keep FluentCart's native illustration and message, but give the state a
 * deliberate Gentleland composition. A configured Continue Shopping button
 * style can still override this baseline through the later inline bindings.
 * ---------------------------------------------------------------------- */
body:not(.wp-admin) :is(.fluent-cart-cart-empty-content, .fct-empty-cart) {
    box-sizing: border-box;
    width: min(100%, 480px);
    margin: 36px auto !important;
    padding: 30px 30px 32px !important;
    text-align: center;
    border: 1px solid rgba(184, 126, 47, .34);
    border-radius: 14px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .82) 0%, rgba(255, 255, 255, 0) 46%),
        linear-gradient(145deg, rgba(255, 250, 239, .96) 0%, rgba(248, 235, 213, .9) 100%);
    box-shadow:
        0 0 0 1px rgba(255, 239, 188, .55),
        0 12px 28px rgba(76, 48, 31, .10),
        inset 0 1px 0 rgba(255, 255, 255, .72);
}

body:not(.wp-admin) :is(.fluent-cart-cart-empty-content, .fct-empty-cart) :is(p, .empty-cart-message, .fct-empty-cart-message) {
    color: #5b3028;
    line-height: 1.55;
    text-align: center;
}

:where(.fluent-cart-cart-empty-content, .fct-empty-cart) .continue-shopping-link {
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: max-content !important;
    min-width: 190px !important;
    max-width: 100% !important;
    margin: 16px auto 0 !important;
    padding: 10px 18px !important;
    color: #4a0d17 !important;
    -webkit-text-fill-color: #4a0d17 !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    border: 2px solid transparent !important;
    border-radius: 9px !important;
    background:
        linear-gradient(180deg, #fff9e9 0%, #f8e9c9 58%, #efd7aa 100%) padding-box,
        linear-gradient(to bottom, #fff3b8 0%, #dca949 48%, #8d5922 100%) border-box !important;
    box-shadow:
        0 3px 7px rgba(64, 38, 25, .18),
        inset 0 1px 0 rgba(255, 255, 255, .72),
        inset 0 -1px 0 rgba(143, 87, 31, .14) !important;
    transition: transform .14s ease, box-shadow .14s ease, filter .14s ease !important;
}

:where(.fluent-cart-cart-empty-content, .fct-empty-cart) .continue-shopping-link:hover {
    filter: brightness(1.025) !important;
    transform: translateY(-1px);
    box-shadow:
        0 4px 9px rgba(64, 38, 25, .2),
        0 0 0 1px rgba(255, 228, 149, .72),
        inset 0 1px 0 rgba(255, 255, 255, .78) !important;
}

:where(.fluent-cart-cart-empty-content, .fct-empty-cart) .continue-shopping-link:active {
    transform: translateY(0);
}

@media (max-width: 520px) {
    body:not(.wp-admin) :is(.fluent-cart-cart-empty-content, .fct-empty-cart) {
        width: calc(100% - 24px);
        margin: 24px auto !important;
        padding: 24px 18px 26px !important;
    }
}