/* -------------------------------------------------------------------------- */
/* ------------------------------- Global CSS ------------------------------- */
/* -------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------- */
/* ------------------------------ Import Fonts ------------------------------ */

/* ---------- Bricolage Grotesque (Primary - Variable Font) ---------- */

@font-face {
    font-family: 'Bricolage Grotesque';
    src: url('../assets/fonts/Bricolage_Grotesque/BricolageGrotesque-VariableFont_opsz,wdth,wght.ttf') format('truetype');
    font-weight: 200 800;
    font-style: normal;
    font-display: swap;
}


/* ---------- Inter (Secondary - Variable Font) ---------- */

@font-face {
    font-family: 'Inter';
    src: url('../assets/fonts/Inter/Inter-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../assets/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}



/* -------------------------------------------------------------------------- */
/* -------------------- CSS Custom Properties (Variables) ------------------- */

:root {

    /* --------------- Fonts ---------- */

    --font-heading: 'Bricolage Grotesque', sans-serif;
    --font-body: 'Inter', sans-serif;


    /* ---------- Colors ---------- */

    /* Neutral */
    --gy-neutral-darkest: rgb(12, 9, 3);
    --gy-neutral-darkest-60: rgba(12, 9, 3, 0.60);
    --gy-neutral-darkest-15: rgba(12, 9, 3, 0.15);
    --gy-neutral-darkest-05: rgba(12, 9, 3, 0.05);
    --gy-neutral-darker: rgb(26, 33, 28);
    --gy-neutral-darker-2: rgb(36, 33, 28);
    --gy-neutral-lighter: rgb(218, 218, 217);
    --gy-neutral-dark: rgb(84, 82, 78);

    /* White */
    --gy-white: rgb(255, 255, 255);
    --gy-white-20: rgba(255, 255, 255, 0.2);
    --gy-white-light: rgb(242, 242, 242);

    /* Tulip Tree */
    --gy-tulip-tree: rgb(231, 171, 67);
    --gy-tulip-tree-10: rgb(231, 171, 67, 0.10);
    --gy-tulip-tree-lighter: rgb(252, 246, 236);
    --gy-tulip-tree-lighter-2: rgb(250, 238, 217);
    --gy-tulip-tree-lightest: rgb(253, 237, 242);
    --gy-tulip-tree-lightest-2: rgb(251, 219, 230);
    --gy-tulip-tree-lightest-3: rgb(253, 240, 237);

    /* Coral */
    --gy-coral: #EE6C4C;

    /* Green */
    --gy-success: #3D8625;

    /* Overlay */
    --gy-overlay: rgba(0, 0, 0, 0.5);

}



/* -------------------------------------------------------------------------- */
/* ---------------------------------- Resets -------------------------------- */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

body {
    background-color: var(--gy-white);
    overflow-x: hidden;
    font-family: var(--font-body);
}

img {
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    pointer-events: auto;
}

ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
}



/* -------------------------------------------------------------------------- */
/* ------------------------------ Global Styles ----------------------------- */

/* ---------- Container ---------- */

.container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 8rem;
}

/* Responsive */
@media (max-width: 1200px) {
    .container {
        padding: 0 6rem;
    }
}

@media (max-width: 991px) {
    .container {
        padding: 0 4rem;
    }
}

@media (max-width: 768px) {
    .container {
        padding: 0 3.2rem;
    }
}

@media (max-width: 568px) {
    .container {
        padding: 0 2.4rem;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 1.6rem;
    }
}

@media (max-width: 360px) {
    .container {
        padding: 0 1.2rem;
    }
}


/* ---------- Section ---------- */

.section.padding_top_iterate {
    padding-top: 0;
}

.section-80 {
    padding-top: 8rem;
    padding-bottom: 8rem;
}

.section-48 {
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
}

.section-32 {
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
}

.section-24-48 {
    padding-top: 2.4rem;
    padding-bottom: 4.8rem;
}

