/* ============================================
   Nutman Shop Styles — v2.0.0
   Brand colors: Dark brown #332d2a, Gold #d4a843, Red #aa1328
   Fonts: Roboto Condensed / Roboto Slab (theme defaults)
   ============================================ */

/* ============================================
   Divi Theme Builder Overrides — Shop Page
   These target the actual Divi-rendered sections
   since archive-product.php is bypassed.
   ============================================ */

/* ---- Section 0: Hide the big "ONLINE SHOP" h1 section entirely ---- */
body.woocommerce-shop .et_pb_section_0_tb_body,
body.tax-product_cat .et_pb_section_0_tb_body {
    display: none !important;
}

/* ---- Section 1: Category pills as sticky toolbar ---- */
body.woocommerce-shop .et_pb_section_1_tb_body,
body.tax-product_cat .et_pb_section_1_tb_body,
.et-db #et-boc .et-l .et_pb_section_1_tb_body.et_pb_section,
body.et-db #page-container #et-boc .et-l .et_pb_section_1_tb_body.et_pb_section {
    position: sticky !important;
    top: 0;
    z-index: 100;
    background: #332d2a !important;
    background-color: #332d2a !important;
    border-bottom: none;
    padding: 12px 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* Search bar injected by JS into this section */
.nutman-toolbar-search {
    flex-shrink: 0;
    width: 320px;
}

.nutman-toolbar-search .nutman-shop-search__form {
    display: flex;
    border: 2px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.12);
    transition: border-color 0.2s, background 0.2s;
}

.nutman-toolbar-search .nutman-shop-search__form:focus-within {
    border-color: #d4a843;
    background: rgba(255, 255, 255, 0.18);
}

.nutman-toolbar-search .nutman-shop-search__input {
    flex: 1;
    border: none;
    padding: 10px 14px;
    font-size: 15px;
    outline: none;
    background: transparent;
    min-width: 0;
    color: #fff;
    -webkit-text-fill-color: #fff;
}

.nutman-toolbar-search .nutman-shop-search__input::placeholder {
    color: rgba(255, 255, 255, 0.6);
    -webkit-text-fill-color: rgba(255, 255, 255, 0.6);
}

.nutman-toolbar-search .nutman-shop-search__btn {
    background: #d4a843;
    border: none;
    padding: 10px 14px;
    cursor: pointer;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.nutman-toolbar-search .nutman-shop-search__btn:hover {
    background: #c0952e;
}

/* DIPI Button Grid → wrapping row */
body.woocommerce-shop .dipi-button-grid-container,
body.tax-product_cat .dipi-button-grid-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px;
    justify-content: flex-start !important;
}

body.woocommerce-shop .dipi-button-grid-container::-webkit-scrollbar,
body.tax-product_cat .dipi-button-grid-container::-webkit-scrollbar {
    display: none;
}

/* Restyle DIPI buttons as category pills */
body.woocommerce-shop .dipi_button_grid_child,
body.tax-product_cat .dipi_button_grid_child {
    flex-shrink: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ultra-high specificity to beat Divi's inline <style> which uses
   body.et-db #page-container #et-boc .et-l .et_pb_section .dipi_button_grid_child_X_tb_body .dipi-button-wrap
   We must match 3 IDs + classes to win. */
body.et-db #page-container #et-boc .et-l .et_pb_section .dipi_button_grid_child .dipi-button-grid.dipi-button-wrap,
body #page-container .et_pb_section .dipi_button_grid_child .et_pb_module_inner .dipi-button-grid.et_pb_button,
body.woocommerce-shop .dipi-button-grid.dipi-button-wrap.et_pb_button,
body.tax-product_cat .dipi-button-grid.dipi-button-wrap.et_pb_button {
    padding: 8px 20px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 20px !important;
    border: 1.5px solid #aa1328 !important;
    background-color: #aa1328 !important;
    background-image: none !important;
    color: #fff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    white-space: nowrap;
    transition: all 0.2s !important;
    line-height: 1.4 !important;
}

body.et-db #page-container #et-boc .et-l .et_pb_section .dipi_button_grid_child .dipi-button-grid.dipi-button-wrap:hover,
body #page-container .et_pb_section .dipi_button_grid_child .et_pb_module_inner .dipi-button-grid.et_pb_button:hover,
body.woocommerce-shop .dipi-button-grid.dipi-button-wrap.et_pb_button:hover,
body.tax-product_cat .dipi-button-grid.dipi-button-wrap.et_pb_button:hover {
    border-color: #8e1022 !important;
    background-color: #8e1022 !important;
    color: #fff !important;
}

/* Active category pill (set by JS on taxonomy pages) */
body.et-db #page-container #et-boc .et-l .et_pb_section .dipi_button_grid_child .dipi-button-grid.dipi-button-wrap.nutman-cat-active,
body #page-container .et_pb_section .dipi-button-grid.et_pb_button.nutman-cat-active,
body.woocommerce-shop .dipi-button-grid.dipi-button-wrap.et_pb_button.nutman-cat-active,
body.tax-product_cat .dipi-button-grid.dipi-button-wrap.et_pb_button.nutman-cat-active {
    background-color: #d4a843 !important;
    border-color: #d4a843 !important;
    color: #332d2a !important;
    font-weight: 800 !important;
}

body.et-db #page-container #et-boc .et-l .et_pb_section .dipi_button_grid_child .dipi-button-grid.dipi-button-wrap.nutman-cat-active:hover,
body #page-container .et_pb_section .dipi-button-grid.et_pb_button.nutman-cat-active:hover,
body.woocommerce-shop .dipi-button-grid.dipi-button-wrap.et_pb_button.nutman-cat-active:hover,
body.tax-product_cat .dipi-button-grid.dipi-button-wrap.et_pb_button.nutman-cat-active:hover {
    background-color: #c0952e !important;
    border-color: #c0952e !important;
    color: #fff !important;
}

/* Hide Divi's button arrow icons */
body.woocommerce-shop .dipi-button-grid.et_pb_button::after,
body.woocommerce-shop .dipi-button-grid.et_pb_button::before,
body.tax-product_cat .dipi-button-grid.et_pb_button::after,
body.tax-product_cat .dipi-button-grid.et_pb_button::before {
    display: none !important;
}

/* Toolbar inner row — make it flex for search + categories */
body.woocommerce-shop .et_pb_section_1_tb_body > .et_pb_row,
body.tax-product_cat .et_pb_section_1_tb_body > .et_pb_row {
    display: flex !important;
    align-items: center;
    gap: 16px;
}

/* ---- Section 2: Hide empty spacer section ---- */
body.woocommerce-shop .et_pb_section_2_tb_body,
body.tax-product_cat .et_pb_section_2_tb_body {
    display: none !important;
}

/* Reduce whitespace above the shop grid */
body.woocommerce-shop .et_pb_section_3_tb_body,
body.tax-product_cat .et_pb_section_3_tb_body {
    padding-top: 10px !important;
}

/* ---- Section 3: Product grid full width ---- */
body.woocommerce-shop .et_pb_section_3_tb_body .et_pb_row,
body.tax-product_cat .et_pb_section_3_tb_body .et_pb_row {
    max-width: 1280px !important;
    padding-top: 10px !important;
}

/* Tablet/mobile toolbar stacking — search above buttons */
@media (max-width: 980px) {
    body.woocommerce-shop .et_pb_section_1_tb_body > .et_pb_row,
    body.tax-product_cat .et_pb_section_1_tb_body > .et_pb_row {
        flex-direction: column !important;
        gap: 8px;
    }

    .nutman-toolbar-search {
        width: 100%;
    }

    body.woocommerce-shop .dipi-button-grid-container,
    body.tax-product_cat .dipi-button-grid-container {
        width: 100%;
        flex-wrap: wrap !important;
        gap: 6px;
    }
}

/* ---- Compact Shop Header (breadcrumb only — fallback when template renders) ---- */
.nutman-shop-header {
    background: #332d2a;
    padding: 8px 0;
}

.nutman-shop-header__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.nutman-shop-header .woocommerce-breadcrumb {
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
    margin: 0;
}

.nutman-shop-header .woocommerce-breadcrumb a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}

.nutman-shop-header .woocommerce-breadcrumb a:hover {
    color: #d4a843;
}

/* ---- Sticky Toolbar (search + category pills) ---- */
.nutman-shop-toolbar {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fff;
    border-bottom: 1px solid #e5e5e5;
    padding: 10px 0;
}

