body.single-product .site-content {
    background: #fbf7ef;
}

body.single-product .site-main {
    max-width: 1480px;
    margin: 0 auto;
    padding: 54px clamp(22px, 5vw, 82px) 100px;
}

body.single-product div.product {
    position: relative;
}

.lumiere-product-home {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 22px;
    border: 1px solid rgba(21,18,15,.45);
    border-radius: 999px;
    color: #7f622d !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-decoration: none !important;
    text-transform: uppercase;
    transition: transform .25s ease, background .25s ease, color .25s ease;
}

.lumiere-product-home:hover {
    transform: translateY(-2px);
    background: #15120f;
    color: #171514 !important;
}

body.single-product div.product .woocommerce-product-gallery,
body.single-product div.product .summary {
    margin-top: 66px;
}

body.single-product div.product .woocommerce-product-gallery {
    width: 55%;
}

body.single-product div.product .summary {
    width: 39%;
    padding: 20px 0 0 34px;
}

body.single-product .woocommerce-product-gallery__wrapper {
    border-radius: 28px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 26px 60px rgba(30,22,12,.10);
}

body.single-product .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

body.single-product .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap: 10px;
    margin-top: 14px !important;
}

body.single-product .flex-control-thumbs li {
    width: auto !important;
    float: none !important;
}

body.single-product .flex-control-thumbs img {
    aspect-ratio: 1;
    border-radius: 14px;
    object-fit: cover;
    opacity: .65;
    transition: opacity .2s ease, transform .2s ease;
}

body.single-product .flex-control-thumbs img:hover,
body.single-product .flex-control-thumbs img.flex-active {
    opacity: 1;
    transform: translateY(-2px);
}

body.single-product .summary .product_title {
    margin: 10px 0 20px;
    color: #171514;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(43px, 4.4vw, 70px);
    line-height: .98;
}

body.single-product .summary .price {
    margin: 0 0 24px;
    color: #171514 !important;
    font-size: 25px !important;
    font-weight: 600;
}

body.single-product .woocommerce-product-details__short-description {
    color: #4f4942;
    font-size: 16px;
    line-height: 1.85;
}

body.single-product form.cart {
    margin-top: 28px !important;
}

body.single-product form.cart .quantity .qty {
    width: 76px;
    min-height: 52px;
    border: 1px solid rgba(21,18,15,.38);
    border-radius: 0;
    background: #fff;
}

body.single-product form.cart .single_add_to_cart_button {
    min-height: 52px;
    padding: 0 42px !important;
    border-radius: 999px !important;
    background: #15120f !important;
    color: #171514 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .17em;
    text-transform: uppercase;
    transition: transform .25s ease, box-shadow .25s ease;
}

body.single-product form.cart .single_add_to_cart_button:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(21,18,15,.28);
}

.lumiere-gift-wrap {
    margin: 28px 0 22px;
    padding: 18px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(31,23,13,.07);
}

.lumiere-gift-wrap__toggle {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0;
    color: #211d18;
    font-weight: 600;
    cursor: pointer;
}

.lumiere-gift-wrap__toggle input {
    width: 18px;
    height: 18px;
    accent-color: #15120f;
}

.lumiere-gift-wrap__toggle strong {
    margin-left: auto;
    color: #9c7735;
    font-size: 12px;
}

.lumiere-gift-wrap__message {
    margin-top: 16px;
}

.lumiere-gift-wrap__message label {
    display: block;
    margin-bottom: 7px;
    color: #7b694c;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.lumiere-gift-wrap__message textarea {
    width: 100%;
    min-height: 90px;
    border: 1px solid rgba(21,18,15,.28);
    border-radius: 12px;
    background: #fbf8f2;
    resize: vertical;
}

.lumiere-video-trigger {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: 14px;
    padding: 11px 16px;
    border: 0;
    border-radius: 999px;
    background: #171514;
    color: #15120f;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
}

.lumiere-video-trigger__play {
    font-size: 12px;
}

.lumiere-video-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 30px;
    background: rgba(10,8,6,.88);
}

.lumiere-video-modal[hidden] { display: none; }

.lumiere-video-modal video {
    max-width: min(1000px, 92vw);
    max-height: 82vh;
    border-radius: 18px;
    background: #000;
}

.lumiere-video-modal__close {
    position: fixed;
    top: 22px;
    right: 26px;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #171514;
    font-size: 28px;
    cursor: pointer;
}

.lumiere-product-details {
    clear: both;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: clamp(45px, 8vw, 130px);
    margin-top: 105px;
    padding: 80px clamp(25px, 5vw, 70px);
    border-radius: 34px;
    background: #171514;
    color: #f8f1e5;
}

