/* =========================================================
   ZENNOVA CARPETS
   SINGLE PRODUCT PAGE
   product.css
========================================================= */


/* =========================================================
   01. VARIABLES
========================================================= */

.single-product {
    --zn-gold: #B98A3F;
    --zn-gold-light: #CAA45D;
    --zn-gold-dark: #9B7133;

    --zn-charcoal: #171613;
    --zn-taupe: #171613;
    --zn-muted: #70695F;

    --zn-ivory: #F8F5EF;
    --zn-cream: #F3EEE6;
    --zn-soft: #FBF9F5;

    --zn-white: #FFFFFF;
    --zn-border: rgba(185,138,63,.09);
}


/* =========================================================
   02. REMOVE HELLO ELEMENTOR CONTENT RESTRICTION
========================================================= */

body.single-product #primary,
body.single-product main#main.site-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   03. BREADCRUMB
========================================================= */

body.single-product .zn-product-breadcrumb-wrap {
    width: 100%;
    margin: 0;
    padding: 0;
    background: var(--zn-white);
}

body.single-product
.zn-product-breadcrumb-wrap
.site-container {
    width: 100%;
    max-width: var(--container-max, 1840px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--side-space, 48px);
    padding-right: var(--side-space, 48px);
    box-sizing: border-box;
}

body.single-product .zn-product-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;

    width: 100%;
    margin: 0;
    padding: 28px 0 24px;

    color: var(--zn-muted);

    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.5;
}

body.single-product .zn-product-breadcrumb a {
    color: var(--zn-muted);
    text-decoration: none;
    transition: color 0.25s ease;
}

body.single-product .zn-product-breadcrumb a:hover {
    color: var(--zn-gold);
}

body.single-product .zn-breadcrumb-separator {
    color: #B8B0A5;
}

body.single-product .zn-breadcrumb-current {
    color: var(--zn-taupe);
}


/* =========================================================
   04. MASTER PRODUCT CONTAINER
   SAME ALIGNMENT AS HEADER / FOOTER
========================================================= */

body.single-product
main#main.site-main
> div.product {
    width: 100% !important;
    max-width: var(--container-max, 1840px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 0 !important;

    padding-left: var(--side-space, 48px) !important;
    padding-right: var(--side-space, 48px) !important;
    padding-bottom: 80px !important;

    box-sizing: border-box;
}


/* =========================================================
   05. TOP PRODUCT LAYOUT
========================================================= */

body.single-product
main#main.site-main
> div.product {
    display: grid;
    grid-template-columns: minmax(0, 51fr) minmax(0, 45fr);
    column-gap: 4%;
    align-items: start;
}

body.single-product
main#main.site-main
> div.product
> .woocommerce-tabs,
body.single-product
main#main.site-main
> div.product
> .related.products {
    grid-column: 1 / -1;
    min-width: 0;
}


/* =========================================================
   06. PRODUCT GALLERY
========================================================= */

body.single-product
main#main.site-main
> div.product
> .woocommerce-product-gallery {
    float: none !important;

    width: 100% !important;
    min-width: 0;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box;
}


/* Main gallery viewport */

body.single-product
.woocommerce-product-gallery
.flex-viewport {
    width: 100%;
    margin: 0 !important;
    overflow: hidden;
    /* background: var(--zn-ivory); */
}


/* Gallery images */

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__image {
    width: 100%;
}

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__image a {
    display: block;
    width: 100%;
}

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__image img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0;

    object-fit: cover;
}


/* =========================================================
   07. GALLERY ZOOM BUTTON
   Final styling is defined once in GALLERY MAGNIFIER below.
========================================================= */


/* =========================================================
   08. ZENNOVA LUXURY GALLERY THUMBNAIL CAROUSEL
   Desktop: 5 visible thumbnails
========================================================= */

