/* =========================================================
   ECHTLEDERJACKEN
   Single Product
   single-product.css
   ========================================================= */


/* ---------------------------------------------------------
   1. PAGE FOUNDATION
   --------------------------------------------------------- */

.single-product-page {
    width: 100%;
    max-width: none;

    margin: 0;
    padding: 0;

    background-color:
        var(--color-secondary);

    overflow-x: clip;
}


body.single-product
#main-content.single-product-page {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


.product-detail {
    width: 100%;

    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   2. BREADCRUMB
   --------------------------------------------------------- */

.product-detail__breadcrumb {
    width: 100%;

    padding:
        1.5rem
        clamp(1.5rem, 4vw, 5rem)
        1rem;
}


.product-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 0.55rem;

    color:
        var(--color-text-muted);

    font-size: 0.64rem;
    font-weight: 500;

    letter-spacing:
        0.075em;

    text-transform: uppercase;
}


.product-breadcrumb a {
    color:
        var(--color-text-muted);

    text-decoration: none;

    transition:
        color var(--transition-fast);
}


.product-breadcrumb a:hover {
    color:
        var(--color-accent-gold);
}


.product-breadcrumb__separator {
    color:
        rgba(23, 35, 40, 0.25);
}


/* ---------------------------------------------------------
   3. PRODUCT HERO
   --------------------------------------------------------- */

.product-detail__hero {
    display: grid;

    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(380px, 0.92fr);

    gap:
        clamp(3rem, 5vw, 6rem);

    width: 100%;

    padding:
        0
        clamp(1.5rem, 4vw, 5rem)
        clamp(4.5rem, 7vw, 7rem);
}


.product-detail__gallery-column,
.product-detail__summary-column {
    min-width: 0;
}


/* ---------------------------------------------------------
   4. GALLERY SHELL
   --------------------------------------------------------- */

.product-detail__gallery-shell {
    position: relative;

    width: 100%;
}


.product-detail__gallery-shell
.woocommerce-product-gallery {
    float: none !important;

    width: 100% !important;

    margin: 0 !important;
}


.product-detail__gallery-shell
.woocommerce-product-gallery__wrapper {
    margin: 0;
}


.product-detail__gallery-shell
.woocommerce-product-gallery__image {
    overflow: hidden;

    background-color:
        var(--color-background-alt);
}


.product-detail__gallery-shell
.woocommerce-product-gallery__image
a {
    display: block;
}


.product-detail__gallery-shell
.woocommerce-product-gallery__image
img {
    display: block;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;

    object-fit: cover;
}


/*
 * WooCommerce gallery trigger.
 */

.product-detail__gallery-shell
.woocommerce-product-gallery__trigger {
    top: 1rem !important;
    right: 1rem !important;
    left: auto !important;

    z-index: 8 !important;

    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 42px !important;
    height: 42px !important;

    background-color:
        rgba(249, 254, 252, 0.94) !important;

    border:
        1px solid
        rgba(23, 35, 40, 0.1) !important;

    border-radius:
        50% !important;

    color:
        var(--color-primary) !important;

    text-indent:
        -9999px !important;

    box-shadow:
        0 6px 20px
        rgba(23, 35, 40, 0.08);

    transition:
        background-color var(--transition-fast),
        color var(--transition-fast),
        border-color var(--transition-fast);
}


.product-detail__gallery-shell
.woocommerce-product-gallery__trigger::before {
    position: absolute !important;

    top: 13px !important;
    left: 13px !important;

    width: 13px !important;
    height: 13px !important;

    border:
        2px solid
        currentColor !important;

    border-radius:
        50% !important;

    box-sizing: border-box;
}


.product-detail__gallery-shell
.woocommerce-product-gallery__trigger::after {
    position: absolute !important;

    top: 25px !important;
    left: 25px !important;

    width: 7px !important;
    height: 2px !important;

    background:
        currentColor !important;

    border: 0 !important;

    transform:
        rotate(45deg) !important;

    box-sizing: border-box;
}


.product-detail__gallery-shell
.woocommerce-product-gallery__trigger:hover {
    background-color:
        var(--color-primary) !important;

    border-color:
        var(--color-primary) !important;

    color:
        var(--color-secondary) !important;
}


/* ---------------------------------------------------------
   5. GALLERY THUMBNAILS
   --------------------------------------------------------- */

.product-detail__gallery-shell
.flex-control-thumbs {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 0.75rem;

    margin:
        0.8rem
        0
        0 !important;

    padding: 0 !important;

    list-style: none;
}


.product-detail__gallery-shell
.flex-control-thumbs
li {
    float: none !important;

    width: auto !important;

    margin: 0 !important;

    overflow: hidden;

    background-color:
        var(--color-background-alt);

    border:
        1px solid transparent;

    cursor: pointer;

    transition:
        border-color var(--transition-fast);
}


.product-detail__gallery-shell
.flex-control-thumbs
li:hover,
.product-detail__gallery-shell
.flex-control-thumbs
li:has(img.flex-active) {
    border-color:
        var(--color-accent-gold);
}


.product-detail__gallery-shell
.flex-control-thumbs
img {
    display: block;

    width: 100% !important;

    aspect-ratio:
        4 / 5;

    object-fit: cover;

    opacity: 0.72;

    transition:
        opacity var(--transition-fast);
}


.product-detail__gallery-shell
.flex-control-thumbs
img.flex-active,
.product-detail__gallery-shell
.flex-control-thumbs
img:hover {
    opacity: 1;
}


/* ---------------------------------------------------------
   6. GALLERY BADGES
   --------------------------------------------------------- */

.product-detail__badges {
    position: absolute;

    top: 1rem;
    left: 1rem;

    z-index: 10;

    display: flex;
    flex-wrap: wrap;

    gap: 0.4rem;

    pointer-events: none;
}


