/* =========================================================
   HNIA HARRATI
   SINGLE PRODUCT
========================================================= */


/* =========================================================
   01. PAGE BASE
========================================================= */

body.single-product {
    background: #fcfbf8;
}

body.single-product .site-main,
body.single-product main {
    width: 100%;
}


/* =========================================================
   02. PRODUCT PAGE WRAPPER
========================================================= */

.single-product div.product {
    display: block;

    width: calc(100% - 64px);
    max-width: 1600px;

    margin: 0 auto;

    padding:
        155px
        0
        120px;
}

.single-product div.product::before,
.single-product div.product::after {
    content: none !important;
    display: none !important;
}


/* =========================================================
   03. PRODUCT MAIN
   Gallery + Summary
========================================================= */

.hnia-product-main {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1.12fr)
        minmax(400px, .88fr);

    align-items: start;

    gap: clamp(56px, 5vw, 88px);

    width: 100%;
}


/* =========================================================
   04. PRODUCT GALLERY
========================================================= */

.single-product .woocommerce-product-gallery {
    position: relative;

    width: 100% !important;

    margin: 0 !important;

    float: none !important;
}

.single-product .woocommerce-product-gallery__wrapper {
    margin: 0 !important;
}

.single-product .woocommerce-product-gallery__image {
    position: relative;

    overflow: hidden;

    background: #f5f2ed;
}

.single-product .woocommerce-product-gallery__image a {
    display: block;
}

.single-product .woocommerce-product-gallery__image img {
    display: block;

    width: 100% !important;
    height: auto !important;

    aspect-ratio: 4 / 5;

    object-fit: cover;
    object-position: center top;

    background: #f5f2ed;
}


/* =========================================================
   05. GALLERY THUMBNAILS
========================================================= */

.single-product .flex-control-thumbs {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 10px;

    width: 100%;

    margin: 12px 0 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.single-product .flex-control-thumbs li {
    position: relative;

    width: 100% !important;

    margin: 0 !important;

    float: none !important;

    overflow: hidden;

    background: #f5f2ed;
}

.single-product .flex-control-thumbs img {
    display: block;

    width: 100% !important;
    height: auto !important;

    aspect-ratio: 3 / 4;

    object-fit: cover;
    object-position: center top;

    opacity: 1;

    filter: none !important;

    cursor: pointer;

    transition:
        opacity 280ms ease;
}

.single-product
.flex-control-thumbs
img:not(.flex-active) {
    opacity: .68;
}

.single-product
.flex-control-thumbs
img:hover {
    opacity: .9;
}

.single-product
.flex-control-thumbs
img.flex-active {
    opacity: 1;
}


/* active thumbnail */

.single-product
.flex-control-thumbs
li:has(img.flex-active)::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 2px;

    background: #17120f;

    pointer-events: none;
}


/* =========================================================
   06. GALLERY NAVIGATION
========================================================= */

.hnia-product-gallery-nav {
    position: absolute;

    top: 0;
    left: 0;

    z-index: 20;

    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;

    aspect-ratio: 4 / 5;

    padding: 0 18px;

    pointer-events: none;
}


/* Strong reset against Elementor / WooCommerce buttons */

body.single-product
.hnia-product-gallery-nav__button {
    all: unset !important;

    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 44px !important;
    height: 44px !important;

    min-width: 44px !important;
    min-height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    border:
        1px solid
        rgba(23,18,15,.12) !important;

    border-radius: 50% !important;

    background:
        rgba(255,253,249,.90) !important;

    color: #17120f !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 26px !important;
    font-weight: 300 !important;

    line-height: 1 !important;

    cursor: pointer !important;

    pointer-events: auto !important;

    appearance: none !important;
    -webkit-appearance: none !important;

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    box-shadow:
        0 6px 24px
        rgba(23,18,15,.05) !important;

    transition:
        background-color 250ms ease,
        transform 350ms cubic-bezier(.16,1,.3,1),
        box-shadow 300ms ease !important;
}

body.single-product
.hnia-product-gallery-nav__button span {
    display: block !important;

    margin: -2px 0 0 !important;
    padding: 0 !important;

    color: #17120f !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 26px !important;
    font-weight: 300 !important;

    line-height: 1 !important;
}

body.single-product
.hnia-product-gallery-nav__button:hover {
    border-color:
        rgba(23,18,15,.16) !important;

    background:
        #fffdf9 !important;

    color:
        #17120f !important;

    transform:
        scale(1.06);

    box-shadow:
        0 10px 30px
        rgba(23,18,15,.09) !important;
}