/* Complete thumbnail carousel */
body.single-product .zn-gallery-thumbs-shell {
    position: relative;

    display: flex;
    align-items: center;

    width: 100%;

    margin-top: 12px;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   VIEWPORT
--------------------------------------------------------- */

body.single-product .zn-gallery-thumbs-viewport {
    position: relative;

    flex: 1 1 auto;

    min-width: 0;

    overflow: hidden;
}


/* ---------------------------------------------------------
   WOOCOMMERCE THUMBNAIL TRACK
--------------------------------------------------------- */

body.single-product
.woocommerce-product-gallery
.flex-control-thumbs {
    display: flex !important;
    flex-wrap: nowrap !important;

    gap: 10px;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none;

    transform: translate3d(0, 0, 0);

    transition: transform 0.35s ease;

    will-change: transform;
	
	overflow: visible !important;
}


/* ---------------------------------------------------------
   INDIVIDUAL THUMBNAILS
   Width is set by JavaScript so exactly 5 remain visible.
--------------------------------------------------------- */

body.single-product
.woocommerce-product-gallery
.flex-control-thumbs li {
    float: none !important;

    flex-grow: 0;
    flex-shrink: 0;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   THUMBNAIL IMAGE
--------------------------------------------------------- */

body.single-product
.woocommerce-product-gallery
.flex-control-thumbs img {
    display: block;

    width: 100% !important;
    height: auto;

    aspect-ratio: 1 / 1;

    margin: 0 !important;

    object-fit: cover;

    background: var(--zn-ivory);

    border: 1px solid var(--zn-border);

    box-sizing: border-box;

    opacity: 1 !important;

    cursor: pointer;

    transition:
        border-color 0.25s ease,
        opacity 0.25s ease;
}


/* Thumbnail hover */

body.single-product
.woocommerce-product-gallery
.flex-control-thumbs img:hover {
    border-color: var(--zn-gold);
}


/* Active thumbnail */

body.single-product
.woocommerce-product-gallery
.flex-control-thumbs img.flex-active {
    border-color: var(--zn-gold);
}


/* ---------------------------------------------------------
   PREVIOUS / NEXT BUTTONS
--------------------------------------------------------- */

body.single-product .zn-gallery-thumb-nav {
    position: relative;

    flex: 0 0 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 52px;

    margin: 0;
    padding: 0;

    background: #FFFFFF;

    border: 1px solid var(--zn-border);
    border-radius: 0;

    color: var(--zn-charcoal);

    font-family: Arial, sans-serif;
    font-size: 24px;
    font-weight: 300;
    line-height: 1;

    appearance: none;

    cursor: pointer;

    z-index: 3;

    transition:
        color 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease;
}


/* Previous arrow spacing */

body.single-product .zn-gallery-thumb-prev {
    margin-right: 10px;
}


/* Next arrow spacing */

body.single-product .zn-gallery-thumb-next {
    margin-left: 10px;
}


/* Arrow hover */

body.single-product .zn-gallery-thumb-nav:hover:not(:disabled) {
    color: var(--zn-gold-dark);

    border-color: var(--zn-gold);

    background: var(--zn-soft);
}


/* Disabled arrow */

body.single-product .zn-gallery-thumb-nav:disabled {
    color: #C9C3BA;

    border-color: #E8E3DB;

    background: #FAF9F7;

    cursor: default;

    opacity: 0.55;
}


/* Hide navigation completely when not needed */

body.single-product
.zn-gallery-thumbs-shell:not(.has-carousel)
.zn-gallery-thumb-nav {
    display: none;
}


/* When arrows are hidden, viewport remains full width */

body.single-product
.zn-gallery-thumbs-shell:not(.has-carousel)
.zn-gallery-thumbs-viewport {
    width: 100%;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

    body.single-product .zn-gallery-thumb-nav {
        flex-basis: 32px;

        width: 32px;
        height: 48px;

        font-size: 22px;
    }

    body.single-product .zn-gallery-thumb-prev {
        margin-right: 8px;
    }

    body.single-product .zn-gallery-thumb-next {
        margin-left: 8px;
    }

}


/* =========================================================
   MOBILE
   Keep carousel functional.
   JavaScript changes visible thumbnails to 4.
========================================================= */

@media (max-width: 767px) {

    body.single-product .zn-gallery-thumbs-shell {
        margin-top: 8px;
    }

    body.single-product
    .woocommerce-product-gallery
    .flex-control-thumbs {
        gap: 6px;
    }

    body.single-product .zn-gallery-thumb-nav {
        flex-basis: 28px;

        width: 28px;
        height: 44px;

        font-size: 20px;
    }

    body.single-product .zn-gallery-thumb-prev {
        margin-right: 6px;
    }

    body.single-product .zn-gallery-thumb-next {
        margin-left: 6px;
    }

}


/* =========================================================
   09. PRODUCT SUMMARY
========================================================= */

body.single-product
main#main.site-main
> div.product
> .summary {
    float: none !important;

    width: 100% !important;
    min-width: 0;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box;
}


/* =========================================================
   10. COLLECTION EYEBROW
========================================================= */

body.single-product .zn-product-eyebrow {
    margin: 5px 0 10px;

    color: var(--zn-gold);

    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;

    letter-spacing: 2px;
    text-transform: uppercase;
}

body.single-product .zn-product-eyebrow span {
    margin-left: 4px;
}


/* =========================================================
   11. PRODUCT TITLE
========================================================= */

body.single-product
.product
.summary
.product_title {
    width: 100%;
    max-width: 100%;

    margin: 0 0 15px;

    color: var(--zn-charcoal);

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(42px, 3vw, 58px);
    font-weight: 500;
    line-height: 1;

    letter-spacing: -0.5px;
	font-variant-numeric: lining-nums;
    font-feature-settings: "lnum" 1;
}


/* =========================================================
   12. MAIN PRICE
========================================================= */

body.single-product
.product
.summary
> .price {
    margin: 0 0 20px;

    color: var(--zn-gold);

    font-family: "Montserrat", sans-serif;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.3;
}

body.single-product
.product
.summary
> .price
.woocommerce-Price-amount {
    color: var(--zn-gold);
    font-size: 30px;
}


/* =========================================================
   13. SHORT DESCRIPTION
========================================================= */

body.single-product
.product
.summary
.woocommerce-product-details__short-description {
    width: 100%;
    max-width: 620px;

    margin: 0 0 25px;

    color: var(--zn-taupe);

    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
}

body.single-product
.product
.summary
.woocommerce-product-details__short-description p {
    margin: 0;
}


/* =========================================================
   14. VARIATION / CART AREA
========================================================= */

/* =========================================
   PDP - SEPARATOR BEFORE VARIATIONS
========================================= */

body.single-product .product .summary form.cart {
    position: relative;
    width: 100%;
    margin: 0 0 24px;
    padding-top: 25px;
    border-top: 0;
}

/* Luxury gradient separator */
body.single-product .product .summary form.cart::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 1px;

    background: linear-gradient(
        90deg,
        rgba(185, 138, 63, 0.25) 0%,
        rgba(185, 138, 63, 0.07) 55%,
        transparent 100%
    );

    pointer-events: none;
}


/* =========================================================
   15. VARIATION TABLE
========================================================= */

body.single-product
.product
.summary
table.variations {
    width: 100%;

    margin: 0 0 12px;

    border: 0;
    border-collapse: collapse;
}

body.single-product
.product
.summary
table.variations tbody,
body.single-product
.product
.summary
table.variations tr {
    display: block;
    width: 100%;
}

body.single-product
.product
.summary
table.variations tr {
    margin: 0 0 16px;
}

body.single-product
.product
.summary
table.variations th,
body.single-product
.product
.summary
table.variations td {
    display: block;

    width: 100%;

    margin: 0;
    padding: 0;

    border: 0;

    text-align: left;
}


/* =========================================================
   16. VARIATION LABEL
========================================================= */

body.single-product
.product
.summary
.variations label {
    display: block;

    margin: 0 0 11px;

    color: var(--zn-charcoal);

    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;

    letter-spacing: 1.2px;
    text-transform: uppercase;
}


/* =========================================================
   17. HIDE ORIGINAL SIZE SELECT
========================================================= */

body.single-product .zn-size-select-hidden {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    margin: -1px !important;
    padding: 0 !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;

    white-space: nowrap !important;

    border: 0 !important;
}


/* =========================================================
   18. SIZE OPTIONS
========================================================= */

body.single-product .zn-size-options {
    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 10px;

    width: 100%;

    margin: 2px 0 0;
}


/* =========================================================
   19. SIZE BUTTONS
========================================================= */

body.single-product .zn-size-option {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    min-width: 0;
    min-height: 52px;

    padding: 9px 8px;

    background: var(--zn-white);

    border: 1px solid var(--zn-border);
    border-radius: 0;

    color: var(--zn-taupe);

    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.35;

    text-align: center;

    appearance: none;
    cursor: pointer;

    transition:
        color 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease;
}

body.single-product .zn-size-option:hover,
body.single-product .zn-size-option.is-selected {
    color: var(--zn-charcoal);

    background: var(--zn-soft);

    border-color: var(--zn-gold);
}

body.single-product
.zn-size-option.is-selected::after {
    content: "";

    position: absolute;

    top: 0;
    right: 0;

    width: 0;
    height: 0;

    border-top: 12px solid var(--zn-gold);
    border-left: 12px solid transparent;
}

body.single-product
.zn-size-option.is-disabled,
body.single-product
.zn-size-option:disabled {
    color: #B8B0A5;

    background: #F7F5F1;

    border-color: #E8E3DB;

    opacity: 0.55;

    cursor: not-allowed;
}


/* =========================================================
   20. CLEAR VARIATIONS
========================================================= */

body.single-product
.product
.summary
.reset_variations {
    display: inline-block;

    margin-top: 10px;

    color: var(--zn-gold-dark);

    font-family: "Montserrat", sans-serif;
    font-size: 9px;
    font-weight: 500;
    line-height: 1.4;

    text-decoration: none;

    opacity: 0.85;

    transition:
        color 0.25s ease,
        opacity 0.25s ease;
}

body.single-product
.product
.summary
.reset_variations:hover {
    color: var(--zn-charcoal);
    opacity: 1;
}


/* =========================================================
   21. SINGLE VARIATION
========================================================= */

body.single-product
.product
.summary
.single_variation_wrap {
    width: 100%;
}


/* =========================================================
   22. REEDS / VARIATION DESCRIPTION
========================================================= */

body.single-product
.product
.summary
.woocommerce-variation-description {
    margin: 10px 0 15px;
    color: var(--zn-taupe);
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
}

body.single-product
.product
.summary
.woocommerce-variation-description p {
    margin: 0;
}


/* =========================================================
   23. SELECTED VARIATION PRICE
   Price is displayed in the main price position below title.
   Hide WooCommerce duplicate variation price above stock.
========================================================= */

body.single-product
.product
.summary
.woocommerce-variation-price {
    display: none !important;
}


/* =========================================================
   24. STOCK
========================================================= */

body.single-product
.product
.summary
.woocommerce-variation-availability {
    margin: 18px 0 16px;
}

body.single-product
.product
.summary
.stock {
    margin: 0;

    color: #477554;

    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}


/* =========================================================
   25. ADD TO CART ROW
========================================================= */

body.single-product
.product
.summary
.woocommerce-variation-add-to-cart {
    display: flex;
    align-items: stretch;
    gap: 12px;

    width: 100%;
    margin-top: 0;
}


/* =========================================================
   26. QUANTITY - / NUMBER / +
========================================================= */

body.single-product
.product
.summary
.quantity {
    float: none !important;

    display: grid;
    grid-template-columns: 42px 52px 42px;

    flex: 0 0 136px;

    width: 136px;
    min-width: 136px;
    height: 50px;

    margin: 0 !important;

    background: var(--zn-white);
    border: 1px solid var(--zn-border);

    box-sizing: border-box;
}

body.single-product
.product
.summary
.quantity
.zn-qty-minus,
body.single-product
.product
.summary
.quantity
.zn-qty-plus {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 48px;

    margin: 0;
    padding: 0;

    background: transparent;
    border: 0;
    border-radius: 0;

    color: var(--zn-charcoal);

    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;

    cursor: pointer;

    transition:
        color 0.25s ease,
        background 0.25s ease;
}

body.single-product
.product
.summary
.quantity
.zn-qty-minus {
    border-right: 1px solid var(--zn-border);
}

body.single-product
.product
.summary
.quantity
.zn-qty-plus {
    border-left: 1px solid var(--zn-border);
}

body.single-product
.product
.summary
.quantity
.zn-qty-minus:hover,
body.single-product
.product
.summary
.quantity
.zn-qty-plus:hover {
    color: var(--zn-gold-dark);
    background: var(--zn-soft);
}

body.single-product
.product
.summary
.quantity
.qty {
    width: 52px !important;
    min-width: 0 !important;
    height: 48px;

    margin: 0;
    padding: 0;

    color: var(--zn-charcoal);
    background: transparent;

    border: 0 !important;
    border-radius: 0;
    outline: 0;
    box-shadow: none !important;

    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 500;

    text-align: center;

    appearance: textfield;
    -moz-appearance: textfield;

    box-sizing: border-box;
}

body.single-product
.product
.summary
.quantity
.qty::-webkit-inner-spin-button,
body.single-product
.product
.summary
.quantity
.qty::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

body.single-product
.product
.summary
.quantity
.qty:focus {
    border: 0 !important;
    outline: 0;
    box-shadow: none !important;
}


/* =========================================================
   27. ADD TO CART BUTTON
========================================================= */

body.single-product
.product
.summary
.single_add_to_cart_button {
    flex: 1;

    min-width: 0;
    height: 50px;

    margin: 0 !important;
    padding: 0 28px !important;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    background: var(--zn-gold) !important;

    border: 1px solid var(--zn-gold) !important;
    border-radius: 0 !important;

    color: var(--zn-white) !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1 !important;

    letter-spacing: 1.4px;
    text-transform: uppercase;

    box-shadow: none !important;

    cursor: pointer;

    transition:
        background 0.3s ease,
        border-color 0.3s ease;
}

body.single-product
.product
.summary
.single_add_to_cart_button:hover {
    background: var(--zn-charcoal) !important;
    border-color: var(--zn-charcoal) !important;
    color: var(--zn-white) !important;
}

body.single-product
.product
.summary
.single_add_to_cart_button.disabled {
    opacity: 0.45;
    cursor: not-allowed;
}


/* =========================================================
   28. PRODUCT META
========================================================= */

body.single-product
.product
.summary
.product_meta {
    width: 100%;

    margin-top: 20px;
    /* padding-top: 18px;

    border-top: 1px solid var(--zn-border); */

    color: var(--zn-muted);

    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.8;
}

body.single-product
.product
.summary
.product_meta > span {
    margin-right: 8px;
}

body.single-product
.product
.summary
.product_meta a {
    color: var(--zn-gold-dark);
    text-decoration: none;
    transition: color 0.25s ease;
}

body.single-product
.product
.summary
.product_meta a:hover {
    color: var(--zn-charcoal);
}


/* =========================================================
   29. PRODUCT TABS
========================================================= */

body.single-product
main#main.site-main
> div.product
> .woocommerce-tabs {
    clear: none !important;
    float: none !important;

    width: 100%;
    min-width: 0;

    margin: 32px 0 0 !important;
    padding: 0 !important;
}


/* =========================================================
   30. TAB NAVIGATION
========================================================= */

body.single-product
.woocommerce-tabs
ul.tabs {
    display: flex;

    align-items: flex-end;

    margin: 0 !important;
    padding: 0 !important;

    border-bottom: 1px solid var(--zn-border);

    font-family: "Montserrat", sans-serif;
}

body.single-product
.woocommerce-tabs
ul.tabs::before {
    display: none !important;
}

body.single-product
.woocommerce-tabs
ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    border: 0 !important;
    border-radius: 0 !important;
}

