:root {
    /* Colors */
    --sf-border-color: #E7E7E7;
    --sf-darker-border-color: #A3A1A1;
    --sf-text-color: #25282B;
    --sf-text-form-color: #201C1C;
    --sf-text-color-beige: #BF9C6D;
    --sf-text-color-beige-dark: #816A55;
    --sf-text-disabled: #878686;
    --sf-bg-light: #FAF7F4;

    /* Typography */
    --font-inter: Inter, sans-serif;

    /* UI */
    --hover-opacity: 0.6;
    --sf-radius: 0.25rem;

    /* Quantity controls */
    --sf-qty-btn-size: 2.5rem;
    --sf-qty-btn-size-sm: 2rem;
    --sf-qty-height: 2.5rem;
    --sf-qty-height-sm: 2rem;
}

.woocommerce-page.woocommerce-cart, .woocommerce-page.woocommerce-checkout {
    background: rgba(249, 249, 249, 1);

    /* ── Hero ── */
    .hero-section:has(h1) {
        padding-bottom: 5.25rem;
        margin-bottom: 3.375rem;
        width: auto;
        max-width: none;
        border-bottom: 1px dashed rgb(44, 62, 80, 0.2);

        @media screen and (max-width: 480px) {
            padding-bottom: 4rem;
            margin-bottom: 1.5rem;
        }
    }

    /* ── Main content ── */
    #main {

        /* Headings */
        h1, h2, .ct-woocommerce-checkout h3 {
            font-family: Cormorant Garamond;
            text-transform: uppercase;
            line-height: 1.2;
            letter-spacing: 0.02em;
        }

        h1 {
            font-size: 2rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.25rem;

            &::before, &::after {
                content: "—";
            }

            @media screen and (max-width: 480px) {
                font-size: 1.5rem;
            }
        }

        h2, .ct-woocommerce-checkout h3 {
            padding: 1.5rem;
            font-size: 1.25rem;
            max-width: 25.75rem;
            border-color: #DEDEDE;
            border-style: solid;
            border-width: 0 0 1px 1px;
        }

        /* Prices */
        .amount * {
            font-family: var(--font-inter);
        }
    }

    /* ── Cart & Checkout shared ── */
    &.woocommerce-cart,
    &.woocommerce-checkout {

        /* Sale price display */
        .sf-cart-price .sf-cart-price--amount {
            display: flex;
            flex-direction: column;
            text-align: left;

            ins {
                font-weight: 600;
                font-size: 1.125rem;
            }

            del {
                order: -1;
                font-size: 0.875rem;
                line-height: 1;
                color: var(--sf-text-disabled);
                opacity: 1;
            }
        }

        /* Order total row */
        .shop_table .order-total {

            .includes_tax {
                display: none;
            }

            th {
                font-size: 1.125rem;
                font-weight: 600 !important;
                letter-spacing: 0.02rem;
                text-transform: uppercase;
                color: var(--sf-text-color-beige);
            }

            .sf-cart-price-suffix {
                font-size: 0.75rem;
                font-weight: 400;
                font-family: var(--font-inter);
                color: var(--sf-text-disabled);
                line-height: 1.2;

                * {
                    font-weight: 400 !important;
                }
            }
        }
    }
}