/* ==========================================================
   LUMINA SALON — WOOCOMMERCE v12
   Brand: White base · Orange #e8681a · Gold #c9a84c
   Reference: Shoptimizer-style clean white checkout
   ========================================================== */

/* ── Force white on ALL WC pages ── */
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-page {
    background: #ffffff !important;
}
body.woocommerce-cart .ls-woo-main,
body.woocommerce-checkout .ls-woo-main,
.ls-woo-main { background: #ffffff !important; }

/* ── Shop/page hero ── */
.ls-shop-hero,
.ls-page-logo-hero {
    background: #ffffff;
    text-align: center;
    padding: 28px 24px 20px;
    border-bottom: 1px solid #f0f0f0;
}
@media (min-width: 768px) {
    .ls-shop-hero,
    .ls-page-logo-hero { padding: 32px 24px 24px; }
}
.ls-shop-hero__logo img,
.ls-page-logo-hero__logo img {
    height: 40px; width: auto; display: block; margin: 0 auto 10px;
}
.ls-shop-hero__wordmark,
.ls-page-logo-hero__name {
    font-family: 'Playfair Display', serif;
    font-size: 1.4rem; font-weight: 900; color: #1a1a1a; display: block;
}
.ls-shop-hero__title,
.ls-page-logo-hero__title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.1rem, 3vw, 1.6rem); font-weight: 700;
    color: #444; margin: 4px 0 0;
}
.ls-page-logo-hero__logo { display: block; text-decoration: none; }

/* ── Hide breadcrumb + result count ── */
.woocommerce-breadcrumb,
nav.woocommerce-breadcrumb { display: none !important; }
.woocommerce-result-count { display: none !important; }

/* ── Sort bar ── */
.woocommerce-ordering { margin: 0 0 24px !important; float: none !important; }
.woocommerce-ordering select {
    padding: 9px 14px; border: 1px solid #ddd; border-radius: 6px;
    font-family: 'DM Sans', sans-serif; font-size: .86rem;
    color: #333; background: #fff; cursor: pointer;
}

/* ==========================================================
   PRODUCT GRID
   ========================================================== */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce .products ul::before,
.woocommerce .products ul::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after { display: none !important; content: none !important; }

.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
    list-style: none !important;
    margin: 0 !important; padding: 0 !important;
    float: none !important; align-items: start !important;
    width: 100% !important; clear: both !important;
}
@media (min-width: 640px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products { gap: 18px !important; }
}
@media (min-width: 900px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (min-width: 1200px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products { grid-template-columns: repeat(4, 1fr) !important; }
}
.woocommerce ul.products li.product {
    background: #fff !important; border-radius: 12px !important;
    overflow: hidden !important; border: 1px solid #eee !important;
    box-shadow: 0 1px 6px rgba(0,0,0,.06) !important;
    transition: transform .2s, box-shadow .2s !important;
    float: none !important; width: 100% !important;
    margin: 0 !important; padding: 0 !important;
    display: flex !important; flex-direction: column !important;
    position: relative !important; clear: none !important;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px) !important; box-shadow: 0 8px 24px rgba(0,0,0,.1) !important; }