body.single-product
.woocommerce-tabs
ul.tabs li::before,
body.single-product
.woocommerce-tabs
ul.tabs li::after {
    display: none !important;
}

body.single-product
.woocommerce-tabs
ul.tabs li a {
    display: block;

    padding: 15px 22px !important;

    color: var(--zn-muted) !important;

    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 500 !important;
    line-height: 1.4;

    text-decoration: none;
}

body.single-product
.woocommerce-tabs
ul.tabs li.active a {
    color: var(--zn-charcoal) !important;
    border-top: 1px solid var(--zn-gold);
}


/* =========================================================
   31. TAB CONTENT
========================================================= */

body.single-product
.woocommerce-tabs
.panel {
    margin: 0 !important;

    padding: 30px 24px 36px;

    color: var(--zn-taupe);

    border: 1px solid var(--zn-border);
    border-top: 0;

    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.8;
}

body.single-product
.woocommerce-tabs
.panel h2 {
    margin: 0 0 18px;

    color: var(--zn-charcoal);

    font-family: "Cormorant Garamond", serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.1;
}

body.single-product
.woocommerce-tabs
.panel p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   32. RELATED PRODUCTS
========================================================= */

body.single-product
main#main.site-main
> div.product
> .related.products {
    clear: none !important;
    float: none !important;

    width: 100%;
    min-width: 0;

    margin: 50px 0 0 !important;
}

body.single-product
.related.products
> h2 {
    margin: 0 0 25px;

    color: var(--zn-charcoal);

    font-family: "Cormorant Garamond", serif;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.1;
	text-transform: uppercase;
}


/* =========================================================
   33. RELATED PRODUCT GRID
========================================================= */

body.single-product
.related.products
ul.products {
    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 24px;

    margin: 0;
}

body.single-product
.related.products
ul.products::before,
body.single-product
.related.products
ul.products::after {
    display: none;
}

body.single-product
.related.products
ul.products
li.product {
    float: none !important;

    width: 100% !important;

    margin: 0 !important;
}


/* Related product image */

body.single-product
.related.products
ul.products
li.product
img {
    width: 100%;
    height: auto;

    margin: 0 0 16px;

    aspect-ratio: 1 / 1;

    object-fit: cover;
}


/* =========================================================
   STRUCTURAL SAFETY RESET
========================================================= */

body.single-product
main#main.site-main
> div.product
> .woocommerce-product-gallery,
body.single-product
main#main.site-main
> div.product
> .summary,
body.single-product
main#main.site-main
> div.product
> .woocommerce-tabs,
body.single-product
main#main.site-main
> div.product
> .related.products {
    position: relative;
    max-width: none;
    box-sizing: border-box;
}

/* =========================================================
   34. LAPTOP / SMALL DESKTOP
========================================================= */

@media (min-width: 1025px) and (max-width: 1440px) {

    body.single-product
    main#main.site-main
    > div.product {
        grid-template-columns: minmax(0, 49fr) minmax(0, 47fr);
        column-gap: 4%;
    }

    body.single-product
    .product
    .summary
    .product_title {
        font-size: clamp(40px, 3.4vw, 46px);
    }

    body.single-product
    .zn-size-option {
        padding-left: 6px;
        padding-right: 6px;
        font-size: 12px;
    }
}


/* =========================================================
   35. TABLET
========================================================= */

@media (max-width: 1024px) {

    body.single-product
    main#main.site-main
    > div.product {
        grid-template-columns: minmax(0, 1fr);
        column-gap: 0;
    }

    body.single-product
    main#main.site-main
    > div.product
    > .summary {
        padding-top: 38px !important;
    }

    body.single-product
    .product
    .summary
    .product_title {
        max-width: 760px;
        font-size: 48px;
    }

    body.single-product
    .product
    .summary
    .woocommerce-product-details__short-description {
        max-width: 760px;
    }

    body.single-product
    .woocommerce-tabs {
        margin-top: 32px !important;
    }

    body.single-product
    .related.products
    ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


/* =========================================================
   36. MOBILE
========================================================= */

@media (max-width: 767px) {

    body.single-product
    .zn-product-breadcrumb-wrap
    .site-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    body.single-product
    .zn-product-breadcrumb {
        gap: 6px;

        padding-top: 16px;
        padding-bottom: 16px;

        font-size: 8px;
    }

    body.single-product
    .zn-breadcrumb-current {
        max-width: 190px;

        overflow: hidden;

        white-space: nowrap;

        text-overflow: ellipsis;
    }


    /* Product container */

    body.single-product
    main#main.site-main
    > div.product {
        padding-left: 20px !important;
        padding-right: 20px !important;
        padding-bottom: 50px !important;
    }


    /* Gallery */

    body.single-product
    .woocommerce-product-gallery
    .flex-control-thumbs {
        gap: 6px;

        margin-top: 7px !important;
    }

    body.single-product
    .woocommerce-product-gallery
    .woocommerce-product-gallery__trigger {
        top: 10px !important;
        right: 10px !important;

        width: 36px !important;
        height: 36px !important;
    }


    /* Summary */

    body.single-product
    main#main.site-main
    > div.product
    > .summary {
        padding-top: 28px !important;
    }

    body.single-product
    .zn-product-eyebrow {
        margin-bottom: 9px;

        font-size: 9px;

        letter-spacing: 1.5px;
    }

    body.single-product
    .product
    .summary
    .product_title {
        margin-bottom: 12px;

        font-size: 38px;

        line-height: 1;
    }

    body.single-product
    .product
    .summary
    > .price {
        margin-bottom: 15px;

        font-size: 21px;
    }

    body.single-product
    .product
    .summary
    .woocommerce-product-details__short-description {
        margin-bottom: 20px;

        font-size: 12px;

        line-height: 1.75;
    }


    /* Size */

    body.single-product
    .zn-size-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 8px;
    }

    body.single-product
    .zn-size-option {
        min-height: 48px;

        padding: 8px;

        font-size: 9px;
    }


    /* Quantity + cart */

    body.single-product
    .product
    .summary
    .woocommerce-variation-add-to-cart {
        gap: 10px;
    }

    body.single-product
    .product
    .summary
    .quantity {
        grid-template-columns: 36px 44px 36px;
        flex-basis: 116px;
        width: 116px;
        min-width: 116px;
        height: 48px;
    }

    body.single-product
    .product
    .summary
    .quantity
    .zn-qty-minus,
    body.single-product
    .product
    .summary
    .quantity
    .zn-qty-plus {
        width: 36px;
        height: 46px;
        font-size: 19px;
    }

    body.single-product
    .product
    .summary
    .quantity
    .qty {
        width: 44px !important;
        height: 46px;
    }

    body.single-product
    .product
    .summary
    .single_add_to_cart_button {
        height: 48px;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }


    /* Tabs */

    body.single-product
    .woocommerce-tabs {
        margin-top: 28px !important;
    }

    body.single-product
    .woocommerce-tabs
    ul.tabs {
        width: 100%;

        overflow-x: auto;

        white-space: nowrap;

        scrollbar-width: none;
    }

    body.single-product
    .woocommerce-tabs
    ul.tabs::-webkit-scrollbar {
        display: none;
    }

    body.single-product
    .woocommerce-tabs
    ul.tabs li {
        flex: 0 0 auto;
    }

    body.single-product
    .woocommerce-tabs
    ul.tabs li a {
        padding: 13px 15px !important;

        font-size: 9px;
    }

    body.single-product
    .woocommerce-tabs
    .panel {
        padding: 24px 18px 28px;

        font-size: 12px;
    }

    body.single-product
    .woocommerce-tabs
    .panel h2 {
        font-size: 27px;
    }


    /* Related */

    body.single-product
    .related.products {
        margin-top: 44px;
    }

    body.single-product
    .related.products
    > h2 {
        margin-bottom: 22px;

        font-size: 32px;
    }

    body.single-product
    .related.products
    ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 16px;
    }
}