.product-detail__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 28px;

    padding:
        0.35rem
        0.6rem;

    font-size: 0.57rem;
    font-weight: 700;

    line-height: 1;

    letter-spacing:
        0.12em;

    text-transform: uppercase;
}


.product-detail__badge--sale {
    background-color:
        var(--color-accent-red-dark);

    color:
        var(--color-white);
}


.product-detail__badge--new {
    background-color:
        var(--color-primary);

    color:
        var(--color-secondary);
}


/* ---------------------------------------------------------
   7. STICKY SUMMARY
   --------------------------------------------------------- */

.product-detail__summary-column {
    align-self: start;
}


.product-detail__summary {
    position: sticky;

    top: 145px;

    float: none !important;

    width: 100% !important;

    margin: 0 !important;

    padding:
        clamp(0.75rem, 1.5vw, 1.5rem)
        0
        0;
}


/* ---------------------------------------------------------
   8. CATEGORY EYEBROW
   --------------------------------------------------------- */

.product-detail__category {
    margin-bottom:
        1rem;
}


.product-detail__category a {
    color:
        var(--color-accent-gold);

    font-size: 0.62rem;
    font-weight: 700;

    line-height: 1;

    letter-spacing:
        0.14em;

    text-decoration: none;

    text-transform: uppercase;
}


/* ---------------------------------------------------------
   9. PRODUCT TITLE
   --------------------------------------------------------- */

.product-detail__summary
.product_title {
    max-width: 720px;

    margin:
        0
        0
        1.25rem !important;

    color:
        var(--color-primary);

    font-family:
        var(--font-display);

    font-size:
        clamp(2.75rem, 4vw, 4.6rem);

    font-weight: 400;

    line-height: 0.98;

    letter-spacing:
        -0.045em;
}


/* ---------------------------------------------------------
   10. RATING
   --------------------------------------------------------- */

.product-detail__summary
.woocommerce-product-rating {
    display: flex;
    align-items: center;

    gap: 0.75rem;

    margin:
        0
        0
        1rem !important;
}


.product-detail__summary
.star-rating {
    margin: 0 !important;

    color:
        var(--color-accent-gold);
}


.product-detail__summary
.woocommerce-review-link {
    color:
        var(--color-text-muted);

    font-size: 0.7rem;

    text-decoration: none;
}


/* ---------------------------------------------------------
   11. PRICE
   --------------------------------------------------------- */

.product-detail__summary
.price {
    margin:
        0
        0
        1.5rem !important;

    color:
        var(--color-primary) !important;

    font-family:
        var(--font-body);

    font-size:
        clamp(1.25rem, 1.6vw, 1.55rem) !important;

    font-weight: 500;
}


.product-detail__summary
.price
ins {
    color:
        var(--color-accent-red-dark);

    font-weight: 600;

    text-decoration: none;
}


.product-detail__summary
.price
del {
    margin-right:
        0.5rem;

    color:
        var(--color-text-muted);

    opacity: 0.55;
}


/* ---------------------------------------------------------
   12. SHORT DESCRIPTION
   --------------------------------------------------------- */

.product-detail__summary
.woocommerce-product-details__short-description {
    max-width: 680px;

    margin-bottom:
        1.5rem;

    color:
        var(--color-text-muted);

    font-size:
        0.96rem;

    line-height: 1.75;
}


.product-detail__summary
.woocommerce-product-details__short-description
p:last-child {
    margin-bottom: 0;
}



/* ---------------------------------------------------------
   14. CART / VARIATIONS
   --------------------------------------------------------- */

.product-detail__summary
form.cart {
    width: 100%;

    margin:
        1.5rem
        0
        0 !important;
}


.product-detail__summary
.variations {
    width: 100% !important;

    margin:
        0
        0
        1.25rem !important;

    border-collapse: collapse;
}


.product-detail__summary
.variations
tbody,
.product-detail__summary
.variations
tr,
.product-detail__summary
.variations
th,
.product-detail__summary
.variations
td {
    display: block;

    width: 100%;
}


.product-detail__summary
.variations
tr {
    margin-bottom:
        1rem;
}


.product-detail__summary
.variations
th.label {
    padding:
        0
        0
        0.5rem !important;

    text-align: left;
}


.product-detail__summary
.variations
th.label
label {
    color:
        var(--color-primary);

    font-size: 0.66rem;
    font-weight: 700;

    letter-spacing:
        0.09em;

    text-transform: uppercase;
}


.product-detail__summary
.variations
td.value {
    padding: 0 !important;
}


.product-detail__summary
.variations
select {
    width: 100%;
    min-height: 50px;

    padding:
        0.75rem
        2.5rem
        0.75rem
        0.9rem;

    background-color:
        var(--color-secondary);

    border:
        1px solid var(--color-border);

    border-radius:
        var(--radius-small);

    color:
        var(--color-primary);

    font-family:
        var(--font-body);

    font-size: 0.86rem;

    cursor: pointer;
}


.product-detail__summary
.variations
select:focus {
    border-color:
        var(--color-accent-gold);

    outline: 0;
}


.product-detail__summary
.reset_variations {
    display: inline-block !important;

    margin-top:
        0.55rem;

    color:
        var(--color-text-muted);

    font-size: 0.65rem;

    text-decoration-color:
        var(--color-accent-gold);

    text-underline-offset:
        0.2em;
}


/* ---------------------------------------------------------
   15. VARIATION DETAILS
   --------------------------------------------------------- */

.product-detail__summary
.single_variation_wrap {
    width: 100%;
}


.product-detail__summary
.woocommerce-variation {
    margin-bottom:
        1rem;
}


.product-detail__summary
.woocommerce-variation-price
.price {
    display: block;

    margin-bottom:
        0.75rem !important;

    font-size:
        1.15rem !important;
}


.product-detail__summary
.woocommerce-variation-description {
    color:
        var(--color-text-muted);

    font-size: 0.84rem;

    line-height: 1.6;
}


