/* ==========================================================================
   FETTLE TEA — WooCommerce Overrides
   Product grid, single product, cart, checkout styling
   ========================================================================== */

/* ---------- Shop Page — Hide WC defaults ---------- */
.woocommerce-page .woocommerce-products-header__title,
.woocommerce-page .page-title,
.woocommerce-page .woocommerce-result-count { display: none !important; }

.woocommerce-page .woocommerce-ordering select {
    padding: 0.6rem 2rem 0.6rem 1rem !important;
    border: 1px solid var(--color-beige) !important;
    border-radius: 0 !important;
    font-family: var(--font-body) !important;
    font-size: var(--text-xs) !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--color-text-light);
    background: transparent;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

/* ---------- Product Grid ---------- */
.woocommerce ul.products {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: var(--space-xl);
    padding: 0;
    margin: 0;
}

.woocommerce ul.products li.product {
    flex: 0 0 calc(33.333% - var(--space-xl));
    max-width: calc(33.333% - var(--space-xl));
    float: none !important;
    margin: 0 !important;
    padding: 0;
    background: transparent;
    border-radius: 0;
    overflow: hidden;
    border: none;
    text-align: center;
    transition: all var(--duration-base) var(--ease-smooth);
}

.woocommerce ul.products li.product:hover {
    transform: translateY(-4px);
}

/* Product Image */
.woocommerce ul.products li.product a img {
    margin: 0 !important;
    border-radius: 0;
    transition: transform var(--duration-slow) var(--ease-smooth);
}

.woocommerce ul.products li.product:hover a img {
    transform: scale(1.03);
}

.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: contain;
    background: var(--color-offwhite);
    padding: var(--space-lg);
    border: 1px solid var(--color-beige);
}

/* Product Info */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-heading) !important;
    font-size: var(--text-lg) !important;
    font-weight: 500;
    color: var(--color-heading);
    padding: var(--space-md) 0 var(--space-xs) !important;
}

.woocommerce ul.products li.product .price {
    font-family: var(--font-body);
    font-size: var(--text-sm) !important;
    font-weight: 400;
    color: var(--color-text-light) !important;
    padding: 0;
}

/* Add to Cart / Select Options Button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
    display: inline-block !important;
    width: auto !important;
    margin: var(--space-md) 0 0 !important;
    padding: 0.7rem 2rem !important;
    background: transparent !important;
    color: var(--color-heading) !important;
    border: 1px solid var(--color-heading) !important;
    border-radius: 0 !important;
    font-family: var(--font-body) !important;
    font-size: 0.625rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.16em !important;
    text-align: center;
    cursor: pointer;
    transition: all var(--duration-base) var(--ease-smooth) !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
    background: var(--color-primary) !important;
    color: var(--color-cream) !important;
    border-color: var(--color-primary) !important;
}

/* Sale badge */
.woocommerce span.onsale {
    background: var(--color-primary) !important;
    color: var(--color-white) !important;
    font-size: var(--text-xs) !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0.375rem 0.75rem !important;
    border-radius: var(--radius-sm) !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.4 !important;
}

/* Category filter (if used) */
.product-category-filter {
    display: flex;
    justify-content: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
    margin-bottom: var(--space-xl);
}

.product-category-filter a {
    padding: 0.5rem 1.25rem;
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--color-text-light);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    transition: all var(--duration-fast) var(--ease-out);
}

.product-category-filter a:hover,
.product-category-filter a.active {
    background: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
}

/* ---------- Single Product ---------- */
.woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-3xl);
    align-items: start;
}

.woocommerce div.product div.images {
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.woocommerce div.product div.images img {
    width: 100%;
    border-radius: var(--radius-md);
}

.woocommerce div.product div.summary {
    padding-top: var(--space-md);
}

.woocommerce div.product .product_title {
    font-family: var(--font-heading) !important;
    font-size: var(--text-2xl) !important;
    font-weight: 500;
    color: var(--color-heading);
    margin-bottom: var(--space-sm) !important;
}

.woocommerce div.product p.price {
    font-size: var(--text-xl) !important;
    font-weight: 700;
    color: var(--color-primary) !important;
    margin-bottom: var(--space-lg) !important;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    font-size: var(--text-md);
    color: var(--color-text-light);
    line-height: 1.8;
    margin-bottom: var(--space-xl);
    padding-bottom: var(--space-lg);
    border-bottom: 1px solid var(--color-border);
}

/* Quantity input (cart/checkout default) */
.woocommerce .quantity .qty {
    width: 70px;
    padding: 12px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    font-size: var(--text-base);
    font-weight: 600;
    text-align: center;
    background: var(--color-white);
    transition: border-color var(--duration-base) var(--ease-smooth);
    -moz-appearance: textfield;
}

.woocommerce .quantity .qty:focus {
    outline: none;
    border-color: var(--color-accent);
}

.woocommerce .quantity .qty::-webkit-inner-spin-button,
.woocommerce .quantity .qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Single Add to Cart (fallback for simple products) */
.woocommerce div.product form.cart .single_add_to_cart_button {
    background: var(--color-primary) !important;
    color: var(--color-accent-light) !important;
    border: 1px solid var(--color-primary) !important;
    padding: 1rem 2.5rem !important;
    font-family: var(--font-body) !important;
    font-size: var(--text-xs) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.16em !important;
    border-radius: 0 !important;
    cursor: pointer;
    transition: all var(--duration-base) var(--ease-smooth) !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background: var(--color-primary-light) !important;
    color: var(--color-white) !important;
    box-shadow: var(--shadow-lg) !important;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs {
    grid-column: 1 / -1;
    margin-top: var(--space-xl);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid var(--color-border);
    margin-bottom: var(--space-lg);
    padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none !important;
    background: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 0.75rem 1.5rem !important;
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-light) !important;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all var(--duration-fast) var(--ease-out);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--color-primary) !important;
    border-bottom-color: var(--color-accent);
}

/* Related Products */
.woocommerce .related.products {
    grid-column: 1 / -1;
    margin-top: var(--space-xl);
}

.woocommerce .related.products h2 {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    text-align: center;
    margin-bottom: var(--space-xl);
}

/* Cart & checkout styles are in the Editorial Design section below */

/* Hide "added to cart" notice on cart and checkout (item is already visible) */
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message { display: none !important; }

/* Override WooCommerce responsive hiding of thumbnails */
.woocommerce-cart .product-thumbnail { display: block !important; }