/* =========================================================
   37. SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    body.single-product
    .zn-product-breadcrumb-wrap
    .site-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    body.single-product
    main#main.site-main
    > div.product {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.single-product
    .product
    .summary
    .product_title {
        font-size: 34px;
    }

    body.single-product
    .zn-size-option {
        min-height: 46px;
    }

    body.single-product
    .related.products
    ul.products {
        gap: 12px;
    }
}

body.single-product
.product
.summary
table.variations,
body.single-product
.product
.summary
table.variations tbody,
body.single-product
.product
.summary
table.variations tr,
body.single-product
.product
.summary
table.variations th,
body.single-product
.product
.summary
table.variations td {
    background: transparent !important;
}

/* =========================================================
   20. HIDE CLEAR / RESET VARIATIONS
========================================================= */

body.single-product
.product
.summary
.reset_variations {
    display: none !important;
}

/* =========================================
   PDP - SERVICE BENEFITS
========================================= */

body.single-product .zn-pdp-benefits {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    margin: 22px 0 0;

    border: 1px solid rgba(185,138,63,.09);
    background: #FBF9F5;
}


/* BENEFIT ITEM
----------------------------------------- */

body.single-product .zn-pdp-benefit {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 12px;
	letter-spacing: .45px;
    text-transform: uppercase;
    border-right: 1px solid rgba(185,138,63,.09);
	font-size: 10px;
    line-height: 1.5;
	font-weight: 500;
}

body.single-product .zn-pdp-benefit:last-child {
    border-right: 0;
}


/* ICON
----------------------------------------- */

body.single-product .zn-pdp-benefit-icon {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--zn-gold);
}

body.single-product .zn-pdp-benefit-icon i {
    font-size: 18px;
    line-height: 1;
}


/* TEXT
----------------------------------------- */

body.single-product .zn-pdp-benefit-text {
    /* display: flex;
    flex-direction: column;
    gap: 3px;

    color: var(--zn-charcoal);

    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.45;

    letter-spacing: 0.7px; */
}

