/*
 Theme Name: Hello Elementor Child
 Theme URI: https://touchofelegance.uk/
 Description: Custom WooCommerce child theme for Touch of Elegance Event Hire.
 Author: Touch of Elegance
 Author URI: https://touchofelegance.uk/
 Template: hello-elementor
 Version: 1.0.0
 Text Domain: hello-elementor-child
*/

/* Local Fonts */
@font-face {
  font-family: 'Bellefair';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./assets/fonts/bellefair-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Belleza';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./assets/fonts/belleza-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ── Static utility layer replacing the Tailwind browser CDN ── */
.block { display: block; }
.flex { display: flex; }
.grid { display: grid; }
.relative { position: relative; }
.absolute { position: absolute; }
.pointer-events-none { pointer-events: none; }
.shrink-0 { flex-shrink: 0; }
.flex-1 { flex: 1 1 0%; }
.flex-col { flex-direction: column; }
.w-full { width: 100%; }
.h-full { height: 100%; }
.h-px { height: 1px; }
.h-auto { height: auto; }
.max-w-2xl { max-width: 42rem; }
.max-w-\[1800px\] { max-width: 1800px; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mt-2 { margin-top: 0.5rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-16 { margin-bottom: 4rem; }
.-top-40 { top: -10rem; }
.z-10 { z-index: 10; }
.z-20 { z-index: 20; }
.gap-12 { gap: 3rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.py-12 { padding-top: 3rem; padding-bottom: 3rem; }
.pt-32 { padding-top: 8rem; }
.pb-4 { padding-bottom: 1rem; }
.pb-24 { padding-bottom: 6rem; }
.pr-4 { padding-right: 1rem; }
.text-center { text-align: center; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.font-heading { font-family: var(--font-heading); }
.leading-relaxed { line-height: 1.625; }
.opacity-80 { opacity: 0.8; }
.italic { font-style: italic; }
.overflow-y-auto { overflow-y: auto; }
.border-r { border-right-width: 1px; border-right-style: solid; }
.border-b { border-bottom-width: 1px; border-bottom-style: solid; }
.border-\[\#d4a96a\]\/10 { border-color: rgba(212, 169, 106, 0.1); }
.border-\[\#d4a96a\]\/30 { border-color: rgba(212, 169, 106, 0.3); }
.scroll-mt-40 { scroll-margin-top: 10rem; }
.space-y-24 > :not([hidden]) ~ :not([hidden]) { margin-top: 6rem; }
.line-clamp-2 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (min-width: 768px) {
    .md\:text-lg { font-size: 1.125rem; line-height: 1.75rem; }
}

@media (min-width: 1024px) {
    .lg\:sticky { position: sticky; }
    .lg\:top-32 { top: 8rem; }
    .lg\:flex-row { flex-direction: row; }
    .lg\:gap-16 { gap: 4rem; }
    .lg\:px-12 { padding-left: 3rem; padding-right: 3rem; }
    .lg\:pr-8 { padding-right: 2rem; }
    .lg\:w-\[280px\] { width: 280px; }
    .lg\:h-\[calc\(100vh-10rem\)\] { height: calc(100vh - 10rem); }
}

@media (min-width: 1280px) {
    .xl\:w-\[320px\] { width: 320px; }
}

/* ── Full Width Footer ── */
.site-footer {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden;
}
.site-footer__grid,
.site-footer__bottom {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 5% !important;
    padding-right: 5% !important;
}

/* ── Premium Sidebar Redesign ── */
.shop-sidebar-title {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    color: var(--branch-brown);
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(212, 169, 106, 0.3);
}

.sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.sidebar-link {
    font-family: var(--font-heading) !important;
    font-size: 1.25rem !important;
    color: var(--bark) !important;
    transition: all 0.4s var(--ease-out-smooth) !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-radius: 8px;
    text-decoration: none !important;
    border: none;
    background: transparent;
}

.sidebar-link:hover {
    color: var(--deep-rose-dark) !important;
    background: rgba(212, 181, 189, 0.15) !important;
    transform: translateX(6px);
}

.sidebar-link.active,
.sidebar-link.current-cat {
    color: var(--branch-brown) !important;
    background: var(--sakura-muted) !important;
    box-shadow: 0 4px 12px rgba(212, 181, 189, 0.3) !important;
}

.sidebar-link .count {
    font-family: var(--font-body);
    font-size: 0.8rem;
    opacity: 0.5;
    transition: opacity 0.3s;
}

.sidebar-link:hover .count, 
.sidebar-link.active .count, 
.sidebar-link.current-cat .count {
    opacity: 1;
    color: inherit;
}

/* Scrollbar styling for sidebar */
aside > div::-webkit-scrollbar {
    width: 4px;
}
aside > div::-webkit-scrollbar-track {
    background: transparent; 
}
aside > div::-webkit-scrollbar-thumb {
    background: rgba(212, 169, 106, 0.2); 
    border-radius: 4px;
}
aside > div:hover::-webkit-scrollbar-thumb {
    background: rgba(212, 169, 106, 0.5); 
}

/* ── Overrides for Catalog Card Image Ratio ── */
.catalog-card__image-wrap {
    height: 280px !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
}
.catalog-card__image-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* ── Overrides for WooCommerce Pricing format inside catalog-card ── */
.catalog-card__price ins {
    text-decoration: none !important;
    background: transparent !important;
    color: inherit;
}
.catalog-card__price del {
    opacity: 0.6;
    font-size: 0.85em;
    margin-right: 8px;
    font-weight: 400;
}
.catalog-card__price .amount {
    font-weight: inherit;
}

/* ── Fallback Animations ── */
.stagger-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}
.stagger-in.is-visible,
.stagger-in.is-active,
.active > .stagger-in {
    opacity: 1;
    transform: translateY(0);
}

/* ── Hero Animation ── */
.hero-fade-in {
    animation: heroFadeIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0;
}
@keyframes heroFadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ── CTA Texture Overlay ── */
.bloom-cta {
    position: relative;
    z-index: 10;
    overflow: hidden;
}

.bloom-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('assets/images/testimonial-texture.webp');
    background-size: 100% auto;
    background-repeat: repeat;
    background-position: top center;
    mix-blend-mode: soft-light;
    opacity: 0.08; /* Exactly matching testimonial opacity */
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
    pointer-events: none;
    z-index: 0;
}

.bloom-cta__content {
    position: relative;
    z-index: 2;
}

@media (max-width: 900px) {
    .bloom-cta::before {
        background-size: cover;
    }
}

/* ── Shop Hero Texture Overlay ── */
.shop-hero {
    position: relative; /* Fixed missing relative position */
    overflow: hidden;
    border-radius: 20px;
}

.shop-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('assets/images/testimonial-texture.webp');
    background-size: 100% auto;
    background-repeat: repeat;
    background-position: top center;
    mix-blend-mode: soft-light;
    opacity: 0.08; /* Exactly matching testimonial opacity */
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, black 15%, black 85%, transparent 100%);
    pointer-events: none;
    z-index: 0;
}

@media (max-width: 900px) {
    .shop-hero::before {
        background-size: cover;
    }
}

/* ── WooCommerce Global Layout Fixes ── */
body.single-product main,
body.woocommerce-cart main,
body.woocommerce-checkout main {
    padding-top: clamp(140px, 12vw, 180px); /* Offset for fixed header */
    padding-bottom: 80px;
}

body.woocommerce-checkout .woocommerce {
    margin-bottom: 120px; /* Extra space to prevent footer overlap on checkout */
}

/* ── WooCommerce Single Product Styling ── */
.woocommerce div.product .product_title {
    font-family: var(--font-heading);
    color: var(--branch-brown);
    font-size: clamp(2rem, 4vw, 3rem);
    margin-bottom: 1rem;
    font-weight: normal;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
    color: var(--bark) !important;
    font-family: var(--font-body);
    font-size: 1.5rem;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--bark);
    font-family: var(--font-body);
    line-height: 1.6;
    margin-bottom: 2rem;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid rgba(212, 169, 106, 0.2) !important;
}

/* ── Shop Page Alignment (Archive) ── */
.woocommerce-products-header {
    text-align: center;
    margin-bottom: 3rem;
}

.woocommerce-products-header__title.page-title {
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 5vw, 4rem);
    color: var(--branch-brown);
    font-weight: normal;
    margin-bottom: 1rem;
}

.term-description {
    font-family: var(--font-body);
    color: var(--bark);
    font-size: 1.1rem;
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}

.woocommerce-result-count {
    text-align: center;
    float: none !important;
    font-family: var(--font-body);
    color: var(--bark);
    font-size: 0.95rem;
    margin-bottom: 1rem !important;
}

.woocommerce-ordering {
    float: none !important;
    display: flex;
    justify-content: center;
    margin-bottom: 3rem !important;
}

.woocommerce-ordering select {
    padding: 10px 40px 10px 20px;
    border: 1px solid rgba(212, 169, 106, 0.3);
    border-radius: 99px;
    font-family: var(--font-body);
    font-size: 0.9rem;
    color: var(--bark);
    background-color: transparent;
    appearance: none;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23D4A96A%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem top 50%;
    background-size: 0.65rem auto;
    cursor: pointer;
}

/* Make category bar smaller/elegant if it's the product categories list */
.woocommerce-widget-layered-nav-list,
.product-categories {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 3rem;
}

.product-categories li {
    font-family: var(--font-body);
    font-size: 0.95rem;
}

.product-categories li a {
    color: var(--bark);
    text-decoration: none;
    padding: 6px 16px;
    border: 1px solid rgba(212, 169, 106, 0.2);
    border-radius: 99px;
    transition: all 0.3s ease;
}

.product-categories li.current-cat a,
.product-categories li a:hover {
    background: var(--deep-rose);
    color: white;
    border-color: var(--deep-rose);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 1rem 0 0 !important;
    padding: 0 0 0.5rem 0 !important;
    position: relative;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: var(--font-heading) !important;
    color: var(--bark) !important;
    font-size: 1.2rem !important;
    opacity: 0.6;
    transition: all 0.3s ease;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--deep-rose-dark) !important;
    opacity: 1;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--deep-rose-dark);
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-family: var(--font-heading);
    color: var(--branch-brown);
    font-size: 1.8rem;
    margin-bottom: 1rem;
}

/* Variation Select Dropdowns (Fallback styling) */
.woocommerce div.product form.cart .variations th {
    text-align: left;
    padding-bottom: 0.5rem;
    color: var(--branch-brown);
    font-family: var(--font-body);
    font-weight: normal;
}

.woocommerce div.product form.cart .variations td {
    padding-bottom: 1rem;
}

.woocommerce div.product form.cart .variations select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid rgba(212, 169, 106, 0.3);
    border-radius: 8px;
    background-color: transparent;
    color: var(--bark);
    font-family: var(--font-body);
    appearance: none;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23D4A96A%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem top 50%;
    background-size: 0.65rem auto;
}

/* Quantity and Add to Cart */
.woocommerce div.product form.cart div.quantity {
    margin-right: 1rem;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .product_type_variable {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.9rem 2.2rem !important;
    font-family: var(--font-body) !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    border-radius: 2px !important;
    cursor: pointer !important;
    border: 1.5px solid var(--branch-brown) !important;
    background: var(--branch-brown) !important;
    color: var(--blossom-white) !important;
    transition: all 0.35s ease !important;
    text-decoration: none !important;
    width: auto !important;
    line-height: 1 !important;
    text-align: center !important;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover,
.woocommerce ul.products li.product .product_type_variable:hover {
    background: var(--bark) !important;
    border-color: var(--bark) !important;
    color: var(--stamen-gold-light) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(107, 74, 58, 0.4) !important;
}

/* Related Products Grid */
.woocommerce .related.products h2 {
    font-family: var(--font-heading);
    color: var(--branch-brown);
    font-size: clamp(2rem, 3vw, 2.5rem);
    text-align: center;
    margin-bottom: 3rem;
    font-weight: normal;
}

.woocommerce .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
    gap: 3rem 2rem !important;
    margin: 0 !important;
}

.woocommerce .related.products ul.products::before,
.woocommerce .related.products ul.products::after {
    display: none !important; /* Remove WooCommerce float clearing pseudo-elements */
}

.woocommerce .related.products ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
}

/* ── Sidebar Cart & Lottie FAB ── */
.cart-fab-container {
    position: fixed;
    bottom: 95px;
    right: 30px;
    width: 107px;
    height: 49px;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 999;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.cart-fab-container:hover {
    transform: translateY(-4px) scale(1.05);
}

#cart-lottie-container {
    width: 107px !important;
    height: 49px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cart-fab-icon {
    display: none; /* hidden since we use lottie */
}

.cart-badge {
    position: absolute;
    top: -5px;
    right: -2px;
    background: var(--deep-rose);
    color: #fff;
    font-size: 0.75rem;
    font-weight: 600;
    min-width: 22px;
    height: 22px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border: 2px solid white;
    font-family: var(--font-body);
}

@media (max-width: 768px) {
    body.woocommerce-shop,
    body.post-type-archive-product {
        padding-bottom: 7rem;
    }

    .cart-fab-container {
        bottom: 76px;
        right: 12px;
        width: 93px;
        height: 43px;
        transform-origin: bottom right;
    }
    #cart-lottie-container {
        width: 93px !important;
        height: 43px !important;
    }
}

/* Sidebar structure */
.sidebar-cart {
    position: fixed;
    top: 0;
    right: -480px;
    width: 480px;
    max-width: 100vw;
    height: 100vh;
    background: rgba(255, 251, 245, 0.95) !important;
    backdrop-filter: blur(24px) !important;
    -webkit-backdrop-filter: blur(24px) !important;
    z-index: 1000;
    box-shadow: -5px 0 30px rgba(0,0,0,0.1);
    transition: right 0.4s cubic-bezier(0.77, 0, 0.175, 1);
    display: flex;
    flex-direction: column;
}

@media (max-width: 768px) {
    .sidebar-cart {
        width: 100vw;
        right: -100vw;
    }
}

.sidebar-cart.is-open {
    right: 0;
}

.sidebar-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(43, 33, 24, 0.5);
    backdrop-filter: blur(4px);
    z-index: 999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
}

.sidebar-cart-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}

.sidebar-cart__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 2rem;
    border-bottom: 1px solid rgba(212, 169, 106, 0.2);
}

.sidebar-cart__header h3 {
    font-family: var(--font-heading);
    color: var(--branch-brown);
    font-size: 1.5rem;
    margin: 0;
    font-weight: normal;
}

.sidebar-cart__content {
    flex: 1;
    overflow-y: auto;
    padding: 2rem;
}

/* Mini Cart Styling Override - Elegant Block Layout */
.sidebar-cart-full-wrapper table.shop_table {
    display: block !important;
    border: none !important;
    background: transparent !important;
    margin: 0 !important;
    width: 100% !important;
}

.sidebar-cart-full-wrapper table.shop_table thead {
    display: none !important;
}

.sidebar-cart-full-wrapper table.shop_table tbody {
    display: block !important;
    width: 100% !important;
}

.sidebar-cart-full-wrapper table.shop_table tr.cart_item {
    display: flex !important;
    position: relative !important;
    padding: 1.2rem 0 !important;
    border-bottom: 1px solid rgba(107, 74, 58, 0.08) !important;
    margin: 0 !important;
    background: transparent !important;
    align-items: center !important;
}