/* ---------- Messages / Notices ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border: none !important;
    border-top: none !important;
    background: var(--color-primary) !important;
    color: var(--color-cream) !important;
    border-radius: 0 !important;
    padding: 0.875rem var(--container-padding) !important;
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 500;
    letter-spacing: 0.02em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-lg);
    margin: 0 calc(-1 * var(--container-padding)) var(--space-xl) !important;
    /* Negative margin pulls the bar edge-to-edge inside the container */
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--color-accent-light) !important;
    position: static !important;
    margin: 0;
    flex-shrink: 0;
    font-size: 1.25em;
}

.woocommerce-error {
    background: #5E2626 !important;
}

.woocommerce-error::before {
    color: #F2A7A7 !important;
}

.woocommerce-message .button,
.woocommerce-info .button {
    background: transparent !important;
    color: var(--color-accent-light) !important;
    border: 1px solid rgba(197, 165, 90, 0.4) !important;
    border-radius: var(--radius-sm) !important;
    padding: 0.375rem 1rem !important;
    font-size: var(--text-xs) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    white-space: nowrap;
    transition: all var(--duration-base) var(--ease-smooth);
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
    background: rgba(197, 165, 90, 0.15) !important;
    border-color: var(--color-accent-light) !important;
    color: var(--color-white) !important;
}

/* ---------- Pagination ---------- */
.woocommerce nav.woocommerce-pagination ul {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: var(--space-xl);
    border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none !important;
}

a.page-numbers,
span.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-sm) !important;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-text-light);
    border: 1px solid var(--color-border);
    transition: all var(--duration-fast) var(--ease-out);
    background: transparent !important;
}

a.page-numbers:hover {
    background: var(--color-primary) !important;
    color: var(--color-white) !important;
    border-color: var(--color-primary);
}

span.page-numbers.current {
    background: var(--color-primary) !important;
    color: var(--color-white) !important;
    border-color: var(--color-primary);
}

/* ---------- Breadcrumb ---------- */
.woocommerce .woocommerce-breadcrumb {
    font-family: var(--font-body);
    font-size: 0.6875rem; /* 11px — deliberately small, like a whisper */
    color: var(--color-sand);
    margin-bottom: var(--space-xl);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--color-sand);
    text-decoration: none;
    transition: color var(--duration-fast) var(--ease-out);
}

.woocommerce .woocommerce-breadcrumb a:hover {
    color: var(--color-accent-text);
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .woocommerce ul.products li.product {
        flex: 0 0 calc(50% - var(--space-xl));
        max-width: calc(50% - var(--space-xl));
    }
}

@media (max-width: 768px) {
    .woocommerce div.product {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }
}

@media (max-width: 480px) {
    .woocommerce ul.products li.product {
        flex: 0 0 100%;
        max-width: 320px;
    }
}

/* ==========================================================================
   SINGLE PRODUCT — Editorial Layout
   Flow: Discover → Understand → Purchase
   Prefix: .sp (single-product)
   ========================================================================== */

.woocommerce div.product.sp {
    display: block;
}

/* ---------- ACT 1: Header / Introduction ---------- */
.sp__header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto var(--space-3xl);
    padding-top: var(--space-lg);
}

.sp__category {
    font-family: var(--font-body);
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--color-accent-text);
    text-decoration: none;
    display: inline-block;
    margin-bottom: var(--space-md);
    transition: color var(--duration-fast) var(--ease-out);
}

.sp__category:hover {
    color: var(--color-accent-dark);
}

.sp__title {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 4vw, var(--text-3xl));
    font-weight: 400;
    color: var(--color-heading);
    line-height: 1.1;
    margin: 0 0 var(--space-lg);
    letter-spacing: -0.02em;
}

.sp__intro {
    font-family: var(--font-accent);
    font-size: var(--text-md);
    color: var(--color-text-light);
    line-height: 1.9;
    max-width: 540px;
    margin: 0 auto;
}

.sp__intro p { margin: 0; }

/* ---------- ACT 2: Showcase (Image + Purchase) ---------- */
.sp__showcase {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: var(--space-2xl);
    align-items: start;
    margin-bottom: var(--space-3xl);
}

/* --- Image --- */
.sp__image {
    position: sticky;
    top: var(--space-lg);
}

.sp__image .woocommerce-product-gallery {
    margin: 0 !important;
    padding: 0 !important;
}

.sp__image .woocommerce-product-gallery__trigger {
    display: none !important;
}

.sp__image .woocommerce-product-gallery__wrapper {
    background: var(--color-offwhite);
    padding: var(--space-xl);
}

.sp__image .flex-viewport {
    background: var(--color-offwhite);
    overflow: hidden;
    border-radius: 0;
}

.sp__image img {
    width: 100%;
    height: auto;
    border-radius: 0;
    display: block;
}

.sp__image .flex-control-thumbs {
    display: flex;
    gap: 6px;
    margin-top: 6px !important;
    padding: 0;
    list-style: none;
}

.sp__image .flex-control-thumbs li {
    flex: 0 0 auto;
    width: 64px;
}

.sp__image .flex-control-thumbs li img {
    border-radius: 0;
    opacity: 0.4;
    cursor: pointer;
    transition: opacity var(--duration-fast) var(--ease-out);
    background: var(--color-offwhite);
    padding: 4px;
}

.sp__image .flex-control-thumbs li img.flex-active,
.sp__image .flex-control-thumbs li img:hover {
    opacity: 1;
}

/* --- Purchase Column --- */
.sp__purchase {
    padding: var(--space-xl) var(--space-xl) var(--space-lg);
    background: var(--color-white);
    border: 1px solid var(--color-beige);
    position: relative;
}

/* Gold accent line at top of purchase card */
.sp__purchase::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        var(--color-accent) 20%,
        var(--color-accent) 80%,
        transparent
    );
}

.sp__price {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 400;
    color: var(--color-text-light);
    margin-bottom: var(--space-md);
    letter-spacing: 0.02em;
}

.sp__price del {
    color: var(--color-sand);
    font-weight: 400;
    font-size: var(--text-base);
}

.sp__price ins {
    text-decoration: none;
}

.sp__sku {
    font-family: var(--font-body);
    font-size: 0.5625rem;
    color: var(--color-sand);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-top: var(--space-lg);
    padding-top: var(--space-md);
    border-top: 1px solid var(--color-beige);
}

/* --- Add to Cart Form --- */
.sp__cart .cart {
    display: block;
}