body.single-product
.hnia-product-gallery-nav__button:focus,
body.single-product
.hnia-product-gallery-nav__button:active {
    color:
        #17120f !important;

    background:
        #fffdf9 !important;

    border-color:
        rgba(23,18,15,.20) !important;
}

body.single-product
.hnia-product-gallery-nav__button:focus-visible {
    outline:
        1px solid
        #17120f !important;

    outline-offset:
        3px !important;
}


/* =========================================================
   07. PRODUCT SUMMARY
========================================================= */

.single-product .summary.entry-summary {
    position: sticky;

    top: 130px;

    width: 100% !important;
    max-width: 520px;

    margin: 0 !important;
    padding-top: 8px;

    float: none !important;
}


/* =========================================================
   08. EYEBROW
========================================================= */

.hnia-product-eyebrow {
    margin-bottom: 16px;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 600;

    line-height: 1;

    letter-spacing: .18em;

    text-transform: uppercase;

    color: #a27654;
}


/* =========================================================
   09. PRODUCT TITLE
========================================================= */

.single-product .product_title {
    max-width: 540px;

    margin: 0 0 16px !important;

    font-family:
        "League Spartan",
        Arial,
        sans-serif;

    font-size:
        clamp(44px, 3.7vw, 62px);

    font-weight: 400;

    line-height: .94;

    letter-spacing: -.035em;

    color: #17120f;
}


/* =========================================================
   10. PRICE
========================================================= */

.single-product .summary .price {
    display: block;

    margin:
        0
        0
        34px !important;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size:
        13px !important;

    font-weight:
        500;

    line-height:
        1.4;

    letter-spacing:
        .025em;

    color:
        #17120f !important;
}

.single-product
.summary
.price del {
    margin-right: 8px;

    opacity: .38;
}

.single-product
.summary
.price ins {
    text-decoration: none;

    color: #17120f;
}


/* =========================================================
   11. SHORT DESCRIPTION
========================================================= */

.single-product
.woocommerce-product-details__short-description {
    max-width: 480px;

    margin-bottom: 34px;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 14px;
    font-weight: 400;

    line-height: 1.75;

    color: #6f655e;
}

.single-product
.woocommerce-product-details__short-description p {
    margin: 0;
}


/* =========================================================
   12. VARIATIONS
========================================================= */

.single-product .variations {
    width: 100%;

    margin:
        0
        0
        26px !important;

    border: 0 !important;
}

.single-product .variations tr {
    display: block;

    margin-bottom: 22px;
}

.single-product .variations th,
.single-product .variations td {
    display: block;

    width: 100%;

    padding: 0 !important;

    border: 0 !important;

    text-align: left;
}

.single-product .variations label {
    display: block;

    margin-bottom: 10px;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 600;

    line-height: 1;

    letter-spacing: .16em;

    text-transform: uppercase;

    color: #17120f;
}

.single-product .variations select {
    width: 100%;
    height: 52px;

    padding: 0 14px;

    border:
        1px solid
        rgba(23,18,15,.18);

    border-radius: 0;

    background: #fcfbf8;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 12px;

    color: #17120f;

    outline: none;
}

.single-product
.reset_variations {
    display: none !important;
}



/* =========================================================
   VARIATION RESULT
========================================================= */

.single-product
.single_variation_wrap {
    width: 100%;
}


.single-product
.woocommerce-variation-price {
    margin:
        8px
        0
        18px;
}


.single-product
.woocommerce-variation-price
.price {
    margin:
        0 !important;

    font-size:
        12px !important;
}


.single-product
.woocommerce-variation-availability {
    margin:
        8px
        0
        16px;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size:
        9px;

    line-height:
        1.4;

    color:
        #746a63;
}


.single-product
.woocommerce-variation-availability p {
    margin:
        0;
}


/* =========================================================
   13. QUANTITY + CART
========================================================= */

/* =========================================================
   CART — SIMPLE PRODUCT
========================================================= */

.single-product
form.cart:not(.variations_form) {
    display: flex;

    align-items: stretch;

    gap: 10px;

    margin:
        0
        0
        32px !important;
}

/* =========================================================
   ADD TO CART DISABLED
========================================================= */