.sidebar-cart-full-wrapper tr.cart_item td {
    display: block !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-remove {
    position: absolute !important;
    top: 1.2rem !important;
    right: 0 !important;
    width: auto !important;
    z-index: 10 !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-remove a.remove {
    color: var(--bark) !important;
    font-size: 1.4rem !important;
    font-weight: 300 !important;
    display: inline-block !important;
    text-align: center !important;
    transition: color 0.3s ease !important;
    line-height: 1 !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-remove a.remove:hover {
    color: var(--deep-rose) !important;
    background: transparent !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-thumbnail {
    width: 70px !important;
    min-width: 70px !important;
    margin-right: 1.2rem !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-thumbnail img {
    width: 100% !important;
    height: auto !important;
    border-radius: 2px !important;
    border: 1.5px solid rgba(107, 74, 58, 0.1) !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-name {
    flex: 1 !important;
    font-family: var(--font-heading) !important;
    font-size: 1.15rem !important;
    color: var(--branch-brown) !important;
    line-height: 1.4 !important;
    padding-right: 1.8rem !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-name a {
    color: var(--branch-brown) !important;
    text-decoration: none !important;
    font-weight: normal !important;
    transition: color 0.3s ease !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-name a:hover {
    color: var(--deep-rose) !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-price,
.sidebar-cart-full-wrapper tr.cart_item td.product-subtotal {
    display: none !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-quantity {
    display: block !important;
    margin-top: 0.6rem !important;
}

.sidebar-cart-full-wrapper .quantity {
    display: inline-flex !important;
    border: 1.5px solid rgba(107, 74, 58, 0.15) !important;
    border-radius: 2px !important;
    background: white !important;
    overflow: hidden !important;
}

.sidebar-cart-full-wrapper .quantity input.qty {
    width: 40px !important;
    height: 28px !important;
    border: none !important;
    text-align: center !important;
    font-family: var(--font-body) !important;
    font-size: 0.85rem !important;
    color: var(--branch-brown) !important;
    background: transparent !important;
    padding: 0 !important;
}

.sidebar-cart-full-wrapper td.actions {
    display: block !important;
    padding: 1rem 0 !important;
    border: none !important;
}

.sidebar-cart-full-wrapper td.actions .coupon {
    display: none !important;
}

.sidebar-cart-full-wrapper td.actions button[name="update_cart"] {
    display: none !important;
}

.sidebar-cart-full-wrapper .cart-collaterals {
    display: block !important;
    width: 100% !important;
    margin-top: 1.5rem !important;
    padding-top: 1.2rem !important;
    border-top: 2px solid rgba(107, 74, 58, 0.08) !important;
}

.sidebar-cart-full-wrapper .cart-collaterals h2 {
    display: none !important;
}

.sidebar-cart-full-wrapper .cart_totals {
    float: none !important;
    width: 100% !important;
    display: block !important;
}

.sidebar-cart-full-wrapper .cart_totals table {
    display: block !important;
    width: 100% !important;
    margin-bottom: 1.2rem !important;
}

.sidebar-cart-full-wrapper .cart_totals tbody {
    display: block !important;
    width: 100% !important;
}

.sidebar-cart-full-wrapper .cart_totals tr {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 0.6rem !important;
}

.sidebar-cart-full-wrapper .cart_totals th {
    display: block !important;
    font-family: var(--font-body) !important;
    color: var(--bark) !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.15em !important;
    border: none !important;
    padding: 0 !important;
}

.sidebar-cart-full-wrapper .cart_totals td {
    display: block !important;
    font-family: var(--font-body) !important;
    color: var(--branch-brown) !important;
    font-weight: 600 !important;
    font-size: 1.05rem !important;
    text-align: right !important;
    border: none !important;
    padding: 0 !important;
}

.sidebar-cart-full-wrapper .cart_totals tr.order-total td {
    font-size: 1.2rem !important;
    color: var(--deep-rose) !important;
}

.sidebar-cart-full-wrapper .shipping-calculator-button,
.sidebar-cart-full-wrapper .woocommerce-shipping-destination,
.sidebar-cart-full-wrapper .shipping-calculator-form {
    display: none !important;
}

.sidebar-cart-full-wrapper .wc-proceed-to-checkout {
    margin-top: 1.5rem !important;
    padding: 0 !important;
}

.sidebar-cart-full-wrapper .wc-proceed-to-checkout a.checkout-button {
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    background: var(--branch-brown) !important;
    color: var(--blossom-white) !important;
    border: 1.5px solid var(--branch-brown) !important;
    padding: 0.9rem 2rem !important;
    font-family: var(--font-body) !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    border-radius: 2px !important;
    transition: all 0.35s ease !important;
    text-decoration: none !important;
}

.sidebar-cart-full-wrapper .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--bark) !important;
    border-color: var(--bark) !important;
    color: var(--stamen-gold-light) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(107, 74, 58, 0.4) !important;
}

.widget_shopping_cart_content ul.cart_list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.widget_shopping_cart_content ul.cart_list li {
    display: flex !important;
    align-items: center;
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid rgba(212, 169, 106, 0.1);
    position: relative;
    padding-left: 2rem !important; /* Space for absolute remove icon */
}

.widget_shopping_cart_content ul.cart_list li img {
    width: 60px !important;
    height: 60px !important;
    object-fit: cover !important;
    border-radius: 8px;
    margin-right: 1rem !important;
    margin-left: 0 !important;
    float: none !important;
}

.widget_shopping_cart_content ul.cart_list li a:not(.remove) {
    font-family: var(--font-heading);
    color: var(--bark);
    font-size: 1.1rem;
    text-decoration: none;
    display: block;
    margin-bottom: 0.25rem;
}

.widget_shopping_cart_content ul.cart_list li a.remove {
    color: var(--deep-rose) !important;
    font-size: 1.5rem !important;
    font-weight: normal !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    text-decoration: none !important;
}

.widget_shopping_cart_content ul.cart_list li .quantity {
    font-family: var(--font-body);
    color: var(--bark);
    font-size: 0.9rem;
}

.widget_shopping_cart_content .total {
    border-top: none !important;
    padding: 1.5rem 0 !important;
    font-family: var(--font-heading);
    font-size: 1.25rem;
    color: var(--branch-brown);
    display: flex;
    justify-content: space-between;
}

.widget_shopping_cart_content .buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.widget_shopping_cart_content .buttons a {
    text-align: center;
    padding: 12px 24px !important;
    border-radius: 99px !important;
    font-family: var(--font-heading) !important;
    font-size: 1rem !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    transition: all 0.3s ease;
    display: block;
}

.widget_shopping_cart_content .buttons a.button:not(.checkout) {
    background: transparent !important;
    color: var(--bark) !important;
    border: 1px solid var(--bark) !important;
}

.widget_shopping_cart_content .buttons a.checkout {
    background: var(--deep-rose) !important;
    color: white !important;
    border: none !important;
}

.widget_shopping_cart_content .buttons a.checkout:hover {
    background: var(--deep-rose-dark) !important;
    transform: translateY(-2px);
}

/* ── WooCommerce Cart & Checkout Styling ── */
.woocommerce-cart table.cart,
.woocommerce-checkout #order_review table.shop_table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 2rem;
    border: none;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

.woocommerce-cart table.cart th,
.woocommerce-checkout #order_review table.shop_table th {
    background: var(--cream);
    color: var(--branch-brown);
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: normal;
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid rgba(212, 169, 106, 0.2);
}

.woocommerce-cart table.cart td,
.woocommerce-checkout #order_review table.shop_table td {
    background: white;
    padding: 1.5rem 1rem;
    border-bottom: 1px solid rgba(212, 169, 106, 0.1);
    color: var(--bark);
    font-family: var(--font-body);
}

.woocommerce-cart table.cart td.product-remove a.remove {
    color: var(--deep-rose) !important;
    font-size: 1.5rem !important;
}

.woocommerce-cart table.cart td.product-thumbnail img {
    border-radius: 8px;
    width: 80px;
}

.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 {
    font-family: var(--font-heading);
    color: var(--branch-brown);
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    font-weight: normal;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    border: none;
    width: 100%;
}

.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td {
    padding: 1rem 1.5rem;
    border-top: 1px solid rgba(212, 169, 106, 0.1);
    color: var(--bark);
    font-family: var(--font-body);
}

/* Checkout Form Fields */
.woocommerce form .form-row label {
    font-family: var(--font-heading);
    color: var(--branch-brown);
    margin-bottom: 0.5rem;
    display: block;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid rgba(212, 169, 106, 0.3);
    border-radius: 8px;
    background-color: white;
    color: var(--bark);
    font-family: var(--font-body);
    transition: border-color 0.3s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: var(--deep-rose);
    outline: none;
}

/* Checkout Place Order Button */
#payment .place-order .button {
    font-family: var(--font-heading) !important;
    background: var(--deep-rose) !important;
    color: white !important;
    border: none !important;
    border-radius: 99px !important;
    padding: 16px 32px !important;
    font-size: 1.2rem !important;
    transition: all 0.3s ease !important;
    font-weight: normal !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    width: 100%;
    margin-top: 1rem;
}

#payment .place-order .button:hover {
    background: var(--deep-rose-dark) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(181, 126, 140, 0.3);
}

/* Payment box */
#payment {
    background: white !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}

#payment ul.payment_methods {
    border-bottom: 1px solid rgba(212, 169, 106, 0.2) !important;
    padding: 1.5rem !important;
}

#payment div.payment_box {
    background: var(--cream) !important;
    color: var(--bark) !important;
    font-family: var(--font-body);
}

#payment div.payment_box::before {
    border-bottom-color: var(--cream) !important;
}

/* ── Shop Aesthetic Refresh: branded, commerce-first ── */
body.woocommerce-shop .shop-page-main,
body.post-type-archive-product .shop-page-main {
    padding-top: clamp(118px, 9vw, 148px) !important;
}

.shop-page-shell {
    position: relative;
}

.shop-hero--commerce {
    isolation: isolate;
    display: grid;
    place-items: center;
    min-height: clamp(310px, 34vw, 430px);
    padding: clamp(3.8rem, 7vw, 6rem) clamp(1.25rem, 5vw, 4rem) !important;
    border-radius: 18px;
    border: 1px solid rgba(212, 169, 106, 0.2);
    background: #fbf4ed;
    box-shadow: 0 22px 70px rgba(107, 74, 58, 0.09);
}

.shop-hero--commerce::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image:
        linear-gradient(90deg, rgba(250, 246, 240, 0.64), rgba(255, 248, 249, 0.62)),
        url('assets/images/generated/shop-hero-floral-v1.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    mix-blend-mode: normal;
    opacity: 1;
    -webkit-mask-image: none;
    mask-image: none;
}

.shop-hero--commerce::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 48%, rgba(255, 248, 249, 0.82) 0%, rgba(255, 248, 249, 0.54) 32%, rgba(255, 248, 249, 0.16) 68%),
        linear-gradient(to bottom, rgba(255,255,255,0.18), rgba(250,246,240,0.46));
}

.shop-hero__content {
    position: relative;
    z-index: 2;
    max-width: 780px;
    margin: 0 auto;
}

.shop-hero--commerce .section-label {
    display: block;
    color: var(--stamen-gold-dark);
    letter-spacing: 0.28em;
    margin-bottom: 1rem;
}

.shop-hero--commerce .section-title {
    font-size: clamp(2.45rem, 5vw, 4.35rem);
    line-height: 1.03;
    text-shadow: 0 2px 22px rgba(255, 248, 249, 0.8);
}

.shop-hero--commerce p {
    color: var(--branch-brown) !important;
    text-shadow: 0 1px 18px rgba(255, 248, 249, 0.95);
}

.shop-collection-panel {
    scrollbar-gutter: stable;
}

.shop-products-flow {
    padding-top: 0.35rem;
}

.shop-products-flow .scroll-spy-section {
    position: relative;
}

.shop-products-flow .scroll-spy-section + .scroll-spy-section {
    padding-top: clamp(3.75rem, 7vw, 6.5rem);
}

.shop-category-header {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-bottom: clamp(2.25rem, 4vw, 3.25rem) !important;
    padding-bottom: 1.1rem !important;
    border-bottom-color: rgba(212, 169, 106, 0.34) !important;
}

.shop-category-header::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -1px;
    width: clamp(88px, 12vw, 150px);
    height: 1px;
    background: linear-gradient(90deg, var(--stamen-gold), rgba(212, 169, 106, 0));
}

.shop-category-kicker {
    font-family: var(--font-body);
    font-size: 0.68rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--stamen-gold-dark);
}

.shop-category-title {
    line-height: 1.08;
}

body.woocommerce-shop .catalog-grid,
body.post-type-archive-product .catalog-grid {
    gap: clamp(2.4rem, 3.6vw, 3.6rem);
}

body.woocommerce-shop .catalog-card,
body.post-type-archive-product .catalog-card {
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.98), rgba(255, 248, 249, 0.94));
    border-color: rgba(212, 169, 106, 0.2);
    box-shadow: 0 18px 44px rgba(107, 74, 58, 0.055);
}

body.woocommerce-shop .catalog-card:hover,
body.post-type-archive-product .catalog-card:hover {
    box-shadow: 0 26px 58px rgba(107, 74, 58, 0.095);
}

body.woocommerce-shop .catalog-card__image-wrap,
body.post-type-archive-product .catalog-card__image-wrap {
    height: clamp(320px, 25vw, 372px) !important;
}

.catalog-card__footer .btn.button {
    min-height: 38px;
    padding: 0.68rem 1rem !important;
    border: 1px solid rgba(107, 74, 58, 0.72) !important;
    border-radius: 3px !important;
    background: linear-gradient(135deg, var(--branch-brown), #7a5544) !important;
    color: var(--blossom-white) !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.14em !important;
    box-shadow: 0 8px 20px rgba(107, 74, 58, 0.14) !important;
    white-space: nowrap;
}

.catalog-card__footer .btn.button::after {
    content: '\203A';
    margin-left: 0.45rem;
    color: var(--stamen-gold-light);
    font-size: 1rem;
    line-height: 0;
    transform: translateY(-1px);
}

.catalog-card__footer .btn.button:hover {
    background: linear-gradient(135deg, #7a5544, var(--branch-brown)) !important;
    color: var(--stamen-gold-light) !important;
    border-color: var(--stamen-gold) !important;
    box-shadow: 0 12px 30px rgba(107, 74, 58, 0.24) !important;
}

@media (max-width: 1023px) {
    body.woocommerce-shop .shop-page-main,
    body.post-type-archive-product .shop-page-main {
        padding-top: 106px !important;
    }

    .shop-page-shell {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .shop-hero--commerce {
        min-height: 350px;
        margin-bottom: 2rem !important;
        padding: 3rem 1.15rem !important;
        border-radius: 14px;
        background-position: center;
    }

    .shop-hero--commerce::before {
        background-position: center;
    }

    .shop-hero--commerce .section-title {
        font-size: clamp(2.25rem, 10vw, 3.45rem);
    }

    .shop-hero--commerce p {
        font-size: 1rem !important;
        line-height: 1.65 !important;
    }

    .shop-collection-sidebar {
        position: sticky;
        top: 68px;
        z-index: 90;
        margin: 0 -18px 2.25rem;
        padding: 0.8rem 18px 0.9rem;
        border-top: 1px solid rgba(212, 169, 106, 0.16);
        border-bottom: 1px solid rgba(212, 169, 106, 0.16);
        background: rgba(250, 246, 240, 0.9);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .shop-collection-panel {
        height: auto !important;
        padding-right: 0 !important;
        border-right: 0 !important;
        overflow: visible !important;
    }

    .shop-sidebar-title {
        font-size: 1.18rem;
        margin-bottom: 0.75rem;
        padding-bottom: 0;
        border-bottom: 0;
    }

    .sidebar-nav {
        flex-direction: row;
        gap: 0.6rem;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        padding-bottom: 0.1rem;
        scrollbar-width: none;
    }

    .sidebar-nav::-webkit-scrollbar {
        display: none;
    }

    .sidebar-link {
        flex: 0 0 auto;
        scroll-snap-align: start;
        min-height: 42px;
        padding: 0.7rem 0.95rem !important;
        border-radius: 999px !important;
        border: 1px solid rgba(212, 169, 106, 0.22) !important;
        background: rgba(255, 248, 249, 0.64) !important;
        font-family: var(--font-body) !important;
        font-size: 0.78rem !important;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        gap: 0.55rem;
        transform: none !important;
    }

    .sidebar-link.active,
    .sidebar-link.current-cat {
        background: var(--sakura-muted) !important;
        color: var(--branch-brown) !important;
    }

    .sidebar-link .count {
        font-size: 0.68rem;
        opacity: 0.7;
    }

    .shop-category-header {
        margin-bottom: 1.6rem !important;
    }
}

@media (max-width: 768px) {
    body.woocommerce-shop,
    body.post-type-archive-product {
        padding-bottom: 5.75rem;
    }

    body.woocommerce-shop .fab-container,
    body.post-type-archive-product .fab-container {
        right: 10px;
        bottom: 10px;
        transform: scale(0.92);
        transform-origin: bottom right;
    }

    body.woocommerce-shop .fab-toggle,
    body.post-type-archive-product .fab-toggle {
        width: 44px;
        height: 44px;
        padding: 0;
        border-radius: 50%;
        box-shadow: 0 8px 20px rgba(184, 149, 158, 0.28);
    }

    body.woocommerce-shop .fab-toggle-text,
    body.post-type-archive-product .fab-toggle-text {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }

    body.woocommerce-shop .cart-fab-container,
    body.post-type-archive-product .cart-fab-container {
        right: 8px;
        bottom: 62px;
        width: 72px;
        height: 34px;
        transform-origin: bottom right;
        opacity: 0.92;
    }

    body.woocommerce-shop #cart-lottie-container,
    body.post-type-archive-product #cart-lottie-container {
        width: 72px !important;
        height: 34px !important;
    }
}

@media (max-width: 640px) {
    .catalog-card__footer {
        gap: 0.85rem;
    }

    .catalog-card__price {
        font-size: 1.25rem;
    }

    .catalog-card__footer .btn.button {
        min-height: 44px;
        min-width: 138px;
        padding: 0.78rem 0.9rem !important;
        font-size: 0.64rem !important;
        letter-spacing: 0.13em !important;
    }
}

/* Product page refresh */
body.single-product .woocommerce {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 clamp(1.15rem, 4vw, 3rem);
}

body.single-product main {
    padding-top: clamp(118px, 10vw, 150px);
    padding-bottom: clamp(5rem, 9vw, 7.5rem);
}

body.single-product .woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(380px, 0.9fr);
    gap: clamp(2rem, 5vw, 4.75rem);
    align-items: start;
}

body.single-product .woocommerce div.product::before,
body.single-product .woocommerce div.product::after {
    display: none !important;
}

body.single-product .woocommerce-notices-wrapper,
body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .woocommerce div.product .related.products {
    grid-column: 1 / -1;
}

body.single-product .woocommerce .woocommerce-breadcrumb {
    max-width: 1320px;
    margin: 0 auto clamp(1rem, 2vw, 1.45rem);
    padding: 0 clamp(1.15rem, 4vw, 3rem);
    color: rgba(107, 74, 58, 0.64);
    font-family: var(--font-body);
    font-size: 0.86rem;
}

body.single-product .woocommerce .woocommerce-breadcrumb a {
    color: var(--bark);
    transition: color 0.25s ease;
}

body.single-product .woocommerce .woocommerce-breadcrumb a:hover {
    color: var(--branch-brown);
}

body.single-product .woocommerce div.product div.images,
body.single-product .woocommerce div.product div.summary {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

body.single-product .woocommerce div.product div.images {
    position: sticky;
    top: 118px;
    padding: clamp(0.75rem, 1.5vw, 1.15rem);
    border: 1px solid rgba(212, 169, 106, 0.22);
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.84), rgba(255, 248, 249, 0.66));
    box-shadow: 0 24px 70px rgba(107, 74, 58, 0.075);
}

body.single-product .woocommerce-product-gallery__wrapper {
    border-radius: 5px;
    overflow: hidden;
    background: rgba(255, 251, 246, 0.72);
}

body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image {
    position: relative;
    background: rgba(250, 246, 240, 0.72);
}

body.single-product .woocommerce div.product div.images img {
    background: rgba(255, 251, 246, 0.72);
}

body.single-product .woocommerce div.product div.images .flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.72rem;
    margin: 0.85rem 0 0 !important;
    padding: 0 !important;
}