.nutman-shop-toolbar__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Search field inside toolbar */
.nutman-shop-toolbar__search {
    flex-shrink: 0;
    width: 280px;
}

.nutman-shop-search__form {
    display: flex;
    border: 2px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: border-color 0.2s;
}

.nutman-shop-search__form:focus-within {
    border-color: #d4a843;
}

.nutman-shop-search__input {
    flex: 1;
    border: none;
    padding: 8px 12px;
    font-size: 14px;
    outline: none;
    background: transparent;
    min-width: 0;
}

.nutman-shop-search__btn {
    background: #d4a843;
    border: none;
    padding: 8px 12px;
    cursor: pointer;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.nutman-shop-search__btn:hover {
    background: #c0952e;
}

/* Category pills inside toolbar */
.nutman-shop-toolbar__categories {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    flex: 1;
    min-width: 0;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.nutman-shop-toolbar__categories::-webkit-scrollbar {
    display: none;
}

.nutman-cat-btn {
    display: inline-block;
    padding: 6px 16px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 20px;
    border: 1.5px solid #ddd;
    background: #fff;
    color: #332d2a;
    text-decoration: none;
    transition: all 0.2s;
    white-space: nowrap;
    flex-shrink: 0;
}

.nutman-cat-btn:hover {
    border-color: #aa1328;
    color: #aa1328;
}

.nutman-cat-btn--active {
    background: #aa1328;
    border-color: #aa1328;
    color: #fff;
}

.nutman-cat-btn--active:hover {
    background: #8e1022;
    border-color: #8e1022;
    color: #fff;
}

/* ---- Mobile Toolbar ---- */
@media (max-width: 768px) {
    .nutman-shop-toolbar__inner {
        flex-direction: column;
        gap: 8px;
    }

    .nutman-shop-toolbar__search {
        width: 100%;
    }

    .nutman-shop-toolbar__categories {
        width: 100%;
        padding-bottom: 2px;
    }
}

/* ---- Shop Content ---- */
.nutman-shop-content {
    padding: 0 0 40px;
}

.nutman-shop-content__inner {
    max-width: 1200px;
    margin: 0 auto;
}

/* Override WooCommerce sidebar - full width */
.nutman-shop-content .woocommerce-products-header {
    display: none;
}

/* Remove duplicate breadcrumb */
.nutman-shop-content .woocommerce-breadcrumb {
    display: none;
}

/* Product grid full width */
.nutman-shop-content .products {
    width: 100%;
}

/* ---- Sort/Filter Bar ---- */
.nutman-shop-content .woocommerce-result-count,
.nutman-shop-content .woocommerce-ordering {
    margin: 12px 20px 12px 20px;
}

/* ---- Shop CTA Banner ---- */
.nutman-shop-cta {
    background: #faf5eb;
    border: 2px solid #d4a843;
    border-radius: 12px;
    padding: 32px 40px;
    text-align: center;
    margin: 40px 20px 0;
}

.nutman-shop-cta__title {
    color: #332d2a;
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 8px;
}

.nutman-shop-cta__text {
    color: #555;
    font-size: 15px;
    margin: 0 0 16px;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.nutman-shop-cta__btn {
    display: inline-block;
    background: #d4a843;
    color: #fff;
    padding: 12px 28px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.nutman-shop-cta__btn:hover {
    background: #c0952e;
    color: #fff;
}

/* ============================================
   Single Product — Hero
   ============================================ */
.nutman-sp-hero {
    background: #332d2a;
    padding: 16px 0;
}

.nutman-sp-hero__inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
}

.nutman-sp-hero__text {
}

.nutman-sp-hero__text h1 {
    font-size: 1.5rem;
    margin: 0;
    line-height: 1.3;
    color: #d4a843;
}

.nutman-sp-hero .woocommerce-breadcrumb {
    font-size: 13px;
    margin: 4px 0 0;
    color: rgba(255, 255, 255, 0.6);
}

.nutman-sp-hero .woocommerce-breadcrumb a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: color 0.2s;
}

.nutman-sp-hero .woocommerce-breadcrumb a:hover {
    color: #d4a843;
}

/* Continue Shopping back link */
.nutman-sp-hero__back {
    display: inline-block;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    margin-bottom: 4px;
    transition: color 0.2s;
    letter-spacing: 0.3px;
}

.nutman-sp-hero__back:hover {
    color: #d4a843;
}

/* ============================================
   Single Product — Layout (main + sidebar)
   ============================================ */
.nutman-sp-layout {
    max-width: 1280px;
    margin: 0 auto;
    padding: 24px 20px 40px;
}

.nutman-sp-main {
    min-width: 0;
}

/* Remove duplicate breadcrumb inside main content */
.nutman-sp-main .woocommerce-breadcrumb {
    display: none;
}

/* ============================================
   Single Product — Product (gallery + summary)
   ============================================ */
.nutman-sp-product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: start;
}

/* Override WooCommerce's default float-based layout */
.nutman-sp-product::before,
.nutman-sp-product::after {
    display: none !important;
    content: none !important;
}

.nutman-sp-gallery {
    min-width: 0;
    position: sticky;
    top: 24px;
    align-self: start;
}

.nutman-sp-gallery .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.nutman-sp-gallery .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    max-width: 100%;
}

.nutman-sp-gallery .woocommerce-product-gallery__image img,
.nutman-sp-gallery .woocommerce-product-gallery img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    max-height: 500px;
    object-fit: contain;
}

/* Divi wraps gallery in a clearfix — override its sizing */
.nutman-sp-gallery .clearfix {
    width: 100%;
}

.nutman-sp-summary {
    min-width: 0;
    width: 100% !important;
    float: none !important;
}

/* Override WooCommerce core float layout for gallery + summary */
.nutman-sp-gallery .woocommerce-product-gallery,
.nutman-sp-summary.summary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

/* ============================================
   Single Product — Stacked Sections
   ============================================ */
.nutman-sp-sections {
    margin-top: 32px;
    clear: both;
}

.nutman-sp-section {
    border-top: 1px solid #e5e5e5;
    padding: 24px 0;
}

/* Additional info inside the summary column */
.nutman-sp-section--additional {
    margin-top: 16px;
}

/* ============================================
   Sticky Add-to-Cart Below Photo
   ============================================ */
.nutman-sp-gallery-cart {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
    padding: 12px 16px;
    background: #f9f9f9;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

.nutman-sp-gallery-cart.is-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.nutman-sp-gallery-cart__price {
    font-size: 22px;
    font-weight: 700;
    color: #d4a843;
    white-space: nowrap;
    line-height: 1.2;
}

.nutman-sp-gallery-cart__price del {
    color: #999;
    font-size: 16px;
}

.nutman-sp-gallery-cart__price ins {
    text-decoration: none;
}

.nutman-sp-gallery-cart__btn {
    background: #d4a843 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s;
}

.nutman-sp-gallery-cart__btn:hover {
    background: #c0952e !important;
}

.nutman-sp-gallery-cart__btn::after,
.nutman-sp-gallery-cart__btn:hover::after {
    display: none !important;
}

/* Mobile: make gallery-cart fixed bottom bar instead */
@media (max-width: 768px) {
    .nutman-sp-gallery-cart {
        position: fixed;
        bottom: -100%;
        left: 0;
        right: 0;
        z-index: 999;
        margin: 0;
        border-radius: 0;
        border: none;
        border-top: 1px solid #e5e5e5;
        box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.1);
        background: #fff;
        padding: 10px 16px;
        opacity: 1;
        transform: none;
        transition: bottom 0.3s ease;
    }

    .nutman-sp-gallery-cart.is-visible {
        bottom: 0;
        transform: none;
    }
}

.nutman-sp-section:last-child {
    padding-bottom: 0;
}

.nutman-sp-section h2 {
    font-size: 18px;
    font-weight: 700;
    color: #332d2a;
    margin: 0 0 12px;
}

.nutman-sp-section p {
    margin: 0 0 12px;
    line-height: 1.6;
    color: #555;
}

.nutman-sp-section p:last-child {
    margin-bottom: 0;
}

.nutman-sp-section table {
    width: 100%;
    border-collapse: collapse;
}

.nutman-sp-section table th,
.nutman-sp-section table td {
    padding: 8px 12px;
    border-bottom: 1px solid #eee;
    text-align: left;
    font-size: 14px;
}

.nutman-sp-section table th {
    font-weight: 600;
    color: #332d2a;
    width: 30%;
}

/* ============================================
   Single Product — Sidebar (related products)
   ============================================ */
.nutman-sp-sidebar {
    display: none;
}