/* ---------------------------------------------------------
   16. QUANTITY + ADD TO CART
   --------------------------------------------------------- */

.product-detail__summary
.woocommerce-variation-add-to-cart,
.product-detail__summary
form.cart:not(.variations_form) {
    display: grid;

    grid-template-columns:
        auto
        minmax(0, 1fr);

    gap: 0.75rem;

    align-items: stretch;
}


.product-detail__summary
.quantity {
    position: relative;

    display: grid !important;

    grid-template-columns:
        38px
        54px
        38px;

    width: auto !important;

    min-height: 52px;

    margin: 0 !important;

    border:
        1px solid var(--color-border);
}


.product-detail__summary
.quantity
.qty {
    width: 54px !important;
    height: 50px;

    margin: 0 !important;
    padding: 0 !important;

    background-color:
        var(--color-secondary);

    border: 0 !important;
    border-left:
        1px solid var(--color-border) !important;
    border-right:
        1px solid var(--color-border) !important;

    border-radius: 0 !important;

    color:
        var(--color-primary);

    font-family:
        var(--font-body);

    font-size: 0.82rem;

    text-align: center;

    -moz-appearance: textfield;
}


.product-detail__summary
.quantity
.qty::-webkit-outer-spin-button,
.product-detail__summary
.quantity
.qty::-webkit-inner-spin-button {
    margin: 0;

    -webkit-appearance: none;
}


.product-quantity-button {
    -webkit-appearance: none;
    appearance: none;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 50px;

    padding: 0;

    background:
        transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow:
        none !important;

    color:
        var(--color-primary);

    font-size: 1rem;

    cursor: pointer;

    transition:
        color var(--transition-fast),
        background-color var(--transition-fast);
}


.product-quantity-button:hover {
    background-color:
        var(--color-background-alt) !important;

    color:
        var(--color-accent-gold);
}


.product-detail__summary
.single_add_to_cart_button {
    min-height: 52px;

    margin: 0 !important;
    padding:
        0.9rem
        1.4rem !important;

    background-color:
        var(--color-primary) !important;

    border:
        1px solid var(--color-primary) !important;

    border-radius:
        var(--radius-small) !important;

    box-shadow:
        none !important;

    color:
        var(--color-secondary) !important;

    font-family:
        var(--font-body);

    font-size: 0.7rem !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    letter-spacing:
        0.095em;

    text-transform: uppercase;

    transition:
        background-color var(--transition-fast),
        border-color var(--transition-fast),
        color var(--transition-fast),
        transform var(--transition-fast);
}


.product-detail__summary
.single_add_to_cart_button:hover {
    background-color:
        var(--color-accent-gold) !important;

    border-color:
        var(--color-accent-gold) !important;

    color:
        var(--color-primary) !important;

    transform:
        translateY(-1px);
}


.product-detail__summary
.single_add_to_cart_button.disabled,
.product-detail__summary
.single_add_to_cart_button:disabled {
    background-color:
        #aab1ae !important;

    border-color:
        #aab1ae !important;

    color:
        var(--color-white) !important;

    cursor:
        not-allowed;

    transform: none;
}


/* ---------------------------------------------------------
   17. GROUPED PRODUCTS FALLBACK
   --------------------------------------------------------- */

.product-detail__summary
.group_table {
    width: 100%;

    margin-bottom:
        1rem;

    border-collapse: collapse;
}


.product-detail__summary
.group_table
td {
    padding:
        0.75rem
        0;

    border-bottom:
        1px solid var(--color-border);

    vertical-align: middle;
}


/* ---------------------------------------------------------
   18. SERVICE PROMISES
   --------------------------------------------------------- */

.product-service-promises {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    margin-top:
        1.75rem;

    border-top:
        1px solid var(--color-border);

    border-bottom:
        1px solid var(--color-border);
}


.product-service-promise {
    display: flex;
    align-items: flex-start;

    gap: 0.7rem;

    min-width: 0;

    padding:
        1rem
        0.8rem;
}


.product-service-promise
+ .product-service-promise {
    border-left:
        1px solid var(--color-border);
}


.product-service-promise__number {
    flex:
        0 0
        auto;

    color:
        var(--color-accent-gold);

    font-family:
        var(--font-display);

    font-size: 0.72rem;

    font-style: italic;
}


.product-service-promise
div {
    min-width: 0;
}


.product-service-promise
strong {
    display: block;

    margin-bottom:
        0.25rem;

    color:
        var(--color-primary);

    font-family:
        var(--font-display);

    font-size:
        0.9rem;

    font-weight: 400;

    line-height: 1.2;
}


.product-service-promise
div > span {
    display: block;

    color:
        var(--color-text-muted);

    font-size: 0.58rem;

    line-height: 1.4;

    letter-spacing:
        0.045em;

    text-transform: uppercase;
}


/* ---------------------------------------------------------
   19. PRODUCT META
   --------------------------------------------------------- */

.product-detail__summary
.product_meta {
    margin-top:
        1.25rem;

    padding-top:
        1rem;

    border-top:
        1px solid var(--color-border);

    color:
        var(--color-text-muted);

    font-size: 0.68rem;

    line-height: 1.8;
}


.product-detail__summary
.product_meta
> span {
    display: block;
}


.product-detail__summary
.product_meta
a {
    color:
        var(--color-primary);

    text-decoration: none;
}


.product-detail__summary
.product_meta
a:hover {
    color:
        var(--color-accent-gold);
}


/* ---------------------------------------------------------
   20. PRODUCT TABS
   --------------------------------------------------------- */

.product-detail__after-summary {
    width: 100%;
}


.product-detail__after-summary
.woocommerce-tabs {
    width: 100%;

    margin: 0 !important;

    padding:
        clamp(4rem, 7vw, 7rem)
        clamp(1.5rem, 4vw, 5rem);

    background-color:
        var(--color-background-alt);

    border-top:
        1px solid var(--color-border);
}