body.single-product .woocommerce div.product div.images .flex-control-thumbs li {
    position: relative;
    float: none !important;
    width: 100% !important;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid rgba(212, 169, 106, 0.18);
    border-radius: 5px;
    background: rgba(255, 251, 246, 0.72);
    box-shadow: 0 10px 24px rgba(107, 74, 58, 0.055);
    cursor: pointer;
}

body.single-product .woocommerce div.product div.images .flex-control-thumbs img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    opacity: 0.74;
    transition: opacity 0.25s ease, transform 0.35s ease;
}

body.single-product .woocommerce div.product div.images .flex-control-thumbs img.flex-active,
body.single-product .woocommerce div.product div.images .flex-control-thumbs li.toe-gallery-label-selected img,
body.single-product .woocommerce div.product div.images .flex-control-thumbs li:hover img {
    opacity: 1;
}

body.single-product .woocommerce div.product div.images .flex-control-thumbs li:hover img {
    transform: scale(1.035);
}

body.single-product .woocommerce div.product div.images .flex-control-thumbs li.toe-gallery-label-selected {
    border-color: rgba(212, 169, 106, 0.8);
    box-shadow: 0 0 0 2px rgba(212, 169, 106, 0.18), 0 14px 30px rgba(107, 74, 58, 0.1);
}

body.single-product .toe-gallery-label {
    position: absolute;
    left: 0.55rem;
    bottom: 0.55rem;
    z-index: 3;
    max-width: calc(100% - 1.1rem);
    padding: 0.34rem 0.52rem 0.3rem;
    border: 1px solid rgba(255, 248, 249, 0.5);
    border-radius: 999px;
    background: rgba(107, 74, 58, 0.78);
    color: var(--blossom-white);
    font-family: var(--font-body);
    font-size: 0.64rem;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

body.single-product .woocommerce-product-gallery__image > .toe-gallery-label {
    left: 0.9rem;
    bottom: 0.9rem;
    padding: 0.42rem 0.68rem 0.36rem;
    font-size: 0.72rem;
    background: rgba(107, 74, 58, 0.72);
}

body.single-product .summary.entry-summary {
    padding-top: clamp(0.4rem, 1vw, 0.9rem);
}

body.single-product .woocommerce div.product .product_title {
    max-width: 11ch;
    margin-bottom: 0.72rem;
    font-size: clamp(2.8rem, 5.4vw, 4.55rem);
    line-height: 0.94;
    color: var(--branch-brown);
}

body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price {
    margin: 0 0 0.7rem;
    color: var(--bark) !important;
    font-size: clamp(1.28rem, 2.1vw, 1.55rem);
    line-height: 1.2;
}

body.single-product .woocommerce div.product .woocommerce-product-details__short-description {
    max-width: 48ch;
    margin-bottom: clamp(1.55rem, 3vw, 2.15rem);
    color: rgba(107, 74, 58, 0.82);
    font-size: 1.03rem;
    line-height: 1.7;
}

body.single-product .woocommerce div.product form.cart {
    margin: 0;
}

body.single-product .woocommerce div.product form.cart table.variations {
    display: block;
    width: 100%;
    margin: 0 0 1rem !important;
    padding: 0.25rem clamp(0.95rem, 2vw, 1.25rem);
    border: 1px solid rgba(212, 169, 106, 0.2);
    border-radius: 7px;
    border-spacing: 0 !important;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.66), rgba(255, 248, 249, 0.52));
    box-shadow: 0 18px 48px rgba(107, 74, 58, 0.045);
}

body.single-product .woocommerce div.product form.cart table.variations tbody,
body.single-product .woocommerce div.product form.cart table.variations tr,
body.single-product .woocommerce div.product form.cart table.variations th,
body.single-product .woocommerce div.product form.cart table.variations td {
    display: block;
    width: 100%;
    background: transparent !important;
    border: 0 !important;
}

body.single-product .woocommerce div.product form.cart table.variations tr {
    display: grid;
    grid-template-columns: minmax(88px, 0.28fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 0;
    border-bottom: 1px solid rgba(212, 169, 106, 0.14) !important;
}

body.single-product .woocommerce div.product form.cart table.variations tr:last-child {
    border-bottom: 0 !important;
}

body.single-product .woocommerce div.product form.cart .variations th.label {
    padding: 0 !important;
    text-align: left;
}

body.single-product .woocommerce div.product form.cart .variations th.label label {
    color: var(--stamen-gold-dark);
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.17em;
    line-height: 1.25;
    text-transform: uppercase;
}

body.single-product .woocommerce div.product form.cart .variations td.value {
    padding: 0 !important;
}

body.single-product .woocommerce div.product form.cart .variations select {
    min-height: 52px;
    padding: 0.82rem 2.7rem 0.82rem 1rem;
    border: 1px solid rgba(212, 169, 106, 0.28);
    border-radius: 5px;
    background-color: rgba(255, 248, 249, 0.62);
    color: var(--branch-brown);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34);
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

body.single-product .woocommerce div.product form.cart .variations select:hover,
body.single-product .woocommerce div.product form.cart .variations select:focus {
    border-color: rgba(212, 169, 106, 0.72);
    background-color: rgba(255, 251, 246, 0.9);
    box-shadow: 0 0 0 3px rgba(212, 169, 106, 0.12);
    outline: none;
}

body.single-product .woocommerce div.product form.cart .reset_variations {
    display: inline-flex !important;
    margin-top: 0.55rem;
    color: rgba(107, 74, 58, 0.58);
    font-family: var(--font-body);
    font-size: 0.78rem;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

body.single-product .woocommerce div.product .single_variation_wrap {
    margin-top: 1rem;
}

body.single-product .woocommerce div.product .woocommerce-variation {
    margin-bottom: 1rem;
    color: var(--bark);
}

body.single-product .woocommerce div.product .woocommerce-variation-price .price {
    color: var(--branch-brown) !important;
    font-size: 1.42rem;
}

body.single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    align-items: center;
}

body.single-product .woocommerce div.product form.cart div.quantity {
    margin: 0;
}

body.single-product .woocommerce div.product form.cart div.quantity .qty {
    width: 64px;
    min-height: 46px;
    border: 1px solid rgba(107, 74, 58, 0.3);
    border-radius: 4px;
    background: rgba(255, 251, 246, 0.78);
    color: var(--branch-brown);
    font-family: var(--font-body);
}

body.single-product .woocommerce div.product form.cart .button.single_add_to_cart_button {
    min-height: 46px;
    padding: 0.9rem 2.3rem !important;
    border-radius: 4px !important;
    background: linear-gradient(135deg, var(--branch-brown), #7a5544) !important;
    box-shadow: 0 12px 28px rgba(107, 74, 58, 0.18) !important;
}

body.single-product .woocommerce div.product form.cart .button.single_add_to_cart_button.disabled,
body.single-product .woocommerce div.product form.cart .button.single_add_to_cart_button:disabled {
    opacity: 0.48 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

body.single-product .woocommerce div.product .product_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1rem;
    margin-top: 1.8rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(212, 169, 106, 0.2);
    color: rgba(107, 74, 58, 0.68);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.55;
}

body.single-product .woocommerce div.product .product_meta a {
    color: var(--branch-brown);
}

body.single-product .woocommerce div.product .woocommerce-tabs {
    margin-top: clamp(3.5rem, 7vw, 5.5rem);
    padding-top: clamp(1.4rem, 3vw, 2rem);
    border-top: 1px solid rgba(212, 169, 106, 0.24);
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem 1.5rem;
    margin: 0 0 1.45rem !important;
    padding: 0 !important;
}

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

body.single-product .woocommerce div.product .woocommerce-tabs .panel {
    max-width: 880px;
    color: rgba(107, 74, 58, 0.82);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.72;
}

body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes {
    border: 1px solid rgba(212, 169, 106, 0.18);
    border-radius: 6px;
    overflow: hidden;
    background: rgba(255, 251, 246, 0.48);
}

body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes th,
body.single-product .woocommerce div.product .woocommerce-tabs table.shop_attributes td {
    border-color: rgba(212, 169, 106, 0.16);
    color: var(--bark);
    font-family: var(--font-body);
}

body.single-product .woocommerce .related.products {
    margin-top: clamp(4rem, 8vw, 6rem);
}

@media (max-width: 1024px) {
    body.single-product .woocommerce div.product {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    body.single-product .woocommerce div.product div.images {
        position: relative;
        top: auto;
    }

    body.single-product .woocommerce div.product .product_title {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    body.single-product {
        padding-bottom: 5.75rem;
    }

    body.single-product main {
        padding-top: 102px;
    }

    body.single-product .woocommerce {
        padding: 0 18px;
    }

    body.single-product .woocommerce .woocommerce-breadcrumb {
        padding: 0 18px;
        font-size: 0.78rem;
    }

    body.single-product .woocommerce div.product div.images {
        padding: 0.62rem;
        border-radius: 6px;
    }

    body.single-product .woocommerce div.product div.images .flex-control-thumbs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.55rem;
    }

    body.single-product .woocommerce-product-gallery__image > .toe-gallery-label {
        left: 0.65rem;
        bottom: 0.65rem;
        font-size: 0.64rem;
    }

    body.single-product .woocommerce div.product .product_title {
        font-size: clamp(2.45rem, 12vw, 3.4rem);
    }

    body.single-product .woocommerce div.product form.cart table.variations {
        padding: 0.2rem 0.9rem;
    }

    body.single-product .woocommerce div.product form.cart table.variations tr {
        grid-template-columns: 1fr;
        gap: 0.55rem;
        padding: 0.9rem 0;
    }

    body.single-product .woocommerce div.product form.cart .variations select {
        min-height: 50px;
    }

    body.single-product .woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
        align-items: stretch;
    }

    body.single-product .woocommerce div.product form.cart .button.single_add_to_cart_button {
        flex: 1 1 190px;
        min-height: 50px;
    }

    body.single-product .cart-fab-container {
        right: 8px;
        bottom: 62px;
        width: 72px;
        height: 34px;
        transform-origin: bottom right;
        opacity: 0.92;
    }

    body.single-product #cart-lottie-container {
        width: 72px !important;
        height: 34px !important;
    }

    body.single-product .fab-container {
        right: 10px;
        bottom: 10px;
        transform: scale(0.92);
        transform-origin: bottom right;
    }

    body.single-product .fab-toggle {
        width: 44px;
        height: 44px;
        padding: 0;
        border-radius: 50%;
    }

    body.single-product .fab-toggle-text {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }
}

@media (max-width: 520px) {
    body.single-product .woocommerce div.product div.images .flex-control-thumbs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.single-product .toe-gallery-label {
        left: 0.42rem;
        bottom: 0.42rem;
        max-width: calc(100% - 0.84rem);
        padding: 0.3rem 0.42rem 0.25rem;
        font-size: 0.58rem;
        letter-spacing: 0.06em;
    }

    body.single-product .woocommerce div.product form.cart div.quantity .qty {
        width: 58px;
    }
}

/* Product page template selector bridge */
body.single-product.woocommerce #main.site-main {
    max-width: 1320px;
    margin: 0 auto;
    padding-left: clamp(1.15rem, 4vw, 3rem);
    padding-right: clamp(1.15rem, 4vw, 3rem);
}

body.single-product.woocommerce .woocommerce-breadcrumb {
    margin: 0 0 clamp(1rem, 2vw, 1.45rem);
    color: rgba(107, 74, 58, 0.64);
    font-family: var(--font-body);
    font-size: 0.86rem;
}

body.single-product.woocommerce .woocommerce-breadcrumb a {
    color: var(--bark);
    transition: color 0.25s ease;
}

body.single-product.woocommerce .woocommerce-breadcrumb a:hover {
    color: var(--branch-brown);
}

body.single-product.woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(380px, 0.9fr);
    gap: clamp(2rem, 5vw, 4.75rem);
    align-items: start;
    width: 100%;
    min-width: 0;
}

body.single-product.woocommerce div.product > * {
    min-width: 0;
}

body.single-product.woocommerce div.product::before,
body.single-product.woocommerce div.product::after {
    display: none !important;
}

body.single-product.woocommerce .woocommerce-notices-wrapper,
body.single-product.woocommerce div.product .woocommerce-tabs,
body.single-product.woocommerce div.product .related.products {
    grid-column: 1 / -1;
}

body.single-product.woocommerce div.product div.images,
body.single-product.woocommerce div.product div.summary {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.single-product.woocommerce div.product div.images {
    position: sticky;
    top: 118px;
    padding: clamp(0.75rem, 1.5vw, 1.15rem);
    border: 1px solid rgba(212, 169, 106, 0.22);
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.84), rgba(255, 248, 249, 0.66));
    box-shadow: 0 24px 70px rgba(107, 74, 58, 0.075);
}

body.single-product.woocommerce .woocommerce-product-gallery__wrapper {
    min-width: 0;
    border-radius: 5px;
    overflow: hidden;
    background: rgba(255, 251, 246, 0.72);
}

body.single-product.woocommerce div.product div.images .woocommerce-product-gallery__image {
    position: relative;
    background: rgba(250, 246, 240, 0.72);
}

body.single-product.woocommerce div.product div.images img {
    max-width: 100%;
    height: auto;
    background: rgba(255, 251, 246, 0.72);
}

body.single-product.woocommerce div.product div.images .flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.72rem;
    margin: 0.85rem 0 0 !important;
    padding: 0 !important;
}

body.single-product.woocommerce div.product div.images .flex-control-thumbs li {
    position: relative;
    float: none !important;
    width: 100% !important;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid rgba(212, 169, 106, 0.18);
    border-radius: 5px;
    background: rgba(255, 251, 246, 0.72);
    box-shadow: 0 10px 24px rgba(107, 74, 58, 0.055);
    cursor: pointer;
}

body.single-product.woocommerce div.product div.images .flex-control-thumbs img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    opacity: 0.74;
    transition: opacity 0.25s ease, transform 0.35s ease;
}

body.single-product.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
body.single-product.woocommerce div.product div.images .flex-control-thumbs li.toe-gallery-label-selected img,
body.single-product.woocommerce div.product div.images .flex-control-thumbs li:hover img {
    opacity: 1;
}

body.single-product.woocommerce div.product div.images .flex-control-thumbs li:hover img {
    transform: scale(1.035);
}

body.single-product.woocommerce div.product div.images .flex-control-thumbs li.toe-gallery-label-selected {
    border-color: rgba(212, 169, 106, 0.8);
    box-shadow: 0 0 0 2px rgba(212, 169, 106, 0.18), 0 14px 30px rgba(107, 74, 58, 0.1);
}

body.single-product.woocommerce .summary.entry-summary {
    padding-top: clamp(0.4rem, 1vw, 0.9rem);
}

body.single-product.woocommerce div.product .product_title {
    max-width: 11ch;
    margin-bottom: 0.72rem;
    font-size: clamp(2.8rem, 5.4vw, 4.55rem);
    line-height: 0.94;
    color: var(--branch-brown);
}

body.single-product.woocommerce div.product p.price,
body.single-product.woocommerce div.product span.price {
    margin: 0 0 0.7rem;
    color: var(--bark) !important;
    font-size: clamp(1.28rem, 2.1vw, 1.55rem);
    line-height: 1.2;
}

body.single-product.woocommerce div.product .woocommerce-product-details__short-description {
    max-width: 48ch;
    margin-bottom: clamp(1.55rem, 3vw, 2.15rem);
    color: rgba(107, 74, 58, 0.82);
    font-size: 1.03rem;
    line-height: 1.7;
}