/* --- Variation Pills --- */
.ft-variation {
    margin-bottom: var(--space-lg);
}

.ft-variation__label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.5625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--color-text-light);
    margin-bottom: 12px;
}

.ft-variation__pills {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}

.ft-variation__hidden-select {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.ft-pill {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 8px;
    border: 1px solid var(--color-beige);
    /* Collapse borders between pills for a unified look */
    margin-left: -1px;
    margin-top: -1px;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
    transition: all var(--duration-base) var(--ease-smooth);
    gap: 4px;
    text-align: center;
    position: relative;
}

/* First pill in row restores left border */
.ft-pill:first-child { margin-left: 0; }

.ft-pill:hover {
    border-color: var(--color-accent);
    z-index: 1;
}

.ft-pill.ft-pill--active {
    border-color: var(--color-accent);
    background: var(--color-accent);
    color: var(--color-primary-dark);
    z-index: 2;
    box-shadow: var(--shadow-gold);
}

.ft-pill.ft-pill--active .ft-pill__price {
    color: var(--color-primary-dark);
    opacity: 0.7;
}

.ft-pill--oos {
    opacity: 0.25;
    cursor: not-allowed;
}

.ft-pill--oos .ft-pill__size {
    text-decoration: line-through;
}

.ft-pill__size {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
}

.ft-pill__price {
    font-family: var(--font-body);
    font-size: 0.625rem;
    color: var(--color-text-light);
    line-height: 1;
}

.ft-pill__price .woocommerce-Price-currencySymbol {
    font-size: 0.85em;
}

/* Hide WC defaults we don't need */
.sp__cart .woocommerce-variation-price {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    font-weight: 500;
    color: var(--color-heading);
    margin-bottom: var(--space-md);
}

.sp__cart .woocommerce-variation-price .price {
    font-size: inherit !important;
    color: inherit !important;
}
.sp__cart .reset_variations { display: none; }

/* --- Quantity + Button --- */
.sp__cart .single_variation_wrap .woocommerce-variation-add-to-cart,
.sp__cart .cart:not(.variations_form) {
    display: flex;
    align-items: stretch;
    gap: 0;
    margin-top: var(--space-lg);
}

.sp__cart .quantity.fettle-qty {
    flex-shrink: 0;
    border: 1px solid var(--color-accent) !important;
    border-right: none !important;
    border-radius: 0;
}

.sp__cart .fettle-qty__btn {
    width: 44px;
    height: auto;
    border: none;
    border-radius: 0;
    font-size: var(--text-lg);
    color: var(--color-accent-dark);
    background: transparent;
    transition: background var(--duration-fast) var(--ease-out),
                color var(--duration-fast) var(--ease-out);
}

.sp__cart .fettle-qty__btn:hover {
    background: var(--color-accent);
    color: var(--color-primary-dark);
}

.sp__cart .fettle-qty__minus {
    border-right: 1px solid rgba(var(--color-accent-rgb, 197, 165, 90), 0.3) !important;
}

.sp__cart .fettle-qty__plus {
    border-left: 1px solid rgba(var(--color-accent-rgb, 197, 165, 90), 0.3) !important;
}

.sp__cart .quantity .qty {
    height: 100%;
    width: 48px;
    border: none;
    border-radius: 0;
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 700;
    text-align: center;
    background: var(--color-white);
    color: var(--color-heading);
    -moz-appearance: textfield;
    padding: 0;
}

.sp__cart .quantity .qty::-webkit-inner-spin-button,
.sp__cart .quantity .qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

.sp__cart .quantity .qty:focus {
    outline: none;
    background: var(--color-offwhite);
}

/* Add to Cart button */
.sp__cart .single_add_to_cart_button {
    flex: 1 !important;
    background: var(--color-accent) !important;
    color: var(--color-primary-dark) !important;
    border: 1px solid var(--color-accent) !important;
    border-radius: 0 !important;
    padding: 1.125rem 2rem !important;
    font-family: var(--font-body) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    cursor: pointer;
    transition: all var(--duration-slow) var(--ease-smooth) !important;
    position: relative;
}

.sp__cart .single_add_to_cart_button:hover {
    background: var(--color-accent-dark) !important;
    color: var(--color-white) !important;
    box-shadow: var(--shadow-gold) !important;
}

.sp__cart .single_add_to_cart_button.disabled {
    background: var(--color-beige) !important;
    border-color: var(--color-beige) !important;
    color: var(--color-sand) !important;
    cursor: not-allowed;
    box-shadow: none !important;
}

/* Stock availability text — style it to whisper, not shout */
.sp__cart .stock {
    font-family: var(--font-body);
    font-size: 0.5625rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--color-text-light);
    margin-top: 10px;
}

.sp__cart .stock.in-stock::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    background: var(--color-success);
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: middle;
}

/* ---------- ACT 3: Tasting Profile ---------- */
.sp__tasting {
    background: var(--color-primary);
    color: var(--color-cream);
    margin: 0 calc(-1 * var(--container-padding));
    padding: var(--space-3xl) var(--container-padding);
}

.sp__tasting-inner {
    max-width: var(--container-max);
    margin: 0 auto;
}

.sp__tasting .sp__section-title {
    font-family: var(--font-accent);
    font-size: var(--text-lg);
    font-weight: 400;
    font-style: italic;
    color: var(--color-accent-light);
    text-align: center;
    margin-bottom: var(--space-2xl);
    letter-spacing: 0.06em;
}

.sp__notes {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    margin: 0;
}

.sp__note {
    text-align: center;
    padding: 0 var(--space-lg);
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.sp__note:last-child {
    border-right: none;
}

.sp__note dt {
    font-family: var(--font-body);
    font-size: 0.5625rem;          /* 9px */
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--color-accent);
    margin-bottom: var(--space-xs);
}

.sp__note dd {
    font-family: var(--font-accent);
    font-size: var(--text-base);
    font-style: italic;
    color: var(--color-cream);
    line-height: 1.5;
    margin: 0;
}

/* ---------- ACT 4: Story / Long Description ---------- */
.sp__story {
    max-width: 640px;
    margin: var(--space-3xl) auto;
    text-align: center;
}

.sp__story .sp__section-title {
    font-family: var(--font-accent);
    font-size: var(--text-lg);
    font-weight: 400;
    font-style: italic;
    color: var(--color-heading);
    margin-bottom: var(--space-lg);
    letter-spacing: 0.04em;
}

