/* ============================================================
   ASANTEY HAIR & BEAUTY — WooCommerce Styles
   Matches design tokens from style.css
   ============================================================ */

/* ── LAYOUT WRAPPER ──────────────────────────────────────── */
.wc-main { min-height: 60vh; }
.wc-wrap { display: grid; gap: 3rem; }

/* Shop page: sidebar + grid */
.woocommerce-page .wc-wrap,
.woocommerce .wc-wrap { gap: 2rem; }

/* ── BREADCRUMB ───────────────────────────────────────────── */
.wc-breadcrumb {
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--g5);
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--off);
}
.wc-breadcrumb a { color: var(--g5); transition: color var(--t); }
.wc-breadcrumb a:hover { color: var(--ink); }

/* ── SHOP TOOLBAR ─────────────────────────────────────────── */
.woocommerce-products-header { display: none; }

.woocommerce-result-count {
    font-family: var(--sans);
    font-size: .8rem;
    color: var(--g5);
    margin: 0;
}
.woocommerce-ordering {
    margin: 0;
}
.woocommerce-ordering select {
    font-family: var(--sans);
    font-size: .8rem;
    border: 1px solid var(--off);
    padding: .5rem 2rem .5rem .75rem;
    background: var(--paper);
    color: var(--ink);
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .5rem center;
}

/* ── PRODUCT CARDS ────────────────────────────────────────── */
ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media(max-width:960px) { ul.products { grid-template-columns: repeat(2,1fr); } }
@media(max-width:540px) { ul.products { grid-template-columns: 1fr; } }

ul.products li.product {
    margin: 0 !important;
    padding: 0 !important;
}

.wc-card {
    position: relative;
    background: var(--paper);
    border: 1px solid var(--off);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform .3s var(--e), box-shadow .3s var(--e);
}
.wc-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0,0,0,.1);
}

/* Card image */
.wc-card .woocommerce-loop-product__link {
    display: flex;
    flex-direction: column;
    flex: 1;
    color: var(--ink);
}
.wc-card img {
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .6s var(--e);
}
.wc-card:hover img { transform: scale(1.04); }

/* Card body */
.wc-card .wc-card__cat {
    display: block;
    font-family: var(--sans);
    font-size: .6rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--g5);
    padding: 1.25rem 1.25rem .25rem;
}
.wc-card .wc-card__title,
.wc-card .woocommerce-loop-product__title {
    font-family: var(--serif);
    font-size: clamp(1.1rem,1.8vw,1.4rem);
    font-weight: 400;
    color: var(--ink);
    padding: .25rem 1.25rem .75rem;
    line-height: 1.2;
    margin: 0;
}
.wc-card .price {
    font-family: var(--sans);
    font-size: .9rem;
    color: var(--g5);
    padding: 0 1.25rem 1.25rem;
    display: block;
}
.wc-card .price ins { text-decoration: none; color: var(--ink); font-weight: 500; }
.wc-card .price del { opacity: .5; margin-right: .4rem; font-size: .8rem; }
.wc-card .amount { color: inherit; }

/* Add to cart on loop */
.wc-card .button,
.wc-card a.button {
    display: block;
    margin: 0 1.25rem 1.25rem;
    padding: .75rem 1.25rem;
    background: var(--ink);
    color: var(--paper) !important;
    font-family: var(--sans);
    font-size: .7rem;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-align: center;
    border: none;
    cursor: pointer;
    transition: background .2s;
    text-decoration: none !important;
}
.wc-card .button:hover,
.wc-card a.button:hover { background: var(--g3); }
.wc-card .added_to_cart { display: none; } /* suppress "View cart" link */

/* Badges */
.wc-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    font-family: var(--sans);
    font-size: .6rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .3rem .65rem;
    z-index: 2;
    pointer-events: none;
}
.wc-badge--sale { background: var(--ink); color: var(--paper); }
.wc-badge--new  { background: var(--gold); color: var(--paper); }

/* WC default sale flash — override */
.woocommerce span.onsale {
    background: var(--ink);
    color: var(--paper);
    font-family: var(--sans);
    font-size: .6rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    min-height: auto;
    min-width: auto;
    padding: .3rem .65rem;
    border-radius: 0;
    line-height: 1.5;
}

/* ── CATEGORY FILTER BAR ──────────────────────────────────── */
.wc-filter-bar {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}
.wc-filter-bar a {
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .5rem 1.25rem;
    border: 1px solid var(--off);
    color: var(--g5);
    transition: all .2s;
}
.wc-filter-bar a:hover,
.wc-filter-bar a.active { background: var(--ink); color: var(--paper); border-color: var(--ink); }

/* ── PAGINATION ───────────────────────────────────────────── */
.woocommerce-pagination {
    margin-top: 3rem;
    text-align: center;
}
.woocommerce-pagination ul {
    display: inline-flex;
    gap: .25rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-pagination ul li { margin: 0; }
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-family: var(--sans);
    font-size: .85rem;
    border: 1px solid var(--off);
    color: var(--g5);
    transition: all .2s;
}
.woocommerce-pagination ul li a:hover,
.woocommerce-pagination ul li span.current {
    background: var(--ink);
    color: var(--paper);
    border-color: var(--ink);
}

/* ── SINGLE PRODUCT ───────────────────────────────────────── */
.woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}
@media(max-width:768px) {
    .woocommerce div.product { grid-template-columns: 1fr; gap: 2rem; }
}

/* Images */
.woocommerce div.product div.images { position: sticky; top: calc(var(--hh) + 1rem); }
.woocommerce div.product div.images img { width: 100%; }
.flex-viewport { overflow: hidden; }

/* Summary */
.woocommerce div.product div.summary {}

.woocommerce div.product .product_title {
    font-family: var(--serif);
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 400;
    color: var(--ink);
    line-height: 1.05;
    margin-bottom: 1rem;
}

.woocommerce div.product .woocommerce-product-rating {
    margin-bottom: 1rem;
}
.woocommerce div.product .star-rating {
    color: var(--gold);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: var(--sans);
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--ink) !important;
    margin-bottom: 1.5rem;
    display: block;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del { color: var(--g9) !important; font-size: 1rem; margin-right: .5rem; }
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins { text-decoration: none; }

.woocommerce div.product .woocommerce-product-details__short-description {
    font-family: var(--sans);
    font-size: .95rem;
    color: var(--g5);
    line-height: 1.8;
    margin-bottom: 2rem;
    border-top: 1px solid var(--off);
    border-bottom: 1px solid var(--off);
    padding: 1.5rem 0;
}

/* Variations (size/texture selector) */
.woocommerce div.product .variations {
    width: 100%;
    margin-bottom: 1.5rem;
    border-collapse: collapse;
}
.woocommerce div.product .variations td,
.woocommerce div.product .variations th {
    padding: .5rem 0;
    vertical-align: middle;
}
.woocommerce div.product .variations label {
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--g5);
    font-weight: 500;
}
.woocommerce div.product .variations select {
    width: 100%;
    padding: .75rem 1rem;
    border: 1px solid var(--off);
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-size: .9rem;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
}
.woocommerce div.product .reset_variations { display: none !important; }

/* Quantity + Add to cart */
.woocommerce div.product form.cart {
    display: flex;
    gap: 1rem;
    align-items: center;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}