body.single-product.woocommerce div.product form.cart {
    margin: 0;
}

body.single-product.woocommerce div.product form.cart table.variations {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 1rem !important;
    padding: 0.25rem clamp(0.95rem, 2vw, 1.25rem);
    border: 1px solid rgba(212, 169, 106, 0.2);
    border-radius: 7px;
    border-spacing: 0 !important;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.66), rgba(255, 248, 249, 0.52));
    box-shadow: 0 18px 48px rgba(107, 74, 58, 0.045);
}

body.single-product.woocommerce div.product form.cart table.variations tbody,
body.single-product.woocommerce div.product form.cart table.variations tr,
body.single-product.woocommerce div.product form.cart table.variations th,
body.single-product.woocommerce div.product form.cart table.variations td {
    display: block;
    width: 100%;
    background: transparent !important;
    border: 0 !important;
}

body.single-product.woocommerce div.product form.cart table.variations tr {
    display: grid;
    grid-template-columns: minmax(88px, 0.28fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 0.95rem 0;
    border-bottom: 1px solid rgba(212, 169, 106, 0.14) !important;
}

body.single-product.woocommerce div.product form.cart table.variations tr:last-child {
    border-bottom: 0 !important;
}

body.single-product.woocommerce div.product form.cart .variations th.label {
    padding: 0 !important;
    text-align: left;
}

body.single-product.woocommerce div.product form.cart .variations th.label label {
    color: var(--stamen-gold-dark);
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.17em;
    line-height: 1.25;
    text-transform: uppercase;
}

body.single-product.woocommerce div.product form.cart .variations td.value {
    padding: 0 !important;
}

body.single-product.woocommerce div.product form.cart .variations select {
    min-height: 52px;
    padding: 0.82rem 2.7rem 0.82rem 1rem;
    border: 1px solid rgba(212, 169, 106, 0.28);
    border-radius: 5px;
    background-color: rgba(255, 248, 249, 0.62);
    color: var(--branch-brown);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.34);
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

body.single-product.woocommerce div.product form.cart .variations select:hover,
body.single-product.woocommerce div.product form.cart .variations select:focus {
    border-color: rgba(212, 169, 106, 0.72);
    background-color: rgba(255, 251, 246, 0.9);
    box-shadow: 0 0 0 3px rgba(212, 169, 106, 0.12);
    outline: none;
}

body.single-product.woocommerce div.product form.cart .reset_variations {
    display: inline-flex !important;
    margin-top: 0.55rem;
    color: rgba(107, 74, 58, 0.58);
    font-family: var(--font-body);
    font-size: 0.78rem;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

body.single-product.woocommerce div.product .single_variation_wrap {
    margin-top: 1rem;
}

body.single-product.woocommerce div.product .woocommerce-variation {
    margin-bottom: 1rem;
    color: var(--bark);
}

body.single-product.woocommerce div.product .woocommerce-variation-price .price {
    color: var(--branch-brown) !important;
    font-size: 1.42rem;
}

body.single-product.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    align-items: center;
}

body.single-product.woocommerce div.product form.cart div.quantity {
    margin: 0;
}

body.single-product.woocommerce div.product form.cart div.quantity .qty {
    width: 64px;
    min-height: 46px;
    border: 1px solid rgba(107, 74, 58, 0.3);
    border-radius: 4px;
    background: rgba(255, 251, 246, 0.78);
    color: var(--branch-brown);
    font-family: var(--font-body);
}

body.single-product.woocommerce div.product form.cart .button.single_add_to_cart_button {
    min-height: 46px;
    padding: 0.9rem 2.3rem !important;
    border-radius: 4px !important;
    background: linear-gradient(135deg, var(--branch-brown), #7a5544) !important;
    box-shadow: 0 12px 28px rgba(107, 74, 58, 0.18) !important;
}

body.single-product.woocommerce div.product form.cart .button.single_add_to_cart_button.disabled,
body.single-product.woocommerce div.product form.cart .button.single_add_to_cart_button:disabled {
    opacity: 0.48 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

body.single-product.woocommerce div.product .product_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1rem;
    margin-top: 1.8rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(212, 169, 106, 0.2);
    color: rgba(107, 74, 58, 0.68);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.55;
}

body.single-product.woocommerce div.product .product_meta a {
    color: var(--branch-brown);
}

body.single-product.woocommerce div.product .woocommerce-tabs {
    margin-top: clamp(3.5rem, 7vw, 5.5rem);
    padding-top: clamp(1.4rem, 3vw, 2rem);
    border-top: 1px solid rgba(212, 169, 106, 0.24);
}

body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem 1.5rem;
    margin: 0 0 1.45rem !important;
    padding: 0 !important;
}

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

body.single-product.woocommerce div.product .woocommerce-tabs .panel {
    max-width: 880px;
    color: rgba(107, 74, 58, 0.82);
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.72;
}

body.single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes {
    border: 1px solid rgba(212, 169, 106, 0.18);
    border-radius: 6px;
    overflow: hidden;
    background: rgba(255, 251, 246, 0.48);
}

body.single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes th,
body.single-product.woocommerce div.product .woocommerce-tabs table.shop_attributes td {
    border-color: rgba(212, 169, 106, 0.16);
    color: var(--bark);
    font-family: var(--font-body);
}

body.single-product.woocommerce .related.products {
    margin-top: clamp(4rem, 8vw, 6rem);
}

@media (max-width: 1024px) {
    body.single-product.woocommerce div.product {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    body.single-product.woocommerce div.product div.images {
        position: relative;
        top: auto;
    }

    body.single-product.woocommerce div.product .product_title {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    body.single-product.woocommerce #main.site-main {
        padding-left: 18px;
        padding-right: 18px;
    }

    body.single-product.woocommerce .woocommerce-breadcrumb {
        font-size: 0.78rem;
    }

    body.single-product.woocommerce div.product div.images {
        padding: 0.62rem;
        border-radius: 6px;
    }

    body.single-product.woocommerce div.product div.images .flex-control-thumbs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.55rem;
    }

    body.single-product.woocommerce div.product .product_title {
        font-size: clamp(2.45rem, 12vw, 3.4rem);
    }

    body.single-product.woocommerce div.product form.cart table.variations {
        padding: 0.2rem 0.9rem;
    }

    body.single-product.woocommerce div.product form.cart table.variations tr {
        grid-template-columns: 1fr;
        gap: 0.55rem;
        padding: 0.9rem 0;
    }

    body.single-product.woocommerce div.product form.cart .variations select {
        min-height: 50px;
    }

    body.single-product.woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
        align-items: stretch;
    }

    body.single-product.woocommerce div.product form.cart .button.single_add_to_cart_button {
        flex: 1 1 190px;
        min-height: 50px;
    }
}

@media (max-width: 520px) {
    body.single-product.woocommerce div.product div.images .flex-control-thumbs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.single-product.woocommerce div.product form.cart div.quantity .qty {
        width: 58px;
    }
}

/* ── Final WooCommerce polish pass: product, mobile rail, cart/checkout ── */
body.woocommerce-page {
    overflow-x: clip;
}

body.single-product .woocommerce div.product div.images,
body.single-product.woocommerce div.product div.images {
    position: relative !important;
    top: auto !important;
    z-index: 1;
}

body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product.woocommerce div.product .woocommerce-tabs {
    position: relative;
    z-index: 2;
    margin-top: clamp(3.25rem, 6vw, 5rem);
    padding: clamp(1.4rem, 3vw, 2rem);
    border: 1px solid rgba(212, 169, 106, 0.18);
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.72), rgba(255, 248, 249, 0.5));
    box-shadow: 0 18px 48px rgba(107, 74, 58, 0.045);
}

body.single-product .woocommerce div.product .woocommerce-tabs .panel,
body.single-product.woocommerce div.product .woocommerce-tabs .panel {
    max-width: 960px;
}

body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs,
body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 1px solid rgba(212, 169, 106, 0.2) !important;
}

body.single-product .woocommerce div.product .related.products,
body.single-product.woocommerce div.product .related.products {
    clear: both;
}

@media (max-width: 1023px) {
    .shop-collection-sidebar {
        top: 72px;
        z-index: 160;
        width: calc(100% + 36px) !important;
        max-width: none;
        margin: 0 -18px clamp(1.65rem, 5vw, 2.25rem);
        padding: 0.7rem 0 0.78rem;
        border-top: 1px solid rgba(212, 169, 106, 0.18);
        border-bottom: 1px solid rgba(212, 169, 106, 0.2);
        background: linear-gradient(180deg, rgba(255, 251, 246, 0.94), rgba(250, 246, 240, 0.88));
        box-shadow: 0 14px 34px rgba(107, 74, 58, 0.06);
    }

    .shop-collection-panel {
        padding: 0 18px !important;
    }

    .shop-sidebar-title {
        margin: 0 0 0.62rem;
        color: rgba(107, 74, 58, 0.78);
        font-size: 1rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .sidebar-nav {
        display: flex;
        flex-flow: row nowrap;
        gap: 0.55rem;
        overflow-x: auto;
        padding: 0.08rem 0 0.16rem;
        scroll-padding-inline: 18px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .sidebar-nav::-webkit-scrollbar {
        display: none;
    }

    .sidebar-link {
        flex: 0 0 auto;
        min-height: 38px;
        max-width: 74vw;
        padding: 0.58rem 0.78rem !important;
        border: 1px solid rgba(212, 169, 106, 0.24) !important;
        border-radius: 999px !important;
        background: rgba(255, 248, 249, 0.7) !important;
        box-shadow: 0 8px 20px rgba(107, 74, 58, 0.045);
        color: var(--bark) !important;
        font-size: 0.72rem !important;
        letter-spacing: 0.11em;
        line-height: 1;
        white-space: nowrap;
        transform: none !important;
    }

    .sidebar-link.active,
    .sidebar-link.current-cat {
        border-color: rgba(107, 74, 58, 0.72) !important;
        background: linear-gradient(135deg, var(--branch-brown), #7a5544) !important;
        color: var(--blossom-white) !important;
        box-shadow: 0 12px 26px rgba(107, 74, 58, 0.16) !important;
    }

    .sidebar-link .count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.35rem;
        height: 1.35rem;
        padding: 0 0.35rem;
        border-radius: 999px;
        background: rgba(212, 169, 106, 0.14);
        color: inherit;
        font-size: 0.64rem;
        opacity: 0.86;
    }
}

@media (max-width: 768px) {
    body.single-product main,
    body.single-product.woocommerce #main.site-main {
        overflow-x: clip;
    }

    body.single-product .woocommerce div.product,
    body.single-product.woocommerce div.product {
        display: block;
        width: 100%;
        max-width: 100%;
    }

    body.single-product .woocommerce div.product div.images,
    body.single-product.woocommerce div.product div.images {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden;
    }

    body.single-product .woocommerce-product-gallery__wrapper,
    body.single-product.woocommerce .woocommerce-product-gallery__wrapper,
    body.single-product .woocommerce-product-gallery__image,
    body.single-product.woocommerce .woocommerce-product-gallery__image,
    body.single-product .woocommerce-product-gallery__image a,
    body.single-product.woocommerce .woocommerce-product-gallery__image a {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.single-product .woocommerce div.product div.images .flex-control-thumbs,
    body.single-product.woocommerce div.product div.images .flex-control-thumbs {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.single-product .woocommerce div.product .summary,
    body.single-product.woocommerce div.product .summary {
        margin-top: 1.6rem !important;
    }

    body.single-product .woocommerce div.product .woocommerce-tabs,
    body.single-product.woocommerce div.product .woocommerce-tabs {
        margin-top: 2.75rem;
        padding: 1.05rem;
    }

    body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs,
    body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs {
        gap: 0.45rem 0.8rem;
    }

    body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a,
    body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a {
        font-size: 1rem !important;
    }

    body.woocommerce-page .cart-fab-container {
        right: 12px !important;
        bottom: 76px !important;
        width: 52px !important;
        height: 52px !important;
        border: 1px solid rgba(212, 169, 106, 0.28) !important;
        border-radius: 50% !important;
        background: rgba(255, 251, 246, 0.94) !important;
        box-shadow: 0 12px 28px rgba(107, 74, 58, 0.16) !important;
        transform: none !important;
        opacity: 1 !important;
        overflow: visible;
    }

    body.woocommerce-page #cart-lottie-container {
        width: 58px !important;
        height: 40px !important;
        transform: scale(0.84);
        transform-origin: center;
    }

    body.woocommerce-page .cart-badge {
        top: -5px;
        right: -5px;
        min-width: 20px;
        height: 20px;
        border-color: var(--blossom-white);
        font-size: 0.68rem;
    }

    body.woocommerce-page .fab-container {
        right: 12px !important;
        bottom: 14px !important;
        z-index: 998;
        transform: none !important;
    }

    body.woocommerce-page .fab-toggle {
        display: grid;
        place-items: center;
        width: 52px !important;
        height: 52px !important;
        padding: 0 !important;
        border: 1px solid rgba(255, 248, 249, 0.48) !important;
        border-radius: 50% !important;
        background: linear-gradient(135deg, var(--sakura-muted), var(--deep-rose)) !important;
        box-shadow: 0 14px 32px rgba(184, 149, 158, 0.28) !important;
    }

    body.woocommerce-page .fab-toggle svg {
        width: 18px;
        height: 18px;
    }

    body.woocommerce-page .fab-toggle-text {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }

    .sidebar-cart {
        width: min(100vw, 420px);
        right: -100vw;
    }

    .sidebar-cart__header {
        padding: 1.05rem 1.2rem;
    }

    .sidebar-cart__content {
        padding: 1.15rem;
    }
}

@media (max-width: 430px) {
    .shop-sidebar-title {
        font-size: 0.82rem;
    }

    .sidebar-link {
        min-height: 36px;
        padding: 0.52rem 0.68rem !important;
        font-size: 0.66rem !important;
        letter-spacing: 0.08em;
    }

    .sidebar-link .count {
        min-width: 1.18rem;
        height: 1.18rem;
        font-size: 0.58rem;
    }

    body.single-product .woocommerce div.product div.images .flex-control-thumbs,
    body.single-product.woocommerce div.product div.images .flex-control-thumbs {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

body.woocommerce-cart main,
body.woocommerce-checkout main {
    padding-left: clamp(1rem, 4vw, 3rem);
    padding-right: clamp(1rem, 4vw, 3rem);
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
    max-width: 1180px;
    margin: 0 auto;
}

.woocommerce-cart table.cart,
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-cart .cart-collaterals .cart_totals table,
#payment {
    border: 1px solid rgba(212, 169, 106, 0.18) !important;
    border-radius: 7px !important;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.78), rgba(255, 248, 249, 0.55)) !important;
    box-shadow: 0 18px 48px rgba(107, 74, 58, 0.055) !important;
}

.woocommerce-cart table.cart th,
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-cart table.cart td,
.woocommerce-checkout #order_review table.shop_table td,
.woocommerce-cart .cart-collaterals .cart_totals table th,
.woocommerce-cart .cart-collaterals .cart_totals table td {
    background: transparent !important;
    border-color: rgba(212, 169, 106, 0.14) !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
    min-height: 48px;
    border: 1px solid rgba(212, 169, 106, 0.28) !important;
    border-radius: 5px !important;
    background: rgba(255, 248, 249, 0.66) !important;
    color: var(--branch-brown) !important;
    font-family: var(--font-body) !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
    border-color: rgba(212, 169, 106, 0.72) !important;
    box-shadow: 0 0 0 3px rgba(212, 169, 106, 0.12);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.checkout-button,
#payment .place-order .button {
    border: 1.5px solid var(--branch-brown) !important;
    border-radius: 4px !important;
    background: linear-gradient(135deg, var(--branch-brown), #7a5544) !important;
    color: var(--blossom-white) !important;
    font-family: var(--font-body) !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    box-shadow: 0 12px 28px rgba(107, 74, 58, 0.16) !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.checkout-button:hover,
#payment .place-order .button:hover {
    border-color: var(--stamen-gold) !important;
    background: linear-gradient(135deg, #7a5544, var(--branch-brown)) !important;
    color: var(--stamen-gold-light) !important;
    transform: translateY(-1px);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-top-color: var(--stamen-gold) !important;
    border-radius: 7px;
    background: rgba(255, 251, 246, 0.82) !important;
    color: var(--branch-brown);
    box-shadow: 0 12px 34px rgba(107, 74, 58, 0.055);
}

/* ── 9.5 polish layer: make every commerce surface feel designed ── */
body.woocommerce-shop .shop-collection-panel,
body.post-type-archive-product .shop-collection-panel {
    padding: clamp(1.1rem, 1.5vw, 1.35rem);
    border: 1px solid rgba(212, 169, 106, 0.16) !important;
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.58), rgba(255, 248, 249, 0.34));
    box-shadow: 0 18px 44px rgba(107, 74, 58, 0.045);
}

body.woocommerce-shop .sidebar-link,
body.post-type-archive-product .sidebar-link {
    border: 1px solid transparent;
}

body.woocommerce-shop .sidebar-link.active,
body.woocommerce-shop .sidebar-link.current-cat,
body.post-type-archive-product .sidebar-link.active,
body.post-type-archive-product .sidebar-link.current-cat {
    border-color: rgba(212, 169, 106, 0.24) !important;
}

body.woocommerce-shop .sidebar-link.active::before,
body.woocommerce-shop .sidebar-link.current-cat::before,
body.post-type-archive-product .sidebar-link.active::before,
body.post-type-archive-product .sidebar-link.current-cat::before {
    content: '';
    width: 0.38rem;
    height: 0.38rem;
    border-radius: 50%;
    background: var(--stamen-gold);
    box-shadow: 0 0 0 4px rgba(212, 169, 106, 0.12);
}

.sidebar-cart {
    border-left: 1px solid rgba(212, 169, 106, 0.18);
    background:
        linear-gradient(180deg, rgba(255, 251, 246, 0.96), rgba(255, 248, 249, 0.91)) !important;
    box-shadow: -18px 0 60px rgba(107, 74, 58, 0.13);
}

.sidebar-cart__header {
    min-height: 78px;
    background: rgba(255, 251, 246, 0.58);
}

.sidebar-cart__header h3 {
    font-size: clamp(1.55rem, 2vw, 1.9rem);
    line-height: 1;
}

#close-cart {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(212, 169, 106, 0.2);
    border-radius: 50%;
    color: var(--branch-brown);
    background: rgba(255, 248, 249, 0.7);
    transition: transform 0.25s ease, background-color 0.25s ease;
}

