/* ================================================================
   SPELLBOUND SECRETS — WooCommerce Skin
   ================================================================ */

/* ── SHOP ARCHIVE ───────────────────────────────────────────────── */
.woocommerce-page .sbs-woo-wrap { padding: 3rem 0 6rem; }

/* Shop page banner */
.woocommerce-products-header { text-align: center; padding: 6rem 0 3rem; background: linear-gradient(to bottom, var(--sbs-shadow), var(--sbs-abyss)); border-bottom: 1px solid var(--sbs-border); margin-bottom: 3rem; }
.woocommerce-products-header h1 { font-family: var(--font-heading); color: var(--sbs-parchment); font-weight: 400; letter-spacing: .1em; }

/* Toolbar */
.woocommerce-result-count { font-family: var(--font-ui); font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; color: var(--sbs-text-dim); }
.woocommerce-ordering select {
    background: var(--sbs-abyss);
    border: 1px solid var(--sbs-border);
    color: var(--sbs-text);
    font-family: var(--font-ui);
    font-size: .72rem;
    letter-spacing: .1em;
    padding: .5rem 1rem;
    outline: none;
    cursor: pointer;
    border-radius: 0;
    transition: border-color .25s;
}
.woocommerce-ordering select:focus { border-color: var(--sbs-border-mid); }

/* Product grid */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 1.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce ul.products li.product {
    background: var(--sbs-abyss) !important;
    border: 1px solid var(--sbs-border) !important;
    margin: 0 !important;
    overflow: hidden !important;
    transition: border-color .3s, transform .3s !important;
    float: none !important;
    width: auto !important;
}
.woocommerce ul.products li.product:hover {
    border-color: var(--sbs-border-mid) !important;
    transform: translateY(-3px) !important;
}

/* Product image */
.woocommerce ul.products li.product a img {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 1 !important;
    object-fit: cover !important;
    transition: transform .6s !important;
    border-bottom: 1px solid var(--sbs-border) !important;
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.04) !important; }

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-heading) !important;
    font-size: 1rem !important;
    color: var(--sbs-parchment) !important;
    font-weight: 400 !important;
    letter-spacing: .04em !important;
    padding: 1rem 1.2rem .3rem !important;
    margin: 0 !important;
}

/* Product price */
.woocommerce ul.products li.product .price {
    font-family: var(--font-ui) !important;
    font-size: .88rem !important;
    color: var(--sbs-gold) !important;
    letter-spacing: .05em !important;
    padding: 0 1.2rem .8rem !important;
    display: block !important;
}
.woocommerce ul.products li.product .price del { color: var(--sbs-text-muted) !important; font-size: .78rem !important; }
.woocommerce ul.products li.product .price ins { text-decoration: none !important; }

/* Add to cart button */
.woocommerce ul.products li.product .button {
    display: block !important;
    width: 100% !important;
    font-family: var(--font-ui) !important;
    font-size: .66rem !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    color: var(--sbs-text-dim) !important;
    background: transparent !important;
    border: none !important;
    border-top: 1px solid var(--sbs-border) !important;
    padding: .85rem 1rem !important;
    cursor: pointer !important;
    text-align: center !important;
    transition: all .25s !important;
    border-radius: 0 !important;
    text-decoration: none !important;
}
.woocommerce ul.products li.product:hover .button {
    color: var(--sbs-gold) !important;
    background: rgba(201,146,42,.05) !important;
}
.woocommerce ul.products li.product .button.added { color: var(--sbs-gold-light) !important; }

/* Sale badge */
.woocommerce span.onsale {
    background: var(--sbs-gold) !important;
    color: var(--sbs-void) !important;
    font-family: var(--font-ui) !important;
    font-size: .58rem !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    min-height: auto !important;
    min-width: auto !important;
    padding: .3rem .7rem !important;
    line-height: 1.4 !important;
}