.woocommerce div.product .quantity input.qty {
    width: 70px;
    height: 52px;
    text-align: center;
    font-family: var(--sans);
    font-size: 1rem;
    border: 1px solid var(--off);
    color: var(--ink);
    padding: 0;
}
.woocommerce div.product .single_add_to_cart_button {
    flex: 1;
    height: 52px;
    background: var(--ink) !important;
    color: var(--paper) !important;
    font-family: var(--sans) !important;
    font-size: .7rem !important;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    transition: background .2s;
    padding: 0 2rem;
}
.woocommerce div.product .single_add_to_cart_button:hover { background: var(--g3) !important; }
.woocommerce div.product .single_add_to_cart_button.loading { opacity: .7; }
.woocommerce div.product .single_add_to_cart_button.loading::after {
    border-color: rgba(255,255,255,.5);
    border-top-color: white;
}

/* WhatsApp order button */
.btn--wa,
.wc-wa-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .85rem 1.5rem;
    background: #25D366;
    color: #ffffff !important;
    font-family: var(--sans);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    transition: background .2s;
    text-decoration: none !important;
    margin-bottom: 1.5rem;
}
.btn--wa:hover, .wc-wa-btn:hover { background: #1ebe5d; }

/* Trust badges */
.wc-trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem 1rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--off);
}
.wc-trust span {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--sans);
    font-size: .7rem;
    color: var(--g5);
}
.wc-trust svg { flex-shrink: 0; stroke: var(--g5); }

/* Low stock */
.wc-low-stock {
    font-family: var(--sans);
    font-size: .75rem;
    color: #c0392b;
    font-weight: 500;
    margin-bottom: 1rem;
}

/* Product meta */
.woocommerce div.product .product_meta {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--off);
    font-family: var(--sans);
    font-size: .75rem;
    color: var(--g5);
}
.woocommerce div.product .product_meta span { display: block; margin-bottom: .25rem; }
.woocommerce div.product .product_meta a { color: var(--ink); text-decoration: underline; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs {
    grid-column: 1 / -1;
    margin-top: 2rem;
    border-top: 1px solid var(--off);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--off);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    margin: 0;
    border: none;
    background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--g5);
    padding: 1.25rem 2rem;
    display: block;
    border-bottom: 2px solid transparent;
    transition: color .2s, border-color .2s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--ink);
    border-bottom-color: var(--ink);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

.woocommerce div.product .woocommerce-tabs .panel {
    padding: 2.5rem 0;
    font-family: var(--sans);
    font-size: .95rem;
    color: var(--g5);
    line-height: 1.85;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-family: var(--serif);
    font-size: clamp(1.5rem,2.5vw,2rem);
    color: var(--ink);
    margin-bottom: 1rem;
}

/* Reviews */
#reviews .woocommerce-Reviews-title {
    font-family: var(--serif);
    font-size: clamp(1.5rem,2.5vw,2rem);
    color: var(--ink);
    margin-bottom: 2rem;
}
#reviews .review {
    border-bottom: 1px solid var(--off);
    padding: 1.5rem 0;
}
#reviews .review .meta {
    font-family: var(--sans);
    font-size: .8rem;
    color: var(--g5);
    margin-bottom: .5rem;
}
#reviews .review .star-rating { color: var(--gold); margin-bottom: .5rem; }
#reviews #review_form .comment-form-author label,
#reviews #review_form .comment-form-email label,
#reviews #review_form .comment-form-comment label {
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--g5);
}
#reviews #review_form input,
#reviews #review_form textarea {
    width: 100%;
    border: 1px solid var(--off);
    padding: .75rem 1rem;
    font-family: var(--sans);
    font-size: .9rem;
    margin-top: .5rem;
}
#reviews #review_form .form-submit input {
    background: var(--ink);
    color: var(--paper);
    border: none;
    padding: .85rem 2rem;
    font-family: var(--sans);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
    cursor: pointer;
    width: auto;
    transition: background .2s;
}
#reviews #review_form .form-submit input:hover { background: var(--g3); }

/* ── RELATED PRODUCTS ─────────────────────────────────────── */
.related.products,
.up-sells.products {
    grid-column: 1 / -1;
    margin-top: 2rem;
    border-top: 1px solid var(--off);
    padding-top: 3rem;
}
.related.products > h2,
.up-sells.products > h2 {
    font-family: var(--serif);
    font-size: clamp(1.75rem,3vw,2.5rem);
    color: var(--ink);
    margin-bottom: 2rem;
    font-weight: 400;
}

/* ── MINI CART ────────────────────────────────────────────── */
/* Cart icon + count in header */
.ah-cart-icon {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: .5rem;
}
.ah-cart-count {
    position: absolute;
    top: 0;
    right: 0;
    width: 18px;
    height: 18px;
    background: var(--ink);
    color: var(--paper);
    border-radius: 50%;
    font-family: var(--sans);
    font-size: .55rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .2s;
}
.ah-cart-count.has-items { opacity: 1; }

/* Slide-in panel */
.ah-mini-cart {
    position: fixed;
    top: 0;
    right: 0;
    width: min(420px, 100vw);
    height: 100vh;
    background: var(--paper);
    z-index: 9999;
    transform: translateX(100%);
    transition: transform .4s var(--e);
    display: flex;
    flex-direction: column;
    box-shadow: -8px 0 40px rgba(0,0,0,.15);
}
.ah-mini-cart.open { transform: translateX(0); }

.ah-mini-cart__overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 9998;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
}
.ah-mini-cart__overlay.open { opacity: 1; pointer-events: all; }

.ah-mini-cart__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ah-mini-cart__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 1.75rem;
    border-bottom: 1px solid var(--off);
}
.ah-mini-cart__title {
    font-family: var(--serif);
    font-size: 1.5rem;
    color: var(--ink);
    font-weight: 400;
}
.ah-mini-cart__close {
    background: none;
    border: none;
    font-size: 1.75rem;
    color: var(--g5);
    cursor: pointer;
    line-height: 1;
    padding: 0;
    transition: color .2s;
}
.ah-mini-cart__close:hover { color: var(--ink); }

.ah-mini-cart__body {
    flex: 1;
    overflow-y: auto;
    padding: 1.5rem 1.75rem;
}

/* Mini cart item styles */
.ah-mini-cart__body .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.ah-mini-cart__body .woocommerce-mini-cart__empty-message {
    font-family: var(--sans);
    font-size: .95rem;
    color: var(--g5);
    text-align: center;
    padding: 3rem 0;
}
.ah-mini-cart__body .woocommerce-mini-cart-item {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 1rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid var(--off);
    align-items: start;
}
.ah-mini-cart__body .woocommerce-mini-cart-item img {
    width: 80px;
    height: 100px;
    object-fit: cover;
}
.ah-mini-cart__body .woocommerce-mini-cart-item .product-name {
    font-family: var(--serif);
    font-size: 1rem;
    color: var(--ink);
    display: block;
    margin-bottom: .25rem;
}
.ah-mini-cart__body .woocommerce-mini-cart-item .quantity {
    font-family: var(--sans);
    font-size: .8rem;
    color: var(--g5);
}
.ah-mini-cart__body .woocommerce-mini-cart-item .remove_from_cart_button {
    font-family: var(--sans);
    font-size: .7rem;
    color: var(--g5);
    text-decoration: underline;
    cursor: pointer;
    display: inline-block;
    margin-top: .5rem;
}
.ah-mini-cart__body .woocommerce-mini-cart-item .remove_from_cart_button:hover { color: #c0392b; }

/* Mini cart total */
.ah-mini-cart__body .woocommerce-mini-cart__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 0 0;
    font-family: var(--sans);
}
.ah-mini-cart__body .woocommerce-mini-cart__total strong {
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--g5);
    font-weight: 500;
}
.ah-mini-cart__body .woocommerce-mini-cart__total .amount {
    font-size: 1.25rem;
    color: var(--ink);
    font-weight: 500;
}