.sp__story-body {
    font-family: var(--font-accent);
    font-size: var(--text-md);
    color: var(--color-text);
    line-height: 2;
    text-align: left;
}

.sp__story-body p {
    margin-bottom: var(--space-md);
}

.sp__story-body p:last-child {
    margin-bottom: 0;
}

/* ---------- Related Products ---------- */
.sp .related.products {
    margin-top: var(--space-3xl);
    padding-top: var(--space-2xl);
}

.sp .related.products::before {
    content: '';
    display: block;
    width: 60px;
    height: 1px;
    background: var(--color-accent);
    margin: 0 auto var(--space-xl);
}

.sp .related.products > h2 {
    font-family: var(--font-accent) !important;
    font-weight: 400 !important;
    font-style: italic;
    letter-spacing: 0.04em;
    text-align: center;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .sp__notes {
        grid-template-columns: repeat(3, 1fr);
        row-gap: var(--space-xl);
    }
    .sp__note:nth-child(3) { border-right: none; }
}

@media (max-width: 768px) {
    .sp__showcase {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .sp__image {
        position: static;
        max-height: 50vh;
        overflow: hidden;
    }

    .sp__image .woocommerce-product-gallery__wrapper {
        padding: var(--space-md);
    }

    .sp__image .flex-viewport {
        max-height: 45vh;
    }

    .sp__header {
        margin-bottom: var(--space-lg);
        padding-top: var(--space-md);
    }

    .sp__title {
        font-size: var(--text-2xl);
    }

    .sp__intro {
        font-size: var(--text-base);
    }

    /* Purchase card - bigger on mobile */
    .sp__purchase {
        padding: var(--space-lg);
    }

    .sp__price {
        font-size: var(--text-base);
    }

    /* Variation pills - bigger touch targets */
    .ft-variation__pills {
        grid-template-columns: repeat(2, 1fr);
    }

    .ft-pill {
        padding: 14px 8px;
        min-height: 56px;
    }

    .ft-pill__size {
        font-size: var(--text-base);
    }

    .ft-pill__price {
        font-size: var(--text-xs);
    }

    .ft-variation__label {
        font-size: 0.6875rem;
        margin-bottom: 10px;
    }

    /* Price display */
    .sp__cart .woocommerce-variation-price {
        font-size: var(--text-2xl);
    }

    /* Stock text */
    .sp__cart .stock {
        font-size: 0.6875rem;
    }

    /* Quantity + Add to Cart - stack on mobile */
    .sp__cart .single_variation_wrap .woocommerce-variation-add-to-cart,
    .sp__cart .cart:not(.variations_form) {
        flex-wrap: wrap;
    }

    .sp__cart .quantity.fettle-qty {
        border-right: 1px solid var(--color-accent) !important;
        width: 100%;
        justify-content: center;
    }

    .sp__cart .fettle-qty__btn {
        width: 52px;
        font-size: var(--text-xl);
    }

    .sp__cart .quantity .qty {
        flex: 1;
        font-size: var(--text-lg);
        padding: 14px 0;
    }

    .sp__cart .single_add_to_cart_button {
        width: 100% !important;
        padding: 1.125rem !important;
        font-size: 0.8125rem !important;
        letter-spacing: 0.15em !important;
    }

    /* Tasting profile */
    .sp__tasting {
        padding: var(--space-2xl) var(--space-lg);
    }

    .sp__notes {
        grid-template-columns: 1fr;
    }

    .sp__note {
        border-right: none;
        padding: var(--space-sm) 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        text-align: left;
    }

    .sp__note:last-child {
        border-bottom: none;
    }
}


/* ==========================================================================
   CART & CHECKOUT — Luxury Design
   ========================================================================== */

/* ---------- Spacing on cart/checkout ---------- */
.woocommerce-cart .section,
.woocommerce-checkout .section,
.woocommerce-checkout .section--checkout {
    padding-block: 0 var(--space-2xl);
}

/* ===== CART — Custom Template ===== */

/* Cart + collaterals grid */
.woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: var(--space-2xl);
    align-items: start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce-cart-form { grid-column: 1; }

/* Cart item row */
.fettle-cart-item {
    display: grid;
    grid-template-columns: 120px 1fr auto auto auto;
    gap: 0 var(--space-lg);
    align-items: center;
    padding: var(--space-lg) 0;
    border-bottom: 1px solid var(--color-beige);
}

.fettle-cart-item:last-of-type { border-bottom: none; }

/* Product image */
.fettle-cart-item__image {
    grid-row: 1 / 3;
}
.fettle-cart-item__image a { display: block; }
.fettle-cart-item__image img {
    width: 120px !important;
    height: 140px !important;
    object-fit: contain;
    background: var(--color-offwhite);
    padding: var(--space-sm);
    border: 1px solid var(--color-beige);
}

/* Product details */
.fettle-cart-item__details {
    min-width: 0;
}
.fettle-cart-item__name a {
    font-family: var(--font-heading);
    font-size: var(--text-base);
    font-weight: 500;
    color: var(--color-heading);
    text-decoration: none;
    line-height: 1.4;
}
.fettle-cart-item__name a:hover { color: var(--color-accent-text); }
.fettle-cart-item__meta {
    font-size: var(--text-xs);
    color: var(--color-text-light);
    margin-top: 0.25rem;
}
.fettle-cart-item__meta p { margin: 0; }
.fettle-cart-item__unit-price {
    font-size: var(--text-sm);
    color: var(--color-text-light);
    margin-top: 0.375rem;
}

/* Quantity with +/- buttons */
.fettle-qty {
    display: inline-flex !important;
    align-items: center;
    border: 1px solid var(--color-beige);
}
.fettle-qty__btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    font-size: var(--text-md);
    color: var(--color-text-light);
    cursor: pointer;
    transition: color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);
    font-family: var(--font-body);
    user-select: none;
    -webkit-user-select: none;
}
.fettle-qty__btn:hover {
    color: var(--color-heading);
    background: var(--color-offwhite);
}
.fettle-qty__minus { border-right: 1px solid var(--color-beige); }
.fettle-qty__plus { border-left: 1px solid var(--color-beige); }
.fettle-qty input.qty {
    width: 44px;
    text-align: center;
    border: none;
    padding: 0.4rem 0;
    font-size: var(--text-sm);
    font-weight: 600;
    background: transparent;
    font-family: var(--font-body);
    color: var(--color-heading);
    -moz-appearance: textfield;
}
.fettle-qty input.qty::-webkit-outer-spin-button,
.fettle-qty input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Subtotal */
.fettle-cart-item__subtotal {
    font-family: var(--font-heading);
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-heading);
    white-space: nowrap;
    text-align: right;
    min-width: 90px;
}

