/* Scoped to enhanced listing cards and their options panel. */
.product-list li.sse-catalog-card { display: flex !important; flex-direction: column; min-width: 0; }
.product-list li.sse-catalog-card > a:not(.sse-quick-add) { display: flex; flex: 1; flex-direction: column; width: 100%; }
.product-list li.sse-catalog-card .text { display: flex; flex: 1; flex-direction: column; width: 100%; height: auto; padding-bottom: 0; text-align: left; }
.product-list li.sse-catalog-card .text .title { overflow-wrap: anywhere; height: auto; white-space: normal; }
.product-list li.sse-catalog-card .sse-card-subtitle { color: #626262; font-family: inherit; font-size: 14px; font-weight: 400; line-height: 1.45; margin: 5px 0 8px; overflow-wrap: anywhere; }
.product-list li.sse-catalog-card .text .price { margin-top: auto; padding-top: 8px; line-height: 1.5; }
.product-list li.sse-catalog-card .sse-quick-add, .sse-options-add { display: block; width: 100%; box-sizing: border-box; background: #243026; border: 1px solid #243026; border-radius: 0; color: #fff; font: inherit; font-size: 14px; line-height: 1.4; padding: 12px 10px; text-align: center; margin-top: 12px; min-height: 44px; cursor: pointer; text-decoration: none; }
.product-list li.sse-catalog-card .sse-quick-add:hover, .sse-options-add:hover { background: #394936; }
.product-list li.sse-catalog-card .sse-quick-add:disabled, .sse-options-add:disabled { background: #e7e8e4; border-color: #e7e8e4; color: #626262; cursor: not-allowed; }
.product-list li.sse-catalog-card .sse-quick-add[aria-busy="true"], .sse-options-add[aria-busy="true"] { cursor: wait; }
.sse-quick-add:focus-visible, .sse-options-dialog :focus-visible, .sse-continue-shopping:focus-visible { outline: 2px solid #5c7157; outline-offset: 3px; }
.sse-card-status { font: inherit; font-size: 12px; line-height: 1.4; margin: 7px 0 0; color: #243026; }
.sse-card-status:empty { display: none; }
.sse-catalog-card > a.added_to_cart { display: none !important; }
.sse-card-status.sse-error, .sse-options-status { color: #98392c; }
.sse-options-open { overflow: hidden; }
.sse-options-dialog { border: 0; border-radius: 0; box-sizing: border-box; width: min(760px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); overflow: auto; padding: 36px; color: #252a22; background: #fff; }
.sse-options-dialog::backdrop { background: rgb(0 0 0 / 55%); }
.sse-options-close { position: absolute; top: 4px; right: 6px; background: transparent; border: 0; padding: 5px; height: 44px; width: 44px; font-size: 30px; line-height: 1; color: inherit; cursor: pointer; }
.sse-options-product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.sse-options-image { display: block; width: 100%; height: auto; object-fit: contain; align-self: start; }
.sse-options-information { min-width: 0; }
.sse-options-information h2 { font-size: 24px; line-height: 1.25; margin: 5px 0 14px; overflow-wrap: anywhere; }
.sse-options-price { font-size: 17px; line-height: 1.5; margin-bottom: 16px; }
.sse-options-form .variations { display: block; width: 100%; border: 0; margin-bottom: 8px; }
.sse-options-form .variations tbody, .sse-options-form .variations tr, .sse-options-form .variations th, .sse-options-form .variations td { display: block; border: 0; padding: 0; text-align: left; width: 100%; }
.sse-options-form .variations label { display: block; margin: 12px 0 5px; font-size: 14px; }
.sse-options-form .variations select { width: 100%; min-height: 44px; background: #fff; border: 1px solid #7b8176; border-radius: 0; color: inherit; font: inherit; font-size: 14px; padding: 10px 30px 10px 10px; }
.sse-options-form .reset_variations, .sse-options-details { display: inline-block; text-decoration: underline; font-size: 13px; line-height: 1.6; margin: 8px 0; }
.sse-options-form .woocommerce-variation-price { display: none; }
.sse-options-form .single_variation_wrap { margin-top: 10px; }
.sse-options-form .woocommerce-variation-availability { font-size: 13px; }
.sse-options-status { font-size: 13px; line-height: 1.5; margin-top: 8px; }
.sse-options-status:empty { display: none; }
.sse-continue-shopping { display: block; margin: 12px auto 0; padding: 8px; font: inherit; font-size: 14px; color: inherit; background: transparent; border: 0; cursor: pointer; text-decoration: underline; min-height: 44px; }
#cart-sidebar .sse-cart-attributes { margin: 5px 0 8px; font: inherit; font-size: 12px; line-height: 1.5; color: #626262; overflow-wrap: anywhere; }
#cart-sidebar .sse-cart-attributes dt, #cart-sidebar .sse-cart-attributes dd { display: inline; margin: 0; padding: 0; font-weight: normal; }
#cart-sidebar .sse-cart-line-total { font-size: 12px; line-height: 1.5; margin: 4px 0; }
#cart-sidebar .sse-cart-status { color: #98392c; font-size: 13px; line-height: 1.5; margin: 8px 0; }
#cart-sidebar .sse-cart-status:empty { display: none; }
#cart-sidebar .sse-cart-price-recovery { color: #98392c; font-size: 13px; line-height: 1.5; margin: 8px 0; }
#cart-sidebar .sse-cart-price-recovery[hidden] { display: none; }
#cart-sidebar .sse-cart-price-recovery button, #cart-sidebar .sse-cart-price-recovery a { margin-right: 12px; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; }
/* The existing drawer is reused; keep both closing and checkout controls reachable. */
body:has(.sse-catalog-card) #cart-sidebar .cart-sidebar-content { max-height: 100dvh; }
@media (max-width: 767px) {
    .product-list li.sse-catalog-card .sse-quick-add { font-size: 13px; padding: 11px 5px; }
    .product-list li.sse-catalog-card .sse-card-subtitle { font-size: 13px; }
    .sse-options-dialog { padding: 40px 20px 20px; width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
    .sse-options-product { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .sse-options-image { max-height: 28dvh; }
    .sse-options-information h2 { font-size: 22px; }
    /* Keep the close control outside one scrolling area. The existing DOM places
       recommendations first, so explicitly order the basket and checkout before them. */
    body:has(.sse-catalog-card) #cart-sidebar .cart-sidebar-content {
        width: 100%; max-width: 100%; height: 100dvh !important;
        display: flex !important; flex-direction: column !important; overflow: hidden !important;
    }
    body:has(.sse-catalog-card) #cart-sidebar .cart-sidebar-main {
        display: flex !important; flex-direction: column !important; flex: 1 1 auto !important;
        min-height: 0; max-height: none; overflow-x: hidden !important; overflow-y: auto !important;
        overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
        padding-bottom: env(safe-area-inset-bottom, 0px);
    }
    body:has(.sse-catalog-card) #cart-sidebar .cart-content-wrapper {
        order: 0 !important; width: 100%; flex: 0 0 auto !important; overflow: visible !important;
    }
    body:has(.sse-catalog-card) #cart-sidebar .cart-recommendations {
        order: 1 !important; width: 100% !important; flex: 0 0 auto !important;
        overflow: visible !important; border-right: 0 !important;
    }
    body:has(.sse-catalog-card) #cart-sidebar .cart-sidebar-body,
    body:has(.sse-catalog-card) #cart-sidebar .recommendations-list {
        flex: 0 0 auto !important; max-height: none !important; overflow: visible !important;
    }
    body:has(.sse-catalog-card) #cart-sidebar .cart-sidebar-close {
        position: relative; top: auto; right: auto; align-self: flex-end; flex: 0 0 44px;
        width: 44px; height: 44px; margin: 4px 8px 0 auto; z-index: 5; display: flex;
    }
}