.single-product
.single_add_to_cart_button.disabled,
.single-product
.single_add_to_cart_button:disabled {
    opacity:
        .42 !important;

    background:
        #17120f !important;

    color:
        #fffdf9 !important;

    cursor:
        not-allowed !important;

    transform:
        none !important;
}

/* =========================================================
   CART — VARIABLE PRODUCT
========================================================= */

.single-product
form.variations_form.cart {
    display: block;

    width: 100%;

    margin:
        0
        0
        32px !important;
}


/* Quantity + Add to cart only */

.single-product
.woocommerce-variation-add-to-cart {
    display: flex;

    align-items: stretch;

    gap: 10px;

    width: 100%;

    margin-top: 26px;
}

.single-product .quantity {
    width: 72px;
}

.single-product
.quantity
input.qty {
    width: 100% !important;
    height: 58px;

    padding: 0 8px;

    border:
        1px solid
        rgba(23,18,15,.18);

    border-radius: 0;

    background: transparent;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 12px;

    color: #17120f;

    text-align: center;
}


/* =========================================================
   14. ADD TO CART
========================================================= */

.single-product
.single_add_to_cart_button {
    flex: 1;

    min-height: 58px;

    padding:
        0
        28px !important;

    border: 0 !important;
    border-radius: 0 !important;

    background:
        #17120f !important;

    color:
        #fffdf9 !important;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size:
        10px !important;

    font-weight:
        600 !important;

    letter-spacing:
        .15em;

    text-transform:
        uppercase;

    cursor:
        pointer;

    transition:
        background-color 300ms ease,
        transform 300ms cubic-bezier(.16,1,.3,1);
}

.single-product
.single_add_to_cart_button:hover {
    background:
        #a6754c !important;

    transform:
        translateY(-1px);
}


/* =========================================================
   15. PRODUCT DETAILS
========================================================= */

.hnia-product-details {
    width: 100%;

    margin-top: 38px;

    border-top:
        1px solid
        rgba(23,18,15,.12);
}

.hnia-product-details__section {
    width: 100%;

    border-bottom:
        1px solid
        rgba(23,18,15,.12);
}


/* =========================================================
   ALWAYS OPEN DETAILS HEADER
========================================================= */

.hnia-product-details__header {
    display: flex;
    align-items: center;

    width: 100%;

    min-height: 54px;

    margin: 0;
    padding: 0;

    background:
        transparent;
}


/* =========================================================
   DETAILS TITLES
========================================================= */

.hnia-product-details__title {
    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 600;

    line-height: 1;

    letter-spacing: .15em;

    text-transform: uppercase;

    color: #17120f;
}


/* =========================================================
   ACCORDION BUTTON
   Hard reset against global button styling
========================================================= */

body.single-product
button.hnia-product-details__toggle {
    all: unset !important;

    box-sizing:
        border-box !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        space-between !important;

    width:
        100% !important;

    min-height:
        56px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    outline:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

    color:
        #17120f !important;

    text-align:
        left !important;

    cursor:
        pointer !important;

    appearance:
        none !important;

    -webkit-appearance:
        none !important;
}

body.single-product
button.hnia-product-details__toggle:hover,
body.single-product
button.hnia-product-details__toggle:focus,
body.single-product
button.hnia-product-details__toggle:active {
    border:
        0 !important;

    background:
        transparent !important;

    color:
        #17120f !important;

    box-shadow:
        none !important;

    transform:
        none !important;
}


/* =========================================================
   ACCORDION ICON
========================================================= */

.hnia-product-details__icon {
    position: relative;

    display: block;

    width: 14px;
    height: 14px;

    flex: 0 0 14px;

    margin-left: 20px;
}

.hnia-product-details__icon::before,
.hnia-product-details__icon::after {
    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    width: 11px;
    height: 1px;

    background:
        rgba(23,18,15,.72);

    transform:
        translate(-50%, -50%);

    transition:
        transform 450ms cubic-bezier(.16,1,.3,1),
        opacity 250ms ease;
}

.hnia-product-details__icon::after {
    transform:
        translate(-50%, -50%)
        rotate(90deg);
}


/* open = minus */

.hnia-product-details__section.is-open
.hnia-product-details__icon::after {
    opacity: 0;

    transform:
        translate(-50%, -50%)
        rotate(90deg)
        scaleX(0);
}


/* =========================================================
   DETAILS CONTENT
========================================================= */

.hnia-product-details__content {
    width: 100%;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 12px;
    font-weight: 400;

    line-height: 1.8;

    color: #756b64;
}