/* Remove button */
.fettle-cart-item__remove {
    justify-self: end;
}
.fettle-remove {
    color: var(--color-text-light);
    font-size: 0.625rem;
    font-family: var(--font-body);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
    padding: 0.375rem 0.75rem;
    border: 1px solid var(--color-beige);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--duration-fast) var(--ease-out);
}
.fettle-remove:hover {
    color: var(--color-error);
    border-color: var(--color-error);
}

/* Cart actions (coupon + update) */
.fettle-cart__actions {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-lg) 0;
    border-top: 1px solid var(--color-beige);
    margin-top: var(--space-sm);
}

.fettle-cart__coupon {
    display: flex;
    gap: var(--space-sm);
}
.fettle-cart__coupon input {
    border: 1px solid var(--color-beige);
    padding: 0.6rem 1rem;
    font-size: var(--text-sm);
    font-family: var(--font-body);
    width: 180px;
}
.fettle-cart__coupon input:focus { border-color: var(--color-primary); outline: none; }
.fettle-cart__coupon .button {
    background: var(--color-primary) !important;
    color: var(--color-cream) !important;
    border: none !important;
    padding: 0.6rem 1.25rem !important;
    font-size: 0.625rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    cursor: pointer;
}

.fettle-cart__update {
    margin-left: auto;
    background: transparent;
    color: var(--color-text-light);
    border: 1px solid var(--color-beige);
    padding: 0.6rem 1.25rem;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-family: var(--font-body);
    cursor: pointer;
    transition: all var(--duration-fast) var(--ease-out);
}
.fettle-cart__update:hover { border-color: var(--color-heading); color: var(--color-heading); }

.woocommerce-cart .cart-collaterals { position: sticky; top: var(--space-lg); }
.woocommerce-cart .cart_totals { background: var(--color-offwhite); padding: var(--space-xl) var(--space-lg); position: relative; overflow: hidden; float: none !important; width: 100% !important; }
.woocommerce-cart .cart_totals::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--color-accent) 20%, var(--color-accent) 80%, transparent); }
.woocommerce-cart .cart_totals h2 {
    font-family: var(--font-body); font-size: 0.6875rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.12em; color: var(--color-heading); margin-bottom: var(--space-lg); padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--color-beige);
}
/* Force cart totals table into grid rows */
.woocommerce-cart .cart_totals .shop_table,
.woocommerce-cart .cart_totals .shop_table tbody { display: block !important; width: 100% !important; border: none !important; }
.woocommerce-cart .cart_totals .shop_table tr {
    display: grid !important; grid-template-columns: auto 1fr !important;
    gap: var(--space-md) !important; align-items: baseline !important;
    padding: 0.625rem 0 !important; border: none !important;
}
.woocommerce-cart .cart_totals .shop_table th,
.woocommerce-cart .cart_totals .shop_table td {
    display: block !important; border: none !important; padding: 0 !important;
    width: auto !important; float: none !important;
}
.woocommerce-cart .cart_totals .shop_table th {
    color: var(--color-text-light); font-weight: 600; text-transform: uppercase;
    font-size: 0.6875rem; letter-spacing: 0.08em; text-align: left !important;
}
.woocommerce-cart .cart_totals .shop_table td { text-align: right !important; font-size: var(--text-sm); }
.woocommerce-cart .cart_totals .shop_table td::before { display: none !important; }
.woocommerce-cart .cart_totals .order-total {
    margin-top: var(--space-xs) !important;
    padding-top: var(--space-md) !important;
    border-top: 1px solid var(--color-beige) !important;
}
.woocommerce-cart .cart_totals .order-total th { font-size: 0.75rem !important; font-weight: 700 !important; color: var(--color-heading) !important; }
.woocommerce-cart .cart_totals .order-total td { font-size: var(--text-base) !important; font-weight: 700 !important; color: var(--color-heading) !important; }

.woocommerce-cart .wc-proceed-to-checkout { padding: var(--space-md) 0 0; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    display: block; width: 100%;
    background: var(--color-primary) !important; color: var(--color-accent-light) !important;
    border: none !important; border-radius: 0 !important;
    padding: 1.125rem !important;
    font-family: var(--font-body) !important; font-size: 0.6875rem !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: 0.2em !important;
    text-align: center; transition: all var(--duration-base) var(--ease-smooth);
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background: var(--color-primary-light) !important; color: var(--color-white) !important; letter-spacing: 0.28em !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button::after { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent); transition: left 0.6s var(--ease-smooth); }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover::after { left: 100%; }

.woocommerce-cart .actions { display: flex; align-items: center; gap: var(--space-md); padding: var(--space-lg) 0 !important; border: none !important; }
.woocommerce-cart .coupon { display: flex; gap: var(--space-sm); flex: 1; }
.woocommerce-cart .coupon #coupon_code { border: 1px solid var(--color-beige) !important; padding: 0.6rem 1rem !important; font-size: var(--text-sm) !important; flex: 1; max-width: 200px; }
.woocommerce-cart .coupon .button { background: transparent !important; color: var(--color-heading) !important; border: 1px solid var(--color-heading) !important; padding: 0.6rem 1.25rem !important; font-size: 0.625rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; }
.woocommerce-cart button[name="update_cart"] { background: transparent !important; color: var(--color-text-light) !important; border: 1px solid var(--color-beige) !important; padding: 0.6rem 1.25rem !important; font-size: 0.625rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.1em !important; margin-left: auto; }

/* Cart payment badges */
.fettle-cart-badges { text-align: center; padding: var(--space-lg) 0 var(--space-sm); }
.fettle-cart-badges__label { font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 700; color: var(--color-text-light); display: block; margin-bottom: var(--space-sm); }
.fettle-cart-badges__icons { display: inline-flex; gap: 8px; align-items: center; }
.fettle-cart-badges__icons img { height: 22px; opacity: 0.7; transition: opacity var(--duration-fast) var(--ease-out); }
.fettle-cart-badges__icons img:hover { opacity: 1; }


/* ===== CHECKOUT — Luxury Layout ===== */