/* Star ratings */
.woocommerce .star-rating { color: var(--sbs-gold) !important; }
.woocommerce .star-rating::before,.woocommerce .star-rating span::before { color: var(--sbs-gold) !important; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul { display: flex; gap: .4rem; justify-content: center; margin-top: 3rem; list-style: none; padding: 0; }
.woocommerce nav.woocommerce-pagination ul li { margin: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    font-family: var(--font-ui);
    font-size: .68rem;
    letter-spacing: .15em;
    color: var(--sbs-text-dim);
    border: 1px solid var(--sbs-border);
    padding: .5rem 1rem;
    display: block;
    transition: all .25s;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    color: var(--sbs-gold);
    border-color: var(--sbs-border-mid);
    background: rgba(201,146,42,.05);
}

/* ── SINGLE PRODUCT ─────────────────────────────────────────────── */
.single-product .product { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 4rem !important; align-items: start !important; }
.single-product div.product .woocommerce-product-gallery { position: sticky; top: 100px; }
.single-product div.product .woocommerce-product-gallery__image img { width: 100% !important; display: block !important; border: 1px solid var(--sbs-border) !important; }
.single-product div.product .product_title {
    font-family: var(--font-heading) !important;
    font-size: clamp(1.8rem,3vw,2.8rem) !important;
    color: var(--sbs-parchment) !important;
    font-weight: 400 !important;
    letter-spacing: .06em !important;
    margin-bottom: .5rem !important;
}
.single-product div.product p.price,.single-product div.product span.price {
    font-family: var(--font-ui) !important;
    font-size: 1.5rem !important;
    color: var(--sbs-gold) !important;
    letter-spacing: .05em !important;
    margin: 1rem 0 !important;
}
.single-product .woocommerce-product-details__short-description {
    font-family: var(--font-body) !important;
    color: rgba(212,200,232,.8) !important;
    line-height: 1.8 !important;
    font-size: .95rem !important;
    margin-bottom: 1.5rem !important;
}
.single-product form.cart .single_add_to_cart_button {
    font-family: var(--font-ui) !important;
    font-size: .72rem !important;
    letter-spacing: .25em !important;
    text-transform: uppercase !important;
    background: var(--sbs-gold) !important;
    color: var(--sbs-void) !important;
    border: none !important;
    padding: 1.1rem 3rem !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    transition: background .25s !important;
    width: 100% !important;
    margin-top: .5rem !important;
}
.single-product form.cart .single_add_to_cart_button:hover { background: var(--sbs-gold-light) !important; }
.single-product .quantity input {
    background: var(--sbs-abyss) !important;
    border: 1px solid var(--sbs-border) !important;
    color: var(--sbs-parchment) !important;
    font-family: var(--font-ui) !important;
    font-size: 1rem !important;
    padding: .6rem !important;
    width: 70px !important;
    text-align: center !important;
    outline: none !important;
    border-radius: 0 !important;
}

/* Product tabs */
.single-product .woocommerce-tabs .tabs { display: flex; gap: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--sbs-border); margin: 2.5rem 0 0; }
.single-product .woocommerce-tabs .tabs li { margin: 0; }
.single-product .woocommerce-tabs .tabs li a {
    font-family: var(--font-ui);
    font-size: .68rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--sbs-text-dim);
    padding: .8rem 1.5rem;
    display: block;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color .25s;
}
.single-product .woocommerce-tabs .tabs li.active a,
.single-product .woocommerce-tabs .tabs li a:hover { color: var(--sbs-gold); border-bottom-color: var(--sbs-gold); }
.single-product .woocommerce-tabs .panel { padding: 2rem 0; font-family: var(--font-body); color: rgba(212,200,232,.8); line-height: 1.8; }

/* Related products */
.related.products h2 {
    font-family: var(--font-heading) !important;
    font-size: 1.4rem !important;
    color: var(--sbs-parchment) !important;
    letter-spacing: .08em !important;
    font-weight: 400 !important;
    margin-bottom: 2rem !important;
    padding-top: 3rem;
    border-top: 1px solid var(--sbs-border);
}