.woocommerce ul.products li.product a img { width: 100% !important; height: 180px !important; object-fit: cover !important; display: block !important; margin: 0 !important; transition: transform .4s !important; }
@media (min-width: 640px) { .woocommerce ul.products li.product a img { height: 210px !important; } }
@media (min-width: 900px) { .woocommerce ul.products li.product a img { height: 240px !important; } }
.woocommerce ul.products li.product:hover a img { transform: scale(1.04) !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: 'DM Sans', sans-serif !important; font-size: .92rem !important; font-weight: 600 !important; color: #1a1a1a !important; padding: 12px 14px 4px !important; margin: 0 !important; }
.woocommerce ul.products li.product .price { font-weight: 700 !important; font-size: .9rem !important; color: #1a1a1a !important; display: block !important; padding: 0 14px !important; margin: 0 0 4px !important; }
.woocommerce ul.products li.product .price del { color: #aaa !important; font-weight: 400 !important; font-size: .78rem !important; }
.woocommerce ul.products li.product .price ins { text-decoration: none !important; color: #e8681a !important; }
.woocommerce ul.products li.product .star-rating { display: block !important; padding: 0 14px !important; margin: 0 0 4px !important; font-size: .72rem !important; }
.woocommerce ul.products li.product .button { display: block !important; width: calc(100% - 28px) !important; margin: auto 14px 14px !important; padding: 10px !important; background: #e8681a !important; color: #fff !important; border: none !important; border-radius: 8px !important; font-family: 'DM Sans', sans-serif !important; font-size: .76rem !important; font-weight: 700 !important; letter-spacing: .04em !important; text-transform: uppercase !important; text-align: center !important; cursor: pointer !important; transition: background .2s !important; margin-top: auto !important; }
.woocommerce ul.products li.product .button:hover { background: #c9a84c !important; }
.woocommerce ul.products li.product .onsale { position: absolute !important; top: 10px !important; left: 10px !important; background: #e8681a !important; color: #fff !important; border-radius: 6px !important; padding: 2px 8px !important; font-size: .65rem !important; font-weight: 800 !important; letter-spacing: .04em !important; text-transform: uppercase !important; line-height: 1.6 !important; z-index: 2 !important; margin: 0 !important; min-height: auto !important; }

/* ==========================================================
   CART PAGE — White, spacious, Shoptimizer-style
   ========================================================== */
body.woocommerce-cart,
.woocommerce-cart .ls-woo-main,
.woocommerce-cart .woocommerce { background: #ffffff !important; }

.woocommerce-cart .woocommerce {
    width: 100%; max-width: 100%;
    padding: 0; margin: 0; box-sizing: border-box;
}

/* Content containers — full width with inner padding */
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart form.woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .ls-cart-loyalty-notice {
    max-width: 1160px;
    margin-left: auto; margin-right: auto;
    padding-left: clamp(16px, 4vw, 48px);
    padding-right: clamp(16px, 4vw, 48px);
    box-sizing: border-box;
}

/* Top spacing */
.woocommerce-cart form.woocommerce-cart-form { padding-top: 36px; }
.woocommerce-cart .ls-cart-loyalty-notice { padding-top: 28px; margin-bottom: 0 !important; }

/* Desktop grid */
@media (min-width: 900px) {
    .woocommerce-cart .woocommerce {
        display: grid;
        grid-template-columns: 1fr 360px;
        align-items: start;
    }
    .woocommerce-cart .woocommerce > * { max-width: none; }
    .woocommerce-cart .woocommerce::before,
    .woocommerce-cart .woocommerce::after { display: none; }
    .woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
    .woocommerce-cart .ls-cart-loyalty-notice { grid-column: 1 / -1; padding-top: 36px; }
    .woocommerce-cart form.woocommerce-cart-form {
        grid-column: 1;
        padding-left: clamp(16px, 4vw, 48px);
        padding-right: 24px;
        padding-top: 36px;
    }
    .woocommerce-cart .cart-collaterals {
        grid-column: 2;
        padding-left: 0;
        padding-right: clamp(16px, 4vw, 48px);
        padding-top: 36px;
        position: sticky; top: 80px;
    }
}

/* Cart page title */
.woocommerce-cart h1.entry-title,
.woocommerce-cart .woocommerce > h1 {
    font-family: 'DM Sans', sans-serif;
    font-size: 1.6rem; font-weight: 800;
    color: #1a1a1a; margin: 0 0 24px;
}

/* Loyalty notice */
.ls-cart-loyalty-notice {
    background: #fff8ee;
    border: 1px solid #e8c97a;
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 20px;
    font-size: .88rem;
    color: #7a5a1a;
    display: flex; align-items: center; gap: 10px;
    font-weight: 500; line-height: 1.4;
}

/* Cart table */
.woocommerce-cart table.cart {
    width: 100%; border-collapse: collapse;
    background: #fff;
}
/* Hide desktop thead on mobile */
.woocommerce-cart table.cart thead th {
    font-family: 'DM Sans', sans-serif;
    font-size: .7rem; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase;
    color: #999; padding: 0 0 12px;
    border-bottom: 2px solid #f0f0f0;
    text-align: left;
}
.woocommerce-cart table.cart th.product-remove { width: 40px; }
.woocommerce-cart table.cart th.product-thumbnail { width: 80px; }

/* Table rows */
.woocommerce-cart table.cart tbody tr {
    border-bottom: 1px solid #f5f5f5;
}
.woocommerce-cart table.cart td {
    padding: 20px 8px; border: none;
    vertical-align: middle; font-family: 'DM Sans', sans-serif;
    background: #fff;
}

/* Remove button */
.woocommerce-cart table.cart td.product-remove { width: 36px; padding-right: 0; }
.woocommerce-cart table.cart td.product-remove a.remove {
    display: flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 50%;
    border: 1px solid #ddd; color: #999 !important;
    font-size: 1rem; text-decoration: none; transition: all .2s;
    line-height: 1; background: #fff;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover {
    border-color: #e74c3c; color: #e74c3c !important; background: #fff5f5;
}

/* Thumbnail — RIGHT side on mobile via flexbox reorder */
.woocommerce-cart table.cart td.product-thumbnail { padding: 16px 0 16px 12px; }
.woocommerce-cart table.cart td.product-thumbnail img {
    width: 72px !important; height: 72px !important;
    object-fit: cover !important; border-radius: 8px !important;
    display: block !important;
}

/* Product name */
.woocommerce-cart table.cart td.product-name { padding-left: 14px; }
.woocommerce-cart table.cart td.product-name a {
    font-family: 'DM Sans', sans-serif;
    font-size: .95rem; font-weight: 600;
    color: #1a1a1a; text-decoration: none; display: block;
}
.woocommerce-cart table.cart td.product-name a:hover { color: #e8681a; }
.woocommerce-cart table.cart td.product-name .variation { font-size: .8rem; color: #999; margin-top: 3px; }

/* Price */
.woocommerce-cart table.cart td.product-price { font-size: .9rem; color: #555; }
.woocommerce-cart table.cart td.product-subtotal { font-size: .95rem; font-weight: 700; color: #1a1a1a; }

/* Quantity — +/- stepper style */
.woocommerce-cart table.cart .quantity {
    display: flex; align-items: center;
    border: 1px solid #ddd; border-radius: 8px;
    background: #fff; overflow: hidden;
    width: 100px;
}
.woocommerce-cart table.cart .quantity .qty {
    width: 40px; padding: 8px 4px;
    border: none; background: transparent;
    text-align: center; font-size: .9rem; font-weight: 600;
    color: #1a1a1a; font-family: 'DM Sans', sans-serif;
    -moz-appearance: textfield;
}
.woocommerce-cart table.cart .quantity .qty::-webkit-inner-spin-button,
.woocommerce-cart table.cart .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; }

/* Actions row */
.woocommerce-cart table.cart td.actions {
    padding: 16px 0; background: #fff;
    border-top: 1px solid #f0f0f0;
}
.woocommerce-cart .coupon { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.woocommerce-cart .coupon label { display: none; }
.woocommerce-cart .coupon input#coupon_code {
    flex: 1; min-width: 160px; max-width: 220px;
    padding: 10px 14px; border: 1px solid #ddd; border-radius: 8px;
    font-family: 'DM Sans', sans-serif; font-size: .88rem;
    background: #fff; color: #1a1a1a; outline: none;
    transition: border-color .2s;
}
.woocommerce-cart .coupon input#coupon_code:focus { border-color: #e8681a; }
.woocommerce-cart .coupon input#coupon_code::placeholder { color: #bbb; }
.woocommerce-cart .coupon .button {
    padding: 10px 18px; border: 1px solid #1a1a1a; border-radius: 8px;
    background: transparent; color: #1a1a1a; font-size: .8rem;
    font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    cursor: pointer; font-family: 'DM Sans', sans-serif; transition: all .2s;
}
.woocommerce-cart .coupon .button:hover { background: #1a1a1a; color: #fff; }
.woocommerce-cart button[name="update_cart"] {
    padding: 10px 18px; border: 1px solid #ddd; border-radius: 8px;
    background: transparent; color: #999; font-size: .8rem;
    font-weight: 600; cursor: pointer; font-family: 'DM Sans', sans-serif;
    transition: all .2s; float: right;
}
.woocommerce-cart button[name="update_cart"]:hover { border-color: #999; color: #555; }

/* Cart totals */
.woocommerce-cart .cart_totals {
    background: #fff; border: 1px solid #eee;
    border-radius: 12px; padding: 24px;
    margin-top: 16px; margin-bottom: 80px;
}
@media (min-width: 900px) { .woocommerce-cart .cart_totals { margin-top: 0; } }
.woocommerce-cart .cart_totals h2 {
    font-family: 'DM Sans', sans-serif;
    font-size: 1.1rem; font-weight: 800; color: #1a1a1a;
    margin: 0 0 16px; padding-bottom: 14px;
    border-bottom: 2px solid #f0f0f0;
}
.woocommerce-cart .cart_totals .shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-cart .cart_totals .shop_table th,
.woocommerce-cart .cart_totals .shop_table td {
    padding: 10px 0; border-bottom: 1px solid #f5f5f5;
    font-size: .9rem; vertical-align: middle;
    font-family: 'DM Sans', sans-serif;
}
.woocommerce-cart .cart_totals .shop_table th { font-weight: 500; color: #666; width: 45%; }
.woocommerce-cart .cart_totals .shop_table td { font-weight: 600; color: #1a1a1a; text-align: right; }
.woocommerce-cart .cart_totals .shop_table tr.order-total th,
.woocommerce-cart .cart_totals .shop_table tr.order-total td {
    border-bottom: none; padding-top: 14px; font-size: 1.05rem; font-weight: 800;
}
.woocommerce-cart .cart_totals .shop_table tr.order-total td {
    font-size: 1.3rem; color: #1a1a1a;
}

/* Checkout button — full width orange */
.woocommerce-cart .wc-proceed-to-checkout { margin-top: 20px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button {
    display: flex !important; align-items: center !important;
    justify-content: center !important; gap: 8px !important;
    width: 100% !important; box-sizing: border-box !important;
    background: #e8681a !important; color: #fff !important;
    border-radius: 8px !important; padding: 16px 24px !important;
    font-family: 'DM Sans', sans-serif !important; font-size: .92rem !important;
    font-weight: 800 !important; letter-spacing: .04em !important;
    text-transform: uppercase !important; text-align: center !important;
    text-decoration: none !important; border: none !important;
    cursor: pointer !important; transition: all .22s !important;
    box-shadow: 0 4px 14px rgba(232,104,26,.35) !important;
}
.woocommerce-cart a.checkout-button:hover {
    background: #cf5912 !important;
    box-shadow: 0 6px 20px rgba(232,104,26,.45) !important;
    transform: translateY(-1px) !important;
}

/* Secure + payment icons */
.woocommerce-cart .wc-proceed-to-checkout::after {
    content: '🔒  Secure Checkout';
    display: block; text-align: center;
    font-size: .72rem; color: #999; margin-top: 10px;
}

/* Payment icons row */
.ls-cart-payment-icons {
    display: flex; align-items: center; justify-content: center;
    gap: 8px; flex-wrap: wrap; margin-top: 14px; padding: 0;
}
.ls-cart-payment-icons img { height: 22px; width: auto; opacity: .65; }
.ls-cart-payment-icons svg { height: 22px; width: auto; opacity: .65; }

/* Empty cart */
.woocommerce-cart .cart-empty { text-align: center; padding: 60px 24px; font-size: 1rem; color: #666; }
.woocommerce-cart .return-to-shop { text-align: center; margin-top: 16px; }
.woocommerce-cart .return-to-shop .button {
    background: #e8681a; color: #fff; border-radius: 8px;
    padding: 12px 32px; text-decoration: none; font-weight: 700;
    display: inline-block; font-size: .86rem;
    letter-spacing: .04em; text-transform: uppercase; transition: all .2s;
}
.woocommerce-cart .return-to-shop .button:hover { background: #cf5912; }

/* ── Mobile cart — card per item ── */
@media (max-width: 640px) {
    .woocommerce-cart table.cart thead { display: none; }
    .woocommerce-cart table.cart,
    .woocommerce-cart table.cart tbody { display: block; width: 100%; }
    .woocommerce-cart table.cart tr {
        display: flex; flex-wrap: wrap;
        align-items: flex-start;
        padding: 16px 0;
        border-bottom: 1px solid #f0f0f0;
        position: relative;
        gap: 0;
    }
    .woocommerce-cart table.cart td { padding: 3px 6px; border: none; background: none; }
    /* Remove button — top right */
    .woocommerce-cart table.cart td.product-remove {
        order: 3; margin-left: auto; padding: 0;
    }
    /* Name + price + qty — left block */
    .woocommerce-cart table.cart td.product-name { order: 1; width: calc(100% - 96px); padding-left: 0; }
    .woocommerce-cart table.cart td.product-price { order: 2; width: calc(100% - 96px); font-size: .82rem; color: #888 !important; }
    .woocommerce-cart table.cart td.product-quantity { order: 4; width: calc(100% - 96px); }
    .woocommerce-cart table.cart td.product-subtotal { order: 5; width: calc(100% - 96px); font-weight: 700 !important; }
    /* Thumbnail — right side */
    .woocommerce-cart table.cart td.product-thumbnail {
        order: 6; width: 80px; padding: 0 0 0 12px;
        position: absolute; right: 0; top: 16px;
    }
    .woocommerce-cart table.cart td.product-thumbnail img { width: 72px !important; height: 72px !important; border-radius: 8px !important; }
    /* Actions full width */
    .woocommerce-cart table.cart td.actions { order: 99; width: 100%; padding: 14px 0 4px; }
    .woocommerce-cart .coupon { flex-direction: column; align-items: stretch; }
    .woocommerce-cart .coupon input#coupon_code { max-width: 100%; }
    .woocommerce-cart button[name="update_cart"] { float: none; width: 100%; margin-top: 8px; text-align: center; }
}

/* ==========================================================
   POINTS REDEMPTION
   ========================================================== */
.ls-points-redeem {
    background: #fff8ee; border: 1px solid #f0d080;
    border-radius: 10px; padding: 18px 20px; margin-bottom: 20px;
}
.ls-points-redeem__heading {
    font-family: 'DM Sans', sans-serif;
    font-size: .95rem; font-weight: 700; color: #1a1a1a;
    margin: 0 0 6px; display: flex; align-items: center; gap: 8px;
}
.ls-points-redeem__meta { font-size: .84rem; color: #7a5a1a; margin: 0 0 14px; line-height: 1.5; }
.ls-points-redeem__row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.ls-points-redeem__input {
    flex: 1; min-width: 100px; max-width: 150px;
    padding: 10px 12px; border: 1px solid #ddd; border-radius: 8px;
    font-family: 'DM Sans', sans-serif; font-size: .9rem;
    color: #1a1a1a; background: #fff; outline: none;
}
.ls-points-redeem__input:focus { border-color: #e8681a; }
.ls-points-redeem__btn {
    padding: 10px 20px; background: #e8681a; color: #fff;
    border: none; border-radius: 8px; font-family: 'DM Sans', sans-serif;
    font-size: .82rem; font-weight: 700; letter-spacing: .04em;
    text-transform: uppercase; cursor: pointer; transition: background .2s;
}
.ls-points-redeem__btn:hover { background: #cf5912; }
.ls-points-redeem__msg { font-size: .84rem; margin-top: 10px; padding: 8px 12px; border-radius: 6px; }
.ls-points-redeem__msg.success { background: #f0fdf4; color: #15803d; }
.ls-points-redeem__msg.error { background: #fff1f2; color: #be123c; }

/* ==========================================================
   CHECKOUT PAGE — Clean white, two-column desktop
   ========================================================== */
body.woocommerce-checkout { background: #ffffff !important; }
.woocommerce-checkout .ls-woo-main,
.woocommerce-checkout .woocommerce { background: #ffffff !important; }

.woocommerce-checkout .woocommerce {
    width: 100%; max-width: 100%;
    padding: 0; margin: 0; box-sizing: border-box;
}

/* Inner content padding */
.woocommerce-checkout .woocommerce > * {
    max-width: 1160px;
    margin-left: auto; margin-right: auto;
    padding-left: clamp(16px, 4vw, 48px);
    padding-right: clamp(16px, 4vw, 48px);
    box-sizing: border-box;
}

/* Top spacing */
.woocommerce-checkout .woocommerce > .woocommerce-NoticeGroup-checkout,
.woocommerce-checkout .woocommerce > .woocommerce-form-coupon-toggle { padding-top: 28px; }

/* Desktop grid */
@media (min-width: 900px) {
    .woocommerce-checkout .woocommerce {
        display: grid;
        grid-template-columns: 1fr 360px;
        align-items: start;
    }
    .woocommerce-checkout .woocommerce::before,
    .woocommerce-checkout .woocommerce::after { display: none; }
    .woocommerce-checkout .woocommerce > * { max-width: none; }
    .woocommerce-checkout .woocommerce > .woocommerce-NoticeGroup-checkout,
    .woocommerce-checkout .woocommerce > .woocommerce-form-coupon-toggle { grid-column: 1 / -1; }
    .woocommerce-checkout #customer_details {
        grid-column: 1;
        padding-left: clamp(16px, 4vw, 48px);
        padding-right: 28px;
        padding-top: 36px;
        padding-bottom: 80px;
    }
    .woocommerce-checkout #order_review_heading {
        grid-column: 2;
        padding-left: 0; padding-right: clamp(16px, 4vw, 48px);
        padding-top: 36px;
    }
    .woocommerce-checkout #order_review {
        grid-column: 2;
        padding-left: 0; padding-right: clamp(16px, 4vw, 48px);
        padding-bottom: 80px;
        position: sticky; top: 80px;
    }
}

/* Coupon / login toggles */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info {
    background: #fff8ee; border: 1px solid #f0d080 !important;
    border-radius: 8px; padding: 12px 18px; color: #7a5a1a;
    font-size: .88rem; font-weight: 500; margin-bottom: 16px;
    display: flex; align-items: center; gap: 8px;
    border-left-width: 1px !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before { display: none; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a,
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a { color: #e8681a; font-weight: 700; }

/* Section headings */
.woocommerce-checkout h3,
#order_review_heading {
    font-family: 'DM Sans', sans-serif;
    font-size: 1.1rem; font-weight: 800; color: #1a1a1a;
    margin: 0 0 20px;
}

/* Customer details card */
.woocommerce-checkout #customer_details {
    padding-top: 28px;
    padding-bottom: 40px;
}
@media (max-width: 899px) {
    .woocommerce-checkout #customer_details { padding-left: clamp(16px, 4vw, 48px); padding-right: clamp(16px, 4vw, 48px); }
}

/* Form rows */
.woocommerce form .form-row { margin-bottom: 16px; padding: 0; }
.woocommerce form .form-row label {
    font-family: 'DM Sans', sans-serif;
    font-size: .8rem; font-weight: 600;
    color: #444; margin-bottom: 6px; display: block;
    text-transform: none; letter-spacing: 0;
}
.woocommerce form .form-row label abbr { color: #e74c3c; text-decoration: none; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    width: 100%; padding: 11px 14px;
    border: 1px solid #ddd; border-radius: 6px;
    font-family: 'DM Sans', sans-serif; font-size: .92rem;
    color: #1a1a1a; background: #fff; outline: none;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
    -webkit-appearance: none; appearance: none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: #e8681a; box-shadow: 0 0 0 3px rgba(232,104,26,.1);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
    border-color: #e74c3c; box-shadow: 0 0 0 2px rgba(231,76,60,.08);
}
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: #27ae60; }
.woocommerce form .form-row select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231a1a1a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 14px center;
    padding-right: 40px; cursor: pointer;
}
.woocommerce form .form-row textarea { height: 90px; resize: vertical; }
.woocommerce form .form-row-first { float: left; width: 48%; }
.woocommerce form .form-row-last  { float: right; width: 48%; }
.woocommerce form .clear { clear: both; }
@media (max-width: 599px) {
    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last { float: none; width: 100%; }
}

/* ── Order Review panel ── */
#order_review_heading { padding-top: 28px; }
@media (max-width: 899px) {
    #order_review_heading { padding-left: clamp(16px, 4vw, 48px); padding-right: clamp(16px, 4vw, 48px); }
}

#order_review {
    background: #fafafa; border: 1px solid #eee;
    border-radius: 12px; padding: 24px;
    margin-bottom: 24px;
}
@media (max-width: 899px) {
    #order_review { margin-left: clamp(16px, 4vw, 48px); margin-right: clamp(16px, 4vw, 48px); }
}
#order_review table.shop_table { width: 100%; border-collapse: collapse; }
#order_review table.shop_table thead th {
    font-size: .72rem; font-weight: 700; letter-spacing: .06em;
    text-transform: uppercase; color: #999;
    padding: 0 0 12px; border-bottom: 2px solid #eee;
}
#order_review table.shop_table tbody tr td {
    padding: 12px 0; border-bottom: 1px solid #f0f0f0;
    font-size: .9rem; color: #1a1a1a; vertical-align: middle;
    font-family: 'DM Sans', sans-serif;
}
#order_review table.shop_table tbody tr td:first-child { font-weight: 600; }
#order_review table.shop_table tfoot tr th { font-size: .86rem; font-weight: 500; color: #666; padding: 10px 0; font-family: 'DM Sans', sans-serif; }
#order_review table.shop_table tfoot tr td { font-size: .9rem; font-weight: 700; text-align: right; padding: 10px 0; font-family: 'DM Sans', sans-serif; }
#order_review table.shop_table tfoot tr.order-total th { font-size: .95rem; font-weight: 800; color: #1a1a1a; padding-top: 14px; border-top: 2px solid #eee; }
#order_review table.shop_table tfoot tr.order-total td { font-size: 1.3rem; font-weight: 900; color: #1a1a1a; text-align: right; padding-top: 14px; border-top: 2px solid #eee; }

/* Product thumbnail in order review */
#order_review table.shop_table .product-thumbnail img { width: 40px !important; height: 40px !important; object-fit: cover !important; border-radius: 6px !important; margin-right: 10px; vertical-align: middle; }

/* Payment */
#payment { margin-top: 20px; }
#payment .wc_payment_methods { list-style: none; padding: 0; margin: 0 0 16px; }
#payment .wc_payment_methods li {
    background: #fff; border: 1px solid #ddd;
    border-radius: 8px; padding: 14px 16px; margin-bottom: 10px;
    transition: border-color .2s; cursor: pointer;
}
#payment .wc_payment_methods li:has(input:checked) { border-color: #e8681a; background: #fff8ee; }
#payment .wc_payment_methods li label {
    display: flex; align-items: center; gap: 10px;
    font-weight: 600; font-size: .9rem; color: #1a1a1a;
    cursor: pointer; margin: 0; text-transform: none; letter-spacing: 0;
    font-family: 'DM Sans', sans-serif;
}
#payment .wc_payment_methods li input[type="radio"] { width: 16px; height: 16px; accent-color: #e8681a; flex-shrink: 0; }
#payment .payment_box { font-size: .84rem; color: #666; margin-top: 10px; padding: 10px 14px; background: #f5f5f5; border-radius: 6px; line-height: 1.5; font-family: 'DM Sans', sans-serif; }
#payment .woocommerce-privacy-policy-text { font-size: .76rem; color: #999; margin-bottom: 16px; line-height: 1.6; font-family: 'DM Sans', sans-serif; }
#payment .woocommerce-privacy-policy-text a { color: #e8681a; }

/* Place Order — full-width orange */
#payment #place_order {
    width: 100% !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    gap: 8px !important; box-sizing: border-box !important;
    background: #e8681a !important; color: #fff !important;
    border-radius: 8px !important; padding: 16px 24px !important;
    font-family: 'DM Sans', sans-serif !important; font-size: .92rem !important;
    font-weight: 800 !important; letter-spacing: .04em !important;
    text-transform: uppercase !important; border: none !important;
    cursor: pointer !important; transition: all .22s !important;
    box-shadow: 0 4px 14px rgba(232,104,26,.35) !important;
}
#payment #place_order:hover {
    background: #cf5912 !important;
    box-shadow: 0 6px 20px rgba(232,104,26,.45) !important;
    transform: translateY(-1px) !important;
}
#payment::after {
    content: '🔒  Your order is secure';
    display: block; text-align: center;
    font-size: .72rem; color: #999; margin-top: 10px;
    font-family: 'DM Sans', sans-serif;
}

/* ==========================================================
   WC NOTICES
   ========================================================== */
.woocommerce-message, .woocommerce-error, .woocommerce-info {
    border-radius: 8px; padding: 12px 18px; margin-bottom: 16px;
    font-weight: 500; border-left: 3px solid;
    display: flex; align-items: center; gap: 10px;
    font-size: .9rem; font-family: 'DM Sans', sans-serif;
}
.woocommerce-message { background: #f0fdf4; border-color: #22c55e; color: #15803d; }
.woocommerce-error   { background: #fff1f2; border-color: #f43f5e; color: #be123c; }
.woocommerce-info    { background: #fff8ee; border-color: #e8681a; color: #7a5a1a; }
.woocommerce-message::before, .woocommerce-error::before, .woocommerce-info::before { display: none !important; }
.woocommerce-message a.button { background: #22c55e !important; color: #fff !important; border-radius: 6px !important; padding: 6px 16px !important; font-size: .78rem !important; font-weight: 700 !important; text-decoration: none; margin-left: auto; }
.woocommerce-info a.button { background: #e8681a !important; color: #fff !important; border-radius: 6px !important; padding: 6px 16px !important; font-size: .78rem !important; font-weight: 700 !important; text-decoration: none; margin-left: auto; }

/* ==========================================================
   SINGLE PRODUCT
   ========================================================== */
.woocommerce div.product .product_title { font-family: 'Playfair Display', serif; font-size: clamp(1.4rem,4vw,2rem); font-weight: 800; color: #1a1a1a; margin-bottom: 8px; }
.woocommerce div.product p.price { font-size: 1.4rem; font-weight: 900; color: #e8681a; margin: 10px 0 20px; }
.woocommerce div.product form.cart .button,
.woocommerce .single_add_to_cart_button { background: #e8681a !important; color: #fff !important; border-radius: 8px !important; padding: 13px 32px !important; font-size: .9rem !important; font-weight: 800 !important; border: none !important; cursor: pointer !important; transition: all .2s !important; }
.woocommerce .single_add_to_cart_button:hover { background: #cf5912 !important; }
.related.products, .upsells.products { margin-top: 40px; }
.related.products h2, .upsells.products h2 { font-family: 'Playfair Display', serif; font-size: 1.2rem; font-weight: 800; margin-bottom: 20px; }
.woocommerce-page .site-sidebar { display: none; }