#close-cart:hover {
    background: rgba(212, 181, 189, 0.22);
    transform: rotate(8deg);
}

.sidebar-cart__content {
    scrollbar-width: thin;
    scrollbar-color: rgba(212, 169, 106, 0.48) transparent;
}

.sidebar-cart-full-wrapper table.shop_table tr.cart_item {
    margin-bottom: 0.85rem !important;
    padding: 0.85rem 2.35rem 0.85rem 0.85rem !important;
    border: 1px solid rgba(212, 169, 106, 0.14) !important;
    border-radius: 7px;
    background: rgba(255, 251, 246, 0.64) !important;
    box-shadow: 0 10px 24px rgba(107, 74, 58, 0.04);
}

.sidebar-cart-full-wrapper tr.cart_item td.product-remove {
    top: 0.82rem !important;
    right: 0.78rem !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-remove a.remove,
.woocommerce-cart table.cart td.product-remove a.remove {
    display: inline-grid !important;
    place-items: center;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50%;
    background: rgba(184, 149, 158, 0.12) !important;
    color: var(--deep-rose-dark) !important;
    line-height: 1 !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-thumbnail {
    width: 78px !important;
    min-width: 78px !important;
}

.sidebar-cart-full-wrapper tr.cart_item td.product-thumbnail img,
.woocommerce-cart table.cart td.product-thumbnail img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 5px !important;
    background: rgba(255, 248, 249, 0.5);
}

.sidebar-cart-full-wrapper tr.cart_item td.product-name {
    font-size: 1.04rem !important;
}

.sidebar-cart-full-wrapper .cart_totals tr.order-total {
    margin-top: 0.8rem !important;
    padding-top: 0.85rem !important;
    border-top: 1px solid rgba(212, 169, 106, 0.2) !important;
}

.sidebar-cart-full-wrapper .cart_totals tr.order-total th,
.sidebar-cart-full-wrapper .cart_totals tr.order-total td {
    color: var(--branch-brown) !important;
}

.sidebar-cart-full-wrapper .wc-proceed-to-checkout a.checkout-button,
.woocommerce a.checkout-button,
#payment .place-order .button {
    min-height: 48px;
}

.sidebar-cart-full-wrapper .woocommerce-cart-form__contents tbody:empty::after,
.woocommerce-mini-cart__empty-message,
.cart-empty.woocommerce-info {
    display: block;
    padding: clamp(1.5rem, 5vw, 2.4rem);
    border: 1px solid rgba(212, 169, 106, 0.18);
    border-radius: 7px;
    background: rgba(255, 251, 246, 0.64);
    color: var(--bark);
    font-family: var(--font-body);
    line-height: 1.65;
    text-align: center;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce {
    color: var(--branch-brown);
}

body.woocommerce-cart .woocommerce > h1,
body.woocommerce-cart .woocommerce > h2,
body.woocommerce-checkout .woocommerce > h1,
body.woocommerce-checkout .woocommerce > h2 {
    font-family: var(--font-heading);
    color: var(--branch-brown);
    font-weight: normal;
}

body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals,
body.woocommerce-checkout form.checkout {
    position: relative;
}

body.woocommerce-cart table.cart,
body.woocommerce-checkout #order_review table.shop_table {
    overflow: hidden;
}

.woocommerce-cart table.cart th,
.woocommerce-checkout #order_review table.shop_table th {
    color: var(--stamen-gold-dark) !important;
    font-family: var(--font-body) !important;
    font-size: 0.7rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.woocommerce-cart table.cart td.product-name a,
.woocommerce-checkout #order_review table.shop_table td.product-name {
    color: var(--branch-brown);
    font-family: var(--font-heading);
    font-size: 1.08rem;
    line-height: 1.35;
}

.woocommerce-cart table.cart .quantity input.qty,
.woocommerce .quantity input.qty {
    min-height: 40px;
    border: 1px solid rgba(212, 169, 106, 0.24);
    border-radius: 4px;
    background: rgba(255, 251, 246, 0.74);
    color: var(--branch-brown);
    font-family: var(--font-body);
}

.woocommerce-cart table.cart td.actions {
    padding: 1.1rem !important;
}

.woocommerce-cart table.cart td.actions .coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    align-items: center;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
    min-width: min(260px, 100%);
}

.woocommerce-cart .cart-collaterals {
    margin-top: clamp(1.8rem, 4vw, 3rem);
}

.woocommerce-cart .cart-collaterals .cart_totals {
    float: none !important;
    width: min(520px, 100%) !important;
    margin-left: auto;
}

.woocommerce-cart .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 {
    font-size: clamp(1.7rem, 3vw, 2.15rem);
    line-height: 1.05;
}

body.woocommerce-checkout form.checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 0.82fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: start;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review_heading {
    min-width: 0;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review {
    padding: clamp(1.05rem, 2.5vw, 1.55rem);
    border: 1px solid rgba(212, 169, 106, 0.18);
    border-radius: 7px;
    background: rgba(255, 251, 246, 0.54);
    box-shadow: 0 18px 48px rgba(107, 74, 58, 0.045);
}

body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout #order_review {
    grid-column: 2;
}

body.woocommerce-checkout #customer_details {
    grid-column: 1;
    grid-row: 1 / span 2;
}

body.woocommerce-checkout #order_review {
    position: sticky;
    top: 118px;
}

.woocommerce form .form-row {
    margin-bottom: 1rem;
}

.woocommerce form .form-row label {
    color: var(--stamen-gold-dark);
    font-family: var(--font-body);
    font-size: 0.7rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--branch-brown) !important;
    line-height: 46px !important;
    padding-left: 1rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    right: 0.55rem !important;
}

#payment ul.payment_methods {
    padding: 1.1rem !important;
}

#payment div.payment_box {
    border-radius: 5px !important;
    background: rgba(250, 246, 240, 0.72) !important;
}

.woocommerce-terms-and-conditions-wrapper {
    color: rgba(107, 74, 58, 0.76);
    font-family: var(--font-body);
    line-height: 1.65;
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--stamen-gold-dark) !important;
}

.woocommerce-error::before {
    color: var(--deep-rose-dark) !important;
}

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
    color: var(--branch-brown);
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

@media (min-width: 1024px) {
    body.woocommerce-shop .shop-collection-sidebar,
    body.post-type-archive-product .shop-collection-sidebar {
        align-self: flex-start;
    }

    body.woocommerce-shop .sidebar-link,
    body.post-type-archive-product .sidebar-link {
        min-height: 46px;
    }
}

@media (max-width: 1023px) {
    body.woocommerce-shop .shop-collection-panel,
    body.post-type-archive-product .shop-collection-panel {
        border: 0 !important;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    body.woocommerce-shop .sidebar-link.active::before,
    body.woocommerce-shop .sidebar-link.current-cat::before,
    body.post-type-archive-product .sidebar-link.active::before,
    body.post-type-archive-product .sidebar-link.current-cat::before {
        display: none;
    }
}

@media (max-width: 768px) {
    body.woocommerce-cart main,
    body.woocommerce-checkout main {
        padding-top: 104px;
        padding-left: 16px;
        padding-right: 16px;
    }

    body.woocommerce-checkout form.checkout {
        display: block;
    }

    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review {
        margin-bottom: 1.25rem;
        padding: 1rem;
    }

    body.woocommerce-checkout #order_review {
        position: relative;
        top: auto;
    }

    .woocommerce-cart table.cart,
    .woocommerce-cart table.cart tbody,
    .woocommerce-cart table.cart tr,
    .woocommerce-cart table.cart td {
        display: block;
        width: 100%;
    }

    .woocommerce-cart table.cart thead {
        display: none;
    }

    .woocommerce-cart table.cart tr.cart_item {
        position: relative;
        margin-bottom: 0.9rem;
        padding: 1rem 1rem 1rem 92px;
        border: 1px solid rgba(212, 169, 106, 0.16);
        border-radius: 7px;
        background: rgba(255, 251, 246, 0.62);
    }

    .woocommerce-cart table.cart td {
        padding: 0.2rem 0 !important;
        border: 0 !important;
    }

    .woocommerce-cart table.cart td.product-remove {
        position: absolute;
        top: 0.72rem;
        right: 0.72rem;
        width: auto;
    }

    .woocommerce-cart table.cart td.product-thumbnail {
        position: absolute;
        top: 1rem;
        left: 1rem;
        width: 62px;
    }

    .woocommerce-cart table.cart td.product-thumbnail img {
        width: 62px;
        height: 62px;
    }

    .woocommerce-cart table.cart td.product-name {
        padding-right: 2rem !important;
    }

    .woocommerce-cart table.cart td.product-price,
    .woocommerce-cart table.cart td.product-subtotal {
        color: var(--bark);
        font-family: var(--font-body);
    }

    .woocommerce-cart table.cart td.actions {
        padding: 1rem 0 0 !important;
    }

    .woocommerce-cart table.cart td.actions .coupon {
        display: grid;
        grid-template-columns: 1fr;
    }

    .woocommerce-cart table.cart td.actions .coupon .input-text,
    .woocommerce-cart table.cart td.actions .button,
    .woocommerce-cart table.cart td.actions > .button {
        width: 100% !important;
    }

    .woocommerce-cart .cart-collaterals .cart_totals {
        width: 100% !important;
    }

    .sidebar-cart-full-wrapper table.shop_table tr.cart_item {
        padding-right: 2.05rem !important;
    }
}

@media (max-width: 420px) {
    body.woocommerce-page .cart-fab-container,
    body.woocommerce-page .fab-toggle {
        width: 48px !important;
        height: 48px !important;
    }

    body.woocommerce-page #cart-lottie-container {
        transform: scale(0.78);
    }

    .sidebar-cart-full-wrapper tr.cart_item td.product-thumbnail {
        width: 64px !important;
        min-width: 64px !important;
        margin-right: 0.9rem !important;
    }
}

/* Mobile-only cart icon: desktop keeps the Lottie cart */
@media (max-width: 768px) {
    body.woocommerce-page .cart-fab-container {
        display: grid !important;
        place-items: center;
        width: 52px !important;
        height: 52px !important;
        border: 1px solid rgba(212, 169, 106, 0.3) !important;
        border-radius: 50% !important;
        background:
            linear-gradient(135deg, rgba(255, 251, 246, 0.98), rgba(255, 248, 249, 0.94)) !important;
        box-shadow: 0 14px 32px rgba(107, 74, 58, 0.16) !important;
    }

    body.woocommerce-page #cart-lottie-container {
        display: none !important;
    }

    body.woocommerce-page .cart-fab-container::before {
        content: '';
        display: block;
        width: 22px;
        height: 22px;
        background: var(--branch-brown);
        -webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='8'%20cy='21'%20r='1'/%3E%3Ccircle%20cx='19'%20cy='21'%20r='1'/%3E%3Cpath%20d='M2.05%202.05h2l2.66%2012.42a2%202%200%200%200%202%201.58h9.78a2%202%200%200%200%201.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='black'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='8'%20cy='21'%20r='1'/%3E%3Ccircle%20cx='19'%20cy='21'%20r='1'/%3E%3Cpath%20d='M2.05%202.05h2l2.66%2012.42a2%202%200%200%200%202%201.58h9.78a2%202%200%200%200%201.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    body.woocommerce-page .cart-fab-container:hover {
        transform: translateY(-1px) !important;
        border-color: rgba(212, 169, 106, 0.52) !important;
        box-shadow: 0 16px 36px rgba(107, 74, 58, 0.2) !important;
    }

    body.woocommerce-page .cart-badge {
        top: -5px;
        right: -5px;
        min-width: 20px;
        height: 20px;
        border: 2px solid var(--blossom-white);
        background: var(--deep-rose);
    }
}

@media (max-width: 420px) {
    body.woocommerce-page .cart-fab-container {
        width: 48px !important;
        height: 48px !important;
    }

    body.woocommerce-page .cart-fab-container::before {
        font-size: 21px;
    }
}

/* Custom WooCommerce drawer cart */
.sidebar-cart-full-wrapper.is-updating {
    pointer-events: none;
    opacity: 0.62;
    transition: opacity 0.2s ease;
}

.toe-mini-cart-empty {
    display: grid;
    place-items: center;
    min-height: 52vh;
    padding: clamp(1.8rem, 5vw, 2.6rem);
    border: 1px solid rgba(212, 169, 106, 0.18);
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.72), rgba(255, 248, 249, 0.5));
    color: var(--bark);
    text-align: center;
}

.toe-mini-cart-empty__icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    margin-bottom: 1rem;
    border: 1px solid rgba(212, 169, 106, 0.24);
    border-radius: 50%;
    color: var(--branch-brown);
    background: rgba(255, 248, 249, 0.72);
}

.toe-mini-cart-empty__icon svg {
    width: 26px;
    height: 26px;
}

.toe-mini-cart-empty h4 {
    margin: 0 0 0.45rem;
    color: var(--branch-brown);
    font-family: var(--font-heading);
    font-size: 1.55rem;
    font-weight: normal;
}

.toe-mini-cart-empty p {
    max-width: 25ch;
    margin: 0 0 1.25rem;
    font-family: var(--font-body);
    line-height: 1.6;
}

.toe-mini-cart-empty__link,
.toe-mini-cart-summary__checkout,
.toe-mini-cart-summary__cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0.82rem 1.15rem;
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.toe-mini-cart-empty__link,
.toe-mini-cart-summary__checkout {
    border: 1.5px solid var(--branch-brown);
    background: linear-gradient(135deg, var(--branch-brown), #7a5544);
    color: var(--blossom-white);
    box-shadow: 0 12px 28px rgba(107, 74, 58, 0.14);
}

.toe-mini-cart-summary__cart {
    border: 1px solid rgba(107, 74, 58, 0.28);
    color: var(--branch-brown);
    background: rgba(255, 248, 249, 0.62);
}

.toe-mini-cart-items {
    display: grid;
    gap: 0.9rem;
}

.toe-cart-item {
    position: relative;
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 0.95rem;
    padding: 0.9rem 2.35rem 0.9rem 0.9rem;
    border: 1px solid rgba(212, 169, 106, 0.16);
    border-radius: 7px;
    background: rgba(255, 251, 246, 0.66);
    box-shadow: 0 10px 24px rgba(107, 74, 58, 0.04);
}

.toe-cart-item__image {
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: 5px;
    border: 1px solid rgba(212, 169, 106, 0.18);
    background: rgba(255, 248, 249, 0.5);
}

.toe-cart-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.toe-cart-item__content {
    min-width: 0;
}

.toe-cart-item__title {
    display: block;
    padding-right: 0.25rem;
    color: var(--branch-brown);
    font-family: var(--font-heading);
    font-size: 1.1rem;
    line-height: 1.25;
    text-decoration: none;
}

.toe-cart-item__options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.36rem;
    margin-top: 0.55rem;
}

.toe-cart-item__options span {
    display: inline-flex;
    max-width: 100%;
    padding: 0.28rem 0.44rem;
    border: 1px solid rgba(212, 169, 106, 0.18);
    border-radius: 999px;
    background: rgba(255, 248, 249, 0.62);
    color: rgba(107, 74, 58, 0.78);
    font-family: var(--font-body);
    font-size: 0.68rem;
    line-height: 1;
}

.toe-cart-item__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.toe-cart-item__qty {
    width: 58px;
    min-height: 36px;
    padding: 0.25rem;
    border: 1px solid rgba(212, 169, 106, 0.28);
    border-radius: 4px;
    background: rgba(255, 248, 249, 0.68);
    color: var(--branch-brown);
    font-family: var(--font-body);
    text-align: center;
}

.toe-cart-item__qty:focus {
    border-color: rgba(212, 169, 106, 0.72);
    box-shadow: 0 0 0 3px rgba(212, 169, 106, 0.12);
    outline: none;
}