/* ── CART ────────────────────────────────────────────────────────── */
.woocommerce-cart table.cart { border: 1px solid var(--sbs-border); }
.woocommerce-cart table.cart th { font-family: var(--font-ui); font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: var(--sbs-gold); background: var(--sbs-shadow); border-bottom: 1px solid var(--sbs-border); padding: 1rem; }
.woocommerce-cart table.cart td { border-bottom: 1px solid var(--sbs-border); padding: 1.2rem; color: var(--sbs-text); font-family: var(--font-body); }
.woocommerce-cart table.cart .product-name a { color: var(--sbs-parchment); font-family: var(--font-heading); font-size: 1rem; transition: color .25s; }
.woocommerce-cart table.cart .product-name a:hover { color: var(--sbs-gold); }
.woocommerce-cart .cart_totals { background: var(--sbs-abyss); border: 1px solid var(--sbs-border); padding: 2rem; }
.woocommerce-cart .cart_totals h2 { font-family: var(--font-ui); font-size: .8rem; letter-spacing: .25em; text-transform: uppercase; color: var(--sbs-parchment); margin-bottom: 1.5rem; }
.woocommerce-cart .cart_totals table th,.woocommerce-cart .cart_totals table td { border-bottom: 1px solid var(--sbs-border); padding: .8rem 0; }
.woocommerce-cart .cart_totals table th { color: var(--sbs-text-dim); font-family: var(--font-ui); font-size: .78rem; font-weight: 400; }
.woocommerce-cart .cart_totals .order-total .amount { color: var(--sbs-gold); font-family: var(--font-ui); font-size: 1.1rem; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { font-family: var(--font-ui) !important; font-size: .72rem !important; letter-spacing: .25em !important; text-transform: uppercase !important; background: var(--sbs-gold) !important; color: var(--sbs-void) !important; border: none !important; padding: 1.1rem 2rem !important; width: 100% !important; display: block !important; text-align: center !important; border-radius: 0 !important; cursor: pointer !important; transition: background .25s !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background: var(--sbs-gold-light) !important; }

/* ── CHECKOUT ─────────────────────────────────────────────────── */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout h3 { font-family: var(--font-ui) !important; font-size: .78rem !important; letter-spacing: .25em !important; text-transform: uppercase !important; color: var(--sbs-parchment) !important; border-bottom: 1px solid var(--sbs-border) !important; padding-bottom: 1rem !important; margin-bottom: 1.5rem !important; font-weight: 400 !important; }
.woocommerce-checkout .form-row label { font-family: var(--font-ui); font-size: .65rem; letter-spacing: .18em; text-transform: uppercase; color: var(--sbs-text-dim); display: block; margin-bottom: .4rem; }
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea { background: var(--sbs-abyss) !important; border: 1px solid var(--sbs-border) !important; color: var(--sbs-parchment) !important; font-family: var(--font-body) !important; padding: .8rem 1rem !important; width: 100% !important; outline: none !important; border-radius: 0 !important; transition: border-color .25s !important; }
.woocommerce-checkout input:focus,.woocommerce-checkout select:focus,.woocommerce-checkout textarea:focus { border-color: var(--sbs-border-mid) !important; }
.woocommerce-checkout #place_order { font-family: var(--font-ui) !important; font-size: .72rem !important; letter-spacing: .25em !important; text-transform: uppercase !important; background: var(--sbs-gold) !important; color: var(--sbs-void) !important; border: none !important; padding: 1.2rem 3rem !important; cursor: pointer !important; border-radius: 0 !important; transition: background .25s !important; width: 100% !important; }
.woocommerce-checkout #place_order:hover { background: var(--sbs-gold-light) !important; }
.woocommerce-checkout #payment { background: var(--sbs-abyss); border: 1px solid var(--sbs-border); padding: 1.5rem; }
.woocommerce-checkout #payment .payment_methods li label { color: var(--sbs-text); font-family: var(--font-body); }

/* ── WOO NOTICES ──────────────────────────────────────────────── */
.woocommerce-message,.woocommerce-info { background: var(--sbs-shadow) !important; border-left: 3px solid var(--sbs-gold) !important; color: var(--sbs-text) !important; font-family: var(--font-ui) !important; font-size: .78rem !important; letter-spacing: .05em !important; list-style: none !important; padding: 1rem 1.5rem !important; margin-bottom: 1.5rem !important; }
.woocommerce-error { border-color: #c0392b !important; }

@media (max-width: 768px) {
    .single-product .product { grid-template-columns: 1fr !important; gap: 2rem !important; }
    .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
    .woocommerce ul.products { grid-template-columns: 1fr !important; }
}