.hnia-product-details__content p {
    margin:
        0
        0
        10px;
}

.hnia-product-details__content p:last-child {
    margin-bottom: 0;
}

.hnia-product-details__content ul {
    margin:
        0
        0
        0
        18px;

    padding: 0;
}

.hnia-product-details__content li {
    margin-bottom: 8px;
}


/* =========================================================
   STATIC PRODUCT DETAILS
   Always visible
========================================================= */

.hnia-product-details__content--static {
    display: block !important;

    max-height: none !important;

    opacity: 1 !important;

    overflow: visible !important;

    padding:
        0
        0
        28px !important;

    transform: none !important;
}


/* =========================================================
   ANIMATED ACCORDION CONTENT
========================================================= */

.hnia-product-details__section:not(.hnia-product-details__section--open)
.hnia-product-details__content {
    max-height: 0;

    overflow: hidden;

    opacity: 0;

    padding-top: 0;
    padding-bottom: 0;

    transform:
        translateY(-4px);

    transition:
        max-height 550ms cubic-bezier(.16,1,.3,1),
        opacity 320ms ease,
        transform 450ms cubic-bezier(.16,1,.3,1),
        padding-bottom 450ms cubic-bezier(.16,1,.3,1);
}

.hnia-product-details__section.is-open
.hnia-product-details__content {
    opacity: 1;

    padding-bottom: 24px;

    transform:
        translateY(0);
}


/* =========================================================
   16. SALE BADGE
========================================================= */

.single-product .onsale {
    position:
        absolute !important;

    top:
        14px !important;

    left:
        14px !important;

    right:
        auto !important;

    z-index:
        6;

    min-width:
        auto !important;

    min-height:
        auto !important;

    margin:
        0 !important;

    padding:
        8px
        11px !important;

    border-radius:
        0 !important;

    background:
        rgba(23,18,15,.94) !important;

    color:
        #fffdf9 !important;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size:
        8px !important;

    font-weight:
        600 !important;

    line-height:
        1 !important;

    letter-spacing:
        .16em;

    text-transform:
        uppercase;
}


/* =========================================================
   17. RELATED PRODUCTS
========================================================= */

.single-product .related.products {
    position: relative;

    width: 100%;

    margin-top: 120px;

    padding-top: 84px;

    border-top:
        1px solid
        rgba(23,18,15,.10);
}


/* =========================================================
   RELATED HEADING
========================================================= */

.single-product
.related.products
> h2 {
    margin:
        0
        0
        54px;

    font-family:
        "League Spartan",
        Arial,
        sans-serif;

    font-size:
        clamp(42px, 4vw, 60px);

    font-weight:
        400;

    line-height:
        .98;

    letter-spacing:
        -.03em;

    color:
        #17120f;
}


/* =========================================================
   RELATED GRID
========================================================= */

.single-product
.related.products
ul.products {
    display:
        grid !important;

    grid-template-columns:
        repeat(4, minmax(0,1fr));

    column-gap:
        24px !important;

    row-gap:
        62px !important;

    width:
        100%;

    margin:
        0 !important;

    padding:
        0 !important;

    list-style:
        none !important;
}

.single-product
.related.products
ul.products::before,
.single-product
.related.products
ul.products::after {
    content:
        none !important;

    display:
        none !important;
}


/* =========================================================
   RELATED CARD
========================================================= */

.single-product
.related.products
ul.products
li.product {
    position: relative;

    display: flex;
    flex-direction: column;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
    clear: none !important;

    overflow: visible;

    background: transparent;

    text-align: left !important;
}


/* =========================================================
   RELATED PRODUCT LINK
========================================================= */

.single-product
.related.products
ul.products
li.product
> a {
    position: relative;

    display: block;

    width: 100%;

    overflow: visible;

    color: inherit;

    text-decoration: none;
}


/* =========================================================
   RELATED FIRST IMAGE
========================================================= */

.single-product
.related.products
ul.products
li.product
> a
> img:first-of-type {
    position: relative;

    z-index: 1;

    display: block;

    width: 100% !important;
    height: auto !important;

    aspect-ratio: 3 / 4;

    margin:
        0
        0
        20px !important;

    object-fit:
        cover !important;

    object-position:
        center top !important;

    background:
        #f1ece6;

    opacity: 1;

    transform:
        scale(1);

    transition:
        opacity 850ms cubic-bezier(.22,.61,.36,1),
        transform 1100ms cubic-bezier(.16,1,.3,1),
        filter 850ms ease;
}