.lumiere-product-kicker {
    margin: 0 0 12px;
    color: #15120f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.lumiere-product-details h2 {
    margin: 0 0 28px;
    color: #f8f1e5;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(38px, 4vw, 58px);
}

.lumiere-product-copy {
    color: #d7cdbc;
    font-size: 15px;
    line-height: 1.9;
}

.lumiere-product-details dl {
    margin: 0;
}

.lumiere-product-details dl div {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 24px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(21,18,15,.22);
}

.lumiere-product-details dt {
    color: #15120f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.lumiere-product-details dd {
    margin: 0;
    color: #f4eadb;
}

body.single-product .related.products {
    clear: both;
    padding-top: 90px;
}

@media (max-width: 900px) {
    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary {
        width: 100%;
        float: none;
    }

    body.single-product div.product .summary {
        margin-top: 40px;
        padding-left: 0;
    }

    .lumiere-product-home {
        position: relative;
        float: right;
    }

    .lumiere-product-details {
        grid-template-columns: 1fr;
        margin-top: 75px;
    }
}

@media (max-width: 560px) {
    body.single-product .site-main {
        padding-inline: 16px;
    }

    body.single-product .summary .product_title {
        font-size: 43px;
    }

    body.single-product form.cart .single_add_to_cart_button {
        width: calc(100% - 90px);
        padding-inline: 16px !important;
    }

    .lumiere-product-details {
        padding: 50px 22px;
        border-radius: 24px;
    }

    .lumiere-product-details dl div {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}


/* 2.6: guarantee product title visibility */
body.single-product .summary h1.product_title,
body.single-product .summary .product_title.entry-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 10px 0 20px !important;
    color: #171514 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(43px, 4.4vw, 70px) !important;
    font-weight: 600 !important;
    line-height: .98 !important;
    text-indent: 0 !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
}


/* 2.7 product title cleanup */
/* Astra prints this compact category trail above the title. The normal
   Categories/Brand metadata below the short description remains visible. */
body.single-product .summary .ast-woo-product-category,
body.single-product .summary > .posted_in,
body.single-product .summary > .product_meta:first-child {
    display: none !important;
}

/* Keep only WooCommerce/Astra's original product title and size it elegantly. */
body.single-product .summary h1.product_title,
body.single-product .summary .product_title.entry-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 0 18px !important;
    color: #171514 !important;
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-size: clamp(34px, 3.1vw, 52px) !important;
    font-weight: 600 !important;
    line-height: 1.02 !important;
    letter-spacing: -.015em !important;
    text-indent: 0 !important;
    clip: auto !important;
    clip-path: none !important;
    overflow: visible !important;
}

/* Prevent a heading accidentally placed in the short description from
   visually duplicating the main product title. */
body.single-product .woocommerce-product-details__short-description h1,
body.single-product .woocommerce-product-details__short-description h2 {
    margin: 0 0 12px !important;
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
}

@media (max-width: 560px) {
    body.single-product .summary h1.product_title,
    body.single-product .summary .product_title.entry-title {
        font-size: 36px !important;
    }
}


/* 2.8 product-page spacing, category trail and home link cleanup */
body.single-product .site-main {
    padding-top: 28px !important;
}

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

body.single-product div.product .summary {
    padding-top: 0 !important;
}

/* Astra's category trail above the title. Product metadata below the short
   description remains untouched. */
body.single-product .summary .single-product-category,
body.single-product .summary > .single-product-category,
body.single-product .summary .ast-woo-product-category {
    display: none !important;
}

.lumiere-product-home {
    position: static !important;
    float: none !important;
    width: max-content;
    min-height: 38px;
    margin: 0 0 24px !important;
    padding: 0 16px;
    border: 1px solid rgba(21,18,15,.42);
    border-radius: 999px;
    background: rgba(255,255,255,.56);
    color: #8b682c !important;
    box-shadow: 0 7px 18px rgba(31,23,13,.05);
    font-size: 10px;
    letter-spacing: .12em;
}

.lumiere-product-home span {
    margin-right: 5px;
    font-size: 15px;
    line-height: 1;
    transition: transform .2s ease;
}

.lumiere-product-home:hover {
    background: #15120f;
    color: #171514 !important;
    box-shadow: 0 10px 24px rgba(21,18,15,.22);
}

.lumiere-product-home:hover span {
    transform: translateX(-3px);
}

body.single-product .summary h1.product_title,
body.single-product .summary .product_title.entry-title {
    margin-top: 0 !important;
}

@media (max-width: 900px) {
    body.single-product .site-main {
        padding-top: 20px !important;
    }

    body.single-product div.product .summary {
        margin-top: 30px !important;
    }
}