@media (max-width: 1200px) {

    .section-80 {
        padding-top: 7.2rem;
        padding-bottom: 7.2rem;
    }

    .section-48 {
        padding-top: 4.6rem;
        padding-bottom: 4.6rem;
    }

    .section-32 {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .section-24-48 {
        padding-top: 2.2rem;
        padding-bottom: 4.6rem;
    }
}

@media (max-width: 991px) {

    .section-80 {
        padding-top: 6.8rem;
        padding-bottom: 6.8rem;
    }

    .section-48 {
        padding-top: 4.4rem;
        padding-bottom: 4.4rem;
    }

    .section-32 {
        padding-top: 2.8rem;
        padding-bottom: 2.8rem;
    }

    .section-24-48 {
        padding-top: 2rem;
        padding-bottom: 4.4rem;
    }
}

@media (max-width: 768px) {

    .section-80 {
        padding-top: 6.4rem;
        padding-bottom: 6.4rem;
    }

    .section-48 {
        padding-top: 4.2rem;
        padding-bottom: 4.2rem;
    }

    .section-32 {
        padding-top: 2.6rem;
        padding-bottom: 2.6rem;
    }

    .section-24-48 {
        padding-top: 1.8rem;
        padding-bottom: 4.2rem;
    }
}

@media (max-width: 568px) {

    .section-80 {
        padding-top: 5.6rem;
        padding-bottom: 5.6rem;
    }

    .section-48 {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .section-32 {
        padding-top: 2.4rem;
        padding-bottom: 2.4rem;
    }

    .section-24-48 {
        padding-top: 1.6rem;
        padding-bottom: 4rem;
    }
}

@media (max-width: 480px) {

    .section-80 {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .section-48 {
        padding-top: 3.6rem;
        padding-bottom: 3.6rem;
    }

    .section-32 {
        padding-top: 2.2rem;
        padding-bottom: 2.2rem;
    }

    .section-24-48 {
        padding-top: 1.4rem;
        padding-bottom: 3.6rem;
    }
}

@media (max-width: 360px) {

    .section-80 {
        padding-top: 4.4rem;
        padding-bottom: 4.4rem;
    }

    .section-48 {
        padding-top: 3.2rem;
        padding-bottom: 3.2rem;
    }

    .section-32 {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .section-24-48 {
        padding-top: 1.2rem;
        padding-bottom: 3.2rem;
    }
}


/* ---------- Other ---------- */

.no-scroll {
    overflow: hidden;
}



/* -------------------------------------------------------------------------- */
/* ------------------------------ Typography -------------------------------- */

/* ---------- Heading ---------- */

/* ---------- Heading ---------- */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
    margin: 0;
    padding: 0;
}

h1 {
    font-size: 8.4rem;
    line-height: 100%;
}

h2 {
    font-size: 6rem;
    line-height: 100%;
}

h3 {
    font-size: 4.8rem;
    line-height: 100%;
}

h4 {
    font-size: 4rem;
    line-height: 100%;
}

h5 {
    font-size: 3.2rem;
    line-height: 110%;
}

h6 {
    font-size: 2.6rem;
    line-height: 110%;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    h1 {
        font-size: 7.2rem;
    }

    h2 {
        font-size: 5.4rem;
    }

    h3 {
        font-size: 4.4rem;
    }

    h4 {
        font-size: 3.6rem;
    }

    h5 {
        font-size: 3rem;
    }

    h6 {
        font-size: 2.4rem;
    }
}

@media (max-width: 991px) {
    h1 {
        font-size: 6.4rem;
    }

    h2 {
        font-size: 5rem;
    }

    h3 {
        font-size: 4rem;
    }

    h4 {
        font-size: 3.2rem;
    }

    h5 {
        font-size: 2.6rem;
    }

    h6 {
        font-size: 2.2rem;
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: 4.8rem;
        line-height: 100%;
    }

    h2 {
        font-size: 4.4rem;
        line-height: 100%;
    }

    h3 {
        font-size: 3.2rem;
        line-height: 100%;
    }

    h4 {
        font-size: 2.4rem;
        line-height: 100%;
    }

    h5 {
        font-size: 2rem;
        line-height: 110%;
    }

    h6 {
        font-size: 1.8rem;
        line-height: 110%;
    }
}

@media (max-width: 568px) {
    h1 {
        font-size: 4.4rem;
    }

    h2 {
        font-size: 4rem;
    }

    h3 {
        font-size: 3rem;
    }

    h4 {
        font-size: 2.2rem;
    }

    h5 {
        font-size: 1.9rem;
    }

    h6 {
        font-size: 1.7rem;
    }
}

@media (max-width: 480px) {
    h1 {
        font-size: 4rem;
    }

    h2 {
        font-size: 3.6rem;
    }

    h3 {
        font-size: 2.8rem;
    }

    h4 {
        font-size: 2.1rem;
    }

    h5 {
        font-size: 1.8rem;
    }

    h6 {
        font-size: 1.6rem;
    }
}

@media (max-width: 360px) {
    h1 {
        font-size: 3.6rem;
    }

    h2 {
        font-size: 3.2rem;
    }

    h3 {
        font-size: 2.6rem;
    }

    h4 {
        font-size: 2rem;
    }

    h5 {
        font-size: 1.7rem;
    }

    h6 {
        font-size: 1.5rem;
    }
}


/* ---------- Tagline ---------- */

/* Text Size */
.text-large {
    font-size: 2.6rem;
    line-height: 150%;
}

.text-medium {
    font-size: 2rem;
    line-height: 150%;
}

.text-regular {
    font-size: 1.8rem;
    line-height: 150%;
}

.text-small {
    font-size: 1.6rem;
    line-height: 150%;
}

.text-tiny {
    font-size: 1.2rem;
    line-height: 150%;
}

/* Text Weight */
.text-extra-bold {
    font-weight: 800;
}

.text-bold {
    font-weight: 700;
}

.text-semi-bold {
    font-weight: 600;
}

.text-medium-weight {
    font-weight: 500;
}

.text-normal {
    font-weight: 400;
}

.text-light {
    font-weight: 300;
}

/* Responsive */
@media (max-width: 1200px) {

    .text-large {
        font-size: 2.4rem;
    }

    .text-medium {
        font-size: 1.9rem;
    }

    .text-regular {
        font-size: 1.7rem;
    }

    .text-small {
        font-size: 1.5rem;
    }

    .text-tiny {
        font-size: 1.2rem;
    }

}

@media (max-width: 991px) {

    .text-large {
        font-size: 2.2rem;
    }

    .text-medium {
        font-size: 1.8rem;
    }

    .text-regular {
        font-size: 1.6rem;
    }

    .text-small {
        font-size: 1.4rem;
    }

    .text-tiny {
        font-size: 1.2rem;
    }

}

@media (max-width: 768px) {

    .text-large {
        font-size: 2rem;
    }

    .text-medium {
        font-size: 1.7rem;
    }

    .text-regular {
        font-size: 1.5rem;
    }

    .text-small {
        font-size: 1.4rem;
    }

    .text-tiny {
        font-size: 1.1rem;
    }

}

@media (max-width: 568px) {

    .text-large {
        font-size: 1.8rem;
    }

    .text-medium {
        font-size: 1.6rem;
    }

    .text-regular {
        font-size: 1.4rem;
    }

    .text-small {
        font-size: 1.3rem;
    }

    .text-tiny {
        font-size: 1.1rem;
    }

}

@media (max-width: 480px) {

    .text-large {
        font-size: 1.7rem;
    }

    .text-medium {
        font-size: 1.5rem;
    }

    .text-regular {
        font-size: 1.4rem;
    }

    .text-small {
        font-size: 1.2rem;
    }

    .text-tiny {
        font-size: 1rem;
    }

}

@media (max-width: 360px) {

    .text-large {
        font-size: 1.6rem;
    }

    .text-medium {
        font-size: 1.4rem;
    }

    .text-regular {
        font-size: 1.3rem;
    }

    .text-small {
        font-size: 1.2rem;
    }

    .text-tiny {
        font-size: 1rem;
    }

}



/* -------------------------------------------------------------------------- */
/* ------------------------------- Buttons ---------------------------------- */

/* Button Base */
.button {
    width: fit-content;
    min-width: max-content;
    padding: 0 2.4rem;
    border: none;
    border-radius: 0.8rem;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: pointer;
    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        opacity 0.3s ease;
}

/* Button Large */
.button-large {
    height: 4.7rem;
}

/* Button Small */
.button-small {
    height: 4.3rem;
}

/* Button Primary */
.button-primary {
    color: var(--gy-white);
    background-color: var(--gy-tulip-tree);
    border: 0.1rem solid var(--gy-tulip-tree);
}

/* Button Secondary */
.button-secondary {
    color: var(--gy-neutral-darkest);
    background-color: transparent;
    border: 0.1rem solid var(--gy-neutral-darkest-15);
}

.button-secondary:hover {
    background-color: var(--gy-neutral-darkest-05);
}
.button-shop-back:hover {
    background-color: var(--gy-tulip-tree);
    color: var(--gy-white);
    border-color: var(--gy-tulip-tree);
}

/* Button Hover */
.button:hover {
    opacity: 0.8;
}

a > img[src^="/assets/icons/arrow-right"] {
    transition: transform 0.2s ease;
}

a:hover > img[src^="/assets/icons/arrow-right"],
a:focus-visible > img[src^="/assets/icons/arrow-right"] {
    transform: translateX(0.2rem);
}

@media (prefers-reduced-motion: reduce) {
    a > img[src^="/assets/icons/arrow-right"] {
        transition: none;
    }

    a:hover > img[src^="/assets/icons/arrow-right"],
    a:focus-visible > img[src^="/assets/icons/arrow-right"] {
        transform: none;
    }
}

/* Responsive */
@media (max-width: 1200px) {

    .button {
        padding: 0 2.2rem;
    }

    .button-large {
        height: 4.7rem;
    }

    .button-small {
        height: 4.3rem;
    }

}

@media (max-width: 991px) {

    .button {
        padding: 0 2rem;
    }

    .button-large {
        height: 4.6rem;
    }

    .button-small {
        height: 4.2rem;
    }

}

@media (max-width: 768px) {

    .button {
        padding: 0 1.8rem;
    }

    .button-large {
        height: 4.6rem;
    }

    .button-small {
        height: 4.2rem;
    }

}

@media (max-width: 568px) {

    .button {
        padding: 0 1.6rem;
    }

    .button-large {
        height: 4.5rem;
    }

    .button-small {
        height: 4.1rem;
    }

}

@media (max-width: 480px) {

    .button {
        padding: 0 1.4rem;
    }

    .button-large {
        height: 4.5rem;
    }

    .button-small {
        height: 4rem;
    }

}

@media (max-width: 360px) {

    .button {
        padding: 0 1.2rem;
    }

    .button-large {
        height: 4.4rem;
    }

    .button-small {
        height: 3.9rem;
    }

}



/* -------------------------------------------------------------------------- */
/* ---------------------------- Input Components ---------------------------- */
/* -------------------------------------------------------------------------- */

/* Custom Select */
.custom_select {
    position: relative;
    width: 100%;
}

.custom_select_trigger {
    width: 100%;
    height: 4.8rem;
    padding: 0 1.2rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    color: var(--gy-neutral-darkest);
    background-color: var(--gy-neutral-darkest-05);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    cursor: pointer;
}

.custom_select_placeholder {
    color: var(--gy-neutral-darkest);
}

.custom_select_arrow {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
    transition: transform .2s ease;
}

.custom_select.active .custom_select_arrow {
    transform: rotate(180deg);
}

.custom_select_dropdown {
    position: absolute;
    top: calc(100% + .4rem);
    left: 0;
    width: 100%;
    padding: .8rem;
    border: .1rem solid var(--gy-neutral-lighter);
    border-radius: 1.2rem;
    background-color: var(--gy-white);
    box-shadow: 0 .8rem 2rem rgba(12, 9, 3, .08);
    display: none;
    flex-direction: column;
    gap: .4rem;
    z-index: 50;
}

.custom_select.active .custom_select_dropdown {
    display: flex;
}

.custom_select_option {
    width: 100%;
    padding: 1.2rem 1.4rem;
    border: 0;
    border-radius: .8rem;
    color: var(--gy-neutral-darkest);
    background-color: transparent;
    text-align: left;
    cursor: pointer;
}

.custom_select_option:hover,
.custom_select_option.active {
    background-color: var(--gy-white-light);
}


/* Custom Choice */
.custom_choice {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.custom_choice_item {
    min-width: max-content;
    height: 4.3rem;
    padding: 0 1.6rem;
    border: .1rem solid var(--gy-neutral-darkest-05);
    border-radius: .8rem;
    color: var(--gy-neutral-darkest);
    background-color: var(--gy-white-light);
    cursor: pointer;
    transition: .2s ease;
}

.custom_choice_item.active,
.custom_choice_item:hover {
    color: var(--gy-white);
    border-color: var(--gy-tulip-tree);
    background-color: var(--gy-tulip-tree);
}


/* Custom Radio */
.custom_radio {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.custom_radio_item {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    color: var(--gy-neutral-darkest);
    cursor: pointer;
}

.custom_radio_item input {
    appearance: none;
    -webkit-appearance: none;
    width: 1.8rem;
    height: 1.8rem;
    margin: 0;
    border: .2rem solid var(--gy-neutral-lighter);
    border-radius: 50%;
    background-color: var(--gy-neutral-darkest-05);
    cursor: pointer;
    flex-shrink: 0;
}

.custom_radio_item input:checked {
    border: .5rem solid var(--gy-tulip-tree);
}

.custom_radio_item span {
    color: var(--gy-neutral-darkest);
}


/* Custom Checkbox */
.custom_checkbox {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.custom_checkbox_item {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    color: var(--gy-neutral-darkest);
    cursor: pointer;
}

.custom_checkbox_item input {
    appearance: none;
    -webkit-appearance: none;
    width: 1.8rem;
    height: 1.8rem;
    margin: 0;
    border: .2rem solid var(--gy-neutral-darkest-15);
    border-radius: .3rem;
    background-color: var(--gy-neutral-darkest-05);
    cursor: pointer;
    flex-shrink: 0;
    position: relative;
}

.custom_checkbox_item input:checked {
    border-color: var(--gy-tulip-tree);
    background-color: var(--gy-tulip-tree);
}

.custom_checkbox_item input:checked::after {
    content: "";
    position: absolute;
    left: .4rem;
    top: 0.0rem;
    width: .45rem;
    height: .85rem;
    border: solid var(--gy-white);
    border-width: 0 .2rem .2rem 0;
    transform: rotate(45deg);
}

.custom_checkbox_item span {
    color: var(--gy-neutral-darkest);
}


/* Custom Range */
.custom_range {
    width: 100%;
    --range-progress: 0%;
}

.custom_range input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 2.8rem;
    margin: 0;
    padding: 0;
    background-color: transparent;
    cursor: pointer;
}

.custom_range input[type="range"]::-webkit-slider-runnable-track {
    height: .4rem;
    border-radius: 5rem;
    background: linear-gradient(to right,
            var(--gy-tulip-tree) 0%,
            var(--gy-tulip-tree) var(--range-progress),
            var(--gy-neutral-lighter) var(--range-progress),
            var(--gy-neutral-lighter) 100%);
}

.custom_range input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 2.2rem;
    height: 2.2rem;
    margin-top: -.9rem;
    border: .2rem solid var(--gy-neutral-lighter);
    border-radius: 50%;
    background-color: var(--gy-white);
    box-shadow: 0 .2rem .6rem rgba(0, 0, 0, .08);
}

.custom_range input[type="range"]::-moz-range-track {
    height: .4rem;
    border-radius: 5rem;
    background-color: var(--gy-neutral-lighter);
}

.custom_range input[type="range"]::-moz-range-progress {
    height: .4rem;
    border-radius: 5rem;
    background-color: var(--gy-tulip-tree);
}

.custom_range input[type="range"]::-moz-range-thumb {
    width: 2.2rem;
    height: 2.2rem;
    border: .2rem solid var(--gy-neutral-lighter);
    border-radius: 50%;
    background-color: var(--gy-white);
    box-shadow: 0 .2rem .6rem rgba(0, 0, 0, .08);
}

.custom_range_values {
    margin-top: .8rem;
    display: flex;
    justify-content: space-between;
    color: var(--gy-neutral-darkest);
}


/* Custom Switch */
.custom_switch {
    position: relative;
    width: 3.6rem;
    height: 2rem;
    display: block;
    cursor: pointer;
}

.custom_switch input {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
}

.custom_switch_slider {
    position: absolute;
    inset: 0;
    border-radius: 2rem;
    background-color: var(--gy-neutral-lighter);
    transition: background-color .2s ease;
}

.custom_switch_slider::before {
    content: "";
    position: absolute;
    top: .3rem;
    left: .3rem;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    background-color: var(--gy-white);
    transition: transform .2s ease;
}

.custom_switch input:checked+.custom_switch_slider {
    background-color: var(--gy-tulip-tree);
}

.custom_switch input:checked+.custom_switch_slider::before {
    transform: translateX(1.6rem);
}


/* Quantity Control */
.quantity_control {
    width: fit-content;
    height: 4.9rem;
    padding: 0 1.6rem;
    border: .1rem solid var(--gy-neutral-lighter);
    border-radius: 999rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.4rem;
}

.quantity_control button {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.quantity_control button img {
    width: 100%;
    height: 100%;
    display: block;
}

/* Responsive */
@media (max-width: 1200px) {

    .quantity_control {
        height: 4.7rem;
        gap: 2rem;
    }

}

@media (max-width: 991px) {

    .quantity_control {
        height: 4.6rem;
        padding: 0 1.4rem;
        gap: 1.8rem;
    }

    .quantity_control button {
        width: 1.8rem;
        height: 1.8rem;
    }

}

@media (max-width: 768px) {

    .custom_select_trigger {
        height: 4.6rem;
    }

    .custom_choice {
        gap: .6rem;
    }

    .custom_choice_item {
        height: 4rem;
        padding: 0 1.4rem;
    }

    .quantity_control {
        height: 4.4rem;
        padding: 0 1.4rem;
        gap: 1.6rem;
    }

    .quantity_control button {
        width: 1.8rem;
        height: 1.8rem;
    }

}

@media (max-width: 568px) {

    .custom_select_trigger {
        height: 4.4rem;
        border-radius: 1rem;
    }

    .custom_select_option {
        padding: 1rem 1.2rem;
    }

    .custom_choice {
        gap: .6rem;
    }

    .custom_choice_item {
        height: 3.8rem;
        padding: 0 1.2rem;
    }

    .custom_range input[type="range"] {
        height: 2.6rem;
    }

    .quantity_control {
        height: 4.2rem;
        padding: 0 1.2rem;
        gap: 1.4rem;
    }

    .quantity_control button {
        width: 1.7rem;
        height: 1.7rem;
    }

}

@media (max-width: 480px) {

    .custom_select_trigger {
        height: 4.2rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .custom_select_option {
        padding: .9rem 1rem;
    }

    .custom_choice {
        gap: .5rem;
    }

    .custom_choice_item {
        height: 3.6rem;
        padding: 0 1rem;
    }

    .quantity_control {
        height: 4rem;
        padding: 0 1rem;
        gap: 1.2rem;
    }

    .quantity_control button {
        width: 1.6rem;
        height: 1.6rem;
    }

}

@media (max-width: 360px) {

    .custom_select_trigger {
        height: 4rem;
    }

    .custom_choice_item {
        padding-left: .8rem;
        padding-right: .8rem;
    }

    .quantity_control {
        height: 3.8rem;
        padding: 0 .8rem;
        gap: .9rem;
    }

    .quantity_control button {
        width: 1.5rem;
        height: 1.5rem;
    }

}



/* -------------------------------------------------------------------------- */
/* ----------------------------- Custom Scrollbar --------------------------- */
/* -------------------------------------------------------------------------- */

.header .header_mobile_menu,
.header .header_cart_panel,
.product_categories_filter_panel {
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--gy-tulip-tree) transparent;
}

.header .header_mobile_menu::-webkit-scrollbar,
.header .header_cart_panel::-webkit-scrollbar,
.product_categories_filter_panel::-webkit-scrollbar {
    width: .6rem;
}

.header .header_mobile_menu::-webkit-scrollbar-track,
.header .header_cart_panel::-webkit-scrollbar-track,
.product_categories_filter_panel::-webkit-scrollbar-track {
    background: transparent;
}

.header .header_mobile_menu::-webkit-scrollbar-thumb,
.header .header_cart_panel::-webkit-scrollbar-thumb,
.product_categories_filter_panel::-webkit-scrollbar-thumb {
    background-color: var(--gy-tulip-tree);
    border-radius: 999rem;
}

.header .header_mobile_menu::-webkit-scrollbar-thumb:hover,
.header .header_cart_panel::-webkit-scrollbar-thumb:hover,
.product_categories_filter_panel::-webkit-scrollbar-thumb:hover {
    background-color: var(--gy-tulip-tree);
}










/* -------------------------------------------------------------------------- */
/* --------------------------------- Header --------------------------------- */
/* -------------------------------------------------------------------------- */

.header {
    position: relative;
    z-index: 1000;
    background-color: var(--gy-white);
}

.header .header_sticky_links {
    display: none;
}

.header.is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    max-width: none;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
    transition: none;
}

.header.is-sticky.is-sticky-ready {
    transition: opacity .18s ease, visibility .18s;
}

.header.is-sticky.is-sticky-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

@media (max-width: 991px) {
    .header.is-sticky .header_search {
        max-height: calc(100vh - 8rem);
        max-height: calc(100dvh - 8rem);
        overflow-y: auto;
    }
}

@media (min-width: 992px) {
    html {
        scroll-padding-top: 7.2rem;
    }

    .header.is-sticky {
        padding-inline: max(2.4rem, calc((100% - 128rem) / 2));
    }

    .header.is-sticky .header_navbar {
        height: 5.6rem;
        gap: 2rem;
    }

    .header.is-sticky .header_logo {
        position: static;
        width: 12.8rem;
        flex-shrink: 0;
        transform: none;
    }

    .header.is-sticky .header_sticky_links:not([hidden]) {
        display: flex;
        align-items: center;
        flex: 1;
        min-width: 0;
        gap: 1.6rem;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .header.is-sticky .header_sticky_links a {
        flex-shrink: 0;
        padding-block: 1.2rem;
        color: var(--gy-neutral-darkest);
        font-size: 1.35rem;
        line-height: 1.4;
        text-decoration: none;
        white-space: nowrap;
    }

    .header.is-sticky .header_sticky_links a:hover {
        color: var(--gy-neutral-dark);
        text-decoration: underline;
        text-decoration-color: var(--gy-tulip-tree);
        text-underline-offset: .4rem;
    }

    .header.is-sticky .header_sticky_links a[aria-current="page"] {
        font-weight: 600;
        text-decoration: underline;
        text-decoration-color: var(--gy-tulip-tree);
        text-underline-offset: .4rem;
    }

    .header.is-sticky .header_sticky_links a:focus-visible {
        outline: .2rem solid var(--gy-tulip-tree);
        outline-offset: -.2rem;
    }

    .header.is-sticky .header_actions {
        gap: 1.8rem;
    }

    .header.is-sticky .header_action,
    .header.is-sticky .header_hamburger {
        width: 2rem;
        height: 2rem;
    }

    .header.is-sticky .header_action img,
    .header.is-sticky .header_hamburger img {
        width: 100%;
        height: 100%;
    }

    .header.is-sticky .header_search {
        max-height: calc(100vh - 5.6rem);
        max-height: calc(100dvh - 5.6rem);
        overflow-y: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .header.is-sticky.is-sticky-ready {
        transition: none;
    }
}

/* ---------- Header Navbar ---------- */

.header .header_navbar {
    width: 100%;
    height: 9.6rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

/* Hamburger */
.header .header_hamburger {
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: none;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    flex-shrink: 0;
}

.header .header_hamburger img {
    display: block;
}

/* Header Logo */
.header .header_logo {
    width: 21.8rem;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.header .header_logo img {
    width: 100%;
    height: auto;
    display: block;
}

/* Header Actions */
.header .header_actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 3.2rem;
}

.header .header_action {
    width: 2.4rem;
    height: 2.4rem;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.header .header_action img {
    display: block;
}

.header .header_search_toggle {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.header .header_search[hidden],
.header .header_search_all[hidden] {
    display: none;
}

.header .header_search {
    padding: 1.6rem 0 2rem;
    border-top: .1rem solid var(--gy-neutral-lighter);
}

.header .header_search_form {
    display: flex;
    gap: 1rem;
    max-width: 84rem;
    margin: 0 auto;
}

.header .header_search_input {
    flex: 1;
    min-width: 0;
    height: 4.8rem;
    padding: 0 1.6rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: .8rem;
    color: var(--gy-neutral-darkest);
    background: var(--gy-white);
    font: inherit;
    font-size: 1.6rem;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.header .header_search_input:focus-visible {
    outline: none;
    border-color: var(--gy-tulip-tree);
    box-shadow: 0 0 0 .3rem rgba(231, 167, 65, .14);
}

.header .header_search_form .button {
    height: 4.8rem;
    min-width: 10.8rem;
    padding: 0 1.6rem;
    font-size: 1.6rem;
}

.header .header_search_results {
    display: grid;
    gap: 1.2rem;
    max-height: 42rem;
    max-width: 84rem;
    margin: 1.6rem auto 0;
    overflow-y: auto;
}

.header .header_search_results:empty {
    display: none;
}

.header .header_search_results.product_categories_section .category_product {
    flex-direction: row;
    align-items: center;
    gap: 1.6rem;
}

.header .header_search_results.product_categories_section .category_product_image {
    width: 7.2rem;
    height: 7.2rem;
    flex: 0 0 7.2rem;
    border-radius: .8rem;
}

.header .header_search_results.product_categories_section .category_product_badge,
.header .header_search_results.product_categories_section .category_product_wishlist,
.header .header_search_results.product_categories_section .category_product_bottom .button {
    display: none;
}

.header .header_search_results.product_categories_section .category_product_content {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    min-width: 0;
    padding: 0;
}

.header .header_search_results.product_categories_section .category_product_info {
    min-height: 0;
    min-width: 0;
}

.header .header_search_results.product_categories_section .category_product_info p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.header .header_search_results.product_categories_section .category_product_bottom {
    margin: 0;
    padding: 0;
}

.header .header_search_results.product_categories_section .category_product_price .category_product_base_price {
    display: none;
}

.header .header_search_all {
    display: block;
    max-width: 84rem;
    margin: 1.6rem auto 0;
    color: var(--gy-neutral-darkest);
    text-decoration: underline;
}

@media (max-width: 568px) {
    .header .header_search_form .button {
        min-width: 8.4rem;
        padding: 0 1rem;
        font-size: 1.4rem;
    }

    .header .header_search_results.product_categories_section .category_product_info p:not(:first-child),
    .header .header_search_results.product_categories_section .category_product_bottom {
        display: none;
    }
}

.header .header_cart_count:not([hidden]) {
    position: absolute;
    top: -1rem;
    right: -1.2rem;
    min-width: 1.8rem;
    height: 1.8rem;
    padding: 0 .3rem;
    border-radius: 999rem;
    background: var(--gy-tulip-tree);
    color: var(--gy-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
}


/* ---------- Overlay ---------- */

.header .header_overlay {
    position: fixed;
    inset: 0;
    background-color: var(--gy-overlay);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 1001;
}

.header .header_overlay.active {
    opacity: 1;
    pointer-events: auto;
}


/* ---------- Mobile Menu ---------- */

.header .header_mobile_menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 48rem;
    height: 100vh;
    padding: 9.7rem 7.7rem 4.8rem;
    background-color: var(--gy-white);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    transform: translateX(-100%);
    transition: transform 0.4s ease;
    z-index: 1002;
    border-right: 0.1rem solid var(--gy-tulip-tree);
}

.header .header_mobile_menu.active {
    transform: translateX(0);
}

/* Close Button */
.header .mobile_menu_close_btn {
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: none;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.header .mobile_menu_close_btn img {
    display: block;
}

/* Menu Navigation */
.header .mobile_menu_nav {
    margin-top: 9.7rem;
    margin-bottom: 9.7rem;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

.header .mobile_menu_link {
    width: fit-content;
    color: var(--gy-neutral-darkest);
    text-transform: uppercase;
    transition: opacity 0.3s ease;
}

.header .mobile_menu_link:hover {
    opacity: 0.55;
}

.header .mobile_menu_link_multiline {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

/* Social Links */
.header .mobile_menu_social {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.header .mobile_menu_social a {
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header .mobile_menu_social img {
    display: block;
}


/* ---------- Cart Panel ---------- */

.header .header_cart_panel {
    position: fixed;
    top: 0;
    right: 0;
    width: 72rem;
    max-width: 100%;
    height: 100vh;
    background-color: var(--gy-white);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    transform: translateX(100%);
    transition: transform 0.4s ease;
    z-index: 1002;
    border-left: 0.1rem solid var(--gy-tulip-tree);
}

.header .header_cart_panel.active {
    transform: translateX(0);
}

/* Cart Header */
.header .cart_panel_header {
    width: 100%;
    min-height: 12.1rem;
    padding: 0 4rem;
    gap: 6.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 0.1rem solid var(--gy-neutral-lighter);
}

.header .cart_panel_close_btn {
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: none;
    background: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    flex-shrink: 0;
}

.header .cart_panel_close_btn img {
    display: block;
}

/* Cart Items */
.header .cart_panel_items {
    width: 100%;
}

.header .cart_panel_message {
    padding: 2.4rem 4rem;
}

.header .cart_item_info a {
    color: inherit;
}

.header .cart_panel_item {
    width: 100%;
    padding: 4rem;
    display: flex;
    align-items: flex-start;
    gap: 2.4rem;
    border-bottom: 0.1rem solid var(--gy-neutral-lighter);
}

.header .cart_item_image {
    width: 13.1rem;
    height: 13.1rem;
    background-color: var(--gy-white-light);
    border-radius: 1rem;
    overflow: hidden;
    flex-shrink: 0;
}

.header .cart_item_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.header .cart_item_details {
    min-width: 0;
    flex: 1;
    min-height: 13.1rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2.4rem;
}

.header .cart_item_info {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.header .cart_item_actions {
    display: flex;
    align-items: center;
    gap: 3.2rem;
}

.header .cart_item_remove {
    padding: 0;
    border: none;
    background: transparent;
    color: var(--gy-neutral-darkest);
    cursor: pointer;
}

.header .cart_item_price {
    margin-left: auto;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Cart Footer */
.header .cart_panel_footer {
    width: 100%;
    padding: 4rem;
    border-top: 0.1rem solid var(--gy-neutral-lighter);
    margin-top: auto;
}

.header .cart_summary {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.header .cart_summary_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header .cart_summary_total {
    padding-top: 1.6rem;
    border-top: 0.1rem solid var(--gy-neutral-lighter);
}

.header .cart_panel_buttons {
    margin-top: 1.6rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.header .cart_panel_buttons .button {
    flex: 1;
}


/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {

    /* ---------- Header Navbar ---------- */

    .header .header_navbar {
        height: 9.2rem;
    }

    .header .header_logo {
        width: 20rem;
    }

    .header .header_actions {
        gap: 2.8rem;
    }


    /* ---------- Mobile Menu ---------- */

    .header .header_mobile_menu {
        width: 44rem;
        padding: 8rem 6.4rem 4.8rem;
    }

    .header .mobile_menu_nav {
        margin-top: 8rem;
        margin-bottom: 8rem;
        gap: 3rem;
    }


    /* ---------- Cart Panel ---------- */

    .header .header_cart_panel {
        width: 64rem;
    }

    .header .cart_panel_header {
        min-height: 10.8rem;
        padding: 0 3.6rem;
    }

    .header .cart_panel_item {
        padding: 3.6rem;
        gap: 2.2rem;
    }

    .header .cart_item_image {
        width: 12rem;
        height: 12rem;
    }

    .header .cart_item_details {
        min-height: 12rem;
    }

    .header .cart_item_actions {
        gap: 2.8rem;
    }

    .header .cart_panel_footer {
        padding: 3.6rem;
    }

}

@media (max-width: 991px) {

    /* ---------- Header Navbar ---------- */

    .header .header_navbar {
        height: 8.8rem;
    }

    .header .header_logo {
        width: 18.5rem;
    }

    .header .header_actions {
        gap: 2.4rem;
    }

    .header .header_action {
        width: 2.1rem;
        height: 2.1rem;
    }


    /* ---------- Mobile Menu ---------- */

    .header .header_mobile_menu {
        width: 40rem;
        padding: 7.2rem 5.6rem 4rem;
    }

    .header .mobile_menu_nav {
        margin-top: 7.2rem;
        margin-bottom: 7.2rem;
        gap: 2.8rem;
    }

    .header .mobile_menu_social a {
        width: 2.1rem;
        height: 2.1rem;
    }


    /* ---------- Cart Panel ---------- */

    .header .header_cart_panel {
        width: 56rem;
    }

    .header .cart_panel_header {
        min-height: 9.6rem;
        padding: 0 3.2rem;
    }

    .header .cart_panel_item {
        padding: 3.2rem;
        gap: 2rem;
    }

    .header .cart_item_image {
        width: 11rem;
        height: 11rem;
    }

    .header .cart_item_details {
        min-height: 11rem;
    }

    .header .cart_item_actions {
        gap: 2.4rem;
    }

    .header .cart_panel_footer {
        padding: 3.2rem;
    }

    .header .cart_panel_buttons {
        gap: 1.2rem;
    }

}

@media (max-width: 768px) {

    /* ---------- Header Navbar ---------- */

    .header .header_navbar {
        height: 8rem;
    }

    .header .header_hamburger {
        width: 1.75rem;
        height: auto;
    }

    .header .header_logo {
        width: 17rem;
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        margin-left: 2.4rem;
    }

    .header .header_actions {
        margin-left: auto;
        gap: 1.8rem;
        position: relative;
        right: 6px;
    }

    .header .header_action {
        width: 2rem;
        height: 2rem;
    }


    /* ---------- Mobile Menu ---------- */

    .header .header_mobile_menu {
        width: 36rem;
        padding: 6.4rem 4.8rem 3.2rem;
    }

    .header .mobile_menu_nav {
        margin-top: 6.4rem;
        margin-bottom: 6.4rem;
        gap: 2.4rem;
    }

    .header .mobile_menu_social a {
        width: 2rem;
        height: 2rem;
    }


    /* ---------- Cart Panel ---------- */

    .header .header_cart_panel {
        width: 48rem;
    }

    .header .cart_panel_header {
        min-height: 8rem;
        padding: 0 2.4rem;
    }

    .header .cart_panel_item {
        padding: 2.4rem;
        gap: 1.8rem;
    }

    .header .cart_item_image {
        width: 10rem;
        height: 10rem;
        border-radius: 0.8rem;
    }

    .header .cart_item_details {
        min-height: 10rem;
        gap: 1.8rem;
    }

    .header .cart_item_actions {
        gap: 2rem;
    }

    .header .cart_panel_footer {
        padding: 2.4rem;
    }

    .header .cart_summary {
        gap: 1.4rem;
    }

    .header .cart_panel_buttons {
        margin-top: 1.4rem;
        gap: 1.2rem;
    }

}

@media (max-width: 568px) {

    /* ---------- Header Navbar ---------- */

    .header .header_navbar {
        height: 7.2rem;
    }

    .header .header_hamburger {
        width: 1.7rem;
        height: auto;
    }

    .header .header_logo {
        width: 15rem;
    }

    .header .header_action {
        width: 1.8rem;
        height: 1.8rem;
    }


    /* ---------- Mobile Menu ---------- */

    .header .header_mobile_menu {
        width: 100%;
        padding: 5.6rem 3.6rem 2.8rem;
    }

    .header .mobile_menu_nav {
        margin-top: 5.6rem;
        margin-bottom: 5.6rem;
        gap: 2rem;
    }

    .header .mobile_menu_social a {
        width: 1.8rem;
        height: 1.8rem;
    }


    /* ---------- Cart Panel ---------- */

    .header .header_cart_panel {
        width: 100%;
    }

    .header .cart_panel_header {
        min-height: 7.2rem;
        padding: 0 2.4rem;
    }

    .header .cart_panel_item {
        padding: 2.4rem;
        gap: 1.6rem;
    }

    .header .cart_item_image {
        width: 9.6rem;
        height: 9.6rem;
    }

    .header .cart_item_details {
        min-height: 9.6rem;
        gap: 1.6rem;
    }

    .header .cart_item_actions {
        gap: 1.6rem;
    }

    .header .cart_panel_footer {
        padding: 2.4rem;
    }

    .header .cart_summary {
        gap: 1.2rem;
    }

    .header .cart_summary_total {
        padding-top: 1.4rem;
    }

    .header .cart_panel_buttons {
        margin-top: 1.2rem;
        gap: 1rem;
    }

}

@media (max-width: 480px) {

    /* ---------- Header Navbar ---------- */

    .header .header_navbar {
        height: 6.8rem;
    }

    .header .header_hamburger {
        width: 1.6rem;
        height: auto;
    }

    .header .header_logo {
        width: 13.5rem;
    }

    .header .header_action {
        width: 1.7rem;
        height: 1.7rem;
    }


    /* ---------- Mobile Menu ---------- */

    .header .header_mobile_menu {
        width: 100%;
        padding: 4.8rem 3rem 2.4rem;
    }

    .header .mobile_menu_nav {
        margin-top: 4.8rem;
        margin-bottom: 4.8rem;
    }

    .header .mobile_menu_social a {
        width: 1.7rem;
        height: 1.7rem;
    }


    /* ---------- Cart Panel ---------- */

    .header .header_cart_panel {
        width: 100%;
    }

    .header .cart_panel_header {
        min-height: 6.8rem;
        padding: 0 1.6rem;
    }

    .header .cart_panel_item {
        padding: 2rem 1.6rem;
        gap: 1.2rem;
    }

    .header .cart_item_image {
        width: 8rem;
        height: 8rem;
        border-radius: 0.8rem;
    }

    .header .cart_item_details {
        min-height: 8rem;
        gap: 1.2rem;
    }

    .header .cart_item_actions {
        gap: 1.2rem;
    }

    .header .cart_panel_footer {
        padding: 2rem 1.6rem;
    }

    .header .cart_summary {
        gap: 1rem;
    }

    .header .cart_summary_total {
        padding-top: 1.2rem;
    }

    .header .cart_panel_buttons {
        margin-top: 1rem;
        gap: 0.8rem;
    }

}

@media (max-width: 360px) {

    /* ---------- Header Navbar ---------- */

    .header .header_navbar {
        height: 6.4rem;
    }

    .header .header_logo {
        width: 12rem;
        margin-left: 2rem;
        margin-right: 2rem;
    }

    .header .header_action {
        width: 1.6rem;
        height: 1.6rem;
    }


    /* ---------- Mobile Menu ---------- */

    .header .header_mobile_menu {
        width: 100%;
        padding: 4.4rem 2.4rem 2.2rem;
    }

    .header .mobile_menu_nav {
        margin-top: 4.4rem;
        margin-bottom: 4.4rem;
    }


    /* ---------- Cart Panel ---------- */

    .header .header_cart_panel {
        width: 100%;
    }

    .header .cart_panel_header {
        min-height: 6.4rem;
        padding: 0 1.2rem;
    }

    .header .cart_panel_item {
        padding: 1.6rem 1.2rem;
        gap: 1rem;
    }

    .header .cart_item_image {
        width: 7.2rem;
        height: 7.2rem;
    }

    .header .cart_item_details {
        min-height: 7.2rem;
        gap: 1rem;
    }

    .header .cart_item_actions {
        gap: 0.8rem;
    }

    .header .cart_panel_footer {
        padding: 1.6rem 1.2rem;
    }

    .header .cart_summary {
        gap: 0.8rem;
    }

    .header .cart_summary_total {
        padding-top: 1rem;
    }

    .header .cart_panel_buttons {
        margin-top: 0.8rem;
        gap: 0.6rem;
    }

}










/* Keep the mobile cart actions visible while the products scroll. */
@media (max-width: 768px) {
    .header .header_cart_panel {
        height: 100vh;
        height: 100dvh;
        overflow: hidden;
    }

    .header .cart_panel_header {
        flex: 0 0 auto;
        min-height: 6.4rem;
        padding: 1.2rem 1.6rem;
        gap: 1.6rem;
    }

    .header .cart_panel_title h4 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .header .cart_panel_items {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior-y: contain;
    }

    .header .cart_panel_item {
        padding: 1.6rem;
        gap: 1.2rem;
    }

    .header .cart_item_image {
        width: 6.4rem;
        height: 6.4rem;
    }

    .header .cart_item_details {
        min-height: 6.4rem;
        gap: .8rem;
        overflow-wrap: anywhere;
    }

    .header .cart_item_info > p:first-child,
    .header .cart_item_remove {
        font-size: 1.4rem;
        line-height: 1.4;
    }

    .header .cart_item_price {
        font-size: 1.8rem;
        line-height: 1.3;
    }

    .header .cart_item_actions {
        flex-wrap: wrap;
        gap: .8rem;
    }

    .header .cart_panel_footer {
        flex: 0 0 auto;
        margin-top: 0;
        padding: 1.2rem 1.6rem calc(1.2rem + env(safe-area-inset-bottom, 0px));
    }

    .header .cart_summary_total {
        padding-top: 0;
        border-top: 0;
    }

    .header .cart_panel_buttons {
        margin-top: 1.2rem;
        gap: .8rem;
    }

    .header .cart_panel_buttons .button {
        min-width: 0;
        min-height: 4.4rem;
        height: auto;
        padding: .8rem 1.2rem;
        font-size: 1.4rem;
        line-height: 1.4;
    }
}

/* -------------------------------------------------------------------------- */
/* --------------------------------- Footer --------------------------------- */
/* -------------------------------------------------------------------------- */

.footer {
    width: 100%;
    background-color: var(--gy-white);
}

.footer .footer_main {
    padding-top: 4.8rem;
    padding-bottom: 4.8rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}


/* ---------- Footer Top ---------- */

.footer .footer_main .footer_top {
    padding-bottom: 8rem;
    display: flex;
    justify-content: space-between;
}

/* Footer Information */
.footer .footer_info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.2rem;
}

.footer .footer_logo {
    width: 21.8rem;
    display: block;
}

.footer .footer_logo img {
    width: 100%;
    height: auto;
    display: block;
}

/* Footer Address */
.footer .footer_address {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    color: var(--gy-neutral-darkest);
}

/* Footer Contact */
.footer .footer_contact {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    color: var(--gy-neutral-darkest);
}

.footer .footer_contact a {
    color: var(--gy-neutral-darkest);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}

/* Footer Social Links */
.footer .footer_social {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.footer .footer_social a {
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer .footer_social img {
    width: 100%;
    height: 100%;
    display: block;
}

/* Footer Navigation */
.footer .footer_navigation {
    display: flex;
    gap: 2.4rem;
}

.footer .footer_nav {
    width: 100%;
    min-width: 18.8rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
    padding: 0.8rem 0;
}

.footer .footer_nav a {
    color: var(--gy-neutral-darkest);
    transition: color 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .footer .footer_nav a:hover,
    .footer .footer_nav a:focus-visible {
        color: var(--gy-neutral-dark);
    }
}


/* ---------- Footer Bottom ---------- */

.footer .footer_bottom {
    border-top: 0.1rem solid var(--gy-neutral-lighter);
    padding-top: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--gy-neutral-dark);
}

.footer .footer_bottom_links {
    display: flex;
    align-items: center;
    gap: 2.4rem;
}

.footer .footer_bottom a {
    color: var(--gy-neutral-dark);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {

    /* ---------- Footer ---------- */

    .footer .footer_main {
        padding-top: 4.4rem;
        padding-bottom: 4.4rem;
    }

    .footer .footer_main .footer_top {
        padding-bottom: 7rem;
    }

    .footer .footer_logo {
        width: 20rem;
    }

    .footer .footer_navigation {
        gap: 2rem;
    }

    .footer .footer_nav {
        min-width: 16rem;
    }

    .footer .footer_bottom_links {
        gap: 2rem;
    }

}


@media (max-width: 991px) {

    /* ---------- Footer ---------- */

    .footer .footer_main {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .footer .footer_main .footer_top {
        padding-bottom: 6rem;
    }

    .footer .footer_logo {
        width: 18.5rem;
    }

    .footer .footer_nav {
        min-width: 14rem;
    }

    .footer .footer_bottom_links {
        gap: 1.6rem;
    }

}


@media (max-width: 768px) {

    /* ---------- Footer ---------- */

    .footer .footer_main {
        padding-top: 3.6rem;
        padding-bottom: 3.6rem;
    }

    /* ---------- Footer Top ---------- */

    .footer .footer_main .footer_top {
        padding-bottom: 5.6rem;
        flex-direction: column;
        gap: 5.6rem;
    }

    /* ---------- Footer Information ---------- */

    .footer .footer_info {
        gap: 2.8rem;
    }

    .footer .footer_logo {
        width: 17rem;
    }

    /* ---------- Footer Navigation ---------- */

    .footer .footer_navigation {
        width: 100%;
        gap: 2rem;
    }

    .footer .footer_nav {
        min-width: 0;
        flex: 1;
    }

    /* ---------- Footer Bottom ---------- */

    .footer .footer_bottom {
        padding-top: 2.8rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 2rem;
    }

    .footer .footer_bottom_links {
        gap: 1.6rem;
    }

}

/* Center Aligned */
/* @media (max-width: 768px) {



    .footer .footer_main {
        padding-top: 3.6rem;
        padding-bottom: 3.6rem;
    }



    .footer .footer_main .footer_top {
        padding-bottom: 5.6rem;
        flex-direction: column;
        align-items: center;
        gap: 5.6rem;
        text-align: center;
    }



    .footer .footer_info {
        align-items: center;
        gap: 2.8rem;
    }

    .footer .footer_logo {
        width: 17rem;
    }



    .footer .footer_navigation {
        width: 100%;
        justify-content: center;
        gap: 2rem;
    }

    .footer .footer_nav {
        min-width: 0;
        flex: 1;
        align-items: center;
    }



    .footer .footer_bottom {
        padding-top: 2.8rem;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 2rem;
    }

    .footer .footer_bottom_links {
        justify-content: center;
        gap: 1.6rem;
        flex-wrap: wrap;
    }

} */


@media (max-width: 568px) {

    /* ---------- Footer ---------- */

    .footer .footer_main {
        padding-top: 3.2rem;
        padding-bottom: 3.2rem;
    }

    /* ---------- Footer Top ---------- */

    .footer .footer_main .footer_top {
        padding-bottom: 4.8rem;
        gap: 4.8rem;
    }

    /* ---------- Footer Information ---------- */

    .footer .footer_info {
        gap: 2.4rem;
    }

    .footer .footer_logo {
        width: 15rem;
    }

    /* ---------- Footer Navigation ---------- */

    .footer .footer_navigation {
        gap: 1.6rem;
    }

    .footer .footer_nav {
        gap: 1.2rem;
        padding: 0.6rem 0;
    }

    /* ---------- Footer Bottom ---------- */

    .footer .footer_bottom {
        padding-top: 2.4rem;
        gap: 1.6rem;
    }

    .footer .footer_bottom_links {
        gap: 1.2rem;
        flex-wrap: wrap;
    }

}


@media (max-width: 480px) {

    /* ---------- Footer ---------- */

    .footer .footer_main {
        padding-top: 2.8rem;
        padding-bottom: 2.8rem;
    }

    /* ---------- Footer Top ---------- */

    .footer .footer_main .footer_top {
        padding-bottom: 4rem;
        gap: 4rem;
    }

    /* ---------- Footer Information ---------- */

    .footer .footer_info {
        gap: 2.2rem;
    }

    .footer .footer_logo {
        width: 13.5rem;
    }

    /* ---------- Footer Navigation ---------- */

    .footer .footer_navigation {
        gap: 1.2rem;
    }

    .footer .footer_nav {
        gap: 1rem;
        padding: 0.5rem 0;
    }

    /* ---------- Footer Bottom ---------- */

    .footer .footer_bottom {
        padding-top: 2rem;
        gap: 1.4rem;
    }

    .footer .footer_bottom_links {
        gap: 1rem;
    }

}


@media (max-width: 360px) {

    /* ---------- Footer ---------- */

    .footer .footer_main {
        padding-top: 2.4rem;
        padding-bottom: 2.4rem;
    }

    /* ---------- Footer Top ---------- */

    .footer .footer_main .footer_top {
        padding-bottom: 3.6rem;
        gap: 3.6rem;
    }

    /* ---------- Footer Information ---------- */

    .footer .footer_info {
        gap: 2rem;
    }

    .footer .footer_logo {
        width: 12rem;
    }

    /* ---------- Footer Navigation ---------- */

    .footer .footer_navigation {
        gap: 1rem;
    }

    .footer .footer_nav {
        gap: 0.8rem;
        padding: 0.4rem 0;
    }

    /* ---------- Footer Bottom ---------- */

    .footer .footer_bottom {
        padding-top: 1.8rem;
        gap: 1.2rem;
    }

    .footer .footer_bottom_links {
        gap: 0.8rem;
    }

}










/* -------------------------------------------------------------------------- */
/* --------------------------- Shipping Banner ------------------------------ */
/* -------------------------------------------------------------------------- */

.shipping_banner {
    width: 100%;
    background-color: var(--gy-tulip-tree-lighter-2);
    display: flex;
    justify-content: center;
    align-items: center;
}

.shipping_banner_dismissed .shipping_banner {
    display: none;
}

.shipping_banner_wrapper {
    width: 100%;
    height: 4.8rem;
    background-color: var(--gy-tulip-tree-lighter-2);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.shipping_banner p {
    margin: 0;
    color: var(--gy-neutral-darkest);
    text-align: center;
}

.shipping_banner_close {
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 0;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    right: 8rem;
    transform: translateY(-50%);
    cursor: pointer;
}

.shipping_banner_close img {
    width: 100%;
    height: 100%;
    display: block;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .shipping_banner_close {
        right: 6rem;
    }
}

@media (max-width: 991px) {
    .shipping_banner_close {
        right: 4rem;
    }
}

@media (max-width: 768px) {
    .shipping_banner {
        height: 6.4rem;
    }

    .shipping_banner_close {
        right: 3.2rem;
    }

}

@media (max-width: 568px) {
    .shipping_banner {
        height: 5.6rem;
    }

    .shipping_banner_close {
        right: 2.4rem;
    }
}

@media (max-width: 480px) {
    .shipping_banner {
        height: 5.2rem;
    }

    .shipping_banner_close {
        right: 1.6rem;
    }
}

@media (max-width: 360px) {
    .shipping_banner {
        height: 5rem;
    }

    .shipping_banner_close {
        right: 1.2rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ------------------------- Product Types Section -------------------------- */
/* -------------------------------------------------------------------------- */

.product_types_section {
    width: 100%;
    background-color: var(--gy-white);
}

/* ---------- Slider ---------- */

.product_types_section .product_types_container {
    position: relative;
}

.product_types_section .product_types_slider {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.product_types_section .product_types_wrapper {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 1.3rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
}

.product_types_section .product_types_wrapper::-webkit-scrollbar {
    display: none;
}

.product_types_section .product_type {
    width: 15.2rem;
    min-width: 15.2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
    color: var(--gy-neutral-darkest);
    text-align: center;
}

/* ---------- Type Image ---------- */

.product_types_section .product_type_image {
    width: 14.8rem;
    height: 11.1rem;
    border-radius: 0.8rem;
    overflow: hidden;
}

.product_types_section .product_type_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

@media (hover: hover) and (pointer: fine) {
    .product_types_section .product_type p {
        text-decoration: underline;
        text-decoration-color: transparent;
        text-decoration-thickness: .15rem;
        text-underline-offset: .4rem;
        transition: color .2s ease, text-decoration-color .2s ease;
    }

    .product_types_section .product_type:hover p,
    .product_types_section .product_type:focus-visible p {
        color: var(--gy-neutral-dark);
        text-decoration-color: var(--gy-tulip-tree);
    }
}

/* ---------- Slider Blur ---------- */

.product_types_section .product_types_blur {
    position: absolute;
    top: 0;
    width: 10rem;
    height: 100%;
    pointer-events: none;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.product_types_section .product_types_blur_left {
    left: 0;
    background: linear-gradient(to right,
            rgba(255, 255, 255, 1) 0%,
            rgba(255, 255, 255, 0.80) 20%,
            rgba(255, 255, 255, 0.60) 40%,
            rgba(255, 255, 255, 0.40) 60%,
            rgba(255, 255, 255, 0.20) 80%,
            rgba(255, 255, 255, 0) 100%);
}

.product_types_section .product_types_blur_right {
    right: 0;
    background: linear-gradient(to left,
            rgba(255, 255, 255, 1) 0%,
            rgba(255, 255, 255, 0.80) 20%,
            rgba(255, 255, 255, 0.60) 40%,
            rgba(255, 255, 255, 0.40) 60%,
            rgba(255, 255, 255, 0.20) 80%,
            rgba(255, 255, 255, 0) 100%);
}

.product_types_section .product_types_blur.active {
    opacity: 1;
}

/* ---------- Slider Navigation ---------- */

.product_types_section .product_types_previous,
.product_types_section .product_types_next {
    position: absolute;
    top: 4rem;
    width: 3.4rem;
    height: 3.4rem;
    padding: 0;
    border: 0.1rem solid var(--gy-neutral-darkest-15);
    border-radius: 0.6rem;
    background-color: var(--gy-white);
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 3;
}

.product_types_section .product_types_previous {
    left: 0;
}

.product_types_section .product_types_next {
    right: 0;
}

.product_types_section .product_types_previous img,
.product_types_section .product_types_next img {
    width: 2rem;
    height: 2rem;
    display: block;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {

    .product_types_section .product_types_wrapper {
        gap: 1.2rem;
    }

    .product_types_section .product_type {
        width: 14.4rem;
        min-width: 14.4rem;
    }

    .product_types_section .product_type_image {
        width: 14.4rem;
        height: 10.8rem;
    }

    .product_types_section .product_types_blur {
        width: 8rem;
    }

    .product_types_section .product_types_previous,
    .product_types_section .product_types_next {
        width: 3.2rem;
        height: 3.2rem;
        top: 3.8rem;
    }

    .product_types_section .product_types_previous img,
    .product_types_section .product_types_next img {
        width: 1.8rem;
        height: 1.8rem;
    }
}

@media (max-width: 991px) {

    .product_types_section .product_types_wrapper {
        gap: 1.2rem;
    }

    .product_types_section .product_type {
        width: 13.6rem;
        min-width: 13.6rem;
    }

    .product_types_section .product_type_image {
        width: 13.6rem;
        height: 10.2rem;
    }

    .product_types_section .product_types_blur {
        width: 7rem;
    }

    .product_types_section .product_types_previous,
    .product_types_section .product_types_next {
        width: 3.2rem;
        height: 3.2rem;
        top: 3.5rem;
    }

    .product_types_section .product_types_previous img,
    .product_types_section .product_types_next img {
        width: 1.6rem;
        height: 1.6rem;
    }
}

@media (max-width: 768px) {

    .product_types_section .product_types_wrapper {
        gap: 1rem;
    }

    .product_types_section .product_type {
        width: 12.8rem;
        min-width: 12.8rem;
    }

    .product_types_section .product_type_image {
        width: 12.8rem;
        height: 9.6rem;
    }

    .product_types_section .product_types_blur {
        width: 6rem;
    }

    .product_types_section .product_types_previous,
    .product_types_section .product_types_next {
        width: 3rem;
        height: 3rem;
        top: 3.3rem;
        border-radius: 0.7rem;
    }

    .product_types_section .product_types_previous img,
    .product_types_section .product_types_next img {
        width: 1.5rem;
        height: 1.5rem;
    }
}

@media (max-width: 568px) {

    .product_types_section .product_types_wrapper {
        gap: 1rem;
    }

    .product_types_section .product_type {
        width: 12rem;
        min-width: 12rem;
    }

    .product_types_section .product_type_image {
        width: 12rem;
        height: 9rem;
        border-radius: 0.7rem;
    }

    .product_types_section .product_types_blur {
        width: 5rem;
    }

    .product_types_section .product_types_previous,
    .product_types_section .product_types_next {
        width: 2.8rem;
        height: 2.8rem;
        top: 3.1rem;
        border-radius: 0.6rem;
    }

    .product_types_section .product_types_previous img,
    .product_types_section .product_types_next img {
        width: 1.4rem;
        height: 1.4rem;
    }
}

@media (max-width: 480px) {

    .product_types_section .product_types_wrapper {
        gap: 0.8rem;
    }

    .product_types_section .product_type {
        width: 11.2rem;
        min-width: 11.2rem;
    }

    .product_types_section .product_type_image {
        width: 11.2rem;
        height: 8.4rem;
        border-radius: 0.7rem;
    }

    .product_types_section .product_types_blur {
        width: 4.5rem;
    }

    .product_types_section .product_types_previous,
    .product_types_section .product_types_next {
        width: 2.8rem;
        height: 2.8rem;
        top: 2.9rem;
    }

    .product_types_section .product_types_previous img,
    .product_types_section .product_types_next img {
        width: 1.4rem;
        height: 1.4rem;
    }
}

@media (max-width: 360px) {

    .product_types_section .product_types_wrapper {
        gap: 0.8rem;
    }

    .product_types_section .product_type {
        width: 10.4rem;
        min-width: 10.4rem;
    }

    .product_types_section .product_type_image {
        width: 10.4rem;
        height: 7.8rem;
        border-radius: 0.6rem;
    }

    .product_types_section .product_types_blur {
        width: 4rem;
    }

    .product_types_section .product_types_previous,
    .product_types_section .product_types_next {
        width: 2.6rem;
        height: 2.6rem;
        top: 2.7rem;
        border-radius: 0.6rem;
    }

    .product_types_section .product_types_previous img,
    .product_types_section .product_types_next img {
        width: 1.3rem;
        height: 1.3rem;
    }
}










/* -------------------------------------------------------------------------- */
/* --------------------------- Image Banner Section ------------------------- */
/* -------------------------------------------------------------------------- */

.image_banner_section {
    --hero-text-color: var(--gy-white);
    width: 100%;
    height: 64rem;
    position: relative;
    overflow: hidden;
    background-color: var(--gy-white);
}

.image_banner_section.image_banner_section--text-dark {
    --hero-text-color: var(--gy-neutral-darkest);
}

.image_banner_section.image_banner_section--small {
    height: 50.7rem;
}

.image_banner_section.image_banner_section--shorten {
    height: 39.2rem;
}

/* Banner Background */
.image_banner_section .image_banner_background {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Banner Container */
.image_banner_section .image_banner_container {
    height: 100%;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
}

.image_banner_section .image_banner_content {
    max-width: 64rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.image_banner_section.image_banner_section--small .image_banner_content {
    max-width: 76.8rem;
}

.image_banner_section.image_banner_section--shorten h1 {
    text-transform: uppercase;
}


.image_banner_section .image_banner_content p,
.image_banner_section .image_banner_content h1,
.image_banner_section .image_banner_content h2 {
    margin: 0;
    color: var(--hero-text-color);
}

.image_banner_section .image_banner_content h1,
.image_banner_section .image_banner_content h2 {
    margin-bottom: 2.4rem;
}

.image_banner_section .image_banner_content>a {
    margin-top: 3.2rem;
}

/* Center Alignment */
.image_banner_section--center .image_banner_container {
    justify-content: center;
    text-align: center;
}

.image_banner_section--center .image_banner_content {
    align-items: center;
    max-width: 110rem;
}

.image_banner_section--shorten .image_banner_content {
    max-width: 76.8rem;
}

.image_banner_section--center .image_banner_content h1,
.image_banner_section--center .image_banner_content h2,
.image_banner_section--center .image_banner_content>p {
    max-width: 110rem;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .image_banner_section {
        height: 60rem;
    }

    .image_banner_section.image_banner_section--small {
        height: 48rem;
    }


    .image_banner_section.image_banner_section--shorten {
        height: 37rem;
    }

}

@media (max-width: 991px) {
    .image_banner_section {
        height: 56rem;
    }

    .image_banner_section.image_banner_section--small {
        height: 46rem;
    }


    .image_banner_section.image_banner_section--shorten {
        height: 34rem;
    }

}

@media (max-width: 768px) {
    .image_banner_section {
        height: 52rem;
    }

    .image_banner_section.image_banner_section--small {
        height: 42rem;
    }


    .image_banner_section.image_banner_section--shorten {
        height: 31rem;
    }


    .image_banner_section .image_banner_content,
    .image_banner_section.image_banner_section--small .image_banner_content {
        max-width: 100%;
    }
}

@media (max-width: 568px) {
    .image_banner_section {
        height: 48rem;
    }

    .image_banner_section.image_banner_section--small {
        height: 40rem;
    }


    .image_banner_section.image_banner_section--shorten {
        height: 28rem;
    }

    .image_banner_section .image_banner_content h1,
    .image_banner_section .image_banner_content h2 {
        margin-bottom: 1.6rem;
    }

    .image_banner_section .image_banner_content>a {
        margin-top: 2.2rem;
    }
}

@media (max-width: 480px) {
    .image_banner_section {
        height: 44rem;
    }

    .image_banner_section.image_banner_section--small {
        height: 38rem;
    }

    .image_banner_section.image_banner_section--shorten {
        height: 26rem;
    }

}

@media (max-width: 360px) {
    .image_banner_section {
        height: 42rem;
    }

    .image_banner_section.image_banner_section--small {
        height: 36rem;
    }

    .image_banner_section.image_banner_section--shorten {
        height: 24rem;
    }

}










/* -------------------------------------------------------------------------- */
/* ------------------------ Showcase Slider Section ------------------------- */
/* -------------------------------------------------------------------------- */

.showcase_slider_section {
    width: 100%;
    overflow: hidden;
    background-color: var(--gy-white);
}

.showcase_slider_section .showcase_slider_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}


/* ---------- Showcase Header ---------- */

.showcase_slider_section .showcase_slider_head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4rem;
}

.showcase_slider_section .showcase_slider_head_content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
}

.showcase_slider_section .showcase_slider_head_content h2 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.showcase_slider_section .showcase_slider_head_content p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}


/* ---------- Showcase Slider ---------- */

.showcase_slider_section .showcase_slider_wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
}

.showcase_slider_section .showcase_slider {
    width: 100%;
    overflow: visible;
}

.showcase_slider_section .swiper-slide {
    width: 39.4rem;
    height: auto;
}

/* Showcase Product */
.showcase_slider_section .showcase_product {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Product Image */
.showcase_slider_section .showcase_product_image {
    width: 100%;
    height: 41rem;
    position: relative;
    border-radius: 1.6em;
    overflow: hidden;
    background-color: var(--gy-neutral-lighter);
    transition: box-shadow .25s ease;
}

.showcase_slider_section .showcase_product_image:has(> a:hover),
.showcase_slider_section .showcase_product_image:has(> a:focus-visible) {
    box-shadow: 0 .8rem 2.4rem rgba(12, 9, 3, .12);
}

.showcase_slider_section .showcase_product_image > a {
    display: block;
    width: 100%;
    height: 100%;
}

.showcase_slider_section .showcase_product_image > a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: translateZ(0) scale(1);
    transform-origin: center;
    backface-visibility: hidden;
    transition: transform .3s cubic-bezier(.4, 0, .2, 1);
}

.showcase_slider_section .showcase_product_image > a:hover img,
.showcase_slider_section .showcase_product_image > a:focus-visible img {
    transform: translateZ(0) scale(1.04);
}

/* Product Badge */
.showcase_slider_section .showcase_product_badge {
    position: absolute;
    top: 1.6rem;
    left: 1.6rem;
    padding: 0.4rem 1rem;
    border-radius: 0.6rem;
    color: var(--gy-white);
    background-color: var(--gy-neutral-darkest);
    z-index: 1;
}

/* Product Wishlist */
.showcase_slider_section .showcase_product_wishlist {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: 0;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 1;
}

.showcase_slider_section .showcase_product_wishlist img,
.product_categories_section .category_product_wishlist img {
    width: 100%;
    height: 100%;
    display: block;
    transition: transform .2s ease;
}

/* A quiet, consistent background keeps hearts visible on every product image. */
.showcase_slider_section button.showcase_product_wishlist,
.product_categories_section button.category_product_wishlist {
    width: 3.6rem;
    height: 3.6rem;
    padding: .7rem;
    border: .1rem solid rgba(12, 9, 3, .06);
    border-radius: 50%;
    background-color: rgba(255, 255, 255, .96);
}

.showcase_slider_section button.showcase_product_wishlist img,
.product_categories_section button.category_product_wishlist img {
    content: url('/assets/icons/wishlist.svg');
    filter: none;
}

.showcase_slider_section button.showcase_product_wishlist.is-favorite img,
.product_categories_section button.category_product_wishlist.is-favorite img,
.showcase_slider_section button.showcase_product_wishlist:focus-visible img,
.product_categories_section button.category_product_wishlist:focus-visible img {
    filter: invert(24%) sepia(79%) saturate(3605%) hue-rotate(341deg) brightness(89%) contrast(96%);
}

.showcase_slider_section button.showcase_product_wishlist:focus-visible,
.product_categories_section button.category_product_wishlist:focus-visible {
    outline: .2rem solid var(--gy-tulip-tree);
    outline-offset: .2rem;
}

@media (hover: hover) and (pointer: fine) {
    .showcase_slider_section .showcase_product_wishlist:hover img,
    .product_categories_section .category_product_wishlist:hover img {
        transform: scale(1.08);
    }

    .showcase_slider_section button.showcase_product_wishlist:hover img,
    .product_categories_section button.category_product_wishlist:hover img {
        filter: invert(24%) sepia(79%) saturate(3605%) hue-rotate(341deg) brightness(89%) contrast(96%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .showcase_slider_section .showcase_product_wishlist img,
    .product_categories_section .category_product_wishlist img {
        transition: none;
    }
}

.wishlist_section [hidden] {
    display: none !important;
}

.wishlist_section .wishlist_empty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    margin-top: 3.2rem;
}

/* Product Content */
.showcase_slider_section .showcase_product_content {
    padding-top: 1.6rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.showcase_slider_section .showcase_product_info {
    min-height: 5.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.showcase_slider_section .showcase_product_info p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.showcase_slider_section .showcase_product_info p a {
    color: inherit;
    text-decoration: none;
    transition: color .2s ease;
}

.showcase_slider_section .showcase_product_info p a:hover,
.showcase_slider_section .showcase_product_info p a:focus-visible {
    color: var(--gy-tulip-tree);
}

@media (prefers-reduced-motion: reduce) {
    .showcase_slider_section .showcase_product_image,
    .showcase_slider_section .showcase_product_image > a img,
    .showcase_slider_section .showcase_product_info p a {
        transition: none;
    }
}

.showcase_slider_section .showcase_product_bottom {
    margin-top: auto;
    padding-top: 1.6rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.6rem;
}

.showcase_slider_section .showcase_product_bottom > .button {
    flex-shrink: 0;
    padding-right: 1.2rem;
    padding-left: 1.2rem;
    white-space: nowrap;
}

.showcase_slider_section .showcase_product_price {
    flex: 1;
    min-width: 0;
    min-height: 6.5rem;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    align-items: flex-start;
    gap: 0.6rem;
    white-space: nowrap;
}

.showcase_slider_section .showcase_product_price h5 {
    font-size: clamp(1.7rem, 2.5vw, 2.8rem);
    color: var(--gy-neutral-darkest);
}

.showcase_slider_section .showcase_product_amount {
    display: contents;
}

.showcase_slider_section .showcase_product_price span {
    align-self: flex-end;
    color: var(--gy-neutral-dark);
}

.showcase_slider_section .showcase_product_price .showcase_product_base_price {
    margin-left: .4rem;
}


/* ---------- Slider Controls ---------- */

.showcase_slider_section .showcase_slider_controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
}

.showcase_slider_section .showcase_slider_controls.is-hidden {
    display: none;
}

.showcase_slider_section .showcase_slider_pagination {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.showcase_slider_section .showcase_slider_pagination .swiper-pagination-bullet {
    width: 0.8rem;
    height: 0.8rem;
    margin: 0 !important;
    opacity: 1;
    background-color: var(--gy-neutral-lighter);
}

.showcase_slider_section .showcase_slider_pagination .swiper-pagination-bullet-active {
    background-color: var(--gy-neutral-darkest);
}

.showcase_slider_section .showcase_slider_navigation {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.showcase_slider_section .showcase_slider_previous,
.showcase_slider_section .showcase_slider_next {
    width: 4.8rem;
    height: 4.8rem;
    padding: 0;
    border: 0.1rem solid var(--gy-neutral-lighter);
    border-radius: 0.8rem;
    background-color: var(--gy-white-light);
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.showcase_slider_section .showcase_slider_previous img,
.showcase_slider_section .showcase_slider_next img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
}

.showcase_slider_section .showcase_slider_previous.swiper-button-disabled,
.showcase_slider_section .showcase_slider_next.swiper-button-disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {

    .showcase_slider_section .showcase_slider_container {
        gap: 6.4rem;
    }

    .showcase_slider_section .showcase_slider_head {
        gap: 3.2rem;
    }

    .showcase_slider_section .swiper-slide {
        width: 34rem;
    }

    .showcase_slider_section .showcase_product_bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .showcase_slider_section .showcase_product_image {
        height: 36rem;
    }

}

@media (max-width: 991px) {

    .showcase_slider_section .showcase_slider_container {
        gap: 5.6rem;
    }

    .showcase_slider_section .showcase_slider_head {
        align-items: flex-start;
        flex-direction: column;
        gap: 2.4rem;
    }

    .showcase_slider_section .swiper-slide {
        width: 31rem;
    }

    .showcase_slider_section .showcase_product_image {
        height: 33rem;
    }

    .showcase_slider_section .showcase_product_badge {
        top: 1.2rem;
        left: 1.2rem;
    }

    .showcase_slider_section .showcase_product_wishlist {
        top: 1.6rem;
        right: 1.6rem;
    }

}

@media (max-width: 768px) {

    .showcase_slider_section .showcase_slider_container {
        gap: 4.8rem;
    }

    .showcase_slider_section .showcase_slider_wrapper {
        gap: 3.2rem;
    }

    .showcase_slider_section .swiper-slide {
        width: 28rem;
    }

    .showcase_slider_section .showcase_product_image {
        height: 29rem;
        border-radius: 1.2rem;
    }

    .showcase_slider_section .showcase_product_content {
        padding-top: 1.2rem;
    }

    .showcase_slider_section .showcase_product_info {
        min-height: 5.2rem;
    }

    .showcase_slider_section .showcase_product_bottom {
        padding-top: 1.2rem;
    }

    .showcase_slider_section .showcase_product_wishlist {
        width: 2.2rem;
        height: 2.2rem;
    }

    .showcase_slider_section .showcase_slider_navigation {
        gap: 1.2rem;
    }

    .showcase_slider_section .showcase_slider_previous,
    .showcase_slider_section .showcase_slider_next {
        width: 4.4rem;
        height: 4.4rem;
    }

}

@media (max-width: 568px) {

    .showcase_slider_section .showcase_slider_container {
        gap: 4rem;
    }

    .showcase_slider_section .showcase_slider_head {
        gap: 2rem;
    }

    .showcase_slider_section .showcase_slider_head_content {
        gap: 1.2rem;
    }

    .showcase_slider_section .showcase_slider_wrapper {
        gap: 2.4rem;
    }

    .showcase_slider_section .swiper-slide {
        width: 26rem;
    }

    .showcase_slider_section .showcase_product_image {
        height: 25.5rem;
        border-radius: 1rem;
    }

    .showcase_slider_section .showcase_product_badge {
        top: 1rem;
        left: 1rem;
        padding: 0.4rem 0.8rem;
        border-radius: 0.4rem;
    }

    .showcase_slider_section .showcase_product_wishlist {
        top: 1.2rem;
        right: 1.2rem;
        width: 2rem;
        height: 2rem;
    }

    .showcase_slider_section .showcase_product_content {
        padding-top: 1rem;
    }

    .showcase_slider_section .showcase_product_info {
        min-height: 5rem;
    }

    .showcase_slider_section .showcase_product_bottom {
        padding-top: 1rem;
        gap: 0.8rem;
    }

    .showcase_slider_section .showcase_slider_controls {
        gap: 2rem;
    }

    .showcase_slider_section .showcase_slider_navigation {
        gap: 0.8rem;
    }

    .showcase_slider_section .showcase_slider_previous,
    .showcase_slider_section .showcase_slider_next {
        width: 4rem;
        height: 4rem;
    }

    .showcase_slider_section .showcase_slider_previous img,
    .showcase_slider_section .showcase_slider_next img {
        width: 2rem;
        height: 2rem;
    }

}


@media (max-width: 480px) {

    .showcase_slider_section .showcase_slider_container {
        gap: 3.2rem;
    }

    .showcase_slider_section .swiper-slide {
        width: 24rem;
    }

    .showcase_slider_section .showcase_product_image {
        height: 23rem;
    }

    .showcase_slider_section .showcase_product_info {
        min-height: 4.8rem;
    }

    .showcase_slider_section .showcase_product_price {
        gap: 0.4rem;
    }

    .showcase_slider_section .showcase_slider_pagination {
        gap: 0.6rem;
    }

    .showcase_slider_section .showcase_slider_pagination .swiper-pagination-bullet {
        width: 0.7rem;
        height: 0.7rem;
    }

}

@media (max-width: 360px) {

    .showcase_slider_section .swiper-slide {
        width: 23rem;
    }

    .showcase_slider_section .showcase_product_image {
        height: 21rem;
    }

    .showcase_slider_section .showcase_product_bottom {
        align-items: flex-start;
        flex-direction: column;
    }

}










/* Keep each mobile showcase card's text, price and action together. */
@media (max-width: 768px) {
    .showcase_slider_section .showcase_product_content {
        flex: 1;
    }

    .showcase_slider_section .showcase_product_info {
        min-height: 0;
    }

    .showcase_slider_section .showcase_product_bottom {
        margin-top: auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: minmax(4.4rem, auto);
        align-items: center;
        gap: .4rem .8rem;
    }

    .showcase_slider_section .swiper-wrapper:has(.showcase_product_base_price) .showcase_product_bottom {
        grid-template-rows: minmax(5.7rem, auto);
    }

    .showcase_slider_section .showcase_product_price {
        grid-column: 1;
        grid-row: 1;
        align-self: start;
        display: flex;
        min-height: 0;
        padding-top: 1rem;
        gap: .2rem .4rem;
    }

    .showcase_slider_section .showcase_product_amount {
        flex-basis: 100%;
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-start;
        align-content: flex-start;
        min-width: 0;
        gap: .4rem;
    }

    .showcase_slider_section .showcase_product_price .showcase_product_base_price {
        flex-basis: 100%;
        margin-left: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .showcase_slider_section .showcase_product_bottom > .button {
        grid-column: 2;
        grid-row: 1;
        align-self: start;
        height: auto;
        min-height: 4rem;
        padding: .8rem;
        font-size: 1.2rem;
        line-height: 1.4;
    }
}

/* -------------------------------------------------------------------------- */
/* ---------------------------- Partners Section ---------------------------- */
/* -------------------------------------------------------------------------- */

.partners_section {
    width: 100%;
    overflow: hidden;
    background-color: var(--gy-white);
}

.partners_section .partners_container {
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
}


/* ---------- Partners Heading ---------- */

.partners_section .partners_heading {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.partners_section .partners_heading p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}


/* ---------- Partners Slider ---------- */

.partners_section .partners_slider {
    width: 100%;
    overflow: hidden;

}

/* Partners Track */
.partners_section .partners_track {
    width: max-content;
    display: flex;
    align-items: center;
    gap: 12rem;
    animation: partnersMarquee 35s linear infinite;
}

/* Partner Logo */
.partners_section .partner_logo {
    width: 11.4rem;
    height: 3.2rem;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.partners_section .partner_logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/* Partners Animation */
@keyframes partnersMarquee {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 4rem));
    }
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {

    .partners_section .partners_container {
        gap: 4.4rem;
    }

    .partners_section .partners_track {
        gap: 10rem;
        animation-duration: 25s;
    }

    .partners_section .partner_logo {
        width: 11rem;
        height: 3.2rem;
    }

}

@media (max-width: 991px) {

    .partners_section .partners_container {
        gap: 4rem;
    }

    .partners_section .partners_track {
        gap: 8rem;
        animation-duration: 25s;
    }

    .partners_section .partner_logo {
        width: 10.8rem;
        height: 3.2rem;
    }

}

@media (max-width: 768px) {

    .partners_section .partners_container {
        gap: 3.6rem;
    }

    .partners_section .partners_track {
        gap: 7rem;
        animation-duration: 24s;
    }

    .partners_section .partner_logo {
        width: 10.6rem;
        height: 3.2rem;
    }

}

@media (max-width: 568px) {

    .partners_section .partners_container {
        gap: 3.2rem;
    }

    .partners_section .partners_track {
        gap: 6rem;
        animation-duration: 23s;
    }

    .partners_section .partner_logo {
        width: 10.4rem;
        height: 3.2rem;
    }

}

@media (max-width: 480px) {

    .partners_section .partners_container {
        gap: 2.8rem;
    }

    .partners_section .partners_track {
        gap: 5rem;
        animation-duration: 22s;
    }

    .partners_section .partner_logo {
        width: 10rem;
        height: 3.2rem;
    }

}

@media (max-width: 360px) {

    .partners_section .partners_track {
        gap: 4rem;
        animation-duration: 21s;
    }

    .partners_section .partner_logo {
        width: 9.6rem;
        height: 3.2rem;
    }

}










/* -------------------------------------------------------------------------- */
/* ----------------------- Product Categories Section ----------------------- */
/* -------------------------------------------------------------------------- */

.product_categories_section {
    width: 100%;
    overflow: hidden;
    background-color: var(--gy-white);
}


.product_categories_section .product_categories_container {
    display: flex;
    flex-direction: column;
}


/* ---------- Product Categories Header ---------- */

.product_categories_section .product_categories_head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.product_categories_section .product_categories_head_content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.4rem;
}

.product_categories_section .product_categories_head_content h2 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.product_categories_section .product_categories_head_content p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}


/* ---------- Product Categories Filters ---------- */

.product_categories_section .product_categories_filters {
    margin-top: 6.4rem;
    display: flex;
    justify-content: space-between;
    gap: 4rem;
}

.product_categories_section:has(> .product_categories_container > .product_categories_filters:first-child) {
    padding-top: 2.4rem;
}

.product_categories_section .product_categories_container > .product_categories_filters:first-child {
    margin-top: 0;
}

/* Filter Button  */
.product_categories_section .product_categories_filter_button {
    width: fit-content;
    height: 4.7rem;
    padding: 0 2.4rem;
    border: .1rem solid var(--gy-neutral-darkest);
    border-radius: 1.2rem;
    color: var(--gy-neutral-darkest);
    background-color: var(--gy-white);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    cursor: pointer;
}

.product_categories_section .product_categories_filter_button img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
}

/* Sort */
.product_categories_section .product_categories_sort {
    display: flex;
    align-items: center;
    gap: .4rem;
    white-space: nowrap;
}

.product_categories_section .product_categories_sort_dropdown {
    position: relative;
}

.product_categories_section .product_categories_sort_button {
    padding: 0;
    border: 0;
    color: var(--gy-neutral-darkest);
    background-color: transparent;
    display: flex;
    align-items: center;
    gap: .8rem;
    cursor: pointer;
}

.product_categories_section .product_categories_sort_button img {
    width: 1.8rem;
    height: 1.8rem;
    display: block;
}

/* Sort Dropdown */
.product_categories_section .product_categories_sort_menu {
    position: absolute;
    top: calc(100% + 1rem);
    right: 0;
    min-width: 18rem;
    padding: .8rem;
    border: .1rem solid var(--gy-neutral-lighter);
    border-radius: .8rem;
    background-color: var(--gy-white);
    box-shadow: 0 1rem 3rem rgba(12, 9, 3, .08);
    display: flex;
    flex-direction: column;
    gap: .2rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-.5rem);
    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;
    z-index: 10;
}

.product_categories_section .product_categories_sort_dropdown.active .product_categories_sort_menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.product_categories_section .product_categories_sort_menu button {
    width: 100%;
    padding: .8rem 1rem;
    border: 0;
    border-radius: .4rem;
    color: var(--gy-neutral-darkest);
    background-color: transparent;
    text-align: left;
    cursor: pointer;
}

.product_categories_section .product_categories_sort_menu button:hover {
    background-color: var(--gy-white-light);
}


/* ---------- Product Categories Selected Filter ---------- */

.product_categories_section .product_categories_selected {
    margin-top: 2.4rem;
    display: flex;
    justify-content: space-between;
    gap: 4rem;
}

.product_categories_section .product_categories_selected_items {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.product_categories_section .product_categories_selected_item {
    width: fit-content;
    height: 4.3rem;
    padding: 0 1.2rem 0 1.6rem;
    border: 0;
    border-radius: .8rem;
    color: var(--gy-white);
    background-color: var(--gy-tulip-tree);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    cursor: pointer;
}

.product_categories_section .product_categories_selected_item img {
    width: 1.8rem;
    height: 1.8rem;
    display: block;
}

.product_categories_section .product_categories_selected p {
    white-space: nowrap;
}


/* ---------- Product Categories Grid ---------- */

.product_categories_section .product_categories_grid {
    margin-top: 3.2rem;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4.8rem;
}

/* Product */
.product_categories_section .product_categories_item {
    width: 100%;
    min-width: 0;
    height: auto;
}

.product_categories_section .category_product {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Product Image */
.product_categories_section .category_product_image {
    width: 100%;
    height: 48.6rem;
    position: relative;
    border-radius: 1.6rem;
    overflow: hidden;
    background-color: var(--gy-neutral-lighter);
    transition: box-shadow .25s ease;
}

.product_categories_section .category_product_image:has(> a:hover),
.product_categories_section .category_product_image:has(> a:focus-visible) {
    box-shadow: 0 .8rem 2.4rem rgba(12, 9, 3, .12);
}

.product_categories_section .category_product_image>a {
    display: block;
    width: 100%;
    height: 100%;
}

.product_categories_section .category_product_image>a>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}

.product_categories_section .category_product_image>a:hover>img,
.product_categories_section .category_product_image>a:focus-visible>img {
    transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
    .product_categories_section .category_product_image,
    .product_categories_section .category_product_image>a>img {
        transition: none;
    }
}

/* Product Badge */
.product_categories_section .category_product_badge {
    position: absolute;
    top: 1.6rem;
    left: 1.6rem;
    padding: .4rem 1rem;
    border-radius: .6rem;
    color: var(--gy-white);
    background-color: var(--gy-neutral-darkest);
    z-index: 1;
}

/* Product Wishlist */
.product_categories_section .category_product_wishlist {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: 0;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 1;
}

.product_categories_section .category_product_wishlist img {
    width: 100%;
    height: 100%;
    display: block;
}

/* Product Content */
.product_categories_section .category_product_content {
    padding-top: 1.6rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.product_categories_section .category_product_info {
    min-height: 5.8rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
    overflow-wrap: anywhere;
}

.product_categories_section .category_product_info p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.product_categories_section .category_product_info a {
    color: inherit;
}

/* Product Bottom */
.product_categories_section .category_product_bottom {
    margin-top: auto;
    padding-top: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
}

.product_categories_section .category_product_price {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .6rem;
    white-space: nowrap;
}

.product_categories_section .category_product_bottom > .button {
    flex-shrink: 0;
}

.product_categories_section .category_product_price h4 {
    color: var(--gy-neutral-darkest);
}

.product_categories_section .category_product_price span {
    color: var(--gy-neutral-dark);
}

.product_categories_section .category_product_old_price + .category_product_base_price {
    margin-left: 0.4rem;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {

    .product_categories_section .product_categories_head_content {
        gap: 2rem;
    }

    .product_categories_section .product_categories_filters {
        margin-top: 5.6rem;
        gap: 3.2rem;
    }

    .product_categories_section .product_categories_grid {
        gap: 4rem;
    }

    .product_categories_section .category_product_image {
        height: 42rem;
    }

}

@media (max-width: 991px) {

    .product_categories_section .product_categories_head {
        align-items: flex-start;
        flex-direction: column;
    }

    .product_categories_section .product_categories_head_content {
        gap: 1.6rem;
    }

    .product_categories_section .product_categories_filters {
        margin-top: 4.8rem;
    }

    .product_categories_section .product_categories_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4rem;
    }

    .product_categories_section .category_product_image {
        height: 38rem;
    }

    .product_categories_section .category_product_badge {
        top: 1.2rem;
        left: 1.2rem;
    }

    .product_categories_section .category_product_wishlist {
        top: 1.6rem;
        right: 1.6rem;
    }

}


@media (max-width: 768px) {

    .product_categories_section .product_categories_head_content {
        gap: 1.2rem;
    }

    .product_categories_section .product_categories_filters {
        margin-top: 4rem;
        gap: 2rem;
    }

    .product_categories_section .product_categories_selected {
        gap: 2rem;
    }

    .product_categories_section .product_categories_grid {
        gap: 3.2rem;
    }

    .product_categories_section .category_product_image {
        height: 34rem;
        border-radius: 1.2rem;
    }

    .product_categories_section .category_product_content {
        padding-top: 1.2rem;
    }

    .product_categories_section .category_product_info {
        min-height: 5.2rem;
    }

    .product_categories_section .category_product_bottom {
        padding-top: 1.2rem;
    }

    .product_categories_section .category_product_wishlist {
        width: 2.2rem;
        height: 2.2rem;
    }

}

@media (max-width: 568px) {

    .product_categories_section .product_categories_head_content {
        gap: 1.2rem;
    }

    .product_categories_section .product_categories_filters {
        margin-top: 3.2rem;
        gap: 1.6rem;
    }

    .product_categories_section .product_categories_filter_button {
        height: 4.3rem;
    }

    .product_categories_section .product_categories_selected {
        margin-top: 1.6rem;
        flex-direction: column;
        gap: 1.6rem;
    }

    .product_categories_section .product_categories_grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 3.2rem;
    }

    .product_categories_section .category_product_image {
        height: 29.6rem;
        border-radius: 1rem;
    }

    .product_categories_section .category_product_badge {
        top: 1rem;
        left: 1rem;
        padding: .4rem .8rem;
        border-radius: .4rem;
    }

    .product_categories_section .category_product_wishlist {
        top: 1.2rem;
        right: 1.2rem;
        width: 2rem;
        height: 2rem;
    }

    .product_categories_section .category_product_content {
        padding-top: 1rem;
    }

    .product_categories_section .category_product_info {
        min-height: 5rem;
    }

    .product_categories_section .category_product_bottom {
        padding-top: 1rem;
        gap: .8rem;
    }

}

@media (max-width: 480px) {

    .product_categories_section .product_categories_filters {
        margin-top: 2.8rem;
    }

    .product_categories_section .product_categories_filter_button {
        height: 4rem;
    }

    .product_categories_section .product_categories_selected {
        margin-top: 1.6rem;
    }

    .product_categories_section .product_categories_grid {
        gap: 3rem;
    }

    .product_categories_section .category_product_image {
        height: 25.8rem;
    }

    .product_categories_section .category_product_info {
        min-height: 4.8rem;
    }

    .product_categories_section .category_product_price {
        gap: .4rem;
    }

}

@media (max-width: 360px) {

    .product_categories_section .product_categories_filters {
        gap: 1.2rem;
    }

    .product_categories_section .product_categories_selected {
        gap: 1.2rem;
    }

    .product_categories_section .category_product_image {
        height: 23.4rem;
    }

    .product_categories_section .category_product_bottom {
        align-items: flex-start;
    }

}


/* ---------- Compact Product Listing ---------- */

.product_categories_section .product_categories_grid--compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3.2rem 2.4rem;
    margin-top: 2.4rem;
}

.product_categories_grid--compact .category_product_image {
    height: auto;
    max-height: 32rem;
    aspect-ratio: 1;
    border-radius: 1.2rem;
}

.product_categories_grid--compact .category_product_image > a > img {
    object-fit: contain;
    transform: translateZ(0) scale(1);
    transform-origin: center;
    backface-visibility: hidden;
    transition: transform .3s cubic-bezier(.4, 0, .2, 1);
}

.product_categories_grid--compact .category_product_image > a:hover > img,
.product_categories_grid--compact .category_product_image > a:focus-visible > img {
    transform: translateZ(0) scale(1.04);
}

.product_categories_grid--compact .product_categories_item {
    position: relative;
}

.product_categories_grid--compact .category_product {
    position: relative;
    isolation: isolate;
}

.product_categories_grid--compact .category_product::before {
    content: '';
    position: absolute;
    inset: -.8rem;
    z-index: -1;
    border-radius: 2rem;
    background: var(--gy-white);
    box-shadow: 0 0 0 .1rem rgba(12, 9, 3, .07), 0 .8rem 2.4rem rgba(12, 9, 3, .08);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s cubic-bezier(.4, 0, .2, 1), transform .3s cubic-bezier(.4, 0, .2, 1);
}

.product_categories_grid--compact .category_product_image:has(> a:hover),
.product_categories_grid--compact .category_product_image:has(> a:focus-visible) {
    box-shadow: none;
}

@media (hover: hover) and (pointer: fine) {
    .product_categories_grid--compact .product_categories_item:hover,
    .product_categories_grid--compact .product_categories_item:has(:focus-visible) {
        z-index: 1;
    }

    .product_categories_grid--compact .product_categories_item:hover .category_product::before,
    .product_categories_grid--compact .product_categories_item:has(:focus-visible) .category_product::before {
        opacity: 1;
        transform: scale(1.01);
    }
}

@media (prefers-reduced-motion: reduce) {
    .product_categories_grid--compact .category_product::before,
    .product_categories_grid--compact .category_product_image > a > img,
    .product_types_section .product_type p {
        transition: none;
    }

    .product_categories_grid--compact .product_categories_item:hover .category_product::before,
    .product_categories_grid--compact .product_categories_item:has(:focus-visible) .category_product::before {
        transform: none;
    }
}

.product_categories_grid--compact .category_product_content {
    padding-top: 1.2rem;
}

.product_categories_grid--compact .category_product_info {
    min-height: 0;
    padding-bottom: 1.2rem;
}

.product_categories_grid--compact .category_product_info > p:first-child {
    font-size: 1.9rem;
    line-height: 1.35;
}

.product_categories_grid--compact .category_product_info > p:not(:first-child) {
    font-size: 1.4rem;
    line-height: 1.5;
    color: var(--gy-neutral-dark);
}

.product_categories_grid--compact .category_product_bottom {
    border-top: .1rem solid var(--gy-neutral-darkest-15);
    padding-top: 1.2rem;
    gap: 1rem;
    align-items: flex-start;
}

.product_categories_grid--compact .category_product_price {
    gap: .3rem .6rem;
    /* Reserve the optional base-price line without shifting the current price. */
    min-height: calc(3.12rem + .3rem + 1.82rem);
    align-content: flex-start;
}

.product_categories_grid--compact .category_product_price h4 {
    font-size: 2.6rem;
    line-height: 1.2;
}

.product_categories_grid--compact .category_product_old_price {
    font-size: 1.4rem;
    line-height: 1.4;
}

.product_categories_grid--compact .category_product_price .category_product_base_price {
    flex-basis: 100%;
    margin-left: 0;
    font-size: 1.3rem;
    line-height: 1.4;
}

.product_categories_grid--compact .category_product_bottom > .button {
    height: auto;
    min-height: 4rem;
    padding: .8rem 1.2rem;
    font-size: 1.4rem;
    line-height: 1.4;
}

.product_categories_section .category_product_bottom > button[hidden] {
    display: none;
}

.product_categories_section .category_product_cart_button,
.showcase_slider_section .showcase_product_cart_button {
    color: var(--gy-neutral-darkest);
    background-color: var(--gy-tulip-tree);
    border-color: var(--gy-tulip-tree);
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .product_categories_section .category_product_cart_button:hover,
    .showcase_slider_section .showcase_product_cart_button:hover {
        background-color: #dda13a;
        border-color: #dda13a;
        box-shadow: 0 .3rem .8rem rgba(231, 171, 67, .18);
        opacity: 1;
    }
}

.product_categories_section .category_product_cart_button:focus-visible,
.showcase_slider_section .showcase_product_cart_button:focus-visible {
    outline: .2rem solid var(--gy-neutral-darkest);
    outline-offset: .2rem;
}

.product_categories_section .category_product_cart_button:active,
.showcase_slider_section .showcase_product_cart_button:active {
    background-color: #d4942d;
    border-color: #d4942d;
}

.product_categories_grid--compact .category_product_badge {
    top: 1.2rem;
    left: 1.2rem;
    font-size: 1.3rem;
}

.product_categories_grid--compact .category_product_wishlist {
    top: 1.2rem;
    right: 1.2rem;
}

@media (max-width: 1279px) {
    .product_categories_section .product_categories_grid--compact {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .product_categories_section .product_categories_grid--compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 568px) {
    .product_categories_section .product_categories_grid--compact {
        grid-template-columns: minmax(0, 1fr);
        gap: 2.8rem;
    }

    .product_categories_grid--compact .category_product_image {
        max-height: 26rem;
        aspect-ratio: 4 / 3;
    }

    .product_categories_grid--compact .category_product_info > p:first-child {
        font-size: 1.8rem;
    }
}

/* ---------- Categories from menu_hero on the product overview ---------- */

[data-product-overview] .product_categories_filters {
    align-items: center;
    flex-wrap: wrap;
    gap: 1.6rem;
}

[data-product-category-trigger][hidden],
[data-product-filter-reset][hidden] {
    display: none;
}

.product_categories_filter_panel[data-product-category-panel] {
    width: min(40rem, 100%);
}

[data-product-category-panel] .product_categories_filter_header {
    margin: 3.2rem 2.4rem 0;
    padding-bottom: 1.6rem;
}

[data-product-category-panel] .product_categories_filter_header h5 {
    font-size: 2.4rem;
    line-height: 1.2;
}

[data-product-category-panel] .product_categories_filter_content {
    padding: 0 2.4rem 1.6rem;
}

[data-product-category-panel] .product_categories_filter_content .product_filter_group {
    padding: 1.6rem 0;
}

[data-product-category-panel] .product_categories_filter_content .product_filter_group_header {
    gap: .8rem;
    margin-bottom: 1.2rem;
}

[data-product-category-panel] .product_filter_group_header p {
    font-size: 1.6rem;
    line-height: 1.4;
}

[data-product-category-panel] [data-product-filter-clear] {
    font-size: 1.3rem;
}

[data-product-category-panel] .custom_radio {
    gap: .4rem;
}

[data-product-category-panel] .custom_radio_item {
    min-height: 4.4rem;
    padding: .8rem 1.2rem;
    border-radius: .8rem;
    overflow-wrap: anywhere;
    font-size: 1.6rem;
    line-height: 1.4;
}

[data-product-category-panel] .custom_radio_item:has(input:checked) {
    background-color: var(--gy-tulip-tree-10);
}

[data-product-category-panel] .custom_radio_item input:focus-visible,
[data-product-category-trigger]:focus-visible,
[data-product-filter-reset]:focus-visible {
    outline: .2rem solid var(--gy-tulip-tree);
    outline-offset: .3rem;
}

[data-product-category-panel] [data-product-filter-clear]:disabled {
    opacity: .5;
    cursor: default;
    text-decoration: none;
}

[data-product-category-panel] .product_category_panel_footer {
    flex-shrink: 0;
    margin-top: auto;
    padding: 1.6rem;
    border-top: .1rem solid var(--gy-neutral-darkest-15);
}

[data-product-category-panel] .product_category_panel_footer .button {
    width: 100%;
    font-size: 1.4rem;
}

.product_category_filter_status:not([hidden]) {
    margin-top: 1.6rem;
    color: var(--gy-neutral-dark);
}

[data-product-overview] .product_categories_grid[aria-busy="true"] {
    opacity: .5;
}

/* ---------- Product Categories Filter Panel ---------- */

.product_categories_filter_overlay {
    position: fixed;
    inset: 0;
    background-color: var(--gy-overlay);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
    z-index: 1001;
}

.product_categories_filter_overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.product_categories_filter_panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 56rem;
    height: 100vh;
    background-color: var(--gy-white);
    transform: translateX(-100%);
    transition: transform .3s ease;
    z-index: 1002;
    display: flex;
    flex-direction: column;
}

.product_categories_filter_panel.active {
    transform: translateX(0);
}


/* ----- Filter Panel Header ----- */

.product_categories_filter_header {
    margin: 6.4rem 4.8rem 0 4.8rem;
    padding-bottom: 2.4rem;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.product_categories_filter_header h5 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.product_categories_filter_close {
    position: absolute;
    top: 1.6rem;
    right: 1.6rem;
    width: 3.2rem;
    height: 3.2rem;
    padding: 0;
    border: 0;
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.product_categories_filter_close img {
    width: 1.8rem;
    height: 1.8rem;
    display: block;
}

/* Filter Panel Content */
.product_categories_filter_content {
    padding: 0 4.8rem 2rem 4.8rem;
    overflow-y: auto;
}

/* Filter Group */
.product_categories_filter_content .product_filter_group {
    padding: 2rem 0;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

.product_categories_filter_content .product_filter_group:last-child {
    border-bottom: none;
}

.product_categories_filter_content .product_filter_group_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    margin-bottom: 2rem;
}

.product_categories_filter_content .product_filter_group_header p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.product_categories_filter_content .product_filter_group_header button {
    padding: 0;
    border: 0;
    color: var(--gy-neutral-darkest);
    background-color: transparent;
    cursor: pointer;
}

.product_categories_filter_content .product_filter_group_header button:hover {
    text-decoration: underline;
}

/* Filter Input */
.product_categories_filter_content .product_filter_input_wrapper {
    width: 100%;
    height: 4.8rem;
    padding: 0 1.2rem;
    border: .1rem solid var(--gy-neutral-darkest);
    background-color: var(--gy-neutral-darkest-05);
    border-radius: 1.2rem;
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.product_categories_filter_content .product_filter_input_wrapper img {
    width: 1.8rem;
    height: 1.8rem;
    display: block;
}

.product_categories_filter_content .product_filter_input_wrapper input {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    outline: 0;
    color: var(--gy-neutral-darkest);
    background-color: transparent;
}

.product_categories_filter_content .product_filter_input_wrapper input::placeholder {
    color: var(--gy-neutral-darkest-60);
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 991px) {

    .product_categories_filter_panel {
        width: 48rem;
    }

    .product_categories_filter_header {
        margin-left: 4rem;
        margin-right: 4rem;
    }

    .product_categories_filter_content {
        padding-left: 4rem;
        padding-right: 4rem;
    }

}

@media (max-width: 768px) {

    .product_categories_filter_panel {
        width: 44rem;
    }

    .product_categories_filter_header {
        margin-left: 3.2rem;
        margin-right: 3.2rem;
    }

    .product_categories_filter_content {
        padding-left: 3.2rem;
        padding-right: 3.2rem;
    }

    .product_categories_filter_content .product_filter_group {
        padding: 1.8rem 0;
    }

    .product_categories_filter_content .product_filter_group_header {
        margin-bottom: 1.6rem;
    }

    .product_categories_filter_content .product_filter_input_wrapper {
        height: 4.6rem;
    }

}

@media (max-width: 568px) {

    .product_categories_filter_panel {
        width: 100%;
    }

    .product_categories_filter_header {
        margin-top: 4.8rem;
        margin-left: 2.4rem;
        margin-right: 2.4rem;
        padding-bottom: 2rem;
    }

    .product_categories_filter_content {
        padding-left: 2.4rem;
        padding-right: 2.4rem;
    }

    .product_categories_filter_content .product_filter_group {
        padding: 1.6rem 0;
    }

    .product_categories_filter_content .product_filter_group_header {
        margin-bottom: 1.4rem;
    }

    .product_categories_filter_content .product_filter_input_wrapper {
        height: 4.4rem;
        border-radius: 1rem;
    }
}

@media (max-width: 480px) {

    .product_categories_filter_header {
        margin-left: 1.6rem;
        margin-right: 1.6rem;
    }

    .product_categories_filter_content {
        padding-left: 1.6rem;
        padding-right: 1.6rem;
    }

    .product_categories_filter_content .product_filter_group {
        padding: 1.4rem 0;
    }

    .product_categories_filter_content .product_filter_input_wrapper {
        height: 4.2rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

}

@media (max-width: 360px) {

    .product_categories_filter_content .product_filter_input_wrapper {
        height: 4rem;
    }

}










/* -------------------------------------------------------------------------- */
/* --------------------------- Newsletter Section --------------------------- */
/* -------------------------------------------------------------------------- */

.newsletter_section {
    width: 100%;
    background-color: var(--gy-white);
}

.newsletter_section .newsletter_content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;
}


/* ---------- Newsletter Heading ---------- */

.newsletter_section .newsletter_heading h2 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}


/* ---------- Newsletter Form Content ---------- */

.newsletter_section .newsletter_form_content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3.2rem;
}

.newsletter_section .newsletter_form_content>p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.newsletter_section .newsletter_form_content_wrapper {
    width: 85%;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.newsletter_section .newsletter_form {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.newsletter_section .newsletter_form input {
    width: 100%;
    min-width: 0;
    height: 4.3rem;
    padding: 0 1.4rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    outline: 0;
    color: var(--gy-neutral-darkest);
    background-color: var(--gy-neutral-darkest-05);
}

.newsletter_section .newsletter_form input::placeholder {
    color: var(--gy-neutral-darkest-60);
}

.newsletter_section .newsletter_form button {
    flex-shrink: 0;
    border-radius: 1.2rem;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .newsletter_section .newsletter_content {
        gap: 6rem;
    }

    .newsletter_section .newsletter_form_content_wrapper {
        width: 90%;
    }
}

@media (max-width: 991px) {
    .newsletter_section .newsletter_content {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .newsletter_section .newsletter_form_content {
        gap: 2.8rem;
    }

    .newsletter_section .newsletter_form_content_wrapper {
        width: 100%;
    }
}

@media (max-width: 768px) {

    .newsletter_section .newsletter_content {
        gap: 3.6rem;
    }

    .newsletter_section .newsletter_form_content {
        gap: 2.4rem;
    }
}

@media (max-width: 568px) {

    .newsletter_section .newsletter_content {
        gap: 3.2rem;
    }

    .newsletter_section .newsletter_form_content {
        gap: 2rem;
    }

    .newsletter_section .newsletter_form {
        flex-direction: column;
        align-items: stretch;
    }

    .newsletter_section .newsletter_form button {
        width: 100%;
    }
}

@media (max-width: 480px) {

    .newsletter_section .newsletter_content {
        gap: 2.8rem;
    }

    .newsletter_section .newsletter_form_content {
        gap: 1.6rem;
    }

    .newsletter_section .newsletter_form {
        gap: 1.2rem;
    }
}

@media (max-width: 360px) {

    .newsletter_section .newsletter_content {
        gap: 2.4rem;
    }

    .newsletter_section .newsletter_form {
        gap: 1rem;
    }
}










/* -------------------------------------------------------------------------- */
/* -------------------------- Product Highlights ---------------------------- */
/* -------------------------------------------------------------------------- */

.product_highlights_section {
    width: 100%;
    background-color: var(--gy-white);
}

.product_highlights_section .product_highlights_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

/* ---------- Section Heading ---------- */

.product_highlights_section .product_highlights_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.6rem;
}

.product_highlights_section .product_highlights_head p,
.product_highlights_section .product_highlights_head h2 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.product_highlights_section .product_highlights_head h2 {
    margin-bottom: 0.8rem;
}

/* ---------- Highlights Grid ---------- */

.product_highlights_section .product_highlights_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.4rem;
    align-items: stretch;
}

.product_highlights_section .product_highlight {
    min-width: 0;
    height: 100%;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.product_highlights_section .product_highlight_large {
    grid-column: span 2;
    flex-direction: row;
}

.product_highlights_section .product_highlight_content {
    flex: 1;
    min-width: 0;
    min-height: 0;
    padding: 3.2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
}

.product_highlights_section .product_highlight:nth-child(1) .product_highlight_content,
.product_highlights_section .product_highlight:nth-child(6) .product_highlight_content {
    background-color: var(--gy-tulip-tree-lighter);
}

.product_highlights_section .product_highlight:nth-child(2) .product_highlight_content {
    background-color: var(--gy-tulip-tree-lightest);
}

.product_highlights_section .product_highlight:nth-child(3) .product_highlight_content {
    background-color: var(--gy-tulip-tree-lighter-2);
}

.product_highlights_section .product_highlight:nth-child(4) .product_highlight_content {
    background-color: var(--gy-tulip-tree-lightest);
}

.product_highlights_section .product_highlight:nth-child(5) .product_highlight_content {
    background-color: var(--gy-tulip-tree-lighter-2);
}

.product_highlights_section .product_highlight_content>p,
.product_highlights_section .product_highlight_content h6 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.product_highlights_section .product_highlight_content a {
    margin-top: auto;
    color: var(--gy-neutral-darkest);
    text-decoration: none;
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.product_highlights_section .product_highlight_link_end {
    display: inline-flex;
    max-width: 100%;
    align-items: flex-end;
    vertical-align: bottom;
    gap: .8rem;
}

.product_highlights_section .product_highlight_link_end > span {
    min-width: 0;
}

.product_highlights_section .product_highlight_link_end img {
    width: 2rem;
    height: 2rem;
    margin-bottom: .15em;
    flex-shrink: 0;
    display: block;
    transition: transform .2s ease;
}

.product_highlights_section .product_highlight_content a:hover img,
.product_highlights_section .product_highlight_content a:focus-visible img {
    transform: translateX(.2rem);
}

@media (prefers-reduced-motion: reduce) {
    .product_highlights_section .product_highlight_link_end img {
        transition: none;
    }

    .product_highlights_section .product_highlight_content a:hover img,
    .product_highlights_section .product_highlight_content a:focus-visible img {
        transform: none;
    }
}

.product_highlights_section .product_highlight_large .product_highlight_content {
    width: 50%;
    flex: 0 0 50%;
    justify-content: center;
}

.product_highlights_section .product_highlight_large .product_highlight_content a {
    margin-top: 2.4rem;
}

.product_highlights_section .product_highlight_image {
    width: 100%;
    height: 17.1rem;
    flex-shrink: 0;
    overflow: hidden;
}

.product_highlights_section .product_highlight_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.product_highlights_section .product_highlight_large .product_highlight_image {
    width: 50%;
    height: auto;
    flex: 0 0 50%;
    align-self: stretch;
}

.product_highlights_section .product_highlight_large:not(:has(> .product_highlight_image)),
.product_highlights_section .product_highlight:only-child:not(:has(> .product_highlight_image)) {
    grid-column: 1 / -1;
}

.product_highlights_section .product_highlight_large:not(:has(> .product_highlight_image)) .product_highlight_content,
.product_highlights_section .product_highlight:only-child:not(:has(> .product_highlight_image)) .product_highlight_content {
    width: 100%;
    flex: 1;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1400px) {
    .product_highlights_section .product_highlights_container {
        gap: 6rem;
    }

    .product_highlights_section .product_highlights_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }

    .product_highlights_section .product_highlight_content {
        padding: 2.8rem;
    }

    .product_highlights_section .product_highlight_large {
        grid-column: span 2;
    }
}

@media (max-width: 991px) {
    .product_highlights_section .product_highlights_container {
        gap: 5rem;
    }

    .product_highlights_section .product_highlights_grid {
        gap: 2rem;
    }

    .product_highlights_section .product_highlight_content {
        padding: 2.8rem;
    }
}

@media (max-width: 768px) {
    .product_highlights_section .product_highlights_container {
        gap: 4rem;
    }

    .product_highlights_section .product_highlights_grid {
        gap: 1.6rem;
    }

    .product_highlights_section .product_highlight {
        height: auto;
        min-height: 38rem;
        border-radius: 1.2rem;
    }

    .product_highlights_section .product_highlight_content {
        padding: 2.4rem;
    }

    .product_highlights_section .product_highlight_large .product_highlight_content {
        padding: 2.4rem;
    }
}

@media (max-width: 568px) {
    .product_highlights_section .product_highlights_container {
        gap: 3.2rem;
    }

    .product_highlights_section .product_highlights_grid {
        grid-template-columns: 1fr;
    }

    .product_highlights_section .product_highlight {
        height: auto;
        min-height: 0;
        grid-column: span 1;
    }

    .product_highlights_section .product_highlight_large {
        grid-column: span 1;
        flex-direction: column;
    }

    .product_highlights_section .product_highlight_content,
    .product_highlights_section .product_highlight_large .product_highlight_content {
        width: 100%;
        flex: 1 1 auto;
        justify-content: flex-start;
        padding: 2.4rem;
    }

    .product_highlights_section .product_highlight_content a {
        margin-top: 2.4rem;
    }

    .product_highlights_section .product_highlight_large .product_highlight_content a {
        margin-top: 2.4rem;
    }

    .product_highlights_section .product_highlight_image,
    .product_highlights_section .product_highlight_large .product_highlight_image {
        width: 100%;
        height: 15.2rem;
        flex: 0 0 15.2rem;
    }
}

@media (max-width: 480px) {
    .product_highlights_section .product_highlights_container {
        gap: 2.8rem;
    }

    .product_highlights_section .product_highlight {
        height: auto;
    }

    .product_highlights_section .product_highlight_content,
    .product_highlights_section .product_highlight_large .product_highlight_content {
        padding: 2rem;
    }

    .product_highlights_section .product_highlight_image,
    .product_highlights_section .product_highlight_large .product_highlight_image {
        height: 14rem;
        flex-basis: 14rem;
    }
}

@media (max-width: 360px) {
    .product_highlights_section .product_highlights_container {
        gap: 2.4rem;
    }

    .product_highlights_section .product_highlight {
        height: auto;
    }

    .product_highlights_section .product_highlight_content,
    .product_highlights_section .product_highlight_large .product_highlight_content {
        padding: 1.6rem;
    }

    .product_highlights_section .product_highlight_image,
    .product_highlights_section .product_highlight_large .product_highlight_image {
        height: 13rem;
        flex-basis: 13rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ----------------------------- Purity Section ----------------------------- */
/* -------------------------------------------------------------------------- */

.purity_section {
    width: 100%;
    background-color: var(--gy-tulip-tree-lighter);
}

.purity_section .purity_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}


/* ---------- Section Heading ---------- */

.purity_section .purity_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.6rem;
}

.purity_section .purity_head p,
.purity_section .purity_head h2 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.purity_section .purity_head h2 {
    margin-bottom: 0.8rem;
}

.purity_section .purity_head>p:last-child {
    max-width: 100rem;
}


/* ---------- Purity Grid ---------- */

.purity_section .purity_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
}

.purity_section .purity_card {
    min-width: 0;
    min-height: 40.5rem;
    padding: 3.2rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
    background-color: var(--gy-tulip-tree-lighter-2);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.purity_section .purity_card_icon {
    width: 4.8rem;
    height: 4.8rem;
    margin-bottom: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.purity_section .purity_card_icon img {
    display: block;
}

.purity_section .purity_card h3,
.purity_section .purity_card>p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.purity_section .purity_card>p {
    margin-top: 1.6rem;
    margin-bottom: 2.4rem;
}

.purity_section .purity_card a img {
    display: block;
}

.purity_section .purity_card a {
    margin-top: auto;
    color: var(--gy-neutral-darkest);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: .8rem;
}

.purity_section .purity_card a img {
    display: block;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .purity_section .purity_container {
        gap: 6rem;
    }

    .purity_section .purity_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.4rem;
    }

    .purity_section .purity_card:nth-child(3) {
        grid-column: 1 / -1;
    }

    .purity_section .purity_card {
        min-height: auto;
        padding: 2.8rem;
    }
}

@media (max-width: 991px) {
    .purity_section .purity_container {
        gap: 5rem;
    }

    .purity_section .purity_grid {
        gap: 2rem;
    }

    .purity_section .purity_card {
        padding: 2.8rem;
    }
}

@media (max-width: 768px) {
    .purity_section .purity_container {
        gap: 4rem;
    }

    .purity_section .purity_grid {
        grid-template-columns: 1fr;
        gap: 1.6rem;
    }

    .purity_section .purity_card {
        padding: 2.4rem;
        border-radius: 1.2rem;
    }

    .purity_section .purity_card_icon {
        width: 4.4rem;
        height: 4.4rem;
        margin-bottom: 2rem;
    }

    .purity_section .purity_card>p {
        margin-top: 1.4rem;
        margin-bottom: 2rem;
    }
}

@media (max-width: 568px) {
    .purity_section .purity_container {
        gap: 3.2rem;
    }

    .purity_section .purity_grid {
        gap: 1.6rem;
    }

    .purity_section .purity_card {
        padding: 2.4rem;
    }

    .purity_section .purity_card_icon {
        width: 4rem;
        height: 4rem;
        margin-bottom: 2rem;
    }
}

@media (max-width: 480px) {
    .purity_section .purity_container {
        gap: 2.8rem;
    }

    .purity_section .purity_card {
        padding: 2rem;
        border-radius: 1rem;
    }

    .purity_section .purity_card>p {
        margin-top: 1.2rem;
        margin-bottom: 1.6rem;
    }
}

@media (max-width: 360px) {
    .purity_section .purity_container {
        gap: 2.4rem;
    }

    .purity_section .purity_card {
        padding: 1.6rem;
    }

    .purity_section .purity_card_icon {
        width: 3.6rem;
        height: 3.6rem;
        margin-bottom: 1.6rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ------------------------------ About Section ----------------------------- */
/* -------------------------------------------------------------------------- */

.about_section {
    width: 100%;
    background-color: var(--gy-tulip-tree-lighter);
}

.about_section .about_section_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

/* ---------- Section Heading ---------- */

.about_section .about_section_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.6rem;
}

.about_section .about_section_head p,
.about_section .about_section_head h2 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.about_section .about_section_head h2 {
    margin-bottom: .8rem;
}

/* ---------- About Content ---------- */

.about_section .about_section_content {
    width: 100%;
    min-height: 64rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    background-color: var(--gy-tulip-tree-lighter-2);
    border-radius: 1.6rem;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.about_section .about_section_info {
    padding: 4.8rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.about_section .about_section_info>p,
.about_section .about_section_info h3 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.about_section .about_section_info h3 {
    margin-top: 0.8rem;
}

.about_section .about_section_info h3+p {
    margin-top: 2.4rem;
}

.about_section .about_section_actions {
    margin-top: 3.2rem;
    display: flex;
    align-items: center;
    gap: 2.4rem;
}

.about_section .about_section_actions a {
    color: var(--gy-neutral-darkest);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: .8rem;
}

.about_section .about_section_actions a img {
    width: 2rem;
    height: 2rem;
    display: block;
}

.about_section .about_section_image {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.about_section .about_section_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ---------- Alternate About Content ---------- */

.about_section.about_section--reverse .about_section_content .about_section_info {
    order: 2;
}

.about_section.about_section--reverse .about_section_content .about_section_image {
    order: 1;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .about_section .about_section_container {
        gap: 6rem;
    }

    .about_section .about_section_content {
        min-height: 58rem;
    }

    .about_section .about_section_info {
        padding: 4rem;
    }
}

@media (max-width: 991px) {
    .about_section .about_section_container {
        gap: 5rem;
    }

    .about_section .about_section_content {
        min-height: auto;
        grid-template-columns: 1fr;
    }

    .about_section .about_section_content .about_section_info,
    .about_section .about_section_content .about_section_image {
        order: initial;
    }

    .about_section .about_section_info {
        padding: 3.2rem;
    }

    .about_section .about_section_image {
        height: 48rem;
    }

    .about_section.about_section--reverse .about_section_content .about_section_info,
    .about_section.about_section--reverse .about_section_content .about_section_image {
        order: initial;
    }

}

@media (max-width: 768px) {
    .about_section .about_section_container {
        gap: 4rem;
    }

    .about_section .about_section_content {
        border-radius: 1.2rem;
    }

    .about_section .about_section_info {
        padding: 2.4rem;
    }

    .about_section .about_section_image {
        height: 40rem;
    }
}

@media (max-width: 568px) {
    .about_section .about_section_container {
        gap: 3.2rem;
    }

    .about_section .about_section_info {
        padding: 2.4rem;
    }

    .about_section .about_section_image {
        height: 32rem;
    }

    .about_section .about_section_info h3+p {
        margin-top: 1rem;
    }

    .about_section .about_section_actions {
        margin-top: 2rem;
    }
}

@media (max-width: 480px) {
    .about_section .about_section_container {
        gap: 2.8rem;
    }

    .about_section .about_section_info {
        padding: 2rem;
    }

    .about_section .about_section_image {
        height: 28rem;
    }
}

@media (max-width: 360px) {
    .about_section .about_section_container {
        gap: 2.4rem;
    }

    .about_section .about_section_info {
        padding: 1.6rem;
    }

    .about_section .about_section_image {
        height: 24rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ----------------------------- Benefits Section --------------------------- */
/* -------------------------------------------------------------------------- */

.benefits_section {
    width: 100%;
    background-color: var(--gy-neutral-darkest);
}

.benefits_section .benefits_section_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

/* ---------- Section Heading ---------- */

.benefits_section .benefits_section_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.6rem;
}

.benefits_section .benefits_section_head p,
.benefits_section .benefits_section_head h2 {
    margin: 0;
    color: var(--gy-white);
}

.benefits_section .benefits_section_head h2 {
    margin-bottom: .8rem;
    max-width: 90rem;
}

/* ---------- Benefits Grid ---------- */

.benefits_section .benefits_section_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
}

.benefits_section .benefit_card {
    min-width: 0;
    min-height: 57rem;
    border: .1rem solid var(--gy-white-20);
    border-radius: 1.6rem;
    overflow: hidden;
    background-color: var(--gy-neutral-darker-2);
    display: flex;
    flex-direction: column;
}

.benefits_section .benefit_card_content {
    flex: 1;
    min-width: 0;
    min-height: 0;
    padding: 3.2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
}

.benefits_section .benefit_card_content>p,
.benefits_section .benefit_card_content h5 {
    margin: 0;
    color: var(--gy-white);
}

.benefits_section .benefit_card_content h5 {
    margin-top: .8rem;
}

.benefits_section .benefit_card_content h5+p {
    margin-top: 1.6rem;
    margin-bottom: 2.4rem;
}

.benefits_section .benefit_card_content a {
    margin-top: auto;
    color: var(--gy-white);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: .8rem;
}

.benefits_section .benefit_card_content a img {
    width: 2rem;
    height: 2rem;
    display: block;
}

.benefits_section .benefit_card_image {
    width: 100%;
    height: 24rem;
    flex-shrink: 0;
    overflow: hidden;
}

.benefits_section .benefit_card_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .benefits_section .benefits_section_container {
        gap: 6rem;
    }

    .benefits_section .benefits_section_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.4rem;
    }

    .benefits_section .benefit_card:nth-child(3) {
        grid-column: 1 / -1;
    }

    .benefits_section .benefit_card {
        min-height: auto;
    }

    .benefits_section .benefit_card_content {
        padding: 2.8rem;
    }

    .benefits_section .benefit_card_image {
        height: 22rem;
    }
}

@media (max-width: 991px) {
    .benefits_section .benefits_section_container {
        gap: 5rem;
    }
}

@media (max-width: 768px) {
    .benefits_section .benefits_section_container {
        gap: 4rem;
    }

    .benefits_section .benefits_section_grid {
        grid-template-columns: 1fr;
        gap: 1.6rem;
    }

    .benefits_section .benefit_card {
        border-radius: 1.2rem;
    }

    .benefits_section .benefit_card_content {
        padding: 2.4rem;
    }

    .benefits_section .benefit_card_image {
        height: 20rem;
    }
}

@media (max-width: 568px) {
    .benefits_section .benefits_section_container {
        gap: 3.2rem;
    }

    .benefits_section .benefit_card {
        min-height: 0;
    }

    .benefits_section .benefit_card_content {
        padding: 2.4rem;
    }

    .benefits_section .benefit_card_content h5 {
        margin-top: 0rem;
    }

    .benefits_section .benefit_card_content h5+p {
        margin-top: 0.8rem;
        margin-bottom: 1.6rem;
    }

    .benefits_section .benefit_card_image {
        height: 22rem;
    }
}

@media (max-width: 480px) {
    .benefits_section .benefits_section_container {
        gap: 2.8rem;
    }

    .benefits_section .benefit_card_content {
        padding: 2rem;
    }

    .benefits_section .benefit_card_image {
        height: 20rem;
    }
}

@media (max-width: 360px) {
    .benefits_section .benefits_section_container {
        gap: 2.4rem;
    }

    .benefits_section .benefit_card_content {
        padding: 1.6rem;
    }

    .benefits_section .benefit_card_image {
        height: 18rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ------------------------------- Goals Section ---------------------------- */
/* -------------------------------------------------------------------------- */

.goals_section {
    width: 100%;
    background-color: var(--gy-white);
}

.goals_section .goals_section_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

/* ---------- Section Heading ---------- */

.goals_section .goals_section_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.6rem;
}

.goals_section .goals_section_head p,
.goals_section .goals_section_head h2 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.goals_section .goals_section_head h2 {
    margin-bottom: .8rem;
    max-width: 90rem;
}

/* ---------- Goals Grid ---------- */

.goals_section .goals_section_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3.2rem;
}

/* ---------- Goal Card ---------- */

.goals_section .goal_card {
    min-width: 0;
    height: auto;
    min-height: 22.2rem;
    position: relative;
    display: flex;
    border-radius: 1.6rem;
    overflow: hidden;
}

.goals_section .goal_card>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.goals_section .goal_card_overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, .28);
}

.goals_section .goal_card_content {
    position: relative;
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
    padding: 2.4rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: var(--gy-white);
}

.goals_section .goal_card_content h4,
.goals_section .goal_card_content p {
    margin: 0;
    color: var(--gy-white);
}

.goals_section .goal_card_content p {
    margin-top: 1.6rem;
    margin-top: 2.4rem;
}

.goals_section .goal_card_content a {
    margin-top: auto;
    padding-top: 1.6rem;
    max-width: 100%;
    color: var(--gy-white);
    text-decoration: none;
    display: block;
}

.goals_section .goal_card_content a img {
    width: 2rem;
    height: 2rem;
    margin-bottom: .15em;
    flex-shrink: 0;
    display: block;
    transition: transform .2s ease;
}

.goals_section .goal_card_link_end {
    display: inline-flex;
    max-width: 100%;
    align-items: flex-end;
    vertical-align: bottom;
    gap: .8rem;
}

.goals_section .goal_card_link_end > span {
    min-width: 0;
}

.goals_section .goal_card_content a:hover img,
.goals_section .goal_card_content a:focus-visible img {
    transform: translateX(.2rem);
}

@media (prefers-reduced-motion: reduce) {
    .goals_section .goal_card_content a img {
        transition: none;
    }

    .goals_section .goal_card_content a:hover img,
    .goals_section .goal_card_content a:focus-visible img {
        transform: none;
    }
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .goals_section .goals_section_container {
        gap: 6rem;
    }

    .goals_section .goals_section_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.4rem;
    }

    .goals_section .goal_card {
        min-height: 21rem;
    }

    .goals_section .goal_card_content {
        padding: 2.4rem;
    }
}

@media (max-width: 991px) {
    .goals_section .goals_section_container {
        gap: 5rem;
    }

    .goals_section .goals_section_grid {
        gap: 2rem;
    }

    .goals_section .goal_card {
        min-height: 24rem;
    }
}

@media (max-width: 768px) {
    .goals_section .goals_section_container {
        gap: 4rem;
    }

    .goals_section .goals_section_grid {
        gap: 1.6rem;
    }

    .goals_section .goal_card {
        min-height: 22rem;
        border-radius: 1.2rem;
    }

    .goals_section .goal_card_content {
        padding: 2.4rem;
    }

    .goals_section .goal_card_content p {
        margin-top: 1.6rem;
    }
}

@media (max-width: 568px) {
    .goals_section .goals_section_container {
        gap: 3.2rem;
    }

    .goals_section .goals_section_grid {
        grid-template-columns: 1fr;
        gap: 1.6rem;
    }

    .goals_section .goal_card {
        min-height: 24rem;
    }

    .goals_section .goal_card_content {
        padding: 2.4rem;
    }
}

@media (max-width: 480px) {
    .goals_section .goals_section_container {
        gap: 2.8rem;
    }

    .goals_section .goal_card {
        min-height: 22rem;
        border-radius: 1rem;
    }

    .goals_section .goal_card_content {
        padding: 2rem;
    }
}

@media (max-width: 360px) {
    .goals_section .goals_section_container {
        gap: 2.4rem;
    }

    .goals_section .goal_card {
        min-height: 20rem;
    }

    .goals_section .goal_card_content {
        padding: 1.6rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ----------------------------- Science Section ---------------------------- */
/* -------------------------------------------------------------------------- */

.science_section {
    width: 100%;
    background-color: var(--gy-white);
}

/* ---------- Science Content ---------- */

.science_section .science_section_content {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 8rem;
}

.science_section .science_section_info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.science_section .science_section_info h2,
.science_section .science_section_info p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.science_section .science_section_info p {
    margin-top: 2.4rem;
}

/* ---------- Science Image ---------- */

.science_section .science_section_image {
    width: 100%;
    height: 64rem;
    border-radius: 1.6rem;
    overflow: hidden;
}

.science_section .science_section_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .science_section .science_section_content {
        gap: 4.8rem;
    }

    .science_section .science_section_image {
        height: 54rem;
    }
}

@media (max-width: 991px) {
    .science_section .science_section_content {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .science_section .science_section_info p {
        max-width: 100%;
    }

    .science_section .science_section_image {
        height: 48rem;
    }
}

@media (max-width: 768px) {

    .science_section .science_section_content {
        gap: 3.2rem;
    }

    .science_section .science_section_info p {
        margin-top: 2.4rem;
    }

    .science_section .science_section_image {
        height: 40rem;
        border-radius: 1.2rem;
    }
}

@media (max-width: 568px) {
    .science_section .science_section_content {
        gap: 2.8rem;
    }

    .science_section .science_section_image {
        height: 32rem;
    }
}

@media (max-width: 480px) {
    .science_section .science_section_image {
        height: 28rem;
        border-radius: 1rem;
    }
}

@media (max-width: 360px) {
    .science_section .science_section_image {
        height: 24rem;
    }
}










/* -------------------------------------------------------------------------- */
/* -------------------------- Standards Section ----------------------------- */
/* -------------------------------------------------------------------------- */

.standards_section {
    width: 100%;
    background-color: var(--gy-white);
}

.standards_section .standards_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

/* ---------- Section Heading ---------- */

.standards_section .standards_head {
    display: flex;
    justify-content: center;
    text-align: center;
}

.standards_section .standards_head h2 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Standards Grid ---------- */

.standards_section .standards_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4.8rem 3.2rem;
}

.standards_section .standard_item {
    min-width: 0;
    overflow-wrap: anywhere;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.standards_section .standard_icon {
    width: 4.8rem;
    height: 4.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2.4rem;
}

.standards_section .standard_icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.standards_section .standard_item h5 {
    margin: 0;
    color: var(--gy-neutral-darkest);
    text-wrap: balance;
}

.standards_section .standard_item p {
    margin: 1.6rem 0 0;
    color: var(--gy-neutral-darkest);
}

@media (min-width: 1201px) {
    @supports (grid-template-rows: subgrid) {
        .standards_section .standards_grid {
            row-gap: 0;
        }

        .standards_section .standard_item {
            display: grid;
            grid-row: span 3;
            grid-template-rows: subgrid;
            row-gap: 0;
            align-items: start;
            justify-items: center;
        }

        .standards_section .standard_item:nth-child(n + 4) {
            margin-top: 4.8rem;
        }

        .standards_section .standard_item h5 {
            align-self: stretch;
            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .standards_section .standards_container {
        gap: 7.4rem;
    }

    .standards_section .standards_grid {
        grid-template-columns: 1fr;
        gap: 5rem;
    }

    .standards_section .standards_grid .standard_item {
        max-width: 50rem;
        margin-left: auto;
        margin-right: auto;
    }

}

@media (max-width: 991px) {
    .standards_section .standards_container {
        gap: 6.8rem;
    }

    .standards_section .standards_grid {
        gap: 3.2rem;
    }

    .standards_section .standard_icon {
        margin-bottom: 3.2rem;
    }
}

@media (max-width: 768px) {
    .standards_section .standards_container {
        gap: 5.6rem;
    }

    .standards_section .standards_grid {
        gap: 5.6rem;
    }

    .standards_section .standard_icon {
        width: 4.8rem;
        height: 4.8rem;
        margin-bottom: 2.4rem;
    }

    .standards_section .standard_item p {
        max-width: 60rem;
        margin-top: 1.6rem;
    }
}

@media (max-width: 568px) {
    .standards_section .standards_container {
        gap: 4.8rem;
    }

    .standards_section .standards_grid {
        gap: 4.8rem;
    }

    .standards_section .standard_icon {
        width: 4.4rem;
        height: 4.4rem;
        margin-bottom: 2rem;
    }
}

@media (max-width: 480px) {
    .standards_section .standards_container {
        gap: 4rem;
    }

    .standards_section .standards_grid {
        gap: 4rem;
    }

    .standards_section .standard_icon {
        width: 4rem;
        height: 4rem;
    }
}

@media (max-width: 360px) {
    .standards_section .standards_container {
        gap: 3.6rem;
    }

    .standards_section .standards_grid {
        gap: 3.6rem;
    }

    .standards_section .standard_icon {
        width: 3.6rem;
        height: 3.6rem;
        margin-bottom: 1.6rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ------------------------------ Trust Section ----------------------------- */
/* -------------------------------------------------------------------------- */

.trust_section {
    width: 100%;
    background-color: var(--gy-white);
}

.trust_section .trust_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

/* ---------- Section Heading ---------- */

.trust_section .trust_head {
    display: flex;
}

.trust_section .trust_head h2 {
    max-width: 76.8rem;
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Trust Grid ---------- */

.trust_section .trust_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3.2rem;
}

.trust_section .trust_card {
    min-width: 0;
    overflow-wrap: anywhere;
    min-height: 26.3rem;
    padding: 3.2rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2.4rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
}

.trust_section .trust_card:nth-child(1) {
    background-color: var(--gy-tulip-tree-lightest);
}

.trust_section .trust_card:nth-child(2) {
    background-color: var(--gy-tulip-tree-lighter);
}

.trust_section .trust_card:nth-child(3) {
    background-color: var(--gy-tulip-tree-lightest-3);
}

.trust_section .trust_card > h2,
.trust_section .trust_card h3 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.trust_section .trust_card_content {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.trust_section .trust_card_content h5 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.trust_section .trust_card_content p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .trust_section .trust_container {
        gap: 7.2rem;
    }

    .trust_section .trust_grid {
        gap: 2.4rem;
    }

    .trust_section .trust_card {
        min-height: 25rem;
        padding: 2.8rem;
    }
}

@media (max-width: 991px) {
    .trust_section .trust_container {
        gap: 6.8rem;
    }

    .trust_section .trust_grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .trust_section .trust_card {
        min-height: 0;
        padding: 2.8rem;
    }
}

@media (max-width: 768px) {
    .trust_section .trust_container {
        gap: 5.6rem;
    }

    .trust_section .trust_grid {
        gap: 1.6rem;
    }

    .trust_section .trust_card {
        min-height: 0;
        padding: 2.4rem;
        gap: 2.4rem;
    }
}

@media (max-width: 568px) {
    .trust_section .trust_container {
        gap: 4.8rem;
    }

    .trust_section .trust_grid {
        gap: 1.6rem;
    }

    .trust_section .trust_card {
        min-height: 0;
        padding: 2.4rem;
        border-radius: 1.2rem;
    }
}

@media (max-width: 480px) {
    .trust_section .trust_container {
        gap: 4rem;
    }

    .trust_section .trust_card {
        min-height: 0;
        padding: 2rem;
        border-radius: 1rem;
    }
}

@media (max-width: 360px) {
    .trust_section .trust_container {
        gap: 3.6rem;
    }

    .trust_section .trust_card {
        min-height: 0;
        padding: 1.6rem;
        gap: 2.4rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ------------------------------- Why Section ------------------------------ */
/* -------------------------------------------------------------------------- */

.why_section {
    width: 100%;
    background-color: var(--gy-neutral-darkest);
}

.why_section .why_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

/* ---------- Section Heading ---------- */

.why_section .why_head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.4rem;
    max-width: 76.8rem;
}

.why_section .why_head h2,
.why_section .why_head p {
    margin: 0;
    color: var(--gy-white);
}


/* ---------- Why Grid ---------- */

.why_section .why_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.why_section .why_item {
    display: grid;
    grid-template-columns: 4.8rem 1fr;
    gap: 3.2rem;
    padding: 4.8rem 0 4.8rem 0;
    border-top: .1rem solid var(--gy-white-20);
}

.why_section .why_item:nth-child(odd) {
    padding-right: 3.2rem;
}

.why_section .why_item:nth-child(even) {
    padding-left: 3.2rem;
}

.why_section .why_icon {
    width: 4.8rem;
    height: 4.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.why_section .why_icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.why_section .why_content {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.why_section .why_content h5,
.why_section .why_content p {
    margin: 0;
    color: var(--gy-white);
}

.why_section .why_content h5 {
    text-decoration: none;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .why_section .why_container {
        gap: 7.2rem;
    }

    .why_section .why_item {
        padding-top: 4.4rem;
        padding-bottom: 4.4rem;
    }

    .why_section .why_item:nth-child(odd) {
        padding-right: 2.4rem;
    }

    .why_section .why_item:nth-child(even) {
        padding-left: 2.4rem;
    }

    .why_section .why_item {
        gap: 2.4rem;
    }
}

@media (max-width: 991px) {
    .why_section .why_container {
        gap: 6.8rem;
    }

    .why_section .why_grid {
        grid-template-columns: 1fr;
    }

    .why_section .why_item {
        padding: 4rem 0;
    }

    .why_section .why_item:nth-child(odd),
    .why_section .why_item:nth-child(even) {
        padding-left: 0;
        padding-right: 0;
    }
}

@media (max-width: 768px) {
    .why_section .why_container {
        gap: 5.6rem;
    }

    .why_section .why_head {
        gap: 2rem;
    }

    .why_section .why_item {
        grid-template-columns: 4.4rem 1fr;
        gap: 2rem;
        padding: 3.2rem 0;
    }

    .why_section .why_icon {
        width: 4.4rem;
        height: 4.4rem;
    }

    .why_section .why_content {
        gap: 1.2rem;
    }
}

@media (max-width: 568px) {
    .why_section .why_container {
        gap: 4.8rem;
    }

    .why_section .why_item {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 3.2rem 0;
    }

    .why_section .why_icon {
        width: 4rem;
        height: 4rem;
    }
}

@media (max-width: 480px) {
    .why_section .why_container {
        gap: 4rem;
    }

    .why_section .why_item {
        padding: 2.8rem 0;
    }
}

@media (max-width: 360px) {
    .why_section .why_container {
        gap: 3.6rem;
    }

    .why_section .why_item {
        padding: 2.4rem 0;
    }

    .why_section .why_icon {
        width: 3.6rem;
        height: 3.6rem;
    }
}










/* -------------------------------------------------------------------------- */
/* -------------------------- Testimonials Section -------------------------- */
/* -------------------------------------------------------------------------- */

.testimonials_section {
    width: 100%;
    background-color: var(--gy-tulip-tree-lighter);
}

.testimonials_section .testimonials_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

/* ---------- Section Heading ---------- */

.testimonials_section .testimonials_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
    text-align: center;
}

.testimonials_section .testimonials_head h2,
.testimonials_section .testimonials_head p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.testimonials_section .testimonials_head h2 {
    max-width: 78rem;
}


/* ---------- Testimonials Grid ---------- */

.testimonials_section .testimonials_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.2rem;
    align-items: start;
}

.testimonials_section .testimonials_column {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

.testimonials_section .testimonial_card {
    padding: 3.2rem;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    background-color: var(--gy-tulip-tree-lighter-2);
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
}

.testimonials_section .testimonial_rating {
    display: flex;
    align-items: center;
    gap: .4rem;
}

.testimonials_section .testimonial_rating img {
    width: 2rem;
    height: 2rem;
    display: block;
}

.testimonials_section .testimonial_card>p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.testimonials_section .testimonial_author {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-top: auto;
}

.testimonials_section .testimonial_author>img {
    width: 4.8rem;
    height: 4.8rem;
    flex-shrink: 0;
    object-fit: cover;
    border-radius: 50%;
}

.testimonials_section .testimonial_author p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.testimonials_section .testimonial_author p:first-child {
    margin-bottom: .4rem;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .testimonials_section .testimonials_container {
        gap: 7.2rem;
    }

    .testimonials_section .testimonials_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.4rem;
        align-items: stretch;
    }

    .testimonials_section .testimonials_column {
        display: contents;
    }

    .testimonials_section .testimonial_card {
        min-height: 34rem;
        height: auto;
        padding: 2.8rem;
    }
}

@media (max-width: 768px) {
    .testimonials_section .testimonials_container {
        gap: 5.6rem;
    }

    .testimonials_section .testimonials_grid {
        grid-template-columns: 1fr;
        gap: 1.6rem;
    }

    .testimonials_section .testimonial_card {
        min-height: auto;
        height: auto;
        padding: 2.4rem;
        border-radius: 1.2rem;
    }

    .testimonials_section .testimonial_author {
        gap: 1.2rem;
    }
}

@media (max-width: 568px) {
    .testimonials_section .testimonials_container {
        gap: 4.8rem;
    }

    .testimonials_section .testimonials_grid {
        gap: 1.6rem;
    }

    .testimonials_section .testimonial_card {
        padding: 2.4rem;
    }

    .testimonials_section .testimonial_rating {
        gap: .3rem;
    }

    .testimonials_section .testimonial_rating img {
        width: 1.8rem;
        height: 1.8rem;
    }
}

@media (max-width: 480px) {
    .testimonials_section .testimonials_container {
        gap: 4rem;
    }

    .testimonials_section .testimonial_card {
        padding: 2rem;
        gap: 1.6rem;
    }

    .testimonials_section .testimonial_author {
        gap: 1.2rem;
    }

    .testimonials_section .testimonial_author>img {
        width: 4.4rem;
        height: 4.4rem;
    }
}

@media (max-width: 360px) {
    .testimonials_section .testimonials_container {
        gap: 3.6rem;
    }

    .testimonials_section .testimonial_card {
        padding: 1.6rem;
    }

    .testimonials_section .testimonial_rating img {
        width: 1.6rem;
        height: 1.6rem;
    }

    .testimonials_section .testimonial_author {
        gap: 1rem;
    }

    .testimonials_section .testimonial_author>img {
        width: 4rem;
        height: 4rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ----------------------------- Contact Section ---------------------------- */
/* -------------------------------------------------------------------------- */

.contact_section {
    width: 100%;
    background-color: var(--gy-white);
}

.contact_section .contact_container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.8rem;
}

/* ---------- Contact Item ---------- */

.contact_section .contact_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
    text-align: center;
}

.contact_section .contact_icon {
    width: 4.8rem;
    height: 4.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact_section .contact_icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.contact_section .contact_info {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.contact_section .contact_item h3,
.contact_section .contact_item p,
.contact_section .contact_item a {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.contact_section .contact_item a {
    text-decoration: underline;
    text-underline-offset: .4rem;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .contact_section .contact_container {
        gap: 4rem;
    }

    .contact_section .contact_item {
        gap: 2rem;
    }

    .contact_section .contact_icon {
        width: 4.6rem;
        height: 4.6rem;
    }
}

@media (max-width: 991px) {
    .contact_section .contact_container {
        grid-template-columns: repeat(2, 1fr);
        gap: 5.6rem 3.2rem;
    }

    .contact_section .contact_item:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 768px) {
    .contact_section .contact_container {
        grid-template-columns: 1fr;
        gap: 4.8rem;
    }

    .contact_section .contact_item:last-child {
        grid-column: auto;
    }

    .contact_section .contact_icon {
        width: 4.4rem;
        height: 4.4rem;
    }

    .contact_section .contact_item {
        gap: 1.8rem;
        max-width: 45rem;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 568px) {
    .contact_section .contact_container {
        gap: 4rem;
    }

    .contact_section .contact_item {
        gap: 1.6rem;
    }

    .contact_section .contact_icon {
        width: 4.2rem;
        height: 4.2rem;
    }

    .contact_section .contact_info {
        gap: 1.2rem;
    }
}

@media (max-width: 480px) {
    .contact_section .contact_container {
        gap: 3.6rem;
    }

    .contact_section .contact_icon {
        width: 4rem;
        height: 4rem;
    }
}

@media (max-width: 360px) {
    .contact_section .contact_container {
        gap: 3.2rem;
    }

    .contact_section .contact_icon {
        width: 3.6rem;
        height: 3.6rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ------------------------- Contact Form Section --------------------------- */
/* -------------------------------------------------------------------------- */

.contact_form_section {
    width: 100%;
    background-color: var(--gy-white);
}

.contact_form_section .contact_form_container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem;
    align-items: stretch;
}

/* ---------- Image ---------- */

.contact_form_section .contact_form_image {
    width: 100%;
    height: 100%;
    min-height: 73.4rem;
    overflow: hidden;
    border-radius: 1.6rem;
}

.contact_form_section .contact_form_image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* ---------- Form Content ---------- */

.contact_form_section .contact_form_content {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

.contact_form_section .contact_form_head {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.contact_form_section .contact_form_head h2,
.contact_form_section .contact_form_head p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* Form */
.contact_form_section .contact_form {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.contact_form_section .contact_form_field {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.contact_form_section .contact_form_field label {
    color: var(--gy-neutral-darkest);
}

.contact_form_section .contact_form_field input,
.contact_form_section .contact_form_field textarea {
    width: 100%;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    background-color: var(--gy-neutral-darkest-05);
    color: var(--gy-neutral-darkest);
    font-family: var(--font-body);
    outline: none;
}

.contact_form_section .contact_form_field input {
    height: 4.8rem;
    padding: 0 1.6rem;
}

.contact_form_section .contact_form_field textarea {
    height: 18rem;
    padding: 1.6rem;
    resize: vertical;
}

.contact_form_section .contact_form_field input:focus,
.contact_form_section .contact_form_field textarea:focus {
    border-color: var(--gy-neutral-darkest);
}

.contact_form_section .contact_form_field textarea::placeholder {
    color: var(--gy-neutral-darkest-60);
}

.contact_form_section .contact_form_terms {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    cursor: pointer;
    color: var(--gy-neutral-darkest);
}

.contact_form_section .contact_form_terms input {
    appearance: none;
    -webkit-appearance: none;
    width: 1.8rem;
    height: 1.8rem;
    flex-shrink: 0;
    margin: 0;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: .4rem;
    background-color: var(--gy-neutral-darkest-05);
    cursor: pointer;
    position: relative;
}

.contact_form_section .contact_form_terms input:checked {
    border-color: var(--gy-coral);
    background-color: var(--gy-coral);
}

.contact_form_section .contact_form_terms input:checked::after {
    content: "";
    position: absolute;
    left: .50rem;
    top: .15rem;
    width: .4rem;
    height: .8rem;
    border: solid var(--gy-white);
    border-width: 0 .2rem .2rem 0;
    transform: rotate(45deg);
}

.contact_form_section .contact_form_terms a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: .3rem;
}

.contact_form_section .contact_form_terms input,
.contact_form_section .contact_form_terms textarea {
    font-family: var(--font-body);
}

.contact_form_section .contact_form button {
    align-self: flex-start;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .contact_form_section .contact_form_container {
        gap: 5.6rem;
    }

    .contact_form_section .contact_form_image {
        min-height: 65rem;
    }

    .contact_form_section .contact_form_content {
        gap: 2.8rem;
    }
}

@media (max-width: 991px) {
    .contact_form_section .contact_form_container {
        grid-template-columns: 1fr;
        gap: 5.6rem;
    }

    .contact_form_section .contact_form_image {
        height: 50rem;
        min-height: 0;
    }

    .contact_form_section .contact_form_content {
        gap: 3.2rem;
    }
}

@media (max-width: 768px) {
    .contact_form_section .contact_form_container {
        gap: 4.8rem;
    }

    .contact_form_section .contact_form_image {
        height: 42rem;
        border-radius: 1.2rem;
    }

    .contact_form_section .contact_form_head {
        gap: 2rem;
    }

    .contact_form_section .contact_form {
        gap: 2rem;
    }

    .contact_form_section .contact_form_field textarea {
        height: 16rem;
    }
}

@media (max-width: 568px) {
    .contact_form_section .contact_form_container {
        gap: 4rem;
    }

    .contact_form_section .contact_form_image {
        height: 36rem;
    }

    .contact_form_section .contact_form_content {
        gap: 2.8rem;
    }

    .contact_form_section .contact_form_field {
        gap: .6rem;
    }

    .contact_form_section .contact_form_field input {
        height: 4.8rem;
        padding: 0 1.4rem;
    }

    .contact_form_section .contact_form_field textarea {
        height: 15rem;
        padding: 1.4rem;
    }
}

@media (max-width: 480px) {
    .contact_form_section .contact_form_container {
        gap: 3.6rem;
    }

    .contact_form_section .contact_form_image {
        height: 32rem;
        border-radius: 1rem;
    }

    .contact_form_section .contact_form {
        gap: 1.8rem;
    }

    .contact_form_section .contact_form_field input {
        height: 4.6rem;
    }

    .contact_form_section .contact_form_field textarea {
        height: 14rem;
    }

    .contact_form_section .contact_form_terms {
        gap: .6rem;
    }
}

@media (max-width: 360px) {
    .contact_form_section .contact_form_container {
        gap: 3.2rem;
    }

    .contact_form_section .contact_form_image {
        height: 28rem;
    }

    .contact_form_section .contact_form_field input {
        height: 4.4rem;
    }

    .contact_form_section .contact_form_field textarea {
        height: 13rem;
    }

    .contact_form_section .contact_form_terms input {
        width: 1.6rem;
        height: 1.6rem;
    }

    .contact_form_section .contact_form_terms input:checked::after {
        left: .4rem;
        top: .1rem;
        width: .35rem;
        height: .7rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ------------------------------- FAQ Section ------------------------------ */
/* -------------------------------------------------------------------------- */

.faq_section {
    width: 100%;
    background-color: var(--gy-tulip-tree-lighter);
}

.faq_section .faq_container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8rem;
}

/* ---------- Section Heading ---------- */

.faq_section .faq_head {
    max-width: 76.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
    text-align: center;
}

.faq_section .faq_head h2,
.faq_section .faq_head p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- FAQ List ---------- */

.faq_section .faq_list {
    width: 100%;
    max-width: 76.8rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.faq_section .faq_item {
    width: 100%;
    padding: 2rem 2.4rem;
    background-color: var(--gy-tulip-tree-lighter-2);
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
}

/* ---------- FAQ Question ---------- */

.faq_section .faq_question {
    width: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.4rem;
    border: 0;
    background: transparent;
    color: var(--gy-neutral-darkest);
    text-align: left;
    cursor: pointer;
}

.faq_section .faq_question img {
    width: 2.4rem;
    height: 2.4rem;
    flex-shrink: 0;
    display: block;
    transition: transform .3s ease;
}

.faq_section .faq_item.active .faq_question img {
    transform: rotate(180deg);
}

/* ---------- FAQ Answer ---------- */

.faq_section .faq_answer {
    max-height: 0;
    overflow: hidden;
    padding-top: 0;
    opacity: 0;
    transition: max-height .3s ease, padding-top .3s ease, opacity .3s ease;
}

.faq_section .faq_answer p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.faq_section .faq_item.active .faq_answer {
    max-height: 100%;
    padding-top: 2rem;
    opacity: 1;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .faq_section .faq_container {
        gap: 7.2rem;
    }

    .faq_section .faq_head {
        max-width: 70rem;
    }

    .faq_section .faq_list {
        max-width: 72rem;
    }

    .faq_section .faq_item {
        padding: 2rem 2.2rem;
    }
}

@media (max-width: 991px) {
    .faq_section .faq_container {
        gap: 6.8rem;
    }

    .faq_section .faq_head {
        max-width: 64rem;
    }

    .faq_section .faq_list {
        max-width: 100%;
    }

    .faq_section .faq_item {
        padding: 2rem;
    }
}

@media (max-width: 768px) {
    .faq_section .faq_container {
        gap: 5.6rem;
    }

    .faq_section .faq_head {
        gap: 2rem;
    }

    .faq_section .faq_list {
        gap: 1.2rem;
    }

    .faq_section .faq_item {
        padding: 1.8rem;
        border-radius: 1.2rem;
    }

    .faq_section .faq_question {
        gap: 1.6rem;
    }

    .faq_section .faq_question img {
        width: 2rem;
        height: 2rem;
    }

    .faq_section .faq_item.active .faq_answer {
        padding-top: 1.6rem;
    }
}

@media (max-width: 568px) {
    .faq_section .faq_container {
        gap: 4.8rem;
    }

    .faq_section .faq_item {
        padding: 1.6rem;
    }

    .faq_section .faq_question img {
        width: 1.8rem;
        height: 1.8rem;
    }

    .faq_section .faq_item.active .faq_answer {
        padding-top: 1.4rem;
    }
}

@media (max-width: 480px) {
    .faq_section .faq_container {
        gap: 4rem;
    }

    .faq_section .faq_list {
        gap: 1rem;
    }

    .faq_section .faq_item {
        padding: 1.4rem;
        border-radius: 1rem;
    }

    .faq_section .faq_question {
        gap: 1.2rem;
    }

    .faq_section .faq_question img {
        width: 1.6rem;
        height: 1.6rem;
    }

    .faq_section .faq_item.active .faq_answer {
        padding-top: 1.2rem;
    }
}

@media (max-width: 360px) {
    .faq_section .faq_container {
        gap: 3.6rem;
    }

    .faq_section .faq_item {
        padding: 1.2rem;
    }

    .faq_section .faq_question img {
        width: 1.5rem;
        height: 1.5rem;
    }

    .faq_section .faq_item.active .faq_answer {
        padding-top: 1rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ------------------------------- Blog Section ----------------------------- */
/* -------------------------------------------------------------------------- */

.blog_section {
    width: 100%;
    background-color: var(--gy-white);
}

.blog_section .blog_container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8rem;
}

/* ---------- Section Heading ---------- */

.blog_section .blog_head {
    max-width: 76.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
    text-align: center;
}

.blog_section .blog_head h2,
.blog_section .blog_head p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Blog Filters ---------- */

.blog_section .blog_filter_grid_cont {
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
}

.blog_section .blog_filters {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.4rem;
}

.blog_section .blog_filter {
    padding: 1rem 1.6rem;
    border: .1rem solid transparent;
    border-radius: .8rem;
    background-color: transparent;
    color: var(--gy-neutral-darkest);
    cursor: pointer;
}

.blog_section .blog_filter:hover {
    border-color: var(--gy-neutral-darkest-15);
    background-color: var(--gy-white);
}

.blog_section .blog_filter.active {
    border-color: var(--gy-neutral-darkest-15);
    background-color: var(--gy-white);
}

/* ---------- Blog Grid ---------- */

.blog_section .blog_grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 6.4rem 4.8rem;
}

.blog_section .blog_card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.blog_section .blog_image {
    width: 100%;
    height: 30rem;
    overflow: hidden;
    border-radius: 1.6rem;
}

.blog_section .blog_image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .3s ease;
}

.blog_section .blog_image:hover img {
    transform: scale(1.03);
}

/* ---------- Blog Meta ---------- */

.blog_section .blog_meta {
    margin-top: 2.4rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.blog_section .blog_category {
    padding: .4rem 1rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    background-color: var(--gy-neutral-darkest-05);
    border-radius: .6rem;
    color: var(--gy-neutral-darkest);
}

/* ---------- Blog Content ---------- */

.blog_section .blog_card h5 {
    margin: 1.6rem 0 0;
    color: var(--gy-neutral-darkest);
}

.blog_section .blog_card>p {
    margin: 0.8rem 0 0;
    color: var(--gy-neutral-darkest);
}

.blog_section .blog_read_more {
    margin-top: 2.4rem;
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    color: var(--gy-neutral-darkest);
}

.blog_section .blog_read_more img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
    object-fit: contain;
}

.blog_article_html {
    color: var(--gy-neutral-dark);
    font-family: var(--font-body) !important;
}

.blog_article_html * {
    font-family: inherit !important;
}

.blog_article_html :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--font-heading) !important;
}

.blog_article_html p {
    font-size: var(--text-regular-size);
    line-height: var(--text-regular-line-height);
}
/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .blog_section .blog_container {
        gap: 7.2rem;
    }

    .blog_section .blog_filter_grid_cont {
        gap: 5.6rem;
    }

    .blog_section .blog_grid {
        gap: 5.6rem 3.2rem;
    }

    .blog_section .blog_image {
        height: 27rem;
    }
}

@media (max-width: 991px) {
    .blog_section .blog_container {
        gap: 6.8rem;
    }

    .blog_section .blog_filter_grid_cont {
        gap: 5rem;
    }

    .blog_section .blog_filters {
        gap: 1rem;
        flex-wrap: wrap;
    }

    .blog_section .blog_grid {
        gap: 4.8rem 2.4rem;
    }

    .blog_section .blog_image {
        height: 24rem;
    }

    .blog_section .blog_meta {
        margin-top: 2rem;
    }
}

@media (max-width: 768px) {
    .blog_section .blog_container {
        gap: 5.6rem;
    }

    .blog_section .blog_head {
        gap: 2rem;
    }

    .blog_section .blog_filter_grid_cont {
        width: 100%;
        gap: 4rem;
    }

    .blog_section .blog_filters {
        padding-bottom: .4rem;
    }

    .blog_section .blog_filter {
        flex-shrink: 0;
    }

    .blog_section .blog_grid {
        grid-template-columns: 1fr;
        gap: 4.8rem;
    }

    .blog_section .blog_image {
        height: 30rem;
    }
}

@media (max-width: 568px) {
    .blog_section .blog_container {
        gap: 4.8rem;
    }

    .blog_section .blog_filter_grid_cont {
        gap: 3.2rem;
    }

    .blog_section .blog_grid {
        gap: 4rem;
    }

    .blog_section .blog_image {
        height: 25rem;
        border-radius: 1.2rem;
    }

    .blog_section .blog_meta {
        margin-top: 1.6rem;
        gap: 1.2rem;
    }

    .blog_section .blog_card h5 {
        margin-top: 1.2rem;
    }

    .blog_section .blog_read_more {
        margin-top: 2rem;
    }

    .blog_section .blog_read_more img {
        width: 2rem;
        height: 2rem;
    }
}

@media (max-width: 480px) {
    .blog_section .blog_container {
        gap: 4rem;
    }

    .blog_section .blog_grid {
        gap: 3.6rem;
    }

    .blog_section .blog_image {
        height: 21rem;
        border-radius: 1rem;
    }

    .blog_section .blog_filter {
        padding: .8rem 1.2rem;
    }

    .blog_section .blog_card h5 {
        margin-top: 1rem;
    }

    .blog_section .blog_read_more {
        margin-top: 1.6rem;
        gap: .6rem;
    }

    .blog_section .blog_read_more img {
        width: 1.8rem;
        height: 1.8rem;
    }
}

@media (max-width: 360px) {
    .blog_section .blog_container {
        gap: 3.6rem;
    }

    .blog_section .blog_grid {
        gap: 3.2rem;
    }

    .blog_section .blog_image {
        height: 18rem;
    }

    .blog_section .blog_filter {
        padding: .6rem 1rem;
    }

    .blog_section .blog_read_more img {
        width: 1.6rem;
        height: 1.6rem;
    }
}










/* -------------------------------------------------------------------------- */
/* -------------------------- Blog Detail Hero ------------------------------ */
/* -------------------------------------------------------------------------- */

.blog_detail_hero {
    width: 100%;
    background-color: var(--gy-neutral-darkest);
}

.blog_detail_hero .blog_detail_hero_container {
    display: flex;
    flex-direction: column;
    gap: 8rem;
}

/* ---------- Hero Top ---------- */

.blog_detail_hero .blog_detail_hero_top {
    max-width: 76.8rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 4.8rem;
}

.blog_detail_hero .blog_detail_hero_top .blog_details_top_wrapper {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.blog_detail_hero .blog_detail_hero_breadcrumb {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.blog_detail_hero .blog_detail_hero_breadcrumb span {
    color: var(--gy-white);
}

.blog_detail_hero .blog_detail_hero_breadcrumb img {
    width: 1.6rem;
    height: 1.6rem;
    display: block;
}

.blog_detail_hero .blog_detail_hero_top h2 {
    margin: 0;
    color: var(--gy-white);
}

/* ---------- Blog Meta ---------- */

.blog_detail_hero .blog_detail_hero_meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4rem;
}

.blog_detail_hero .blog_detail_author {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.blog_detail_hero .blog_detail_author>img {
    width: 5.6rem;
    height: 5.6rem;
    flex-shrink: 0;
    object-fit: cover;
    border-radius: 50%;
}

.blog_detail_hero .blog_detail_author p {
    margin: 0;
    color: var(--gy-white);
}

.blog_detail_hero .blog_detail_author_info {
    margin-top: .4rem;
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.blog_detail_hero .blog_detail_author_info span {
    color: var(--gy-white);
}

.blog_detail_hero .blog_detail_author_info span:nth-child(2) {
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
    background-color: var(--gy-white);
}

/* ---------- Share ---------- */

.blog_detail_hero .blog_detail_share {
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.blog_detail_hero .blog_detail_share a {
    width: 3.2rem;
    height: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: var(--gy-white);
}

.blog_detail_hero .blog_detail_share img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
    object-fit: contain;
}

/* ---------- Hero Image ---------- */

.blog_detail_hero .blog_detail_hero_image {
    width: 100%;
    height: 60rem;
    overflow: hidden;
    border-radius: 1.6rem;
}

.blog_detail_hero .blog_detail_hero_image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .blog_detail_hero .blog_detail_hero_container {
        gap: 7.2rem;
    }

    .blog_detail_hero .blog_detail_hero_top {
        max-width: 72rem;
        gap: 4.4rem;
    }

    .blog_detail_hero .blog_detail_hero_image {
        height: 52rem;
    }
}

@media (max-width: 991px) {
    .blog_detail_hero .blog_detail_hero_container {
        gap: 6.8rem;
    }

    .blog_detail_hero .blog_detail_hero_top {
        max-width: 100%;
        gap: 4rem;
    }

    .blog_detail_hero .blog_detail_hero_image {
        height: 44rem;
    }
}

@media (max-width: 768px) {
    .blog_detail_hero .blog_detail_hero_container {
        gap: 5.6rem;
    }

    .blog_detail_hero .blog_detail_hero_top {
        gap: 3.2rem;
    }

    .blog_detail_hero .blog_detail_hero_top .blog_details_top_wrapper {
        gap: 2rem;
    }

    .blog_detail_hero .blog_detail_hero_meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 2.4rem;
    }

    .blog_detail_hero .blog_detail_hero_image {
        height: 36rem;
        border-radius: 1.2rem;
    }
}

@media (max-width: 568px) {
    .blog_detail_hero .blog_detail_hero_container {
        gap: 4.8rem;
    }

    .blog_detail_hero .blog_detail_hero_top {
        gap: 2.8rem;
    }

    .blog_detail_hero .blog_detail_hero_top .blog_details_top_wrapper {
        gap: 1.6rem;
    }

    .blog_detail_hero .blog_detail_author {
        gap: 1.2rem;
    }

    .blog_detail_hero .blog_detail_author>img {
        width: 4.8rem;
        height: 4.8rem;
    }

    .blog_detail_hero .blog_detail_author_info {
        gap: .6rem;
    }

    .blog_detail_hero .blog_detail_author_info span:nth-child(2) {
        width: .6rem;
        height: .6rem;
    }

    .blog_detail_hero .blog_detail_share {
        gap: 1.2rem;
    }

    .blog_detail_hero .blog_detail_share a {
        width: 3.2rem;
        height: 3.2rem;
    }

    .blog_detail_hero .blog_detail_share img {
        width: 2rem;
        height: 2rem;
    }

    .blog_detail_hero .blog_detail_hero_image {
        height: 28rem;
        border-radius: 1rem;
    }
}

@media (max-width: 480px) {
    .blog_detail_hero .blog_detail_hero_container {
        gap: 4rem;
    }

    .blog_detail_hero .blog_detail_hero_top {
        gap: 2.4rem;
    }

    .blog_detail_hero .blog_detail_hero_meta {
        gap: 2rem;
    }

    .blog_detail_hero .blog_detail_hero_image {
        height: 24rem;
    }
}

@media (max-width: 360px) {
    .blog_detail_hero .blog_detail_hero_container {
        gap: 3.6rem;
    }

    .blog_detail_hero .blog_detail_hero_image {
        height: 20rem;
    }
}










/* -------------------------------------------------------------------------- */
/* -------------------------- Related Blog Section -------------------------- */
/* -------------------------------------------------------------------------- */

.related_blog_section {
    width: 100%;
    background-color: var(--gy-white);
}

.related_blog_section .related_blog_container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8rem;
}

/* ---------- Section Heading ---------- */

.related_blog_section .related_blog_head {
    max-width: 76.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.4rem;
    text-align: center;
}

.related_blog_section .related_blog_head h2,
.related_blog_section .related_blog_head p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Related Blog Grid ---------- */

.related_blog_section .related_blog_grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6.4rem 3.2rem;
}

.related_blog_section .related_blog_card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.related_blog_section .related_blog_image {
    width: 100%;
    height: 30rem;
    overflow: hidden;
    border-radius: 1.6rem;
}

.related_blog_section .related_blog_image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .3s ease;
}

.related_blog_section .related_blog_image:hover img {
    transform: scale(1.03);
}

/* ---------- Blog Meta ---------- */

.related_blog_section .related_blog_meta {
    margin-top: 2.4rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
}

.related_blog_section .related_blog_category {
    padding: .4rem 1rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    background-color: var(--gy-neutral-darkest-05);
    border-radius: .6rem;
    color: var(--gy-neutral-darkest);
}

/* ---------- Blog Content ---------- */

.related_blog_section .related_blog_card h5 {
    margin: 1.6rem 0 0;
    color: var(--gy-neutral-darkest);
}

.related_blog_section .related_blog_card>p {
    margin: .8rem 0 0;
    color: var(--gy-neutral-darkest);
}

.related_blog_section .related_blog_read_more {
    margin-top: 2.4rem;
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    color: var(--gy-neutral-darkest);
}

.related_blog_section .related_blog_read_more img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
    object-fit: contain;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .related_blog_section .related_blog_container {
        gap: 7.2rem;
    }

    .related_blog_section .related_blog_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 5.6rem 2.4rem;
    }

    .related_blog_section .related_blog_image {
        height: 27rem;
    }
}

@media (max-width: 991px) {
    .related_blog_section .related_blog_container {
        gap: 6.8rem;
    }

    .related_blog_section .related_blog_grid {
        grid-template-columns: 1fr;
        gap: 4.8rem 2.4rem;
    }

    .related_blog_section .related_blog_image {
        height: 24rem;
    }

    .related_blog_section .related_blog_meta {
        margin-top: 2rem;
    }
}

@media (max-width: 768px) {
    .related_blog_section .related_blog_container {
        gap: 5.6rem;
    }

    .related_blog_section .related_blog_head {
        gap: 2rem;
    }

    .related_blog_section .related_blog_grid {
        gap: 4.8rem;
    }

    .related_blog_section .related_blog_image {
        height: 30rem;
    }
}

@media (max-width: 568px) {
    .related_blog_section .related_blog_container {
        gap: 4.8rem;
    }

    .related_blog_section .related_blog_grid {
        gap: 4rem;
    }

    .related_blog_section .related_blog_image {
        height: 25rem;
        border-radius: 1.2rem;
    }

    .related_blog_section .related_blog_meta {
        margin-top: 1.6rem;
        gap: 1.2rem;
    }

    .related_blog_section .related_blog_card h5 {
        margin-top: 1.2rem;
    }

    .related_blog_section .related_blog_read_more {
        margin-top: 2rem;
    }

    .related_blog_section .related_blog_read_more img {
        width: 2rem;
        height: 2rem;
    }
}

@media (max-width: 480px) {
    .related_blog_section .related_blog_container {
        gap: 4rem;
    }

    .related_blog_section .related_blog_grid {
        gap: 3.6rem;
    }

    .related_blog_section .related_blog_image {
        height: 21rem;
        border-radius: 1rem;
    }

    .related_blog_section .related_blog_card h5 {
        margin-top: 1rem;
    }

    .related_blog_section .related_blog_read_more {
        margin-top: 1.6rem;
        gap: .6rem;
    }

    .related_blog_section .related_blog_read_more img {
        width: 1.8rem;
        height: 1.8rem;
    }
}

@media (max-width: 360px) {
    .related_blog_section .related_blog_container {
        gap: 3.6rem;
    }

    .related_blog_section .related_blog_grid {
        gap: 3.2rem;
    }

    .related_blog_section .related_blog_image {
        height: 18rem;
    }

    .related_blog_section .related_blog_read_more img {
        width: 1.6rem;
        height: 1.6rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ------------------------- Privacy Policy Header -------------------------- */
/* -------------------------------------------------------------------------- */

.privacy_policy_header {
    width: 100%;
    background-color: var(--gy-white);
}

.privacy_policy_header .privacy_policy_header_container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2.4rem;
}

.privacy_policy_header h1 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.privacy_policy_header p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .privacy_policy_header .privacy_policy_header_container {
        gap: 2.2rem;
    }
}

@media (max-width: 991px) {
    .privacy_policy_header .privacy_policy_header_container {
        gap: 2rem;
    }
}

@media (max-width: 768px) {
    .privacy_policy_header .privacy_policy_header_container {
        gap: 1.6rem;
    }
}

@media (max-width: 568px) {
    .privacy_policy_header .privacy_policy_header_container {
        gap: 1.4rem;
    }
}

@media (max-width: 480px) {
    .privacy_policy_header .privacy_policy_header_container {
        gap: 1.2rem;
    }
}

@media (max-width: 360px) {
    .privacy_policy_header .privacy_policy_header_container {
        gap: 1rem;
    }
}










/* -------------------------------------------------------------------------- */
/* -------------------------- Blog Article Content -------------------------- */
/* -------------------------------------------------------------------------- */

.blog_article_section {
    width: 100%;
    background-color: var(--gy-white);
}

.blog_article_section .blog_article_container {
    display: grid;
    grid-template-columns: 32rem minmax(0, 1fr);
    align-items: start;
    gap: 12rem;
}

/* ---------- Table of Contents ---------- */

.blog_article_section .blog_article_toc {
    position: sticky;
    top: 3.2rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.blog_article_section .blog_article_toc h6 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.blog_article_section .blog_article_toc_nav {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.blog_article_section .blog_article_toc_nav a {
    padding: 1.2rem 1.6rem;
    border: .1rem solid transparent;
    border-radius: .8rem;
    color: var(--gy-neutral-darkest);
    text-decoration: none;
    transition: border-color .3s ease, background-color .3s ease;
}

.blog_article_section .blog_article_toc_nav a:nth-child(2) {
    padding-left: 3.2rem;
}

.blog_article_section .blog_article_toc_nav a:nth-child(3) {
    padding-left: 4.8rem;
}

.blog_article_section .blog_article_toc_nav a:nth-child(4) {
    padding-left: 6.4rem;
}

.blog_article_section .blog_article_toc_nav a:nth-child(5) {
    padding-left: 8rem;
}

.blog_article_section .blog_article_toc_nav.blog_article_toc_nav--legal {
    display: flex;
    flex-direction: column;
}

.blog_article_section .blog_article_toc_nav.blog_article_toc_nav--legal a:nth-child(n) {
    padding-left: 1.6rem;
}

.blog_article_section .blog_article_toc_nav a.active {
    border-color: var(--gy-neutral-darkest-15);
    background-color: var(--gy-white);
    font-weight: 600;
}

@media (hover: hover) and (pointer: fine) {
    .blog_article_section .blog_article_toc_nav a:hover {
        border-color: var(--gy-neutral-darkest-15);
        background-color: var(--gy-white);
        font-weight: 600;
    }
}

.blog_article_section .blog_article_toc_nav a:focus-visible {
    outline: .2rem solid var(--gy-tulip-tree);
    outline-offset: .2rem;
}

/* ---------- Article Content ---------- */

.blog_article_section .blog_article_content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

.blog_article_section .blog_article_block {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    scroll-margin-top: 3.2rem;
}

.blog_article_section .blog_article_block h3,
.blog_article_section .blog_article_block h4,
.blog_article_section .blog_article_block h5,
.blog_article_section .blog_article_block h6 {
    margin: 0 0 .4rem;
    color: var(--gy-neutral-darkest);
}

.blog_article_section .blog_article_block p {
    margin: 0;
}

/* ---------- Article Image ---------- */

.blog_article_section .blog_article_figure {
    width: 100%;
    margin: 1.2rem 0 1.6rem;
}

.blog_article_section .blog_article_figure img {
    width: 100%;
    height: auto;
    max-height: 48rem;
    display: block;
    object-fit: cover;
    border-radius: 1.6rem;
}

.blog_article_section .blog_article_figure figcaption {
    margin-top: .8rem;
    padding-left: .8rem;
    border-left: .2rem solid var(--gy-neutral-darkest-15);
    color: var(--gy-neutral-dark);
}

/* ---------- Article Quote ---------- */

.blog_article_section .blog_article_quote {
    margin: 0;
    padding: .4rem 0 .4rem 1.6rem;
    border-left: .2rem solid var(--gy-neutral-darkest-15);
    color: var(--gy-neutral-dark);
    font-style: italic;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .blog_article_section .blog_article_container {
        grid-template-columns: 28rem minmax(0, 1fr);
        gap: 8rem;
    }

    .blog_article_section .blog_article_toc_nav a:nth-child(2) {
        padding-left: 2.8rem;
    }

    .blog_article_section .blog_article_toc_nav a:nth-child(3) {
        padding-left: 4rem;
    }

    .blog_article_section .blog_article_toc_nav a:nth-child(4) {
        padding-left: 5.2rem;
    }

    .blog_article_section .blog_article_toc_nav a:nth-child(5) {
        padding-left: 6.4rem;
    }

    .blog_article_section .blog_article_figure img {
        max-height: 42rem;
    }
}

@media (max-width: 991px) {
    .blog_article_section .blog_article_container {
        grid-template-columns: 24rem minmax(0, 1fr);
        gap: 4rem;
    }

    .blog_article_section .blog_article_toc {
        gap: 1.2rem;
    }

    .blog_article_section .blog_article_toc_nav a {
        padding: 1rem 1.2rem;
    }

    .blog_article_section .blog_article_toc_nav a:nth-child(2) {
        padding-left: 2rem;
    }

    .blog_article_section .blog_article_toc_nav a:nth-child(3) {
        padding-left: 2.8rem;
    }

    .blog_article_section .blog_article_toc_nav a:nth-child(4) {
        padding-left: 3.6rem;
    }

    .blog_article_section .blog_article_toc_nav a:nth-child(5) {
        padding-left: 4.4rem;
    }

    .blog_article_section .blog_article_toc_nav.blog_article_toc_nav--legal a:nth-child(n) {
        padding-left: 1.2rem;
    }

    .blog_article_section .blog_article_content {
        gap: 2.8rem;
    }

    .blog_article_section .blog_article_figure img {
        max-height: 36rem;
    }
}

@media (max-width: 768px) {
    .blog_article_section .blog_article_container {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .blog_article_section .blog_article_toc {
        position: static;
        gap: 1.2rem;
    }

    .blog_article_section .blog_article_toc h6 {
        font-size: 3rem;
    }

    .blog_article_section .blog_article_toc_nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .8rem;
    }

    .blog_article_section .blog_article_toc_nav a,
    .blog_article_section .blog_article_toc_nav a:nth-child(n) {
        padding: 1rem 1.2rem;
    }

    .blog_article_section .blog_article_content {
        gap: 2.8rem;
    }

    .blog_article_section .blog_article_block {
        scroll-margin-top: 2rem;
    }

    .blog_article_section .blog_article_figure {
        margin: .4rem 0 1.2rem;
    }

    .blog_article_section .blog_article_figure img {
        max-height: 40rem;
    }
}

@media (max-width: 568px) {
    .blog_article_section .blog_article_container {
        gap: 3.2rem;
    }

    .blog_article_section .blog_article_toc h6 {
        font-size: 2.8rem;
    }

    .blog_article_section .blog_article_toc_nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .blog_article_section .blog_article_content {
        gap: 2.4rem;
    }

    .blog_article_section .blog_article_block {
        gap: 1rem;
    }

    .blog_article_section .blog_article_figure img {
        max-height: 30rem;
        border-radius: 1.2rem;
    }

    .blog_article_section .blog_article_quote {
        padding-left: 1.2rem;
    }
}

@media (max-width: 480px) {
    .blog_article_section .blog_article_container {
        gap: 2.8rem;
    }

    .blog_article_section .blog_article_toc h6 {
        font-size: 2.4rem;
    }

    .blog_article_section .blog_article_toc_nav {
        grid-template-columns: 1fr;
    }

    .blog_article_section .blog_article_content {
        gap: 2rem;
    }

    .blog_article_section .blog_article_figure img {
        max-height: 24rem;
        border-radius: 1rem;
    }

    .blog_article_section .blog_article_quote {
        padding-left: 1rem;
    }
}

@media (max-width: 360px) {
    .blog_article_section .blog_article_container {
        gap: 2.4rem;
    }

    .blog_article_section .blog_article_toc_nav a,
    .blog_article_section .blog_article_toc_nav a:nth-child(n) {
        padding: .8rem 1rem;
    }

    .blog_article_section .blog_article_toc_nav.blog_article_toc_nav--legal a:nth-child(n) {
        padding-left: 1rem;
    }

    .blog_article_section .blog_article_figure img {
        max-height: 20rem;
    }
}










/* -------------------------------------------------------------------------- */
/* -------------------------- Related Products Section ---------------------- */
/* -------------------------------------------------------------------------- */

.related_products_section {
    width: 100%;
    overflow: hidden;
    background-color: var(--gy-white);
}

.related_products_section .related_products_container {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

/* ---------- Section Heading ---------- */

.related_products_section .related_products_head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.related_products_section .related_products_head_content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.6rem;
}

.related_products_section .related_products_head_content h2,
.related_products_section .related_products_head_content p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Related Products Grid ---------- */

.related_products_section .related_products_grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.8rem;
}

/* ---------- Product ---------- */

.related_products_section .related_products_item {
    width: 100%;
    height: auto;
}

.related_products_section .related_product {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* ---------- Product Image ---------- */

.related_products_section .related_product_image {
    width: 100%;
    height: 48.6rem;
    position: relative;
    border-radius: 1.6rem;
    overflow: hidden;
    background-color: var(--gy-neutral-lighter);
}

.related_products_section .related_product_image>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ---------- Product Badge ---------- */

.related_products_section .related_product_badge {
    position: absolute;
    top: 1.6rem;
    left: 1.6rem;
    padding: .4rem 1rem;
    border-radius: .6rem;
    color: var(--gy-white);
    background-color: var(--gy-neutral-darkest);
    z-index: 1;
}

/* ---------- Product Wishlist ---------- */

.related_products_section .related_product_wishlist {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    border: 0;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 1;
}

.related_products_section .related_product_wishlist img {
    width: 100%;
    height: 100%;
    display: block;
}

/* ---------- Product Content ---------- */

.related_products_section .related_product_content {
    padding-top: 1.6rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.related_products_section .related_product_info {
    min-height: 5.8rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.related_products_section .related_product_info p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Product Bottom ---------- */

.related_products_section .related_product_bottom {
    margin-top: auto;
    padding-top: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
}

.related_products_section .related_product_price {
    display: flex;
    align-items: baseline;
    gap: .6rem;
    white-space: nowrap;
}

.related_products_section .related_product_price h4 {
    color: var(--gy-neutral-darkest);
}

.related_products_section .related_product_price span {
    color: var(--gy-neutral-dark);
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {

    .related_products_section .related_products_container {
        gap: 3.6rem;
    }

    .related_products_section .related_products_grid {
        gap: 4rem;
    }

    .related_products_section .related_product_image {
        height: 42rem;
    }

}

@media (max-width: 991px) {

    .related_products_section .related_products_container {
        gap: 3.2rem;
    }

    .related_products_section .related_products_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 4rem;
    }

    .related_products_section .related_product_image {
        height: 38rem;
    }

    .related_products_section .related_product_badge {
        top: 1.2rem;
        left: 1.2rem;
    }

    .related_products_section .related_product_wishlist {
        top: 1.6rem;
        right: 1.6rem;
    }

}

@media (max-width: 768px) {

    .related_products_section .related_products_container {
        gap: 2.8rem;
    }

    .related_products_section .related_products_head_content {
        gap: 1.2rem;
    }

    .related_products_section .related_products_grid {
        gap: 3.2rem;
    }

    .related_products_section .related_product_image {
        height: 34rem;
        border-radius: 1.2rem;
    }

    .related_products_section .related_product_content {
        padding-top: 1.2rem;
    }

    .related_products_section .related_product_info {
        min-height: 5.2rem;
    }

    .related_products_section .related_product_bottom {
        padding-top: 1.2rem;
    }

    .related_products_section .related_product_wishlist {
        width: 2.2rem;
        height: 2.2rem;
    }

}

@media (max-width: 568px) {

    .related_products_section .related_products_container {
        gap: 2.4rem;
    }

    .related_products_section .related_products_grid {
        grid-template-columns: 1fr;
        gap: 3.2rem;
    }

    .related_products_section .related_product_image {
        height: 29.6rem;
        border-radius: 1rem;
    }

    .related_products_section .related_product_badge {
        top: 1rem;
        left: 1rem;
        padding: .4rem .8rem;
        border-radius: .4rem;
    }

    .related_products_section .related_product_wishlist {
        top: 1.2rem;
        right: 1.2rem;
        width: 2rem;
        height: 2rem;
    }

    .related_products_section .related_product_content {
        padding-top: 1rem;
    }

    .related_products_section .related_product_info {
        min-height: 5rem;
    }

    .related_products_section .related_product_bottom {
        padding-top: 1rem;
        gap: .8rem;
    }

}

@media (max-width: 480px) {

    .related_products_section .related_products_container {
        gap: 2rem;
    }

    .related_products_section .related_products_grid {
        gap: 3rem;
    }

    .related_products_section .related_product_image {
        height: 25.8rem;
    }

    .related_products_section .related_product_info {
        min-height: 4.8rem;
    }

    .related_products_section .related_product_price {
        gap: .4rem;
    }

}

@media (max-width: 360px) {

    .related_products_section .related_products_container {
        gap: 1.8rem;
    }

    .related_products_section .related_product_image {
        height: 23.4rem;
    }

    .related_products_section .related_product_bottom {
        align-items: flex-start;
    }

}










/* -------------------------------------------------------------------------- */
/* -------------------------- Product Detail Section ------------------------ */
/* -------------------------------------------------------------------------- */

.product_detail_section {
    width: 100%;
    background-color: var(--gy-white);
}

.product_detail_section .product_detail_container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    gap: 6.4rem;
}

/* ---------- Product Gallery ---------- */

.product_detail_section .product_detail_gallery {
    width: 100%;
    min-width: 0;
    position: sticky;
    top: 3.2rem;
}

.product_detail_section .product_detail_image {
    width: 100%;
    height: 70rem;
    position: relative;
    overflow: hidden;
    border-radius: 1.6rem;
    background-color: var(--gy-neutral-lighter);
}

.product_detail_section .product_detail_image .swiper-wrapper,
.product_detail_section .product_detail_image .swiper-slide {
    width: 100%;
    height: 100%;
}

.product_detail_section .product_detail_image .swiper-slide {
    flex-shrink: 0;
}

.product_detail_section .product_detail_image .swiper-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.product_detail_section .product_detail_gallery_previous,
.product_detail_section .product_detail_gallery_next {
    position: absolute;
    top: 50%;
    width: 4.8rem;
    height: 4.8rem;
    padding: 0;
    border: 0;
    border-radius: .8rem;
    background-color: var(--gy-white);
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 2;
}

.product_detail_section .product_detail_gallery_previous {
    left: 1.6rem;
}

.product_detail_section .product_detail_gallery_next {
    right: 1.6rem;
}

.product_detail_section .product_detail_gallery_previous img,
.product_detail_section .product_detail_gallery_next img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
}

.product_detail_section .product_detail_pagination {
    position: absolute;
    bottom: 1.6rem;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateX(-50%);
    z-index: 2;
}

.product_detail_section .product_detail_pagination .swiper-pagination-bullet {
    width: .8rem;
    height: .8rem;
    margin: 0 .4rem !important;
    opacity: 1;
    background-color: var(--gy-neutral-darkest-15);
}

.product_detail_section .product_detail_pagination .swiper-pagination-bullet-active {
    background-color: var(--gy-neutral-darkest);
}

/* ---------- Product Content ---------- */

.product_detail_section .product_detail_content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.product_detail_section .product_detail_breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.product_detail_section .product_detail_breadcrumb a,
.product_detail_section .product_detail_breadcrumb span {
    color: var(--gy-neutral-darkest);
}

.product_detail_section .product_detail_breadcrumb a {
    text-decoration: none;
}

.product_detail_section .product_detail_breadcrumb img {
    width: 1.6rem;
    height: 1.6rem;
    display: block;
}

/* ---------- Product Head ---------- */

.product_detail_section .product_detail_head {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.product_detail_section .product_detail_head h3 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.product_detail_section .product_detail_price_rating {
    display: flex;
    align-items: center;
}

.product_detail_section .product_detail_price {
    display: flex;
    align-items: baseline;
    gap: .8rem;
}

.product_detail_section .product_detail_price h5 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.product_detail_section .product_detail_price span {
    color: var(--gy-neutral-dark);
}

.product_detail_section .product_detail_rating {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-left: 1.6rem;
    padding-left: 1.6rem;
    border-left: .1rem solid var(--gy-neutral-darkest-15);
}

.product_detail_section .product_detail_stars {
    display: flex;
    align-items: center;
    gap: .4rem;
}

.product_detail_section .product_detail_stars span {
    width: 1.6rem;
    height: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product_detail_section .product_detail_stars img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

/* ---------- Product Description ---------- */

.product_detail_section .product_detail_description {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    color: var(--gy-neutral-darkest);
}

.product_detail_section .product_detail_description p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.product_detail_section .product_detail_description ul {
    margin: 0;
    padding-left: 2rem;
    list-style: disc;
}

.product_detail_section .product_detail_description li {
    color: var(--gy-neutral-darkest);
}

/* ---------- Product Fields ---------- */

.product_detail_section .product_detail_field {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.product_detail_section .product_detail_field label {
    color: var(--gy-neutral-darkest);
}

/* ---------- Product Actions ---------- */

.product_detail_section .product_detail_actions {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.product_detail_section .product_detail_actions form {
    width: 100%;
}

.product_detail_section .product_detail_actions .button {
    width: 100%;
}

.product_detail_section .product_detail_actions p {
    text-align: center;
    color: var(--gy-neutral-darkest);
}

/* ---------- Product Information ---------- */

.product_detail_section .product_detail_information {
    display: flex;
    flex-direction: column;
    margin-top: .8rem;
}

.product_detail_section .product_detail_information_item {
    padding: 2.4rem 0;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

.product_detail_section .product_detail_information_item:first-child {
    padding-top: 0;
}

.product_detail_section .product_detail_information_item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.product_detail_section .product_detail_information_item p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.product_detail_section .product_detail_information_item > .text-medium.text-semi-bold {
    margin-bottom: .8rem;
    font-size: clamp(2.2rem, 2vw, 2.6rem);
    font-weight: 700;
    line-height: 1.25;
}

.product_detail_section .product_detail_information_text {
    color: var(--gy-neutral-darkest);
}

.product_detail_section .product_detail_information_text p {
    margin: 0;
}

.product_detail_section .product_detail_information_text ul {
    padding-left: 2rem;
    list-style: disc;
}

.product_detail_section .product_detail_actions .button:disabled {
    opacity: .5;
    cursor: not-allowed;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {

    .product_detail_section .product_detail_container {
        gap: 5.6rem;
    }

    .product_detail_section .product_detail_image {
        height: 64rem;
    }
}

@media (max-width: 991px) {

    .product_detail_section .product_detail_container {
        grid-template-columns: 1fr;
        gap: 4.8rem;
    }

    .product_detail_section .product_detail_image {
        height: 56rem;
    }

    .product_detail_section .product_detail_gallery {
        top: 2.4rem;
        position: relative;
        top: 0;
    }

    .product_detail_section .product_detail_gallery_previous,
    .product_detail_section .product_detail_gallery_next {
        width: 4.4rem;
        height: 4.4rem;
    }

    .product_detail_section .product_detail_gallery_previous img,
    .product_detail_section .product_detail_gallery_next img {
        width: 2.2rem;
        height: 2.2rem;
    }
}

@media (max-width: 768px) {

    .product_detail_section .product_detail_container {
        gap: 4.8rem;
    }

    .product_detail_section .product_detail_gallery {
        position: static;
    }

    .product_detail_section .product_detail_image {
        height: 60rem;
    }

    .product_detail_section .product_detail_content {
        gap: 2rem;
    }

    .product_detail_section .product_detail_head {
        gap: 2rem;
    }

    .product_detail_section .product_detail_price_rating {
        flex-wrap: wrap;
        gap: 1.2rem;
    }

    .product_detail_section .product_detail_rating {
        margin-left: 0;
        padding-left: 1.2rem;
    }
}

@media (max-width: 568px) {

    .product_detail_section .product_detail_container {
        gap: 4rem;
    }

    .product_detail_section .product_detail_image {
        height: 48rem;
        border-radius: 1.2rem;
    }

    .product_detail_section .product_detail_gallery_previous,
    .product_detail_section .product_detail_gallery_next {
        width: 4rem;
        height: 4rem;
    }

    .product_detail_section .product_detail_gallery_previous {
        left: 1.2rem;
    }

    .product_detail_section .product_detail_gallery_next {
        right: 1.2rem;
    }

    .product_detail_section .product_detail_gallery_previous img,
    .product_detail_section .product_detail_gallery_next img {
        width: 2rem;
        height: 2rem;
    }

    .product_detail_section .product_detail_pagination {
        bottom: 1.2rem;
    }

    .product_detail_section .product_detail_rating {
        width: 100%;
        margin-left: 0;
        padding-left: 0;
        border-left: 0;
    }

    .product_detail_section .product_detail_information_item {
        padding: 2rem 0;
    }
}

@media (max-width: 480px) {

    .product_detail_section .product_detail_container {
        gap: 3.6rem;
    }

    .product_detail_section .product_detail_image {
        height: 40rem;
    }

    .product_detail_section .product_detail_gallery_previous,
    .product_detail_section .product_detail_gallery_next {
        width: 3.6rem;
        height: 3.6rem;
    }

    .product_detail_section .product_detail_gallery_previous {
        left: 1rem;
    }

    .product_detail_section .product_detail_gallery_next {
        right: 1rem;
    }

    .product_detail_section .product_detail_gallery_previous img,
    .product_detail_section .product_detail_gallery_next img {
        width: 1.8rem;
        height: 1.8rem;
    }

    .product_detail_section .product_detail_breadcrumb {
        gap: .6rem;
    }

    .product_detail_section .product_detail_breadcrumb img {
        width: 1.4rem;
        height: 1.4rem;
    }
}

@media (max-width: 360px) {

    .product_detail_section .product_detail_container {
        gap: 3.2rem;
    }

    .product_detail_section .product_detail_image {
        height: 34rem;
    }

    .product_detail_section .product_detail_gallery_previous,
    .product_detail_section .product_detail_gallery_next {
        width: 3.2rem;
        height: 3.2rem;
    }

    .product_detail_section .product_detail_gallery_previous {
        left: .8rem;
    }

    .product_detail_section .product_detail_gallery_next {
        right: .8rem;
    }

    .product_detail_section .product_detail_gallery_previous img,
    .product_detail_section .product_detail_gallery_next img {
        width: 1.6rem;
        height: 1.6rem;
    }
}










/* -------------------------------------------------------------------------- */
/* ---------------------------- Shopping Cart Section ----------------------- */
/* -------------------------------------------------------------------------- */

.shopping_cart_section {
    width: 100%;
    background-color: var(--gy-white);
}

.shopping_cart_section .shopping_cart_container {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

/* ---------- Shopping Cart Header ---------- */

.shopping_cart_section .shopping_cart_header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4rem;
}

.shopping_cart_section .shopping_cart_heading {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.shopping_cart_section .shopping_cart_heading h4 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.shopping_cart_section .shopping_cart_heading p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.shopping_cart_section .shopping_cart_continue {
    display: flex;
    align-items: center;
    gap: .8rem;
    color: var(--gy-neutral-darkest);
    text-decoration: none;
    white-space: nowrap;
}

.shopping_cart_section .shopping_cart_continue img {
    width: 2rem;
    height: 2rem;
    display: block;
}

/* ---------- Shopping Cart Layout ---------- */

.shopping_cart_section .shopping_cart_layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40rem;
    align-items: start;
    gap: 6.4rem;
}

/* ---------- Cart Items ---------- */

.shopping_cart_section .shopping_cart_items {
    display: flex;
    flex-direction: column;
}

.shopping_cart_section .shopping_cart_item {
    display: grid;
    grid-template-columns: 13.1rem minmax(0, 1fr);
    gap: 2.4rem;
    padding: 2.4rem 0;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

.shopping_cart_section .shopping_cart_item:first-child {
    padding-top: 0;
}

.shopping_cart_section .shopping_cart_item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.shopping_cart_section .shopping_cart_item_image {
    width: 13.1rem;
    height: 13.1rem;
    overflow: hidden;
    border-radius: 1rem;
    background-color: var(--gy-neutral-lighter);
}

.shopping_cart_section .shopping_cart_item_image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.shopping_cart_section .shopping_cart_item_content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 2.4rem;
}

.shopping_cart_section .shopping_cart_item_head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2.4rem;
}

.shopping_cart_section .shopping_cart_item_info {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.shopping_cart_section .shopping_cart_item_info p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.shopping_cart_section .shopping_cart_item_info p a,
.shopping_cart_section .shopping_cart_item_info p a:visited,
.shopping_cart_section .shopping_cart_item_info p a:hover {
    color: inherit;
}

.shopping_cart_section .shopping_cart_item_price {
    margin: 0;
    color: var(--gy-neutral-darkest);
    white-space: nowrap;
}

.shopping_cart_section .shopping_cart_item_actions {
    display: flex;
    align-items: center;
    gap: 3.2rem;
}

.shopping_cart_section .shopping_cart_remove {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--gy-neutral-darkest);
    cursor: pointer;
}

/* ---------- Order Summary ---------- */

.shopping_cart_section .shopping_cart_summary {
    position: sticky;
    top: 3.2rem;
    padding: 2.4rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.shopping_cart_section .shopping_cart_summary h5 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.shopping_cart_section .shopping_cart_summary_details {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding-bottom: 2rem;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

.shopping_cart_section .shopping_cart_summary_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.shopping_cart_section .shopping_cart_summary_row span {
    color: var(--gy-neutral-darkest);
}

.shopping_cart_section .shopping_cart_free,
.shopping_cart_section .shopping_cart_discount {
    color: var(--gy-success) !important;
}

/* ---------- Coupon ---------- */

.shopping_cart_section .shopping_cart_coupon {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding-bottom: 2rem;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

.shopping_cart_section .shopping_cart_coupon label {
    color: var(--gy-neutral-darkest);
}

.shopping_cart_section .shopping_cart_coupon_form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .8rem;
}

.shopping_cart_section .shopping_cart_coupon_input {
    min-width: 0;
    height: 4.8rem;
    padding: 0 1.2rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    background-color: var(--gy-neutral-darkest-05);
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.shopping_cart_section .shopping_cart_coupon_input img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
    flex-shrink: 0;
}

.shopping_cart_section .shopping_cart_coupon_input input {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--gy-neutral-darkest);
}

.shopping_cart_section .shopping_cart_coupon_input input::placeholder {
    color: var(--gy-neutral-darkest-60);
}

.shopping_cart_section .shopping_cart_coupon_form .button {
    min-width: 10rem;
    border-radius: 1.2rem;
}

.shopping_cart_section .shopping_cart_coupon_success {
    margin: 0;
    display: flex;
    align-items: center;
    gap: .8rem;
    color: var(--gy-neutral-darkest);
}

.shopping_cart_section .shopping_cart_coupon_success img {
    width: 1.6rem;
    height: 1.6rem;
    display: block;
}

/* ---------- Shopping Cart Total ---------- */

.shopping_cart_section .shopping_cart_total {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .4rem;
}

.shopping_cart_section .shopping_cart_total_head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.shopping_cart_section .shopping_cart_total_head span {
    color: var(--gy-neutral-darkest);
}

.shopping_cart_section .shopping_cart_total_head h5 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.shopping_cart_section .shopping_cart_total p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Checkout ---------- */

.shopping_cart_section .shopping_cart_checkout {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
}

.shopping_cart_section .shopping_cart_checkout img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
}

.shopping_cart_section .shopping_cart_security {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
}

.shopping_cart_section .shopping_cart_security img {
    width: 1.6rem;
    height: 1.6rem;
    display: block;
    flex-shrink: 0;
}

.shopping_cart_section .shopping_cart_security p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {

    .shopping_cart_section .shopping_cart_layout {
        grid-template-columns: minmax(0, 1fr) 36rem;
        gap: 5.6rem;
    }

    .shopping_cart_section .shopping_cart_item {
        grid-template-columns: 12rem minmax(0, 1fr);
    }

    .shopping_cart_section .shopping_cart_item_image {
        width: 12rem;
        height: 12rem;
    }

}

@media (max-width: 991px) {

    .shopping_cart_section .shopping_cart_layout {
        grid-template-columns: 1fr;
        gap: 4.8rem;
    }

    .shopping_cart_section .shopping_cart_summary {
        position: static;
    }

}

@media (max-width: 768px) {

    .shopping_cart_section .shopping_cart_container {
        gap: 4.8rem;
    }

    .shopping_cart_section .shopping_cart_header {
        align-items: flex-start;
        flex-direction: column;
        gap: 2rem;
    }

    .shopping_cart_section .shopping_cart_item {
        grid-template-columns: 11rem minmax(0, 1fr);
        gap: 2rem;
    }

    .shopping_cart_section .shopping_cart_item_image {
        width: 11rem;
        height: 11rem;
    }

    .shopping_cart_section .shopping_cart_item_head {
        gap: 1.6rem;
    }

    .shopping_cart_section .shopping_cart_item_actions {
        gap: 2.4rem;
    }

    .shopping_cart_section .shopping_cart_summary {
        padding: 2.2rem;
    }

}

@media (max-width: 568px) {

    .shopping_cart_section .shopping_cart_container {
        gap: 4rem;
    }

    .shopping_cart_section .shopping_cart_item {
        grid-template-columns: 9rem minmax(0, 1fr);
        gap: 1.6rem;
    }

    .shopping_cart_section .shopping_cart_item_image {
        width: 9rem;
        height: 9rem;
        border-radius: .8rem;
    }

    .shopping_cart_section .shopping_cart_item_head {
        flex-direction: column;
        gap: 1.2rem;
    }

    .shopping_cart_section .shopping_cart_item_content {
        gap: 1.6rem;
    }

    .shopping_cart_section .shopping_cart_item_actions {
        gap: 1.6rem;
    }

    .shopping_cart_section .shopping_cart_coupon_form {
        grid-template-columns: 1fr;
    }

    .shopping_cart_section .shopping_cart_coupon_form .button {
        width: 100%;
    }

    .shopping_cart_section .shopping_cart_summary {
        padding: 2rem;
        border-radius: 1.2rem;
    }

}

@media (max-width: 480px) {

    .shopping_cart_section .shopping_cart_item {
        grid-template-columns: 8rem minmax(0, 1fr);
        gap: 1.4rem;
    }

    .shopping_cart_section .shopping_cart_item_image {
        width: 8rem;
        height: 8rem;
    }

    .shopping_cart_section .shopping_cart_item_actions {
        flex-wrap: wrap;
    }

    .shopping_cart_section .shopping_cart_summary {
        padding: 1.6rem;
    }

}

@media (max-width: 360px) {

    .shopping_cart_section .shopping_cart_item {
        grid-template-columns: 7rem minmax(0, 1fr);
        gap: 1.2rem;
    }

    .shopping_cart_section .shopping_cart_item_image {
        width: 7rem;
        height: 7rem;
    }

}










/* -------------------------------------------------------------------------- */
/* ----------------------- Order Confirmation Section ----------------------- */
/* -------------------------------------------------------------------------- */

.order_confirmation_section {
    width: 100%;
    background-color: var(--gy-white);
}

.order_confirmation_section .order_confirmation_container {
    display: flex;
    justify-content: center;
}

.order_confirmation_section .order_confirmation_card {
    width: 100%;
    max-width: 76.6rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
    overflow: hidden;
}

/* ---------- Confirmation Header ---------- */

.order_confirmation_section .order_confirmation_header {
    padding: 2.4rem 2.4rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.order_confirmation_section .order_confirmation_success {
    width: 6.4rem;
    height: 6.4rem;
    margin-bottom: 1.2rem;
}

.order_confirmation_section .order_confirmation_success img {
    width: 100%;
    height: 100%;
    display: block;
}

.order_confirmation_section .order_confirmation_header h5 {
    margin: 0;
    color: var(--gy-neutral-darkest);
    margin-bottom: .8rem;
}

.order_confirmation_section .order_confirmation_header p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Order Details ---------- */

.order_confirmation_section .order_confirmation_details {
    width: 31rem;
    margin: 0 auto 2rem;
    padding: 1.6rem 4rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    text-align: center;
}

.order_confirmation_section .order_confirmation_status {
    padding: .3rem .8rem;
    border-radius: 999rem;
    background-color: var(--gy-success);
    color: var(--gy-white);
}

.order_confirmation_section .order_confirmation_status.is-pending {
    background-color: var(--gy-tulip-tree);
}

.order_confirmation_section .order_confirmation_details div p {
    color: var(--gy-neutral-darkest);
}

.order_confirmation_section .order_confirmation_details div p:last-child {
    margin-top: .4rem;
}

/* ---------- Order Item ---------- */

.order_confirmation_section .order_confirmation_item {
    margin: 0 2rem;
    padding: 2rem 0;
    border-top: .1rem solid var(--gy-neutral-darkest-15);
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
    display: grid;
    grid-template-columns: 7.2rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.6rem;
}

.order_confirmation_section .order_confirmation_item_image {
    width: 7.2rem;
    height: 7.2rem;
    overflow: hidden;
    border-radius: 1rem;
    background-color: var(--gy-neutral-lighter);
}

.order_confirmation_section .order_confirmation_item_image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.order_confirmation_section .order_confirmation_item_info {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.order_confirmation_section .order_confirmation_item_info p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}


.order_confirmation_section .order_confirmation_item_price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .2rem;
}

.order_confirmation_section .order_confirmation_item_price p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Order Summary ---------- */

.order_confirmation_section .order_confirmation_summary {
    margin: 0 2rem;
    padding: 2rem 0;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.order_confirmation_section .order_confirmation_summary_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.order_confirmation_section .order_confirmation_summary_row span {
    color: var(--gy-neutral-darkest);
}

.order_confirmation_section .order_confirmation_free,
.order_confirmation_section .order_confirmation_discount {
    color: var(--gy-success) !important;
}

/* ---------- Total ---------- */

.order_confirmation_section .order_confirmation_total {
    margin: 0 2rem;
    padding: 2rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.order_confirmation_section .order_confirmation_total span {
    color: var(--gy-neutral-darkest);
}

/* ---------- Shipping ---------- */

.order_confirmation_section .order_confirmation_shipping {
    padding: 2.4rem;
    background-color: var(--gy-neutral-lighter);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2.4rem;
}

.order_confirmation_section .order_confirmation_shipping_info {
    display: flex;
    align-items: flex-start;
    gap: 2.4rem;
}

.order_confirmation_section .order_confirmation_shipping_info>img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
    flex-shrink: 0;
}

.order_confirmation_section .order_confirmation_shipping_info>div {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.order_confirmation_section .order_confirmation_shipping_info p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.order_confirmation_section .order_confirmation_shipping_info a {
    margin-top: 2rem;
    display: flex;
    align-items: center;
    gap: .8rem;
    color: var(--gy-neutral-darkest);
    text-decoration: none;
}

.order_confirmation_section .order_confirmation_shipping_info a img {
    width: 2rem;
    height: 2rem;
    display: block;
}

.order_confirmation_section .order_confirmation_help {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: var(--gy-neutral-darkest);
    text-decoration: none;
    white-space: nowrap;
}

.order_confirmation_section .order_confirmation_help img {
    width: 1.6rem;
    height: 1.6rem;
    display: block;
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {
    .order_confirmation_section .order_confirmation_card {
        max-width: 72rem;
    }
}

@media (max-width: 991px) {
    .order_confirmation_section .order_confirmation_card {
        max-width: 100%;
    }

    .order_confirmation_section .order_confirmation_shipping {
        align-items: flex-start;
    }
}

@media (max-width: 768px) {
    .order_confirmation_section .order_confirmation_header {
        padding: 2.4rem 2rem 1.6rem;
    }

    .order_confirmation_section .order_confirmation_success {
        width: 5.6rem;
        height: 5.6rem;
    }

    .order_confirmation_section .order_confirmation_details {
        width: 30rem;
    }

    .order_confirmation_section .order_confirmation_shipping {
        padding: 2rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 2rem;
    }

    .order_confirmation_section .order_confirmation_help {
        align-self: flex-end;
    }
}

@media (max-width: 568px) {
    .order_confirmation_section .order_confirmation_header {
        padding: 2rem 1.6rem 1.6rem;
    }

    .order_confirmation_section .order_confirmation_success {
        width: 5.2rem;
        height: 5.2rem;
        margin-bottom: 1rem;
    }

    .order_confirmation_section .order_confirmation_details {
        width: calc(100% - 3.2rem);
        margin-bottom: 1.6rem;
        padding: 1.4rem 2rem;
        border-radius: 1.2rem;
        gap: 1.2rem;
    }

    .order_confirmation_section .order_confirmation_item {
        margin: 0 1.6rem;
        grid-template-columns: 6rem minmax(0, 1fr) auto;
        gap: 1.2rem;
    }

    .order_confirmation_section .order_confirmation_item_image {
        width: 6rem;
        height: 6rem;
        border-radius: .8rem;
    }

    .order_confirmation_section .order_confirmation_item_price {
        grid-column: auto;
        align-items: flex-end;
    }

    .order_confirmation_section .order_confirmation_summary,
    .order_confirmation_section .order_confirmation_total {
        margin: 0 1.6rem;
    }

    .order_confirmation_section .order_confirmation_shipping {
        padding: 2rem 1.6rem;
    }

    .order_confirmation_section .order_confirmation_shipping_info {
        gap: 1.6rem;
    }

    .order_confirmation_section .order_confirmation_help {
        align-self: flex-end;
        white-space: normal;
    }
}

@media (max-width: 480px) {
    .order_confirmation_section .order_confirmation_item {
        grid-template-columns: 5.6rem minmax(0, 1fr) auto;
    }

    .order_confirmation_section .order_confirmation_item_image {
        width: 5.6rem;
        height: 5.6rem;
    }

    .order_confirmation_section .order_confirmation_shipping_info {
        gap: 1.2rem;
    }
}

@media (max-width: 360px) {
    .order_confirmation_section .order_confirmation_header {
        padding-left: 1.2rem;
        padding-right: 1.2rem;
    }

    .order_confirmation_section .order_confirmation_details {
        width: calc(100% - 2.4rem);
        padding-left: 1.2rem;
        padding-right: 1.2rem;
    }

    .order_confirmation_section .order_confirmation_item {
        margin-left: 1.2rem;
        margin-right: 1.2rem;
        grid-template-columns: 5rem minmax(0, 1fr) auto;
        gap: 1rem;
    }

    .order_confirmation_section .order_confirmation_item_image {
        width: 5rem;
        height: 5rem;
    }

    .order_confirmation_section .order_confirmation_summary,
    .order_confirmation_section .order_confirmation_total {
        margin-left: 1.2rem;
        margin-right: 1.2rem;
    }

    .order_confirmation_section .order_confirmation_shipping {
        padding-left: 1.2rem;
        padding-right: 1.2rem;
    }
}


/* -------------------------------------------------------------------------- */
/* ---------------------------- Order Summary ------------------------------- */

.order_summary {
    width: 100%;
    position: sticky;
    top: 3.2rem;
    padding: 2.4rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.order_summary h6 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Summary Product ---------- */

.order_summary_product {
    display: grid;
    grid-template-columns: 7.2rem minmax(0, 1fr) auto;
    align-items: start;
    gap: 1rem;
    padding-bottom: 2rem;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

.order_summary_product_image {
    width: 7.2rem;
    height: 7.2rem;
    border-radius: 1.2rem;
    overflow: hidden;
    background-color: var(--gy-neutral-darkest-05);
}

.order_summary_product_image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.order_summary_product_details {
    min-width: 0;
}

.order_summary_product_info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.order_summary_product_info p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.order_summary_product_info p:first-child {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.order_summary_product_quantity {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .4rem;
    color: var(--gy-neutral-darkest);
    white-space: nowrap;
}

/* ---------- Summary Details ---------- */

.order_summary_details {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding-bottom: 2rem;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

.order_summary_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.order_summary_row span {
    color: var(--gy-neutral-darkest);
}

.order_summary_free,
.order_summary_discount {
    color: var(--gy-success) !important;
}

/* ---------- Coupon ---------- */

.order_summary_coupon {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    padding-bottom: 2rem;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

.order_summary_coupon label {
    color: var(--gy-neutral-darkest);
}

.order_summary_coupon_form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .8rem;
}

.order_summary_coupon_input {
    min-width: 0;
    height: 4.8rem;
    padding: 0 1.2rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    background-color: var(--gy-neutral-darkest-05);
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.order_summary_coupon_input img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
    flex-shrink: 0;
}

.order_summary_coupon_input input {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--gy-neutral-darkest);
}

.order_summary_coupon_input input::placeholder {
    color: var(--gy-neutral-darkest-60);
}

.order_summary_coupon_form .button {
    min-width: 10rem;
    border-radius: 1.2rem;
}

.order_summary_coupon_success {
    margin: 0;
    display: flex;
    align-items: center;
    gap: .8rem;
    color: var(--gy-neutral-darkest);
}

.order_summary_coupon_success img {
    width: 1.6rem;
    height: 1.6rem;
    display: block;
}

/* ---------- Summary Total ---------- */

.order_summary_total {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .4rem;
}

.order_summary_total_head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.order_summary_total_head span {
    color: var(--gy-neutral-darkest);
}

.order_summary_total_head h5 {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.order_summary_total p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Checkout ---------- */

.order_summary_checkout {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
}

.order_summary_checkout img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
}

/* ---------- Security ---------- */

.order_summary_security {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
}

.order_summary_security img {
    width: 1.6rem;
    height: 1.6rem;
    display: block;
    flex-shrink: 0;
}

.checkout_section .order_summary .order_summary_coupon_error {
    color: #b42318;
}

.order_summary_security p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 991px) {

    .order_summary {
        position: static;
    }

}

@media (max-width: 768px) {

    .order_summary {
        padding: 2.2rem;
    }

    .order_summary_product {
        grid-template-columns: 6.8rem minmax(0, 1fr) auto;
        gap: 1.4rem;
    }

    .order_summary_product_image {
        width: 6.8rem;
        height: 6.8rem;
    }

}

@media (max-width: 568px) {

    .order_summary {
        padding: 2rem;
        border-radius: 1.2rem;
    }

    .order_summary_product {
        grid-template-columns: 6.4rem minmax(0, 1fr) auto;
        gap: 1.2rem;
    }

    .order_summary_product_image {
        width: 6.4rem;
        height: 6.4rem;
        border-radius: 1rem;
    }

    .order_summary_coupon_form {
        grid-template-columns: 1fr;
    }

    .order_summary_coupon_form .button {
        width: 100%;
    }

}

@media (max-width: 480px) {

    .order_summary {
        padding: 1.6rem;
    }

    .order_summary_product {
        grid-template-columns: 5.8rem minmax(0, 1fr) auto;
        gap: 1rem;
    }

    .order_summary_product_image {
        width: 5.8rem;
        height: 5.8rem;
    }

}

@media (max-width: 360px) {

    .order_summary {
        padding: 1.4rem;
    }

    .order_summary_product {
        grid-template-columns: 5.2rem minmax(0, 1fr) auto;
        gap: .8rem;
    }

    .order_summary_product_image {
        width: 5.2rem;
        height: 5.2rem;
    }

}










/* -------------------------------------------------------------------------- */
/* ----------------------------- Checkout Section --------------------------- */
/* -------------------------------------------------------------------------- */

.checkout_section {
    width: 100%;
    background-color: var(--gy-white);
}

.checkout_section .checkout_container {
    display: flex;
    flex-direction: column;
    gap: 6.4rem;
}

/* ---------- Checkout Header ---------- */

.checkout_section .checkout_header {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.checkout_section .checkout_header h2 {
    margin: 0;
    color: var(--gy-neutral-darkest);
    font-weight: 700;
}

.checkout_section .checkout_header p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Checkout Layout ---------- */

.checkout_section .checkout_layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 40rem;
    align-items: start;
    gap: 4.8rem;
}

.checkout_section .checkout_main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
}

.checkout_section .checkout_form,
.checkout_section .checkout_intro {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.checkout_section #express-checkout-element {
    grid-column: 1 / -1;
    min-width: 0;
}

.checkout_section .checkout_main .products {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.checkout_section .checkout_subheading {
    margin: 0;
    color: var(--gy-neutral-darkest);
    font-size: 2.4rem;
}

.checkout_section .login-strip p,
.checkout_section .checkout_card_content p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

.checkout_section .checkout_card_content a,
.checkout_section .login-strip a {
    color: var(--gy-neutral-darkest);
    text-decoration: underline;
}

.checkout_section .checkout_card_content .form-group {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: .8rem;
    margin: 0 !important;
}

.checkout_section .checkout_card_content .names {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.4rem;
}

.checkout_section .checkout_card_content .form-label {
    margin: 0;
    color: var(--gy-neutral-darkest);
    font-size: 1.6rem;
    font-weight: 600;
}

.checkout_section .checkout_card_content .form-control {
    width: 100%;
    min-height: 4.8rem;
    padding: 1rem 1.2rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    color: var(--gy-neutral-darkest);
    background-color: var(--gy-neutral-darkest-05);
    font-size: 1.6rem;
}

.checkout_section .checkout_card_content .form-control:focus {
    border-color: var(--gy-tulip-tree);
    box-shadow: 0 0 0 .3rem var(--gy-tulip-tree-10);
}

.checkout_section .checkout_card_content textarea.form-control {
    min-height: 10rem;
}

.checkout_section .different-address {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.checkout_section .different-address .login-strip h4 {
    margin: 0;
    font-size: 1.8rem;
}

.checkout_section #ship-box {
    accent-color: var(--gy-tulip-tree);
}

.checkout_section #secondaryaddr {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.checkout_section #secondaryaddr > * + * {
    margin-top: 2.4rem;
}

.checkout_section .order_summary .order {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.checkout_section .order_summary .order > h6 {
    margin: 0;
}

.checkout_section .order_summary .product-main {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    padding: 1.6rem 0 !important;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

.checkout_section .order_summary .product-main .left {
    min-width: 0;
    flex: 1;
}

.checkout_section .order_summary .product-main .right {
    margin: 0 !important;
    white-space: nowrap;
}

.checkout_section .order_summary .product-main h3,
.checkout_section .order_summary .product-main h6,
.checkout_section .order_summary .product-main p {
    margin: 0;
    color: var(--gy-neutral-darkest);
    font-size: 1.6rem;
}

.checkout_section .order_summary .product-main p {
    font-size: 1.4rem;
}

.checkout_section .order_summary .order-img,
.checkout_section .order_summary .order-img img {
    width: 7.2rem;
    height: 7.2rem;
    border-radius: 1rem;
    object-fit: cover;
}

.checkout_section .order_summary .order-list {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.checkout_section .order_summary .ship,
.checkout_section .order_summary .total {
    display: flex;
    justify-content: space-between;
    gap: 1.6rem;
}

.checkout_section .order_summary .ship h6,
.checkout_section .order_summary .total h6,
.checkout_section .order_summary .ship p,
.checkout_section .order_summary .total p {
    margin: 0;
    color: var(--gy-neutral-darkest);
    font-size: 1.6rem;
}

.checkout_section .order_summary .total {
    padding-top: 1.6rem;
    border-top: .1rem solid var(--gy-neutral-darkest-15);
}

.checkout_section .order_summary .payment-mode p {
    color: var(--gy-neutral-darkest);
    font-size: 1.5rem;
}

.checkout_section .order_summary .payment-mode a {
    color: var(--gy-neutral-darkest);
}

.checkout_section .order_summary .checkout_place_order,
.checkout_section .order_summary #submit-frm {
    width: 100%;
}

@media (max-width: 568px) {
    .checkout_section .checkout_card_content .names {
        grid-template-columns: 1fr;
    }
}

/* ---------- Express Checkout ---------- */

.checkout_section [data-checkout-payment-controls][hidden] {
    display: none;
}

.checkout_section .checkout_express {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.checkout_section .checkout_express>p {
    margin: 0;
    text-align: center;
    color: var(--gy-neutral-darkest);
}

.checkout_section .checkout_express_buttons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr));
    align-items: start;
    gap: 1.6rem;
}

.checkout_section .order_summary .checkout_express_buttons {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
}

.checkout_section .checkout_express_button {
    height: 5rem;
    padding: 0 1.6rem;
    border: 0;
    border-radius: .8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .2rem;
    cursor: pointer;
}

.checkout_section .checkout_apple_pay,
.checkout_section .checkout_google_pay {
    background-color: var(--gy-neutral-darkest);
}

.checkout_section .checkout_paypal {
    background-color: var(--gy-tulip-tree);
}

.checkout_section .checkout_express_button img {
    width: auto;
    height: 2.4rem;
    display: block;
    object-fit: contain;
}

.checkout_section .checkout_express_buttons > [id^="express-checkout-element-"] {
    height: auto;
    min-height: 0;
    min-width: 0;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
}

.checkout_section .checkout_express_buttons > #express-checkout-element-paypal {
    display: block;
}

.checkout_section .checkout_express_buttons > #express-checkout-element-applepay,
.checkout_section .checkout_express_buttons > #express-checkout-element-googlepay {
    display: none;
}

.checkout_section .checkout_express_buttons > #express-checkout-element-applepay:not(:empty),
.checkout_section .checkout_express_buttons > #express-checkout-element-googlepay:not(:empty) {
    display: block;
}

.checkout_section .checkout_express_buttons apple-pay-button,
.checkout_section .checkout_express_buttons #express-checkout-element-googlepay > div {
    width: 100%;
}

.checkout_section .checkout_express_buttons apple-pay-button {
    display: block;
    height: 5rem !important;
    --apple-pay-button-width: 100%;
    --apple-pay-button-height: 5rem;
    --apple-pay-button-border-radius: .8rem;
}

.checkout_section .checkout_express_buttons #express-checkout-element-googlepay > div {
    height: 5rem !important;
}

.checkout_section .checkout_express_stripe {
    grid-column: 1 / -1;
}

.checkout_section .checkout_or {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.checkout_section .checkout_or span {
    flex: 1;
    height: .1rem;
    background-color: var(--gy-neutral-darkest-15);
}

.checkout_section .checkout_or p {
    margin: 0;
    color: var(--gy-neutral-darkest);
}

/* ---------- Checkout Card ---------- */

.checkout_section .checkout_card {
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
    overflow: hidden;
}

.checkout_section .checkout_card_header {
    padding: 2rem 2.4rem;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

.checkout_section .checkout_card_header h5,
.checkout_section .checkout_card_header h6 {
    margin: 0;
    color: var(--gy-neutral-darkest);
    font-weight: 700;
}

.checkout_section .order_summary > h6 {
    font-weight: 700;
}

.checkout_section .checkout_card_content {
    padding: 2.4rem;
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

/* ---------- Checkout Fields ---------- */

.checkout_section .checkout_field {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}

.checkout_section .custom_checkbox .custom_checkbox_item {
    gap: .8rem;
}

.checkout_section .custom_checkbox_item input:checked::after {
    box-sizing: content-box;
}

.checkout_section .checkout_newsletter .custom_checkbox_item {
    min-height: 5.6rem;
    padding: 1.2rem 1.4rem;
    gap: 1.2rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    background: var(--gy-neutral-darkest-05);
    transition: border-color .2s ease, background-color .2s ease;
}

.checkout_section .checkout_newsletter .custom_checkbox_item:hover,
.checkout_section .checkout_newsletter .custom_checkbox_item:focus-within {
    border-color: var(--gy-tulip-tree);
    background: var(--gy-tulip-tree-10);
}

.checkout_section .checkout_newsletter input {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: .5rem;
}

.checkout_section .checkout_newsletter input:checked::after {
    left: .6rem;
    top: .2rem;
}

.checkout_section .checkout_newsletter input:focus-visible {
    outline: .2rem solid var(--gy-tulip-tree);
    outline-offset: .3rem;
}

.checkout_section .checkout_newsletter .custom_checkbox_item span {
    line-height: 1.4;
}

.checkout_section .checkout_field label {
    color: var(--gy-neutral-darkest);
}

.checkout_section .checkout_text_input,
.checkout_section .checkout_input {
    width: 100%;
    height: 4.8rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    background-color: var(--gy-neutral-darkest-05);
}

.checkout_section .checkout_text_input {
    padding: 0 1.2rem;
    outline: none;
    color: var(--gy-neutral-darkest);
}

.checkout_section textarea.checkout_text_input {
    min-height: 9.6rem;
    padding: 1.2rem;
    resize: vertical;
}

.checkout_section select.checkout_text_input {
    cursor: pointer;
    appearance: none;
    padding-right: 4rem;
    background-image: url('/assets/icons/arrow-down.svg');
    background-repeat: no-repeat;
    background-position: right 1.2rem center;
    background-size: 1.8rem;
}

.checkout_section .custom_radio_item.checkout_method_display {
    grid-template-columns: minmax(0, 1fr) auto;
    cursor: default;
}

.checkout_section .checkout_text_input:focus,
.checkout_section .checkout_input:focus-within {
    border-color: var(--gy-tulip-tree);
}

.checkout_section .checkout_text_input:focus-visible,
.checkout_section .checkout_input:focus-within {
    outline: .2rem solid var(--gy-tulip-tree-10);
    outline-offset: .2rem;
}

.checkout_section .checkout_input {
    padding: 0 1.2rem;
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.checkout_section .checkout_input input {
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 0;
    border: 0;
    outline: none;
    background: transparent;
    color: var(--gy-neutral-darkest);
}

.checkout_section .checkout_input img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
    flex-shrink: 0;
}

.checkout_section .checkout_field .checkout_field_error {
    margin: 0;
    color: #b42318;
    font-size: 1.3rem;
    line-height: 1.45;
}

.checkout_section .checkout_field.has-error > .checkout_text_input,
.checkout_section .checkout_field.has-error > .checkout_input {
    border-color: #b42318;
    outline-color: rgba(180, 35, 24, .14);
}

.checkout_section .checkout_field_grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.4rem;
}

/* ---------- Shipping Method ---------- */

.checkout_section .custom_radio {
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
}

.checkout_section .custom_radio_item {
    min-height: 10.3rem;
    padding: 2.4rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    display: grid;
    grid-template-columns: 1.8rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.6rem;
    cursor: pointer;
}

.checkout_section .custom_radio_item.active {
    border-color: var(--gy-tulip-tree);
    background-color: var(--gy-tulip-tree-10);
}

.checkout_section .custom_radio_item input {
    width: 1.6rem;
    height: 1.6rem;
    margin: 0;
    accent-color: var(--gy-primary);
}

.checkout_section .custom_radio_item span {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.checkout_section .custom_radio_item small {
    color: var(--gy-neutral-dark);
}

/* ---------- Payment Method ---------- */

.checkout_section .checkout_payment_methods {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}

.checkout_section .checkout_payment_option {
    overflow: hidden;
}

.checkout_section .checkout_payment_methods label.active {
    border-color: var(--gy-tulip-tree);
    background-color: var(--gy-tulip-tree-10);
}

.checkout_section .checkout_payment_option_header {
    min-height: 7.5rem;
    padding: 2.4rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    cursor: pointer;
}

.checkout_section .checkout_payment_option_header.checkout_method_display {
    min-height: 0;
    padding: 1.2rem 1.6rem;
}

.checkout_section .checkout_payment_option:has(> .checkout_method_display) > .checkout_payment_content {
    padding: 1.6rem;
}

.checkout_section .checkout_payment_option_header input,
.checkout_section .checkout_payment_simple input {
    width: 1.6rem;
    height: 1.6rem;
    margin: 0;
    accent-color: var(--gy-tulip-tree);
    flex-shrink: 0;
}

.checkout_section .checkout_card_logos {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: .6rem;
}

.checkout_section .checkout_card_logos img {
    width: 3rem;
    height: 2rem;
    display: block;
    object-fit: contain;
}

.checkout_section .checkout_payment_content {
    padding: 2.4rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-top: 0;
    display: none;
    flex-direction: column;
    gap: 1.6rem;
    border-radius: 0 0 1.2rem 1.2rem;
}

.checkout_section .checkout_payment_option.active .checkout_payment_content {
    display: flex;
}

.checkout_section .checkout_payment_option.active .checkout_payment_option_header {
    border-radius: 1.2rem 1.2rem 0 0;
}

.checkout_section .checkout_payment_simple {
    min-height: 7.5rem;
    padding: 2.4rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    cursor: pointer;
}

.checkout_section .checkout_payment_simple img {
    width: 3.2rem;
    height: 2.4rem;
    margin-left: auto;
    display: block;
    object-fit: contain;
}

/* ---------- Place Order ---------- */

.checkout_section .checkout_place_order {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
}

.checkout_section .checkout_place_order img {
    width: 2.4rem;
    height: 2.4rem;
    display: block;
}

/* ---------- Placeholder ---------- */

.checkout_section input::placeholder,
.checkout_section textarea::placeholder {
    color: var(--gy-neutral-darkest-60);
    opacity: 1;
}


/* ------------------------------- Responsive ------------------------------- */

@media (max-width: 1200px) {

    .checkout_section .checkout_layout {
        grid-template-columns: minmax(0, 1fr) 36rem;
        gap: 4rem;
    }

    .checkout_section .checkout_card_header {
        padding: 1.8rem 2rem;
    }

    .checkout_section .checkout_card_content {
        padding: 2rem;
    }

    .checkout_section .checkout_field_grid {
        gap: 2rem;
    }

    .checkout_section .custom_radio_item {
        padding: 2rem;
    }

    .checkout_section .checkout_payment_option_header {
        padding: 2rem;
    }

    .checkout_section .checkout_payment_content {
        padding: 2rem;
    }

    .checkout_section .checkout_payment_simple {
        padding: 2rem;
    }
}

@media (max-width: 991px) {

    .checkout_section .checkout_container {
        gap: 5.6rem;
    }

    .checkout_section .checkout_layout {
        grid-template-columns: 1fr;
        gap: 3.2rem;
    }

    .checkout_section .checkout_express_buttons {
        gap: 1.2rem;
    }

    .checkout_section .checkout_card_content {
        gap: 2rem;
    }
}

@media (max-width: 768px) {

    .checkout_section .checkout_container {
        gap: 4.8rem;
    }

    .checkout_section .checkout_header {
        gap: 1.2rem;
    }

    .checkout_section .checkout_main {
        gap: 2.4rem;
    }

    .checkout_section .checkout_card {
        border-radius: 1.4rem;
    }

    .checkout_section .checkout_card_header {
        padding: 1.6rem 2rem;
    }

    .checkout_section .checkout_card_content {
        padding: 2rem;
    }

    .checkout_section .checkout_input img {
        width: 2.2rem;
        height: 2.2rem;
    }

    .checkout_section .checkout_field_grid {
        gap: 1.6rem;
    }

    .checkout_section .custom_radio_item {
        min-height: 9rem;
        padding: 1.8rem;
        gap: 1.2rem;
    }

    .checkout_section .checkout_payment_methods {
        gap: 1.6rem;
    }

    .checkout_section .checkout_payment_option_header {
        min-height: 6.4rem;
        padding: 1.8rem;
    }

    .checkout_section .checkout_payment_content {
        padding: 1.8rem;
    }

    .checkout_section .checkout_payment_simple {
        min-height: 6.4rem;
        padding: 1.8rem;
    }
}

@media (max-width: 568px) {

    .checkout_section .checkout_container {
        gap: 4rem;
    }

    .checkout_section .checkout_express_buttons {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .checkout_section .checkout_express_button img {
        height: 1.8rem;
    }

    .checkout_section .checkout_card {
        border-radius: 1.2rem;
    }

    .checkout_section .checkout_card_header {
        padding: 1.4rem 1.6rem;
    }

    .checkout_section .checkout_card_content {
        padding: 1.6rem;
        gap: 1.6rem;
    }

    .checkout_section .checkout_text_input,
    .checkout_section .checkout_input {
        height: 4.4rem;
        border-radius: 1rem;
    }

    .checkout_section .checkout_input img {
        width: 2rem;
        height: 2rem;
    }

    .checkout_section .checkout_field_grid {
        grid-template-columns: 1fr;
        gap: 1.6rem;
    }

    .checkout_section .custom_radio {
        gap: 1.2rem;
    }

    .checkout_section .custom_radio_item {
        min-height: 8rem;
        padding: 1.6rem;
        grid-template-columns: 1.6rem minmax(0, 1fr) auto;
        gap: 1rem;
        border-radius: 1rem;
    }

    .checkout_section .checkout_payment_option_header {
        min-height: 5.8rem;
        padding: 1.6rem;
        gap: .8rem;
    }

    .checkout_section .checkout_payment_content {
        padding: 1.6rem;
        gap: 1.4rem;
    }

    .checkout_section .checkout_payment_simple {
        min-height: 5.8rem;
        padding: 1.6rem;
        border-radius: 1rem;
    }

    .checkout_section .checkout_card_logos {
        gap: .4rem;
    }

    .checkout_section .checkout_card_logos img {
        width: 2.6rem;
        height: 1.8rem;
    }

    .checkout_section .checkout_payment_simple img {
        width: 3rem;
        height: 2.2rem;
    }

    .checkout_section .checkout_place_order {
        gap: .8rem;
    }

    .checkout_section .checkout_place_order img {
        width: 2rem;
        height: 2rem;
    }
}

@media (max-width: 480px) {

    .checkout_section .checkout_header {
        gap: 1rem;
    }

    .checkout_section .checkout_card_header {
        padding: 1.2rem 1.4rem;
    }

    .checkout_section .checkout_card_content {
        padding: 1.4rem;
    }

    .checkout_section .custom_radio_item {
        padding: 1.4rem;
        grid-template-columns: 1.6rem minmax(0, 1fr);
    }

    .checkout_section .custom_radio_item b {
        grid-column: 2;
    }

    .checkout_section .checkout_payment_option_header {
        padding: 1.4rem;
    }

    .checkout_section .checkout_payment_content {
        padding: 1.4rem;
    }

    .checkout_section .checkout_payment_simple {
        padding: 1.4rem;
    }

    .checkout_section .checkout_card_logos {
        gap: .3rem;
    }
}

@media (max-width: 360px) {

    .checkout_section .checkout_container {
        gap: 3.6rem;
    }

    .checkout_section .checkout_card_header {
        padding: 1.2rem;
    }

    .checkout_section .checkout_card_content {
        padding: 1.2rem;
    }

    .checkout_section .checkout_input img {
        width: 1.8rem;
        height: 1.8rem;
    }

    .checkout_section .custom_radio_item {
        padding: 1.2rem;
    }

    .checkout_section .checkout_payment_option_header {
        padding: 1.2rem;
    }

    .checkout_section .checkout_payment_content {
        padding: 1.2rem;
    }

    .checkout_section .checkout_payment_simple {
        padding: 1.2rem;
    }
}

/* Account pages: existing login, registration and profile markup */
.account_auth_section,
.account_profile_section {
    background: var(--gy-white);
    color: var(--gy-neutral-darkest);
}

.account_heading {
    margin-bottom: 3.2rem;
}

.account_auth_section .account_heading {
    text-align: center;
}

.account_heading p:first-child {
    color: var(--gy-neutral-darkest-60);
    letter-spacing: .12em;
}

.account_heading h1 {
    margin: .8rem 0;
    font: 700 clamp(3.4rem, 4vw, 5.2rem)/1.08 var(--font-heading);
    letter-spacing: -.04em;
}

.account_heading p:last-child {
    color: var(--gy-neutral-darkest-60);
}

.account_auth_section .row.justify-content-center {
    display: flex;
    justify-content: center;
}

.account_auth_section .col-lg-4 {
    width: min(100%, 54rem);
}

.account_auth_section .card.boxed,
.account_profile_section .bg-white {
    background: var(--gy-white);
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
    overflow: hidden;
}

.account_auth_section .card-header {
    padding: 1rem;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

.account_auth_section .card-header-tabs {
    display: flex;
    gap: .8rem;
}

.account_auth_section .nav-item {
    flex: 1;
}

.account_auth_section .nav-link {
    width: 100%;
    display: block;
    padding: 1.4rem 1rem;
    border: 0;
    border-radius: .8rem;
    background: transparent;
    color: var(--gy-neutral-darkest-60);
    font: 600 1.7rem var(--font-body);
    text-align: center;
    cursor: pointer;
}

.account_auth_section .nav-link:hover,
.account_auth_section .nav-link.active {
    background: var(--gy-white-light);
    color: var(--gy-neutral-darkest);
}

.account_auth_section .nav-link.active {
    box-shadow: inset 0 -.3rem 0 var(--gy-tulip-tree);
}

.account_auth_section .card-body {
    padding: 3.2rem;
}

.account_auth_section .tab-pane,
.account_profile_section .tab-pane {
    display: none;
}

.account_auth_section .tab-pane.active,
.account_profile_section .tab-pane.active {
    display: block;
}

.account_auth_section .row.gutter-2,
.account_profile_section form {
    display: grid;
    gap: 1.8rem;
}

.account_auth_section fieldset,
.account_profile_section fieldset {
    border: 0;
}

.account_auth_section fieldset > .row,
.account_profile_section fieldset > .row {
    margin-bottom: 1.8rem;
}

.account_auth_section fieldset > .row:last-child,
.account_profile_section fieldset > .row:last-child {
    margin-bottom: 0;
}

.account_auth_section .form-label-group,
.account_profile_section .form-label-group {
    display: flex;
    flex-direction: column-reverse;
    gap: .8rem;
}

.account_auth_section .form-label-group label,
.account_profile_section .form-label-group label,
.account_profile_section .label {
    font-size: 1.5rem;
    font-weight: 600;
}

.account_auth_section .form-control,
.account_profile_section .form-control {
    width: 100%;
    height: 4.8rem;
    padding: 0 1.6rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    background: var(--gy-neutral-darkest-05);
    color: var(--gy-neutral-darkest);
    font: 400 1.6rem var(--font-body);
}

.account_auth_section .form-control:focus,
.account_profile_section .form-control:focus {
    outline: .2rem solid var(--gy-tulip-tree);
    outline-offset: .1rem;
}

.account_auth_section .text-center {
    text-align: right;
}

.account_auth_section a:not(.nav-link),
.account_profile_section a:not(.nav-link) {
    color: var(--gy-neutral-darkest);
}

.account_auth_section .underline {
    font-size: 1.5rem;
    text-decoration: underline;
    text-underline-offset: .3rem;
}

.account_auth_section .btn-primary,
.account_profile_section .btn-primary {
    min-height: 4.8rem;
    padding: 0 2.4rem;
    border: .1rem solid var(--gy-tulip-tree);
    border-radius: .8rem;
    background: var(--gy-tulip-tree);
    color: var(--gy-white);
    cursor: pointer;
    font: 600 1.7rem var(--font-body);
}

.account_auth_section .btn-block {
    width: 100%;
}

.account_auth_section .alert,
.account_profile_section .alert {
    padding: 1.4rem 1.6rem;
    border-radius: .8rem;
    font-size: 1.5rem;
}

.account_auth_section .alert-danger,
.account_profile_section .alert-danger {
    background: #fff0eb;
    color: #a43e27;
}

.account_auth_section .alert-success,
.account_profile_section .alert-success {
    background: #edf7e9;
    color: var(--gy-success);
}

.account_profile_section > .container > .row {
    display: grid;
    grid-template-columns: minmax(24rem, 30rem) minmax(0, 1fr);
    gap: 2.4rem;
    align-items: start;
}

.account_profile_section .bg-white {
    padding: 3.2rem;
}

.account_profile_section aside h3 {
    margin-bottom: 2.4rem;
    font: 700 2.4rem/1.2 var(--font-heading);
}

.account_profile_section .nav-menu {
    display: grid;
    gap: .4rem;
}

.account_profile_section .nav-menu .nav-link {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    min-height: 5.2rem;
    padding: 1.2rem;
    border-radius: .8rem;
    color: var(--gy-neutral-darkest);
    font-size: 1.6rem;
    font-weight: 600;
}

.account_profile_section .nav-menu .nav-link:hover,
.account_profile_section .nav-menu .nav-link.active {
    background: var(--gy-white-light);
}

.account_profile_section .nav-menu .nav-link.active {
    box-shadow: inset .3rem 0 0 var(--gy-tulip-tree);
}

.account_profile_section .nav-menu i {
    width: 2rem;
    height: 2rem;
    flex: 0 0 auto;
    background: center / contain no-repeat;
}

.account_profile_section .nav-menu .icon-box { background-image: url('/assets/icons/cart.svg'); }
.account_profile_section .nav-menu .icon-user { background-image: url('/assets/icons/user.svg'); }
.account_profile_section .nav-menu .icon-lock { background-image: url('/assets/icons/lock.svg'); }
.account_profile_section .nav-menu .icon-home { background-image: url('/assets/icons/arrow-right.svg'); }

.account_profile_section .tab-pane h2 {
    margin-bottom: 2.4rem;
    font: 700 clamp(2.8rem, 3vw, 4rem)/1.15 var(--font-heading);
    letter-spacing: -.04em;
}

.account_profile_section .card-data {
    margin-bottom: 1.6rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    overflow: hidden;
}

.account_profile_section .card-data .card-header,
.account_profile_section .card-data .card-body {
    padding: 1.6rem 2rem;
}

.account_profile_section .card-data .card-header,
.account_profile_section .card-data .card-body + .card-body {
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

.account_profile_section .card-data .card-title {
    margin: 0;
    font: 700 2.2rem/1.2 var(--font-heading);
}

.account_profile_section .order-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
}

.account_profile_section .order-preview li img {
    width: 8rem;
    height: 8rem;
    border-radius: .8rem;
    object-fit: cover;
}

.account_profile_section .order-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
}

.account_profile_section .order-meta-title {
    color: var(--gy-neutral-darkest-60);
    font-size: 1.4rem;
    font-weight: 500;
}

.account_profile_section .order-meta span {
    font-size: 1.6rem;
    font-weight: 600;
}

.account_profile_section .custom-control {
    display: inline-flex;
    align-items: center;
    gap: .8rem;
    margin: 1.2rem 1.6rem 1.2rem 0;
    font-size: 1.6rem;
}

.account_profile_section .custom-control input {
    accent-color: var(--gy-tulip-tree);
}

@media (max-width: 991px) {
    .account_profile_section > .container > .row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 568px) {
    .account_auth_section .card-body,
    .account_profile_section .bg-white {
        padding: 2rem;
    }
    .account_profile_section .order-meta {
        grid-template-columns: 1fr;
    }
}

/* Checkout account links and authentication dialogs */
.checkout_section .checkout_subheading {
    font: 700 3.2rem/1.2 var(--font-heading);
}

.checkout_section .checkout_intro .login-strip {
    padding: 1.8rem 2rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    background: var(--gy-neutral-darkest-05);
}

.checkout_section .checkout_intro .login-strip p {
    font: 400 1.8rem/1.5 var(--font-body);
}

.checkout_section .checkout_intro .login-strip a {
    font-weight: 600;
    text-decoration-thickness: .1rem;
    text-underline-offset: .3rem;
}

.checkout_section .checkout_intro .login-strip a:hover,
.checkout_section .checkout_intro .login-strip a:focus-visible {
    color: var(--gy-tulip-tree);
}

#loginModal .modal-dialog,
#registerModal .modal-dialog {
    max-width: 52rem;
}

#loginModal .modal-content,
#registerModal .modal-content {
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
    background: var(--gy-white);
    box-shadow: 0 2rem 6rem rgba(12, 9, 3, .18);
    overflow: hidden;
}

#loginModal .modal-header,
#registerModal .modal-header {
    padding: 2.4rem 3.2rem;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
}

#loginModal .modal-title,
#registerModal .modal-title {
    margin: 0;
    color: var(--gy-neutral-darkest);
    font: 700 3.2rem/1.15 var(--font-heading);
}

#loginModal .modal-body,
#registerModal .modal-body {
    padding: 3.2rem;
}

#loginModal .form-group,
#registerModal .form-group {
    margin-bottom: 1.8rem;
}

#loginModal .form-label,
#registerModal .form-group label {
    display: block;
    margin-bottom: .8rem;
    color: var(--gy-neutral-darkest);
    font: 600 1.5rem/1.4 var(--font-body);
}

#loginModal .form-control,
#registerModal .form-control {
    width: 100%;
    min-height: 4.8rem;
    padding: 1rem 1.6rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.2rem;
    background: var(--gy-neutral-darkest-05);
    color: var(--gy-neutral-darkest);
    font: 400 1.6rem var(--font-body);
}

#loginModal .form-control:focus,
#registerModal .form-control:focus {
    border-color: var(--gy-tulip-tree);
    box-shadow: 0 0 0 .3rem var(--gy-tulip-tree-10);
}

#loginModal .modal-body a {
    color: var(--gy-neutral-darkest);
    font-size: 1.5rem;
    text-decoration: underline;
    text-underline-offset: .3rem;
}

#loginModal .modal-body a:hover,
#loginModal .modal-body a:focus-visible {
    color: var(--gy-tulip-tree);
}

#loginModal .btn.black-btn,
#registerModal .btn.black-btn {
    width: 100%;
    min-height: 4.8rem;
    padding: 1rem 2.4rem;
    border: .1rem solid var(--gy-tulip-tree);
    border-radius: .8rem !important;
    background: var(--gy-tulip-tree);
    color: var(--gy-neutral-darkest) !important;
    font: 600 1.7rem var(--font-body);
}

#loginModal .btn.black-btn:hover,
#registerModal .btn.black-btn:hover {
    background: var(--gy-tulip-tree-lighter);
}

#loginModal .modal-footer,
#registerModal .modal-footer {
    display: none !important;
}

@media (max-width: 568px) {
    .checkout_section .checkout_subheading {
        font-size: 2.8rem;
    }

    .checkout_section .checkout_intro .login-strip {
        padding: 1.6rem;
    }

    .checkout_section .checkout_intro .login-strip p {
        font-size: 1.6rem;
    }

    #loginModal .modal-header,
    #registerModal .modal-header,
    #loginModal .modal-body,
    #registerModal .modal-body {
        padding: 2rem;
    }
}

.account_logout_section {
    background: var(--gy-white);
    color: var(--gy-neutral-darkest);
}

.account_logout_card {
    width: min(100%, 56rem);
    margin: 0 auto;
    padding: 4.8rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-radius: 1.6rem;
    text-align: center;
}

.account_logout_icon {
    width: 6.4rem;
    height: 6.4rem;
    display: grid;
    place-items: center;
}

.account_logout_icon img {
    width: 100%;
    height: 100%;
}

.error_page_code {
    color: var(--gy-tulip-tree);
    font: 700 clamp(7.2rem, 12vw, 12rem)/0.85 var(--font-heading);
    letter-spacing: -0.06em;
}

.account_logout_card > p:first-of-type {
    color: var(--gy-neutral-darkest-60);
    letter-spacing: .12em;
}

.account_logout_card h1 {
    font: 700 clamp(3.2rem, 4vw, 4.8rem)/1.1 var(--font-heading);
    letter-spacing: -.04em;
}

.account_logout_card > p:last-of-type {
    color: var(--gy-neutral-darkest-60);
}

.account_logout_card .button {
    margin-top: 1.6rem;
}

@media (max-width: 568px) {
    .account_logout_card {
        padding: 3.2rem 2rem;
    }
}


/* GymMazing Toastify */

.toastify {
    width: max-content;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: calc(100vw - 3.2rem);
    padding: 1.4rem 1.8rem !important;
    display: inline-flex;
    align-items: center;
    gap: 1.2rem !important;
    background: var(--gy-white) !important;
    color: var(--gy-neutral-darkest) !important;
    border: .1rem solid var(--gy-neutral-lighter) !important;
    border-left: .4rem solid var(--gy-tulip-tree) !important;
    border-radius: .8rem !important;
    box-shadow: 0 1rem 3rem rgba(12, 9, 3, .14) !important;
    font-family: var(--font-body);
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -.01em;
    cursor: pointer;
    transition: background-color .2s ease, box-shadow .2s ease;
    z-index: 9999;
}

.toastify:hover {
    background: var(--gy-white-light) !important;
    box-shadow: 0 1.2rem 3.2rem rgba(12, 9, 3, .18) !important;
}

.toastify::before {
    content: "";
    width: 2.4rem;
    height: 2.4rem;
    flex: 0 0 2.4rem;
    background: url('/assets/icons/cart.svg') center / contain no-repeat;
}

.toastify::after {
    content: "→";
    margin-left: .8rem;
    color: var(--gy-neutral-darkest);
    font-size: 1.8rem;
    font-weight: 400;
}

@media (max-width: 568px) {
    .toastify {
        padding: 1.2rem 1.4rem !important;
        font-size: 1.4rem;
    }
}


/* ------------------------------------------ */
/* GymMazing - Product HTML Styling           */
/* ------------------------------------------ */

/* Base typography */
.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) {
    font-family: var(--font-body) !important;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.6;
    color: var(--gy-neutral-darkest);
    overflow-wrap: break-word;
}

.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) * {
    font-family: inherit !important;
}

/* Headings */
.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--font-heading) !important;
    font-weight: 700;
    line-height: 1.3;
    margin: 2rem 0 1rem;
}

.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) :is(h1, h2) {
    font-size: 2.4rem;
}

.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) :is(h3, h4, h5, h6) {
    font-size: 2rem;
}

.product_detail_section .product_detail_information_text :is(h2, h3, h4, h5, h6):not(:first-child) {
    margin-top: 2.4rem;
}

.product_detail_section .product_detail_information_text :is(h2, h3, h4, h5, h6):not(:first-child)::before {
    content: "";
    display: block;
    margin-bottom: 1.6rem;
    border-top: .1rem solid var(--gy-neutral-darkest-15);
}

/* Paragraphs */
.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) p {
    margin: 0 0 1.2rem;
}

/* Lists */
.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) :is(ul, ol) {
    margin: 0 0 1.6rem;
    padding-left: 2.4rem;
}

.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) ul {
    list-style: disc;
}

.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) ol {
    list-style: decimal;
}

.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) li {
    margin-bottom: 0.6rem;
}

/* Tables from product backend content */
.product_detail_section .product_detail_information_text table {
    width: 100%;
    margin: 1.6rem 0;
    border: .1rem solid var(--gy-neutral-darkest-15);
    border-collapse: collapse;
    table-layout: fixed;
    font: inherit;
}

.product_detail_section .product_detail_information_text :is(th, td) {
    padding: 1.2rem 1.6rem;
    border-bottom: .1rem solid var(--gy-neutral-darkest-15);
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.product_detail_section .product_detail_information_text th {
    background: var(--gy-white-light);
    font-weight: 600;
}

.product_detail_section .product_detail_information_text :is(th, td):last-child:not(:first-child) {
    text-align: right;
}

@media (max-width: 568px) {
    .product_detail_section .product_detail_information_text :is(th, td) {
        padding: .8rem 1rem;
    }
}

/* Links */
.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) a {
    color: var(--gy-neutral-darkest);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
}

/* Images */
.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) img {
    max-width: 100%;
    height: auto;
}

/* Remove unnecessary spacing */
.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) > :first-child {
    margin-top: 0;
}

.product_detail_section :is(
    .product_detail_information_text,
    .product_detail_description
) > :last-child {
    margin-bottom: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .product_detail_section :is(
        .product_detail_information_text,
        .product_detail_description
    ) {
        font-size: 1.6rem;
    }

    .product_detail_section :is(
        .product_detail_information_text,
        .product_detail_description
    ) :is(h1, h2) {
        font-size: 2.2rem;
    }

    .product_detail_section :is(
        .product_detail_information_text,
        .product_detail_description
    ) :is(h3, h4, h5, h6) {
        font-size: 1.9rem;
    }
}


/* Allow custom colors in product HTML */

.product_detail_section .product_detail_information_text p,
.product_detail_section .product_detail_information_text li,
.product_detail_section .product_detail_description p,
.product_detail_section .product_detail_description li {
    color: inherit;
}


/* -------------------------------------------------------------------------- */
/* ----------------------------- Hero Slider -------------------------------- */
/* -------------------------------------------------------------------------- */

.hero_slider_section {
    width: 100%;
    position: relative;
}

.hero_slider_section .hero_slider {
    width: 100%;
    overflow: hidden;
}

.hero_slider_section .swiper-slide {
    height: auto;
}


/* ---------- Navigation ---------- */

.hero_slider_section .hero_slider_previous,
.hero_slider_section .hero_slider_next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 4.8rem;
    height: 4.8rem;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    background-color: rgba(12, 9, 3, 0.45);
    color: var(--gy-white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.4rem;
    line-height: 1;
    cursor: pointer;
    z-index: 10;
    transition: background-color 0.2s ease;
}

.hero_slider_section .hero_slider_previous {
    left: 2.4rem;
}

.hero_slider_section .hero_slider_next {
    right: 2.4rem;
}

.hero_slider_section .hero_slider_previous:hover,
.hero_slider_section .hero_slider_next:hover {
    background-color: var(--gy-tulip-tree);
}


/* ---------- Pagination ---------- */

.hero_slider_section .hero_slider_pagination {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    z-index: 10;
}

.hero_slider_section .hero_slider_pagination
.swiper-pagination-bullet {
    width: 0.9rem;
    height: 0.9rem;
    margin: 0;
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.5);
}

.hero_slider_section .hero_slider_pagination
.swiper-pagination-bullet-active {
    background-color: var(--gy-tulip-tree);
}


/* ---------- Responsive ---------- */

@media (max-width: 768px) {

    .hero_slider_section .hero_slider_previous,
    .hero_slider_section .hero_slider_next {
        width: 3.8rem;
        height: 3.8rem;
        font-size: 2rem;
    }

    .hero_slider_section .hero_slider_previous {
        left: 1.2rem;
    }

    .hero_slider_section .hero_slider_next {
        right: 1.2rem;
    }

    .hero_slider_section .hero_slider_pagination {
        bottom: 1.6rem;
    }
}

@media (max-width: 480px) {

    .hero_slider_section .hero_slider_previous,
    .hero_slider_section .hero_slider_next {
        width: 3.2rem;
        height: 3.2rem;
        font-size: 1.8rem;
    }

    .hero_slider_section .hero_slider_previous {
        left: 0.8rem;
    }

    .hero_slider_section .hero_slider_next {
        right: 0.8rem;
    }
}

/* Impressum: native text fields; presentation lives in Twig and this stylesheet. */
.legal_imprint {
    width: min(820px, calc(100% - 48px));
    margin: 48px auto 80px;
    color: var(--gy-neutral-darkest);
}
.legal_imprint_header {
    padding: 0 0 28px;
    border-bottom: 3px solid var(--gy-tulip-tree);
    margin-bottom: 32px;
}
.legal_imprint_header h1 {
    font-family: var(--font-heading);
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -.025em;
    margin: 0;
}
.legal_imprint_sections {
    background: var(--gy-tulip-tree-lighter);
    border: 1px solid var(--gy-neutral-darkest-15);
    border-radius: 16px;
    padding: 8px 32px;
}
.legal_imprint_section { padding: 24px 0; }
.legal_imprint_section + .legal_imprint_section { border-top: 1px solid var(--gy-neutral-darkest-15); }
.legal_imprint_section h2 {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 10px;
}
.legal_imprint_section p {
    font-family: var(--font-body);
    font-size: 17px;
    line-height: 1.65;
    color: var(--gy-neutral-dark);
    margin: 0;
    overflow-wrap: anywhere;
}
.legal_imprint_section a { color: var(--gy-neutral-darkest); text-decoration: underline; text-underline-offset: 4px; }
.legal_imprint_section a:hover { text-decoration-thickness: 2px; }
.legal_imprint_section a:focus-visible { outline: 2px solid var(--gy-neutral-darkest); outline-offset: 4px; border-radius: 2px; }
@media (max-width: 600px) {
    .legal_imprint { width: calc(100% - 32px); margin: 24px auto 48px; }
    .legal_imprint_header { padding-bottom: 20px; margin-bottom: 24px; }
    .legal_imprint_sections { padding: 0 20px; border-radius: 12px; }
    .legal_imprint_section { padding: 20px 0; }
    .legal_imprint_section h2 { font-size: 20px; }
    .legal_imprint_section p { font-size: 16px; }
}

/* Contact details reuse the plain-text legal renderer with responsive cards. */
.legal_contact .legal_imprint_header h1 { font-size: clamp(28px, 3.5vw, 44px); overflow-wrap: anywhere; }
.legal_contact .legal_imprint_sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 0; border: 0; background: transparent; }
.legal_contact .legal_imprint_section { min-width: 0; padding: 28px; border: 1px solid var(--gy-neutral-darkest-15); border-radius: 16px; background: var(--gy-tulip-tree-lighter); }
.legal_contact .legal_imprint_section h2 { margin-bottom: 14px; }
.legal_contact .legal_imprint_section:nth-child(-n+2) a { font-weight: 600; }
@media (max-width: 600px) {
    .legal_contact .legal_imprint_sections { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .legal_contact .legal_imprint_section { padding: 24px 20px; border-radius: 12px; }
}

/* Shipping information: readable text sections, no CMS markup. */
.legal_reading .legal_imprint_sections { border: 0; background: transparent; padding: 0; }
.legal_reading .legal_imprint_section { padding: 28px 32px; margin-bottom: 20px; border: 1px solid var(--gy-neutral-darkest-15); border-radius: 16px; background: var(--gy-tulip-tree-lighter); }
.legal_reading .legal_imprint_section h2 { font-size: 24px; margin-bottom: 16px; }
.legal_reading .legal_imprint_section p + p { margin-top: 10px; }
@media (max-width: 600px) {
    .legal_reading .legal_imprint_section { padding: 24px 20px; border-radius: 12px; margin-bottom: 16px; }
    .legal_reading .legal_imprint_section h2 { font-size: 22px; }
}

/* Terms: grouped native text, numbered legal headings and quick navigation. */
.legal_terms .legal_imprint_header h1 { font-size: clamp(28px, 3.5vw, 44px); overflow-wrap: anywhere; }
.legal_terms_nav { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.legal_terms_nav a { display: inline-block; padding: 10px 14px; border: 1px solid var(--gy-neutral-darkest-15); border-radius: 8px; font: 500 15px/1.4 var(--font-body); color: var(--gy-neutral-darkest); background: var(--gy-white); }
.legal_terms_nav a:hover { background: var(--gy-tulip-tree-lighter); }
.legal_terms_nav a:focus-visible { outline: 2px solid var(--gy-neutral-darkest); outline-offset: 3px; }
.legal_terms .legal_imprint_section { scroll-margin-top: 24px; }
.legal_terms .legal_imprint_section h3 { font: 600 20px/1.4 var(--font-heading); margin: 28px 0 12px; }
.legal_terms .legal_imprint_section h4 { font: 600 18px/1.4 var(--font-heading); margin: 24px 0 10px; }
.legal_terms .legal_imprint_section p { line-height: 1.75; }
@media (max-width:600px) { .legal_terms_nav { gap: 8px; } .legal_terms_nav a { font-size: 14px; } }

/* Privacy: retain the category navigation; readable long text and native lists. */
.legal_privacy .legal_imprint_section ul { margin: 14px 0 20px; padding-left: 24px; list-style: disc; }
.legal_privacy .legal_imprint_section li { margin: 10px 0; color: var(--gy-neutral-dark); font: 400 17px/1.75 var(--font-body); overflow-wrap: anywhere; }
.legal_privacy .legal_imprint_section a { overflow-wrap: anywhere; }
@media (max-width:600px) { .legal_privacy .legal_imprint_section li { font-size:16px; } }

/* Compact desktop drawer; retain the native mobile layout and link order. */
@media (min-width: 768px) {
 .header .header_mobile_menu { padding: 32px; width: min(480px, 90vw); height: 100dvh; }
 .header .mobile_menu_nav { margin: 32px 0; gap: 12px; }
 .header .mobile_menu_link { display: block; padding: 8px 0; }
 .header .mobile_menu_link h4 { font-size: 26px; line-height: 1.25; }
}
.header .mobile_menu_close_btn { min-width: 44px; min-height: 44px; flex-shrink: 0; }
body:has(.header_mobile_menu.active) #cc-main .cm__float-btn { visibility: hidden; pointer-events: none; }
/* GYMAZING newsletter card, isolated from all other forms. */
.gy-newsletter .gy-newsletter-card { display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:clamp(32px,5vw,80px); padding:clamp(28px,4vw,64px); background:#FCF6EC; border:1px solid #eadfcb; border-radius:24px; }
.gy-newsletter .gy-newsletter-kicker { font:600 12px/1.5 var(--font-body); letter-spacing:.14em; color:#665338; margin:0 0 18px; }
.gy-newsletter h2 { font-family:var(--font-heading); font-size:clamp(32px,3.5vw,52px); line-height:1.08; letter-spacing:-.035em; text-transform:none; margin:0; max-width:540px; color:#0C0903; }
.gy-newsletter .gy-newsletter-line { display:block; width:64px; height:4px; border-radius:2px; background:#E7AB43; margin-top:24px; }
.gy-newsletter .gy-newsletter-description { font:400 16px/1.65 var(--font-body); color:#54524E; margin:0 0 24px; }
.gy-newsletter .gy-newsletter-fields { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
.gy-newsletter .gy-newsletter-label { grid-column:1/-1; font:600 13px/1.4 var(--font-body); color:#0C0903; }
.gy-newsletter .gy-newsletter-fields input { width:100%; min-width:0; height:54px; padding:0 16px; border:1px solid #d9cebc; border-radius:9px; background:#fff; font:400 15px var(--font-body); color:#54524E; opacity:1; -webkit-text-fill-color:#54524E; }
.gy-newsletter .gy-newsletter-fields button { min-height:54px; padding:14px 22px; border:0; border-radius:9px; font:600 15px/1.4 var(--font-body); background:#E7AB43; color:#0C0903; opacity:1; cursor:default; }
.gy-newsletter .gy-newsletter-note { margin:14px 0 6px; font:400 12px/1.6 var(--font-body); color:#54524E; }
.gy-newsletter .gy-newsletter-privacy { font:400 12px/1.6 var(--font-body); color:#54524E; text-decoration:underline; text-underline-offset:3px; }
.gy-newsletter a:focus-visible { outline:2px solid #0C0903; outline-offset:4px; }
@media(max-width:767px) { .gy-newsletter .gy-newsletter-card { grid-template-columns:1fr; gap:28px; border-radius:18px; padding:28px 22px; } .gy-newsletter h2 { font-size:34px; } .gy-newsletter .gy-newsletter-fields { grid-template-columns:1fr; } .gy-newsletter .gy-newsletter-fields button { width:100%; } }
/* Training goals: separate photography and copy on white cards. */
.goals_section { background:#fff; }
.goals_section .goals_section_container { gap:40px; }
.goals_section .goals_section_head { gap:12px; }
.goals_section .goals_section_head h2 { font-size:clamp(34px,4vw,52px); line-height:1.1; letter-spacing:-.03em; margin:0; }
.goals_section .goals_section_head > p:first-child { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#665338; }
.goals_section .goals_section_head > p:last-child:not(:first-child) { max-width:760px; font-size:17px; line-height:1.65; color:#54524E; margin-top:4px; }
.goals_section .goals_section_grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; align-items:stretch; }
.goals_section .gy-goal-card { flex-direction:column; min-height:0; border:1px solid #E5E1DA; border-radius:16px; background:#fff; transition:border-color .2s ease,box-shadow .2s ease; }
.goals_section .gy-goal-image { width:100%; aspect-ratio:4/3; overflow:hidden; flex-shrink:0; }
.goals_section .gy-goal-image img { position:static; width:100%; height:100%; object-fit:cover; display:block; }
.goals_section .gy-goal-card .goal_card_content { padding:24px 22px; color:#0C0903; }
.goals_section .gy-goal-card h3 { font:700 25px/1.15 var(--font-heading); letter-spacing:-.025em; text-transform:none; color:#0C0903; margin:0; }
.goals_section .gy-goal-card .goal_card_content p { color:#54524E; font:400 15px/1.65 var(--font-body); margin:14px 0 24px; }
.goals_section .gy-goal-card .goal_card_content a { color:#0C0903; font:600 14px/1.5 var(--font-body); padding-top:0; }
.goals_section .gy-goal-card .goal_card_link_end { align-items:center; vertical-align:middle; gap:8px; }
.goals_section .gy-goal-arrow { color:#987021; flex-shrink:0; transition:transform .2s ease; }
.goals_section .gy-goal-card:hover,.goals_section .gy-goal-card:focus-within { border-color:#C4A568; box-shadow:0 8px 24px rgba(12,9,3,.06); }
.goals_section .gy-goal-card a:hover .gy-goal-arrow { transform:translateX(3px); }
.goals_section .gy-goal-card a:focus-visible { outline:2px solid #987021; outline-offset:5px; border-radius:2px; }
@media(max-width:1100px) { .goals_section .goals_section_grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .goals_section .goals_section_grid { grid-template-columns:1fr; gap:20px; } .goals_section .goals_section_container { gap:28px; } .goals_section .goals_section_head > p:last-child:not(:first-child) { font-size:16px; } .goals_section .gy-goal-card .goal_card_content { padding:22px; } }
@media(prefers-reduced-motion:reduce) { .goals_section .gy-goal-card,.goals_section .gy-goal-arrow { transition:none; } }.goals_section .gy-goal-card:nth-child(2) .gy-goal-image img { object-position:right center; }

/* Mobile assortment cards: complete product images and compact copy. */
@media(max-width:767px) {
 .product_highlights_section .product_highlights_container { gap:28px; }
 .product_highlights_section .product_highlights_head { gap:12px; }
 .product_highlights_section .product_highlights_head h2 { font-size:32px; line-height:1.12; letter-spacing:-.025em; text-transform:none; margin-bottom:0; }
 .product_highlights_section .product_highlights_head p.text-medium { font-size:16px; line-height:1.6; max-width:36ch; }
 .product_highlights_section .product_highlights_grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .product_highlights_section .product_highlight,.product_highlights_section .product_highlight_large { grid-column:auto; flex-direction:column; height:auto; }
 .product_highlights_section .product_highlight .product_highlight_content { width:100%; flex:1 0 auto; padding:22px; gap:10px; }
 .product_highlights_section .product_highlight_content > p.text-small { font-size:13px; line-height:1.4; }
 .product_highlights_section .product_highlight_content h6 { font-size:22px; line-height:1.2; text-transform:none; }
 .product_highlights_section .product_highlight_content > p.text-regular { font-size:15px; line-height:1.6; }
 .product_highlights_section .product_highlight .product_highlight_content a { font-size:15px; line-height:1.5; margin-top:6px; padding:6px 0; }
 .product_highlights_section .product_highlight .product_highlight_image { width:100%; height:220px; flex:0 0 220px; padding:12px 20px; background:#fff; align-self:auto; }
 .product_highlights_section .product_highlight_image img { width:100%; height:100%; object-fit:contain; object-position:center; }
}
/* Edge-to-edge mobile photos; use composed landscape assets, never letterboxing. */
@media(max-width:767px) {
 .product_highlights_section .product_highlight .product_highlight_image { padding:0; height:auto; aspect-ratio:3/2; flex:none; background:transparent; }
 .product_highlights_section .product_highlight_image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
}
/* Native blog overview: compact header and balanced cards. */
.gy-blog-listing { background:#fff; }
.gy-blog-listing .blog_container { gap:36px; }
.gy-blog-listing .blog_head { gap:14px; max-width:780px; margin:0 auto; }
.gy-blog-listing .gy-blog-kicker { font:600 12px/1.5 var(--font-body); letter-spacing:.13em; color:#665338; }
.gy-blog-listing .blog_head h1 { margin:0; font:700 clamp(34px,4vw,54px)/1.1 var(--font-heading); letter-spacing:-.03em; text-transform:none; }
.gy-blog-listing .blog_head p.text-medium { font:400 17px/1.65 var(--font-body); color:#54524E; }
.gy-blog-listing .blog_filter_grid_cont { gap:28px; }
.gy-blog-listing .blog_filters { gap:10px; flex-wrap:wrap; }
.gy-blog-listing .blog_filter { font-size:14px; min-height:44px; border:1px solid #E5E1DA; border-radius:24px; padding:10px 18px; }
.gy-blog-listing .blog_filter.active { background:#FCF6EC; border-color:#C4A568; }
.gy-blog-listing .blog_grid { gap:28px; }
.gy-blog-listing .blog_grid.gy-blog-single { grid-template-columns:1fr; }
.gy-blog-listing .blog_card { border:1px solid #E5E1DA; border-radius:18px; overflow:hidden; background:#fff; }
.gy-blog-listing .blog_image { display:block; border-radius:0; height:auto; aspect-ratio:16/10; }
.gy-blog-listing .blog_image img { height:100%; width:100%; object-fit:cover; }
.gy-blog-listing .gy-blog-body { padding:28px; min-width:0; }
.gy-blog-listing .blog_meta { margin:0 0 18px; flex-wrap:wrap; gap:12px; }
.gy-blog-listing .blog_meta span { font-size:12px; }
.gy-blog-listing .blog_category { background:#FCF6EC; border:0; padding:6px 10px; }
.gy-blog-listing .gy-blog-title { font:700 clamp(25px,2.6vw,34px)/1.16 var(--font-heading); letter-spacing:-.025em; text-transform:none; margin:0 0 16px; }
.gy-blog-listing .gy-blog-title a { color:#0C0903; text-decoration:none; }
.gy-blog-listing .gy-blog-body > p { color:#54524E; font:400 15px/1.7 var(--font-body); margin:0; }
.gy-blog-listing .blog_read_more { font-size:14px; margin-top:24px; }
.gy-blog-listing .gy-blog-single .blog_card { display:grid; grid-template-columns:1fr 1fr; align-items:stretch; }
.gy-blog-listing .gy-blog-single .blog_image { height:100%; min-height:360px; aspect-ratio:auto; }
.gy-blog-listing .gy-blog-single .gy-blog-body { padding:clamp(28px,4vw,48px); align-self:center; }
.gy-blog-listing a:focus-visible,.gy-blog-listing button:focus-visible { outline:2px solid #987021; outline-offset:4px; }
@media(max-width:767px) { .gy-blog-listing .blog_grid,.gy-blog-listing .gy-blog-single .blog_card { grid-template-columns:1fr; } .gy-blog-listing .gy-blog-single .blog_image { min-height:0; aspect-ratio:16/10; height:auto; } .gy-blog-listing .gy-blog-body,.gy-blog-listing .gy-blog-single .gy-blog-body { padding:24px; } .gy-blog-listing .blog_head p.text-medium { font-size:16px; } }

/* Blog article: readable editorial layout, native article data retained. */
.gy-article-hero { background:#fff; padding-top:48px; padding-bottom:0; }
.gy-article-hero .blog_detail_hero_container { gap:32px; }
.gy-article-intro { max-width:880px; margin:0 auto; width:100%; }
.gy-article-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font:500 13px/1.5 var(--font-body); color:#665338; margin-bottom:24px; }
.gy-article-breadcrumb a { color:#54524E; text-decoration:none; }
.gy-article-intro h1 { font:700 clamp(34px,4.5vw,58px)/1.08 var(--font-heading); text-transform:none; letter-spacing:-.035em; margin:0 0 24px; color:#0C0903; }
.gy-article-teaser { font:400 18px/1.75 var(--font-body); color:#54524E; margin:0 0 24px; }
.gy-article-meta { display:flex; gap:12px 20px; flex-wrap:wrap; align-items:center; font:500 13px/1.5 var(--font-body); color:#54524E; padding-top:18px; border-top:1px solid #E5E1DA; }
.gy-article-share { display:inline-flex; align-items:center; gap:8px; color:#0C0903; text-decoration:none; min-height:44px; margin-left:auto; }
.gy-article-share img { width:18px; height:18px; }
.gy-article-hero .blog_detail_hero_image { border-radius:18px; overflow:hidden; height:auto; aspect-ratio:2.05/1; max-width:1100px; width:100%; margin:0 auto; }
.gy-article-hero .blog_detail_hero_image img { width:100%; height:100%; display:block; object-fit:cover; }
.gy-article-section { background:#fff; padding-top:48px; }
.gy-article-section .blog_article_container { display:grid; grid-template-columns:240px minmax(0,760px); gap:clamp(32px,5vw,72px); align-items:start; justify-content:center; }
.gy-article-section .blog_article_toc { position:sticky; top:92px; width:auto; padding:22px; border:1px solid #E5E1DA; border-radius:14px; background:#FCF6EC; }
.gy-article-section .gy-article-toc-title { font:700 17px/1.3 var(--font-heading); margin:0 0 16px; text-transform:none; }
.gy-article-section .blog_article_toc_nav { gap:4px; }
.gy-article-section .blog_article_toc_nav.blog_article_toc_nav--legal a:nth-child(n) { padding:10px 0; font:500 13px/1.5 var(--font-body); color:#54524E; margin:0; }
.gy-article-section .blog_article_toc_nav a.active { color:#0C0903; font-weight:700; border-color:#987021; }
.gy-article-section .blog_article_content { width:100%; min-width:0; gap:36px; }
.gy-article-section .blog_article_block { scroll-margin-top:100px; }
.gy-article-section .blog_article_block h2 { font:700 clamp(25px,2.8vw,32px)/1.2 var(--font-heading); text-transform:none; letter-spacing:-.025em; color:#0C0903; margin:0 0 18px; }
.gy-article-section .blog_article_html,.gy-article-section .blog_article_html p { font:400 17px/1.85 var(--font-body); color:#54524E; }
.gy-article-section .blog_article_html p { margin:0 0 20px; }
.gy-article-section .blog_article_quote { background:#FCF6EC; border-left:3px solid #E7AB43; padding:24px; }
.gy-article-hero a:focus-visible,.gy-article-section a:focus-visible { outline:2px solid #987021; outline-offset:4px; }
@media(max-width:900px) { .gy-article-section .blog_article_container { grid-template-columns:minmax(0,760px); } .gy-article-section .blog_article_toc { position:static; } }
@media(max-width:600px) { .gy-article-hero { padding-top:28px; } .gy-article-hero .blog_detail_hero_container { gap:24px; } .gy-article-teaser { font-size:16px; line-height:1.7; } .gy-article-hero .blog_detail_hero_image { aspect-ratio:3/2; border-radius:12px; } .gy-article-section { padding-top:28px; } .gy-article-section .blog_article_container { gap:30px; } .gy-article-section .blog_article_html,.gy-article-section .blog_article_html p { font-size:16px; line-height:1.8; } }

/* Structured plain-text article subsections and source lists. */
.gy-article-section .blog_article_html h3 { font:700 22px/1.3 var(--font-heading); margin:28px 0 14px; text-transform:none; letter-spacing:-.015em; color:#0C0903; }
.gy-article-section .blog_article_html ul { padding-left:22px; margin:16px 0 24px; }
.gy-article-section .blog_article_html li { margin:8px 0; line-height:1.75; color:#54524E; }
.gy-article-section .blog_article_html a { color:#765619; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.gy-article-hero .blog_detail_hero_image img { object-position:center 70%; }.gy-article-section .blog_article_html ul { list-style:disc outside; } .gy-article-section .blog_article_html li { display:list-item; }


/* Gymazing about page — scoped editorial layout */
.gy-story{background:#fff;color:var(--gy-neutral-darkest);padding:32px 0 72px}.gy-story *{box-sizing:border-box}.gy-story h1,.gy-story h2,.gy-story h3{text-transform:none;letter-spacing:-.035em}.gy-story p{font-size:17px;line-height:1.7;color:var(--gy-neutral-dark);margin:0 0 18px}.gy-story-eyebrow{display:block;font-size:11px;line-height:1.7;font-weight:650;letter-spacing:.09em;margin-bottom:22px}.gy-story-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;background:#fcf6ec;border:1px solid #eee5d5;border-radius:24px;padding:28px;max-width:1200px;width:calc(100% - 64px)}.gy-story-hero-copy{padding:14px 12px}.gy-story h1{font-size:clamp(40px,4.6vw,66px);line-height:1.02;margin:0 0 24px;max-width:560px}.gy-story-hero-copy p{max-width:440px}.gy-story-hero-image,.gy-story-intro-image{overflow:hidden;border-radius:16px;aspect-ratio:1/1}.gy-story img{width:100%;height:100%;object-fit:cover;display:block}.gy-story-hero-image img{object-position:100% center}.gy-story-button{display:inline-flex;align-items:center;justify-content:center;gap:32px;background:var(--gy-tulip-tree);color:#0c0903;padding:16px 24px;border-radius:8px;font-size:16px;font-weight:650;text-decoration:none;margin-top:10px;min-height:52px}.gy-story-button:hover{background:#f0bb61;color:#0c0903}.gy-story a:focus-visible{outline:3px solid #b27615;outline-offset:5px}.gy-story-ranges{margin-top:42px}.gy-story .gy-story-ranges>h2{font-size:13px;letter-spacing:.06em;margin:0 0 18px;font-weight:600}.gy-story-range-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gy-story-range{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;text-decoration:none;color:#0c0903;border-top:1px solid #dadad9;border-bottom:1px solid #dadad9}.gy-story-range h3{font-size:23px;margin:0 0 8px;line-height:1.2}.gy-story-range p{font-size:14px;margin:0;max-width:260px}.gy-story-range>span{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;background:#fcf6ec;font-size:22px;transition:background .18s,transform .18s}.gy-story-range:hover>span{background:#e7ab43;transform:translate(2px,-2px)}.gy-story-intro{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:72px;margin-top:80px}.gy-story-intro-image{aspect-ratio:5/4}.gy-story h2{font-size:clamp(30px,3.1vw,44px);line-height:1.12;margin:0 0 24px}.gy-story-intro>div:last-child{padding-left:24px;border-left:3px solid #e7ab43}.gy-story-values{margin-top:80px}.gy-story-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.gy-story-value{padding:30px;background:#fcf6ec;border:1px solid #eee5d5;border-radius:16px}.gy-story-number{display:grid;place-items:center;color:#0c0903;background:#e7ab43;width:36px;height:36px;border-radius:50%;font-size:13px;font-weight:650;margin-bottom:28px}.gy-story h3{font-size:25px;line-height:1.2;margin:0 0 16px}.gy-story-value p{font-size:16px;margin:0}.gy-story-contact{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:center;margin-top:72px;padding:44px;background:#1a211c;border-radius:20px}.gy-story-contact h2{color:#fff}.gy-story-contact p{color:#e0e2df;max-width:650px;margin-bottom:0}.gy-story-contact .gy-story-eyebrow{color:#f0bc65}.gy-story-contact-action{text-align:right}
@media(max-width:900px){.gy-story-hero{gap:24px;padding:22px}.gy-story h1{font-size:46px}.gy-story-intro{gap:32px}.gy-story-values-grid{gap:14px}.gy-story-value{padding:24px}.gy-story h3{font-size:22px}.gy-story-range h3{font-size:20px}.gy-story-range-grid{gap:16px}.gy-story-contact{padding:32px}}
@media(max-width:640px){.gy-story{padding:16px 0 48px}.gy-story-hero,.gy-story-intro,.gy-story-contact{grid-template-columns:1fr;gap:24px}.gy-story-hero{width:calc(100% - 32px);padding:20px;border-radius:18px}.gy-story-hero-copy{padding:0}.gy-story h1{font-size:42px;line-height:1.04}.gy-story p{font-size:16px}.gy-story-eyebrow{font-size:10px;margin-bottom:16px}.gy-story-hero-image{aspect-ratio:4/3;border-radius:12px}.gy-story-ranges{margin-top:32px}.gy-story-range-grid{grid-template-columns:1fr;gap:0}.gy-story-range{padding:20px 0;border-bottom:0}.gy-story-range:last-child{border-bottom:1px solid #dadad9}.gy-story-range h3{font-size:22px;margin-bottom:6px}.gy-story-range p{font-size:14px;max-width:260px}.gy-story-intro{margin-top:48px}.gy-story-intro-image{order:2}.gy-story-intro>div:last-child{padding-left:18px}.gy-story-values{margin-top:48px}.gy-story-values-grid{grid-template-columns:1fr;gap:14px;margin-top:24px}.gy-story-number{margin-bottom:20px}.gy-story-contact{margin-top:48px;padding:26px 22px;width:calc(100% - 32px);border-radius:16px}.gy-story-contact-action{text-align:left}.gy-story-button{width:100%}.gy-story h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){.gy-story-range>span{transition:none}}


/* Company identity, working approach and native FAQ */
.gy-story-company,.gy-story-work,.gy-story-faq{margin-top:80px}.gy-story-section-heading{max-width:720px;margin-bottom:30px}.gy-story-section-heading .gy-story-eyebrow{color:#855910;margin-bottom:14px}.gy-story-company-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dadad9;border-bottom:1px solid #dadad9}.gy-story-company-card{padding:30px 24px;border-right:1px solid #dadad9}.gy-story-company-card:first-child{padding-left:0}.gy-story-company-card:last-child{border-right:0}.gy-story-company-card p{font-size:16px;margin:0}.gy-story-work-grid{counter-reset:story-work;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.gy-story-work-grid li{counter-increment:story-work;position:relative;padding:30px 28px 28px 78px;background:#f7f7f5;border-radius:14px}.gy-story-work-grid li:before{content:counter(story-work,decimal-leading-zero);position:absolute;left:24px;top:30px;font-weight:650;color:#895b12;font-size:16px}.gy-story-work-grid h3{font-size:23px}.gy-story-work-grid p{font-size:16px;margin:0}.gy-story-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}.gy-story-faq-list{border-top:1px solid #dadad9}.gy-story-faq details{border-bottom:1px solid #dadad9}.gy-story-faq summary{cursor:pointer;list-style:none;position:relative;padding:23px 40px 23px 0;font-size:18px;font-weight:600;line-height:1.4}.gy-story-faq summary::-webkit-details-marker{display:none}.gy-story-faq summary:after{content:'+';position:absolute;right:8px;top:20px;font-size:26px;color:#895b12;font-weight:400}.gy-story-faq details[open] summary:after{content:'−'}.gy-story-faq details>div{padding:0 32px 10px 0}.gy-story-faq p{font-size:16px}.gy-story-faq summary:focus-visible{outline:3px solid #b27615;outline-offset:3px}
@media(max-width:640px){.gy-story-company,.gy-story-work,.gy-story-faq{margin-top:48px}.gy-story-company-grid,.gy-story-work-grid,.gy-story-faq{grid-template-columns:1fr}.gy-story-company-card,.gy-story-company-card:first-child{padding:24px 0;border-right:0;border-bottom:1px solid #dadad9}.gy-story-company-card:last-child{border-bottom:0}.gy-story-section-heading{margin-bottom:22px}.gy-story-work-grid{gap:14px}.gy-story-work-grid li{padding:24px 22px 24px 65px}.gy-story-work-grid li:before{left:20px;top:24px}.gy-story-faq{gap:0}.gy-story-faq summary{font-size:17px}.gy-story-company-card h3,.gy-story-work-grid h3{font-size:22px}}

/* Center the category group when it fits; auto margins collapse during overflow. */
.product_types_section .product_types_wrapper > .product_type:first-child { margin-inline-start: auto; }
.product_types_section .product_types_wrapper > .product_type:last-child { margin-inline-end: auto; }

/* Gymazing B2B: native editorial content, scoped presentation */
.gy-b2b{background:#fff;color:#0c0903;padding:32px 0 72px}.gy-b2b *{box-sizing:border-box}.gy-b2b h1,.gy-b2b h2,.gy-b2b h3{text-transform:none;letter-spacing:-.035em}.gy-b2b p{font-size:17px;line-height:1.7;color:#54524e;margin:0 0 18px}.gy-b2b h1{font-size:clamp(40px,4.7vw,66px);line-height:1.02;margin:0 0 24px}.gy-b2b h2{font-size:clamp(30px,3vw,44px);line-height:1.1;margin:0 0 22px}.gy-b2b h3{font-size:25px;line-height:1.2;margin:0 0 16px}.gy-b2b-eyebrow{display:block;font-size:11px;font-weight:650;letter-spacing:.1em;margin-bottom:22px;line-height:1.6}.gy-b2b-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;background:#fcf6ec;padding:28px;border:1px solid #eee5d5;border-radius:24px;width:calc(100% - 64px);max-width:1200px}.gy-b2b-hero-copy{padding:14px 12px}.gy-b2b-hero-image{aspect-ratio:1/1;overflow:hidden;border-radius:16px}.gy-b2b img{width:100%;height:100%;object-fit:cover;display:block}.gy-b2b-button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:#e7ab43;color:#0c0903;padding:16px 24px;min-height:52px;border-radius:8px;text-decoration:none;font-size:16px;font-weight:650;margin-top:10px}.gy-b2b-button:hover{background:#f0bb61;color:#0c0903}.gy-b2b a:focus-visible{outline:3px solid #aa7010;outline-offset:5px}.gy-b2b-offer{margin-top:80px}.gy-b2b-heading{max-width:760px;margin-bottom:32px}.gy-b2b-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gy-b2b-card{border:1px solid #e6e4e0;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.gy-b2b-card-image{display:block;aspect-ratio:4/3;overflow:hidden}.gy-b2b-card-copy{padding:28px;display:flex;flex-direction:column;flex:1}.gy-b2b-card p{font-size:16px}.gy-b2b-text-link{color:#0c0903;font-size:15px;font-weight:650;display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;padding-top:12px;margin-top:auto}.gy-b2b-text-link span{display:grid;place-items:center;background:#fcf6ec;border-radius:50%;width:34px;height:34px;flex-shrink:0;font-size:20px}.gy-b2b-text-link:hover span{background:#e7ab43}.gy-b2b-process{margin-top:80px;padding:64px 0;background:#1a211c;color:#fff}.gy-b2b-process h2,.gy-b2b-process h3{color:#fff}.gy-b2b-process .gy-b2b-eyebrow{color:#f0bc65}.gy-b2b-process ol{counter-reset:b2b-step;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:0;margin:40px 0 0;list-style:none}.gy-b2b-process li{counter-increment:b2b-step;border-top:1px solid #60665e;padding-top:24px}.gy-b2b-process li:before{content:counter(b2b-step,decimal-leading-zero);display:block;color:#f0bc65;font-size:14px;font-weight:650;margin-bottom:28px}.gy-b2b-process h3{font-size:23px}.gy-b2b-process p{color:#e0e2df;font-size:16px;margin:0}.gy-b2b-contact{margin-top:72px;background:#fcf6ec;border:1px solid #eee5d5;border-radius:20px;padding:40px;display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center;scroll-margin-top:100px}.gy-b2b-contact p{font-size:16px}.gy-b2b-contact p:last-child{margin-bottom:0}.gy-b2b-contact-action{text-align:right}
@media(max-width:900px){.gy-b2b-hero{gap:24px;padding:22px}.gy-b2b h1{font-size:46px}.gy-b2b-cards{gap:16px}.gy-b2b-card-copy{padding:22px}.gy-b2b h3{font-size:22px}.gy-b2b-contact{padding:30px;gap:24px}}
@media(max-width:640px){.gy-b2b{padding:16px 0 48px}.gy-b2b-hero{width:calc(100% - 32px);grid-template-columns:1fr;gap:24px;padding:20px;border-radius:18px}.gy-b2b-hero-copy{padding:0}.gy-b2b h1{font-size:42px}.gy-b2b p{font-size:16px}.gy-b2b-eyebrow{font-size:10px;margin-bottom:16px}.gy-b2b-hero-image{aspect-ratio:4/3;border-radius:12px}.gy-b2b-offer{margin-top:48px}.gy-b2b-cards{grid-template-columns:1fr;gap:24px}.gy-b2b-card-copy{padding:24px}.gy-b2b-process{margin-top:48px;padding:40px 0}.gy-b2b-process ol{grid-template-columns:1fr;gap:28px;margin-top:28px}.gy-b2b-process li:before{margin-bottom:18px}.gy-b2b-contact{grid-template-columns:1fr;gap:20px;margin-top:48px;padding:26px 22px;width:calc(100% - 32px);border-radius:16px}.gy-b2b-contact-action{text-align:left}.gy-b2b-button{width:100%}.gy-b2b h2{font-size:31px}}


/* Native attribute category additions */
[data-product-attribute-filters] .product_category_intro{max-width:760px;margin-bottom:40px}[data-product-attribute-filters] .product_category_intro h1{text-transform:none;font-size:clamp(36px,4vw,56px);line-height:1.1;letter-spacing:-.035em;margin:16px 0 20px}[data-product-attribute-filters] .product_category_intro>p:first-child{letter-spacing:.12em;color:#855910}[data-product-attribute-filters] .product_categories_item[hidden],[data-product-attribute-filters] [hidden]{display:none!important}[data-product-attribute-filters] .category_product_image>a>img{width:100%;height:100%;object-fit:cover}[data-product-attribute-filters] .category_product_bottom{flex-wrap:wrap;gap:12px}[data-product-attribute-filters] .product_categories_filter_content>[data-attribute-reset]{background:none;border:0;text-decoration:underline;cursor:pointer;padding:14px 0}[data-product-attribute-filters] .custom_checkbox input{accent-color:#a16c16}

/* Native informational pages share one responsive reading/card layout. */
.gy-information{padding-top:64px;padding-bottom:80px;background:#fff}
.gy-information .product_category_intro{margin-bottom:32px}
.gy-information-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px}
.gy-information-nav a{padding:10px 16px;border:1px solid #DADAD9;border-radius:999px;color:#24211C;text-decoration:none;font-size:14px}
.gy-information-nav a:hover,.gy-information-nav a:focus-visible{border-color:#E7AB43;background:#FCF6EC}
.gy-information-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.gy-information-card{border:1px solid #DADAD9;border-radius:20px;overflow:hidden;scroll-margin-top:110px;display:flex;flex-direction:column;background:#FCF6EC}
.gy-information-copy{padding:32px;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:16px}
.gy-information-number{font-size:13px;letter-spacing:.12em;color:#756032;font-weight:600}
.gy-information-card h2{font-size:clamp(25px,2.4vw,36px);line-height:1.15;margin:0}
.gy-information-card p{font-size:17px;line-height:1.65;color:#54524E;margin:0}
.gy-information-link{margin-top:auto;padding-top:10px;font-size:16px;font-weight:600;color:#24211C;text-underline-offset:5px}
.gy-information-image{aspect-ratio:16/9;overflow:hidden}
.gy-information-image img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:767px){.gy-information{padding-top:32px;padding-bottom:48px}.gy-information-grid{grid-template-columns:1fr;gap:18px}.gy-information-copy{padding:24px}.gy-information-nav{gap:8px;margin-bottom:24px}.gy-information-nav a{font-size:13px;padding:9px 13px}.gy-information-card p{font-size:16px}.gy-information-card{scroll-margin-top:90px}}

/* Native homepage collections: social, payments, brands */
.gy-home-module{background:#fff;padding:52px 24px;color:#0c0903}.gy-module-inner{max-width:1440px;margin:0 auto}.gy-module-heading{text-align:center;margin:0 auto 28px;max-width:780px}.gy-module-heading .gy-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:#726044;margin:0 0 12px}.gy-module-heading h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(28px,3vw,42px);font-weight:700;line-height:1.14;margin:0 0 14px}.gy-module-heading>p:last-child{font-size:16px;line-height:1.6;color:#54524e;margin-bottom:0}.gy-brand-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.gy-brand-card,.gy-social-card{border:1px solid #e5e0d7;border-radius:14px;background:#fff;text-decoration:none!important;color:#24211c!important;transition:border-color .2s,box-shadow .2s}.gy-brand-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;gap:20px;font-size:14px;font-weight:600}.gy-brand-image{height:76px;width:100%;display:flex;align-items:center;justify-content:center}.gy-brand-image img{width:100%;max-width:220px;height:76px;object-fit:contain}.gy-brand-card>span:last-child{display:flex;align-items:center;gap:10px}.gy-brand-card:hover,.gy-social-card:hover{border-color:#c58d2f;box-shadow:0 5px 20px #24211c0d}.gy-brand-card:focus-visible,.gy-social-card:focus-visible{outline:3px solid #ba8126;outline-offset:4px}.gy-social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gy-social-card{display:flex;align-items:center;gap:16px;padding:20px;font-weight:600;font-size:16px}.gy-social-symbol{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:#fcf6ec;font-size:29px;font-family:Arial,sans-serif;font-weight:700}.gy-social-symbol img{width:26px;height:26px;object-fit:contain}.gy-card-arrow{margin-left:auto;color:#8b682d;font-size:22px}.gy-payment-panel{background:#fcf6ec;border:1px solid #e5e0d7;border-radius:20px;padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:36px}.gy-payment-panel .gy-module-heading{text-align:left;margin:0;max-width:650px}.gy-payment-methods{flex-shrink:0}.gy-payment-method{text-align:center;background:#fff;border:1px solid #e5e0d7;border-radius:12px;padding:22px 28px}.gy-payment-method img{width:150px;height:37px;object-fit:contain;margin:0 auto}.gy-payment-method p{font-size:13px;line-height:1.5;color:#54524e;margin:12px 0 0}.gy-community{padding-top:32px}.gy-brands{border-bottom:1px solid #eee9e1}
@media(max-width:767px){.gy-home-module{padding:36px 20px}.gy-module-heading{margin-bottom:24px}.gy-module-heading h2{font-size:29px}.gy-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gy-brand-card{padding:20px 12px;gap:14px}.gy-brand-card:last-child{grid-column:1/-1;width:calc(50% - 6px);justify-self:center}.gy-brand-image,.gy-brand-image img{height:56px}.gy-social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gy-social-card{padding:14px 12px;font-size:14px;gap:9px}.gy-social-symbol{width:32px;height:32px;font-size:24px}.gy-social-symbol img{width:21px;height:21px}.gy-card-arrow{font-size:18px}.gy-payment-panel{flex-direction:column;align-items:stretch;padding:26px 22px;gap:24px}.gy-payment-panel .gy-module-heading{text-align:center}.gy-payment-methods{align-self:center}.gy-community{padding-top:20px}}
@media(prefers-reduced-motion:reduce){.gy-brand-card,.gy-social-card{transition:none}}

.gy-brand-image-dark{background:#24211c;border-radius:8px;padding:12px}.gy-brand-image-dark img{height:52px;max-width:196px}@media(max-width:767px){.gy-brand-image-dark img{height:36px}}

/* Compact social row approved from user reference, 2026-11-06 */
.gy-community-compact.gy-home-module{padding:0 24px 0;background:#fff}.gy-community-compact .gy-module-inner{max-width:calc(100% - 112px);background:#fcf6ec;border:1px solid #eee8de;border-radius:0 0 22px 22px;padding:28px 24px 44px}.gy-community-compact .gy-social-grid{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}.gy-community-compact .gy-social-card{width:58px;height:58px;flex:0 0 58px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #c9c2b5;border-radius:50%;background:transparent;box-shadow:none}.gy-community-compact .gy-social-card img{width:22px;height:22px;object-fit:contain}.gy-community-compact .gy-social-card:hover{background:#fff;border-color:#aa7c31;box-shadow:0 3px 10px #24211c0a}.gy-community-compact .gy-social-card:focus-visible{outline:3px solid #aa7c31;outline-offset:4px}@media(max-width:767px){.gy-community-compact.gy-home-module{padding:0 20px}.gy-community-compact .gy-module-inner{max-width:100%;padding:24px 12px 30px;border-radius:0 0 18px 18px}.gy-community-compact .gy-social-grid{gap:8px}.gy-community-compact .gy-social-card{width:44px;height:44px;flex-basis:44px}.gy-community-compact .gy-social-card img{width:20px;height:20px}}

/* Fully rounded social panel aligned with newsletter container */
.gy-community-compact.gy-home-module{padding:0 0 32px}.gy-community-compact .gy-module-inner{max-width:none;width:100%;border-radius:24px;padding:36px 28px 38px;border-color:#eadfcb}.gy-community-compact .gy-compact-heading{text-align:center;margin:0 auto 24px;max-width:620px}.gy-community-compact .gy-compact-heading h2{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(24px,2.4vw,32px);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin:0 0 10px;text-transform:none}.gy-community-compact .gy-compact-heading p{font-size:15px;line-height:1.65;color:#54524e;margin:0}.gy-community-compact .gy-social-grid{gap:16px}@media(max-width:767px){.gy-community-compact.gy-home-module{padding:0 0 24px}.gy-community-compact .gy-module-inner{padding:28px 16px 30px;border-radius:18px}.gy-community-compact .gy-compact-heading{margin-bottom:22px}.gy-community-compact .gy-compact-heading p{font-size:14px}.gy-community-compact .gy-social-grid{gap:8px}.gy-community-compact .gy-social-card{width:44px;height:44px;flex-basis:44px}}

/* Payment panel aligned with adjacent homepage cards */
.gy-payments.gy-home-module{padding:48px 0 0}.gy-payments .gy-payment-panel{max-width:none;width:100%;border-radius:24px;border-color:#eadfcb;padding:40px 48px;gap:40px}.gy-payments .gy-module-heading{max-width:660px}.gy-payments .gy-module-heading h2{font-size:clamp(28px,3vw,38px);line-height:1.16;margin-bottom:16px}.gy-payments .gy-module-heading>p:last-child{font-size:16px;line-height:1.75}.gy-payments .gy-payment-method{min-width:220px;padding:28px 24px;border-radius:14px}.gy-payments .gy-payment-method img{width:170px;height:42px}.gy-payments .gy-payment-method p{max-width:200px;margin:16px auto 0;font-size:13px}@media(max-width:767px){.gy-payments.gy-home-module{padding:32px 0 0}.gy-payments .gy-payment-panel{padding:28px 22px;gap:24px;border-radius:18px}.gy-payments .gy-module-heading h2{font-size:29px}.gy-payments .gy-module-heading>p:last-child{font-size:15px;line-height:1.7}.gy-payments .gy-payment-method{min-width:0;width:100%;padding:22px 24px}.gy-payments .gy-payment-methods{align-self:stretch}.gy-payments .gy-payment-method p{max-width:none}}

/* Native two-column payment and delivery panel */
.gy-payment-shipping .gy-payment-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch;padding:40px 0}.gy-payment-shipping .gy-service-half{padding:0 40px;display:flex;flex-direction:column;align-items:flex-start}.gy-payment-shipping .gy-service-half+ .gy-service-half{border-left:1px solid #e3d8c5}.gy-payment-shipping .gy-module-heading{text-align:left;margin:0;max-width:none}.gy-payment-shipping .gy-module-heading h2{font-size:32px;margin-bottom:14px}.gy-payment-shipping .gy-module-heading>p:last-child{font-size:15px;line-height:1.7;max-width:490px}.gy-service-logos{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.gy-service-logo{display:flex;align-items:center;justify-content:center;min-width:150px;height:76px;background:#fff;border:1px solid #e5dfd4;border-radius:10px;padding:14px 18px}.gy-service-logo img{width:130px;height:42px;object-fit:contain}.gy-service-logo-carrier{min-width:130px;padding:8px 12px}.gy-service-logo-carrier img{width:120px;height:55px}.gy-service-link{font-size:13px;font-weight:600;color:#54524e;text-decoration:underline;text-underline-offset:4px;margin-top:20px}.gy-service-link:focus-visible{outline:3px solid #aa7c31;outline-offset:4px}@media(max-width:767px){.gy-payment-shipping .gy-payment-panel{grid-template-columns:1fr;padding:28px 22px}.gy-payment-shipping .gy-service-half{padding:0}.gy-payment-shipping .gy-service-half+.gy-service-half{border-left:0;border-top:1px solid #e3d8c5;margin-top:28px;padding-top:28px}.gy-payment-shipping .gy-module-heading{text-align:left}.gy-payment-shipping .gy-module-heading h2{font-size:28px}.gy-service-logos{margin-top:20px;gap:10px}.gy-service-logo-carrier{min-width:0;padding:8px}.gy-service-logo-carrier img{width:112px;height:52px}}

/* Confirmed payment badges */
.gy-payment-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%;max-width:440px}.gy-payment-logos .gy-service-logo{min-width:0;width:100%;height:auto;aspect-ratio:1.6;padding:5px;border-radius:7px}.gy-payment-logos .gy-service-logo img{width:100%;height:100%;max-height:48px;object-fit:contain}@media(max-width:1050px){.gy-payment-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:767px){.gy-payment-logos{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.gy-payment-logos .gy-service-logo{padding:4px}.gy-payment-logos .gy-service-logo img{max-height:42px}}

/* Compact mobile service and newsletter modules; desktop unchanged */
@media(max-width:767px){
.gy-payments.gy-home-module{padding-top:24px}.gy-payment-shipping .gy-payment-panel{padding:20px 18px;border-radius:16px}.gy-payment-shipping .gy-module-heading .gy-eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:8px}.gy-payment-shipping .gy-module-heading h2{font-size:24px;line-height:1.15;margin-bottom:10px}.gy-payment-shipping .gy-module-heading>p:last-child{font-size:13px;line-height:1.55}.gy-payment-shipping .gy-service-half+.gy-service-half{margin-top:20px;padding-top:20px}.gy-payment-shipping .gy-service-logos{margin-top:14px;gap:7px}.gy-payment-shipping .gy-payment-logos{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-width:340px}.gy-payment-logos .gy-service-logo{padding:3px;border-radius:5px}.gy-payment-logos .gy-service-logo img{max-height:32px}.gy-payment-shipping .gy-service-logo-carrier{width:100px;height:54px;min-width:0;padding:6px;border-radius:7px}.gy-payment-shipping .gy-service-logo-carrier img{width:86px;height:40px}.gy-payment-shipping .gy-service-link{font-size:12px;line-height:1.5;margin-top:10px;display:inline-flex;align-items:center;min-height:44px;gap:5px}
.gy-newsletter.section-80{padding-top:24px;padding-bottom:24px}.gy-newsletter .gy-newsletter-card{padding:22px 18px;gap:16px;border-radius:16px}.gy-newsletter .gy-newsletter-kicker{font-size:10px;letter-spacing:.12em;line-height:1.4;margin-bottom:10px}.gy-newsletter h2{font-size:27px;line-height:1.12;letter-spacing:-.025em;max-width:100%}.gy-newsletter .gy-newsletter-line{width:40px;height:3px;margin-top:12px}.gy-newsletter .gy-newsletter-description{font-size:13px;line-height:1.6;margin-bottom:14px}.gy-newsletter .gy-newsletter-fields{gap:8px}.gy-newsletter .gy-newsletter-label{font-size:12px;margin-bottom:0}.gy-newsletter .gy-newsletter-fields input{font-size:16px;min-height:44px;height:44px;padding:10px 12px;border-radius:8px}.gy-newsletter .gy-newsletter-fields button{font-size:14px;min-height:44px;padding:10px 14px;border-radius:8px}.gy-newsletter .gy-newsletter-note{font-size:11px;line-height:1.5;margin:10px 0 2px}.gy-newsletter .gy-newsletter-privacy{font-size:11px;line-height:1.5;min-height:32px;display:inline-flex;align-items:center}.gy-community-compact .gy-module-inner{padding:22px 16px}.gy-community-compact .gy-compact-heading h2{font-size:22px}.gy-community-compact .gy-compact-heading p{font-size:13px;line-height:1.55}.gy-community-compact .gy-compact-heading{margin-bottom:16px}
}@media(max-width:359px){.gy-payment-shipping .gy-payment-logos{grid-template-columns:repeat(4,minmax(0,1fr))}.gy-newsletter h2{font-size:25px}}

/* Compact mobile brand collection, retain original logos */
@media(max-width:767px){.gy-brands.gy-home-module{padding:26px 16px}.gy-brands .gy-module-heading{margin-bottom:18px;max-width:330px}.gy-brands .gy-module-heading .gy-eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:8px}.gy-brands .gy-module-heading h2{font-size:23px;line-height:1.2;margin-bottom:0}.gy-brands .gy-brand-grid{gap:9px}.gy-brands .gy-brand-card{padding:12px 10px;gap:8px;border-radius:10px;font-size:11px;line-height:1.4;min-height:84px}.gy-brands .gy-brand-image,.gy-brands .gy-brand-image img{height:38px}.gy-brands .gy-brand-image-dark{padding:7px;border-radius:6px}.gy-brands .gy-brand-image-dark img{height:24px;max-width:100%}.gy-brands .gy-brand-card>span:last-child{gap:6px}.gy-brands .gy-brand-card:last-child{width:calc(50% - 4.5px)}}

/* Border-to-border brand artwork; original proportions preserved */
.gy-brands .gy-brand-card{padding:0;gap:0;min-height:0;aspect-ratio:2.5;overflow:hidden;border-radius:12px;display:block}.gy-brands .gy-brand-image{width:100%;height:100%;display:block;padding:0;border-radius:0}.gy-brands .gy-brand-image img{display:block;width:100%;max-width:none;height:100%;max-height:none;object-fit:contain;margin:0}.gy-brands .gy-brand-image-dark{padding:0;background:#24211c}.gy-brands .gy-brand-image-dark img{max-width:none;height:100%}@media(max-width:767px){.gy-brands .gy-brand-card{padding:0;gap:0;min-height:0;aspect-ratio:2.5;border-radius:9px}.gy-brands .gy-brand-image,.gy-brands .gy-brand-image img{height:100%}.gy-brands .gy-brand-image-dark{padding:0}.gy-brands .gy-brand-image-dark img{height:100%;max-width:none}}

/* Refined brand strip aligned to the shop content width */
.gy-brands.gy-home-module{padding:28px 0 30px;border-bottom:0}.gy-brands .gy-module-inner{max-width:none}.gy-brands .gy-module-heading{margin-bottom:20px;max-width:none}.gy-brands .gy-module-heading .gy-eyebrow{font-size:10px;letter-spacing:.12em;margin:0 0 8px}.gy-brands .gy-module-heading h2{font-size:clamp(22px,2.1vw,28px);line-height:1.2;margin:0}.gy-brands .gy-brand-grid{gap:16px;align-items:center}.gy-brands .gy-brand-card{height:64px;aspect-ratio:auto;min-height:0;border-radius:7px;border-color:#eeeae2;box-shadow:none}.gy-brands .gy-brand-image img{object-fit:contain}.gy-brands .gy-brand-image-dark{background:#24211c}.gy-brands .gy-brand-card:hover{border-color:#ba9658;box-shadow:0 2px 8px #24211c08}@media(max-width:767px){.gy-brands.gy-home-module{padding:20px 0 24px}.gy-brands .gy-module-heading{margin:0 auto 16px;max-width:300px}.gy-brands .gy-module-heading h2{font-size:21px}.gy-brands .gy-module-heading .gy-eyebrow{font-size:9px;margin-bottom:6px}.gy-brands .gy-brand-grid{gap:9px}.gy-brands .gy-brand-card{height:48px;border-radius:6px}.gy-brands .gy-brand-card:last-child{width:calc(50% - 4.5px)}}

/* User-supplied GYMTRAIL artwork on white */
.gy-brands.gy-home-module,.gy-brands .gy-brand-card,.gy-brands .gy-brand-image{background:#fff}

/* Compact lower homepage collection */
.gy-payments.gy-home-module{padding-top:28px}.gy-payment-shipping .gy-payment-panel{padding:26px 0;border-radius:18px}.gy-payment-shipping .gy-service-half{padding:0 28px}.gy-payment-shipping .gy-module-heading .gy-eyebrow{font-size:9px;margin-bottom:6px}.gy-payment-shipping .gy-module-heading h2{font-size:26px;margin-bottom:10px}.gy-payment-shipping .gy-module-heading>p:last-child{font-size:13px;line-height:1.6}.gy-payment-shipping .gy-service-logos{margin-top:16px}.gy-payment-shipping .gy-service-link{margin-top:12px;font-size:12px}.gy-newsletter.section-80{padding-top:24px;padding-bottom:24px}.gy-newsletter .gy-newsletter-card{padding:30px 34px;gap:36px;border-radius:18px}.gy-newsletter .gy-newsletter-kicker{font-size:10px;margin-bottom:12px}.gy-newsletter h2{font-size:clamp(28px,2.7vw,38px)}.gy-newsletter .gy-newsletter-line{margin-top:16px;width:44px;height:3px}.gy-newsletter .gy-newsletter-description{font-size:14px;line-height:1.6;margin-bottom:16px}.gy-newsletter .gy-newsletter-fields input{min-height:44px;height:44px;padding:10px 12px}.gy-newsletter .gy-newsletter-fields button{min-height:44px;padding:10px 16px;font-size:14px}.gy-newsletter .gy-newsletter-note{margin-top:10px}.gy-community-compact.gy-home-module{padding-bottom:20px}.gy-community-compact .gy-module-inner{padding:24px 24px 26px;border-radius:18px}.gy-community-compact .gy-compact-heading{margin-bottom:16px}.gy-community-compact .gy-compact-heading h2{font-size:26px;margin-bottom:8px}.gy-community-compact .gy-compact-heading p{font-size:13px}.gy-community-compact .gy-social-card{width:48px;height:48px;flex-basis:48px}.gy-community-compact .gy-social-grid{gap:12px}
@media(max-width:767px){.gy-payments.gy-home-module{padding-top:20px}.gy-payment-shipping .gy-payment-panel{padding:18px 16px;border-radius:15px}.gy-payment-shipping .gy-service-half{padding:0}.gy-payment-shipping .gy-module-heading h2{font-size:23px}.gy-payment-shipping .gy-service-half+.gy-service-half{margin-top:16px;padding-top:16px}.gy-payment-shipping .gy-service-logos{margin-top:12px}.gy-payment-shipping .gy-service-link{margin-top:6px;min-height:44px}.gy-newsletter.section-80{padding-top:20px;padding-bottom:20px}.gy-newsletter .gy-newsletter-card{padding:20px 16px;gap:14px;border-radius:15px}.gy-newsletter h2{font-size:25px}.gy-newsletter .gy-newsletter-kicker{font-size:9px;margin-bottom:8px}.gy-newsletter .gy-newsletter-line{margin-top:10px}.gy-newsletter .gy-newsletter-description{font-size:13px;margin-bottom:12px}.gy-newsletter .gy-newsletter-fields input{font-size:16px}.gy-newsletter .gy-newsletter-fields button{min-height:44px}.gy-community-compact .gy-module-inner{padding:20px 12px;border-radius:15px}.gy-community-compact .gy-compact-heading h2{font-size:21px}.gy-community-compact .gy-compact-heading{margin-bottom:14px}.gy-community-compact .gy-social-card{width:44px;height:44px;flex-basis:44px}.gy-community-compact .gy-social-grid{gap:8px}}

/* Contact cards align exactly with the shared footer container. */
.gy-contact-width .legal_imprint.legal_contact{width:100%;max-width:none}

/* Shared page alignment: same inner edges as .container / footer cards. */
:root{--gy-page-gutter:8rem;--gy-page-max:1440px}
@media(max-width:1200px){:root{--gy-page-gutter:6rem}}
@media(max-width:991px){:root{--gy-page-gutter:4rem}}
@media(max-width:768px){:root{--gy-page-gutter:3.2rem}}
@media(max-width:568px){:root{--gy-page-gutter:2.4rem}}
@media(max-width:480px){:root{--gy-page-gutter:1.6rem}}
@media(max-width:360px){:root{--gy-page-gutter:1.2rem}}
main .legal_imprint:not(.legal_contact),main .gy-story-hero.container,main .gy-story-contact.container,main .gy-b2b-hero.container,main .gy-b2b-contact.container{width:calc(100% - 2 * var(--gy-page-gutter));max-width:calc(var(--gy-page-max) - 2 * var(--gy-page-gutter));margin-left:auto;margin-right:auto}
.gy-article-hero .gy-article-intro,.gy-article-hero .blog_detail_hero_image{max-width:none;width:100%}
.gy-article-section .blog_article_container{grid-template-columns:240px minmax(0,1fr);justify-content:stretch}
@media(max-width:900px){.gy-article-section .blog_article_container{grid-template-columns:minmax(0,1fr)}}