.ah-mini-cart__body .woocommerce-mini-cart__buttons {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    margin-top: 1.5rem;
}
.ah-mini-cart__body .woocommerce-mini-cart__buttons a {
    display: block;
    text-align: center;
    padding: .9rem;
    font-family: var(--sans);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    transition: background .2s, color .2s;
    text-decoration: none !important;
}
.ah-mini-cart__body .woocommerce-mini-cart__buttons .checkout {
    background: var(--ink);
    color: var(--paper) !important;
    border: 1px solid var(--ink);
}
.ah-mini-cart__body .woocommerce-mini-cart__buttons .checkout:hover { background: var(--g3); }
.ah-mini-cart__body .woocommerce-mini-cart__buttons .wc-forward {
    background: transparent;
    color: var(--ink) !important;
    border: 1px solid var(--off);
}
.ah-mini-cart__body .woocommerce-mini-cart__buttons .wc-forward:hover { border-color: var(--ink); }

/* ── CART PAGE ────────────────────────────────────────────── */
.woocommerce-cart .wc-main .wc-wrap { max-width: 1200px; margin: 0 auto; }

.woocommerce-cart table.shop_table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--sans);
    font-size: .9rem;
}
.woocommerce-cart table.shop_table th {
    font-size: .65rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--g5);
    font-weight: 500;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--off);
    text-align: left;
}
.woocommerce-cart table.shop_table td {
    padding: 1.5rem 1rem;
    border-bottom: 1px solid var(--off);
    vertical-align: middle;
    color: var(--ink);
}
.woocommerce-cart table.shop_table .product-thumbnail img {
    width: 80px;
    height: 100px;
    object-fit: cover;
}
.woocommerce-cart table.shop_table .product-name a {
    font-family: var(--serif);
    font-size: 1.1rem;
    color: var(--ink);
}
.woocommerce-cart table.shop_table .product-remove a {
    color: var(--g5);
    font-size: 1.25rem;
    transition: color .2s;
}
.woocommerce-cart table.shop_table .product-remove a:hover { color: #c0392b; }
.woocommerce-cart .quantity input.qty {
    width: 60px;
    height: 40px;
    text-align: center;
    border: 1px solid var(--off);
    font-family: var(--sans);
    font-size: .9rem;
    color: var(--ink);
}
.woocommerce-cart .actions {
    padding: 1.5rem 0;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    flex-wrap: wrap;
}
.woocommerce-cart .actions .coupon { display: flex; gap: .5rem; }
.woocommerce-cart .actions .coupon input {
    border: 1px solid var(--off);
    padding: .6rem 1rem;
    font-family: var(--sans);
    font-size: .85rem;
    color: var(--ink);
    width: 200px;
}
.woocommerce-cart .actions button[name="apply_coupon"],
.woocommerce-cart .actions button[name="update_cart"] {
    background: transparent;
    border: 1px solid var(--off);
    padding: .6rem 1.25rem;
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--g5);
    cursor: pointer;
    transition: all .2s;
}
.woocommerce-cart .actions button:hover { border-color: var(--ink); color: var(--ink); }

/* Cart totals */
.cart_totals {
    margin-top: 2rem;
    max-width: 420px;
    margin-left: auto;
    border: 1px solid var(--off);
    padding: 2rem;
}
.cart_totals h2 {
    font-family: var(--serif);
    font-size: 1.5rem;
    color: var(--ink);
    margin-bottom: 1.5rem;
    font-weight: 400;
}
.cart_totals table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--sans);
    font-size: .9rem;
    margin-bottom: 1.5rem;
}
.cart_totals table th {
    font-size: .65rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--g5);
    font-weight: 500;
    padding: .75rem 0;
    border-bottom: 1px solid var(--off);
    text-align: left;
    vertical-align: top;
}
.cart_totals table td {
    padding: .75rem 0;
    border-bottom: 1px solid var(--off);
    color: var(--ink);
    text-align: right;
}
.cart_totals table .order-total th,
.cart_totals table .order-total td {
    font-weight: 600;
    font-size: 1rem;
    border-bottom: none;
}
.cart_totals .wc-proceed-to-checkout a.checkout-button {
    display: block;
    background: var(--ink);
    color: var(--paper) !important;
    text-align: center;
    padding: 1rem;
    font-family: var(--sans);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
    transition: background .2s;
    text-decoration: none !important;
}
.cart_totals .wc-proceed-to-checkout a.checkout-button:hover { background: var(--g3); }

/* Empty cart */
.wc-empty-cart {
    text-align: center;
    padding: 5rem 0;
    color: var(--g5);
}
.wc-empty-cart svg { margin: 0 auto 2rem; stroke: var(--off); }
.wc-empty-cart h2 {
    font-family: var(--serif);
    font-size: clamp(2rem,4vw,3rem);
    color: var(--ink);
    margin-bottom: 1rem;
    font-weight: 400;
}
.wc-empty-cart p {
    font-family: var(--sans);
    font-size: .95rem;
    color: var(--g5);
    margin-bottom: 2rem;
}

/* ── CHECKOUT ─────────────────────────────────────────────── */
.woocommerce-checkout .wc-wrap {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 4rem;
    align-items: start;
}
@media(max-width:960px) {
    .woocommerce-checkout .wc-wrap { grid-template-columns: 1fr; }
}

.woocommerce-checkout h3 {
    font-family: var(--serif);
    font-size: clamp(1.5rem,2.5vw,2rem);
    color: var(--ink);
    margin-bottom: 1.5rem;
    font-weight: 400;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--off);
}
.woocommerce-checkout label {
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--g5);
    font-weight: 500;
    display: block;
    margin-bottom: .35rem;
}
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout textarea,
.woocommerce-checkout select {
    width: 100%;
    border: 1px solid var(--off);
    padding: .75rem 1rem;
    font-family: var(--sans);
    font-size: .9rem;
    color: var(--ink);
    background: var(--paper);
    margin-bottom: 1.25rem;
    transition: border-color .2s;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
    outline: none;
    border-color: var(--ink);
}
.woocommerce-checkout #place_order {
    width: 100%;
    background: var(--ink);
    color: var(--paper);
    border: none;
    padding: 1.1rem;
    font-family: var(--sans);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .15em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s;
    margin-top: 1rem;
}
.woocommerce-checkout #place_order:hover { background: var(--g3); }

/* Order summary box */
#order_review_heading {
    font-family: var(--serif);
    font-size: clamp(1.5rem,2.5vw,2rem);
    color: var(--ink);
    margin-bottom: 1.5rem;
    font-weight: 400;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--off);
}
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--sans);
    font-size: .875rem;
}
.woocommerce-checkout-review-order-table th {
    font-size: .65rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--g5);
    font-weight: 500;
    padding: .5rem 0;
    border-bottom: 1px solid var(--off);
    text-align: left;
}
.woocommerce-checkout-review-order-table td {
    padding: .75rem 0;
    border-bottom: 1px solid var(--off);
    color: var(--ink);
}
.woocommerce-checkout-review-order-table .order-total td,
.woocommerce-checkout-review-order-table .order-total th {
    font-weight: 600;
    font-size: 1rem;
    border-bottom: none;
}