.fettle-checkout { display: grid; grid-template-columns: 1fr 420px; gap: var(--space-2xl) calc(var(--space-2xl) * 1.5); align-items: start; }

.fettle-checkout__main { display: flex; flex-direction: column; gap: var(--space-xl); }

.fettle-section { padding-bottom: var(--space-xl); border-bottom: 1px solid var(--color-beige); }
.fettle-section:last-child { border-bottom: none; padding-bottom: 0; }

.fettle-section__header { display: flex; align-items: flex-start; gap: var(--space-md); margin-bottom: var(--space-xl); }
.fettle-section__num { font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: 300; color: var(--color-accent); line-height: 1; flex-shrink: 0; opacity: 0.5; }
.fettle-section__title { font-family: var(--font-heading) !important; font-size: var(--text-lg) !important; font-weight: 600 !important; font-style: normal !important; color: var(--color-heading); margin: 0 !important; padding: 0 !important; border: none !important; letter-spacing: -0.01em; }
.fettle-section__subtitle { font-size: var(--text-xs); color: var(--color-text-light); margin: 0.25rem 0 0; letter-spacing: 0.02em; }

/* Billing/shipping layout */
.woocommerce-checkout .col2-set { display: block !important; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }

/* Hide redundant WC headings - our custom section headers replace them */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
    display: none !important;
}

/* Restyle "Ship to different address" as a subtle toggle */
.woocommerce-checkout h3#ship-to-different-address {
    font-family: var(--font-body) !important; font-size: var(--text-sm) !important; font-weight: 500 !important;
    font-style: normal !important; color: var(--color-text-light);
    margin: var(--space-lg) 0 var(--space-md) !important; padding: 0 !important; border: none !important;
}

.woocommerce-checkout .form-row label {
    font-family: var(--font-body); font-size: 0.6875rem; font-weight: 600;
    text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-text-light);
    margin-bottom: 0.375rem; display: block;
}
.woocommerce-checkout .form-row .required { color: var(--color-accent); }
.woocommerce-checkout .form-row .optional { font-weight: 400; text-transform: none; letter-spacing: 0; opacity: 0.6; }

/* Inputs - clean underline style */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    width: 100%; padding: 0.875rem 0 !important;
    border: none !important; border-bottom: 1px solid var(--color-beige) !important; border-radius: 0 !important;
    font-family: var(--font-body) !important; font-size: var(--text-base) !important;
    color: var(--color-heading); background: transparent;
    transition: border-color var(--duration-fast) var(--ease-out); outline: none;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-bottom-color: var(--color-primary) !important; box-shadow: none !important;
}
.woocommerce-checkout .form-row input.input-text::placeholder { color: var(--color-sand); font-style: italic; }

.woocommerce-checkout .form-row select {
    appearance: none; -webkit-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='%236B6B6B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 0 center; padding-right: 24px !important; cursor: pointer;
}

/* Field grid */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
    display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm) var(--space-lg);
}
.woocommerce-checkout .form-row-wide { grid-column: 1 / -1; }
.woocommerce-checkout .form-row-first { grid-column: 1; }
.woocommerce-checkout .form-row-last { grid-column: 2; }

.woocommerce-checkout .woocommerce-additional-fields { margin-top: var(--space-lg); }
.woocommerce-checkout .woocommerce-additional-fields textarea { min-height: 80px; resize: vertical; }

/* Coupon toggle - hide on checkout (luxury brands keep this subtle; coupon can be applied on cart page) */
.woocommerce-checkout .woocommerce-form-coupon-toggle { display: none !important; }
.woocommerce-checkout .checkout_coupon { display: none !important; }

/* --- Order Summary (right column) --- */
.fettle-checkout__aside { position: sticky; top: calc(var(--space-lg) + 80px); }
.fettle-checkout__aside-inner { background: var(--color-offwhite); padding: var(--space-xl); border: 1px solid var(--color-beige); position: relative; box-shadow: 0 1px 4px rgba(0,0,0,0.04); }
.fettle-checkout__aside-inner::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--color-accent) 20%, var(--color-accent) 80%, transparent); }

.fettle-summary__title { font-family: var(--font-heading) !important; font-size: var(--text-base) !important; font-weight: 600 !important; font-style: normal !important; color: var(--color-heading) !important; text-transform: uppercase; letter-spacing: 0.1em; margin: 0 0 0.25rem !important; padding: 0 !important; border: none !important; }
.fettle-summary__items-label { font-size: var(--text-xs); color: var(--color-text-light); margin-bottom: var(--space-lg); padding-bottom: var(--space-md); border-bottom: 1px solid var(--color-beige); }