.nutman-sp-sidebar > h2 {
    font-size: 15px;
    font-weight: 700;
    color: #332d2a;
    letter-spacing: 0.3px;
    margin: 0 0 12px;
    padding: 0 4px;
}

/* Sidebar related products — vertical stack */
.nutman-sp-sidebar .related ul.products {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding: 0;
    margin: 0;
    list-style: none;
}

.nutman-sp-sidebar .related ul.products::before,
.nutman-sp-sidebar .related ul.products::after {
    display: none !important;
    content: none !important;
}

.nutman-sp-sidebar .related ul.products li.product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

/* Hide the "Related products" heading from WooCommerce (we have our own) */
.nutman-sp-sidebar .related > h2 {
    display: none;
}

/* Desktop: two-column grid with sidebar */
@media (min-width: 1024px) {
    .nutman-sp-layout {
        display: grid;
        grid-template-columns: 1fr 280px;
        gap: 24px;
        align-items: start;
    }

    .nutman-sp-sidebar {
        display: block;
        position: sticky;
        top: 100px;
        max-height: calc(100vh - 120px);
        overflow-y: auto;
    }

    /* Slim scrollbar */
    .nutman-sp-sidebar::-webkit-scrollbar {
        width: 4px;
    }
    .nutman-sp-sidebar::-webkit-scrollbar-track {
        background: transparent;
    }
    .nutman-sp-sidebar::-webkit-scrollbar-thumb {
        background: #ddd;
        border-radius: 4px;
    }
}

/* Mobile: show related products below tabs */
@media (max-width: 1023px) {
    .nutman-sp-sidebar {
        display: block;
        margin-top: 32px;
    }

    .nutman-sp-sidebar > h2 {
        font-size: 20px;
        text-align: center;
        margin-bottom: 16px;
    }

    .nutman-sp-sidebar .related > h2 {
        display: none;
    }
}

/* ---- Cart Page ---- */
.nutman-cart-page__header {
    background: #332d2a;
    padding: 20px 0;
    text-align: center;
}

.nutman-cart-page__header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.nutman-cart-page__header .woocommerce-breadcrumb {
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
    margin-bottom: 6px;
}

.nutman-cart-page__header .woocommerce-breadcrumb a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}

.nutman-cart-page__title {

    color: #d4a843;
    font-size: 36px;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
}

.nutman-cart-page__content {
    padding: 30px 0 60px;
}

.nutman-cart-page__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Empty cart state */
.nutman-cart-page__empty {
    text-align: center;
    padding: 60px 20px;
}

.nutman-cart-page__empty-icon {
    color: #ccc;
    margin-bottom: 16px;
}

.nutman-cart-page__empty-title {

    font-size: 32px;
    color: #332d2a;
    margin: 0 0 8px;
}

.nutman-cart-page__empty-text {
    color: #666;
    font-size: 15px;
    margin: 0 0 24px;
}

.nutman-cart-page__empty-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.nutman-cart-page__button {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    font-size: 15px;
    transition: all 0.2s;
}

.nutman-cart-page__button--primary {
    background: #d4a843;
    color: #fff;
}

.nutman-cart-page__button--primary:hover {
    background: #c0952e;
    color: #fff;
}

.nutman-cart-page__button--secondary {
    background: #332d2a;
    color: #fff;
}

.nutman-cart-page__button--secondary:hover {
    background: #4a433f;
    color: #fff;
}

/* ---- Cart Page: Branded Table ---- */
.woocommerce-cart .shop_table {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
}

.woocommerce-cart .shop_table thead th {
    background: #332d2a;
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 12px 16px;
    border: none;
}

.woocommerce-cart .shop_table tbody td {
    padding: 16px;
    vertical-align: middle;
    border-bottom: 1px solid #f0f0f0;
}

.woocommerce-cart .shop_table tbody tr:hover td {
    background: #faf9f7;
}

.woocommerce-cart .shop_table tbody tr:last-child td {
    border-bottom: none;
}

.woocommerce-cart .shop_table .product-name a {
    color: #332d2a;
    font-weight: 600;
    text-decoration: none;
}

.woocommerce-cart .shop_table .product-name a:hover {
    color: #d4a843;
}

.woocommerce-cart .shop_table .product-remove a {
    color: #bbb !important;
    font-size: 20px;
}

.woocommerce-cart .shop_table .product-remove a:hover {
    color: #c00 !important;
    background: none !important;
}

.woocommerce-cart .shop_table .quantity .qty {
    border: 2px solid #ddd;
    border-radius: 4px;
    padding: 6px 8px;
    width: 60px;
    text-align: center;
    font-weight: 600;
}

.woocommerce-cart .shop_table .quantity .qty:focus {
    border-color: #d4a843;
    outline: none;
}

/* Update Cart button */
.woocommerce-cart .shop_table .actions .button {
    background: #332d2a;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 10px 24px;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: background 0.2s;
}

.woocommerce-cart .shop_table .actions .button:hover {
    background: #4a433f;
}

.woocommerce-cart .shop_table .actions .button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ---- Cart Page: Continue Shopping Link ---- */
.nutman-cart-continue-shopping {
    text-align: left;
    margin-bottom: 20px;
}

.nutman-cart-continue-shopping a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: color 0.2s;
}

.nutman-cart-continue-shopping a:hover {
    color: #d4a843;
}

.nutman-cart-continue-shopping a svg {
    width: 16px;
    height: 16px;
}

/* ---- Cart Page: Cross-sells ---- */
.woocommerce-cart .cross-sells {
    width: 48% !important;
}

.woocommerce-cart .cross-sells ul.products {
    display: flex !important;
    flex-wrap: wrap;
    gap: 16px;
}

.woocommerce-cart .cross-sells ul.products::before,
.woocommerce-cart .cross-sells ul.products::after {
    display: none !important;
    content: none !important;
}

.woocommerce-cart .cross-sells ul.products li.product {
    width: calc(50% - 8px) !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
    list-style: none !important;
}

.woocommerce-cart .cross-sells h2 {
    font-size: 20px;
    font-weight: 700;
    color: #332d2a;
    margin-bottom: 16px;
}

.woocommerce-cart .cross-sells ul.products li.product a img {
    border-radius: 8px;
    border: 1px solid #f0f0f0;
}

.woocommerce-cart .cross-sells ul.products li.product h2 {
    font-size: 14px !important;
    margin: 8px 0 4px !important;
}

.woocommerce-cart .cross-sells ul.products li.product .price {
    color: #332d2a;
    font-weight: 600;
}

.woocommerce-cart .cross-sells ul.products li.product .button {
    background: #332d2a;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 8px 16px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 8px;
    transition: background 0.2s;
}

.woocommerce-cart .cross-sells ul.products li.product .button:hover {
    background: #d4a843;
}

/* ---- Cart Page: Cart Totals ---- */
.woocommerce-cart .cart_totals {
    background: #faf9f7;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    padding: 24px;
}

.woocommerce-cart .cart_totals h2 {
    font-size: 20px;
    font-weight: 700;
    color: #332d2a;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #d4a843;
}

.woocommerce-cart .cart_totals table {
    border: none;
}

.woocommerce-cart .cart_totals table th {
    font-weight: 600;
    color: #332d2a;
    padding: 10px 12px 10px 0;
    border: none;
}

.woocommerce-cart .cart_totals table td {
    padding: 10px 0;
    border: none;
}

.woocommerce-cart .cart_totals table tr.order-total th,
.woocommerce-cart .cart_totals table tr.order-total td {
    font-size: 18px;
    font-weight: 700;
    color: #332d2a;
    border-top: 1px solid #e5e5e5;
    padding-top: 14px;
}

/* ---- Cart Page: Proceed to Checkout Button ---- */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    background: #d4a843 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    display: block !important;
    text-align: center !important;
    transition: background 0.2s, box-shadow 0.3s !important;
    text-decoration: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #c0952e !important;
    box-shadow: 0 4px 15px rgba(212, 168, 67, 0.4) !important;
}

/* ---- Cart Page: Empty Cart Button ---- */
.woocommerce-cart input[name="wcj_empty_cart"],
.nutman-cart-page input[name="wcj_empty_cart"] {
    background: transparent !important;
    color: #999 !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    padding: 8px 20px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    cursor: pointer;
    transition: all 0.2s;
    float: none !important;
    display: block;
    margin: 24px auto 0;
    text-align: center;
}

.woocommerce-cart input[name="wcj_empty_cart"]:hover,
.nutman-cart-page input[name="wcj_empty_cart"]:hover {
    color: #c00 !important;
    border-color: #c00 !important;
    background: #fff5f5 !important;
}