/* Selected wrapping style from the Wrap as a Gift page. */
.lumiere-gift-wrap__style{margin:10px 0 14px;padding:12px 14px;border:1px solid rgba(21,18,15,.2);border-radius:14px;background:#fbf7f0}.lumiere-gift-wrap__style-preview{display:flex;align-items:center;gap:9px;margin-bottom:7px;color:#342f2a;font:600 12px/1.35 Montserrat,Arial,sans-serif}.lumiere-gift-wrap__style-name:empty:before{content:'No wrapping style selected';color:#756e65;font-weight:500}.lumiere-gift-wrap__style-swatch{width:17px;height:17px;border-radius:50%;background:#15120f;box-shadow:0 0 0 1px rgba(0,0,0,.08)}.lumiere-gift-wrap__style-link{color:#15120f!important;font:700 9px/1 Montserrat,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none!important;border-bottom:1px solid rgba(21,18,15,.55);padding-bottom:3px}.lumiere-gift-wrap__style-link:hover{color:#171514!important}.lumiere-gift-wrap__style.is-active{border-color:rgba(21,18,15,.42);background:#f7efe3}
/* v6.9 gift wrapping selection preview */
.lumiere-gift-wrap__style-preview{margin-bottom:7px}.lumiere-gift-wrap__style-name:empty:before{content:'No wrapping selected yet';color:#756e65;font-weight:500}

/* v6.9.4 — Add to Cart + Wishlist purchase row */
body.single-product .lumiere-purchase-actions {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 0 !important;
    flex-wrap: nowrap !important;
}

body.single-product .lumiere-purchase-actions .quantity {
    float: none !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

body.single-product .lumiere-purchase-actions .single_add_to_cart_button {
    float: none !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.single-product .lumiere-purchase-actions .lumiere-single-wishlist {
    display: flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

body.single-product .lumiere-purchase-actions .lumiere-wishlist-button--single {
    min-height: 52px !important;
    min-width: 126px !important;
    padding: 0 17px !important;
    border-radius: 999px !important;
    background: #fff !important;
    border: 1px solid rgba(21,18,15,.38) !important;
    color: #171514 !important;
    box-shadow: none !important;
}

body.single-product .lumiere-purchase-actions .lumiere-wishlist-button--single:hover {
    background: #fffaf2 !important;
    border-color: #15120f !important;
    color: #15120f !important;
}

body.single-product .lumiere-purchase-actions .lumiere-wishlist-button--single.is-active {
    background: #171514 !important;
    border-color: #171514 !important;
    color: #15120f !important;
}

@media (max-width: 560px) {
    body.single-product .lumiere-purchase-actions {
        gap: 8px !important;
    }

    body.single-product .lumiere-purchase-actions .quantity .qty {
        width: 62px !important;
    }

    body.single-product .lumiere-purchase-actions .single_add_to_cart_button {
        width: auto !important;
        padding-inline: 13px !important;
        font-size: 9px !important;
        letter-spacing: .11em !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-wishlist-button--single {
        min-width: 52px !important;
        width: 52px !important;
        padding: 0 !important;
    }

    body.single-product .lumiere-purchase-actions .lumiere-wishlist-button--single .lumiere-wishlist-button__label {
        display: none !important;
    }
}

/* =========================================================
   v6.10.0 — refined single-product layout
   ========================================================= */

/* Remove Astra's oversized article/content breathing room on product pages. */
body.single-product .site-content,
body.single-product #content,
body.single-product .site-content > .ast-container,
body.single-product #primary,
body.single-product .site-main,
body.single-product article.ast-article-single,
body.single-product .ast-article-single {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.single-product .site-content > .ast-container {
    align-items: flex-start !important;
}

body.single-product .site-main {
    padding: 24px clamp(22px, 5vw, 82px) 100px !important;
}

/* Desktop gallery: thumbnails in a vertical rail beside the main image. */
@media (min-width: 901px) {
    body.single-product div.product .woocommerce-product-gallery.lumiere-gallery-ready {
        display: grid !important;
        grid-template-columns: 86px minmax(0, 1fr) !important;
        column-gap: 16px !important;
        align-items: start !important;
        width: 55% !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .lumiere-gallery-rail {
        grid-column: 1 !important;
        grid-row: 1 !important;
        min-width: 0;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .flex-viewport,
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .woocommerce-product-gallery__wrapper {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready .lumiere-gallery-rail .flex-control-thumbs {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 10px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready .lumiere-gallery-rail .flex-control-thumbs li {
        width: 100% !important;
        margin: 0 !important;
        float: none !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready .lumiere-gallery-rail .flex-control-thumbs img {
        display: block !important;
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        padding: 5px !important;
        border: 1px solid rgba(21,18,15,.22) !important;
        border-radius: 12px !important;
        background: #fff !important;
        object-fit: contain !important;
        opacity: .72;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready .lumiere-gallery-rail .flex-control-thumbs img.flex-active,
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready .lumiere-gallery-rail .flex-control-thumbs img:hover {
        border-color: #15120f !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Video becomes the final tile in the thumbnail rail. */
body.single-product .lumiere-gallery-rail .lumiere-video-trigger {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    min-height: 92px !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(21,18,15,.34) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #181411 !important;
    text-align: center !important;
}

body.single-product .lumiere-gallery-rail .lumiere-video-trigger__thumb {
    position: relative;
    display: block;
    width: 100%;
    min-height: 58px;
    background-color: #f4efe5;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

body.single-product .lumiere-gallery-rail .lumiere-video-trigger__preview {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
    background: #f4efe5;
}

body.single-product .lumiere-gallery-rail .lumiere-video-trigger__thumb.has-video-preview {
    background-image: none !important;
}

body.single-product .lumiere-gallery-rail .lumiere-video-trigger__play {
    position: absolute;
    inset: 50% auto auto 50%;
    z-index: 2;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 50%;
    background: rgba(12,10,9,.55);
    color: #fff;
    font-size: 10px;
    box-shadow: 0 6px 14px rgba(0,0,0,.18);
}

body.single-product .lumiere-gallery-rail .lumiere-video-trigger__label {
    display: block;
    padding: 6px 4px 7px;
    font-size: 8px;
    line-height: 1.2;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #15120f;
    background: #fff;
}

/* Gift wrapping lives visually beneath the image instead of crowding purchase actions. */
body.single-product .lumiere-gallery-gift-wrap {
    float: left;
    clear: left;
    width: 55%;
    margin: 18px 0 0;
}

body.single-product .lumiere-gallery-gift-wrap .lumiere-gift-wrap {
    margin: 0;
    padding: 18px 20px;
    border: 1px solid rgba(21,18,15,.18);
    border-radius: 18px;
    background: #fffdf9;
    box-shadow: 0 10px 28px rgba(31,23,13,.05);
}

body.single-product .lumiere-gallery-gift-wrap .lumiere-gift-wrap__style {
    margin: 10px 0 0;
}

/* Product metadata: categories, brand, SKU, etc. each get their own clean line. */
body.single-product .summary .product_meta {
    display: block !important;
    margin-top: 20px !important;
    color: #6a6259 !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
}

body.single-product .summary .product_meta > span,
body.single-product .summary .product_meta > p,
body.single-product .summary .product_meta > div {
    display: block !important;
    width: 100% !important;
    margin: 0 0 7px !important;
}

body.single-product .summary .product_meta a {
    color: #15120f !important;
    text-decoration: none !important;
}

/* Quantity stepper: minus | number | plus. */
body.single-product .lumiere-purchase-actions .quantity {
    display: inline-flex !important;
    align-items: stretch !important;
    height: 52px !important;
    overflow: hidden !important;
    border: 1px solid rgba(21,18,15,.38) !important;
    border-radius: 999px !important;
    background: #fff !important;
}

body.single-product .lumiere-purchase-actions .quantity .qty {
    width: 48px !important;
    min-height: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
    appearance: textfield;
    -moz-appearance: textfield;
}

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

body.single-product .lumiere-qty-step {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #171514 !important;
    box-shadow: none !important;
    font: 500 19px/1 Montserrat,Arial,sans-serif !important;
    cursor: pointer !important;
    transition: background .2s ease, color .2s ease;
}

body.single-product .lumiere-qty-step:hover {
    background: #f5ecde !important;
    color: #15120f !important;
}

body.single-product .lumiere-qty-step--minus {
    border-right: 1px solid rgba(21,18,15,.18) !important;
}

body.single-product .lumiere-qty-step--plus {
    border-left: 1px solid rgba(21,18,15,.18) !important;
}

@media (max-width: 900px) {
    body.single-product .site-main {
        padding-top: 16px !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready {
        display: block !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready .lumiere-gallery-rail {
        display: flex !important;
        align-items: stretch !important;
        gap: 8px !important;
        margin-top: 10px !important;
        overflow-x: auto;
        padding-bottom: 4px;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready .lumiere-gallery-rail .flex-control-thumbs {
        display: flex !important;
        flex-direction: row !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready .lumiere-gallery-rail .flex-control-thumbs li {
        flex: 0 0 72px !important;
        width: 72px !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready .lumiere-gallery-rail .lumiere-video-trigger {
        flex: 0 0 72px !important;
        width: 72px !important;
        min-height: 72px !important;
        margin: 0 !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready .lumiere-gallery-rail .lumiere-video-trigger__thumb {
        min-height: 52px;
    }

    body.single-product .lumiere-gallery-gift-wrap {
        float: none;
        clear: both;
        width: 100%;
        margin-top: 14px;
    }
}

@media (max-width: 560px) {
    body.single-product .lumiere-purchase-actions {
        flex-wrap: wrap !important;
    }

    body.single-product .lumiere-purchase-actions .quantity {
        flex: 0 0 auto !important;
    }

    body.single-product .lumiere-purchase-actions .quantity .qty {
        width: 42px !important;
    }
}


/* =========================================================
   v6.10.1 — product alignment + right-side media rail
   ========================================================= */

/* The product title starts at the same vertical level as the main image. */
@media (min-width: 901px) {
    body.single-product div.product .woocommerce-product-gallery,
    body.single-product div.product .summary {
        margin-top: 0 !important;
        vertical-align: top !important;
    }

    body.single-product div.product .summary {
        padding-top: 0 !important;
    }

    body.single-product .summary h1.product_title,
    body.single-product .summary .product_title.entry-title {
        margin-top: 0 !important;
    }

    /* Main image first, vertical thumbnails/video on its RIGHT. */
    body.single-product div.product .woocommerce-product-gallery.lumiere-gallery-ready {
        grid-template-columns: minmax(0, 1fr) 86px !important;
        column-gap: 16px !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .flex-viewport,
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .woocommerce-product-gallery__wrapper {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .lumiere-gallery-rail {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    /* Gift wrapping stays beneath the complete gallery but inside the gallery
       column, so it can never push the summary/title down. */
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .lumiere-gallery-gift-wrap {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        float: none !important;
        clear: none !important;
        margin: 18px 0 0 !important;
    }
}

/* If a product has no thumbnail rail, the wrap box still remains under the image
   and inside the gallery instead of entering the float flow between gallery and summary. */
body.single-product .woocommerce-product-gallery > .lumiere-gallery-gift-wrap {
    width: 100% !important;
    float: none !important;
    clear: both !important;
}

/* Home is now a secondary navigation link after the core product information,
   so it no longer occupies the title's top line. */
body.single-product .summary .lumiere-product-home {
    position: static !important;
    display: inline-flex !important;
    width: max-content !important;
    margin: 18px 0 0 !important;
}

/* Related products: reserve identical title and price slots, and anchor actions
   at the bottom so every card reads as one clean, aligned row. */
body.single-product .related.products ul.products {
    align-items: stretch !important;
}

body.single-product .related.products ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

body.single-product .related.products ul.products li.product .astra-shop-summary-wrap,
body.single-product .related.products ul.products li.product .ast-woo-shop-product-description,
body.single-product .related.products ul.products li.product .product-inner {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

body.single-product .related.products .woocommerce-loop-product__title {
    width: 100% !important;
    margin-bottom: 10px !important;
}

body.single-product .related.products .price {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}

body.single-product .related.products .lumiere-archive-actions {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    margin-top: auto !important;
}

body.single-product .related.products .lumiere-archive-actions .button,
body.single-product .related.products a.button,
body.single-product .related.products button.button {
    min-height: 46px !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

@media (max-width: 900px) {
    /* Mobile keeps the existing horizontal thumbnail strip. */
    body.single-product .woocommerce-product-gallery > .lumiere-gallery-gift-wrap {
        margin-top: 14px !important;
    }
}

/* =========================================================
   v6.10.2 — robust top alignment for gallery + summary
   The previous float layout let the taller gallery/gift-wrap
   influence where the summary began. Desktop now uses an
   explicit two-column grid so both columns always start together.
   ========================================================= */
@media (min-width: 901px) {
    body.single-product div.product {
        display: grid !important;
        grid-template-columns: minmax(0, 55fr) minmax(360px, 39fr) !important;
        column-gap: clamp(38px, 4vw, 72px) !important;
        align-items: start !important;
    }

    body.single-product div.product > .woocommerce-product-gallery {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: none !important;
        float: none !important;
        clear: none !important;
        margin: 0 !important;
        align-self: start !important;
    }

    body.single-product div.product > .summary {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 100% !important;
        max-width: none !important;
        float: none !important;
        clear: none !important;
        margin: 0 !important;
        padding: 0 !important;
        align-self: start !important;
        position: relative !important;
    }

    body.single-product div.product > .summary h1.product_title,
    body.single-product div.product > .summary .product_title.entry-title {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Full-width content underneath the aligned product top row. */
    body.single-product div.product > .lumiere-product-details,
    body.single-product div.product > .related.products,
    body.single-product div.product > .upsells.products,
    body.single-product div.product > .woocommerce-tabs {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    /* Keep HOME available near the top without consuming title height. */
    body.single-product div.product > .summary .lumiere-product-home {
        position: absolute !important;
        top: -50px !important;
        right: 0 !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 4 !important;
        display: inline-flex !important;
        width: max-content !important;
        margin: 0 !important;
    }
}

/* Mobile/tablet keeps the normal stacked flow and puts HOME above the title. */
@media (max-width: 900px) {
    body.single-product div.product {
        display: block !important;
    }

    body.single-product div.product > .summary .lumiere-product-home {
        position: static !important;
        display: inline-flex !important;
        margin: 0 0 18px !important;
    }
}

/* =========================================================
   v6.10.3 — compact, larger desktop product presentation
   Fix the gallery's old 55% width rule, reduce dead space,
   enlarge the media/summary area, and align HOME to the left
   edge of the title column without moving the title down.
   ========================================================= */
@media (min-width: 901px) {
    body.single-product .site-main {
        max-width: 1340px !important;
        padding: 56px 24px 90px !important;
    }

    body.single-product div.product {
        width: 100% !important;
        max-width: 1240px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr) !important;
        column-gap: 34px !important;
        row-gap: 0 !important;
        align-items: start !important;
    }

    /* Override the older, more-specific 55% gallery width that was leaving
       a large invisible empty area between the media and product title. */
    body.single-product div.product > .woocommerce-product-gallery.lumiere-gallery-ready,
    body.single-product div.product .woocommerce-product-gallery.lumiere-gallery-ready {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        grid-template-columns: minmax(0, 1fr) 78px !important;
        column-gap: 12px !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .flex-viewport,
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .woocommerce-product-gallery__wrapper {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }

    body.single-product .woocommerce-product-gallery__wrapper {
        border-radius: 24px !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .lumiere-gallery-rail {
        width: 78px !important;
        min-width: 78px !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready .lumiere-gallery-rail .flex-control-thumbs img {
        padding: 4px !important;
        border-radius: 11px !important;
    }

    body.single-product div.product > .summary {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.single-product div.product > .summary h1.product_title,
    body.single-product div.product > .summary .product_title.entry-title {
        margin: 0 0 20px !important;
        padding: 0 !important;
        font-size: clamp(48px, 3.55vw, 64px) !important;
        line-height: .98 !important;
    }

    /* HOME sits above and flush-left with the title column. Because it is
       absolutely positioned it does not create extra title/image misalignment. */
    body.single-product div.product > .summary .lumiere-product-home {
        position: absolute !important;
        top: -44px !important;
        left: 0 !important;
        right: auto !important;
        bottom: auto !important;
        margin: 0 !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    body.single-product .site-main {
        padding-inline: 20px !important;
    }

    body.single-product div.product {
        grid-template-columns: minmax(0, 1fr) minmax(340px, .92fr) !important;
        column-gap: 26px !important;
    }

    body.single-product div.product .woocommerce-product-gallery.lumiere-gallery-ready {
        grid-template-columns: minmax(0, 1fr) 68px !important;
        column-gap: 10px !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .lumiere-gallery-rail {
        width: 68px !important;
        min-width: 68px !important;
    }
}


/* =========================================================
   v6.10.4 — balanced two-column product row
   HOME belongs to the left media column, both main columns
   share one equal-height row, and the product starts closer
   to the global header.
   ========================================================= */
@media (min-width: 901px) {
    /* Pull the complete product presentation closer to the header. */
    body.single-product .site-main {
        max-width: 1340px !important;
        padding: 24px 24px 84px !important;
    }

    body.single-product div.product {
        display: grid !important;
        grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 34px !important;
        row-gap: 14px !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 1240px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    /* HOME is a true first-column control, above the image. */
    body.single-product div.product > .lumiere-product-home {
        position: static !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
        align-self: start !important;
        display: inline-flex !important;
        width: max-content !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 0 19px !important;
        z-index: 4 !important;
    }

    /* Image/gift-wrap and product information start on the exact same line. */
    body.single-product div.product > .woocommerce-product-gallery {
        grid-column: 1 !important;
        grid-row: 2 !important;
        align-self: stretch !important;
        height: 100% !important;
        margin: 0 !important;
    }

    body.single-product div.product > .summary {
        grid-column: 2 !important;
        grid-row: 2 !important;
        align-self: stretch !important;
        display: flex !important;
        flex-direction: column !important;
        min-height: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Neutralize all legacy HOME rules that targeted the old summary location. */
    body.single-product div.product > .summary .lumiere-product-home {
        position: static !important;
        display: none !important;
    }

    body.single-product div.product > .summary h1.product_title,
    body.single-product div.product > .summary .product_title.entry-title {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Let the purchase block settle toward the bottom of the stretched summary.
       This keeps both columns visually balanced without adding random blank space
       above the title or between title/price/description. */
    body.single-product div.product > .summary form.cart {
        margin-top: auto !important;
        padding-top: 28px !important;
    }

    body.single-product div.product > .summary .product_meta {
        margin-top: 18px !important;
    }

    /* Any full-width sections remain below the equal-height product row. */
    body.single-product div.product > .lumiere-product-details,
    body.single-product div.product > .related.products,
    body.single-product div.product > .upsells.products,
    body.single-product div.product > .woocommerce-tabs {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        width: 100% !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    body.single-product .site-main {
        padding: 20px 20px 76px !important;
    }

    body.single-product div.product {
        column-gap: 26px !important;
        row-gap: 12px !important;
    }
}

@media (max-width: 900px) {
    /* HOME remains above the media on smaller screens, with compact spacing. */
    body.single-product div.product > .lumiere-product-home {
        position: static !important;
        display: inline-flex !important;
        width: max-content !important;
        margin: 0 0 14px !important;
    }
}


/* =========================================================
   v6.10.5 — compact product top + correctly sized media stage
   - removes the exaggerated white media height
   - keeps HOME in the left column without creating a separate grid row
   - pulls the whole product closer to the global navigation
   - hides any residual WooCommerce price suffix visually as a cache fallback
   ========================================================= */
body.single-product .woocommerce-price-suffix {
    display: none !important;
}

@media (min-width: 901px) {
    body.single-product .site-main {
        max-width: 1340px !important;
        padding: 8px 24px 78px !important;
    }

    body.single-product div.product {
        position: relative !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr) !important;
        grid-template-rows: auto !important;
        column-gap: 34px !important;
        row-gap: 0 !important;
        align-items: start !important;
        width: 100% !important;
        max-width: 1240px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    /* HOME belongs to the top-left of the media column, but it no longer
       consumes its own grid row. This removes the artificial dead space. */
    body.single-product div.product > .lumiere-product-home {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        bottom: auto !important;
        z-index: 12 !important;
        display: inline-flex !important;
        width: max-content !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 0 18px !important;
    }

    /* Image and title start together directly beneath the compact HOME row. */
    body.single-product div.product > .woocommerce-product-gallery {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: start !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 48px 0 0 !important;
    }

    body.single-product div.product > .summary {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: start !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 48px 0 0 !important;
    }

    body.single-product div.product > .summary h1.product_title,
    body.single-product div.product > .summary .product_title.entry-title {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Do not create an artificial blank zone between the description and
       purchase controls just to stretch the summary to the gallery height. */
    body.single-product div.product > .summary form.cart {
        margin-top: 28px !important;
        padding-top: 0 !important;
    }

    /* FlexSlider can inject a very tall inline height based on the original
       photo dimensions. Force the visible main-media stage to a clean square,
       then contain the product image inside it. */
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .flex-viewport {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
        border-radius: 24px !important;
        background: #fff !important;
        box-shadow: 0 22px 50px rgba(30,22,12,.08) !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .flex-viewport .woocommerce-product-gallery__wrapper,
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .flex-viewport .woocommerce-product-gallery__image,
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .flex-viewport .woocommerce-product-gallery__image > a {
        height: 100% !important;
        min-height: 0 !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .flex-viewport .woocommerce-product-gallery__image > a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #fff !important;
    }

    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .flex-viewport .woocommerce-product-gallery__image img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    /* Same compact stage for the rare single-image gallery where FlexSlider
       does not create a flex-viewport wrapper. */
    body.single-product .woocommerce-product-gallery:not(.lumiere-gallery-ready) > .woocommerce-product-gallery__wrapper {
        aspect-ratio: 1 / 1 !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.single-product .woocommerce-product-gallery:not(.lumiere-gallery-ready) > .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
    body.single-product .woocommerce-product-gallery:not(.lumiere-gallery-ready) > .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image > a {
        height: 100% !important;
    }

    body.single-product .woocommerce-product-gallery:not(.lumiere-gallery-ready) > .woocommerce-product-gallery__wrapper img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }

    body.single-product div.product > .lumiere-product-details,
    body.single-product div.product > .related.products,
    body.single-product div.product > .upsells.products,
    body.single-product div.product > .woocommerce-tabs {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        width: 100% !important;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    body.single-product .site-main {
        padding: 6px 20px 72px !important;
    }

    body.single-product div.product {
        column-gap: 26px !important;
    }
}


/* =========================================================
   v6.10.6 — hard product-top cleanup + gallery zoom placement
   ========================================================= */

/* There should never be a visible shipping promise beside/below the product
   price. PHP removes it at source; these selectors are only visual fallbacks
   for markup cached by WooCommerce/Astra extensions. */
body.single-product .summary .woocommerce-price-suffix,
body.single-product .summary .ast-shipping-text,
body.single-product .summary .lumiere-free-shipping-text {
    display: none !important;
}

/* Neutralize every common Astra/WooCommerce wrapper that can contribute
   vertical breathing room before the product. The small final gap belongs on
   .site-main only. */
body.single-product #content,
body.single-product #content.site-content,
body.single-product .site-content,
body.single-product .site-content > .ast-container,
body.single-product .ast-container,
body.single-product #primary,
body.single-product #primary.content-area,
body.single-product main#main,
body.single-product .site-main,
body.single-product article.ast-article-single,
body.single-product .ast-woocommerce-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

@media (min-width: 901px) {
    body.single-product .site-main {
        padding: 18px 24px 72px !important;
    }

    body.single-product div.product {
        margin-top: 0 !important;
    }

    /* Gallery stage owns the zoom trigger. Moving it here prevents the icon
       from floating over the vertical thumbnail rail. */
    body.single-product .woocommerce-product-gallery.lumiere-gallery-ready > .flex-viewport,
    body.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
        position: relative !important;
    }

    body.single-product .woocommerce-product-gallery__trigger.lumiere-zoom-in-stage {
        position: absolute !important;
        top: 16px !important;
        right: 16px !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 30 !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        border: 1px solid rgba(21,18,15,.28) !important;
        border-radius: 50% !important;
        background: rgba(255,255,255,.94) !important;
        box-shadow: 0 8px 24px rgba(25,20,14,.10) !important;
        display: grid !important;
        place-items: center !important;
    }
}

@media (max-width: 900px) {
    body.single-product .site-main {
        padding-top: 14px !important;
    }
}


/* =========================================================
   v6.10.7 — refined top gap + centered zoom + hover zoom
   ========================================================= */
@media (min-width: 901px) {
    /* A very small intentional gap below the global menu. */
    body.single-product .site-main {
        padding-top: 12px !important;
    }

    body.single-product div.product {
        margin-top: 0 !important;
    }

    /* Center WooCommerce's magnifier artwork inside its circular button. */
    body.single-product .woocommerce-product-gallery__trigger.lumiere-zoom-in-stage {
        display: block !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        padding: 0 !important;
        text-indent: -9999px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        line-height: 44px !important;
    }

    body.single-product .woocommerce-product-gallery__trigger.lumiere-zoom-in-stage::before {
        content: "" !important;
        position: absolute !important;
        width: 11px !important;
        height: 11px !important;
        top: 13px !important;
        left: 13px !important;
        right: auto !important;
        bottom: auto !important;
        margin: 0 !important;
        border: 2px solid #1b1814 !important;
        border-radius: 50% !important;
        background: transparent !important;
        box-sizing: content-box !important;
    }

    body.single-product .woocommerce-product-gallery__trigger.lumiere-zoom-in-stage::after {
        content: "" !important;
        position: absolute !important;
        width: 2px !important;
        height: 8px !important;
        top: 25px !important;
        left: 28px !important;
        right: auto !important;
        bottom: auto !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 2px !important;
        background: #1b1814 !important;
        transform: rotate(-45deg) !important;
        transform-origin: top center !important;
        box-sizing: border-box !important;
    }

    /* Keep the image clickable for WooCommerce's lightbox and restore a
       smooth automatic zoom that follows the cursor on desktop. */
    body.single-product .woocommerce-product-gallery__image > a {
        cursor: zoom-in !important;
        overflow: hidden !important;
    }

    body.single-product .woocommerce-product-gallery__image img:not(.zoomImg) {
        transition: transform .34s cubic-bezier(.2,.7,.2,1) !important;
        transform-origin: var(--lumiere-zoom-x, 50%) var(--lumiere-zoom-y, 50%) !important;
        will-change: transform;
    }

    body.single-product .woocommerce-product-gallery__image.is-lumiere-hover-zoom img:not(.zoomImg) {
        transform: scale(1.55) !important;
    }
}

@media (max-width: 900px) {
    body.single-product .site-main {
        padding-top: 10px !important;
    }
}


/* v6.12.3 — preserve the Title Case supplied by PHP on product pages. */
body.single-product .summary h1.product_title,
body.single-product .summary .product_title.entry-title {
    text-transform: none !important;
}