body.single-product .zn-pdp-benefit-text span {
    display: block;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1024px) {

    body.single-product .zn-pdp-benefit {
        min-height: 78px;
        gap: 12px;
        padding: 16px 12px;
    }

    body.single-product .zn-pdp-benefit-icon i {
        font-size: 22px;
    }

    body.single-product .zn-pdp-benefit-text {
        font-size: 10px;
        letter-spacing: 0.5px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    body.single-product .zn-pdp-benefits {
        margin-top: 18px;
    }

    body.single-product .zn-pdp-benefit {
        min-height: 72px;

        flex-direction: column;
        justify-content: center;

        gap: 8px;
        padding: 12px 6px;

        text-align: center;
    }

    body.single-product .zn-pdp-benefit-icon i {
        font-size: 20px;
    }

    body.single-product .zn-pdp-benefit-text {
        gap: 2px;

        font-size: 8px;
        line-height: 1.35;
        letter-spacing: 0.35px;
    }
}

/* =========================================
   PDP - GALLERY MAGNIFIER
   Clean / Elegant / Centered
========================================= */

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__trigger {
    position: absolute !important;

    display: block !important;

    width: 40px !important;
    height: 40px !important;

    padding: 0 !important;
    margin: 0 !important;

    background: #FFFFFF !important;

    border: 1px solid transparent !important;
    border-radius: 50% !important;

    box-sizing: border-box !important;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease !important;
		color: #171613;
}


/* Magnifier lens
----------------------------------------- */

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__trigger::before {
    content: "" !important;

    position: absolute !important;

    top: 50% !important;
    left: 50% !important;

    width: 14px !important;
    height: 14px !important;

    margin: 0 !important;

    border: 2px solid #111111 !important;
    border-radius: 50% !important;

    background: transparent !important;

    box-sizing: border-box !important;

    transform: translate(-64%, -64%) !important;
}


/* Magnifier handle
----------------------------------------- */

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__trigger::after {
    content: "" !important;

    position: absolute !important;

    top: 58% !important;
    left: 56% !important;

    width: 6px !important;
    height: 2px !important;

    margin: 0 !important;

    background: #111111 !important;
    border: 0 !important;
    border-radius: 2px !important;

    transform: rotate(45deg) !important;
    transform-origin: center !important;
}


/* Elegant gold hover
----------------------------------------- */

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__trigger:hover {
    border-color: #B98A3F !important;

    box-shadow:
        0 6px 18px rgba(23, 22, 19, 0.10) !important;
}


/* Keep icon black on hover
----------------------------------------- */

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__trigger:hover::before {
    border-color: #111111 !important;
}

body.single-product
.woocommerce-product-gallery
.woocommerce-product-gallery__trigger:hover::after {
    background: #111111 !important;
}

/* =========================================================
   PRODUCT TABS
   Zennova Luxury Boxed Tabs
========================================================= */

body.single-product
.woocommerce-tabs {
    width: 100%;
    margin-top: 32px !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   TAB NAVIGATION
--------------------------------------------------------- */

body.single-product
.woocommerce-tabs
ul.tabs {
    display: flex !important;
    align-items: stretch;
    justify-content: flex-start;

    width: 100%;
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    background: transparent !important;

    list-style: none !important;
}


/* Remove WooCommerce decorative pseudo elements */

body.single-product
.woocommerce-tabs
ul.tabs::before,
body.single-product
.woocommerce-tabs
ul.tabs::after {
    display: none !important;
    content: none !important;
}


/* ---------------------------------------------------------
   INDIVIDUAL TAB
--------------------------------------------------------- */

body.single-product
.woocommerce-tabs
ul.tabs
li {
    position: relative;

    display: flex !important;
    align-items: stretch;

    margin: 0 -1px 0 0 !important;
    padding: 0 !important;

    border: 1px solid rgba(185,138,63,.09) !important;
    border-radius: 0 !important;

    background: #F8F5EF !important;

    box-shadow: none !important;
}


/* Remove WooCommerce tab shapes */

body.single-product
.woocommerce-tabs
ul.tabs
li::before,
body.single-product
.woocommerce-tabs
ul.tabs
li::after {
    display: none !important;
    content: none !important;
}


/* ---------------------------------------------------------
   TAB LINK
--------------------------------------------------------- */

body.single-product
.woocommerce-tabs
ul.tabs
li a {
    min-height: 50px;

    display: flex !important;
    align-items: center;
    justify-content: center;

    padding: 0 34px !important;

    color: #504A42 !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;

    text-decoration: none !important;
    white-space: nowrap;

    background: transparent !important;

    transition:
        color 0.25s ease,
        background 0.25s ease;
}


/* ---------------------------------------------------------
   ACTIVE TAB
--------------------------------------------------------- */

body.single-product
.woocommerce-tabs
ul.tabs
li.active {
    background: #FFFFFF !important;

    border-top-color: #B98A3F !important;
    border-bottom-color: #FFFFFF !important;

    z-index: 2;
}


/* Gold top accent */

/* body.single-product
.woocommerce-tabs
ul.tabs
li.active::before {
    display: block !important;
    content: "" !important;

    position: absolute;

    top: -1px;
    left: -1px;
    right: -1px;

    height: 2px;

    background: #B98A3F;

    z-index: 3;
} */


body.single-product
.woocommerce-tabs
ul.tabs
li.active a {
    color: #171613 !important;
    font-weight: 600 !important;
}


/* Hover */

body.single-product
.woocommerce-tabs
ul.tabs
li:not(.active):hover {
    background: #FBF9F5 !important;
}


body.single-product
.woocommerce-tabs
ul.tabs
li:not(.active):hover a {
    color: #B98A3F !important;
}


/* =========================================================
   TAB CONTENT PANEL
========================================================= */

body.single-product
.woocommerce-tabs
.wc-tab {
    width: 100%;

    margin: -1px 0 0 !important;
    padding: 28px 26px 32px !important;

    border: 1px solid rgba(185,138,63,.09) !important;

    background: #FFFFFF !important;

    box-sizing: border-box;
}


/* ---------------------------------------------------------
   CONTENT HEADING
--------------------------------------------------------- */

body.single-product
.woocommerce-tabs
.wc-tab
> h2:first-child {
    margin: 0 0 24px !important;
    padding: 0 !important;

    color: #171613;

    font-family: "Cormorant Garamond", serif !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
	display : none;
}


/* ---------------------------------------------------------
   DESCRIPTION CONTENT
--------------------------------------------------------- */

body.single-product
.woocommerce-tabs
.wc-tab
p {
    margin: 0 0 16px;

    color: #504A42;

    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.8;
}


body.single-product
.woocommerce-tabs
.wc-tab
p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   ADDITIONAL INFORMATION TABLE
========================================================= */

body.single-product
.woocommerce-tabs
.woocommerce-product-attributes {
    width: 100%;

    margin: 0 !important;

    border-collapse: collapse !important;
    border-spacing: 0 !important;

    border: 1px solid rgba(185,138,63,.09) !important;

    background: #FFFFFF;
}


/* Remove alternating WooCommerce backgrounds */

body.single-product
.woocommerce-tabs
.woocommerce-product-attributes
tr,
body.single-product
.woocommerce-tabs
.woocommerce-product-attributes
tr:nth-child(even),
body.single-product
.woocommerce-tabs
.woocommerce-product-attributes
tr:nth-child(odd) {
    background: #FFFFFF !important;
}


/* ---------------------------------------------------------
   ATTRIBUTE LABEL
--------------------------------------------------------- */

body.single-product
.woocommerce-tabs
.woocommerce-product-attributes-item__label {
    width: 18%;

    padding: 13px 16px !important;

    border: 0 !important;
    border-right: 1px solid rgba(185,138,63,.09) !important;
    border-bottom: 1px solid rgba(185,138,63,.09) !important;

    background: #F8F5EF !important;

    color: #171613;

    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;

    text-align: center;
    vertical-align: middle;
}


/* ---------------------------------------------------------
   ATTRIBUTE VALUE
--------------------------------------------------------- */

body.single-product
.woocommerce-tabs
.woocommerce-product-attributes-item__value {
    padding: 13px 16px !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(185,138,63,.09) !important;

    background: #FFFFFF !important;

    color: #504A42;

    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    font-style: italic;
    line-height: 1.6 !important;

    vertical-align: middle;
}


body.single-product
.woocommerce-tabs
.woocommerce-product-attributes-item__value
p {
    margin: 0 !important;
    padding: 0 !important;

    color: inherit;
    font: inherit;
}


/* Remove final row bottom border */

body.single-product
.woocommerce-tabs
.woocommerce-product-attributes
tr:last-child
.woocommerce-product-attributes-item__label,

body.single-product
.woocommerce-tabs
.woocommerce-product-attributes
tr:last-child
.woocommerce-product-attributes-item__value {
    border-bottom: 0 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {

    body.single-product
    .woocommerce-tabs
    ul.tabs
    li a {
        min-height: 64px;
        padding: 0 26px !important;
        font-size: 13px !important;
    }


    body.single-product
    .woocommerce-tabs
    .wc-tab {
        padding: 32px 30px 34px !important;
    }


    body.single-product
    .woocommerce-tabs
    .wc-tab
    > h2:first-child {
        font-size: 32px !important;
    }


    body.single-product
    .woocommerce-tabs
    .woocommerce-product-attributes-item__label {
        width: 22%;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    body.single-product
    .woocommerce-tabs {
        margin-top: 28px !important;
    }


    body.single-product
    .woocommerce-tabs
    ul.tabs {
        overflow-x: auto;

        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }


    body.single-product
    .woocommerce-tabs
    ul.tabs::-webkit-scrollbar {
        display: none;
    }


    body.single-product
    .woocommerce-tabs
    ul.tabs
    li {
        flex: 0 0 auto;
    }


    body.single-product
    .woocommerce-tabs
    ul.tabs
    li a {
        min-height: 58px;

        padding: 0 20px !important;

        font-size: 12px !important;
    }


    body.single-product
    .woocommerce-tabs
    .wc-tab {
        padding: 26px 20px 28px !important;
    }


    body.single-product
    .woocommerce-tabs
    .wc-tab
    > h2:first-child {
        margin-bottom: 20px !important;

        font-size: 29px !important;
    }


    body.single-product
    .woocommerce-tabs
    .wc-tab
    p {
        font-size: 13px;
        line-height: 1.75;
    }


    body.single-product
    .woocommerce-tabs
    .woocommerce-product-attributes-item__label {
        width: 100%;

        padding: 16px 12px !important;

        font-size: 12px !important;
		border-right: none !important;
		border-bottom: none !important;
    }


    body.single-product
    .woocommerce-tabs
    .woocommerce-product-attributes-item__value {
        padding: 16px 14px !important;

        font-size: 12px !important;
    }
}

/* ==========================================================
   ZENNOVA PRODUCT PAGE
   RELATED PRODUCTS / YOU MAY ALSO LIKE
   ========================================================== */


/* ----------------------------------------------------------
   SECTION
---------------------------------------------------------- */

body.single-product .related.products {
    width: 100%;
    clear: both;
    margin: 72px 0 0;
    padding: 0;
}


/* ----------------------------------------------------------
   SECTION HEADING
---------------------------------------------------------- */

body.single-product .related.products > h2 {
    position: relative;

    margin: 0 0 42px;
    padding: 0 0 24px;

    color: #B98A3F;

    font-family: "Cormorant Garamond", serif;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.05;

    text-transform: uppercase;
    letter-spacing: 1px;
}


/* GOLD SEPARATOR */

body.single-product .related.products > h2::after {
    content: "";

    position: absolute;
    left: 0;
    bottom: 0;

    width: 300px;
    
    height: 1px;

    background: linear-gradient(90deg, rgba(185, 138, 63, 0.25) 0%, rgba(185, 138, 63, 0.07) 55%, transparent 100%);
	
	/* width: 84px;
    height: 2px; 
	background: #B98A3F;
	*/
	
	
}


/* ----------------------------------------------------------
   PRODUCT GRID
---------------------------------------------------------- */

body.single-product .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 40px 24px;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none;
}


/* Remove WooCommerce float helpers */

body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after {
    display: none !important;
}


/* ----------------------------------------------------------
   PRODUCT CARD
---------------------------------------------------------- */

body.single-product .related.products ul.products li.product {
    float: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent;
}


/* ----------------------------------------------------------
   PRODUCT LINK
---------------------------------------------------------- */

body.single-product .related.products li.product > a {
    display: block;
    text-decoration: none !important;
}


/* ----------------------------------------------------------
   PRODUCT IMAGE
---------------------------------------------------------- */

body.single-product .related.products li.product a img {
    display: block;

    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;

    margin: 0 0 20px !important;

    object-fit: cover;

    background: #F8F5EF;

    transition:
        transform 0.4s ease,
        opacity 0.3s ease;
}


/* Subtle luxury hover */

body.single-product .related.products li.product:hover a img {
    opacity: 0.94;
}


/* ----------------------------------------------------------
   PRODUCT NAME
---------------------------------------------------------- */

body.single-product
.related.products
li.product
.woocommerce-loop-product__title {

    /* margin: 0 0 8px !important;
    padding: 0 !important;

    color: #171613 !important;

    font-family: "Montserrat", sans-serif;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.45;

    text-transform: none;
    letter-spacing: 0; */
}


/* ----------------------------------------------------------
   PRODUCT CATEGORY
   Uses your existing .zn-product-category output
---------------------------------------------------------- */

body.single-product
.related.products
.zn-product-category {

    margin: 0 0 7px;

    color: #70695F;

    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}


/* ----------------------------------------------------------
   PRICE
---------------------------------------------------------- */

body.single-product
.related.products
li.product
.price {

/*     display: block;

    margin: 0 !important;

    color: #171613 !important;

    font-family: "Montserrat", sans-serif;
    font-size: 14px !important;
    font-weight: 500;
    line-height: 1.5; */
}


/* Currency / amount */

body.single-product
.related.products
li.product
.price .woocommerce-Price-amount,

body.single-product
.related.products
li.product
.price bdi {

    color: #171613 !important;
}


/* ----------------------------------------------------------
   REMOVE WOOCOMMERCE BUTTONS
---------------------------------------------------------- */

body.single-product
.related.products
li.product
.button,

body.single-product
.related.products
li.product
.add_to_cart_button,

body.single-product
.related.products
li.product
.product_type_variable {

    display: none !important;
}


/* ----------------------------------------------------------
   REMOVE DEFAULT WOOCOMMERCE COLORS / DECORATION
---------------------------------------------------------- */

body.single-product
.related.products
li.product
a {

    color: inherit;
}


body.single-product
.related.products
li.product
.woocommerce-loop-product__title:hover {

    color: #9B7133 !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */


/* LAPTOP */

@media (max-width: 1200px) {

    body.single-product .related.products > h2 {
        font-size: 48px;
    }

    body.single-product .related.products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}


/* TABLET */

@media (max-width: 991px) {

    body.single-product .related.products {
        margin-top: 56px;
    }

    body.single-product .related.products > h2 {
        margin-bottom: 34px;
        padding-bottom: 20px;

        font-size: 44px;
    }

    body.single-product .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 20px;
    }

}


/* MOBILE */

@media (max-width: 767px) {

    body.single-product .related.products {
        margin-top: 48px;
    }

    body.single-product .related.products > h2 {
        margin-bottom: 30px;
        padding-bottom: 18px;

        font-size: 36px;
    }

    body.single-product .related.products > h2::after {
        width: 64px;
    }

    body.single-product .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 16px;
    }

    body.single-product
    .related.products
    li.product
    .woocommerce-loop-product__title {

        font-size: 14px !important;
    }

}


/* SMALL MOBILE */

@media (max-width: 480px) {

    body.single-product .related.products > h2 {
        font-size: 32px;
    }

    body.single-product .related.products ul.products {
        gap: 28px 12px;
    }

    body.single-product .related.products li.product a img {
        margin-bottom: 14px !important;
    }

}

/* ==========================================================
   ZENNOVA - RELATED PRODUCTS
   MATCH SHOP PAGE PRODUCT CARDS
   ========================================================== */


/* PRODUCT GRID
---------------------------------------------------------- */

body.single-product .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;

    width: 100%;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none;
}

body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after {
    display: none !important;
}


/* PRODUCT CARD
---------------------------------------------------------- */

body.single-product .related.products ul.products li.product {
    float: none !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 0 20px !important;

    background: #FFFFFF;

    border: 1px solid rgba(185,138,63,.09);

    box-sizing: border-box;

    overflow: hidden;

    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;
	box-shadow: 0 5px 18px rgba(23, 22, 19, 0.05);
}


/* SAME LUXURY HOVER AS SHOP CARD
---------------------------------------------------------- */

body.single-product .related.products ul.products li.product:hover {
    border-color: #B98A3F;

    box-shadow:
        0 10px 28px rgba(23, 22, 19, 0.08);

    transform: translateY(-3px);
}


/* PRODUCT IMAGE
---------------------------------------------------------- */

body.single-product
.related.products
ul.products
li.product
a
img {

    display: block;

    width: 100% !important;
    height: auto;

    aspect-ratio: 1 / 1;

    margin: 0 0 22px !important;

    object-fit: cover;

    background: #F8F5EF;

    border: 0;

    transition:
        transform 0.45s ease,
        opacity 0.3s ease;
		
		border-bottom: 1px solid rgb(251 249 245) !important;
}


/* IMAGE HOVER
---------------------------------------------------------- */

body.single-product
.related.products
ul.products
li.product:hover
a
img {

    transform: scale(1.025);
}


/* PRODUCT NAME
---------------------------------------------------------- */

body.single-product
.related.products
ul.products
li.product
.woocommerce-loop-product__title {

    /* margin: 0 14px 8px !important;
    padding: 0 !important;

    color: #B98A3F !important;

    font-family: "Montserrat", sans-serif;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.45;

    transition: color 0.3s ease; */
	margin: 0 15px 8px;
    padding: 0;
    font-family: "Cormorant Garamond", serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.15;
    color: #171613;
	font-variant-numeric: lining-nums;
    font-feature-settings: "lnum" 1;
}


/* NAME HOVER
---------------------------------------------------------- */

body.single-product
.related.products
ul.products
li.product:hover
.woocommerce-loop-product__title {

    color: #9B7133 !important;
}


/* CATEGORY
---------------------------------------------------------- */

body.single-product
.related.products
ul.products
li.product
.zn-product-category {

    /* margin: 0 14px 7px !important;

    color: #70695F !important;

    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.5; */
	margin: 0 15px 7px;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #B98A3F;
}


/* PRICE
---------------------------------------------------------- */

body.single-product
.related.products
ul.products
li.product
.price {

    margin: 0px 15px;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--zn-taupe, #504A42);
}

body.single-product
.related.products
ul.products
li.product
.price
.woocommerce-Price-amount,

body.single-product
.related.products
ul.products
li.product
.price
bdi {

    color: #171613 !important;
}


/* REMOVE BUTTONS
---------------------------------------------------------- */

body.single-product
.related.products
ul.products
li.product
.button,

body.single-product
.related.products
ul.products
li.product
.add_to_cart_button,

body.single-product
.related.products
ul.products
li.product
.product_type_variable {

    display: none !important;
}


/* REMOVE LINK DECORATION
---------------------------------------------------------- */

body.single-product
.related.products
ul.products
li.product
a {

    text-decoration: none !important;
}


/* ==========================================================
   RESPONSIVE
   ========================================================== */


/* LAPTOP */

@media (max-width: 1200px) {

    body.single-product .related.products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}


/* TABLET */

@media (max-width: 991px) {

    body.single-product .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

}


/* MOBILE */

@media (max-width: 767px) {

    body.single-product .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    body.single-product
    .related.products
    ul.products
    li.product {

        padding-bottom: 18px !important;
    }

    body.single-product
    .related.products
    ul.products
    li.product
    a
    img {

        margin-bottom: 16px !important;
    }

    body.single-product
    .related.products
    ul.products
    li.product
    .woocommerce-loop-product__title {

        margin-left: 16px !important;
        margin-right: 16px !important;

        font-size: 14px !important;
    }

    body.single-product
    .related.products
    ul.products
    li.product
    .zn-product-category,

    body.single-product
    .related.products
    ul.products
    li.product
    .price {

        margin-left: 16px !important;
        margin-right: 16px !important;
    }

}

/* =========================================================
   ZENNOVA WOOCOMMERCE SUCCESS NOTICE
   Add to Cart confirmation
========================================================= */

body.single-product .woocommerce-notices-wrapper {
    width: 100%;
    margin: 0;
    padding: 0;
}


/* Success notice */
body.single-product .woocommerce-message {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 74px;

    margin: 0 0 46px !important;
    padding: 20px 220px 20px 66px !important;

    background: #F8F5EF;

    border: 0 !important;
    border-top: 1px solid #B98A3F !important;

    color: #504A42;

    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;

    box-shadow: none;

    box-sizing: border-box;
}


/* Remove WooCommerce default green icon */
body.single-product .woocommerce-message::before {
    content: "✓" !important;

    position: absolute;

    top: 50%;
    left: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    transform: translateY(-50%);

    border: 1px solid #B98A3F;
    border-radius: 50%;

    background: transparent;

    color: #B98A3F;

    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
}


body.single-product
.woocommerce-message
.button {
    position: absolute;

    top: 50%;
    right: 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 150px;
    height: 46px;

    margin: 0 !important;
    padding: 0 24px !important;

    transform: translateY(-50%);

    border: 1px solid var(--zn-gold) !important;
    border-radius: 0 !important;

    background: var(--zn-gold) !important;

    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;

    letter-spacing: 1.6px;
    text-transform: uppercase;

    text-decoration: none !important;

    box-shadow: none !important;

    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}


/* Hover */

body.single-product
.woocommerce-message
.button:hover {
    background: var(--zn-charcoal) !important;
    border-color: var(--zn-charcoal) !important;
    color: #FFFFFF !important;
}

body.single-product .woocommerce-message:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Remove WooCommerce clearfix spacing */
body.single-product .woocommerce-message::after {
    display: none;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    body.single-product .woocommerce-message {
        display: block;

        min-height: 0;

        margin-bottom: 30px !important;

        padding:
            20px
            20px
            20px
            30px !important;

        font-size: 12px;
        line-height: 1.7;
		text-align: center;
    }


    body.single-product .woocommerce-message::before {
        top: 20px;
        left: 15px;

        width: 20px;
        height: 20px;

        transform: none;

        font-size: 12px;
    }


    body.single-product
    .woocommerce-message
    .button {
        position: relative;

        top: auto;
        right: auto;

        width: auto;
        min-width: 140px;
        height: 44px;

        margin-top: 16px !important;

        transform: none;

        float: none !important;
    }

}

/* =========================================================
   ZENNOVA WOOCOMMERCE ERROR NOTICE
========================================================= */

body.single-product .woocommerce-error {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 74px;

    margin: 0 0 46px !important;
    padding: 20px 220px 20px 66px !important;

    background: #FBF7F5 !important;

    border: 0 !important;
    border-top: 1px solid #B85C52 !important;
    border-radius: 0 !important;

    outline: none !important;
    box-shadow: none !important;

    color: var(--zn-taupe);

    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;

    list-style: none;

    box-sizing: border-box;
}


/* Error icon */

body.single-product .woocommerce-error::before {
    content: "!" !important;

    position: absolute;

    top: 50%;
    left: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    transform: translateY(-50%);

    border: 1px solid #B85C52;
    border-radius: 50%;

    background: transparent;

    color: #B85C52;

    font-family: Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
}


/* View Cart button */

body.single-product
.woocommerce-error
.button {
    position: absolute;

    top: 50%;
    right: 28px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 150px;
    height: 46px;

    margin: 0 !important;
    padding: 0 24px !important;

    transform: translateY(-50%);

    background: var(--zn-gold) !important;

    border: 1px solid var(--zn-gold) !important;
    border-radius: 0 !important;

    color: #FFFFFF !important;

    font-family: "Montserrat", sans-serif !important;
    font-size: 10px !important;
    font-weight: 600 !important;

    letter-spacing: 1.6px;
    text-transform: uppercase;

    text-decoration: none !important;

    outline: none !important;
    box-shadow: none !important;

    transition:
        background 0.3s ease,
        border-color 0.3s ease,
        color 0.3s ease;
}


/* View Cart hover */

body.single-product
.woocommerce-error
.button:hover {
    background: var(--zn-charcoal) !important;
    border-color: var(--zn-charcoal) !important;
    color: #FFFFFF !important;
}


/* Remove unwanted focus outline */

body.single-product .woocommerce-error:focus,
body.single-product .woocommerce-error:focus-visible,
body.single-product .woocommerce-error .button:focus,
body.single-product .woocommerce-error .button:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    body.single-product .woocommerce-error {
        display: block;

        min-height: 0;

        margin-bottom: 30px !important;

        padding: 20px 20px 20px 54px !important;

        font-size: 12px;
        line-height: 1.7;
    }


    body.single-product .woocommerce-error::before {
        top: 22px;
        left: 18px;

        width: 22px;
        height: 22px;

        transform: none;

        font-size: 12px;
    }


    body.single-product
    .woocommerce-error
    .button {
        position: relative;

        top: auto;
        right: auto;

        width: auto;
        min-width: 140px;
        height: 44px;

        margin-top: 16px !important;

        transform: none;

        float: none !important;
    }
}