.product-detail__after-summary
.woocommerce-tabs
ul.tabs {
    display: flex;

    gap:
        0
        clamp(1.5rem, 3vw, 3rem);

    width: 100%;

    margin:
        0
        0
        clamp(2.5rem, 4vw, 4rem) !important;

    padding: 0 !important;

    overflow-x: auto;

    border-bottom:
        1px solid var(--color-border);

    list-style: none !important;

    scrollbar-width: none;
}


.product-detail__after-summary
.woocommerce-tabs
ul.tabs::-webkit-scrollbar {
    display: none;
}


.product-detail__after-summary
.woocommerce-tabs
ul.tabs::before,
.product-detail__after-summary
.woocommerce-tabs
ul.tabs::after {
    display: none !important;
}


.product-detail__after-summary
.woocommerce-tabs
ul.tabs
li {
    position: relative;

    flex: 0 0 auto;

    margin: 0 !important;
    padding: 0 !important;

    background:
        transparent !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow:
        none !important;
}


.product-detail__after-summary
.woocommerce-tabs
ul.tabs
li::before,
.product-detail__after-summary
.woocommerce-tabs
ul.tabs
li::after {
    display: none !important;
}


.product-detail__after-summary
.woocommerce-tabs
ul.tabs
li
a {
    display: block;

    padding:
        0
        0
        1rem !important;

    color:
        var(--color-text-muted) !important;

    font-family:
        var(--font-body);

    font-size: 0.66rem !important;
    font-weight: 700 !important;

    letter-spacing:
        0.09em;

    text-decoration: none;

    text-transform: uppercase;
}


.product-detail__after-summary
.woocommerce-tabs
ul.tabs
li.active
a,
.product-detail__after-summary
.woocommerce-tabs
ul.tabs
li
a:hover {
    color:
        var(--color-primary) !important;
}


.product-detail__after-summary
.woocommerce-tabs
ul.tabs
li.active::after {
    content: "" !important;

    position: absolute !important;

    left: 0 !important;
    right: 0 !important;
    bottom: -1px !important;

    display: block !important;

    width: auto !important;
    height: 2px !important;

    background-color:
        var(--color-accent-gold) !important;

    border: 0 !important;
    border-radius: 0 !important;

    box-shadow: none !important;
}


.product-detail__after-summary
.woocommerce-Tabs-panel {
    width: 100%;
    max-width: 1050px;

    margin:
        0
        auto !important;

    color:
        var(--color-text-muted);

    font-size:
        1rem;

    line-height: 1.85;
}


.product-detail__after-summary
.woocommerce-Tabs-panel
> h2:first-child {
    margin-top: 0;
}


.product-detail__after-summary
.woocommerce-Tabs-panel
h2 {
    color:
        var(--color-primary);

    font-size:
        clamp(2.1rem, 3vw, 3.3rem);

    line-height: 1.05;
}


.product-detail__after-summary
.woocommerce-Tabs-panel
h3 {
    color:
        var(--color-primary);

    font-size:
        clamp(1.45rem, 2vw, 2rem);
}


/* ---------------------------------------------------------
   21. ADDITIONAL INFORMATION TABLE
   --------------------------------------------------------- */

.product-detail__after-summary
.shop_attributes {
    width: 100%;

    border-collapse: collapse;

    border-top:
        1px solid var(--color-border) !important;
}


.product-detail__after-summary
.shop_attributes
tr {
    border-bottom:
        1px solid var(--color-border);
}


.product-detail__after-summary
.shop_attributes
th,
.product-detail__after-summary
.shop_attributes
td {
    padding:
        1rem
        0.75rem !important;

    background:
        transparent !important;

    border: 0 !important;

    text-align: left;
}


.product-detail__after-summary
.shop_attributes
th {
    width: 30%;

    color:
        var(--color-primary);

    font-size: 0.68rem;

    letter-spacing:
        0.07em;

    text-transform: uppercase;
}


.product-detail__after-summary
.shop_attributes
td {
    color:
        var(--color-text-muted);

    font-style: normal !important;
}


/* ---------------------------------------------------------
   22. REVIEWS
   --------------------------------------------------------- */

.product-detail__after-summary
#reviews
#comments
ol.commentlist {
    padding: 0;
    margin: 0;

    list-style: none;
}


.product-detail__after-summary
#reviews
#comments
ol.commentlist
li {
    margin-bottom:
        1.5rem;
}


.product-detail__after-summary
#reviews
#comments
ol.commentlist
.comment_container {
    display: grid;

    grid-template-columns:
        52px
        minmax(0, 1fr);

    gap: 1rem;
}


.product-detail__after-summary
#reviews
#comments
ol.commentlist
img.avatar {
    position: static !important;

    width: 52px !important;
    height: 52px !important;

    padding: 0 !important;

    border: 0 !important;

    border-radius: 50%;
}


.product-detail__after-summary
#reviews
#comments
ol.commentlist
.comment-text {
    margin: 0 !important;

    padding:
        1.25rem !important;

    background-color:
        var(--color-secondary);

    border:
        1px solid var(--color-border) !important;

    border-radius:
        0 !important;
}


/* ---------------------------------------------------------
   23. RELATED / UPSELL PRODUCTS
   --------------------------------------------------------- */

.product-detail__after-summary
.related,
.product-detail__after-summary
.upsells {
    width: 100%;

    margin: 0 !important;

    padding:
        clamp(4rem, 7vw, 7rem)
        clamp(1.5rem, 4vw, 5rem);

    background-color:
        var(--color-secondary);

    border-top:
        1px solid var(--color-border);
}


.product-detail__after-summary
.related
> h2,
.product-detail__after-summary
.upsells
> h2 {
    margin:
        0
        0
        clamp(2.5rem, 4vw, 4rem);

    color:
        var(--color-primary);

    font-size:
        clamp(2.4rem, 3.6vw, 4rem);

    line-height: 1;
}