.toe-cart-item__subtotal {
    color: var(--branch-brown);
    font-family: var(--font-body);
    font-size: 0.95rem;
    white-space: nowrap;
}

.toe-cart-item__remove {
    position: absolute;
    top: 0.72rem;
    right: 0.72rem;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(184, 149, 158, 0.16);
    border-radius: 50%;
    background: rgba(184, 149, 158, 0.12);
    color: var(--deep-rose-dark);
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.toe-cart-item__remove:hover {
    background: rgba(184, 149, 158, 0.22);
    transform: rotate(8deg);
}

.toe-cart-item__remove svg {
    width: 17px;
    height: 17px;
    display: block;
}

.toe-mini-cart-summary {
    margin-top: 1.15rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(212, 169, 106, 0.22);
}

.toe-mini-cart-summary__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: var(--branch-brown);
    font-family: var(--font-body);
}

.toe-mini-cart-summary__row span {
    color: var(--stamen-gold-dark);
    font-size: 0.72rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.toe-mini-cart-summary__row strong {
    font-size: 1.18rem;
    font-weight: 600;
}

.toe-mini-cart-summary p {
    margin: 0.75rem 0 1rem;
    color: rgba(107, 74, 58, 0.7);
    font-family: var(--font-body);
    font-size: 0.88rem;
    line-height: 1.55;
}

.toe-mini-cart-summary__checkout,
.toe-mini-cart-summary__cart {
    width: 100%;
}

.toe-mini-cart-summary__cart {
    margin-top: 0.7rem;
}

@media (max-width: 420px) {
    .toe-cart-item {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 0.8rem;
        padding: 0.78rem 2.05rem 0.78rem 0.78rem;
    }

    .toe-cart-item__title {
        font-size: 1rem;
    }

    .toe-cart-item__controls {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.55rem;
    }
}

/* Final mobile/header/category refinements */
@media (max-width: 768px) {
    body.woocommerce-page,
    body.woocommerce-shop,
    body.post-type-archive-product {
        padding-bottom: 0 !important;
    }

    body.woocommerce-page .site-footer,
    body.woocommerce-shop .site-footer,
    body.post-type-archive-product .site-footer {
        margin-bottom: 0 !important;
    }
}

@media (max-width: 900px) {
    body.woocommerce-page .navbar {
        align-items: center;
        min-height: 66px;
        padding: 1.2rem var(--container-gutter) !important;
    }

    body.woocommerce-page .navbar::before {
        background: rgba(250, 246, 240, 0.92) !important;
        backdrop-filter: blur(18px) !important;
        -webkit-backdrop-filter: blur(18px) !important;
        box-shadow: 0 1px 24px rgba(107, 74, 58, 0.055) !important;
    }

    body.woocommerce-page .navbar.navbar--menu-open::before {
        background: #faf6f0 !important;
        box-shadow: none !important;
    }

    body.woocommerce-page .navbar__logo {
        margin: 0 !important;
        flex: 0 0 auto;
        transform: none !important;
    }

    body.woocommerce-page .navbar__logo-img {
        width: auto !important;
        height: 44px !important;
        object-fit: contain !important;
        object-position: left center !important;
        filter: brightness(0) saturate(100%) invert(31%) sepia(19%) saturate(1039%) hue-rotate(334deg) brightness(98%) contrast(85%) !important;
    }

    body.woocommerce-page .navbar__burger {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 42px !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--branch-brown) !important;
        gap: 5px;
    }

    body.woocommerce-page .navbar__burger span {
        width: 28px;
        height: 2px;
        border-radius: 99px;
        background-color: var(--branch-brown) !important;
    }
}

@media (min-width: 1024px) {
    body.woocommerce-shop .shop-collection-sidebar,
    body.post-type-archive-product .shop-collection-sidebar {
        position: sticky;
        top: 118px;
        align-self: flex-start;
        width: clamp(248px, 19vw, 300px) !important;
        z-index: 30;
    }

    body.woocommerce-shop .shop-collection-panel,
    body.post-type-archive-product .shop-collection-panel {
        height: auto !important;
        max-height: calc(100vh - 138px) !important;
        overflow-y: auto;
        padding: 1.18rem !important;
        border: 1px solid rgba(212, 169, 106, 0.18) !important;
        border-radius: 7px;
        background:
            linear-gradient(180deg, rgba(255, 251, 246, 0.82), rgba(255, 248, 249, 0.48));
        box-shadow: 0 18px 44px rgba(107, 74, 58, 0.052);
        scrollbar-gutter: stable;
    }

    body.woocommerce-shop .shop-sidebar-title,
    body.post-type-archive-product .shop-sidebar-title {
        margin-bottom: 0.9rem;
        padding-bottom: 0.8rem;
        border-bottom: 1px solid rgba(212, 169, 106, 0.22);
        color: rgba(107, 74, 58, 0.82);
        font-size: 0.86rem;
        letter-spacing: 0.18em;
        text-transform: uppercase;
    }

    body.woocommerce-shop .sidebar-nav,
    body.post-type-archive-product .sidebar-nav {
        display: grid;
        gap: 0.34rem;
        overflow: visible;
    }

    body.woocommerce-shop .sidebar-link,
    body.post-type-archive-product .sidebar-link {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        min-height: 44px;
        padding: 0.74rem 0.82rem !important;
        border: 1px solid transparent !important;
        border-radius: 5px !important;
        background: transparent !important;
        color: rgba(107, 74, 58, 0.82) !important;
        box-shadow: none !important;
        font-size: 0.75rem !important;
        letter-spacing: 0.12em;
        line-height: 1.2;
        text-transform: uppercase;
    }

    body.woocommerce-shop .sidebar-link:hover,
    body.post-type-archive-product .sidebar-link:hover {
        border-color: rgba(212, 169, 106, 0.2) !important;
        background: rgba(255, 248, 249, 0.62) !important;
        transform: none !important;
    }

    body.woocommerce-shop .sidebar-link.active,
    body.woocommerce-shop .sidebar-link.current-cat,
    body.post-type-archive-product .sidebar-link.active,
    body.post-type-archive-product .sidebar-link.current-cat {
        border-color: rgba(107, 74, 58, 0.34) !important;
        background: linear-gradient(135deg, rgba(107, 74, 58, 0.98), rgba(122, 85, 68, 0.94)) !important;
        color: var(--blossom-white) !important;
        box-shadow: 0 12px 28px rgba(107, 74, 58, 0.15) !important;
    }

    body.woocommerce-shop .sidebar-link .count,
    body.post-type-archive-product .sidebar-link .count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.44rem;
        height: 1.44rem;
        padding: 0 0.38rem;
        border: 1px solid rgba(212, 169, 106, 0.16);
        border-radius: 999px;
        background: rgba(255, 248, 249, 0.62);
        color: inherit;
        font-size: 0.64rem;
        letter-spacing: 0;
    }

    body.woocommerce-shop .sidebar-link.active .count,
    body.woocommerce-shop .sidebar-link.current-cat .count,
    body.post-type-archive-product .sidebar-link.active .count,
    body.post-type-archive-product .sidebar-link.current-cat .count {
        border-color: rgba(255, 248, 249, 0.28);
        background: rgba(255, 248, 249, 0.14);
    }
}

/* Cart drawer remove control refinement */
.sidebar-cart .toe-cart-item {
    padding-right: 1rem;
}

.sidebar-cart .toe-cart-item__content {
    padding-right: 2.2rem;
}

.sidebar-cart .toe-cart-item__remove {
    top: 0.82rem !important;
    right: 0.82rem !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    border: 1px solid rgba(107, 74, 58, 0.14) !important;
    border-radius: 50% !important;
    background: rgba(255, 251, 246, 0.88) !important;
    box-shadow: 0 7px 16px rgba(107, 74, 58, 0.06) !important;
    color: rgba(107, 74, 58, 0.68) !important;
    opacity: 0.86;
    transform: none !important;
}

.sidebar-cart .toe-cart-item__remove:hover,
.sidebar-cart .toe-cart-item__remove:focus-visible {
    border-color: rgba(107, 74, 58, 0.26) !important;
    background: rgba(255, 248, 249, 0.96) !important;
    color: var(--branch-brown) !important;
    opacity: 1;
    outline: none;
    transform: none !important;
}

.sidebar-cart .toe-cart-item__remove svg {
    width: 15px !important;
    height: 15px !important;
    display: block;
}

@media (max-width: 520px) {
    .sidebar-cart .toe-cart-item {
        padding: 0.9rem 0.84rem;
    }

    .sidebar-cart .toe-cart-item__content {
        padding-right: 1.9rem;
    }

    .sidebar-cart .toe-cart-item__remove {
        top: 0.72rem !important;
        right: 0.72rem !important;
    }
}

/* Desktop category navigation correction */
@media (min-width: 1024px) {
    body.woocommerce-shop .shop-collection-panel,
    body.post-type-archive-product .shop-collection-panel {
        padding: 1.05rem 1rem !important;
        border: 1px solid rgba(212, 169, 106, 0.16) !important;
        border-radius: 6px !important;
        background: rgba(255, 251, 246, 0.72) !important;
        box-shadow: 0 16px 40px rgba(107, 74, 58, 0.045) !important;
    }

    body.woocommerce-shop .shop-sidebar-title,
    body.post-type-archive-product .shop-sidebar-title {
        margin: 0 0 0.35rem;
        padding: 0 0.95rem 0.82rem;
        border-bottom: 1px solid rgba(212, 169, 106, 0.2);
        color: rgba(107, 74, 58, 0.72);
        font-size: 0.76rem;
        letter-spacing: 0.22em;
        line-height: 1;
        text-transform: uppercase;
    }

    body.woocommerce-shop .sidebar-nav,
    body.post-type-archive-product .sidebar-nav {
        display: block !important;
    }

    body.woocommerce-shop .sidebar-link,
    body.post-type-archive-product .sidebar-link {
        position: relative;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        min-height: 50px;
        padding: 0 0.36rem 0 1rem !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(212, 169, 106, 0.14) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: rgba(107, 74, 58, 0.78) !important;
        font-size: 0.72rem !important;
        letter-spacing: 0.15em;
        line-height: 1.2;
        text-transform: uppercase;
        transform: none !important;
    }

    body.woocommerce-shop .sidebar-link:last-child,
    body.post-type-archive-product .sidebar-link:last-child {
        border-bottom: 0 !important;
    }

    body.woocommerce-shop .sidebar-link::before,
    body.post-type-archive-product .sidebar-link::before {
        content: '' !important;
        position: absolute;
        left: 0;
        top: 50%;
        width: 2px !important;
        height: 0 !important;
        border-radius: 99px !important;
        background: var(--stamen-gold) !important;
        box-shadow: none !important;
        opacity: 0;
        transform: translateY(-50%) !important;
        transition: height 0.22s ease, opacity 0.22s ease;
    }

    body.woocommerce-shop .sidebar-link:hover,
    body.post-type-archive-product .sidebar-link:hover {
        background: rgba(255, 248, 249, 0.52) !important;
        color: var(--branch-brown) !important;
    }

    body.woocommerce-shop .sidebar-link:hover::before,
    body.post-type-archive-product .sidebar-link:hover::before {
        height: 20px !important;
        opacity: 0.65;
    }

    body.woocommerce-shop .sidebar-link.active,
    body.woocommerce-shop .sidebar-link.current-cat,
    body.post-type-archive-product .sidebar-link.active,
    body.post-type-archive-product .sidebar-link.current-cat {
        background: rgba(255, 248, 249, 0.74) !important;
        color: var(--branch-brown) !important;
        box-shadow: inset 0 0 0 1px rgba(212, 169, 106, 0.08) !important;
    }

    body.woocommerce-shop .sidebar-link.active::before,
    body.woocommerce-shop .sidebar-link.current-cat::before,
    body.post-type-archive-product .sidebar-link.active::before,
    body.post-type-archive-product .sidebar-link.current-cat::before {
        height: 27px !important;
        opacity: 1;
        background: var(--branch-brown) !important;
    }

    body.woocommerce-shop .sidebar-link .count,
    body.post-type-archive-product .sidebar-link .count {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.55rem;
        height: 1.3rem;
        padding: 0 0.38rem;
        border: 1px solid rgba(212, 169, 106, 0.16);
        border-radius: 999px;
        background: rgba(255, 248, 249, 0.66);
        color: rgba(107, 74, 58, 0.64);
        font-size: 0.62rem;
        letter-spacing: 0;
    }

    body.woocommerce-shop .sidebar-link.active .count,
    body.woocommerce-shop .sidebar-link.current-cat .count,
    body.post-type-archive-product .sidebar-link.active .count,
    body.post-type-archive-product .sidebar-link.current-cat .count {
        border-color: rgba(107, 74, 58, 0.18);
        background: rgba(250, 246, 240, 0.74);
        color: var(--branch-brown);
    }
}

/* Product card action: restore compact VIEW OPTIONS button */
body.woocommerce-shop .catalog-card__footer .catalog-card__action,
body.post-type-archive-product .catalog-card__footer .catalog-card__action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 136px;
    height: 42px;
    min-height: 42px;
    padding: 0 1.05rem !important;
    border: 1px solid rgba(107, 74, 58, 0.78) !important;
    border-radius: 3px !important;
    background: #7a5544 !important;
    color: var(--blossom-white) !important;
    font-family: var(--font-body);
    font-size: 0.66rem !important;
    font-weight: 500;
    letter-spacing: 0.15em !important;
    line-height: 1 !important;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 8px 20px rgba(107, 74, 58, 0.14) !important;
}

body.woocommerce-shop .catalog-card__footer .catalog-card__action::after,
body.post-type-archive-product .catalog-card__footer .catalog-card__action::after {
    content: '\203A';
    margin-left: 0.54rem;
    color: rgba(245, 224, 187, 0.92);
    font-size: 1rem;
    line-height: 0;
    transform: translateY(-1px);
}

body.woocommerce-shop .catalog-card__footer .catalog-card__action:hover,
body.post-type-archive-product .catalog-card__footer .catalog-card__action:hover {
    border-color: var(--stamen-gold) !important;
    background: var(--branch-brown) !important;
    color: var(--stamen-gold-light) !important;
    box-shadow: 0 12px 26px rgba(107, 74, 58, 0.2) !important;
    transform: translateY(-1px);
}

@media (max-width: 640px) {
    body.woocommerce-shop .catalog-card__footer .catalog-card__action,
    body.post-type-archive-product .catalog-card__footer .catalog-card__action {
        min-width: 132px;
        height: 44px;
        min-height: 44px;
        padding: 0 0.92rem !important;
        font-size: 0.62rem !important;
        letter-spacing: 0.13em !important;
    }
}

/* Final shop category navigation polish */
@media (min-width: 1024px) {
    body.woocommerce-shop .shop-collection-sidebar,
    body.post-type-archive-product .shop-collection-sidebar {
        width: clamp(230px, 17vw, 280px) !important;
    }

    body.woocommerce-shop .shop-collection-panel,
    body.post-type-archive-product .shop-collection-panel {
        position: relative;
        padding: 0.2rem 1.15rem 1rem 0 !important;
        border: 0 !important;
        border-right: 1px solid rgba(212, 169, 106, 0.18) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.woocommerce-shop .shop-sidebar-title,
    body.post-type-archive-product .shop-sidebar-title {
        position: relative;
        margin: 0 0 1rem !important;
        padding: 0 0 0.86rem !important;
        border: 0 !important;
        color: rgba(154, 111, 65, 0.9) !important;
        font-family: var(--font-body) !important;
        font-size: 0.68rem !important;
        font-weight: 500;
        letter-spacing: 0.26em !important;
        line-height: 1;
        text-transform: uppercase;
    }

    body.woocommerce-shop .shop-sidebar-title::after,
    body.post-type-archive-product .shop-sidebar-title::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 72px;
        height: 1px;
        background: linear-gradient(90deg, rgba(212, 169, 106, 0.9), rgba(212, 169, 106, 0));
    }

    body.woocommerce-shop .sidebar-nav,
    body.post-type-archive-product .sidebar-nav {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-shop .sidebar-link,
    body.post-type-archive-product .sidebar-link {
        position: relative;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        min-height: 43px;
        padding: 0.72rem 0.2rem 0.72rem 0 !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(212, 169, 106, 0.13) !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: rgba(107, 74, 58, 0.58) !important;
        font-family: var(--font-body) !important;
        font-size: 0.7rem !important;
        font-weight: 500;
        letter-spacing: 0.17em !important;
        line-height: 1.25;
        text-transform: uppercase;
        transform: none !important;
        transition: color 0.24s ease, padding-left 0.24s ease, border-color 0.24s ease;
    }

    body.woocommerce-shop .sidebar-link:last-child,
    body.post-type-archive-product .sidebar-link:last-child {
        border-bottom: 0 !important;
    }

    body.woocommerce-shop .sidebar-link::before,
    body.post-type-archive-product .sidebar-link::before {
        content: '' !important;
        position: absolute;
        left: -0.72rem;
        top: 50%;
        width: 2px !important;
        height: 0 !important;
        border-radius: 99px !important;
        background: var(--stamen-gold) !important;
        box-shadow: none !important;
        opacity: 0;
        transform: translateY(-50%) !important;
        transition: height 0.24s ease, opacity 0.24s ease;
    }

    body.woocommerce-shop .sidebar-link:hover,
    body.post-type-archive-product .sidebar-link:hover {
        padding-left: 0.45rem !important;
        border-color: rgba(212, 169, 106, 0.24) !important;
        background: transparent !important;
        color: var(--branch-brown) !important;
    }

    body.woocommerce-shop .sidebar-link:hover::before,
    body.post-type-archive-product .sidebar-link:hover::before {
        height: 18px !important;
        opacity: 0.62;
    }

    body.woocommerce-shop .sidebar-link.active,
    body.woocommerce-shop .sidebar-link.current-cat,
    body.post-type-archive-product .sidebar-link.active,
    body.post-type-archive-product .sidebar-link.current-cat {
        padding-left: 0.62rem !important;
        border-color: rgba(212, 169, 106, 0.3) !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--branch-brown) !important;
    }

    body.woocommerce-shop .sidebar-link.active::before,
    body.woocommerce-shop .sidebar-link.current-cat::before,
    body.post-type-archive-product .sidebar-link.active::before,
    body.post-type-archive-product .sidebar-link.current-cat::before {
        height: 25px !important;
        opacity: 1;
        background: var(--stamen-gold) !important;
    }

    body.woocommerce-shop .sidebar-link span:first-child,
    body.post-type-archive-product .sidebar-link span:first-child {
        min-width: 0;
    }

    body.woocommerce-shop .sidebar-link .count,
    body.post-type-archive-product .sidebar-link .count {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        min-width: auto;
        height: auto;
        padding: 0 0 0 0.7rem !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: rgba(107, 74, 58, 0.42) !important;
        font-size: 0.62rem !important;
        letter-spacing: 0.04em !important;
        line-height: 1;
        opacity: 1 !important;
    }

    body.woocommerce-shop .sidebar-link.active .count,
    body.woocommerce-shop .sidebar-link.current-cat .count,
    body.post-type-archive-product .sidebar-link.active .count,
    body.post-type-archive-product .sidebar-link.current-cat .count {
        color: rgba(154, 111, 65, 0.9) !important;
    }
}

