/* Keep the WooCommerce cart usable on narrow phones. A three-column row needs
   more room than the 284px content area of a 320px viewport. */
.header-actions .search-panel,
.mobile-navigation nav {
    max-height: var(--sr-panel-room, calc(100vh - 170px));
    overflow-y: auto;
    overscroll-behavior: contain;
}
.woocommerce .flex-control-thumbs img:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: -3px;
    opacity: 1;
}
@media (max-width: 600px) {
    .woocommerce-cart .wc-block-cart table.wc-block-cart-items { width: 100%; margin: 0; }
    .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
        display: grid;
        grid-template-columns: 56px minmax(0, 1fr);
        column-gap: 12px;
        width: 100%;
    }
    .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row > td,
    .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row > th {
        width: auto;
        min-width: 0;
        padding: 16px 0;
    }
    .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__image {
        grid-column: 1;
        grid-row: 1 / span 2;
    }
    .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__product {
        grid-column: 2;
        grid-row: 1;
    }
    .woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total {
        grid-column: 2;
        grid-row: 2;
        padding-top: 0;
        text-align: left;
    }
    .woocommerce-cart .wc-block-cart .wc-block-cart-items__row .wc-block-cart-item__total { justify-self: start; }
    .wc-block-cart-item__total::before {
        content: 'Item total: ';
        font-size: 12px;
        margin-right: .25em;
    }
    .wc-block-cart .wc-block-components-product-name { overflow-wrap: anywhere; }
}

/* Let WooCommerce reserve space for its floating labels. The general theme
   input rule is too specific to allow the block's active-field padding. */
.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input {
    padding: 1em .75em;
    font-size: 16px;
}
.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input.is-active input,
.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input:focus {
    padding: 1.5em .75em .5em;
}
.woocommerce-checkout .wc-block-components-address-card button {
    white-space: nowrap;
    flex-shrink: 0;
    min-width: 44px;
    min-height: 44px;
}
@media (max-width: 600px) {
    .woocommerce-cart .page-intro,
    .woocommerce-checkout .page-intro { margin-bottom: 24px; }
    .woocommerce-cart .page-space,
    .woocommerce-checkout .page-space { padding-top: 30px; }
    .sr-market { max-width: 100%; }
    .sr-market-control { width: 100%; }
    .sr-market select { max-width: 100%; }
}