/* Payment methods */
#payment .wc_payment_methods {
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--off);
    margin-bottom: 1.5rem;
}
#payment .wc_payment_methods li {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(0,0,0,.06);
    font-family: var(--sans);
    font-size: .875rem;
    color: var(--ink);
}
#payment .wc_payment_methods li label { text-transform: none; letter-spacing: 0; font-size: .875rem; color: var(--ink); }

/* ── MY ACCOUNT ───────────────────────────────────────────── */
.woocommerce-account .wc-wrap {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 3rem;
    align-items: start;
}
@media(max-width:768px) {
    .woocommerce-account .wc-wrap { grid-template-columns: 1fr; }
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    position: sticky;
    top: calc(var(--hh) + 1.5rem);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid var(--off);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--off);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child { border-bottom: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: .875rem 1.25rem;
    font-family: var(--sans);
    font-size: .75rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--g5);
    transition: all .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    background: var(--ink);
    color: var(--paper);
}

.woocommerce-account .woocommerce-MyAccount-content {
    font-family: var(--sans);
    font-size: .9rem;
    color: var(--g5);
    line-height: 1.8;
}
.woocommerce-account .woocommerce-MyAccount-content h2 {
    font-family: var(--serif);
    font-size: clamp(1.5rem,2.5vw,2rem);
    color: var(--ink);
    margin-bottom: 1.5rem;
    font-weight: 400;
}
.woocommerce-account .woocommerce-MyAccount-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: .875rem;
}
.woocommerce-account .woocommerce-MyAccount-content table th {
    font-size: .65rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--g5);
    font-weight: 500;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--off);
    text-align: left;
}
.woocommerce-account .woocommerce-MyAccount-content table td {
    padding: 1rem;
    border-bottom: 1px solid var(--off);
    color: var(--ink);
    vertical-align: middle;
}
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content a.button {
    display: inline-block;
    background: var(--ink);
    color: var(--paper);
    font-family: var(--sans);
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: .5rem 1rem;
    border: none;
    cursor: pointer;
    transition: background .2s;
    text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content a.button:hover { background: var(--g3); }

/* Account input fields */
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="password"],
.woocommerce-account textarea,
.woocommerce-account select {
    width: 100%;
    max-width: 400px;
    border: 1px solid var(--off);
    padding: .75rem 1rem;
    font-family: var(--sans);
    font-size: .9rem;
    color: var(--ink);
    margin-bottom: 1rem;
    transition: border-color .2s;
}
.woocommerce-account input:focus,
.woocommerce-account textarea:focus { outline: none; border-color: var(--ink); }

/* ── NOTICES ──────────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    font-family: var(--sans);
    font-size: .875rem;
    padding: 1rem 1.5rem;
    margin-bottom: 1.5rem;
    border-left: 3px solid;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.woocommerce-message { background: #f0fdf4; border-color: #22c55e; color: #166534; }
.woocommerce-info    { background: #eff6ff; border-color: #3b82f6; color: #1e40af; }
.woocommerce-error   { background: #fef2f2; border-color: #ef4444; color: #991b1b; }
.woocommerce-message a { color: inherit; text-decoration: underline; }

/* ── FORMS (login/register) ───────────────────────────────── */
.woocommerce-form-login,
.woocommerce-form-register {
    border: 1px solid var(--off);
    padding: 2.5rem;
    max-width: 500px;
}
.woocommerce-form-login__rememberme { font-family: var(--sans); font-size: .8rem; color: var(--g5); }
.woocommerce-form-login p.lost_password { font-family: var(--sans); font-size: .8rem; }
.woocommerce-form-login p.lost_password a { color: var(--g5); text-decoration: underline; }

.woocommerce-account .woocommerce-form-login .button,
.woocommerce-account .woocommerce-form-register .button {
    background: var(--ink) !important;
    color: var(--paper) !important;
    font-family: var(--sans);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: .85rem 2rem;
    border: none;
    cursor: pointer;
    transition: background .2s;
}

/* ── PRODUCT CATEGORY HERO ────────────────────────────────── */
.page-hero {
    position: relative;
    height: 40vh;
    min-height: 320px;
    overflow: hidden;
    background: var(--ink);
    display: flex;
    align-items: flex-end;
    margin-bottom: 0;
}
.page-hero__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.page-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.8) 0%, rgba(0,0,0,.2) 100%);
}
.page-hero__content {
    position: relative;
    z-index: 2;
    padding-bottom: 3rem;
}
.page-hero__title { color: var(--paper) !important; }
.page-hero__sub {
    font-family: var(--sans);
    font-size: 1rem;
    color: rgba(255,255,255,.6);
    margin-top: .75rem;
    max-width: 500px;
}

/* ── UTILITY ──────────────────────────────────────────────── */
.woocommerce .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
@media(max-width:640px) { .woocommerce .col2-set { grid-template-columns: 1fr; } }

/* Spinner */
.woocommerce-cart-form .blockUI.blockOverlay::before { border-color: var(--off); border-top-color: var(--ink); }

/* Loader on add to cart */
.woocommerce a.button.loading::after,
.woocommerce button.button.loading::after {
    border-color: rgba(255,255,255,.5);
    border-top-color: white;
}

/* ================================================================
   ASANTEY SHOP — DARK EDITORIAL REDESIGN
   Sprint build: archive-product.php + single-product.php
   All classes prefixed wcs- (shop) and wcp- (product)
   ================================================================ */

/* ── SHOP HERO ─────────────────────────────────────────────── */
.wcs-hero{position:relative;height:52vh;min-height:340px;display:flex;align-items:flex-end;overflow:hidden;background:var(--dim);padding-top:var(--hh)}
.wcs-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.wcs-hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.35) 60%,rgba(0,0,0,.1) 100%)}
.wcs-hero__body{position:relative;z-index:2;padding-bottom:clamp(2.5rem,5vw,4rem)}
.wcs-hero__eyebrow{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:1rem}
.wcs-hero__title{font-family:var(--serif);font-size:clamp(3rem,7vw,6rem);font-weight:300;color:var(--paper);line-height:.92;letter-spacing:-.03em;margin-bottom:.875rem}
.wcs-hero__sub{font-family:var(--sans);font-size:1rem;color:rgba(255,255,255,.45);letter-spacing:.04em}

/* ── SHOP BODY ─────────────────────────────────────────────── */
.wcs-body{background:var(--dim);padding-bottom:clamp(5rem,8vw,9rem)}

/* ── FILTER PILLS ──────────────────────────────────────────── */
.wcs-filters-wrap{border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:0}
.wcs-filters{display:flex;gap:.375rem;padding:1.5rem 0;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
.wcs-filters::-webkit-scrollbar{display:none}
.wcs-pill{font-family:var(--sans);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;padding:.55rem 1.25rem;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.5);background:transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:all .2s;flex-shrink:0}
.wcs-pill:hover{border-color:rgba(255,255,255,.4);color:rgba(255,255,255,.85)}
.wcs-pill--on{background:var(--paper);color:var(--ink)!important;border-color:var(--paper)}

/* ── TOOLBAR ───────────────────────────────────────────────── */
.wcs-toolbar{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0 2rem;flex-wrap:wrap;gap:.5rem}
.wcs-toolbar .woocommerce-result-count{font-family:var(--sans);font-size:.75rem;color:rgba(255,255,255,.3);margin:0}
.wcs-toolbar .woocommerce-ordering select{font-family:var(--sans);font-size:.75rem;background:transparent;border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);padding:.45rem 1.5rem .45rem .75rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}
.wcs-toolbar .woocommerce-ordering select option{background:var(--g3);color:var(--paper)}