@media (max-width: 1023px) {
    body.woocommerce-shop .shop-collection-sidebar,
    body.post-type-archive-product .shop-collection-sidebar {
        top: 66px !important;
        width: 100vw !important;
        max-width: none !important;
        margin: 0 calc(50% - 50vw) clamp(1.65rem, 5vw, 2.25rem) !important;
        padding: 0.72rem 0 0.76rem !important;
        border-top: 1px solid rgba(212, 169, 106, 0.14) !important;
        border-bottom: 1px solid rgba(212, 169, 106, 0.16) !important;
        background: rgba(255, 251, 246, 0.92) !important;
        box-shadow: 0 10px 28px rgba(107, 74, 58, 0.045) !important;
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    body.woocommerce-shop .shop-collection-panel,
    body.post-type-archive-product .shop-collection-panel {
        padding: 0 18px !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.woocommerce-shop .shop-sidebar-title,
    body.post-type-archive-product .shop-sidebar-title {
        margin: 0 0 0.58rem !important;
        padding: 0 !important;
        border: 0 !important;
        color: rgba(154, 111, 65, 0.88) !important;
        font-family: var(--font-body) !important;
        font-size: 0.64rem !important;
        letter-spacing: 0.24em !important;
        line-height: 1;
        text-transform: uppercase;
    }

    body.woocommerce-shop .sidebar-nav,
    body.post-type-archive-product .sidebar-nav {
        display: flex !important;
        flex-flow: row nowrap !important;
        gap: 0.52rem !important;
        overflow-x: auto !important;
        padding: 0.06rem 18px 0.18rem 0 !important;
        scroll-padding-inline: 18px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    body.woocommerce-shop .sidebar-nav::-webkit-scrollbar,
    body.post-type-archive-product .sidebar-nav::-webkit-scrollbar {
        display: none;
    }

    body.woocommerce-shop .sidebar-link,
    body.post-type-archive-product .sidebar-link {
        flex: 0 0 auto;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 0.52rem;
        min-height: 38px !important;
        max-width: 78vw;
        padding: 0.58rem 0.82rem !important;
        border: 1px solid rgba(212, 169, 106, 0.2) !important;
        border-radius: 999px !important;
        background: rgba(255, 248, 249, 0.58) !important;
        box-shadow: none !important;
        color: rgba(107, 74, 58, 0.68) !important;
        font-family: var(--font-body) !important;
        font-size: 0.66rem !important;
        font-weight: 500;
        letter-spacing: 0.13em !important;
        line-height: 1 !important;
        text-transform: uppercase;
        white-space: nowrap;
        transform: none !important;
    }

    body.woocommerce-shop .sidebar-link::before,
    body.post-type-archive-product .sidebar-link::before {
        display: none !important;
    }

    body.woocommerce-shop .sidebar-link:hover,
    body.post-type-archive-product .sidebar-link:hover {
        border-color: rgba(212, 169, 106, 0.34) !important;
        background: rgba(255, 251, 246, 0.88) !important;
        color: var(--branch-brown) !important;
    }

    body.woocommerce-shop .sidebar-link.active,
    body.woocommerce-shop .sidebar-link.current-cat,
    body.post-type-archive-product .sidebar-link.active,
    body.post-type-archive-product .sidebar-link.current-cat {
        border-color: rgba(154, 111, 65, 0.42) !important;
        background: rgba(255, 251, 246, 0.94) !important;
        box-shadow: inset 0 0 0 1px rgba(212, 169, 106, 0.12) !important;
        color: var(--branch-brown) !important;
    }

    body.woocommerce-shop .sidebar-link .count,
    body.post-type-archive-product .sidebar-link .count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.2rem;
        height: 1.2rem;
        padding: 0 0.28rem !important;
        border: 0 !important;
        border-radius: 999px;
        background: rgba(212, 169, 106, 0.13) !important;
        color: rgba(107, 74, 58, 0.6) !important;
        font-size: 0.58rem !important;
        letter-spacing: 0 !important;
        line-height: 1;
        opacity: 1 !important;
    }

    body.woocommerce-shop .sidebar-link.active .count,
    body.woocommerce-shop .sidebar-link.current-cat .count,
    body.post-type-archive-product .sidebar-link.active .count,
    body.post-type-archive-product .sidebar-link.current-cat .count {
        background: rgba(212, 169, 106, 0.2) !important;
        color: var(--branch-brown) !important;
    }
}

/* WooCommerce Cart Block page polish */
body.woocommerce-cart .wp-block-woocommerce-cart {
    width: min(1180px, calc(100vw - 48px));
    margin: 0 auto clamp(4.5rem, 8vw, 7rem) !important;
    color: var(--branch-brown);
}

body.woocommerce-cart .wp-block-woocommerce-cart::before {
    content: 'Your Cart';
    display: block;
    margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
    padding-bottom: 0.9rem;
    border-bottom: 1px solid rgba(212, 169, 106, 0.24);
    color: var(--branch-brown);
    font-family: var(--font-heading);
    font-size: clamp(2.35rem, 4.5vw, 3.65rem);
    font-weight: normal;
    line-height: 1;
}

body.woocommerce-cart .wc-block-components-main {
    padding-right: clamp(1.4rem, 3vw, 2.6rem) !important;
}

body.woocommerce-cart .wc-block-cart-items {
    border: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items__header {
    color: var(--stamen-gold-dark);
    font-family: var(--font-body);
    font-size: 0.68rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

body.woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 108px minmax(0, 1fr) auto;
    gap: 1rem;
    margin-bottom: 1rem !important;
    padding: 1rem !important;
    border: 1px solid rgba(212, 169, 106, 0.16) !important;
    border-radius: 7px;
    background: rgba(255, 251, 246, 0.68) !important;
    box-shadow: 0 14px 34px rgba(107, 74, 58, 0.052);
}

body.woocommerce-cart .wc-block-cart-item__image {
    width: 108px !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
    width: 108px !important;
    height: 108px !important;
    border: 1px solid rgba(212, 169, 106, 0.16);
    border-radius: 6px;
    background: rgba(255, 248, 249, 0.58);
    object-fit: cover;
}

body.woocommerce-cart .wc-block-cart-item__product {
    padding: 0.2rem 0 !important;
}

body.woocommerce-cart .wc-block-components-product-name {
    color: var(--branch-brown) !important;
    font-family: var(--font-heading);
    font-size: clamp(1.2rem, 1.8vw, 1.46rem);
    line-height: 1.22;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-metadata__description,
body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-cart .wc-block-components-product-details__name,
body.woocommerce-cart .wc-block-components-product-details__value {
    color: rgba(107, 74, 58, 0.72) !important;
    font-family: var(--font-body);
    font-size: 0.78rem !important;
    line-height: 1.55;
}

body.woocommerce-cart .wc-block-components-product-metadata {
    margin-top: 0.45rem;
}

body.woocommerce-cart .wc-block-cart-item__prices {
    margin: 0.38rem 0 0.55rem;
    color: var(--branch-brown);
    font-family: var(--font-body);
}

body.woocommerce-cart .wc-block-cart-item__total,
body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    align-self: start;
    color: var(--branch-brown) !important;
    font-family: var(--font-heading);
    font-size: 1.22rem;
    white-space: nowrap;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
    width: 118px !important;
    height: 40px !important;
    margin-top: 0.7rem;
    border: 1px solid rgba(212, 169, 106, 0.24) !important;
    border-radius: 4px !important;
    background: rgba(255, 248, 249, 0.7) !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wc-block-components-quantity-selector button {
    color: var(--branch-brown) !important;
    font-family: var(--font-body) !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
    margin-left: 0.7rem !important;
    color: rgba(107, 74, 58, 0.62) !important;
    font-family: var(--font-body);
    font-size: 0.72rem !important;
    letter-spacing: 0.08em;
    text-decoration: none !important;
    text-transform: uppercase;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: var(--branch-brown) !important;
}

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
    position: sticky;
    top: 118px;
    align-self: flex-start;
}

body.woocommerce-cart .wc-block-components-sidebar {
    padding: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
    border: 1px solid rgba(212, 169, 106, 0.18) !important;
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.78), rgba(255, 248, 249, 0.54)) !important;
    box-shadow: 0 18px 48px rgba(107, 74, 58, 0.058);
}

body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block,
body.woocommerce-cart .wc-block-cart__totals-title {
    padding: 1.05rem 1.2rem !important;
    border-bottom: 1px solid rgba(212, 169, 106, 0.2);
    color: rgba(107, 74, 58, 0.8);
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body.woocommerce-cart .wc-block-components-totals-wrapper {
    padding: 1rem 1.2rem !important;
    border-top: 1px solid rgba(212, 169, 106, 0.14) !important;
}

body.woocommerce-cart .wc-block-components-totals-item {
    color: var(--branch-brown);
    font-family: var(--font-body);
}

body.woocommerce-cart .wc-block-components-totals-footer-item {
    font-family: var(--font-heading);
    font-size: 1.28rem;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-cart .wc-block-components-button:not(.is-link),
body.woocommerce-cart .wc-block-cart__submit-button {
    min-height: 48px !important;
    border: 1.5px solid var(--branch-brown) !important;
    border-radius: 4px !important;
    background: linear-gradient(135deg, var(--branch-brown), #7a5544) !important;
    color: var(--blossom-white) !important;
    font-family: var(--font-body) !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    box-shadow: 0 12px 28px rgba(107, 74, 58, 0.16) !important;
}

body.woocommerce-cart .wc-block-components-button:not(.is-link):hover,
body.woocommerce-cart .wc-block-cart__submit-button:hover {
    border-color: var(--stamen-gold) !important;
    background: linear-gradient(135deg, #7a5544, var(--branch-brown)) !important;
    color: var(--stamen-gold-light) !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon-link,
body.woocommerce-cart .wc-block-components-totals-coupon__button {
    color: var(--branch-brown) !important;
}

body.woocommerce-cart .wc-block-components-text-input input {
    min-height: 46px !important;
    border: 1px solid rgba(212, 169, 106, 0.28) !important;
    border-radius: 4px !important;
    background: rgba(255, 248, 249, 0.66) !important;
    color: var(--branch-brown) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-accepted-payment-methods-block {
    color: rgba(107, 74, 58, 0.62);
    font-family: var(--font-body);
    font-size: 0.82rem;
    line-height: 1.55;
}

@media (max-width: 900px) {
    body.woocommerce-cart .wp-block-woocommerce-cart {
        width: min(100%, calc(100vw - 32px));
    }

    body.woocommerce-cart .wc-block-components-main {
        padding-right: 0 !important;
    }

    body.woocommerce-cart .wc-block-cart-items__row {
        grid-template-columns: 82px minmax(0, 1fr);
        padding: 0.86rem !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image,
    body.woocommerce-cart .wc-block-cart-item__image img {
        width: 82px !important;
        height: 82px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__total {
        grid-column: 2;
        font-size: 1.08rem;
    }

    body.woocommerce-cart .wc-block-components-sidebar,
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
        position: relative;
        top: auto;
    }
}

@media (max-width: 520px) {
    body.woocommerce-cart .wp-block-woocommerce-cart::before {
        font-size: 2.25rem;
    }

    body.woocommerce-cart .wc-block-cart-items__row {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 0.8rem;
    }

    body.woocommerce-cart .wc-block-cart-item__image,
    body.woocommerce-cart .wc-block-cart-item__image img {
        width: 72px !important;
        height: 72px !important;
    }

    body.woocommerce-cart .wc-block-components-product-name {
        font-size: 1.12rem;
    }

    body.woocommerce-cart .wc-block-components-product-metadata__description {
        display: none;
    }
}

/* WooCommerce Checkout Block page polish */
body.woocommerce-checkout .wp-block-woocommerce-checkout {
    width: min(1180px, calc(100vw - 48px));
    margin: 0 auto clamp(4.5rem, 8vw, 7rem) !important;
    color: var(--branch-brown);
}

body.woocommerce-checkout .wp-block-woocommerce-checkout::before {
    content: 'Checkout';
    display: block;
    margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
    padding-bottom: 0.9rem;
    border-bottom: 1px solid rgba(212, 169, 106, 0.24);
    color: var(--branch-brown);
    font-family: var(--font-heading);
    font-size: clamp(2.35rem, 4.5vw, 3.65rem);
    font-weight: normal;
    line-height: 1;
}

body.woocommerce-checkout .wc-block-checkout__main {
    padding-right: clamp(1.4rem, 3vw, 2.6rem) !important;
}

body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar {
    position: sticky;
    top: 118px;
    align-self: flex-start;
    padding: 0 !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-order-summary {
    border: 1px solid rgba(212, 169, 106, 0.18) !important;
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.78), rgba(255, 248, 249, 0.54)) !important;
    box-shadow: 0 18px 48px rgba(107, 74, 58, 0.052);
}

body.woocommerce-checkout .wc-block-components-checkout-step {
    margin-bottom: 1rem;
    padding: clamp(1rem, 2vw, 1.35rem) !important;
}

body.woocommerce-checkout .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-components-title,
body.woocommerce-checkout .wc-block-components-order-summary__title {
    margin-bottom: 0.9rem !important;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(212, 169, 106, 0.18);
    color: var(--branch-brown);
    font-family: var(--font-heading);
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    font-weight: normal;
    line-height: 1.1;
}

body.woocommerce-checkout .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-components-radio-control__label,
body.woocommerce-checkout .wc-block-components-radio-control__description,
body.woocommerce-checkout .wc-block-components-validation-error,
body.woocommerce-checkout .wc-block-components-order-summary-item__description {
    color: rgba(107, 74, 58, 0.72) !important;
    font-family: var(--font-body);
    line-height: 1.58;
}

body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
body.woocommerce-checkout .wc-block-components-textarea {
    min-height: 48px !important;
    border: 1px solid rgba(212, 169, 106, 0.28) !important;
    border-radius: 5px !important;
    background: rgba(255, 248, 249, 0.66) !important;
    color: var(--branch-brown) !important;
    font-family: var(--font-body) !important;
}

body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-combobox label,
body.woocommerce-checkout .wc-block-components-checkbox label,
body.woocommerce-checkout .wc-block-components-radio-control label {
    color: rgba(107, 74, 58, 0.82) !important;
    font-family: var(--font-body) !important;
}

body.woocommerce-checkout .wc-block-components-radio-control__option {
    border-color: rgba(212, 169, 106, 0.18) !important;
    background: rgba(255, 251, 246, 0.46);
}

body.woocommerce-checkout .wc-block-components-order-summary {
    overflow: hidden;
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
    padding: 1rem 1.2rem !important;
    border-bottom: 1px solid rgba(212, 169, 106, 0.14) !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image > img {
    border: 1px solid rgba(212, 169, 106, 0.16);
    border-radius: 5px;
    object-fit: cover;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
    color: var(--branch-brown) !important;
    font-family: var(--font-body);
}

body.woocommerce-checkout .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-panel {
    padding: 1rem 1.2rem !important;
    border-top: 1px solid rgba(212, 169, 106, 0.14) !important;
}

body.woocommerce-checkout .wc-block-components-totals-footer-item {
    color: var(--branch-brown);
    font-family: var(--font-heading);
    font-size: 1.28rem;
}

body.woocommerce-checkout .wc-block-components-button:not(.is-link),
body.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-button {
    min-height: 50px !important;
    border: 1.5px solid var(--branch-brown) !important;
    border-radius: 4px !important;
    background: linear-gradient(135deg, var(--branch-brown), #7a5544) !important;
    color: var(--blossom-white) !important;
    font-family: var(--font-body) !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    box-shadow: 0 12px 28px rgba(107, 74, 58, 0.16) !important;
}

body.woocommerce-checkout .wc-block-components-button:not(.is-link):hover,
body.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-button:hover {
    border-color: var(--stamen-gold) !important;
    background: linear-gradient(135deg, #7a5544, var(--branch-brown)) !important;
    color: var(--stamen-gold-light) !important;
}

body.woocommerce-checkout .wc-block-components-button.is-link {
    color: var(--branch-brown) !important;
    font-family: var(--font-body);
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

@media (max-width: 900px) {
    body.woocommerce-checkout .wp-block-woocommerce-checkout {
        width: min(100%, calc(100vw - 32px));
    }

    body.woocommerce-checkout .wc-block-checkout__main {
        padding-right: 0 !important;
    }

    body.woocommerce-checkout .wc-block-components-sidebar,
    body.woocommerce-checkout .wc-block-checkout__sidebar {
        position: relative;
        top: auto;
    }
}

@media (max-width: 520px) {
    body.woocommerce-checkout .wp-block-woocommerce-checkout::before {
        font-size: 2.25rem;
    }

    body.woocommerce-checkout .wc-block-components-checkout-step {
        padding: 0.92rem !important;
    }
}

/* Remaining WooCommerce surface polish */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    width: min(1040px, calc(100vw - 48px));
    margin: 0 auto clamp(4.5rem, 8vw, 7rem);
    padding: clamp(1.5rem, 4vw, 2.4rem);
    border: 1px solid rgba(212, 169, 106, 0.18);
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.74), rgba(255, 248, 249, 0.5));
    box-shadow: 0 18px 48px rgba(107, 74, 58, 0.052);
}

body.woocommerce-cart .wc-block-cart__empty-cart__title,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading {
    color: var(--branch-brown);
    font-family: var(--font-heading);
    font-weight: normal;
}

body.woocommerce-cart .wc-block-grid__products {
    gap: 1rem !important;
}

body.woocommerce-cart .wc-block-grid__product {
    padding: 1rem !important;
    border: 1px solid rgba(212, 169, 106, 0.16);
    border-radius: 7px;
    background: rgba(255, 251, 246, 0.64);
}

body.woocommerce-cart .wc-block-grid__product-image img {
    border-radius: 5px;
    object-fit: cover;
}

body.woocommerce-cart .wc-block-grid__product-title,
body.woocommerce-cart .wc-block-grid__product-price {
    color: var(--branch-brown);
    font-family: var(--font-body);
}

body.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link,
body.woocommerce-account .woocommerce-button,
body.woocommerce-account .woocommerce-Button,
body.woocommerce-account button.button {
    border: 1.5px solid var(--branch-brown) !important;
    border-radius: 4px !important;
    background: linear-gradient(135deg, var(--branch-brown), #7a5544) !important;
    color: var(--blossom-white) !important;
    font-family: var(--font-body) !important;
    font-size: 0.68rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

body.woocommerce-account main,
body.woocommerce-order-received main {
    padding-left: clamp(1rem, 4vw, 3rem);
    padding-right: clamp(1rem, 4vw, 3rem);
}

body.woocommerce-account .woocommerce,
body.woocommerce-order-received .woocommerce {
    width: min(1120px, 100%);
    margin: 0 auto clamp(4.5rem, 8vw, 7rem);
    color: var(--branch-brown);
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register,
body.woocommerce-account .woocommerce-ResetPassword,
body.woocommerce-order-received .woocommerce-order {
    padding: clamp(1.1rem, 3vw, 1.8rem);
    border: 1px solid rgba(212, 169, 106, 0.18);
    border-radius: 7px;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.72), rgba(255, 248, 249, 0.52));
    box-shadow: 0 18px 48px rgba(107, 74, 58, 0.052);
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 0.78rem 0;
    border-bottom: 1px solid rgba(212, 169, 106, 0.14);
    color: rgba(107, 74, 58, 0.78);
    font-family: var(--font-body);
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
    color: var(--branch-brown);
}

body.woocommerce-account h1,
body.woocommerce-account h2,
body.woocommerce-account h3,
body.woocommerce-order-received h1,
body.woocommerce-order-received h2,
body.woocommerce-order-received h3,
body.woocommerce-thankyou-order-received {
    color: var(--branch-brown);
    font-family: var(--font-heading);
    font-weight: normal;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received {
    margin-bottom: 1.2rem;
    font-size: clamp(1.7rem, 3vw, 2.3rem);
}

body.woocommerce-order-received .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0.8rem;
    margin: 1.4rem 0;
    padding: 0;
    list-style: none;
}

body.woocommerce-order-received .woocommerce-order-overview li {
    padding: 0.85rem;
    border: 1px solid rgba(212, 169, 106, 0.16);
    border-radius: 5px;
    background: rgba(255, 248, 249, 0.58);
    color: rgba(107, 74, 58, 0.72);
    font-family: var(--font-body);
}

@media (max-width: 768px) {
    body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
        width: min(100%, calc(100vw - 32px));
        padding: 1.05rem;
    }
}

/* Final cart page and header placement pass */
body.woocommerce-page .navbar {
    padding-left: clamp(1rem, 2.2vw, 2.35rem) !important;
}

body.woocommerce-page .navbar__logo {
    flex: 0 0 160px !important;
    width: 160px !important;
    max-width: 160px !important;
    min-width: 160px !important;
    overflow: hidden !important;
    margin-left: 0 !important;
    transform: translateX(-0.35rem) !important;
}

body.woocommerce-page .navbar__logo-img {
    display: block !important;
    width: 160px !important;
    max-width: 160px !important;
    height: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

@media (max-width: 900px) {
    body.woocommerce-page .navbar {
        padding-left: max(0.82rem, env(safe-area-inset-left)) !important;
        padding-right: max(1rem, env(safe-area-inset-right)) !important;
    }

    body.woocommerce-page .navbar__logo {
        flex-basis: 112px !important;
        width: 112px !important;
        max-width: 112px !important;
        min-width: 112px !important;
        transform: translateX(-0.08rem) !important;
    }

    body.woocommerce-page .navbar__logo-img {
        width: 112px !important;
        max-width: 112px !important;
        height: 42px !important;
        max-height: 42px !important;
    }
}

body.woocommerce-cart .entry-title,
body.woocommerce-cart h1.wp-block-post-title,
body.woocommerce-cart .woocommerce > h1:first-child {
    display: none !important;
}

body.woocommerce-cart main,
body.woocommerce-cart .site-main {
    padding-top: clamp(7.6rem, 10vw, 9.4rem) !important;
    padding-bottom: clamp(4.5rem, 8vw, 7rem) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart {
    width: min(1260px, calc(100vw - clamp(2rem, 7vw, 7rem))) !important;
    margin: 0 auto clamp(5rem, 8vw, 7.5rem) !important;
    color: var(--branch-brown) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart::before {
    content: 'Your Cart';
    display: block;
    margin: 0 0 clamp(1.7rem, 3.6vw, 2.8rem);
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(212, 169, 106, 0.26);
    color: var(--branch-brown);
    font-family: var(--font-heading);
    font-size: clamp(2.75rem, 5vw, 4.35rem);
    font-weight: 400;
    line-height: 0.95;
}

body.woocommerce-cart .wc-block-components-sidebar-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 390px);
    gap: clamp(1.75rem, 4vw, 3.4rem);
    align-items: start;
}

body.woocommerce-cart .wc-block-components-main {
    width: 100% !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
}

body.woocommerce-cart .wc-block-cart-items thead {
    display: none !important;
}

body.woocommerce-cart .wc-block-cart-items tbody {
    display: grid !important;
    gap: 1rem;
}

body.woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 128px minmax(0, 1fr) auto;
    gap: 1.2rem;
    align-items: start;
    margin: 0 !important;
    padding: 1.05rem !important;
    border: 1px solid rgba(212, 169, 106, 0.18) !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.82), rgba(255, 248, 249, 0.62)) !important;
    box-shadow: 0 18px 44px rgba(107, 74, 58, 0.055) !important;
}

body.woocommerce-cart .wc-block-cart-items__row td {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.woocommerce-cart .wc-block-cart-item__image,
body.woocommerce-cart .wc-block-cart-item__image a {
    width: 128px !important;
}

body.woocommerce-cart .wc-block-cart-item__image img {
    width: 128px !important;
    height: 128px !important;
    border: 1px solid rgba(212, 169, 106, 0.18) !important;
    border-radius: 7px !important;
    background: rgba(255, 248, 249, 0.58) !important;
    object-fit: cover !important;
}

body.woocommerce-cart .wc-block-cart-item__product {
    min-width: 0;
    padding-top: 0.1rem !important;
}

body.woocommerce-cart .wc-block-components-product-name {
    display: inline-block;
    max-width: 100%;
    color: var(--branch-brown) !important;
    font-family: var(--font-heading) !important;
    font-size: clamp(1.3rem, 2vw, 1.65rem) !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
}

body.woocommerce-cart .wc-block-components-product-metadata__description {
    max-width: 48rem;
    margin-top: 0.45rem !important;
    color: rgba(107, 74, 58, 0.68) !important;
    font-family: var(--font-body) !important;
    font-size: 0.86rem !important;
    line-height: 1.55 !important;
}

body.woocommerce-cart .wc-block-components-product-details {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.38rem;
    margin: 0.65rem 0 0.2rem !important;
    padding: 0 !important;
}

body.woocommerce-cart .wc-block-components-product-details li {
    display: inline-flex;
    align-items: center;
    gap: 0.22rem;
    margin: 0 !important;
    padding: 0.24rem 0.48rem !important;
    border: 1px solid rgba(212, 169, 106, 0.16);
    border-radius: 999px;
    background: rgba(255, 248, 249, 0.66);
    color: rgba(107, 74, 58, 0.72);
    font-family: var(--font-body);
    font-size: 0.72rem;
    line-height: 1.15;
}

body.woocommerce-cart .wc-block-components-product-details__name,
body.woocommerce-cart .wc-block-components-product-details__value {
    color: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

body.woocommerce-cart .wc-block-cart-item__quantity {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-top: 0.9rem;
}

body.woocommerce-cart .wc-block-components-quantity-selector {
    width: 124px !important;
    height: 42px !important;
    margin: 0 !important;
    border: 1px solid rgba(212, 169, 106, 0.24) !important;
    border-radius: 5px !important;
    background: rgba(255, 251, 246, 0.78) !important;
    box-shadow: none !important;
}

body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-cart .wc-block-components-quantity-selector button {
    min-height: 40px !important;
    color: var(--branch-brown) !important;
    font-family: var(--font-body) !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link {
    color: rgba(107, 74, 58, 0.58) !important;
    font-family: var(--font-body) !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.14em !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
    color: var(--branch-brown) !important;
}

body.woocommerce-cart .wc-block-cart-item__total {
    min-width: 6.5rem;
    color: var(--branch-brown) !important;
    font-family: var(--font-heading) !important;
    font-size: 1.35rem !important;
    font-weight: 400 !important;
    text-align: right;
    white-space: nowrap;
}

body.woocommerce-cart .wc-block-cart-item__prices {
    margin: 0.45rem 0 0 !important;
    color: rgba(107, 74, 58, 0.72) !important;
    font-family: var(--font-body) !important;
}

body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
    position: sticky !important;
    top: 118px !important;
    width: 100% !important;
    padding: 0 !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block,
body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
    overflow: hidden;
    border: 1px solid rgba(212, 169, 106, 0.2) !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg, rgba(255, 251, 246, 0.86), rgba(255, 248, 249, 0.64)) !important;
    box-shadow: 0 20px 52px rgba(107, 74, 58, 0.062) !important;
}

body.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block,
body.woocommerce-cart .wc-block-cart__totals-title {
    padding: 1.15rem 1.25rem !important;
    border-bottom: 1px solid rgba(212, 169, 106, 0.2) !important;
    color: rgba(154, 111, 65, 0.9) !important;
    font-family: var(--font-body) !important;
    font-size: 0.68rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.22em !important;
    text-transform: uppercase !important;
}

body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-panel,
body.woocommerce-cart .wc-block-components-totals-coupon {
    padding: 1rem 1.25rem !important;
    border-color: rgba(212, 169, 106, 0.16) !important;
}

body.woocommerce-cart .wc-block-components-totals-item {
    color: var(--branch-brown) !important;
    font-family: var(--font-body) !important;
}

body.woocommerce-cart .wc-block-components-totals-footer-item {
    font-family: var(--font-heading) !important;
    font-size: 1.4rem !important;
}

body.woocommerce-cart .wc-block-components-totals-coupon-link {
    color: var(--branch-brown) !important;
    font-family: var(--font-body) !important;
    letter-spacing: 0.06em;
    text-decoration-color: rgba(212, 169, 106, 0.7) !important;
}

body.woocommerce-cart .wc-block-components-text-input input {
    min-height: 46px !important;
    border: 1px solid rgba(212, 169, 106, 0.28) !important;
    border-radius: 5px !important;
    background: rgba(255, 248, 249, 0.72) !important;
    color: var(--branch-brown) !important;
    font-family: var(--font-body) !important;
}

body.woocommerce-cart .wc-block-components-button:not(.is-link),
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-totals-coupon__button {
    min-height: 50px !important;
    border: 1px solid rgba(107, 74, 58, 0.88) !important;
    border-radius: 4px !important;
    background: linear-gradient(135deg, var(--branch-brown), #7a5544) !important;
    color: var(--blossom-white) !important;
    font-family: var(--font-body) !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    line-height: 1 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    box-shadow: 0 12px 28px rgba(107, 74, 58, 0.16) !important;
}

body.woocommerce-cart .wc-block-components-button:not(.is-link):hover,
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-components-totals-coupon__button:hover {
    border-color: var(--stamen-gold) !important;
    background: var(--branch-brown) !important;
    color: var(--stamen-gold-light) !important;
    transform: translateY(-1px);
}

@media (max-width: 900px) {
    body.woocommerce-cart main,
    body.woocommerce-cart .site-main {
        padding-top: 6.25rem !important;
    }

    body.woocommerce-cart .wp-block-woocommerce-cart {
        width: min(100%, calc(100vw - 32px)) !important;
    }

    body.woocommerce-cart .wc-block-components-sidebar-layout {
        display: block !important;
    }

    body.woocommerce-cart .wc-block-components-main {
        margin-bottom: 1.25rem !important;
    }

    body.woocommerce-cart .wc-block-cart-items__row {
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 0.9rem;
        padding: 0.88rem !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image,
    body.woocommerce-cart .wc-block-cart-item__image a,
    body.woocommerce-cart .wc-block-cart-item__image img {
        width: 92px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image img {
        height: 92px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__total {
        grid-column: 2;
        min-width: 0;
        margin-top: 0.55rem;
        font-size: 1.18rem !important;
        text-align: left;
    }

    body.woocommerce-cart .wc-block-components-sidebar,
    body.woocommerce-cart .wp-block-woocommerce-cart-totals-block {
        position: relative !important;
        top: auto !important;
    }
}

@media (max-width: 520px) {
    body.woocommerce-cart .wp-block-woocommerce-cart::before {
        font-size: 2.45rem;
    }

    body.woocommerce-cart .wc-block-cart-items__row {
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 0.78rem;
    }

    body.woocommerce-cart .wc-block-cart-item__image,
    body.woocommerce-cart .wc-block-cart-item__image a,
    body.woocommerce-cart .wc-block-cart-item__image img {
        width: 78px !important;
    }

    body.woocommerce-cart .wc-block-cart-item__image img {
        height: 78px !important;
    }

    body.woocommerce-cart .wc-block-components-product-name {
        font-size: 1.12rem !important;
    }

    body.woocommerce-cart .wc-block-components-product-metadata__description {
        display: none !important;
    }

    body.woocommerce-cart .wc-block-cart-item__quantity {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.55rem;
    }
}

.grain {
  position: fixed;
  top: -50%;
  right: -50%;
  bottom: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  pointer-events: none;
  z-index: 90;
  opacity: 0.18;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 300 300' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E");
  animation: grain 8s steps(10) infinite;
  will-change: transform;
}

@keyframes grain {
  0%, 100% { transform: translate(0); }
  20% { transform: translate(-3%, 2%); }
  40% { transform: translate(2%, -3%); }
  60% { transform: translate(-2%, -2%); }
  80% { transform: translate(3%, 3%); }
}

@media (prefers-reduced-motion: reduce) {
  .grain {
    animation: none;
  }
}