.product-detail__after-summary
.related
ul.products,
.product-detail__after-summary
.upsells
ul.products {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap:
        2.5rem
        1.25rem !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none;
}


.product-detail__after-summary
.related
ul.products::before,
.product-detail__after-summary
.related
ul.products::after,
.product-detail__after-summary
.upsells
ul.products::before,
.product-detail__after-summary
.upsells
ul.products::after {
    display: none !important;
}


.product-detail__after-summary
li.product.product-card {
    float: none !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Related product card */

.product-detail__after-summary
.product-card__inner {
    display: flex;
    flex-direction: column;

    height: 100%;
}


.product-detail__after-summary
.product-card__media {
    position: relative;

    display: block;

    width: 100%;

    aspect-ratio:
        4 / 5;

    overflow: hidden;

    background-color:
        var(--color-background-alt);
}


.product-detail__after-summary
.product-card__image {
    display: block;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;

    object-fit: cover;

    transition:
        transform 500ms
        cubic-bezier(0.2, 0.65, 0.3, 1);
}


@media (hover: hover) and (pointer: fine) {

    .product-detail__after-summary
    .product-card__media:hover
    .product-card__image {
        transform:
            scale(1.02);
    }

}


.product-detail__after-summary
.product-card__badges {
    position: absolute;

    top: 0.7rem;
    left: 0.7rem;

    z-index: 3;

    display: flex;

    gap: 0.3rem;
}


.product-detail__after-summary
.product-card__badge {
    padding:
        0.3rem
        0.5rem;

    font-size: 0.52rem;
    font-weight: 700;

    letter-spacing:
        0.1em;

    text-transform: uppercase;
}


.product-detail__after-summary
.product-card__badge--sale {
    background-color:
        var(--color-accent-red-dark);

    color:
        var(--color-white);
}


.product-detail__after-summary
.product-card__badge--new {
    background-color:
        var(--color-primary);

    color:
        var(--color-secondary);
}


.product-detail__after-summary
.product-card__body {
    display: flex;
    flex-direction: column;

    flex: 1;

    padding-top:
        1rem;
}


.product-detail__after-summary
.product-card__title {
    margin:
        0
        0
        0.45rem !important;

    padding: 0 !important;

    font-family:
        var(--font-body) !important;

    font-size:
        0.86rem !important;

    font-weight: 500 !important;

    line-height: 1.4 !important;
}


.product-detail__after-summary
.product-card__title
a {
    color:
        var(--color-primary);

    text-decoration: none;
}


.product-detail__after-summary
.product-card__price {
    margin-bottom:
        0.85rem;

    color:
        var(--color-primary);

    font-size:
        0.78rem;
}


.product-detail__after-summary
.product-card__price
ins {
    color:
        var(--color-accent-red-dark);

    text-decoration: none;
}


.product-detail__after-summary
.product-card__price
del {
    margin-right:
        0.3rem;

    opacity: 0.55;
}


.product-detail__after-summary
.product-card__cta {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 0.75rem;

    margin-top: auto;

    padding:
        0.75rem
        0
        0.55rem;

    border-top:
        1px solid var(--color-border);

    color:
        var(--color-primary);

    font-size: 0.6rem;
    font-weight: 650;

    letter-spacing:
        0.07em;

    text-decoration: none;

    text-transform: uppercase;
}


.product-detail__after-summary
.product-card__cta-arrow {
    color:
        var(--color-accent-gold);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    .product-detail__hero {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(340px, 0.9fr);

        gap:
            2.75rem;
    }


    .product-detail__summary
    .product_title {
        font-size:
            clamp(2.5rem, 4.5vw, 3.8rem);
    }


    .product-service-promises {
        grid-template-columns:
            1fr;
    }


    .product-service-promise
    + .product-service-promise {
        border-left: 0;

        border-top:
            1px solid var(--color-border);
    }


    .product-detail__after-summary
    .related
    ul.products,
    .product-detail__after-summary
    .upsells
    ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 780px) {

    .product-detail__breadcrumb {
        padding:
            1.25rem
            1.25rem
            0.8rem;
    }


    .product-detail__hero {
        grid-template-columns:
            1fr;

        gap:
            2.25rem;

        padding:
            0
            1.25rem
            4.5rem;
    }


    .product-detail__summary {
        position: static;

        top: auto;

        padding-top: 0;
    }


    .product-detail__summary
    .product_title {
        font-size:
            clamp(2.6rem, 11vw, 4rem);
    }


    .product-detail__gallery-shell
    .flex-control-thumbs {
        gap:
            0.5rem;
    }


    .product-detail__summary
    .woocommerce-variation-add-to-cart,
    .product-detail__summary
    form.cart:not(.variations_form) {
        grid-template-columns:
            1fr;

        gap:
            0.75rem;
    }


    .product-detail__summary
    .quantity {
        grid-template-columns:
            44px
            minmax(60px, 1fr)
            44px;

        width: 100% !important;
    }


    .product-detail__summary
    .quantity
    .qty {
        width: 100% !important;
    }


    .product-quantity-button {
        width: 44px;
    }


    .product-detail__summary
    .single_add_to_cart_button {
        width: 100%;
    }


    .product-service-promises {
        margin-top:
            1.5rem;
    }


    .product-detail__after-summary
    .woocommerce-tabs {
        padding:
            4rem
            1.25rem;
    }


    .product-detail__after-summary
    .woocommerce-tabs
    ul.tabs {
        gap:
            1.4rem;
    }


    .product-detail__after-summary
    .related,
    .product-detail__after-summary
    .upsells {
        padding:
            4rem
            1.25rem;
    }


    .product-detail__after-summary
    .related
    > h2,
    .product-detail__after-summary
    .upsells
    > h2 {
        font-size:
            clamp(2.3rem, 9vw, 3.4rem);
    }


    .product-detail__after-summary
    .related
    ul.products,
    .product-detail__after-summary
    .upsells
    ul.products {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap:
            2rem
            0.75rem !important;
    }


    .product-detail__after-summary
    .product-card__title {
        font-size:
            0.79rem !important;
    }


    .product-detail__after-summary
    .product-card__cta {
        font-size:
            0.54rem;
    }

}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 420px) {

    .product-detail__gallery-shell
    .flex-control-thumbs {
        grid-template-columns:
            repeat(4, minmax(0, 1fr));
    }


    .product-detail__after-summary
    .related
    ul.products,
    .product-detail__after-summary
    .upsells
    ul.products {
        gap:
            1.75rem
            0.6rem !important;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .product-detail__gallery-shell
    .woocommerce-product-gallery__trigger,
    .product-size-guide__arrow,
    .product-detail__summary
    .single_add_to_cart_button,
    .product-detail__after-summary
    .product-card__image {
        transition: none !important;
    }


    .product-detail__summary
    .single_add_to_cart_button:hover,
    .product-size-guide__link:hover
    .product-size-guide__arrow,
    .product-detail__after-summary
    .product-card__media:hover
    .product-card__image {
        transform: none !important;
    }

}

/* =========================================================
   PRODUCT GALLERY BADGE + ZOOM POSITION FIX
   ========================================================= */

/* Make the WooCommerce gallery the positioning reference */
body.single-product
.product-detail__gallery-shell
.woocommerce-product-gallery {
    position: relative !important;
}


/* NEW / SALE badges */
body.single-product
.product-detail__badges {
    top: 1rem !important;
    left: 1rem !important;
    right: auto !important;

    z-index: 12;
}


/* Force WooCommerce zoom button to upper-right */
body.single-product
.product-detail__gallery-shell
.woocommerce-product-gallery__trigger {
    top: 1rem !important;
    right: 1rem !important;
    left: auto !important;

    z-index: 12 !important;
}

/* Product gallery badge cleanup */

body.single-product
.product-detail__gallery-shell
.woocommerce-product-gallery__trigger {
    display: none !important;
}

body.single-product
.product-detail__badges {
    top: 3rem !important;
    left: 1rem !important;
    right: auto !important;

    z-index: 20 !important;
}

/* =========================================================
   QUIET DYNAMIC ORDER TOTAL
   ========================================================= */

/*
 * Intentionally understated.
 * The main product price remains the visual price anchor.
 */

.product-order-total {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 78px;

    padding:
        0.2rem
        0.75rem;

    color:
        var(--color-text-muted);

    line-height: 1.15;
}


.product-order-total[hidden] {
    display: none !important;
}


.product-order-total__label {
    display: block;

    margin-bottom:
        0.18rem;

    color:
        var(--color-text-muted);

    font-size:
        0.50rem;

    font-weight: 650;

    letter-spacing:
        0.09em;

    text-transform: uppercase;
}


.product-order-total__value {
    display: block;

    color:
        var(--color-primary);

    font-size:
        0.74rem;

    font-weight: 500;

    letter-spacing:
        0.005em;

    white-space: nowrap;
}


/*
 * Quantity | quiet total | Add to Cart
 */

.product-detail__summary
.woocommerce-variation-add-to-cart,
.product-detail__summary
form.cart:not(.variations_form) {
    grid-template-columns:
        auto
        auto
        minmax(0, 1fr);
}


@media (max-width: 780px) {

    .product-detail__summary
    .woocommerce-variation-add-to-cart,
    .product-detail__summary
    form.cart:not(.variations_form) {
        grid-template-columns:
            auto
            minmax(0, 1fr);
    }


    .product-order-total {
        align-self: stretch;

        justify-self: end;

        min-width: 0;

        padding:
            0.2rem
            0;
    }


    .product-detail__summary
    .single_add_to_cart_button {
        grid-column:
            1 / -1;
    }

}

/* =========================================================
   PRODUCT BADGE FINAL POSITION
   ========================================================= */

/*
 * The zoom trigger is intentionally hidden.
 * The NEW / SALE badge can therefore sit cleanly in the
 * actual top-left corner of the product gallery.
 */

body.single-product
.product-detail__gallery-shell
.woocommerce-product-gallery__trigger {
    display: none !important;
}


body.single-product
.product-detail__gallery-shell {
    position: relative !important;
}


body.single-product
.product-detail__badges {
    position: absolute !important;

    top: 0.85rem !important;
    left: 0.85rem !important;
    right: auto !important;
    bottom: auto !important;

    z-index: 30 !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
}


body.single-product
.product-detail__badge {
    min-height: 26px !important;

    padding:
        0.32rem
        0.58rem !important;

    line-height: 1 !important;
}


/* Slightly tighter on phones */

@media (max-width: 780px) {

    body.single-product
    .product-detail__badges {
        top: 0.65rem !important;
        left: 0.65rem !important;
    }


    body.single-product
    .product-detail__badge {
        min-height: 24px !important;

        padding:
            0.3rem
            0.5rem !important;

        font-size:
            0.53rem !important;
    }

}

/* =========================================================
   NATIVE PRODUCT GALLERY ARROWS
   ========================================================= */

/*
 * single-product.js moves WooCommerce's native FlexSlider
 * direction controls into the main image viewport. This keeps
 * the controls centered on the image instead of the thumbnails.
 */
body.single-product
.product-detail__gallery-shell
.flex-viewport {
    position: relative !important;
}

body.single-product
.product-detail__gallery-shell
.flex-viewport
> .flex-direction-nav {
    position: absolute;
    inset: 0;
    z-index: 24;

    margin: 0 !important;
    padding: 0 !important;

    pointer-events: none;

    list-style: none !important;
}

body.single-product
.product-detail__gallery-shell
.flex-direction-nav
li {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

body.single-product
.product-detail__gallery-shell
.flex-direction-nav
a {
    position: absolute;
    top: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden;

    background-color: rgba(249, 254, 252, 0.94);

    border: 1px solid rgba(23, 35, 40, 0.12);
    border-radius: 50%;

    box-shadow: 0 8px 24px rgba(23, 35, 40, 0.10);

    color: var(--color-primary) !important;

    font-size: 0 !important;
    line-height: 1;

    text-decoration: none !important;

    opacity: 1 !important;

    transform: translateY(-50%);

    pointer-events: auto;
    cursor: pointer;

    transition:
        background-color var(--transition-fast),
        border-color var(--transition-fast),
        color var(--transition-fast),
        opacity var(--transition-fast),
        transform var(--transition-fast);
}

body.single-product
.product-detail__gallery-shell
.flex-direction-nav
a::before {
    display: block;

    font-family: Arial, sans-serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
}

body.single-product
.product-detail__gallery-shell
.flex-direction-nav
.flex-prev {
    left: 0.85rem;
}

body.single-product
.product-detail__gallery-shell
.flex-direction-nav
.flex-prev::before {
    content: "\2190";
}

body.single-product
.product-detail__gallery-shell
.flex-direction-nav
.flex-next {
    right: 0.85rem;
}

body.single-product
.product-detail__gallery-shell
.flex-direction-nav
.flex-next::before {
    content: "\2192";
}

@media (hover: hover) and (pointer: fine) {

    body.single-product
    .product-detail__gallery-shell
    .flex-direction-nav
a:hover {
        background-color: var(--color-primary);
        border-color: var(--color-primary);
        color: var(--color-secondary) !important;
    }

    body.single-product
    .product-detail__gallery-shell
    .flex-direction-nav
    .flex-prev:hover {
        transform: translate(-2px, -50%);
    }

    body.single-product
    .product-detail__gallery-shell
    .flex-direction-nav
    .flex-next:hover {
        transform: translate(2px, -50%);
    }
}

body.single-product
.product-detail__gallery-shell
.flex-direction-nav
a.flex-disabled {
    opacity: 0.28 !important;

    pointer-events: none;
}

@media (max-width: 780px) {

    body.single-product
    .product-detail__gallery-shell
    .flex-direction-nav
a {
        width: 42px;
        height: 42px;
    }

    body.single-product
    .product-detail__gallery-shell
    .flex-direction-nav
a::before {
        font-size: 22px;
    }

    body.single-product
    .product-detail__gallery-shell
    .flex-direction-nav
    .flex-prev {
        left: 0.6rem;
    }

    body.single-product
    .product-detail__gallery-shell
    .flex-direction-nav
    .flex-next {
        right: 0.6rem;
    }
}


/* =========================================================
   PRODUCT ADD-TO-CART CHECKOUT DRAWER
   ========================================================= */

body.elj-checkout-drawer-open {
    overflow: hidden;
}

.elj-checkout-drawer[hidden] {
    display: none !important;
}

.elj-checkout-drawer {
    position: fixed;
    inset: 0;
    z-index: 1000000;

    pointer-events: none;
}

.elj-checkout-drawer.is-open {
    pointer-events: auto;
}

.elj-checkout-drawer__overlay {
    position: absolute;
    inset: 0;

    background-color: rgba(23, 35, 40, 0.42);

    opacity: 0;

    transition: opacity 240ms ease;
}

.elj-checkout-drawer.is-open
.elj-checkout-drawer__overlay {
    opacity: 1;
}

.elj-checkout-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;

    display: flex;
    flex-direction: column;

    width: min(92vw, 440px);
    max-width: 100%;

    padding:
        clamp(1.4rem, 3vw, 2rem);

    overflow-y: auto;

    background-color: var(--color-secondary);

    box-shadow: -18px 0 50px rgba(23, 35, 40, 0.16);

    transform: translateX(100%);

    transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.elj-checkout-drawer.is-open
.elj-checkout-drawer__panel {
    transform: translateX(0);
}

.elj-checkout-drawer__header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 1rem;

    padding-bottom: 1.2rem;

    border-bottom: 1px solid var(--color-border);
}

.elj-checkout-drawer__eyebrow {
    display: block;

    margin-bottom: 0.35rem;

    color: var(--color-accent-gold);

    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.12em;

    text-transform: uppercase;
}

.elj-checkout-drawer__title {
    margin: 0;

    color: var(--color-primary);

    font-family: var(--font-display);
    font-size: clamp(1.65rem, 5vw, 2.15rem);
    font-weight: 400;
    line-height: 1.05;
}

.elj-checkout-drawer__close {
    -webkit-appearance: none;
    appearance: none;

    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 42px;
    height: 42px;

    margin: 0;
    padding: 0;

    background: transparent;

    border: 1px solid var(--color-border);
    border-radius: 50%;

    box-shadow: none;

    color: var(--color-primary);

    font-family: Arial, sans-serif;
    font-size: 1.45rem;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;
}

.elj-checkout-drawer__item {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);

    gap: 1rem;

    padding: 1.35rem 0;
}