/* ---- Cart Page: Seamless Auth between table and collaterals ---- */
.seamless-checkout-auth {
    clear: both;
    margin: 24px 0;
}

/* ---- Cart Page: Mobile ---- */
@media (max-width: 768px) {
    .woocommerce-cart .cross-sells {
        width: 100% !important;
        float: none !important;
        margin-bottom: 24px;
    }

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

    .woocommerce-cart .cross-sells ul.products li.product {
        width: 100% !important;
    }
}

/* ---- Checkout Page ---- */
.nutman-checkout-page__header {
    background: #332d2a;
    padding: 20px 0;
    text-align: center;
}

.nutman-checkout-page__header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.nutman-checkout-page__header .woocommerce-breadcrumb {
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
    margin-bottom: 6px;
}

.nutman-checkout-page__header .woocommerce-breadcrumb a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
}

.nutman-checkout-page__title {

    color: #d4a843;
    font-size: 36px;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
}

.nutman-checkout-page__content {
    padding: 30px 0 60px;
}

.nutman-checkout-page__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Order Confirmation */
.nutman-checkout-page__confirmation {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

.nutman-checkout-page__confirmation-header {
    margin-bottom: 32px;
}

.nutman-checkout-page__confirmation-icon {
    width: 64px;
    height: 64px;
    background: #d4a843;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-bottom: 16px;
}

.nutman-checkout-page__confirmation-title {

    font-size: 36px;
    color: #332d2a;
    margin: 0 0 8px;
}

.nutman-checkout-page__confirmation-subtitle {
    color: #666;
    font-size: 15px;
    margin: 0;
}

.nutman-checkout-page__order-details {
    background: #faf9f7;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
    text-align: left;
}

.nutman-checkout-page__order-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e5e5e5;
}

.nutman-checkout-page__order-info-label {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #999;
    margin-bottom: 4px;
}

.nutman-checkout-page__order-info-value {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #332d2a;
}

.nutman-checkout-page__order-items-title {
    font-size: 16px;
    font-weight: 700;
    color: #332d2a;
    margin: 0 0 12px;
}

.nutman-checkout-page__order-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
}

.nutman-checkout-page__order-item:last-child {
    border-bottom: none;
}

.nutman-checkout-page__order-item-image {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    border-radius: 6px;
    overflow: hidden;
}

.nutman-checkout-page__order-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nutman-checkout-page__order-item-details {
    flex: 1;
}

.nutman-checkout-page__order-item-name {
    display: block;
    font-weight: 600;
    color: #332d2a;
    font-size: 14px;
}

.nutman-checkout-page__order-item-qty {
    display: block;
    color: #999;
    font-size: 13px;
}

.nutman-checkout-page__order-item-price {
    font-weight: 600;
    color: #332d2a;
}

.nutman-checkout-page__confirmation-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.nutman-checkout-page__button {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 6px;
    font-weight: 600;
    text-decoration: none;
    font-size: 15px;
    transition: all 0.2s;
}

.nutman-checkout-page__button--primary {
    background: #d4a843;
    color: #fff;
}

.nutman-checkout-page__button--primary:hover {
    background: #c0952e;
    color: #fff;
}

.nutman-checkout-page__button--secondary {
    background: #332d2a;
    color: #fff;
}

.nutman-checkout-page__button--secondary:hover {
    background: #4a433f;
    color: #fff;
}

/* Empty checkout state */
.nutman-checkout-page__empty {
    text-align: center;
    padding: 60px 20px;
}

.nutman-checkout-page__empty-icon {
    color: #ccc;
    margin-bottom: 16px;
}

.nutman-checkout-page__empty-title {

    font-size: 32px;
    color: #332d2a;
    margin: 0 0 8px;
}

.nutman-checkout-page__empty-text {
    color: #666;
    font-size: 15px;
    margin: 0 0 24px;
}

.nutman-checkout-page__empty-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
}

/* ---- Seamless Checkout Auth ---- */
.seamless-checkout-auth__card {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 32px;
    max-width: 500px;
    margin: 0 auto;
}

.seamless-checkout-auth__success-icon-wrap {
    text-align: center;
    margin-bottom: 12px;
}

.seamless-checkout-auth__success-icon {
    width: 48px;
    height: 48px;
    color: #d4a843;
}

.seamless-checkout-auth__title {

    font-size: 28px;
    font-weight: 700;
    color: #332d2a;
    margin: 0 0 8px;
    text-align: center;
}

.seamless-checkout-auth__description {
    color: #666;
    font-size: 14px;
    text-align: center;
    margin: 0 0 20px;
}

.seamless-checkout-auth__field {
    margin-bottom: 16px;
}

.seamless-checkout-auth__field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #332d2a;
    margin-bottom: 6px;
}

.seamless-checkout-auth__field label .required {
    color: #c00;
}

.seamless-checkout-auth__field input {
    width: 100%;
    padding: 10px 14px;
    border: 2px solid #ddd;
    border-radius: 6px;
    font-size: 15px;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.seamless-checkout-auth__field input:focus {
    border-color: #d4a843;
    outline: none;
}

.seamless-checkout-auth__field.has-error input {
    border-color: #c00;
}

.seamless-checkout-auth__error {
    display: none;
    color: #c00;
    font-size: 13px;
    margin-top: 4px;
}

.seamless-checkout-auth__forgot-link {
    display: inline-block;
    font-size: 13px;
    color: #d4a843;
    margin-top: 6px;
}

.seamless-checkout-auth__actions {
    margin-top: 20px;
}

.seamless-checkout-auth__button {
    width: 100%;
    padding: 12px 20px;
    font-size: 15px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    position: relative;
    transition: all 0.2s;
}

.seamless-checkout-auth__button--primary {
    background: #d4a843;
    color: #fff;
}

.seamless-checkout-auth__button--primary:hover:not(:disabled) {
    background: #c0952e;
}

.seamless-checkout-auth__button--primary:disabled {
    background: #d1d5db;
    color: #6b7280;
    cursor: not-allowed;
}

.seamless-checkout-auth__button .button-spinner {
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@keyframes spin {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

.seamless-checkout-auth__logout-link {
    text-align: center;
    font-size: 13px;
    color: #999;
    margin-top: 12px;
}

.seamless-checkout-auth__logout-link a {
    color: #d4a843;
}

/* ---- Global Breadcrumb Styling ---- */
.woocommerce-breadcrumb {
    font-size: 13px;
    color: #999;
}

.woocommerce-breadcrumb a {
    color: #666;
    text-decoration: none;
    transition: color 0.2s;
}

.woocommerce-breadcrumb a:hover {
    color: #d4a843;
}

/* Breadcrumb separator arrow */
.nutman-cart-page__header .woocommerce-breadcrumb,
.nutman-checkout-page__header .woocommerce-breadcrumb {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
}

.nutman-cart-page__header .woocommerce-breadcrumb a,
.nutman-checkout-page__header .woocommerce-breadcrumb a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    transition: color 0.2s;
}

.nutman-cart-page__header .woocommerce-breadcrumb a:hover,
.nutman-checkout-page__header .woocommerce-breadcrumb a:hover {
    color: #d4a843;
}

/* ---- Divi Theme Builder Overrides ---- */
/* Hide the sidebar / 1/4 column injected by Divi Theme Builder */
.et_pb_sidebar_0_tb_body,
.et_pb_sidebar.et_pb_widget_area {
    display: none !important;
}

/* Hide the Fundraise blurb card in 1/4 column on shop page */
.et_pb_row_3-4_1-4 > .et_pb_column_1_4 {
    display: none !important;
}

/* Make the 3/4 product column full width */
.et_pb_row_3-4_1-4 > .et_pb_column_3_4 {
    width: 100% !important;
    margin-right: 0 !important;
}

/* Also handle 2/3 + 1/3 layouts */
body.post-type-archive-product .et_pb_column_2_3,
body.tax-product_cat .et_pb_column_2_3 {
    width: 100% !important;
    margin-right: 0 !important;
}

body.post-type-archive-product .et_pb_column_1_3,
body.tax-product_cat .et_pb_column_1_3 {
    display: none !important;
}

/* ---- Cart Icon in Header ---- */
.cart-head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cart-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.nutman-cart-count {
    display: none;
    position: absolute;
    top: -6px;
    right: -8px;
    background: #d4a843;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    text-align: center;
    line-height: 18px;
}

.nutman-cart-count--has-items {
    display: block;
}

/* ---- Mobile Responsive (non-shop) ---- */
@media (max-width: 768px) {
    .nutman-checkout-page__order-info {
        grid-template-columns: 1fr;
    }

    .seamless-checkout-auth__card {
        padding: 24px 16px;
    }
}

/* ============================================
   Shop Page: Product Cards & Grid (v2.0.0)
   ============================================ */

/* Result count & ordering bar */
.woocommerce .woocommerce-result-count {
    color: #666;
    font-size: 13px;
}

.woocommerce .woocommerce-ordering select {
    border: 1.5px solid #ddd;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 13px;
    color: #332d2a;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s;
}

.woocommerce .woocommerce-ordering select:focus {
    border-color: #d4a843;
    outline: none;
}

/* ---- CSS Grid Product Layout ---- */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 0 20px !important;
    list-style: none;
}

/* Remove WooCommerce default flexbox pseudo-elements */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    display: none !important;
    content: none !important;
}