/* Product items */
.fettle-order-items { display: flex; flex-direction: column; gap: var(--space-md); padding-bottom: var(--space-lg); border-bottom: 1px solid var(--color-beige); }
.fettle-order-item { display: flex; align-items: center; gap: var(--space-md); }
.fettle-order-item__thumb { position: relative; flex-shrink: 0; width: 64px; height: 64px; background: var(--color-white); border: 1px solid var(--color-beige); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.fettle-order-item__thumb img { width: 100% !important; height: 100% !important; object-fit: contain; padding: 4px; }
.fettle-order-item__qty { position: absolute; top: -6px; right: -6px; width: 20px; height: 20px; background: var(--color-primary); color: var(--color-cream); font-size: 0.625rem; font-weight: 700; border-radius: 50%; display: flex; align-items: center; justify-content: center; }
.fettle-order-item__info { flex: 1; min-width: 0; }
.fettle-order-item__name { display: block; font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 500; color: var(--color-heading); line-height: 1.3; }
.fettle-order-item__meta { display: block; font-size: var(--text-xs); color: var(--color-text-light); margin-top: 2px; }
.fettle-order-item__meta p { margin: 0; }
.fettle-order-item__price { font-size: var(--text-sm); font-weight: 500; color: var(--color-text); white-space: nowrap; }

/* Totals */
.fettle-order-totals { padding-top: var(--space-md); display: flex; flex-direction: column; gap: var(--space-sm); }
.fettle-order-total-row { display: flex; justify-content: space-between; align-items: baseline; font-size: var(--text-sm); color: var(--color-text); }
.fettle-order-total-row > span:first-child { color: var(--color-text-light); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; }
.fettle-order-total-row--discount > span:last-child { color: var(--color-success); }
.fettle-order-total-row--total { margin-top: var(--space-sm); padding-top: var(--space-md); border-top: 1px solid var(--color-beige); }
.fettle-order-total-row--total > span:first-child { font-size: var(--text-sm) !important; font-weight: 600; color: var(--color-heading); text-transform: uppercase; letter-spacing: 0.08em; }
.fettle-order-total-row--total > span:last-child { font-size: var(--text-lg); font-weight: 700; color: var(--color-heading); }

/* Shipping in order review */
.fettle-order-review .woocommerce-shipping-totals td { padding: 0 !important; border: none !important; font-size: var(--text-sm); }
.fettle-order-review .woocommerce-shipping-methods { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.fettle-order-review .woocommerce-shipping-methods label { font-size: var(--text-sm) !important; font-weight: 500 !important; }

/* Trust signals */
.fettle-trust { margin-top: var(--space-lg); padding-top: var(--space-md); border-top: 1px solid var(--color-beige); display: flex; flex-direction: column; gap: var(--space-sm); }
.fettle-trust__row { display: flex; align-items: center; gap: var(--space-sm); font-size: 0.6875rem; color: var(--color-text-light); letter-spacing: 0.02em; }
.fettle-trust__row svg { opacity: 0.4; flex-shrink: 0; }
.fettle-trust__badges { display: flex; gap: 6px; margin-top: var(--space-xs); }
.fettle-trust__badges img { height: 20px; opacity: 0.7; transition: opacity var(--duration-fast) var(--ease-out); }
.fettle-trust__badges img:hover { opacity: 1; }

/* Estate promise (below order totals) */
.fettle-estate-promise {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
    padding-top: var(--space-md);
    border-top: 1px solid var(--color-beige);
    font-size: var(--text-xs);
    color: var(--color-accent-text);
    font-style: italic;
    letter-spacing: 0.02em;
}
.fettle-estate-promise svg { flex-shrink: 0; }

/* Hide WC default empty cart elements */
.woocommerce-cart .wc-empty-cart-message { display: none !important; }
.woocommerce-cart .cart-empty { display: none !important; }
.woocommerce-cart .return-to-shop { display: none !important; }

/* Empty cart - editorial invitation */
.fettle-empty-cart {
    padding: var(--space-xl) 0 var(--space-2xl);
}

.fettle-empty-cart__intro {
    text-align: center;
    max-width: 520px;
    margin: 0 auto var(--space-2xl);
}

.fettle-empty-cart__label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--color-accent-text);
    margin-bottom: var(--space-sm);
}

.fettle-empty-cart__intro .gold-divider {
    width: 48px;
    margin: 0 auto var(--space-lg);
    border: none;
    height: 1px;
    background: var(--color-accent);
}

.fettle-empty-cart__title {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: 400;
    color: var(--color-heading);
    margin-bottom: var(--space-md);
    letter-spacing: -0.02em;
}

.fettle-empty-cart__text {
    font-family: var(--font-accent);
    font-size: var(--text-base);
    font-style: italic;
    color: var(--color-text-light);
    line-height: 1.8;
}

/* Discovery cards grid */
.fettle-empty-cart__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
    margin-bottom: var(--space-2xl);
}

.fettle-discover-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    transition: transform var(--duration-base) var(--ease-smooth);
}

.fettle-discover-card:hover {
    transform: translateY(-6px);
}

.fettle-discover-card__image {
    background: var(--color-offwhite);
    border: 1px solid var(--color-beige);
    padding: var(--space-lg);
    aspect-ratio: 4 / 5;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: var(--space-md);
}

.fettle-discover-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform var(--duration-slow) var(--ease-smooth);
}

.fettle-discover-card:hover .fettle-discover-card__image img {
    transform: scale(1.04);
}

.fettle-discover-card__body {
    text-align: center;
}

.fettle-discover-card__name {
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    font-weight: 500;
    color: var(--color-heading);
    margin-bottom: 0.25rem;
}

.fettle-discover-card__origin {
    font-family: var(--font-accent);
    font-size: var(--text-xs);
    font-style: italic;
    color: var(--color-text-light);
    margin-bottom: var(--space-xs);
}

.fettle-discover-card__price {
    display: block;
    font-size: var(--text-sm);
    color: var(--color-text-light);
    margin-bottom: var(--space-sm);
}

.fettle-discover-card__cta {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--color-heading);
    border-bottom: 1px solid var(--color-accent);
    padding-bottom: 2px;
    transition: color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);
}

.fettle-discover-card:hover .fettle-discover-card__cta {
    color: var(--color-accent-text);
}

/* Footer link */
.fettle-empty-cart__footer {
    text-align: center;
}

.fettle-empty-cart__shop-link {
    font-family: var(--font-body);
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--color-text-light);
    text-decoration: none;
    padding: 0.875rem 2rem;
    border: 1px solid var(--color-beige);
    transition: all var(--duration-fast) var(--ease-out);
}

.fettle-empty-cart__shop-link:hover {
    border-color: var(--color-heading);
    color: var(--color-heading);
}

/* Responsive */
@media (max-width: 768px) {
    .fettle-empty-cart__grid { grid-template-columns: 1fr; max-width: 320px; margin-left: auto; margin-right: auto; }
    .fettle-empty-cart__title { font-size: var(--text-xl); }
}

/* --- Payment Methods (card-style) --- */
#payment { border: none !important; background: transparent !important; padding: 0 !important; }
.woocommerce-checkout .wc_payment_methods { padding: 0 !important; border: none !important; display: flex; flex-direction: column; gap: var(--space-sm); list-style: none !important; margin: 0 !important; }

.woocommerce-checkout .wc_payment_method {
    border: 1px solid var(--color-beige) !important; padding: var(--space-md) var(--space-lg) !important; margin: 0 !important;
    background: var(--color-white); transition: border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out); cursor: pointer;
}
.woocommerce-checkout .wc_payment_method:hover { border-color: var(--color-sand) !important; }
.woocommerce-checkout .wc_payment_method:has(input:checked) { border-color: var(--color-primary) !important; box-shadow: 0 0 0 1px var(--color-primary); }

.woocommerce-checkout .wc_payment_method input[type="radio"] { accent-color: var(--color-primary); width: 16px; height: 16px; margin-right: var(--space-sm); vertical-align: middle; flex-shrink: 0; }
.woocommerce-checkout .wc_payment_method > label { font-family: var(--font-body) !important; font-weight: 600 !important; font-size: var(--text-sm) !important; color: var(--color-heading) !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; display: flex !important; align-items: center; }