.elj-checkout-drawer__media {
    width: 82px;

    aspect-ratio: 4 / 5;

    overflow: hidden;

    background-color: var(--color-background-alt);
}

.elj-checkout-drawer__media img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.elj-checkout-drawer__product-name {
    margin: 0 0 0.55rem;

    color: var(--color-primary);

    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.25;
}

.elj-checkout-drawer__meta,
.elj-checkout-drawer__quantity {
    margin: 0.25rem 0 0;

    color: var(--color-text-muted);

    font-size: 0.72rem;
    line-height: 1.55;
}

.elj-checkout-drawer__actions {
    margin-top: auto;

    padding-top: 1.25rem;

    border-top: 1px solid var(--color-border);
}

.elj-checkout-drawer__checkout {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 1rem;

    width: 100%;
    min-height: 54px;

    padding: 0.95rem 1.15rem;

    background-color: var(--color-primary);

    border: 1px solid var(--color-primary);
    border-radius: var(--radius-small);

    color: var(--color-secondary) !important;

    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.095em;

    text-decoration: none !important;
    text-transform: uppercase;

    transition:
        background-color var(--transition-fast),
        border-color var(--transition-fast),
        color var(--transition-fast),
        transform var(--transition-fast);
}

.elj-checkout-drawer__checkout:hover {
    background-color: var(--color-accent-gold);
    border-color: var(--color-accent-gold);

    color: var(--color-primary) !important;

    transform: translateY(-1px);
}