/* Reset WooCommerce & Divi default widths/floats
   Uses #page-container ID for max specificity to beat Divi's style-static-cpt.min.css
   which uses ".woocommerce-page ul.products li.product:nth-child(n)" with !important */
body.woocommerce #page-container ul.products li.product,
body.woocommerce-page #page-container ul.products li.product,
body.woocommerce #page-container ul.products li.product:nth-child(n),
body.woocommerce-page #page-container ul.products li.product:nth-child(n),
body.et-db #page-container #et-boc .et-l .et_pb_shop ul.products li.product,
body.et-db #page-container #et-boc .et-l ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Repeat inside media queries for extra safety */
@media (max-width: 980px) {
    body.woocommerce-page #page-container ul.products li.product:nth-child(n),
    body.et-db #page-container #et-boc .et-l ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
    }
}
@media (max-width: 767px) {
    body.woocommerce-page #page-container ul.products li.product:nth-child(n),
    body.et-db #page-container #et-boc .et-l ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
    }
}
@media (max-width: 479px) {
    body.woocommerce-page #page-container ul.products li.product:nth-child(n),
    body.et-db #page-container #et-boc .et-l ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
    }
}

/* ---- Custom Product Card ---- */

/* Hide the empty WooCommerce link injected by woocommerce_before_shop_loop_item hook */
.nutman-product-card > .woocommerce-LoopProduct-link {
    display: none !important;
}

.nutman-product-card {
    background: #fff !important;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s, box-shadow 0.2s;
}

.nutman-product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.nutman-product-card__link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.nutman-product-card__image {
    aspect-ratio: 1;
    overflow: hidden;
    background: #f5f5f5;
    position: relative;
}

.nutman-product-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: opacity 0.2s;
}

.nutman-product-card:hover .nutman-product-card__image img {
    opacity: 0.95;
}

.nutman-product-card__info {
    padding: 10px 12px 4px;
}

.nutman-product-card__title {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 15px !important;
    font-weight: 600;
    color: #332d2a;
    margin: 0 0 4px !important;
    padding: 0 !important;
    text-wrap: balance;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
    /* Fixed height: exactly 3 lines so cards align regardless of title length */
    min-height: calc(3 * 1.3em);
}

.nutman-product-card__price {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(255, 255, 255, 1);
    color: #d4a843;
    font-size: 14px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    line-height: 1.2;
    z-index: 2;
}

.nutman-product-card__price del {
    color: #999;
    font-size: 13px;
}

.nutman-product-card__price ins {
    color: #d4a843;
    text-decoration: none;
}

/* View Product + Cart icon row */
.nutman-product-card__actions {
    padding: 8px 12px 12px;
    margin-top: auto;
    display: flex;
    gap: 8px;
    align-items: stretch;
}

/* "View Product" + cart icon layout */
.nutman-product-card__view-btn {
    flex: 1;
    background: #aa1328 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.5em !important;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    transition: background 0.2s, box-shadow 0.2s !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nutman-product-card__view-btn:hover {
    background: #8e1022 !important;
    box-shadow: 0 4px 12px rgba(170, 19, 40, 0.3) !important;
    color: #fff !important;
}

/* Small cart icon button */
/* .nutman-product-card__cart-btn {
    flex-shrink: 0;
    width: fit-content !important;
    background: #332d2a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, transform 0.15s !important;
    box-sizing: border-box;
}
 */

a.nutman-product-card__cart-btn.button.add_to_cart_button.ajax_add_to_cart {
    flex: 1;
    background: #332d2a !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.5em !important;
    text-align: center;
    box-sizing: border-box;
    transition: background 0.2s, box-shadow 0.2s !important;
    display: flex !important;
    align-items: center;
	margin-top: unset !important;
}


.nutman-product-card__cart-btn:hover {
    background: #d4a843 !important;
    transform: scale(1.05);
}

a.nutman-product-card__cart-btn.button.add_to_cart_button.ajax_add_to_cart::after {
    display: none !important;
}

.nutman-product-card__cart-btn svg {
    pointer-events: none;
}

/* "View Cart" link after AJAX add */
.nutman-product-card__actions .added_to_cart {
    display: block;
    font-size: 11px;
    color: #d4a843;
    text-align: center;
    margin-top: 4px;
    font-weight: 600;
    width: 100%;
}

/* Star rating in grid */
.nutman-product-card .star-rating {
    margin: 4px 12px;
    color: #d4a843;
}

/* ---- Load More Pagination ---- */
.nutman-load-more-wrap {
    text-align: center;
    margin: 32px 20px;
}

.nutman-load-more-btn {
    display: inline-block;
    background: #332d2a;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 14px 40px;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: background 0.2s;
}

.nutman-load-more-btn:hover {
    background: #4a433f;
}

.nutman-load-more-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.nutman-load-more-count {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    color: #999;
}

/* Hide default pagination (keep in DOM for SEO) */
.woocommerce nav.woocommerce-pagination {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ---- Grid Responsive ---- */
@media (max-width: 1023px) and (min-width: 768px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 767px) {
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px;
    }

    .nutman-product-card__title {
        font-size: 14px !important;
    }

    .nutman-product-card__price {
        font-size: 12px;
        padding: 3px 8px;
        bottom: 6px;
        right: 6px;
    }

    .nutman-product-card__view-btn {
        padding: 8px 6px !important;
        font-size: 10px !important;
        letter-spacing: 0 !important;
    }

    .nutman-product-card__cart-btn {
        width: 36px !important;
    }

    .nutman-product-card__cart-btn svg {
        width: 15px;
        height: 15px;
    }

    .nutman-shop-cta {
        padding: 24px 20px;
    }
}

/* ============================================
   Single Product Page — Element Styles
   ============================================ */

/* Single product price — prominent since it's the first element */
body.single-product .summary .price {
    color: #d4a843 !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    margin-bottom: 4px !important;
    line-height: 1.2;
}

body.single-product .summary .price del {
    color: #999 !important;
    font-size: 22px !important;
}

body.single-product .summary .price ins {
    text-decoration: none !important;
}

/* Single product form.cart — flex row, matched heights */
body.single-product form.cart {
    display: flex !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin-top: 16px !important;
}

/* Kill ::after pseudo on button */
body.single-product .single_add_to_cart_button::after {
    display: none !important;
}

/* Add to Cart button */
body.single-product .single_add_to_cart_button {
    background: #d4a843 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 14px 32px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: background 0.2s, box-shadow 0.2s !important;
    cursor: pointer;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

body.single-product .single_add_to_cart_button:hover {
    background: #c0952e !important;
    color: #fff !important;
    padding: 14px 32px !important;
    box-shadow: 0 4px 15px rgba(212, 168, 67, 0.4) !important;
}

/* Quantity wrapper */
body.single-product .quantity {
    display: inline-flex !important;
    align-items: center;
    border: 2px solid #ddd !important;
    border-radius: 6px !important;
    overflow: hidden;
    background: #fff;
    transition: border-color 0.2s;
    margin: 0 !important;
}

body.single-product .quantity:focus-within {
    border-color: #d4a843;
}

/* Quantity input */
body.single-product .quantity .qty {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    height: 100% !important;
    width: 48px !important;
    text-align: center;
    font-size: 16px !important;
    font-weight: 700;
    -moz-appearance: textfield;
    background: transparent;
    box-sizing: border-box !important;
}

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

body.single-product .quantity .qty:focus {
    outline: none;
}

/* Quantity wrapper margin in form */
.woocommerce #content div.product form.cart div.quantity,
.woocommerce-page div.product form.cart div.quantity,
.woocommerce div.product form.cart div.quantity {
    margin-right: 0px !important;
    float: none !important;
}

/* Product meta (SKU, Categories, Tags) */
body.single-product .product_meta {
    border-top: 1px solid #f0f0f0;
    padding-top: 16px;
    margin-top: 16px;
    font-size: 13px;
    color: #666;
}

body.single-product .product_meta a {
    color: #d4a843;
    text-decoration: none;
}

body.single-product .product_meta a:hover {
    color: #c0952e;
}

/* Product image gallery */
body.single-product .woocommerce-product-gallery__image img {
    border-radius: 8px;
}

/* Related Products section */
body.single-product .related.products > h2,
body.single-product section.related > h2 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #332d2a !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    margin-bottom: 24px !important;
    font-style: normal !important;
}