/* =========================================================
   RELATED SECOND IMAGE
========================================================= */

.single-product
.related.products
ul.products
li.product
.hnia-product-hover-image {
    position: absolute;

    top: 0;
    left: 0;

    z-index: 2;

    display: block;

    width: 100% !important;
    height: auto !important;

    aspect-ratio: 3 / 4;

    margin: 0 !important;

    object-fit:
        cover !important;

    object-position:
        center top !important;

    background:
        #f1ece6;

    opacity: 0;

    transform:
        scale(1);

    pointer-events: none;

    transition:
        opacity 900ms cubic-bezier(.22,.61,.36,1),
        transform 1200ms cubic-bezier(.16,1,.3,1),
        filter 900ms ease;
}


/* =========================================================
   RELATED IMAGE HOVER
========================================================= */

.single-product
.related.products
ul.products
li.product:hover
> a
> img:first-of-type {
    opacity: 0;

    transform:
        scale(.995);
}

.single-product
.related.products
ul.products
li.product:hover
.hnia-product-hover-image {
    opacity: 1;

    transform:
        scale(1.018);

    filter:
        contrast(1.015)
        saturate(1.015);

    transition-delay:
        40ms;
}


/* =========================================================
   RELATED PRODUCT TITLE
========================================================= */

.single-product
.related.products
.woocommerce-loop-product__title {
    margin:
        0
        0
        7px !important;

    padding:
        0 !important;

    font-family:
        "League Spartan",
        Arial,
        sans-serif;

    font-size:
        clamp(22px, 1.55vw, 28px) !important;

    font-weight:
        400 !important;

    line-height:
        1.02 !important;

    letter-spacing:
        -.018em;

    color:
        #17120f !important;

    transition:
        transform 350ms cubic-bezier(.16,1,.3,1);
}

.single-product
.related.products
li.product:hover
.woocommerce-loop-product__title {
    transform:
        translateX(3px);
}


/* =========================================================
   RELATED PRICE
========================================================= */

.single-product
.related.products
.price {
    display: block;

    margin: 0 !important;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size:
        11px !important;

    font-weight:
        500 !important;

    line-height:
        1.4;

    letter-spacing:
        .04em;

    color:
        #81766e !important;
}

.single-product
.related.products
.price del {
    margin-right: 7px;

    opacity: .42;
}

.single-product
.related.products
.price ins {
    text-decoration: none;

    color: #17120f;
}


/* =========================================================
   REMOVE RELATED CART BUTTON
========================================================= */

.single-product
.related.products
.button {
    display: none !important;
}


/* =========================================================
   RELATED EDITORIAL LINE
========================================================= */

.single-product
.related.products
ul.products
li.product::after {
    content: "";

    display: block;

    width: 0;
    height: 1px;

    margin-top: 18px;

    background:
        #a6754c;

    transition:
        width 480ms cubic-bezier(.16,1,.3,1);
}

.single-product
.related.products
ul.products
li.product:hover::after {
    width: 46px;
}


/* =========================================================
   18. TABLET
========================================================= */

@media (max-width: 1024px) {

    .single-product div.product {
        width:
            calc(100% - 48px);

        padding:
            110px
            0
            80px;
    }

    .hnia-product-main {
        grid-template-columns:
            minmax(0, 1.05fr)
            minmax(320px, .95fr);

        gap:
            40px;
    }

    .single-product
    .summary.entry-summary {
        top:
            110px;
    }

    .single-product
    .product_title {
        font-size:
            clamp(40px, 5vw, 52px);
    }


    /* RELATED */

    .single-product
    .related.products {
        margin-top:
            90px;

        padding-top:
            68px;
    }

    .single-product
    .related.products
    > h2 {
        margin-bottom:
            42px;
    }

    .single-product
    .related.products
    ul.products {
        grid-template-columns:
            repeat(3, minmax(0,1fr));

        column-gap:
            16px !important;

        row-gap:
            44px !important;
    }

    .single-product
    .related.products
    .woocommerce-loop-product__title {
        font-size:
            22px !important;
    }
}


/* =========================================================
   19. MOBILE
========================================================= */