.elj-checkout-drawer__continue {
    -webkit-appearance: none;
    appearance: none;

    display: block;

    width: 100%;

    margin: 0.85rem 0 0;
    padding: 0.65rem;

    background: transparent;

    border: 0;

    color: var(--color-text-muted);

    font-family: var(--font-body);
    font-size: 0.66rem;
    font-weight: 650;
    letter-spacing: 0.06em;

    text-decoration: underline;
    text-decoration-color: var(--color-accent-gold);
    text-underline-offset: 0.2em;
    text-transform: uppercase;

    cursor: pointer;
}

.product-detail__summary
.single_add_to_cart_button.elj-is-loading {
    opacity: 0.72;

    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {

    body.single-product
    .product-detail__gallery-shell
    .flex-direction-nav
a,
    .elj-checkout-drawer__overlay,
    .elj-checkout-drawer__panel,
    .elj-checkout-drawer__checkout {
        transition: none !important;
    }
}

/* =========================================================
   CHECKOUT DRAWER CLOSE BUTTON OVERRIDE
   ========================================================= */

body.single-product
.elj-checkout-drawer__close {
    appearance: none !important;
    -webkit-appearance: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    background-color: transparent !important;
    background-image: none !important;

    border: 1px solid var(--color-border) !important;
    border-radius: 50% !important;

    box-shadow: none !important;

    color: var(--color-primary) !important;

    font-family: Arial, sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 300 !important;
    line-height: 1 !important;

    cursor: pointer;

    transition:
        background-color var(--transition-fast),
        border-color var(--transition-fast),
        color var(--transition-fast);
}


body.single-product
.elj-checkout-drawer__close:hover,
body.single-product
.elj-checkout-drawer__close:focus {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;

    color: var(--color-secondary) !important;

    outline: none !important;
}


body.single-product
.elj-checkout-drawer__close:focus-visible {
    outline: 2px solid var(--color-accent-gold) !important;
    outline-offset: 3px;
}

/* =========================================================
   PRODUCT IMAGE LIGHTBOX
   ========================================================= */

/* Make it obvious that product images can be enlarged. */

body.single-product
.woocommerce-product-gallery__image
a {
    cursor: zoom-in;
}


/* Prevent page scrolling while lightbox is open. */

body.elj-lightbox-open {
    overflow: hidden;
}


/* Full-screen overlay. */

.elj-product-lightbox {
    position: fixed;

    inset: 0;

    z-index: 10000000;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 32px;

    background:
        rgba(10, 10, 10, 0.9);

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 180ms ease,
        visibility 180ms ease;
}


.elj-product-lightbox[hidden] {
    display: none !important;
}


.elj-product-lightbox.is-open {
    opacity: 1;
    visibility: visible;
}


/* Image container. */

.elj-product-lightbox__content {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    max-width: 94vw;
    max-height: 92vh;
}


/* Actual full-resolution image. */

.elj-product-lightbox__image {
    display: block;

    width: auto;
    height: auto;

    max-width: 94vw;
    max-height: 90vh;

    object-fit: contain;

    cursor: default;

    box-shadow:
        0 20px 70px
        rgba(0, 0, 0, 0.4);
}


/* Close button. */

.elj-product-lightbox__close {
    position: fixed;

    top: 18px;
    right: 18px;

    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 50%;

    background:
        rgba(255, 255, 255, 0.94);

    color: #172328;

    font-family: Arial, sans-serif;
    font-size: 34px;
    font-weight: 300;
    line-height: 1;

    cursor: pointer;

    transition:
        background-color 160ms ease,
        transform 160ms ease;
}


.elj-product-lightbox__close:hover {
    background: #ffffff;

    transform: scale(1.05);
}


.elj-product-lightbox__close:focus-visible {
    outline:
        2px solid #ffffff;

    outline-offset: 3px;
}


@media (max-width: 767px) {

    .elj-product-lightbox {
        padding: 16px;
    }


    .elj-product-lightbox__image {
        max-width: 96vw;
        max-height: 88vh;
    }


    .elj-product-lightbox__close {
        top: 12px;
        right: 12px;

        width: 42px;
        height: 42px;

        font-size: 31px;
    }

}

/* Remove dynamic order total beside Add to Cart */
.product-order-total {
    display: none !important;
}

/* Restore Quantity | Add to Cart layout */
.product-detail__summary
.woocommerce-variation-add-to-cart,
.product-detail__summary
form.cart:not(.variations_form) {
    grid-template-columns:
        auto
        minmax(0, 1fr) !important;
}

/* Mobile cart controls */
@media (max-width: 767px) {

    .product-detail__summary
    .woocommerce-variation-add-to-cart,
    .product-detail__summary
    form.cart:not(.variations_form) {
        display: grid !important;
        grid-template-columns: 126px minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: stretch !important;
    }

    .product-detail__summary form.cart .quantity {
        display: grid !important;
        grid-template-columns: 42px 42px 42px !important;
        width: 126px !important;
        min-width: 126px !important;
        max-width: 126px !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .product-detail__summary form.cart .quantity .minus,
    .product-detail__summary form.cart .quantity .plus,
    .product-detail__summary form.cart .quantity .qty {
        width: 42px !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .product-detail__summary form.cart .single_add_to_cart_button {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        grid-column: auto !important;
    }
}