body.single-product .related.products > h2 em,
body.single-product section.related > h2 em {
    font-style: normal !important;
}

/* ============================================
   Composite Products — fit within summary column
   ============================================ */
.nutman-sp-summary .composite_form {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.nutman-sp-summary .composite_component {
    width: 100% !important;
    max-width: 100% !important;
}

/* Show composite product component titles + labels */
body.single-product .component_title_wrapper {
    display: block !important;
}

body.single-product .component_title_wrapper .component_title {
    font-size: 15px;
    font-weight: 600;
    color: #332d2a;
    margin: 0 0 6px;
}

body.single-product p.component_section_title {
    display: block !important;
    font-size: 13px;
    color: #666;
    margin: 0 0 4px;
}

/* Legacy tabs — hidden (replaced by stacked sections) */
body.single-product .woocommerce-tabs {
    display: none;
}

/* ============================================
   Checkout Page
   ============================================ */

/* Checkout form inputs */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
    border: 2px solid #ddd !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
    transition: border-color 0.2s;
    background: #fff;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: #d4a843 !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(212, 168, 67, 0.1);
}

/* Checkout form labels */
.woocommerce-checkout .form-row label {
    font-weight: 600;
    color: #332d2a;
    font-size: 14px;
}

.woocommerce-checkout .form-row label .required {
    color: #c00;
}

/* Checkout section headings (scoped to form to avoid overriding cart drawer) */
form.woocommerce-checkout h3 {
    font-size: 22px;
    font-weight: 700;
    color: #332d2a;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid #d4a843;
}

/* Checkout h3 for "Ship to different address" - remove double border */
.woocommerce-checkout #ship-to-different-address {
    border-bottom: none;
    padding-bottom: 0;
}

/* --- Two-Column Grid Layout (desktop) --- */
@media (min-width: 1024px) {
    form.woocommerce-checkout {
        display: grid;
        grid-template-columns: 1fr 380px;
        gap: 32px;
        align-items: start;
    }

    /* Left column: billing/shipping + cooler add-ons */
    form.woocommerce-checkout .col2-set,
    form.woocommerce-checkout > .form-row {
        grid-column: 1;
    }

    /* Hide standalone "Your order" heading */
    .woocommerce-checkout #order_review_heading {
        display: none;
    }

    /* Right column: order review sidebar */
    .woocommerce-checkout #order_review {
        grid-column: 2;
        grid-row: 1 / span 4;
        position: sticky;
        top: 100px;
    }
}

/* --- Billing/Shipping Section Cards --- */
form.woocommerce-checkout .col2-set {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    padding: 28px 24px;
}

/* --- Order Review Sidebar Card --- */
.woocommerce-checkout #order_review {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    padding: 24px;
}

/* Internal "Your order" heading via pseudo-element */
.woocommerce-checkout #order_review::before {
    content: "Your order";
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: #332d2a;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #d4a843;
}

/* --- Order Summary Table --- */
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-checkout table.shop_table {
    border: 1px solid #e5e5e5 !important;
    border-radius: 8px !important;
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100%;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead th,
.woocommerce-checkout table.shop_table thead th {
    background: #332d2a !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 12px 16px !important;
    border: none !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table th {
    padding: 12px 16px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    border-top: none !important;
}

/* Gold total row */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child td {
    font-size: 18px;
    font-weight: 700;
    color: #332d2a;
    background: rgba(212, 168, 67, 0.08);
    border-top: 2px solid #d4a843 !important;
    border-bottom: none !important;
}

/* --- Payment Methods (inside sidebar card) --- */
.woocommerce-checkout #payment {
    background: #faf9f7 !important;
    border: 1px solid #e5e5e5;
    border-radius: 8px !important;
    padding: 0 !important;
    overflow: hidden;
    margin-top: 20px;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 0 !important;
    margin: 0 !important;
    border-bottom: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    padding: 14px 16px !important;
    border-bottom: 1px solid #e5e5e5;
    margin: 0 !important;
    list-style: none;
}

.woocommerce-checkout #payment ul.payment_methods li:last-child {
    border-bottom: none;
}

.woocommerce-checkout #payment ul.payment_methods li label {
    font-weight: 600;
    color: #332d2a;
    font-size: 14px;
}

.woocommerce-checkout #payment .payment_box {
    background: #fff !important;
    border-radius: 6px;
    padding: 14px !important;
    margin: 10px 0 0 !important;
    border: 1px solid #e5e5e5;
}

.woocommerce-checkout #payment .payment_box::before {
    display: none !important;
}

/* --- Place Order Button --- */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout button#place_order {
    background: #d4a843 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 16px 32px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    width: 100%;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s !important;
    margin-top: 16px;
}

.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout button#place_order:hover {
    background: #c0952e !important;
    box-shadow: 0 4px 15px rgba(212, 168, 67, 0.4) !important;
}

/* --- Cooler Add-on Cards --- */
.woocommerce-checkout form.checkout > .form-row:has(input[type="checkbox"][id*="wcj"]) {
    background: #fdf6e3;
    border: 1px solid #f0d99a;
    border-radius: 10px;
    padding: 14px 18px !important;
    margin-bottom: 10px !important;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px;
}

/* Checkbox + label on one line */
.woocommerce-checkout form.checkout > .form-row:has(input[type="checkbox"][id*="wcj"]) > label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #332d2a;
    font-size: 14px;
    flex: 1 1 100%;
}

/* Icon before cooler label */
.woocommerce-checkout form.checkout > .form-row:has(input[type="checkbox"][id*="wcj"]) > label::before {
    content: "\2744";
    font-size: 16px;
    color: #d4a843;
    flex-shrink: 0;
}

/* Description text: small muted, not bold */
.woocommerce-checkout form.checkout > .form-row:has(input[type="checkbox"][id*="wcj"]) strong {
    display: block;
    flex: 1 1 100%;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 400;
    color: #856404;
    line-height: 1.5;
    max-height: 3.6em;
    overflow: hidden;
}

/* Price highlight in gold */
.woocommerce-checkout form.checkout > .form-row:has(input[type="checkbox"][id*="wcj"]) .woocommerce-Price-amount {
    color: #d4a843;
    font-weight: 700;
}

/* Legacy cooler selectors (fallback) */
.woocommerce-checkout .woocommerce-checkout-review-order-table ~ * .wcj-checkout-custom-field,
.woocommerce-checkout p:has(> label > input[type="checkbox"][id*="cooler"]),
.woocommerce-checkout .wc-pao-addon,
.woocommerce-checkout #order_review_heading ~ p:has(input[type="checkbox"]) {
    background: #fdf6e3;
    border: 1px solid #f0d99a;
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 10px;
}

/* --- Newsletter Checkbox --- */
.woocommerce-checkout .mc4wp-checkbox-wp-registration-form label,
.woocommerce-checkout p:has(input.mc4wp-checkbox) {
    font-size: 13px;
    color: #666;
}

/* --- Checkout Mobile Overrides (< 1024px) --- */
@media (max-width: 1023px) {
    .woocommerce-checkout #order_review {
        position: static;
    }

    form.woocommerce-checkout .col2-set {
        padding: 20px 16px;
    }

    .woocommerce-checkout #order_review {
        padding: 20px 16px;
        margin-top: 20px;
    }
}

/* ============================================
   Mobile Responsive (additional)
   ============================================ */