@media (max-width: 767px) {

    .single-product div.product {
        width:
            calc(100% - 24px);

        padding:
            88px
            0
            64px;
    }

    .hnia-product-main {
        display:
            block;
    }


    /* GALLERY */

    .single-product
    .woocommerce-product-gallery {
        margin-bottom:
            36px !important;
    }

    .single-product
    .flex-control-thumbs {
        grid-template-columns:
            repeat(4, minmax(0,1fr));

        gap:
            6px;
    }

    .hnia-product-gallery-nav {
        padding:
            0
            10px;
    }

    body.single-product
    .hnia-product-gallery-nav__button {
        width:
            38px !important;

        height:
            38px !important;

        min-width:
            38px !important;

        min-height:
            38px !important;
    }

    body.single-product
    .hnia-product-gallery-nav__button span {
        font-size:
            22px !important;
    }


    /* SUMMARY */

    .single-product
    .summary.entry-summary {
        position:
            static;

        max-width:
            none;

        padding-top:
            0;
    }

    .single-product
    .product_title {
        font-size:
            40px;

        line-height:
            .97;
    }


    /* CART */

    .single-product
    form.cart {
        flex-wrap:
            wrap;
    }

    .single-product
    .quantity {
        width:
            68px;
    }

    .single-product
    .single_add_to_cart_button {
        flex:
            1
            1
            calc(100% - 78px);
    }


    /* DETAILS */

    .hnia-product-details {
        margin-top:
            32px;
    }


    /* RELATED */

    .single-product
    .related.products {
        margin-top:
            68px;

        padding-top:
            52px;
    }

    .single-product
    .related.products
    > h2 {
        margin-bottom:
            30px;

        font-size:
            38px;
    }

    .single-product
    .related.products
    ul.products {
        grid-template-columns:
            repeat(2, minmax(0,1fr));

        column-gap:
            10px !important;

        row-gap:
            32px !important;
    }

    .single-product
    .related.products
    ul.products
    li.product
    > a
    > img:first-of-type {
        margin-bottom:
            10px !important;
    }

    .single-product
    .related.products
    .woocommerce-loop-product__title {
        margin-bottom:
            5px !important;

        font-size:
            16px !important;
    }

    .single-product
    .related.products
    .price {
        font-size:
            9px !important;
    }

    .single-product
    .related.products
    li.product::after {
        margin-top:
            10px;
    }

    .single-product
    .related.products
    li.product:hover
    .hnia-product-hover-image {
        transform:
            none;
    }
    
    
    
    .hnia-size-selector__options {
    gap: 6px;
}

body.single-product
button.hnia-size-option {
    min-width:
        48px !important;

    height:
        44px !important;

    padding:
        0
        12px !important;
}
}



/* =========================================================
   CUSTOM SIZE SELECTOR
========================================================= */

.hnia-size-selector {
    width: 100%;

    margin-top: 2px;
}


/* =========================================================
   SIZE HEADER
========================================================= */

.hnia-size-selector__header {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 12px;
}


.hnia-size-selector__label {
    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 600;

    line-height: 1;

    letter-spacing: .16em;

    text-transform: uppercase;

    color: #17120f;
}


/* =========================================================
   SIZE GUIDE
========================================================= */

body.single-product
button.hnia-size-guide-link {
    all: unset !important;

    box-sizing: border-box !important;

    display: inline-flex !important;
    align-items: center !important;

    padding-bottom: 3px !important;

    border-bottom:
        1px solid
        rgba(23,18,15,.28) !important;

    color:
        #756b64 !important;

    font-family:
        "Manrope",
        Arial,
        sans-serif !important;

    font-size:
        9px !important;

    font-weight:
        500 !important;

    line-height:
        1.2 !important;

    letter-spacing:
        .08em !important;

    text-transform:
        uppercase !important;

    cursor:
        pointer !important;

    transition:
        color 250ms ease,
        border-color 250ms ease !important;
}


body.single-product
button.hnia-size-guide-link:hover {
    color:
        #17120f !important;

    border-color:
        #17120f !important;
}


/* =========================================================
   SIZE OPTIONS
========================================================= */

.hnia-size-selector__options {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;

    width: 100%;
}


/* reset aggressivo */

body.single-product
button.hnia-size-option {
    all: unset !important;

    box-sizing: border-box !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 54px !important;
    height: 46px !important;

    padding:
        0
        15px !important;

    border:
        1px solid
        rgba(23,18,15,.18) !important;

    border-radius:
        0 !important;

    background:
        transparent !important;

    color:
        #17120f !important;

    font-family:
        "Manrope",
        Arial,
        sans-serif !important;

    font-size:
        10px !important;

    font-weight:
        500 !important;

    line-height:
        1 !important;

    letter-spacing:
        .08em !important;

    text-transform:
        uppercase !important;

    cursor:
        pointer !important;

    transition:
        color 220ms ease,
        background-color 220ms ease,
        border-color 220ms ease,
        opacity 220ms ease !important;
}


