/* =================================================== 
START HERO COMPONENT BASE STYLES
=====================================================*/

.hero-image__content,
.hero-video__content
{

    &.text-center .hero-image__cta-group,
    &.text-center .hero-video__cta-group
    {
        justify-content: center;

        .hero-image__cta,
        .hero-video__cta
        {
            margin-left: auto;
            margin-right: auto;
        }
    }

    &.text-left .hero-image__cta-group,
    &.text-left .hero-video__cta-group
    {
        justify-content: start;

        .hero-image__cta,
        .hero-video__cta
        {
            margin-right: auto;
        }
    }

    &.text-right .hero-image__cta-group,
    &.text-right .hero-video__cta-group
    {
        justify-content: end;

        .hero-image__cta,
        .hero-video__cta
        {
            margin-left: auto;
        }
    }
}

.hero-image__heading,
.hero-image__heading-image,
.hero-image__disclaimer,
.hero-video__heading,
.hero-video__heading-image,
.hero-video__disclaimer
{
    margin-bottom: 1rem;
}

.hero-image__heading span,
.hero-video__heading span
{
    font-family: inherit;
}

.hero-image__cta-group,
.hero-video__cta-group
{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.hero-image__cta,
.hero-video__cta
{
    width: min(100%, 15rem);
}

.hero-video__video-controls
{
    &.right-2
    {
        right: 2%;
    }

    &.bottom-2
    {
        bottom: 2%;
    }
}

@media (min-width: 768px)
{

    .hero-image__cta-group,
    .hero-video__cta-group
    {
        display: flex;
        flex-direction: row;
    }
}

/* =================================================== 
END HERO COMPONENT BASE STYLES
=====================================================*/

/* =================================================== 
START HOME STYLES
=====================================================*/

.page--home
{

    .hero-image,
    .hero-video
    {
        aspect-ratio: 9/16;
        display: flex;
        align-items: center;
        justify-content: center;

        picture,
        img,
        video
        {
            height: 100%;
            width: 100%;
            object-fit: cover;
        }
    }

    .hero-image__wrapper,
    .hero-video__wrapper
    {
        position: absolute;
    }

    .hero-image__heading,
    .hero-video__heading
    {
        color: var(--brand-secondary-light);
        font-family: var(--brand-headline-font);
        font-size: clamp(1.75rem, 4vw, 3.75rem);
        font-weight: 400;
        letter-spacing: .05rem;
        line-height: 1.3;
        text-transform: uppercase;
    }

    .hero-image__cta,
    .hero-video__cta,
    .promo-card__cta
    {
        font-size: clamp(1.1rem, 2vw, 1.35rem);
        font-weight: 400;
    }

    .carousel-section
    {
        .container
        {
            max-width: unset;
        }

        .col-12
        {
            padding: 0;
        }

        .slick-slide a
        {

            &:focus,
            &:focus-visible
            {
                outline: 3px solid var(--brand-primary-dark, #345b4e);
                outline-offset: -3px;
                text-decoration: none;
            }
        }

        .slick-dots li button:before
        {
            font-size: 1.25rem;
        }

        .slick-prev:before,
        .slick-next:before
        {
            content: '';
        }

        .slick-prev
        {
            left: 5px;
            z-index: 1;
        }

        .slick-next
        {
            right: 5px;
            z-index: 1;
        }

        .slick-arrow
        {
            width: calc(2.5rem + 1%);

            &:hover img,
            &:focus img,
            &:focus-visible img
            {
                background-color: var(--brand-secondary-mid, #dfcdae);
                color: var(--brand-secondary-light, #345b4e);
            }
        }

        .slick-arrow img
        {
            background-color: var(--brand-secondary-light, #fdf9f2);
            border: 2px solid var(--brand-primary-dark, #345b4e);
            border-radius: 50%;
            padding: .75rem;
        }
    }

    .promo-card
    {
        color: var(--brand-primary-dark, #345b4e);
        font-family: var(--brand-headline-font, "Newsreader", Georgia, serif);
        text-align: center;
    }

    .promo-card__container
    {
        padding-bottom: 3rem;
        padding-top: 3rem;
    }

    .promo-card__heading
    {
        font-size: clamp(2.1rem, 5vw, 4rem);
        font-weight: 400;
        margin-bottom: 2rem;
        text-transform: uppercase;
    }

    .promo-card__cards-row
    {
        row-gap: 3.5rem;
        column-gap: 0;
    }

    .promo-card__card
    {

        &:nth-child(1) picture
        {
            box-shadow: 10px 10px 0 var(--brand-spring-1, #c1c186);
        }

        &:nth-child(2) picture
        {
            box-shadow: 10px 10px 0 var(--brand-autumn-3, #d46d53);
        }

        &:nth-child(3) picture
        {
            box-shadow: 10px 10px 0 var(--brand-summer-2, #edb077);
        }
    }

    .promo-card__card-title
    {
        font-size: clamp(1.5rem, 4vw, 1.65rem);
        line-height: 1.3;
    }

    .promo-card picture
    {
        display: block;
        overflow: hidden;
    }

    .promo-card__card-img
    {
        margin-bottom: 2rem;

        img
        {
            transition: transform 2500ms ease;
            width: 100%;
        }

    }

    .promo-card picture:hover img,
    .promo-card picture:focus img
    {
        transform: scale(1.15);
    }

    @media (prefers-reduced-motion: reduce)
    {
        .promo-card__image
        {
            transition: none;
        }
    }
}

@media (min-width: 576px)
{
    .page--home
    {

        .hero-image,
        .hero-video
        {
            aspect-ratio: 16/9;
        }
    }
}

@media (min-width: 992px)
{
    .page--home
    {

        .promo-card__container
        {
            padding-bottom: 5rem;
            padding-top: 5rem;
        }

        .promo-card__card-row
        {
            gap: 0;
        }

        .promo-card__card-title
        {
            font-size: clamp(1.5rem, 2.25vw, 1.75rem);
        }
    }
}

@media (min-width: 1800px)
{
    .page--home
    {

        .hero-image,
        .hero-video
        {
            aspect-ratio: 21/9;
        }
    }
}

/* =================================================== 
    END HOME STYLES
    =====================================================*/

/* =================================================== 
    START ORDER ONLINE STYLES
    =====================================================*/
.page--order-online
{
    background-color: #fff;

    .order-type__container
    {
        padding-bottom: 4rem;
    }

    .order-type__description
    {
        padding: 2rem;

        h2
        {
            font-size: clamp(2rem, 10vw, 3.25rem);
            text-wrap: balance;
        }
    }

    .order-type__cards-row
    {
        row-gap: 2rem;
    }

    .order-type__heading-column,
    .order-type__card
    {
        text-align: center;
    }

    .order-type__card
    {
        background-color: var(--brand-secondary-light, #fdf9f2);
        border: none;
        box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
        padding: 0;
    }

    .order-type__card-img
    {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 1.25rem;
    }

    .order-type__card-heading
    {
        padding: .75rem 1.25rem 0;

        h2
        {
            line-height: 1.3;
            margin-bottom: 0;
            text-wrap: balance;
        }
    }

    .order-type__card-description
    {
        flex: 1 1 auto;
        min-height: 1px;
        padding: 1.5rem 1.25rem;

        p
        {
            margin-bottom: 0;
        }
    }

    .order-type__card-description p,
    .order-type__cta-group .order-type__cta
    {
        font-size: 1.15rem;
    }

    .order-type__cta-group
    {
        padding-bottom: 1.25rem;

        .order-type__cta
        {
            text-transform: uppercase;
            font-family: var(--brand-body-font, "Poppins", Arial, sans-serif);
        }
    }
}

@media (min-width: 992px)
{
    .page--order-online
    {
        .order-type__container
        {
            padding-bottom: 5rem;
        }

        .order-type__cards-row
        {
            row-gap: 0;
            column-gap: 3rem;
        }

        .order-type__description
        {
            padding: 3rem 0;
        }
    }
}

/* =================================================== 
    END ORDER ONLINE STYLES
    =====================================================*/

.page--wine
{

    [class*="__cta-group"] a
    {
        font-size: clamp(1.1rem, 2vw, 1.35rem);
    }

    .wine-intro
    {
        overflow-y: hidden;
        position: relative;
        text-align: center;
    }

    .wine-intro__container
    {
        margin-top: 2rem;
        padding-bottom: 2rem;
    }

    .wine-intro__background
    {
        background-color: var(--brand-secondary-mid, #dfcdae);
        background-image: linear-gradient(to bottom, transparent 0 83%, var(--brand-primary-dark, #345b4e) 83% 100%), url(https://media.seasons52.com/images/site/page-updates/wine/s52-wine-chardonnay-swish-hero-background-cropped.png);
        background-position: center, top 10% left 35%;
        background-repeat: no-repeat;
        background-size: cover, cover;
    }

    .wine-intro__heading
    {
        margin-bottom: 1.5rem;

        h2
        {
            color: var(--brand-primary-dark, #345b4e);
            font-size: clamp(2.25rem, 4vw, 3.5rem);
            font-weight: 400;
            text-wrap: balance;
        }
    }

    .wine-intro__content
    {
        background-color: var(--brand-secondary-light, #fdf9f2);
        margin-bottom: 3.5rem;
        padding-bottom: 1.5rem;
        padding-top: 1.5rem;
    }

    .wine-intro__description
    {
        margin-bottom: 5rem;
    }

    .wine-intro__copy
    {
        text-wrap: balance;
    }

    .wine-intro__media
    {
        display: flex;
        flex-direction: column-reverse;
        padding: 0;
        position: static;
    }

    .wine-intro__full-width-banner
    {
        background-color: var(--brand-autumn-1, #e68870);
        color: var(--brand-primary-dark, #345b4e);
        position: absolute;
        bottom: 2%;
        left: 0;
        overflow-y: hidden;
        transform: rotate(-3deg);
        width: 100%;

        p
        {
            font-family: var(--brand-headline-font, "Newsreader", Georgia, serif);
            font-size: 1.2rem;
            padding-top: .25rem;
        }

        span.font--accent
        {
            font-size: 125%;
        }
    }

    .discover-wines
    {
        background-color: var(--brand-primary-dark, #345b4e);
        padding-bottom: 7rem;
        padding-top: 1rem;
    }

    .discover-wines .half-image-half-content__media
    {
        margin-bottom: 2rem;
    }

    .discover-wines .half-image-half-content__content
    {
        color: var(--brand-secondary-light, #fdf9f2);
    }

    .discover-wines .half-image-half-content__description
    {
        margin-bottom: 2rem
    }

    .cocktails
    {
        position: relative;
        /* overflow: visible; */

        &::before
        {

            content: "";
            position: absolute;
            bottom: 0;
            right: 0;
            width: 58%;
            height: 50%;
            transform: translateY(-133%);
            background: url(https://media.seasons52.com/images/site/page-updates/wine/s52-wine-watermelon-margarita-cutout-desktop.png) top right / contain no-repeat;
            pointer-events: none;
            z-index: 1;

        }

        &::after
        {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 53%;
            height: 50%;
            transform: translate(-30%, 45%);
            background: url("https://media.seasons52.com/images/site/page-updates/wine/s52-wine-jetsetter-with-orange-twist-top-view.png") bottom left / contain no-repeat;
            pointer-events: none;
            z-index: 1;
        }
    }

    .cocktails__content
    {
        padding: 0 0 8rem;
        text-align: center;
    }

    .cocktails__heading
    {
        padding-top: 7rem;
    }

    .cocktails__description p
    {
        text-wrap: balance;
    }

    .cocktails__heading p,
    .happy-hour .half-image-half-content__heading p
    {
        color: var(--brand-primary-dark, #345b4e);
        font-family: var(--brand-headline-font, "Newsreader", Georgia, serif);
        /* font-size: clamp(1.75rem, 7vw, 2.4rem); */
        font-size: clamp(1.75rem, 4vw, 2.6rem);
        line-height: 1.3;
    }

    .happy-hour .half-image-half-content__container
    {
        padding-bottom: 3rem;
        padding-left: 0;
        padding-right: 0;
    }

    .happy-hour .half-image-half-content__disclaimer
    {
        margin-bottom: 1.5rem;
    }

    .happy-hour .half-image-half-content__content
    {
        padding-left: 15px;
        padding-right: 15px;
        padding-top: 2rem;
    }

    .another-glass__background
    {
        background-image: url("https://media.seasons52.com/images/site/page-updates/wine/s52-wine-stay-for-another-glass-background-mobile.jpg");
        background-position: left 65% bottom 75%;
        background-repeat: no-repeat;
        background-size: cover;
        padding-bottom: 2rem;
        padding-top: 2rem
    }

    .another-glass__container
    {
        padding-bottom: 2rem;
        padding-top: 2rem;
        text-align: center;
    }

    .another-glass__content
    {
        background-color: var(--brand-secondary-light, #fdf9f2);
        padding-bottom: 1.5rem;
        padding-top: 1.5rem;
    }

    .another-glass__heading
    {
        color: var(--brand-primary-dark, #345b4e);

        h2
        {
            font-size: clamp(2.25rem, 4vw, 3.75rem);
            text-wrap: balance;
        }
    }

    .another-glass__description
    {
        margin-bottom: 2rem;
    }
}

@media (min-width: 412px)
{
    .page--wine
    {
        .cocktails__heading
        {
            padding-top: calc(3.5rem + 22%);
        }
    }
}

@media (min-width: 540px)
{
    .page--wine
    {
        .wine-intro__background
        {
            background-image: linear-gradient(to bottom, transparent 0 75%, var(--brand-primary-dark, #345b4e) 75% 100%),
                url(https://media.seasons52.com/images/site/page-updates/wine/s52-wine-chardonnay-swish-hero-background-cropped.png);
        }

        .cocktails
        {
            &::before
            {
                transform: translateY(-136%);
                width: 47%;
            }

            &::after
            {
                width: 50%;
            }
        }
    }
}

@media (min-width: 768px)
{
    .page--wine
    {
        .wine-intro__container
        {
            margin-top: 3rem;
            padding-bottom: 4rem;
        }

        .wine-intro__content
        {
            padding: 3rem;
        }

        .wine-intro__description
        {
            margin-bottom: 3rem;
        }

        .wine-intro__full-width-banner
        {
            bottom: 4.5%;

            p
            {
                font-size: 1.5rem;
            }
        }

        .cocktails
        {
            &::before
            {
                width: 38%;
            }

            &::after
            {
                transform: translateX(-28%);
            }
        }

        .cocktails__heading
        {
            padding-top: 8.5rem;
        }

        .half-image-half-content__container
        {
            padding-left: 0;
            padding-right: 0;
        }

        .happy-hour .half-image-half-content__content
        {
            padding-top: 0;
        }

        .another-glass__content
        {
            padding: 3rem;
        }

        .another-glass__copy
        {
            text-wrap: balance;
        }
    }
}

@media (min-width: 992px)
{
    .page--wine
    {
        [class*="__copy"]
        {
            font-size: 1.15rem;
        }

        .wine-intro__full-width-banner
        {
            bottom: 3.5%;

            p
            {
                font-size: 2rem;
            }
        }

        .discover-wines .half-image-half-content__content
        {
            display: flex;
            align-items: center;
        }

        .cocktails
        {
            margin-bottom: 2rem;
            overflow-x: clip;

            &::before
            {
                height: 75%;
                width: 39%;
                transform: translate(10%, -75%);
            }

            &::after
            {
                height: 70%;
                width: 70%;
                transform: translate(-15%, 25%);
            }
        }

        .cocktails__content
        {
            padding-bottom: 5rem;
        }

        .cocktails__heading
        {
            padding-top: 6.5rem;
        }

        .cocktails__description
        {
            margin-bottom: 2rem;
        }

        .happy-hour .half-image-half-content__content
        {
            display: flex;
            align-items: center;
        }

        .happy-hour .half-image-half-content__description,
        .happy-hour .half-image-half-content__disclaimer
        {
            margin-bottom: 2rem;
        }


    }
}

@media (min-width: 1200px)
{
    .page--wine
    {
        .wine-intro__background
        {
            background-image: linear-gradient(to bottom, transparent 0 75%, var(--brand-primary-dark, #345b4e) 75% 100%),
                url("https://media.seasons52.com/images/site/page-updates/wine/s52-wine-chardonnay-swish-intro-background.png");
        }

        .discover-wines
        {
            padding-bottom: 2rem;
        }

        .cocktails
        {
            &::after
            {
                height: 75%;
                width: 30%;
                transform: translate(-15%, 25%);
            }
        }

        .happy-hour .half-image-half-content__container
        {
            padding-bottom: 5rem;
        }

        .another-glass__background
        {
            padding-bottom: 5rem;
            padding-top: 5rem;
        }

        .another-glass__content
        {
            padding: 5rem;
        }

        .another-glass__heading
        {
            margin-bottom: 1.5rem;
        }
    }
}

@media (min-width: 1400px)
{
    .page--wine
    {
        .wine-intro__container
        {
            padding-bottom: 5rem;
        }

        .wine-intro__full-width-banner
        {
            bottom: 3%;

            p
            {
                font-size: 2.5rem;
            }
        }

        .cocktails
        {
            margin-bottom: 4rem;

            &::before
            {
                height: 100%;
                width: 50%;
                transform: translate(0%, -40%);
            }

            &::after
            {
                height: 100%;
                width: 80%;
                transform: translate(-10%, 35%);
            }
        }
    }
}

@media (min-width: 1536px)
{
    .page--wine
    {
        [class*="__copy"]
        {
            font-size: 1.25rem;
        }

        .wine-intro__content
        {
            padding: 4rem;
        }
    }
}

@media (min-width: 1850px)
{
    .page--wine
    {

        .wine-intro__container
        {
            padding-bottom: 6rem;
        }

        .wine-intro__full-width-banner
        {
            bottom: 4%;
        }

        .cocktails
        {
            margin-bottom: 4rem;

            &::before
            {
                height: 544px;
                width: 544px;
                transform: translate(0%, -25%);
            }

            &::after
            {
                height: 544px;
                width: 544px;
                transform: translate(-15%, 35%);
            }
        }
    }
}

/* =================================================== 
    END WINE STYLES
    =====================================================*/

/* =================================================== 
    START GIFT CARD STYLES
    =====================================================*/
.page--holiday-gift-cards
{

    .text-underline
    {
        text-decoration: underline;
        text-underline-offset: .3125rem;
    }

    .holiday-hero__background
    {
        background-image: url('https://media.seasons52.com/images/site/page-updates/gift-cards/Holiday/s52-gift-cards-holiday-hero-bg-mobile.jpg');
        background-position: top;
        background-size: cover;
        background-repeat: no-repeat;
    }

    .holiday-hero
    {
        aspect-ratio: 9/16;
        color: var(--brand-secondary-light, #fdf9f2);
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
    }

    .holiday-hero__description
    {
        margin-bottom: 3rem;
        text-wrap: balance;
    }

    .holiday-hero__content
    {
        margin-top: 1rem;
        padding-left: 0;
        padding-right: 0;
    }

    .holiday-hero__heading
    {
        margin-bottom: 2rem;

        h2
        {
            color: var(--brand-secondary-light, #fdf9f2);
            font-size: clamp(3rem, 13.5vw, 5rem);
            text-wrap: balance;
        }

        span.font--accent
        {
            font-size: 150%;
            font-style: italic;
            line-height: .75;
        }

    }

    .holiday-hero__cta-group
    {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .holiday-hero__copy,
    .holiday-gift-cards__copy
    {

        a:hover,
        a:active
        {
            color: var(--brand-secondary-light) !important;
        }
    }

    [class*="__copy"],
    [class*="btn--"]
    {
        font-size: clamp(1.2rem, 5vw, 1.4rem);
    }

    .holiday-gift-cards
    {
        background-image: url('https://media.seasons52.com/images/site/page-updates/gift-cards/Holiday/s52-gift-cards-holiday-winter-blue-bg-mobile.jpg');
        background-position: top;
        background-size: cover;
        background-repeat: no-repeat;
        padding-bottom: 3rem;
        padding-top: 3rem;
    }

    .holiday-gift-cards .half-image-half-content__container
    {
        padding-left: 0;
        padding-right: 0;
    }

    .holiday-gift-cards .half-image-half-content__media
    {
        margin-bottom: 2rem;
        padding-right: 15px;
    }

    .holiday-gift-cards .half-image-half-content__content
    {
        padding-left: 15px;
        padding-right: 15px;
        text-align: center;
    }

    .holiday-gift-cards .half-image-half-content__heading
    {
        margin-bottom: 2rem;

        h3
        {
            color: var(--brand-secondary-light, #fdf9f2);
            font-size: clamp(2.75rem, 7vw, 4.5rem);
            line-height: 1.2;
            text-transform: initial;
            text-wrap: balance;
        }

        span.font--accent
        {
            color: var(--brand-secondary-mid, #dfcdae);
            font-size: 150%;
            font-style: italic;
            text-transform: initial;
        }
    }

    .holiday-gift-cards__questions
    {
        color: var(--brand-secondary-mid, #dfcdae);
        font-size: clamp(1.3rem, 6vw, 1.65rem);
    }

    .holiday-gift-cards__copy
    {
        color: var(--brand-secondary-light, #fdf9f2);
        text-wrap: balance;
    }
}

@media (min-width: 576px)
{
    .page--holiday-gift-cards
    {
        .holiday-hero
        {
            aspect-ratio: 16/11;
            justify-content: center;
        }

        .holiday-hero__content
        {
            padding-bottom: 3rem;
        }

        .holiday-hero__cta-group
        {
            flex-direction: row;

            .holiday-hero__cta
            {
                flex: 1;
            }
        }

        .holiday-gift-cards .half-image-half-content__media
        {
            margin-bottom: 4rem;
            max-width: 85%;
        }
    }
}

@media (min-width: 768px)
{
    .page--holiday-gift-cards
    {
        .holiday-hero
        {
            aspect-ratio: 4/3;
        }
    }
}

@media (min-width: 992px)
{
    .page--holiday-gift-cards
    {

        .holiday-hero__background
        {
            background-image: url('https://media.seasons52.com/images/site/page-updates/gift-cards/Holiday/s52-gift-cards-holiday-hero-bg-desktop-xl.jpg');
            background-size: 100% auto;
        }

        .holiday-gift-cards__service-label
        {
            display: flex;
            align-items: center;

            p
            {
                background-color: var(--brand-secondary-mid, #dfcdae);
                border-radius: 50rem 0 0 50rem;
                clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%);
                font-size: 1.2rem;
                margin-bottom: 0;
                padding: .25rem 1rem;
            }
        }

        .holiday-gift-cards__service-links
        {
            line-height: 2;
            padding-left: 1.5rem;

            a
            {
                color: var(--brand-secondary-light, #fdf9f2);
                font-size: 2.25rem;
                font-weight: bold;
                text-transform: uppercase;
            }

            a + a::before
            {
                content: "|";
                margin-left: .5rem;
                margin-right: .75rem;
                color: var(--brand-secondary-mid, #dfcdae);
            }

            a:hover,
            a:active
            {
                color: var(--brand-secondary-light, #fdf9f2);
                text-decoration: underline;
            }
        }

        .holiday-gift-cards
        {
            background-image: url('https://media.seasons52.com/images/site/page-updates/gift-cards/Holiday/s52-gift-cards-holiday-winter-blue-bg-desktop.jpg');
            background-size: cover;
            padding-bottom: 0;
            padding-top: 0;
        }

        .holiday-gift-cards .half-image-half-content__row
        {
            justify-content: center;
        }

        .holiday-gift-cards .half-image-half-content__content
        {
            display: flex;
            align-items: center;
        }

        .holiday-gift-cards .half-image-half-content__heading
        {
            h3
            {
                font-size: 2.75rem;
            }
        }

        .holiday-gift-cards .half-image-half-content__media
        {
            display: flex;
            align-items: end;
            margin-bottom: 0;
        }
    }
}

@media (min-width: 1200px)
{
    .page--holiday-gift-cards
    {
        .holiday-hero
        {
            aspect-ratio: 16/9;
        }
    }
}

@media (min-width: 1400px)
{
    .page--holiday-gift-cards
    {
        .holiday-gift-cards__service-label p
        {
            font-size: 1.5rem;
        }

        .holiday-gift-cards__service-links
        {
            font-size: 3.5rem;
        }

        .holiday-gift-cards .half-image-half-content__heading h3
        {
            font-size: 3rem;
        }
    }
}

@media (min-width: 1800px)
{
    .page--holiday-gift-cards
    {
        .holiday-hero
        {
            aspect-ratio: 21/9;
        }

        .holiday-gift-cards__service-links
        {
            margin-bottom: 1rem;
        }

        .holiday-gift-cards .half-image-half-content__heading
        {
            h3
            {
                font-size: 3.45rem;
            }
        }
    }
}

/* =================================================== 
    END GIFT CARD STYLES
    =====================================================*/

/* =================================================== 
    START OUR STORY STYLES
    =====================================================*/
.page--our-story
{

    .intro__sub-heading .font--headline,
    .intro__heading h1,
    .way-we-cook h2,
    .featured__card-heading h3,
    .make-room__heading h2
    {
        color: var(--brand-primary-dark, #345b4e);
        text-wrap: balance;
    }

    .intro__container
    {
        padding-bottom: 1rem;
        padding-top: 2rem;
    }

    .intro__sub-heading
    {
        margin-bottom: 2rem;

        p
        {
            line-height: .85;
            text-align: center;
            font-size: clamp(2.5rem, 10vw, 3.25rem);
            text-wrap: balance;
        }

        .font--accent
        {
            color: var(--brand-spring-2, #a5b886);
            font-size: 2em;
        }
    }

    .intro__heading h1
    {
        font-size: clamp(2rem, 5vw, 3rem);
        text-transform: capitalize;
    }

    .way-we-cook .half-image-half-content__heading h2
    {
        font-size: clamp(2rem, 3vw, 3rem);
        text-transform: none;
    }

    .featured__cards-row
    {
        row-gap: 2rem;
    }

    .featured__card
    {
        position: relative;
        padding-bottom: 2rem;

        &:not(:last-child)::after
        {
            content: "";
            position: absolute;
            bottom: 0;
            left: 15px;
            right: 15px;
            height: 1.5px;
            background-color: var(--brand-primary-dark, #345b4e);
        }
    }

    .featured__card-img
    {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 1.5rem;
    }

    .featured__card-heading h3
    {
        font-size: clamp(2rem, 4vw, 2.5rem);
        text-transform: none;
    }

    .featured__card-body
    {
        text-align: center;
    }

    .featured__card-description p
    {
        text-wrap: pretty;
    }

    .cheers
    {
        background: linear-gradient(177deg,
                transparent 0 4.5%,
                var(--brand-primary-dark, #345b4e) 4.5% 100%);
        color: var(--brand-secondary-light, #fdf9f2);
        overflow-x: clip;
        padding-bottom: 3rem;
    }

    .cheers__marquee-repeat
    {
        display: none;
    }

    .cheers .half-image-half-content__title
    {
        background-color: transparent;
        isolation: isolate;
        margin-bottom: 2rem;
        overflow: visible;
        padding-top: .5rem;
        position: relative;
        text-align: center;
        transform: rotate(-3deg);

        p
        {
            color: var(--brand-primary-dark, #345b4e);
            font-size: clamp(1.4rem, 6vw, 2.25rem);
            line-height: 1.3;
            margin-bottom: 0;
        }


        .font--accent
        {
            font-size: 1.75em;
        }

        &::before
        {
            background-color: var(--brand-winter-1, #bdd5df);
            content: "";
            inset: 0 -15px;
            position: absolute;
            z-index: -1;
        }
    }

    .cheers h2
    {
        color: var(--brand-spring-1, #c1c186);
        text-transform: none;
        text-wrap: balance;
    }

    .make-room__background
    {
        background-image: url("https://media.seasons52.com/images/site/page-updates/Our-Story/s52-our-story-make-room-for-what-matters-background-mobile.png");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .make-room__content
    {
        background-color: var(--brand-secondary-light, #fdf9f2);
        margin: 2rem 0;
        padding: 3rem 2rem;
        text-align: center;
    }

    .make-room__heading
    {
        h2
        {
            font-size: 2rem;
        }

        .font--accent
        {
            font-size: 2em;
        }
    }

    .make-room__copy
    {
        text-wrap: balance;
    }
}

@media (min-width: 768px)
{
    .page--our-story
    {

        .intro__container
        {
            padding-bottom: 0;
        }

        .intro__content
        {
            column-gap: 2rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-template-areas:
                "sub-heading heading"
                "sub-heading description";
            align-items: start;
        }

        .intro__sub-heading
        {
            grid-area: sub-heading;
            place-self: center;
        }

        .intro__heading
        {
            grid-area: heading;
        }

        .intro__description
        {
            grid-area: description;
        }

        .featured__cards-row
        {
            row-gap: 3rem;
        }

        .featured__card
        {
            padding-bottom: 3rem;
        }

        .cheers .half-image-half-content__container
        {
            padding-top: 2rem;
        }

        .way-we-cook .half-image-half-content__row,
        .cheers .half-image-half-content__row
        {
            justify-content: center;
        }

        .cheers .half-image-half-content__row
        {
            align-items: center;
        }

        .way-we-cook .half-image-half-content__description
        {
            margin-bottom: 3rem;
        }

        .cheers__marquee-repeat
        {
            display: inline;
        }

        .cheers__marquee-single,
        .cheers__marquee-repeat
        {
            padding-right: .5rem;
        }

        .make-room__background
        {
            background-image: url("https://media.seasons52.com/images/site/page-updates/Our-Story/s52-our-story-make-room-for-what-matters-background-desktop.png");
        }

        .make-room__content
        {
            margin: 4rem 0;
        }
    }
}

@media (min-width: 992px)
{
    .page--our-story
    {
        .intro__row
        {
            margin-bottom: 3rem;
        }

        .intro__content
        {
            grid-template-columns: 1fr 1.5fr;
        }

        .way-we-cook .half-image-half-content__content
        {
            padding-right: 3rem;
        }

        .way-we-cook .half-image-half-content__row
        {
            align-items: end;
            margin-bottom: 7rem;
        }

        .way-we-cook .half-image-half-content__heading
        {
            margin-bottom: 1rem;
        }

        .way-we-cook .half-image-half-content__description,
        .way-we-cook .half-image-half-content__description p
        {
            margin-bottom: 0;
        }

        .featured__cards-row
        {
            row-gap: 0;
        }

        .featured__card
        {
            display: flex;
            flex-direction: column;

            &:not(:last-child)::after
            {
                content: unset;
            }
        }

        .featured__card-img
        {
            padding: 2rem 2rem 0;
        }

        .featured__card-heading h3
        {
            font-size: clamp(1.65rem, 2vw, 2.25rem);
        }

        .featured__card-body
        {
            display: flex;
            flex-direction: column;
            flex: 1;
        }

        .featured__cta-group
        {
            margin-top: auto;
        }

        .cheers .half-image-half-content__heading
        {
            margin-bottom: 2rem;

            h2
            {
                font-size: 2.5rem;
            }
        }

        .make-room__content
        {
            margin: 6rem 0;
        }

        .make-room__heading h2
        {
            font-size: 2.75rem;
            margin-bottom: 0;
        }

        .make-room__copy
        {
            margin-bottom: 1.5rem;
        }
    }
}

@media (min-width: 1200px)
{
    .page--our-story
    {

        p,
        [class*="__cta"]
        {
            font-size: 1.15rem;
        }

        .intro__container
        {
            padding-top: 3rem;
        }

        .intro__content
        {
            column-gap: 4rem;
        }

        .intro__heading
        {
            margin-bottom: 1rem;
        }

        .featured__image
        {
            width: 75%;
        }

        .cheers .half-image-half-content__row
        {
            gap: 3rem;
        }

        .make-room__content
        {
            padding: 4rem 3rem;
        }

        .make-room__description
        {
            margin-bottom: 2rem;
        }
    }
}

@media (min-width: 1400px)
{
    .page--our-story
    {
        .intro__container
        {
            padding-top: 5rem;
        }

        .intro__content
        {
            max-width: 1100px;
            padding-bottom: 3rem;
        }

        .intro__sub-heading p
        {
            font-size: 3.75rem;
        }

        .way-we-cook
        {
            margin-bottom: 3rem;
        }

        .cheers
        {
            background: linear-gradient(177deg, transparent 0 7%, var(--brand-primary-dark, #345b4e) 7% 100%);
        }

        .cheers .half-image-half-content__container
        {
            padding-top: 5rem;
            padding-bottom: 3rem;
        }

        .cheers .half-image-half-content__row
        {
            gap: 5rem;
        }
    }
}

/* =================================================== 
    START OUR STORY STYLES
    =====================================================*/

/* =================================================== 
    START WHAT'S IN SEASON STYLES
    WINTER, AUTUMN, SUMMER, SPRING
    =====================================================*/
.page--in-season.winter
{

    .intro
    {
        background-color: var(--brand-winter-1, #bdd5df);
        padding: 2rem 0;
    }

    .intro__sub-heading p
    {
        font-size: clamp(2.5rem, 6.5vw, 4.5rem);
        line-height: .9;
        margin-bottom: 2.5rem;
        text-align: center;

        .font--accent
        {
            color: var(--brand-primary-dark, #345b4e);
            font-size: 1.75em;
        }

        .font--headline
        {
            color: var(--brand-secondary-light, #fdf9f2);
            letter-spacing: .75px;
            text-transform: uppercase;
        }
    }

    .intro__heading h1
    {
        font-size: clamp(1.5rem, 8.5vw, 2.5rem);
        text-transform: none;
    }

    .intro__description
    {
        margin-bottom: 2rem;
    }

    .starters,
    .soup-and-salad,
    .entrees,
    .drinks,
    .dessert
    {
        [class*="__cta-group"]
        {
            display: none;
        }
    }


    [class*="__heading-column"]
    {
        background-color: var(--brand-secondary-light, #fdf9f2);
    }

    [class*="__heading-column"]
    {
        padding: 1.25rem 0;
        text-align: center;
        text-wrap: balance;

        h2
        {
            font-size: clamp(1.75rem, 9vw, 2.25rem);
            margin-bottom: 0;
            text-transform: capitalize;
        }
    }

    [class*="__card "],
    [class$="__card"]
    {
        &:last-of-type
        {
            border-bottom: 1rem solid var(--brand-winter-1);
        }
    }

    .starters
    {
        background-image: linear-gradient(to bottom, var(--brand-winter-1, #bdd5df) 0% calc(15% - 100px), var(--brand-primary-dark, #345b4e) calc(15% - 100px) 100%);
    }

    .soup-and-salad,
    .entrees,
    .drinks,
    .dessert
    {
        background-color: var(--brand-primary-dark, #345b4e);
    }

    .starters,
    .soup-and-salad,
    .entrees,
    .drinks,
    .dessert
    {
        padding-bottom: 2rem;
    }

    .starters__card,
    .soup-and-salad__card,
    .entrees__card,
    .drinks__card,
    .dessert__card
    {
        background-color: var(--brand-secondary-light, #fdf9f2);
    }


    [class*="__card-img"]
    {
        margin-bottom: 1rem;
        padding-left: .5rem;
        padding-right: .5rem;
    }

    [class*="__card-body"]
    {
        padding-bottom: 2.5rem;
        padding-right: 1rem;
        padding-left: 1rem;
    }

    [class*="__card-heading"]
    {

        h3,
        h3 a
        {
            font-family: var(--brand-body-font);
            font-size: clamp(1.25rem, 4vw, 1.75rem);
            font-weight: 600;
            line-height: 1.5;
            outline: none !important;
            outline-offset: none !important;
            box-shadow: none !important;
        }

        h3:has(a:focus),
        h3:has(a:focus-visible)
        {
            outline: 2px solid var(--brand-secondary-light, #fdf9f2) !important;
            outline-offset: 2px !important;
            box-shadow: 0 0 0 5px var(--brand-primary-dark, #345b4e) !important;
        }
    }

    [class*="__card-description"] p
    {
        margin-bottom: 0;
    }

    .most-of-winter__background
    {
        /* background-image: url("https://media.seasons52.com/images/site/page-updates/whats-in-season/winter/s52-in-season-winter-make-the-most-of-winter-background-full.jpg"); */
        background-image: url("https://media.seasons52.com/images/site/page-updates/whats-in-season/winter/s52-in-season-winter-make-the-most-of-winter-background-cropped-mobile.jpg");
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .most-of-winter__content
    {
        background-color: var(--brand-secondary-light, #fdf9f2);
        border: 15px solid var(--brand-winter-1, #bdd5df);
        margin: 2rem 0;
        padding: 3rem 2rem;
        text-align: center;
    }

    .most-of-winter__heading
    {
        margin-bottom: 2rem;

        h2
        {
            line-height: .85;
            font-size: clamp(2.25rem, 8vw, 3.5rem);
        }

        .font--accent
        {
            font-size: 2em;
            text-transform: lowercase;
        }
    }

    .most-of-winter__description
    {
        margin-bottom: 1.5rem;

        p
        {
            text-wrap: pretty;
        }
    }
}

@media (min-width: 412px)
{
    .page--in-season.winter
    {

        .starters,
        .soup-and-salad,
        .entrees,
        .drinks,
        .dessert
        {
            padding-left: 1rem;
            padding-right: 1rem;
        }
    }
}

@media (min-width: 576px)
{
    .page--in-season.winter
    {

        [class*="__description"] p,
        [class*="__card-description"] p,
        [class*="__cta"]
        {
            font-size: 1.15rem
        }
    }
}

@media (min-width: 768px)
{
    .page--in-season.winter
    {
        .most-of-winter__background
        {
            background-image: url("https://media.seasons52.com/images/site/page-updates/whats-in-season/winter/s52-in-season-winter-make-the-most-of-winter-background.jpg");
            background-position: top;
            padding: 5rem 0;
        }
    }
}

@media (min-width: 992px)
{
    .page--in-season.winter
    {
        .intro__content
        {
            column-gap: 2rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            grid-template-areas: "sub-heading heading" "sub-heading description" "sub-heading button";
            align-items: start;
            padding: 5rem 0;
        }

        .intro__sub-heading
        {
            grid-area: sub-heading;
            place-self: center;
        }

        .intro__heading
        {
            grid-area: heading;
        }

        .intro__description
        {
            grid-area: description;
            margin-bottom: 1rem;
        }

        .intro__cta-group
        {
            grid-area: button;
            margin-right: auto;
        }

        [class*="__heading-row"],
        [class*="__cards-row"]
        {
            max-width: 100%;
        }

        [class*="__container"]:not(.intro__container, .most-of-winter__container)
        {
            background-color: var(--brand-secondary-light, #fdf9f2);
            border-bottom: 1rem solid var(--brand-winter-1, #bdd5df);
            margin: 0 auto;
        }

        [class*="__heading-column"]
        {
            padding: 2.5rem 1rem;

            [class*="__heading"]
            {
                display: flex;
                align-items: center;
                gap: 1.5rem;

                &::before,
                &::after
                {
                    content: '';
                    flex: 1;
                    height: 2px;
                    background-color: var(--brand-primary-dark, #345b4e);
                }
            }

            h2
            {
                font-size: clamp(2.5rem, 4vw, 3rem);
            }
        }


        [class*="__card "],
        [class$="__card"]
        {
            background-color: transparent;
            border-bottom: none;

            &:last-of-type
            {
                border-bottom: none;
            }

            &:not(.starters__card),
            &:not(.starters__card)
            {
                padding: .625rem;
            }
        }

        [class*="__card-body"]
        {
            padding-left: 0;
            padding-right: 0;
        }

        [class*="__card-heading"]
        {

            h3,
            h3 a
            {
                font-size: clamp(1.25rem, 2.25vw, 1.5rem);

                &:hover
                {
                    color: inherit;
                    text-decoration: underline;
                    text-underline-offset: 2px;
                }
            }
        }

        [class*="__card-img"]
        {
            padding-left: 0;
            padding-right: 0;
        }

        .starters
        {
            background-image: linear-gradient(to bottom, var(--brand-winter-1, #bdd5df) 0% calc(25% - 100px), var(--brand-primary-dark, #345b4e) calc(25% - 100px) 100%);
        }

        .most-of-winter__description
        {

            p
            {
                text-wrap: balance;
            }
        }
    }
}

@media (min-width: 1200px)
{
    .page--in-season.winter
    {

        [class*="__heading-row"],
        [class*="__cards-row"]
        {
            max-width: 90%;
        }

        .most-of-winter__content
        {
            padding: 4rem 2rem;
        }
    }
}

@media (min-width: 1400px)
{
    .page--in-season.winter
    {

        [class*="__description"] p,
        [class*="__card-description"] p,
        [class*="__cta"]
        {
            font-size: 1.25rem
        }
    }
}

/* =================================================== 
    END WHAT'S IN SEASON STYLES
    WINTER, AUTUMN, SUMMER, SPRING
    =====================================================*/

/* =================================================== 
    START FAQS
    =====================================================*/
.page--faq
{
    .faq__main
    {
        padding-left: 0;
        padding-right: 0;
    }

    .faq__title
    {
        font-size: clamp(2rem, 4vw, 3.5rem);
        margin-bottom: 2rem;
        text-wrap: balance;
    }

    .faq__category-title
    {
        font-size: 1.5rem;
        color: var(--brand-primary-dark, #345b4e);
        text-transform: uppercase;
    }

    .faq__category-description
    {
        color: var(--brand-body-default-color, #303030);
        font-size: 1rem;
    }

    .faq__item
    {
        border-bottom: 1px solid #d8d8d8;
        background: transparent;
        transition: all 0.3s ease;
    }

    .faq__item-heading
    {
        margin-bottom: 0;

        .faq__trigger
        {
            width: 100%;
            background-color: transparent;
            padding: 1rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            border: none;
            text-align: left;
            transition: background-color 0.3s ease;
            cursor: pointer;
            text-decoration: none;
            -webkit-transition: background-color 0.3s ease;
            -moz-transition: background-color 0.3s ease;
            -ms-transition: background-color 0.3s ease;
            -o-transition: background-color 0.3s ease;

            &.collapsed
            {
                background-color: transparent;
            }

            &[aria-expanded="true"],
            &[aria-expanded="false"]:hover
            {
                color: var(--brand-secondary-light, #fdf9f2);
                background-color: var(--brand-primary-dark, #345b4e);
            }

            &[aria-expanded="false"]
            {
                background-color: transparent;
            }

            &[aria-expanded="true"]
            {
                .faq__icon
                {
                    &::after
                    {
                        transform: rotate(90deg);
                        opacity: 0;
                    }
                }
            }

            &[aria-expanded="true"],
            &[aria-expanded="false"]:hover
            {
                color: rgb(255, 255, 255);
                background-color: var(--brand-primary-dark, #345b4e);

                .faq__icon::before,
                .faq__icon::after
                {
                    background-color: #fff;
                }
            }

            .faq__icon
            {
                position: relative;
                width: 10px;
                height: 10px;
                flex-shrink: 0;

                &::before,
                &::after
                {
                    content: "";
                    position: absolute;
                    background-color: #4a6d3a;
                    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
                }

                &::before
                {
                    top: 50%;
                    left: 0;
                    width: 100%;
                    height: 2px;
                    margin-top: -1px;
                }

                /* Vertical line */
                &::after
                {
                    top: 0;
                    left: 50%;
                    width: 2px;
                    height: 100%;
                    margin-left: -1px;
                }
            }
        }

        .faq__question-text
        {
            font-family: var(--brand-body-font);
            font-size: 1rem;
            padding-right: 15px;
            transition: color 0.3s ease;
            -webkit-transition: color 0.3s ease;
            -moz-transition: color 0.3s ease;
            -ms-transition: color 0.3s ease;
            -o-transition: color 0.3s ease;
            text-transform: uppercase;
        }
    }

    .faq__answer
    {
        p
        {
            font-size: 1rem;
            color: var(--brand-secondary-dark, #3b3a36);
            margin-bottom: 0;

            & + p
            {
                margin-top: 1rem;
            }
        }

        .faq-section__link
        {
            font-size: 1rem;
            color: var(--brand-primary-dark, #345b4e);
            text-decoration: none;

            &:hover
            {
                text-decoration: underline;
                text-underline-offset: 2px;
            }
        }


    }

    .faq__collapse
    {
        padding: 1rem .5rem;
    }
}

@media (min-width: 540px)
{

    .page--faq
    {
        .faq__category-title
        {
            font-size: 1.75rem;
        }

        .faq__category-description
        {
            font-size: 1.125rem;
        }

        .faq__item
        {
            .faq__item-heading
            {
                .faq__question-text
                {
                    font-size: 1.25rem;
                }
            }

            .faq__answer
            {

                p,
                .faq-section__link
                {
                    font-size: 1.125rem;
                }
            }
        }
    }
}

@media (min-width: 768px)
{
    .page--faq
    {

        .faq__flex-container
        {
            flex: 0 0 66.6%;
        }

        .faq__title
        {
            color: var(--brand-primary-dark, #345b4e);
            text-align: center;
            letter-spacing: 3px;
        }

        .faq__category
        {
            margin-bottom: 3rem;
        }

        .faq__category-nav-list li:not(:last-child)
        {
            display: block;
        }

        .faq__category-nav-list li:not(:last-child)::after
        {
            content: "";
            margin-left: 20px;
            color: var(--brand-secondary-dark, #345b4e);
            pointer-events: none;
        }


        /* ==========================================================================
            CATEGORY NAVIGATION
            ========================================================================== */
        .faq__category-nav
        {
            margin-bottom: 3rem;

            .faq__category-nav-list
            {
                display: flex;
                justify-content: center;
                gap: 20px;
                color: var(--brand-secondary-dark, #345b4e);
                font-size: 1.1rem;
                font-weight: 700;
                flex-direction: row;
                flex-wrap: wrap;
            }

            .faq__category-nav-list li
            {
                list-style-type: none;
            }

            .faq__category-nav-list li:not(:last-child)
            {
                display: flex;
                align-items: center;
            }

            .faq__category-nav-list li:not(:last-child)::after
            {
                content: "|";
                margin-left: 20px;
                color: var(--brand-secondary-dark, #345b4e);
                pointer-events: none;
            }

            .faq__nav-btn
            {
                color: var(--brand-secondary-dark, #345b4e);
                background-color: #fff;
            }

            .faq__category-nav-list li:hover
            {
                text-decoration: underline;
                color: var(--brand-secondary-dark, #345b4e);
            }

            .faq__right-rail
            {
                display: block;
                margin-top: 2rem;
            }

            .faq__item
            {
                .faq__item-heading
                {
                    .faq__trigger
                    {
                        padding: 1rem;
                    }
                }

                .faq__collapse
                {
                    padding: 1rem;
                }
            }
        }
    }
}

@media (min-width: 1200px)
{
    .page--faq
    {
        .container--faq
        {
            max-width: 1140px !important;
            margin-left: auto;
            margin-right: auto;
        }

        .faq__category
        {
            margin-bottom: 4rem;
        }

        .faq__category-title
        {
            font-size: 2.75rem;
        }

        .faq__category-description
        {
            font-size: 1.25rem;
        }

        .faq__item
        {
            .faq__item-heading
            {
                .faq__question-text
                {
                    font-size: 1.25rem;
                }
            }

            .faq__answer
            {

                p,
                .faq-section__link
                {
                    font-size: 1.25rem;
                }
            }
        }
    }
}

@media (min-width: 1400px)
{
    .page--faq
    {
        .faq__title
        {
            margin-bottom: 4rem;
        }
    }
}

/* =================================================== 
    END FAQS
    =====================================================*/

/* =================================================== 
    START NEW LOCATIONS
    =====================================================*/

.locations-page
{
    margin: 0;
    padding: 32px 0 32px;
    background: transparent;
    min-height: calc(100vh - 352px);

    .new-locations.container
    {
        max-width: 880px;
        border-radius: 12px;
        padding: 24px;
    }

    .new-locations p.no-record
    {
        text-align: center;
        font-family: var(--brand-body-font, "Poppins", Arial, sans-serif);
        font-weight: bold;
        font-size: 1.125rem;
        line-height: 1.5;
    }

    .new-locations .tabs
    {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        width: 100%;
        max-width: 42.5rem;
        border-radius: 40px;
        flex-wrap: wrap;
    }

    .new-locations .tab
    {
        flex: 1;
        padding: .5rem 1rem;
        text-align: center;
        font-family: var(--brand-body-font, "Poppins", Arial, sans-serif);
        font-size: 1.125rem;
        line-height: 1.5;
        color: var(--brand-primary-dark, #345b4e);
        border-radius: 40px;
        cursor: pointer;
        transition: background 0.25s ease;
        text-transform: capitalize;
        background: var(--brand-secondary-mid, #dfcdae);
    }

    .new-locations .tab a
    {
        color: inherit;
        text-decoration: none;
        text-wrap-mode: nowrap;
        white-space: nowrap;
    }

    .new-locations .tab:not(.active):hover
    {
        background: var(--brand-secondary-light, #fdf9f2);
        border: 2px solid var(--brand-secondary-dark, #345b4e);
        color: var(--brand-secondary-dark, #345b4e);
    }

    .new-locations .tab.active
    {
        background: var(--brand-primary-dark, #345b4e);
        color: #ffffff;
        font-family: vvar(--brand-body-font, "Poppins", Arial, sans-serif);
        font-weight: 700;
    }

    .new-locations a
    {
        color: var(--brand-primary-dark, #345b4e);

        &:focus,
        &:focus-visible
        {
            box-shadow: none !important;
        }
    }

    .location-card
    {
        display: flex;
        gap: 20px;
        min-height: 150px;
        margin-bottom: 16px;
        background: transparent;
        border: 1px solid var(--brand-secondary-mid, #dfcdae);
        border-radius: 16px;
        overflow: hidden;
        flex-direction: column;
    }

    .location-card .card-image
    {
        flex: 0 0 145px;
        aspect-ratio: 1 / 1;
        overflow: hidden;
    }

    .location-card .card-image img
    {
        width: 100%;
        height: 100%;
        object-fit: fill;
        display: block;
    }

    .card-content
    {
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 32px;
        flex-direction: column;
    }

    .loc-title
    {
        font-family: var(--brand-headline-bold-font-family);
        font-size: 1.5rem;
        font-weight: 700;
        color: var(--brand-primary-dark, #345b4e);
        margin-bottom: 0;
    }

    a .loc-title:hover
    {
        color: var(--brand-secondary-dark, #303030);
    }

    .card-text a
    {
        text-decoration: underline !important;
        color: var(--brand-primary-dark, #345b4e);
    }

    .card-text a:hover
    {
        text-decoration: none !important;
        color: #000000;
    }

    .address
    {
        font-family: var(--brand-body-font-medium);
        font-weight: 400;
        font-size: 1rem;
        line-height: 1.5;
        color: #5c5649;
    }

    .card-status
    {
        display: flex;
        align-items: center;
    }

    .status-pill
    {
        padding: 8px 16px;
        border-radius: 30px;
        background: transparent;
        font-family: var(--brand-body-font);
        font-size: 1rem;
        line-height: 1.5;
        font-weight: 400;
        text-transform: uppercase;
        color: var(--brand-primary-dark, #345b4e);
        border: 2px solid var(--brand-primary-dark, #345b4e);
    }

    .comingsoon .status-pill
    {
        background: var(--brand-primary-dark, #345b4e);
        color: #ffffff;
    }

    @media (max-width: 767px)
    {
        .locations-page
        {
            padding: 20px 0;

            .new-locations.container
            {
                padding: 16px;
            }

            .new-locations .tabs
            {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: 8px;

                background: transparent;
                border-radius: 16px;
            }

            .new-locations .tab
            {
                padding: 12px 0;
                background: var(--brand-secondary-light, #fdf9f2);
            }

            .new-locations .tab:hover
            {
                background: var(--brand-secondary-light, #fdf9f2) !important;
            }

            .new-locations .tab.active:hover
            {
                background: var(--brand-primary-dark, #345b4e) !important;
            }

            .location-card
            {
                gap: 10px;
            }

            .card-content
            {
                display: grid;
                grid-template-rows: auto auto;
                gap: 16px;
                padding: 20px 20px 20px 0;
                justify-content: center;
            }

            .card-text
            {
                text-align: center;
            }

            .card-status
            {
                justify-content: center;
                width: 100%;
            }

            .status-pill
            {
                padding: 6px 14px;
            }
        }
    }

    @media (min-width: 390px)
    {
        .new-locations .tab
        {
            font-size: 1.25rem;
        }
    }

    @media (min-width: 576px)
    {
        .location-card
        {
            flex-direction: row;
        }

        .location-card .card-image
        {
            flex: 0 0 12.5rem;
        }
    }

    @media (min-width: 768px)
    {
        .new-locations .tabs
        {
            flex-wrap: nowrap;
            background: var(--brand-secondary-light, #fdf9f2);
        }
    }

    @media (min-width: 992px)
    {
        .card-content
        {
            flex-direction: row;
            align-items: center;
        }

        .address
        {
            margin-bottom: 0;
        }
    }
}

/* =================================================== 
    END NEW LOCATIONS
    =====================================================*/


/* =================================================== 
    START ACCESSIBILITY
    =====================================================*/

.page--accessibility
{
    background: var(--brand-secondary-light, #fdf9f2);
}

.page--accessibility .container--iframe
{
    max-width: 960px;
    padding: 48px 0;
}

/* =================================================== 
    END ACCESSIBILITY
    =====================================================*/