@media (max-width: 768px) {
    /* Shop product cards */
    .woocommerce ul.products li.product:hover {
        transform: none;
        box-shadow: none;
    }

    /* Single product hero — mobile */

    .nutman-sp-hero__text h1 {
        font-size: 18px;
    }

    .nutman-sp-hero__back {
        font-size: 11px;
    }

    /* Single product — stack image above summary on mobile */
    .nutman-sp-product {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Related products — horizontal scroll on mobile */
    .nutman-sp-sidebar .related ul.products {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        gap: 12px !important;
        padding-bottom: 12px;
    }

    .nutman-sp-sidebar .related ul.products li.product {
        flex: 0 0 160px !important;
        max-width: 160px !important;
        scroll-snap-align: start;
    }

    /* Thin scrollbar for related products */
    .nutman-sp-sidebar .related ul.products::-webkit-scrollbar {
        height: 4px;
    }

    .nutman-sp-sidebar .related ul.products::-webkit-scrollbar-track {
        background: #eee;
        border-radius: 4px;
    }

    .nutman-sp-sidebar .related ul.products::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 4px;
    }

    /* Checkout */
    .woocommerce-checkout h3 {
        font-size: 20px;
    }

}

@media (max-width: 480px) {
    .nutman-shop-header__title {
        font-size: 28px;
    }

    .nutman-cart-page__title,
    .nutman-checkout-page__title {
        font-size: 28px;
    }

    /* Pagination smaller on mobile */
    .woocommerce nav.woocommerce-pagination ul li a,
    .woocommerce nav.woocommerce-pagination ul li span {
        width: 34px;
        height: 34px;
        font-size: 13px;
    }
}

/* ============================================
   Polish Round 2 - Additional Refinements
   ============================================ */

/* ---- Shop Page: Tighten Spacing ---- */
/* Reduce gap between header/categories and product grid */
body.post-type-archive-product .et_pb_section,
body.tax-product_cat .et_pb_section {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

/* Results count + sorting row */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
    margin-bottom: 8px !important;
}

/* Sale badge */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    background: #c0392b !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    min-height: auto !important;
    min-width: auto !important;
    line-height: 1.4 !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
}

/* ---- Shop Page: Trust Badges ---- */
body.post-type-archive-product .et_pb_section_4_tb_body,
body.tax-product_cat .et_pb_section_4_tb_body,
body.search-results .et_pb_section_4_tb_body {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

body.post-type-archive-product .et_pb_blurb_container h4,
body.tax-product_cat .et_pb_blurb_container h4,
body.search-results .et_pb_blurb_container h4 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin-bottom: 4px !important;
}

body.post-type-archive-product .et_pb_blurb_description p,
body.tax-product_cat .et_pb_blurb_description p,
body.search-results .et_pb_blurb_description p {
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.9) !important;
}

/* ---- Product Page: Gallery image spacing ---- */

/* ---- Product Page: Star Rating ---- */
body.single-product .star-rating {
    color: #d4a843 !important;
    font-size: 16px !important;
}

body.single-product .woocommerce-review-link {
    color: #d4a843 !important;
    font-size: 14px !important;
    text-decoration: none;
}

body.single-product .woocommerce-review-link:hover {
    color: #c0952e !important;
    text-decoration: underline;
}

/* ---- Product Page: Short Description ---- */
body.single-product .woocommerce-product-details__short-description p {
    font-size: 15px;
    line-height: 1.6;
    color: #555;
}

/* ---- Product Page: Related Products - kill italic ---- */
body.single-product .related.products > h2 em,
body.single-product section.related > h2 em {
    font-style: normal !important;
}

/* Related products: normalize card titles */
body.single-product .related.products ul.products li.product h2 {
    text-transform: none !important;
    font-size: 13px !important;
    font-weight: 600;
    line-height: 1.4;
    padding: 8px 8px 4px !important;
}

/* Related products: prices */
body.single-product .related.products ul.products li.product .price {
    font-size: 15px !important;
    padding: 0 8px;
}

/* ---- Checkout Page: Shipping Methods ---- */
.woocommerce-checkout .woocommerce-shipping-methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout .woocommerce-shipping-methods li {
    padding: 6px 0;
}

.woocommerce-checkout .woocommerce-shipping-methods li label {
    font-weight: 500 !important;
    font-size: 14px !important;
    color: #332d2a;
    cursor: pointer;
}

.woocommerce-checkout .woocommerce-shipping-methods li input[type="radio"] {
    accent-color: #d4a843;
    margin-right: 6px;
}

/* ---- Checkout Page: Cooler Add-on Refinement ---- */
.woocommerce-checkout form.checkout > .form-row:has(input[type="checkbox"][id*="wcj"]) label {
    font-weight: 600;
    color: #332d2a;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.woocommerce-checkout form.checkout > .form-row:has(input[type="checkbox"][id*="wcj"]) label .amount,
.woocommerce-checkout form.checkout > .form-row:has(input[type="checkbox"][id*="wcj"]) label span.woocommerce-Price-amount {
    color: #d4a843;
    font-weight: 700;
}

.woocommerce-checkout form.checkout > .form-row:has(input[type="checkbox"][id*="wcj"]) input[type="checkbox"] {
    accent-color: #d4a843;
    width: 18px;
    height: 18px;
}

/* ---- WooCommerce Notice Styling ---- */
.woocommerce-message,
.woocommerce-info {
    border-top-color: #d4a843 !important;
    background: #fdf6e3 !important;
    color: #332d2a;
}

.woocommerce-message::before,
.woocommerce-info::before {
    color: #d4a843 !important;
}

.woocommerce-message a.button,
.woocommerce-info a.button {
    background: #d4a843 !important;
    color: #fff !important;
    border-radius: 4px;
    font-weight: 600;
}

.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover {
    background: #c0952e !important;
}

.woocommerce-error {
    border-top-color: #c0392b !important;
}

/* Hide orphaned "View cart" link after AJAX add-to-cart on single product */
body.single-product .added_to_cart.wc-forward {
    display: none;
}

/* ---- Loading / AJAX Spinner ---- */
.woocommerce .blockUI.blockOverlay::before,
.woocommerce .loader::before {
    border-top-color: #d4a843 !important;
}

/* ---- "View Cart" button after adding to cart (product grid) ---- */
.woocommerce ul.products li.product .added_to_cart {
    display: inline-block;
    font-size: 12px;
    color: #332d2a;
    margin: 8px 12px 0;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 6px 14px;
    transition: all 0.2s;
}

.woocommerce ul.products li.product .added_to_cart:hover {
    border-color: #d4a843;
    color: #d4a843;
}

/* ---- Checkout: "Your order" heading ---- */
.woocommerce-checkout #order_review_heading {
    font-size: 22px;
    font-weight: 700;
    color: #332d2a;
    margin-top: 32px;
    padding-bottom: 12px;
    border-bottom: 2px solid #d4a843;
}

/* ---- Checkout: Total row gold accent ---- */
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td strong .woocommerce-Price-amount {
    color: #d4a843;
    font-size: 20px;
}

/* ---- Product grid: consistent card height ---- */
.woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
    flex: 1;
}

/* ---- Smooth scrolling: only for anchor-link navigations, not all scrolling ---- */
@media (prefers-reduced-motion: no-preference) {
    html:has(:target) {
        scroll-behavior: smooth;
    }
}

/* ---- Footer: subtle gold accent ---- */
.et-l--footer .et_pb_column h4 {
    color: #332d2a !important;
    position: relative;
}

/* ---- Mobile: Additional overrides ---- */
@media (max-width: 768px) {
    /* Checkout cooler add-on text */
    .woocommerce-checkout form.checkout > .form-row:has(input[type="checkbox"][id*="wcj"]) strong {
        font-size: 11px;
    }
}

/* ============================================
   Mobile Off-Canvas Menu
   ============================================ */

/* Body scroll lock when menu is open */
body.nutman-menu-open {
    overflow: hidden !important;
}