/* hover */

body.single-product
button.hnia-size-option:hover:not(:disabled) {
    border-color:
        rgba(23,18,15,.65) !important;
}


/* selected */

body.single-product
button.hnia-size-option.is-selected {
    border-color:
        #17120f !important;

    background:
        #17120f !important;

    color:
        #fffdf9 !important;
}


/* unavailable */

body.single-product
button.hnia-size-option.is-disabled,
body.single-product
button.hnia-size-option:disabled {
    position: relative;

    opacity: .32;

    cursor:
        not-allowed !important;
}


body.single-product
button.hnia-size-option.is-disabled::after,
body.single-product
button.hnia-size-option:disabled::after {
    content: "";

    position: absolute;

    top: 50%;
    left: 8px;
    right: 8px;

    height: 1px;

    background:
        rgba(23,18,15,.55);

    transform:
        rotate(-20deg);
}


/* =========================================================
   HIDE NATIVE SIZE SELECT
========================================================= */

.hnia-native-variation-select {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    padding: 0 !important;
    margin: -1px !important;

    overflow: hidden !important;

    clip:
        rect(0,0,0,0) !important;

    white-space:
        nowrap !important;

    border: 0 !important;
}


/* Hide original variation label for size rows */

.single-product
.variations tr:has(.hnia-size-selector)
> th {
    display:
        none !important;
}


.single-product
.variations,
.single-product
.variations tbody,
.single-product
.variations tr,
.single-product
.variations th,
.single-product
.variations td {
    background: transparent !important;
}

.single-product
.variations tr:has(.hnia-size-selector) {
    margin: 0 !important;
}

.single-product
.variations tr:has(.hnia-size-selector)
> td {
    display: block;

    width: 100%;

    background: transparent !important;
}


.hnia-size-selector {
    width: 100%;

    margin:
        0
        0
        2px;
}

.hnia-size-selector__header {
    margin-bottom: 14px;
}

.single-product
.variations
tr:has(.hnia-size-selector)
> th,

.single-product
.variations
tr:has(.hnia-size-selector)
label {
    display: none !important;
}



.single-product
.woocommerce-variation {
    width: 100%;
}

.single-product
.woocommerce-variation-availability {
    margin:
        14px
        0
        0;
}

.single-product
.woocommerce-variation-availability p {
    margin: 0;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 500;

    line-height: 1.4;

    letter-spacing: .08em;

    text-transform: uppercase;

    color: #766c65;
}



/* =========================================================
   SIZE GUIDE OVERLAY
========================================================= */

.hnia-size-guide-overlay {
    position: fixed;

    inset: 0;

    z-index: 99990;

    background:
        rgba(15,12,10,.32);

    opacity: 0;

    visibility: hidden;

    backdrop-filter:
        blur(4px);

    -webkit-backdrop-filter:
        blur(4px);

    transition:
        opacity 400ms ease,
        visibility 400ms ease;
}

.hnia-size-guide-overlay.is-visible {
    opacity: 1;

    visibility: visible;
}


/* =========================================================
   SIZE GUIDE DRAWER
========================================================= */

.hnia-size-guide-drawer {
    position: fixed;

    top: 0;
    right: 0;

    z-index: 99991;

    width:
        min(92vw, 520px);

    height:
        100dvh;

    padding:
        42px
        42px
        48px;

    background:
        #fcfbf8;

    box-shadow:
        -20px
        0
        60px
        rgba(23,18,15,.10);

    overflow-y: auto;

    transform:
        translateX(102%);

    transition:
        transform 650ms cubic-bezier(.16,1,.3,1);
}

.hnia-size-guide-drawer.is-open {
    transform:
        translateX(0);
}


/* Prevent page scroll */

body.hnia-size-guide-open {
    overflow: hidden;
}


/* =========================================================
   DRAWER HEADER
========================================================= */

.hnia-size-guide-drawer__header {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 32px;

    padding-bottom: 30px;

    border-bottom:
        1px solid
        rgba(23,18,15,.12);
}