/* ── PRODUCT GRID ──────────────────────────────────────────── */
ul.wcs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;list-style:none;margin:0;padding:0;background:rgba(255,255,255,.04)}
@media(max-width:960px){ul.wcs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){ul.wcs-grid{grid-template-columns:1fr}}
.wcs-item{margin:0;padding:0;list-style:none;background:var(--dim)}

/* ── PRODUCT CARD ──────────────────────────────────────────── */
.wcs-card{display:flex;flex-direction:column;text-decoration:none;color:var(--paper);height:100%;position:relative}
.wcs-badge{position:absolute;top:1rem;left:1rem;font-family:var(--sans);font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .65rem;z-index:3;pointer-events:none}
.wcs-badge--sale{background:var(--paper);color:var(--ink)}
.wcs-badge--feat,.wcs-badge--new{background:var(--gold);color:var(--paper)}

.wcs-card__img-box{position:relative;overflow:hidden;aspect-ratio:4/5;background:#111;flex-shrink:0}
.wcs-card__img-box img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s cubic-bezier(.22,.1,.25,1);display:block}
.wcs-card:hover .wcs-card__img-box img{transform:scale(1.06)}

.wcs-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 50%);opacity:0;transition:opacity .35s;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2rem}
.wcs-card:hover .wcs-card__overlay{opacity:1}
.wcs-card__cta-text{font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper);display:flex;align-items:center;gap:.5rem;transform:translateY(8px);transition:transform .35s .05s}
.wcs-card:hover .wcs-card__cta-text{transform:translateY(0)}

.wcs-card__body{padding:1.35rem 1.5rem 1.5rem;flex:1;display:flex;flex-direction:column;gap:.35rem}
.wcs-card__cat{font-family:var(--sans);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--g5)}
.wcs-card__name{font-family:var(--serif);font-size:clamp(1rem,1.5vw,1.25rem);font-weight:400;color:var(--paper);line-height:1.15;margin:0}
.wcs-card__price .price,.wcs-card__price .amount{font-family:var(--sans);font-size:.82rem;color:rgba(255,255,255,.45)}
.wcs-card__price ins{text-decoration:none}.wcs-card__price ins .amount{color:var(--gold)}
.wcs-card__price del .amount{opacity:.4;font-size:.75rem}