span.zn-from-label {
    color: #8A8379;
    font-size: 11px;
    font-weight: 400;
}

body.single-product .woocommerce-product-gallery .flex-viewport{
	border: 1px solid var(--zn-border);
}  

/* =========================================================
   ZENNOVA PDP - CUSTOM SIZE TRIGGER
========================================================= */

.single-product .zn-custom-size-trigger {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
    margin-bottom: 18px;
}

.single-product .zn-custom-size-trigger-text {
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--zn-charcoal);
}

.single-product .zn-custom-size-open {
    appearance: none;
    -webkit-appearance: none;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    width: auto;
    min-width: 0;
    min-height: 0;

    margin: 0;
    padding: 0;

    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;

    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.06em;

    color: var(--zn-gold);
    cursor: pointer;
    text-decoration: none;
}

.single-product .zn-custom-size-open:hover,
.single-product .zn-custom-size-open:focus {
    background: transparent;
    border: 0;
    color: var(--zn-gold-dark);
    box-shadow: none;
    outline: none;
}

.single-product .zn-custom-size-open span {
    transition: transform 0.25s ease;
}

.single-product .zn-custom-size-open:hover span {
    transform: translateX(4px);
}

/* =========================================================
   ZENNOVA PDP - CUSTOM SIZE FLUENT FORM INITIALIZATION HOST

   Do NOT use display:none here. Fluent Forms is allowed to render and
   initialize normally, but the host is positioned completely off-screen.
   product.js moves the same initialized form into the modal on first open.
========================================================= */