.hnia-size-guide-drawer__eyebrow {
    display: block;

    margin-bottom: 10px;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 8px;
    font-weight: 600;

    letter-spacing: .18em;

    color: #a27654;
}


.hnia-size-guide-drawer__title {
    margin: 0;

    font-family:
        "League Spartan",
        Arial,
        sans-serif;

    font-size: 42px;
    font-weight: 400;

    line-height: .95;

    letter-spacing: -.025em;

    color: #17120f;
}


/* Close */

body.single-product
button.hnia-size-guide-drawer__close {
    all: unset !important;

    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 36px !important;
    height: 36px !important;

    flex: 0 0 36px;

    color: #17120f !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 25px !important;
    font-weight: 300 !important;

    line-height: 1 !important;

    cursor: pointer !important;

    transition:
        transform 350ms cubic-bezier(.16,1,.3,1) !important;
}

body.single-product
button.hnia-size-guide-drawer__close:hover {
    transform:
        rotate(90deg);
}


/* =========================================================
   DRAWER CONTENT
========================================================= */

.hnia-size-guide-drawer__content {
    padding-top: 32px;
}

.hnia-size-guide-drawer__intro {
    max-width: 400px;

    margin:
        0
        0
        34px;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 13px;

    line-height: 1.75;

    color: #756b64;
}


/* Sizes */

.hnia-size-guide-drawer__sizes {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 7px;

    margin-bottom: 42px;
}

body.single-product
button.hnia-size-guide-drawer__size {
    all: unset !important;

    box-sizing:
        border-box !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    min-height:
        48px !important;

    border:
        1px solid
        rgba(23,18,15,.16) !important;

    background:
        transparent !important;

    color:
        #17120f !important;

    font-family:
        "Manrope",
        Arial,
        sans-serif !important;

    font-size:
        10px !important;

    font-weight:
        500 !important;

    cursor:
        pointer !important;

    transition:
        border-color 220ms ease,
        background-color 220ms ease,
        color 220ms ease !important;
}


body.single-product
button.hnia-size-guide-drawer__size:hover {
    border-color:
        #17120f !important;
}


body.single-product
button.hnia-size-guide-drawer__size:disabled {
    opacity:
        .30;

    cursor:
        not-allowed !important;
}


/* Guidance */

.hnia-size-guide-drawer__measure {
    padding:
        28px
        0;

    border-top:
        1px solid
        rgba(23,18,15,.12);

    border-bottom:
        1px solid
        rgba(23,18,15,.12);
}

.hnia-size-guide-drawer__label {
    display: block;

    margin-bottom: 14px;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 8px;
    font-weight: 600;

    letter-spacing: .16em;

    color: #17120f;
}

.hnia-size-guide-drawer__measure p {
    margin: 0;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 12px;

    line-height: 1.75;

    color: #756b64;
}


/* Contact */

.hnia-size-guide-drawer__contact {
    display: inline-flex;

    margin-top: 30px;

    padding-bottom: 6px;

    border-bottom:
        1px solid
        rgba(23,18,15,.35);

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 9px;
    font-weight: 600;

    letter-spacing: .14em;

    text-decoration: none;

    color: #17120f;
}


/* =========================================================
   SIZE GUIDE MOBILE
========================================================= */

@media (max-width: 767px) {

    .hnia-size-guide-drawer {
        width: 100%;

        padding:
            28px
            20px
            36px;
    }

    .hnia-size-guide-drawer__title {
        font-size: 36px;
    }

    .hnia-size-guide-drawer__sizes {
        gap: 5px;
    }
}







/* =========================================================
   SIZE VALIDATION
========================================================= */

.hnia-size-selector__feedback {
    min-height: 14px;

    margin-top: 10px;

    font-family:
        "Manrope",
        Arial,
        sans-serif;

    font-size: 8px;
    font-weight: 500;

    line-height: 1.4;

    letter-spacing: .06em;

    text-transform: uppercase;

    color: #847970;
}


.hnia-size-selector.is-invalid
.hnia-size-selector__feedback {
    color: #8f3e32;
}


.hnia-size-selector.is-invalid
.hnia-size-selector__options {
    animation:
        hnia-size-error
        320ms
        cubic-bezier(.16,1,.3,1);
}


@keyframes hnia-size-error {

    0% {
        transform:
            translateX(0);
    }

    30% {
        transform:
            translateX(-4px);
    }

    60% {
        transform:
            translateX(3px);
    }

    100% {
        transform:
            translateX(0);
    }
}