/* ── PAGINATION ────────────────────────────────────────────── */
.wcs-pagination{display:flex;justify-content:center;gap:.25rem;margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.06)}
.wcs-pagination .page-numbers{font-family:var(--sans);font-size:.75rem;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.4);text-decoration:none;transition:all .2s}
.wcs-pagination .page-numbers:hover{border-color:rgba(255,255,255,.4);color:var(--paper)}
.wcs-pagination .page-numbers.current{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.wcs-pagination .page-numbers.dots{border:none;width:auto}

/* ── EMPTY STATE ───────────────────────────────────────────── */
.wcs-empty{text-align:center;padding:6rem 2rem;color:rgba(255,255,255,.3)}
.wcs-empty svg{margin:0 auto 2rem;display:block;stroke:rgba(255,255,255,.15)}
.wcs-empty p{font-family:var(--sans);font-size:1rem;margin-bottom:2rem}
.wcs-btn{display:inline-block;font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.85rem 2rem;background:var(--paper);color:var(--ink);text-decoration:none;transition:background .2s}
.wcs-btn:hover{background:var(--off)}


/* ================================================================
   SINGLE PRODUCT PAGE
   ================================================================ */

/* ── TWO-COLUMN LAYOUT ─────────────────────────────────────── */
.wcp-page{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:90vh;
  background:#f8f7f5;
  margin-top:var(--hh)}
@media(max-width:900px){.wcp-page{grid-template-columns:1fr}}

/* ── GALLERY ────────────────────────────────────────────────── */
.wcp-gallery{
  position:sticky;top:var(--hh);
  height:calc(100vh - var(--hh));
  display:flex;flex-direction:column;
  background:#ffffff;
  overflow:hidden}
@media(max-width:900px){.wcp-gallery{position:relative;height:auto;min-height:60vw}}

.wcp-gallery__main{
  flex:1;position:relative;overflow:hidden;
  cursor:zoom-in;background:#f0ede8;
  display:flex;align-items:center;justify-content:center;
  padding:3rem}
.wcp-gallery__main img{
  max-width:100%;max-height:100%;
  object-fit:contain;object-position:center;
  transition:transform .6s var(--e);display:block}
.wcp-gallery__main:hover img{transform:scale(1.04)}
@media(max-width:900px){.wcp-gallery__main{min-height:70vw;padding:1.5rem}}

/* Thumbnails */
.wcp-thumbs{
  display:flex;gap:6px;padding:12px;
  background:#fff;overflow-x:auto;
  scrollbar-width:none;flex-shrink:0}
.wcp-thumbs::-webkit-scrollbar{display:none}
.wcp-thumb{
  width:72px;height:72px;flex-shrink:0;
  border:2px solid transparent;
  padding:0;background:none;cursor:pointer;
  overflow:hidden;transition:border-color .2s}
.wcp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.wcp-thumb--on{border-color:var(--ink)}
.wcp-thumb:hover{border-color:var(--g5)}

/* Badge */
.wcp-badge{
  position:absolute;top:1.25rem;left:1.25rem;
  font-family:var(--sans);font-size:.6rem;
  font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:.35rem .75rem;z-index:2}
.wcp-badge--feat{background:var(--ink);color:var(--paper)}
.wcp-badge--sale{background:#c0392b;color:#fff}

/* Zoom btn */
.wcp-zoom{
  position:absolute;bottom:1.25rem;right:1.25rem;
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.9);border:1px solid #e0e0e0;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;color:var(--ink)}
.wcp-zoom:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ── SUMMARY ────────────────────────────────────────────────── */
.wcp-summary{
  background:#fff;
  padding:clamp(2rem,4vw,3.5rem) clamp(1.5rem,4vw,3rem);
  display:flex;flex-direction:column;
  overflow-y:auto;color:var(--ink)}

/* Breadcrumb */
.wcp-breadcrumb{
  font-family:var(--sans);font-size:.65rem;
  letter-spacing:.08em;text-transform:uppercase;
  color:#aaa;display:flex;gap:.4rem;
  align-items:center;flex-wrap:wrap;margin-bottom:1.5rem}
.wcp-breadcrumb a{color:#aaa;text-decoration:none;transition:color .2s}
.wcp-breadcrumb a:hover{color:var(--ink)}
.wcp-breadcrumb span{color:#ddd}

/* Category label */
.wcp-cat{
  font-family:var(--sans);font-size:.65rem;
  font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--g9);
  display:block;margin-bottom:.6rem}

/* Title */
.wcp-title{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.6rem,3vw,2.4rem);
  line-height:1.1;color:var(--ink);
  margin:0 0 .75rem}

/* Rating */
.wcp-rating{
  display:flex;align-items:center;gap:.5rem;
  margin-bottom:1rem;flex-wrap:wrap}
.wcp-stars{display:flex;gap:2px}
.wcp-rcount{
  font-family:var(--sans);font-size:.78rem;
  color:var(--g5);text-decoration:underline;
  text-underline-offset:2px}
.wcp-rcount:hover{color:var(--ink)}

/* Divider */
.wcp-divider{height:1px;background:#f0f0f0;margin:.75rem 0 1.25rem}

/* Price */
.wcp-price,.wcp-var-price{margin-bottom:1.25rem}
.wcp-price .price,.wcp-price .amount,
.wcp-var-price{
  font-family:var(--sans);
  font-size:clamp(1.6rem,3vw,2rem);
  font-weight:600;color:var(--ink)}
.wcp-price del .amount{
  color:#bbb!important;font-size:1.1rem;
  font-weight:400;margin-right:.4rem}
.wcp-price ins{text-decoration:none}
.wcp-price .woocommerce-Price-currencySymbol{font-size:1.2rem}
.wcp-var-price:empty{display:none}

/* Short description */
.wcp-short-desc{
  font-family:var(--sans);font-size:.95rem;
  line-height:1.7;color:#555;margin-bottom:1.5rem}

/* Stock */
.wcp-stock{
  font-family:var(--sans);font-size:.8rem;
  font-weight:600;letter-spacing:.04em;
  padding:.5rem .85rem;display:inline-block;
  margin-bottom:1rem;border-radius:3px}
.wcp-stock--out{background:#fef0f0;color:#c0392b}
.wcp-stock--low{background:#fffbeb;color:#b7791f}

/* ── VARIATION SELECTS ──────────────────────────────────────── */
.wcp-add-to-cart .variations{
  width:100%;border-collapse:collapse;
  margin-bottom:1.25rem}
.wcp-add-to-cart .variations tr{
  display:flex;flex-direction:column;margin-bottom:.85rem}
.wcp-add-to-cart .variations label{
  font-family:var(--sans);font-size:.7rem;
  font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--g5);
  margin-bottom:.4rem;display:block}
.wcp-add-to-cart .variations select{
  width:100%;height:50px;
  border:1.5px solid #e0e0e0;
  border-radius:3px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 14px center;
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  padding:0 2.5rem 0 1rem;
  font-family:var(--sans);font-size:.9rem;color:var(--ink);
  cursor:pointer;transition:border-color .2s}
.wcp-add-to-cart .variations select:focus{
  outline:none;border-color:var(--ink)}
.wcp-add-to-cart .reset_variations{
  font-family:var(--sans);font-size:.72rem;
  color:var(--g9);text-decoration:none;
  display:inline-block;margin-bottom:1rem}
.wcp-add-to-cart .reset_variations:hover{color:var(--ink)}
.wcp-add-to-cart .woocommerce-variation-price{
  margin-bottom:1rem}
.wcp-add-to-cart .woocommerce-variation-price .price,
.wcp-add-to-cart .woocommerce-variation-price .amount{
  font-family:var(--sans);font-size:1.6rem;
  font-weight:600;color:var(--ink)}

/* ── QTY + BUY NOW BUTTON ───────────────────────────────────── */
.wcp-add-to-cart .cart,
.wcp-form-wrap .cart{
  display:flex;gap:.75rem;margin:0 0 1rem;
  align-items:center}
.wcp-add-to-cart .quantity,
.wcp-form-wrap .quantity{
  display:flex;align-items:center;
  border:1.5px solid #e0e0e0;border-radius:3px;
  flex-shrink:0;overflow:hidden;height:52px;width:112px}
.wcp-add-to-cart .qty,
.wcp-form-wrap .qty{
  flex:1;height:100%;border:none;
  border-left:1px solid #e8e8e8;
  border-right:1px solid #e8e8e8;
  text-align:center;font-family:var(--sans);
  font-size:1rem;color:var(--ink);
  -moz-appearance:textfield;background:#fff}
.wcp-add-to-cart .qty::-webkit-inner-spin-button,
.wcp-add-to-cart .qty::-webkit-outer-spin-button,
.wcp-form-wrap .qty::-webkit-inner-spin-button,
.wcp-form-wrap .qty::-webkit-outer-spin-button{display:none}
/* Qty +/- from WooCommerce JS */
.wcp-qty-btn{
  width:36px;height:52px;background:none;border:none;
  color:#999;cursor:pointer;font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;
  transition:all .2s}
.wcp-qty-btn:hover{background:#f5f5f5;color:var(--ink)}

/* The main Buy Now button */
.wcp-add-to-cart .single_add_to_cart_button,
.wcp-form-wrap .single_add_to_cart_button{
  flex:1;height:52px;
  background:var(--ink)!important;
  color:#fff!important;
  border:none!important;border-radius:3px!important;
  font-family:var(--sans)!important;
  font-size:.75rem!important;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  cursor:pointer;transition:background .25s!important;
  display:flex!important;align-items:center;justify-content:center}
.wcp-add-to-cart .single_add_to_cart_button:hover:not(:disabled),
.wcp-form-wrap .single_add_to_cart_button:hover:not(:disabled){
  background:#333!important}
.wcp-add-to-cart .single_add_to_cart_button:disabled,
.wcp-form-wrap .single_add_to_cart_button:disabled{
  background:#ccc!important;cursor:not-allowed!important}

/* Book appointment button */
.wcp-book-btn{
  display:flex;align-items:center;justify-content:center;
  gap:.6rem;width:100%;height:52px;
  background:#fff;color:var(--ink);
  border:1.5px solid #e0e0e0;border-radius:3px;
  font-family:var(--sans);font-size:.72rem;
  font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;text-decoration:none;
  margin-bottom:.75rem;transition:all .25s}
.wcp-book-btn:hover{border-color:var(--ink);background:#fafafa;color:var(--ink)}
.wcp-book-btn svg{stroke:var(--ink);flex-shrink:0}

/* Hide WooCommerce express payment buttons (Google Pay etc) */
.wc-block-components-express-payment,
.woocommerce-PaymentMethod--googlePay,
.woocommerce-PaymentMethod--applePay,
.woocommerce-PaymentMethod--link,
#payment .wc_payment_method.payment_method_stripe_googlepay,
#payment .wc_payment_method.payment_method_stripe_applepay,
.woocommerce-single-product .woocommerce-PaymentBox,
.wc-block-components-express-payment-continue-rule,
.woocommerce-cart .wc-stripe-elements-field,
.wocommerce-googlepay-button-wrapper,
.wc-stripe-googlepay-button-wrapper,
.stripe-googlepay-wrapper,
div[class*="googlepay"],div[class*="applepay"],
div[class*="paymentLink"],div[class*="pay-with-link"],
.woocommerce-product-page .wc_payment_method{
  display:none!important}

/* ── TRUST BAR ──────────────────────────────────────────────── */
.wcp-trust{
  display:grid;grid-template-columns:1fr 1fr;
  gap:.6rem;padding:1.25rem 0;
  border-top:1px solid #f0f0f0;
  border-bottom:1px solid #f0f0f0;
  margin-bottom:1.25rem}
.wcp-trust__item{
  display:flex;align-items:center;gap:.5rem;
  font-family:var(--sans);font-size:.72rem;color:#777}
.wcp-trust__item svg{stroke:#999;flex-shrink:0}

/* SKU */
.wcp-sku{
  font-family:var(--sans);font-size:.7rem;
  color:#bbb;margin-top:.5rem}
.wcp-sku span{color:#999}

/* ── VARIATION PILLS (legacy custom) ───────────────────────── */
.wcp-attr-label{
  font-family:var(--sans);font-size:.7rem;
  font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--g5);
  margin-bottom:.5rem;display:block}
.wcp-pills{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}
.wcp-pill-opt{
  padding:.4rem .9rem;
  border:1.5px solid #e0e0e0;border-radius:2px;
  font-family:var(--sans);font-size:.78rem;
  color:var(--ink);cursor:pointer;transition:all .2s;background:#fff}
.wcp-pill-opt:hover{border-color:var(--ink)}
.wcp-pill-opt.wcp-active{
  background:var(--ink);color:#fff;border-color:var(--ink)}
.wcp-pill-opt.wcp-unavail{
  opacity:.3;cursor:not-allowed;text-decoration:line-through}
.wcp-hidden-select{
  position:absolute;left:-9999px;width:1px;
  height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* ── TABS ───────────────────────────────────────────────────── */
.wcp-tabs-section{
  background:#fff;
  border-top:1px solid #f0f0f0;
  border-bottom:1px solid #f0f0f0}
.wcp-tabs-section .wrap{
  max-width:var(--max);padding-inline:var(--gap)}
.wcp-tabs{
  display:flex;border-bottom:1px solid #f0f0f0;
  overflow-x:auto;scrollbar-width:none;gap:0}
.wcp-tabs::-webkit-scrollbar{display:none}
.wcp-tab{
  padding:1.1rem 1.75rem;background:none;border:none;
  border-bottom:2px solid transparent;
  font-family:var(--sans);font-size:.72rem;
  font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:#999;
  cursor:pointer;transition:all .2s;white-space:nowrap;
  margin-bottom:-1px}
.wcp-tab:hover{color:var(--ink)}
.wcp-tab--on{color:var(--ink);border-bottom-color:var(--ink)}
.wcp-tab__n{
  background:#f0f0f0;color:#777;
  font-size:.6rem;padding:.15rem .35rem;
  border-radius:10px;margin-left:.35rem}
.wcp-panel{padding:2.5rem 0;display:none}
.wcp-panel--on{display:block}
.wcp-prose{
  font-family:var(--sans);font-size:.95rem;
  line-height:1.8;color:#555;max-width:720px}
.wcp-prose h3{
  font-family:var(--serif);font-weight:400;
  font-size:1.4rem;color:var(--ink);margin-bottom:.75rem}
.wcp-prose h4{
  font-family:var(--sans);font-size:.75rem;
  font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink);
  margin:1.5rem 0 .5rem}
.wcp-prose ul{padding-left:1.25rem}
.wcp-prose ul li{margin-bottom:.35rem}
.wcp-prose a{color:var(--ink);text-decoration:underline}

/* Shipping grid */
.wcp-ship-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1rem;margin-top:1rem}
.wcp-ship-card{
  background:#f8f7f5;padding:1.25rem;
  display:flex;flex-direction:column;gap:.4rem;border-radius:4px}
.wcp-ship-card svg{stroke:#999;flex-shrink:0}
.wcp-ship-card strong{
  font-family:var(--sans);font-size:.78rem;
  font-weight:700;color:var(--ink)}
.wcp-ship-card span{
  font-family:var(--sans);font-size:.8rem;color:#777}

/* ── RELATED PRODUCTS ───────────────────────────────────────── */
.wcp-related{background:#f8f7f5;padding:4rem 0}
.wcp-related__head{margin-bottom:2rem;text-align:center}
.wcp-related__label{
  font-family:var(--sans);font-size:.65rem;
  font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--g9);
  display:block;margin-bottom:.5rem}
.wcp-related__title{
  font-family:var(--serif);font-weight:400;
  font-size:2rem;color:var(--ink);margin:0}
.wcp-related__grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.wcp-rel-card{text-decoration:none;color:var(--ink)}
.wcp-rel-card__img{
  aspect-ratio:3/4;overflow:hidden;
  background:#f0ede8;position:relative}
.wcp-rel-card__img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s var(--e)}
.wcp-rel-card:hover .wcp-rel-card__img img{transform:scale(1.05)}
.wcp-rel-card__hover{
  position:absolute;inset:0;
  background:rgba(0,0,0,.35);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .3s}
.wcp-rel-card:hover .wcp-rel-card__hover{opacity:1}
.wcp-rel-card__hover span{
  font-family:var(--sans);font-size:.72rem;
  font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:#fff;
  display:flex;align-items:center;gap:.5rem}
.wcp-rel-card__body{padding:1rem 0}
.wcp-rel-card__cat{
  font-family:var(--sans);font-size:.6rem;
  letter-spacing:.12em;text-transform:uppercase;color:#aaa;
  display:block;margin-bottom:.3rem}
.wcp-rel-card__name{
  font-family:var(--serif);font-size:1.05rem;
  font-weight:400;color:var(--ink);margin-bottom:.3rem}
.wcp-rel-card__price .price,
.wcp-rel-card__price .amount{
  font-family:var(--sans);font-size:.9rem;
  font-weight:600;color:var(--ink)}

/* ── LIGHTBOX ───────────────────────────────────────────────── */
.wcp-lb{
  position:fixed;inset:0;z-index:9999;
  background:rgba(0,0,0,.92);
  display:flex;align-items:center;justify-content:center;
  padding:2rem}
.wcp-lb[hidden]{display:none}
.wcp-lb__inner{position:relative;max-width:90vw;max-height:90vh}
.wcp-lb__inner img{
  max-width:100%;max-height:90vh;
  object-fit:contain;display:block}
.wcp-lb__close{
  position:absolute;top:-2.5rem;right:0;
  background:none;border:none;color:#fff;
  font-size:2rem;cursor:pointer;
  line-height:1;padding:.25rem .5rem}

/* ── PRODUCT PAGE RESPONSIVE ────────────────────────────────── */
@media(max-width:900px){
  .wcp-summary{padding:1.75rem 1.25rem}
  .wcp-related__grid{grid-template-columns:repeat(2,1fr)}
  .wcp-ship-grid{grid-template-columns:1fr}
}
@media(max-width:540px){
  .wcp-related__grid{grid-template-columns:1fr 1fr;gap:1rem}
  .wcp-trust{grid-template-columns:1fr}
  .wcp-add-to-cart .cart,.wcp-form-wrap .cart{flex-direction:column}
  .wcp-add-to-cart .quantity,.wcp-form-wrap .quantity{width:100%}
}


/* ================================================================
   CART PAGE — Professional Two-Column Layout
   ================================================================ */

/* Page wrapper */
.ah-cart-page {
    background: #f7f6f4;
    min-height: 80vh;
}

/* Header bar */
.ah-cart-header {
    background: var(--ink);
    padding: 5rem 0 2rem;
    margin-top: var(--hh);
}
.ah-cart-header__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 clamp(1rem,3vw,2.5rem);
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}
.ah-cart-back {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.5);
    text-decoration: none;
    transition: color .2s;
}
.ah-cart-back:hover { color: var(--paper); }
.ah-cart-header__title {
    font-family: var(--serif);
    font-size: clamp(2rem,4vw,3rem);
    font-weight: 400;
    color: var(--paper);
    margin: 0;
    flex: 1;
}
.ah-cart-header__count {
    font-family: var(--sans);
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255,255,255,.4);
}

/* Body */
.ah-cart-body {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.5rem clamp(1rem,3vw,2.5rem) 5rem;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 2rem;
    align-items: start;
}

/* ── Empty cart ── */
.ah-cart-empty {
    grid-column: 1 / -1;
    text-align: center;
    padding: 6rem 2rem;
    background: #fff;
    border-radius: 4px;
}
.ah-cart-empty__icon {
    color: var(--g5);
    margin-bottom: 1.5rem;
}
.ah-cart-empty h2 {
    font-family: var(--serif);
    font-size: 2rem;
    font-weight: 400;
    color: var(--ink);
    margin-bottom: .75rem;
}
.ah-cart-empty p {
    font-family: var(--sans);
    font-size: 1rem;
    color: var(--g5);
    margin-bottom: 2rem;
}
.ah-cart-empty__btn {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    background: var(--ink);
    color: var(--paper);
    padding: .9rem 2rem;
    font-family: var(--sans);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s;
}
.ah-cart-empty__btn:hover { background: var(--g3); color: var(--paper); }

/* ── Cart form (spans full grid) ── */
.ah-cart-form {
    display: contents; /* children participate in parent grid */
}

/* ── LEFT: Cart items ── */
.ah-cart-items {
    background: #fff;
    border-radius: 4px;
    overflow: hidden;
}
.ah-cart-items__head {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    padding: .75rem 1.5rem;
    background: #f7f6f4;
    border-bottom: 1px solid #ececec;
    font-family: var(--sans);
    font-size: .65rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--g5);
    font-weight: 600;
}
/* Cart item row */
.ah-cart-item {
    display: grid;
    grid-template-columns: 24px 2fr 1fr 1fr 1fr;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem 1.5rem;
    border-bottom: 1px solid #f0f0f0;
    transition: background .2s;
}
.ah-cart-item:last-child { border-bottom: none; }
.ah-cart-item:hover { background: #fafafa; }

.ah-remove-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #f0f0f0;
    color: var(--g5);
    text-decoration: none;
    transition: all .2s;
    flex-shrink: 0;
}
.ah-remove-item:hover { background: #cc1818; color: #fff; }

.ah-cart-item__product {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.ah-cart-item__img {
    flex-shrink: 0;
    width: 80px;
    height: 100px;
    overflow: hidden;
    display: block;
}
.ah-cart-item__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ah-cart-item__name {
    font-family: var(--serif);
    font-size: 1rem;
    color: var(--ink);
    text-decoration: none;
    line-height: 1.3;
    display: block;
    margin-bottom: .25rem;
}
.ah-cart-item__name:hover { color: var(--g3); }
.ah-cart-item__info { font-family: var(--sans); }

.ah-cart-item__price,
.ah-cart-item__qty,
.ah-cart-item__subtotal {
    font-family: var(--sans);
    font-size: .9rem;
    color: var(--ink);
}
.ah-cart-item__subtotal { font-weight: 600; }

/* Qty input */
.ah-cart-item__qty .quantity { display: flex; align-items: center; }
.ah-cart-item__qty .qty {
    width: 56px;
    height: 40px;
    border: 1px solid #e2e2e2;
    text-align: center;
    font-family: var(--sans);
    font-size: .9rem;
    color: var(--ink);
    background: #fff;
    border-radius: 3px;
}

/* Actions */
.ah-cart-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    background: #f7f6f4;
    gap: 1rem;
    flex-wrap: wrap;
}
.ah-cart-coupon {
    display: flex;
    gap: .5rem;
}
.ah-cart-coupon input {
    border: 1px solid #e2e2e2;
    padding: .6rem 1rem;
    font-family: var(--sans);
    font-size: .85rem;
    color: var(--ink);
    width: 180px;
    background: #fff;
    border-radius: 3px;
}
.ah-cart-coupon__btn {
    background: transparent;
    border: 1px solid #e2e2e2;
    padding: .6rem 1.25rem;
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--g5);
    cursor: pointer;
    transition: all .2s;
    border-radius: 3px;
}
.ah-cart-coupon__btn:hover { border-color: var(--ink); color: var(--ink); }
.ah-cart-update {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: transparent;
    border: 1px solid #e2e2e2;
    padding: .6rem 1.25rem;
    font-family: var(--sans);
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--g5);
    cursor: pointer;
    transition: all .2s;
    border-radius: 3px;
}
.ah-cart-update:hover { border-color: var(--ink); color: var(--ink); }

/* ── RIGHT: Order Summary ── */
.ah-cart-summary {
    background: #fff;
    border-radius: 4px;
    padding: 2rem;
    position: sticky;
    top: calc(var(--hh) + 1.5rem);
}
.ah-cart-summary__title {
    font-family: var(--serif);
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--ink);
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f0f0f0;
}
.ah-cart-summary__rows { margin-bottom: 1.5rem; }
.ah-cart-summary__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .75rem 0;
    border-bottom: 1px solid #f7f6f4;
    font-family: var(--sans);
    font-size: .9rem;
    color: var(--ink);
}
.ah-cart-summary__row span:first-child { color: var(--g5); }
.ah-cart-summary__row--discount { color: #2e7d32; }
.ah-cart-summary__row--discount span { color: #2e7d32 !important; }
.ah-cart-summary__row--total {
    border-bottom: none;
    border-top: 2px solid var(--ink);
    margin-top: .5rem;
    padding-top: 1rem;
    font-size: 1.05rem;
    font-weight: 700;
}
.ah-cart-summary__row--total span:first-child { color: var(--ink); }

/* Checkout button */
.ah-cart-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    width: 100%;
    background: var(--ink);
    color: var(--paper);
    padding: 1.1rem;
    font-family: var(--sans);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    text-decoration: none;
    margin-bottom: 1.5rem;
    transition: background .2s;
    border-radius: 3px;
}
.ah-cart-checkout-btn:hover { background: var(--g3); color: var(--paper); }

/* Trust badges */
.ah-cart-trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
}
.ah-cart-trust__item {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-family: var(--sans);
    font-size: .7rem;
    color: var(--g5);
    line-height: 1.3;
}

/* ── RESPONSIVE ── */
@media(max-width:960px){
    .ah-cart-body {
        grid-template-columns: 1fr;
    }
    .ah-cart-summary {
        position: static;
    }
    .ah-cart-items__head { display: none; }
    .ah-cart-item {
        grid-template-columns: 24px 1fr 1fr;
        grid-template-rows: auto auto;
    }
    .ah-cart-item__product { grid-column: 1 / -1; }
    .ah-cart-item__price::before { content: attr(data-label) ': '; color: var(--g5); font-size: .75rem; }
    .ah-cart-item__qty::before  { content: attr(data-label) ': '; color: var(--g5); font-size: .75rem; }
    .ah-cart-item__subtotal::before { content: attr(data-label) ': '; color: var(--g5); font-size: .75rem; font-weight: 400; }
}
@media(max-width:540px){
    .ah-cart-item {
        grid-template-columns: 24px 1fr;
    }
    .ah-cart-coupon input { width: 130px; }
    .ah-cart-trust { grid-template-columns: 1fr; }
}

/* ── HIDE EXPRESS PAYMENT BUTTONS ON PRODUCT PAGE ───────────── */
/* Google Pay, Apple Pay, Pay with Link — show only on checkout */
.single-product .wp-block-woocommerce-product-button ~ div,
.woocommerce-product-add-to-form ~ .wc-block-components-express-payment,
.woocommerce div.product form.cart ~ .woocommerce-PaymentBox,
body.single-product .wc-block-components-express-payment,
body.single-product div[class*="express-payment"],
body.single-product div[class*="googlepay"],
body.single-product div[class*="applepay"],
body.single-product div[class*="pay-with-link"],
body.single-product .woocommerce-PaymentBox{
  display:none!important}