.fettle-payment-icons { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding-left: var(--space-md); }
.fettle-payment-icons img { height: 22px; width: auto; border-radius: 3px; }

.woocommerce-checkout .payment_box { background: rgba(27, 61, 47, 0.03) !important; border-radius: 0 !important; padding: var(--space-md) var(--space-lg) !important; margin-top: var(--space-sm) !important; font-size: var(--text-sm); color: var(--color-text-light); border-left: 2px solid var(--color-primary); }
.woocommerce-checkout .payment_box::before { display: none !important; }

/* Place order */
.woocommerce-checkout .place-order { margin-top: var(--space-lg); }
.woocommerce-checkout #place_order {
    display: block; width: 100%;
    background: var(--color-primary) !important; color: var(--color-accent-light) !important;
    border: none !important; border-radius: 0 !important; padding: 1.375rem 3rem !important;
    font-family: var(--font-body) !important; font-size: 0.75rem !important; font-weight: 700 !important;
    text-transform: uppercase !important; letter-spacing: 0.22em !important;
    cursor: pointer; position: relative; overflow: hidden;
    transition: all var(--duration-base) var(--ease-smooth) !important;
}
.woocommerce-checkout #place_order:hover { background: var(--color-primary-light) !important; color: var(--color-white) !important; letter-spacing: 0.28em !important; }
.woocommerce-checkout #place_order::after { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent); transition: left 0.6s var(--ease-smooth); }
.woocommerce-checkout #place_order:hover::after { left: 100%; }

.fettle-checkout-trust { text-align: center; padding: var(--space-md) 0; color: var(--color-text-light); font-size: var(--text-xs); letter-spacing: 0.04em; }
.fettle-checkout-trust svg { vertical-align: middle; margin-right: 4px; opacity: 0.5; }

/* --- Order Confirmation --- */
.woocommerce-order-received .woocommerce-thankyou-order-received { text-align: center; font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 500; color: var(--color-cream); margin-bottom: var(--space-xl); padding: var(--space-2xl) var(--space-xl); background: var(--color-primary); }
.woocommerce-order-received .woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0; margin-bottom: var(--space-xl); list-style: none !important; border: 1px solid var(--color-beige); }
.woocommerce-order-received .woocommerce-order-overview li { text-align: center; padding: var(--space-lg) var(--space-md); border-right: 1px solid var(--color-beige); }
.woocommerce-order-received .woocommerce-order-overview li:last-child { border-right: none; }
.woocommerce-order-received .woocommerce-order-overview li strong { display: block; font-size: var(--text-base); font-weight: 600; color: var(--color-heading); margin-top: var(--space-xs); }

/* --- My Account --- */
.woocommerce-account .woocommerce-MyAccount-navigation { float: none !important; width: 100% !important; margin-bottom: var(--space-xl); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 0; border: 1px solid var(--color-beige); list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 1; min-width: max-content; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 0.875rem 1.25rem; font-family: var(--font-body); font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em; color: var(--color-text-light); text-align: center; border-right: 1px solid var(--color-beige); transition: all var(--duration-fast) var(--ease-out); }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a { border-right: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--color-primary); color: var(--color-cream); }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--color-offwhite); color: var(--color-heading); }
.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: 100% !important; }
.woocommerce-account .u-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: var(--space-2xl); }
.woocommerce-account .u-columns h2 { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 500; margin-bottom: var(--space-md); }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { padding: var(--space-xl); border: 1px solid var(--color-beige); background: var(--color-white); }
.woocommerce-account .woocommerce-form-login input[type="text"], .woocommerce-account .woocommerce-form-login input[type="password"], .woocommerce-account .woocommerce-form-login input[type="email"], .woocommerce-account .woocommerce-form-register input[type="text"], .woocommerce-account .woocommerce-form-register input[type="password"], .woocommerce-account .woocommerce-form-register input[type="email"] { padding: 0.875rem 1rem !important; border: 1px solid var(--color-beige) !important; border-radius: 0 !important; font-size: var(--text-base) !important; }
.woocommerce-account .woocommerce-Button { background: var(--color-primary) !important; color: var(--color-accent-light) !important; border: none !important; padding: 0.875rem 2rem !important; font-family: var(--font-body) !important; font-size: 0.625rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.16em !important; border-radius: 0 !important; transition: all var(--duration-base) var(--ease-smooth) !important; }
.woocommerce-account .woocommerce-Button:hover { background: var(--color-primary-light) !important; color: var(--color-white) !important; }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) { .fettle-checkout { grid-template-columns: 1fr 360px; gap: var(--space-xl); } }

@media (max-width: 900px) {
    .woocommerce-cart .woocommerce { grid-template-columns: 1fr; }
    .woocommerce-cart .cart-collaterals { position: static; }
    .fettle-cart-item { grid-template-columns: 90px 1fr auto; gap: 0 var(--space-md); }
    .fettle-cart-item__image img { width: 90px !important; height: 110px !important; }
    .fettle-cart-item__quantity { grid-column: 2; grid-row: 2; }
    .fettle-cart-item__subtotal { grid-column: 3; grid-row: 2; }
    .fettle-cart-item__remove { grid-column: 3; grid-row: 1; }
    .fettle-cart-item__details { grid-column: 2 / 4; }
    .fettle-cart__actions { flex-direction: column; align-items: stretch; }
    .fettle-cart__coupon { width: 100%; }
    .fettle-cart__update { margin-left: 0; text-align: center; }
    .fettle-checkout { grid-template-columns: 1fr; }
    .fettle-checkout__aside { position: static; order: -1; }
    .fettle-checkout__aside-inner { padding: var(--space-lg); }
}

@media (max-width: 768px) {
    .fettle-cart-item { grid-template-columns: 72px 1fr auto; }
    .fettle-cart-item__image img { width: 72px !important; height: 88px !important; padding: var(--space-xs) !important; }
    .fettle-cart-item__name a { font-size: var(--text-sm) !important; }
    .fettle-cart-item__unit-price { display: none; }

    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
    .woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { grid-column: 1; }
    .fettle-payment-icons { gap: 4px; margin-left: 8px; }
    .fettle-payment-icons img { height: 18px; }
    .fettle-section__num { font-size: var(--text-xl); }

    .woocommerce-account .u-columns { grid-template-columns: 1fr !important; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: column; }
    .woocommerce-account .woocommerce-MyAccount-navigation li a { border-right: none; border-bottom: 1px solid var(--color-beige); text-align: left; }
}