.single-product .zn-custom-size-form-host {
    position: fixed !important;
    top: 0 !important;
    left: -100000px !important;

    width: 820px !important;
    max-width: calc(100vw - 60px) !important;

    visibility: hidden !important;
    pointer-events: none !important;

    opacity: 0 !important;
    z-index: -1 !important;
}

/* Once moved, the form is no longer inside this host. */
.single-product .zn-custom-size-modal-form {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
}


/* =========================================================
   ZENNOVA PDP - CUSTOM SIZE ENQUIRY MODAL
========================================================= */

body.zn-modal-open {
    overflow: hidden;
}

.zn-custom-size-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

.zn-custom-size-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}


/* Overlay */

.zn-custom-size-modal-overlay {
    position: absolute;
    inset: 0;

    background: rgba(23, 22, 19, 0.68);
}


/* Modal */

.zn-custom-size-modal-dialog {
    position: relative;
    z-index: 1;

    width: 100%;
    max-width: 820px;
    max-height: calc(100vh - 60px);
    overflow-y: auto;

    padding: 48px 52px;

    background: var(--zn-white);
    border: 1px solid var(--zn-border);
    border-radius: 0;

    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
}


/* Close */

.zn-custom-size-close {
    appearance: none;
    -webkit-appearance: none;

    position: absolute;
    top: 18px;
    right: 20px;

    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;
    margin: 0;

    border: 0;
    background: transparent;
    box-shadow: none;

    color: var(--zn-charcoal);

    font-family: Arial, sans-serif;
    font-size: 30px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;
}

.zn-custom-size-close:hover,
.zn-custom-size-close:focus {
    color: var(--zn-gold);
    background: transparent;
    border: 0;
    box-shadow: none;
    outline: none;
}


/* Header */

.zn-custom-size-modal-header {
    padding-right: 35px;
    margin-bottom: 30px;
}

.zn-custom-size-eyebrow {
    display: block;

    margin-bottom: 10px;

    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.14em;

    color: var(--zn-gold);
}

.zn-custom-size-modal-title {
    margin: 0 0 12px;

    font-family: "Cormorant Garamond", serif;
    font-size: 36px;
    font-weight: 500;
    line-height: 1.15;

    color: var(--zn-charcoal);
}

.zn-custom-size-modal-description {
    max-width: 620px;
    margin: 0;

    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;

    color: var(--zn-muted);
}


/* Form */

.zn-custom-size-modal-form {
    width: 100%;
}


/* Bottom note */

.zn-custom-size-modal-note {
    margin: 20px 0 0;

    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;

    color: var(--zn-muted);
}


/* Mobile */

@media (max-width: 767px) {

    .zn-custom-size-modal {
        padding: 15px;
    }

    .zn-custom-size-modal-dialog {
        max-height: calc(100vh - 30px);
        padding: 38px 22px 28px;
    }

    .zn-custom-size-modal-title {
        font-size: 30px;
    }

    .zn-custom-size-modal-header {
        padding-right: 20px;
        margin-bottom: 24px;
    }

    .zn-custom-size-close {
        top: 12px;
        right: 12px;
    }
}

/* =========================================================
   ZENNOVA PDP - CUSTOM SIZE FLUENT FORM
========================================================= */

/* Form spacing */

.zn-custom-size-modal-form .fluentform {
    margin: 0;
}

.zn-custom-size-modal-form .ff-el-group {
    margin-bottom: 18px;
}


/* Labels */

.zn-custom-size-modal-form .ff-el-input--label {
    margin-bottom: 7px;
}

.zn-custom-size-modal-form .ff-el-input--label label {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;

    color: var(--zn-charcoal);
}


/* Inputs */

.zn-custom-size-modal-form input[type="text"],
.zn-custom-size-modal-form input[type="email"],
.zn-custom-size-modal-form input[type="tel"],
.zn-custom-size-modal-form input[type="number"],
.zn-custom-size-modal-form textarea,
.zn-custom-size-modal-form select {
    width: 100%;

    min-height: 48px;

    padding: 12px 14px;

    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: var(--zn-charcoal);
    background: var(--zn-white);

    border: 1px solid var(--zn-border);
    border-radius: 0;

    box-shadow: none;
    outline: none;

    transition: border-color 0.2s ease;
}