/* Off-canvas panel */
@media (max-width: 1340px) {

    /* Panel container — the mobile_nav wrapper gets positioning context */
    .mobile_nav {
        position: static;
    }

    .et_mobile_menu {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        width: 300px !important;
        max-width: 85vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        margin: 0 !important;
        padding: 72px 0 24px !important;
        background: #fff !important;
        transform: translateX(100%);
        transition: transform 0.3s ease !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        z-index: 100010 !important;
        box-shadow: none !important;
        display: block !important;
        visibility: hidden;
        border: none !important;
        border-radius: 0 !important;
        text-align: left !important;
    }

    .mobile_nav.opened .et_mobile_menu {
        transform: translateX(0) !important;
        visibility: visible !important;
        box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15) !important;
    }

    /* ---- Menu Items ---- */
    .et_mobile_menu li {
        padding: 0 !important;
        margin: 0 !important;
        border-bottom: 1px solid #f0f0f0 !important;
        text-align: left !important;
        list-style: none !important;
    }

    .et_mobile_menu li a,
    .et_pb_menu .et_mobile_menu li.menu-item a {
        display: block !important;
        padding: 14px 24px !important;
        font-family: 'Roboto Slab', serif !important;
        font-size: 16px !important;
        color: #332d2a !important;
        text-decoration: none !important;
        text-align: left !important;
        transition: color 0.2s, background 0.2s !important;
        line-height: 1.4 !important;
        border: none !important;
        background: transparent !important;
    }

    .et_mobile_menu li a:hover,
    .et_pb_menu .et_mobile_menu li.menu-item a:hover {
        color: #d4a843 !important;
        background: rgba(212, 168, 67, 0.05) !important;
    }

    /* Active / current page */
    .et_mobile_menu li.current-menu-item > a,
    .et_mobile_menu li.current_page_item > a {
        color: var(--nutman-red) !important;
        border-left: 3px solid var(--nutman-red) !important;
        font-weight: 600 !important;
    }

    /* Sub-menu items */
    .et_mobile_menu li li a,
    .et_pb_menu .et_mobile_menu li.menu-item li.menu-item a {
        padding-left: 40px !important;
        font-size: 14px !important;
        color: #666 !important;
    }

    .et_mobile_menu li li li a,
    .et_pb_menu .et_mobile_menu li.menu-item li.menu-item li a {
        padding-left: 56px !important;
        font-size: 13px !important;
    }

    .et_mobile_menu li li a:hover,
    .et_pb_menu .et_mobile_menu li.menu-item li a:hover {
        color: #d4a843 !important;
    }

    /* Hide Divi's default sub-menu toggle arrow if present */
    .et_mobile_menu .menu-item-has-children > a::after {
        float: right !important;
        margin-right: 4px !important;
    }

    /* Hide cart icon behind menu drawer when open */
    body.nutman-menu-open #cart-head-shortcode {
        z-index: 0 !important;
    }

    /* ---- Cart Link in Mobile Menu ---- */
    .et_mobile_menu .nutman-mobile-cart {
        border-top: 2px solid #e5e5e5 !important;
        border-bottom: none !important;
        margin-top: auto !important;
        padding: 16px 24px 8px !important;
        position: sticky;
        bottom: 62px;
        background: #fff !important;
        z-index: 1;
    }

    .et_mobile_menu .nutman-mobile-cart__link,
    .et_pb_menu .et_mobile_menu li.nutman-mobile-cart a.nutman-mobile-cart__link {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 14px 20px !important;
        background: #332d2a !important;
        color: #fff !important;
        border-radius: 8px !important;
        font-family: 'Roboto Condensed', sans-serif !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        text-decoration: none !important;
        justify-content: center !important;
        transition: background 0.2s !important;
    }

    .et_mobile_menu .nutman-mobile-cart__link:hover,
    .et_pb_menu .et_mobile_menu li.nutman-mobile-cart a.nutman-mobile-cart__link:hover {
        background: #d4a843 !important;
        color: #fff !important;
    }

    .et_mobile_menu .nutman-mobile-cart__link svg {
        flex-shrink: 0;
    }

    .nutman-mobile-cart__count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        background: var(--nutman-red);
        color: #fff;
        border-radius: 11px;
        font-size: 12px;
        font-weight: 700;
        margin-left: auto;
    }

    .et_mobile_menu .nutman-mobile-checkout {
        padding: 0 24px 16px !important;
        border-bottom: none !important;
        background: #fff !important;
        position: sticky;
        bottom: 0;
    }

    .et_mobile_menu .nutman-mobile-checkout__link,
    .et_pb_menu .et_mobile_menu li.nutman-mobile-checkout a.nutman-mobile-checkout__link {
        display: block !important;
        padding: 14px 20px !important;
        background: #d4a843 !important;
        color: #fff !important;
        border-radius: 8px !important;
        font-family: 'Roboto Condensed', sans-serif !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        text-decoration: none !important;
        text-align: center !important;
        transition: background 0.2s !important;
    }

    .et_mobile_menu .nutman-mobile-checkout__link:hover,
    .et_pb_menu .et_mobile_menu li.nutman-mobile-checkout a.nutman-mobile-checkout__link:hover {
        background: #c0952e !important;
        color: #fff !important;
    }
}

/* ---- Close Button ---- */
/* Placed outside the UL, inside .mobile_nav, so overflow doesn't clip it */
.nutman-menu-close {
    display: none;
}

@media (max-width: 1340px) {
    .nutman-menu-close {
        position: fixed !important;
        top: 16px;
        right: 16px;
        width: 44px;
        height: 44px;
        background: #f5f5f5;
        border: none !important;
        cursor: pointer;
        z-index: 100011;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 0;
        border-radius: 50%;
        transition: background 0.2s;
    }

    body.nutman-menu-open .nutman-menu-close {
        display: flex !important;
    }

    .nutman-menu-close:hover {
        background: rgba(0, 0, 0, 0.1);
    }

    .nutman-menu-close::before,
    .nutman-menu-close::after {
        content: '';
        position: absolute;
        width: 20px;
        height: 2px;
        background: #332d2a;
        border-radius: 1px;
    }

    .nutman-menu-close::before {
        transform: rotate(45deg);
    }

    .nutman-menu-close::after {
        transform: rotate(-45deg);
    }
}

/* ---- Backdrop Overlay ---- */
.nutman-menu-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    -webkit-tap-highlight-color: transparent;
}

.nutman-menu-backdrop.active {
    opacity: 1;
    visibility: visible;
}

/* ============================================
   Single Product: Desktop Sidebar — Compact Cards
   ============================================ */
@media (min-width: 1024px) {
    /* Sidebar card: image on top, compact vertical layout */
    .nutman-sp-sidebar .related ul.products li.product {
        background: #f9f9f9;
        border-radius: 6px;
        padding: 8px;
        overflow: hidden;
    }

    /* Let the card link wrap image + text vertically */
    .nutman-sp-sidebar .related ul.products li.product .nutman-product-card__link {
        display: flex !important;
        flex-direction: row !important;
        gap: 10px;
    }

    /* Image container: fixed square */
    .nutman-sp-sidebar .related ul.products li.product .nutman-product-card__image {
        width: 80px !important;
        height: 80px !important;
        flex-shrink: 0;
        border-radius: 4px;
        overflow: hidden;
    }

    .nutman-sp-sidebar .related ul.products li.product .nutman-product-card__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
    }

    /* Info: fill remaining space */
    .nutman-sp-sidebar .related ul.products li.product .nutman-product-card__info {
        flex: 1;
        min-width: 0;
        padding: 0 !important;
    }

    .nutman-sp-sidebar .related ul.products li.product .nutman-product-card__title {
        font-size: 13px !important;
        -webkit-line-clamp: unset !important;
        -webkit-box-orient: unset !important;
        display: block !important;
        overflow: visible !important;
        min-height: auto !important;
        margin: 0 !important;
    }

    .nutman-sp-sidebar .related ul.products li.product .nutman-product-card__price {
        font-size: 13px !important;
        position: static !important;
        background: none !important;
        padding: 0 !important;
        color: #d4a843 !important;
        display: block;
        margin-top: 2px;
    }

    /* Show both View Product + Add to Cart in sidebar */
    .nutman-sp-sidebar .related ul.products li.product .nutman-product-card__actions {
        display: flex !important;
        flex-wrap: wrap !important;
        padding: 6px 0 0 !important;
        gap: 6px !important;
    }

    .nutman-sp-sidebar .related ul.products li.product .nutman-product-card__view-btn {
        flex: 1;
        font-size: 11px !important;
        padding: 6px 8px !important;
    }

    .nutman-sp-sidebar .related ul.products li.product .nutman-product-card__cart-btn {
        flex: 1;
        font-size: 11px !important;
        padding: 6px 8px !important;
    }

    /* Hide ::after arrow on sidebar cart buttons */
    .nutman-sp-sidebar .related ul.products li.product .nutman-product-card__cart-btn::after {
        display: none !important;
    }

    /* "View cart" link — full width below the two buttons */
    .nutman-sp-sidebar .related ul.products li.product .added_to_cart {
        width: 100% !important;
        text-align: center;
        font-size: 11px !important;
        font-weight: 600;
        color: #d4a843;
        text-decoration: none;
        padding: 4px 0 0;
        margin: 0 !important;
    }

    /* Hide extra WooCommerce loop link (empty) */
    .nutman-sp-sidebar .related ul.products li.product > .woocommerce-LoopProduct-link {
        display: none !important;
    }
}