/* Placeholder */

.zn-custom-size-modal-form input::placeholder,
.zn-custom-size-modal-form textarea::placeholder {
    color: var(--zn-muted);
    opacity: 0.75;
}


/* Focus */

.zn-custom-size-modal-form input:focus,
.zn-custom-size-modal-form textarea:focus,
.zn-custom-size-modal-form select:focus {
    border-color: var(--zn-gold);
    box-shadow: none;
    outline: none;
}


/* Message */

.zn-custom-size-modal-form textarea {
    min-height: 95px;
    resize: vertical;
}


/* Fluent Forms multi-column rows */

.zn-custom-size-modal-form .ff-t-container {
    display: flex;
    gap: 16px;
    width: 100%;
}

.zn-custom-size-modal-form .ff-t-cell {
    flex: 1 1 0;
    min-width: 0;
}


/* Submit */

.zn-custom-size-modal-form .ff-btn-submit {
    width: 100%;
    min-height: 50px;

    margin: 4px 0 0;
    padding: 13px 24px;

    border: 1px solid var(--zn-gold);
    border-radius: 0;

    background: var(--zn-gold);
    color: var(--zn-white);

    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.10em;

    box-shadow: none;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.zn-custom-size-modal-form .ff-btn-submit:hover,
.zn-custom-size-modal-form .ff-btn-submit:focus {
    background: var(--zn-gold-dark);
    border-color: var(--zn-gold-dark);
    color: var(--zn-white);
}


/* Validation */

.zn-custom-size-modal-form .error.text-danger {
    margin-top: 5px;

    font-family: "Montserrat", sans-serif;
    font-size: 11px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .zn-custom-size-modal-form .ff-t-container {
        display: block;
    }

    .zn-custom-size-modal-form .ff-t-cell {
        width: 100%;
    }

}

/* Logged-in customer contact fields */

.zn-custom-size-modal .zn-customer-field-hidden,
.zn-custom-size-modal .zn-customer-row-hidden {
    display: none !important;
}







/* =========================================================
   ZENNOVA PDP - CUSTOM SIZE FORM FINAL STATE OVERRIDES
   Keep logged-in / logged-out popup appearance identical.
========================================================= */

body.single-product .zn-custom-size-modal-form .ff-el-form-control,
body.single-product .zn-custom-size-modal-form input[type="text"],
body.single-product .zn-custom-size-modal-form input[type="email"],
body.single-product .zn-custom-size-modal-form input[type="tel"],
body.single-product .zn-custom-size-modal-form input[type="number"],
body.single-product .zn-custom-size-modal-form textarea,
body.single-product .zn-custom-size-modal-form select {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    color: var(--zn-charcoal) !important;
    background: var(--zn-white) !important;
    border: 1px solid #E8E0D5 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

body.single-product .zn-custom-size-modal-form textarea.ff-el-form-control,
body.single-product .zn-custom-size-modal-form textarea {
    min-height: 95px !important;
    border-radius: 0 !important;
    resize: vertical;
}

body.single-product .zn-custom-size-modal-form .ff-el-form-control:focus,
body.single-product .zn-custom-size-modal-form input:focus,
body.single-product .zn-custom-size-modal-form textarea:focus,
body.single-product .zn-custom-size-modal-form select:focus {
    border-color: var(--zn-gold) !important;
    box-shadow: none !important;
    outline: none !important;
}

body.single-product .zn-custom-size-modal-form .ff-el-is-error .ff-el-form-control,
body.single-product .zn-custom-size-modal-form .ff-el-form-control.error {
    border-color: #ff5c5c !important;
}

body.single-product .zn-custom-size-modal-form button.ff-btn-submit,
body.single-product .zn-custom-size-modal-form .ff-btn-submit {
    width: 100% !important;
    min-height: 50px !important;
    margin: 4px 0 0 !important;
    padding: 13px 24px !important;
    background: var(--zn-gold) !important;
    border: 1px solid var(--zn-gold) !important;
    border-radius: 0 !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
    opacity: 1 !important;
    font-family: "Montserrat", sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.10em !important;
    cursor: pointer !important;
}

body.single-product .zn-custom-size-modal-form button.ff-btn-submit:hover,
body.single-product .zn-custom-size-modal-form button.ff-btn-submit:focus,
body.single-product .zn-custom-size-modal-form .ff-btn-submit:hover,
body.single-product .zn-custom-size-modal-form .ff-btn-submit:focus {
    background: var(--zn-gold-dark) !important;
    border-color: var(--zn-gold-dark) !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
    outline: none !important;
}

body.single-product .zn-custom-size-modal .zn-customer-field-hidden {
    display: none !important;
}

/* =========================================================
   ZENNOVA PDP - SALE UI
   Final Sale Price + Sale Badge
========================================================= */


/* =========================================================
   1. SALE PRICE WRAPPER
========================================================= */

body.single-product
.product
.summary
> .price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;

    margin-bottom: 20px;
}


/* =========================================================
   2. OLD / REGULAR PRICE
========================================================= */

body.single-product
.product
.summary
> .price
del {
    position: relative;

    display: inline-block;

    color: #8F887F !important;
    opacity: 0.65 !important;

    /* Disable browser default strike */
    text-decoration: none !important;
}


/* Old price amount */
body.single-product
.product
.summary
> .price
del
.woocommerce-Price-amount {
    color: #8F887F !important;

    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;

    text-decoration: none !important;
}


/* Old price currency */
body.single-product
.product
.summary
> .price
del
.woocommerce-Price-currencySymbol {
    color: inherit !important;
}


/* Custom centered strike */
body.single-product
.product
.summary
> .price
del::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    top: 60%;

    height: 1px;

    background: #8F887F;

    transform: translateY(-50%);

    pointer-events: none;
}


/* =========================================================
   3. CURRENT SALE PRICE
========================================================= */

body.single-product
.product
.summary
> .price
ins {
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;

    color: var(--zn-gold) !important;

    text-decoration: none !important;
}


/* Sale amount */
body.single-product
.product
.summary
> .price
ins
.woocommerce-Price-amount {
    color: var(--zn-gold) !important;

    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;

    text-decoration: none !important;
}


/* Sale currency */
body.single-product
.product
.summary
> .price
ins
.woocommerce-Price-currencySymbol {
    color: inherit !important;
}


/* =========================================================
   4. SALE BADGE
========================================================= */

/* Product wrapper = badge positioning reference */
body.single-product
main#main.site-main
> div.product {
    position: relative;
}


/* WooCommerce sale badge */
body.single-product
.product
span.onsale {
    position: absolute !important;

    top: 10px !important;
    left: 60px !important;
    right: auto !important;
    bottom: auto !important;

    z-index: 20 !important;

    width: auto !important;
    height: auto !important;

    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 10px 15px !important;

    background: #B98A3F !important;
    color: #FFFFFF !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;

    font-size: 0 !important;
    line-height: 1 !important;

    text-align: center !important;

    transform: none !important;
}


/* Replace WooCommerce "Sale!" with "SALE" */
body.single-product
.product
span.onsale::after {
    content: "SALE";

    display: block;

    font-family: "Montserrat", sans-serif;
    font-size: 9px;
    font-weight: 600;
    line-height: 1;

    letter-spacing: 1.5px;
    text-transform: uppercase;

    color: #FFFFFF;
}


/* =========================================================
   5. TABLET
========================================================= */

@media (max-width: 1024px) {

    body.single-product
    .product
    .summary
    > .price
    del
    .woocommerce-Price-amount {
        font-size: 14px !important;
    }

    body.single-product
    .product
    .summary
    > .price
    ins
    .woocommerce-Price-amount {
        font-size: 27px !important;
    }

}


/* =========================================================
   6. MOBILE
========================================================= */

@media (max-width: 767px) {

    body.single-product
    .product
    .summary
    > .price {
        gap: 8px;

        margin-bottom: 18px;
    }


    /* Old price */
    body.single-product
    .product
    .summary
    > .price
    del
    .woocommerce-Price-amount {
        font-size: 13px !important;
    }


    /* Sale price */
    body.single-product
    .product
    .summary
    > .price
    ins
    .woocommerce-Price-amount {
        font-size: 24px !important;
    }


    /* Sale badge */
    body.single-product
    .product
    span.onsale {
        top: 10px !important;
        left: 10px !important;

        padding: 8px 11px !important;
    }


    body.single-product
    .product
    span.onsale::after {
        font-size: 8px;

        letter-spacing: 1.3px;
    }

}

/* ========================================
   ZENNOVA - TABBY PROMO
======================================== */

#tabbyPromo {
    width: 100%;
    margin: 18px 0 22px !important;
}
