/*
 * =========================================================
 * DEVIDO.GR - RESPONSIVE
 * assets/css/responsive.css
 * =========================================================
 *
 * MOBILE-FIRST
 *
 * style.css = mobile/default
 * responsive.css = expansion για μεγαλύτερες οθόνες
 */


/* =========================================================
   576px+
   ========================================================= */

@media (min-width: 576px) {


    /* HEADER */

    .site-header__inner {

        min-height: 80px;
    }


    .site-logo__panel {

        width: 148px;

        min-height: 50px;
    }


    .header-mobile-action,
    .header-menu-toggle {

        width: 44px;

        height: 44px;

        flex-basis: 44px;
    }


    /* HERO */

    .home-hero__layout {

        min-height: 680px;

        padding-top: 44px;

        padding-bottom: 70px;
    }


    .home-hero__eyebrow {

        font-size: 0.86rem;
    }


    .home-hero__title {

        font-size:
            clamp(
                3.1rem,
                10vw,
                4rem
            );
    }


    .home-hero__description {

        font-size: 1rem;
    }


    .home-hero__visual {

        min-height: 360px;
    }


    .home-hero__image {

        width:
            min(
                104%,
                540px
            );
    }


    .home-hero__product-accent {

        width: 88px;

        height: 88px;
    }


    /* FOOTER */

    .site-footer__main {

        padding-top: 58px;
    }


    .site-footer__column--brand {

        padding: 28px;
    }


    .footer-brand__panel {

        width: 220px;
    }


    .footer-hours-card__main {

        padding:
            28px
            28px
            23px;
    }


    .footer-hours__row {

        font-size: 0.86rem;
    }

}


/* =========================================================
   768px+
   ========================================================= */

@media (min-width: 768px) {


    /* HERO */

    .home-hero__layout {

        min-height: 735px;
    }


    .home-hero__content {

        max-width: 650px;
    }


    .home-hero__visual {

        min-height: 410px;
    }


    .home-hero__image {

        width:
            min(
                100%,
                630px
            );
    }


    .home-hero__product-backdrop {

        width: 78%;

        height: 64%;

        right: -8%;
    }


    /* FOOTER */

    .site-footer__grid {

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

        gap: 30px;
    }


    .site-footer__column--hours {

        grid-column:
            span 2;
    }


    .footer-hours-card {

        max-width: 620px;
    }


    .site-footer__bottom-inner {

        flex-direction: row;

        align-items: center;

        justify-content:
            space-between;
    }

}


/* =========================================================
   992px+
   Desktop header + desktop hero
   ========================================================= */

@media (min-width: 992px) {


    /* =====================================================
       HEADER
       ===================================================== */

    .site-header__inner {

        min-height: 96px;

        gap: 24px;
    }


    .site-logo__panel {

        width: 170px;

        min-height: 56px;

        padding:
            8px
            13px;
    }


    .site-header__information {

        min-width: 0;

        display: flex;

        align-items: center;

        justify-content: center;

        gap: 24px;

        flex: 1 1 auto;
    }


    .header-info-item {

        min-width: 0;

        display: flex;

        align-items: center;

        gap: 10px;
    }


    .header-info-item__icon {

        width: 42px;

        height: 42px;

        display:
            inline-flex;

        align-items: center;

        justify-content: center;

        flex: 0 0 42px;

        color: #111111;

        background:
            var(--devido-accent);

        border-radius: 50%;

        font-size: 0.9rem;
    }


    .header-info-item__content {

        min-width: 0;

        display: grid;

        gap: 1px;
    }


    .header-info-item__label {

        color:
            rgba(
                255,
                255,
                255,
                0.64
            );

        font-size: 0.7rem;

        font-weight: 650;
    }


    .header-info-item__value {

        max-width: 190px;

        overflow: hidden;

        color: #ffffff;

        font-size: 0.78rem;

        font-weight: 760;

        text-overflow: ellipsis;

        white-space: nowrap;
    }


    .header-info-item__value:hover {

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


    .header-info-item__value--phone {

        color:
            var(--devido-primary);
    }


    .header-mobile-action {

        display: none;
    }


    .header-menu-cta {

        min-height: 46px;

        display:
            inline-flex;

        align-items: center;

        justify-content: center;

        gap: 9px;

        padding:
            10px
            16px;

        color: #ffffff;

        background:
            var(--devido-primary);

        border-radius: 9px;

        font-size: 0.78rem;

        font-weight: 800;

        transition:
            transform
            var(--devido-transition);
    }


    .header-menu-cta:hover {

        color: #ffffff;

        transform:
            translateY(-2px);
    }


    .header-menu-toggle {

        width: 46px;

        height: 46px;

        flex-basis: 46px;
    }


    /* =====================================================
       HERO DESKTOP
       ===================================================== */

    .home-hero__layout {

        min-height: 590px;

        display: grid;

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

        align-items: center;

        gap: 20px;

        padding-top: 42px;

        padding-bottom: 67px;
    }


    .home-hero__content {

        max-width: 520px;

        padding-bottom: 20px;
    }


    .home-hero__eyebrow {

        margin-bottom: 15px;

        font-size: 0.88rem;
    }


    .home-hero__title {

        max-width: 10ch;

        margin-bottom: 20px;

        font-size:
            clamp(
                3.6rem,
                6vw,
                5.3rem
            );
    }


    .home-hero__description {

        max-width: 31rem;

        margin-bottom: 28px;

        font-size: 0.98rem;
    }


    .home-hero__actions {

        gap: 28px;
    }


    .home-hero__cta {

        min-height: 54px;

        padding:
            12px
            23px;

        font-size: 0.86rem;
    }


    .home-hero__stars {

        font-size: 0.88rem;
    }


    .home-hero__visual {

        min-height: 500px;

        margin-top: 0;
    }


    .home-hero__product-backdrop {

        width: 108%;

        height: 63%;

        right: -10%;

        top: 18%;

        border-radius:
            150px
            0
            0
            150px;
    }


    .home-hero__product-accent {

        width: 112px;

        height: 112px;

        left: 1%;

        bottom: 18%;
    }


    .home-hero__image {

        width:
            min(
                125%,
                720px
            );
    }


    /*
     * Desktop slider arrows.
     */

    .home-hero__controls {

        bottom: 24px;
    }


    .home-hero__controls-inner {

        justify-content:
            space-between;
    }


    .home-hero__arrow {

        width: 48px;

        height: 48px;

        display:
            inline-flex;

        align-items: center;

        justify-content: center;

        flex: 0 0 48px;

        color: #ffffff;

        background:
            transparent;

        border:
            1px solid
            rgba(
                255,
                255,
                255,
                0.42
            );

        border-radius: 50%;

        cursor: pointer;

        pointer-events: auto;

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


    .home-hero__arrow:hover {

        color: #111111;

        background:
            var(--devido-accent);

        border-color:
            var(--devido-accent);

        transform:
            scale(1.04);
    }


    /* =====================================================
       FOOTER
       ===================================================== */

    .site-footer__main {

        padding-top: 70px;

        padding-bottom: 48px;
    }


    .site-footer__grid {

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

        gap: 34px;
    }


    .site-footer__column--hours {

        grid-column:
            1 / -1;
    }


    .footer-hours-card {

        max-width: 690px;

        margin:
            8px
            auto
            0;
    }

}


/* =========================================================
   1200px+
   ========================================================= */

@media (min-width: 1200px) {


    /* HEADER */

    .site-header__inner {

        min-height: 104px;

        gap: 30px;
    }


    .site-logo__panel {

        width: 190px;

        min-height: 60px;
    }


    .site-header__information {

        gap: 38px;
    }


    .header-info-item__icon {

        width: 46px;

        height: 46px;

        flex-basis: 46px;
    }


    .header-info-item__value {

        max-width: 220px;

        font-size: 0.82rem;
    }


    .header-menu-cta {

        min-height: 50px;

        padding-left: 20px;

        padding-right: 20px;
    }


    .header-menu-toggle {

        width: 50px;

        height: 50px;

        flex-basis: 50px;
    }


    /* HERO */

    .home-hero__layout {

        min-height: 635px;

        grid-template-columns:
            minmax(0, 0.88fr)
            minmax(0, 1.12fr);

        gap: 28px;
    }


    .home-hero__content {

        max-width: 560px;
    }


    .home-hero__title {

        font-size:
            clamp(
                4.2rem,
                5.5vw,
                5.75rem
            );
    }


    .home-hero__visual {

        min-height: 545px;
    }


    .home-hero__image {

        width:
            min(
                128%,
                790px
            );
    }


    .home-hero__product-backdrop {

        width: 112%;

        right: -10%;
    }


    .home-hero__product-accent {

        width: 126px;

        height: 126px;

        left: -1%;
    }


    /* =====================================================
       FOOTER 4 COLUMNS
       ===================================================== */

    .site-footer__grid {

        grid-template-columns:
            minmax(260px, 1.12fr)
            minmax(150px, 0.72fr)
            minmax(170px, 0.82fr)
            minmax(300px, 1.22fr);

        gap: 34px;
    }


    .site-footer__column--hours {

        grid-column: auto;
    }


    .footer-hours-card {

        max-width: none;

        margin: 0;
    }


    .site-footer__column--brand {

        min-height: 100%;
    }

}


/* =========================================================
   1400px+
   ========================================================= */

@media (min-width: 1400px) {


    .site-header__inner {

        min-height: 110px;
    }


    .site-logo__panel {

        width: 205px;
    }


    .site-header__information {

        gap: 54px;
    }


    .header-info-item__value {

        max-width: 250px;
    }


    /* HERO */

    .home-hero__layout {

        min-height: 665px;

        grid-template-columns:
            minmax(0, 0.84fr)
            minmax(0, 1.16fr);
    }


    .home-hero__content {

        max-width: 590px;
    }


    .home-hero__title {

        font-size: 5.8rem;
    }


    .home-hero__visual {

        min-height: 570px;
    }


    .home-hero__image {

        width:
            min(
                128%,
                850px
            );
    }


    .home-hero__product-backdrop {

        width: 118%;

        height: 65%;

        right: -44%;
    }


    .home-hero__product-accent {

        width: 138px;

        height: 138px;
    }

}

/* =========================================================
   HOMEPAGE RESPONSIVE
   ========================================================= */


/* =========================================================
   576px+
   ========================================================= */

@media (min-width: 576px) {


    /* =====================================================
       INTRO
       ===================================================== */

    .home-intro {

        padding-top: 78px;

        padding-bottom: 78px;
    }


    .home-intro__title {

        font-size:
            clamp(
                2.45rem,
                7vw,
                3.2rem
            );
    }


    .home-intro__description {

        font-size: 1rem;
    }


    /* =====================================================
       FEATURED
       ===================================================== */

    .home-featured__grid {

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

        gap: 20px;
    }


    .home-product-card__visual {

        min-height: 220px;
    }


    .home-product-card__image {

        width:
            min(
                80%,
                220px
            );
    }


    /* =====================================================
       CATEGORIES
       ===================================================== */

    .home-categories__mosaic {

        gap:
            13px
            11px;
    }


    .home-category-chip {

        min-height: 50px;

        padding:
            10px
            20px;
    }


    .home-category-chip__name {

        font-size: 0.86rem;
    }


    /* =====================================================
       FINAL CTA
       ===================================================== */

    .home-menu-cta__panel {

        min-height: 380px;

        padding:
            45px
            40px;
    }


    .home-menu-cta__icon {

        width: 210px;

        height: 210px;

        right: 5px;

        bottom: -26px;

        font-size: 9rem;
    }

}



/* =========================================================
   768px+
   ========================================================= */

@media (min-width: 768px) {


    /* SECTION HEADINGS */

    .home-section-heading {

        margin-bottom: 35px;
    }


    /* =====================================================
       INTRO
       ===================================================== */

    .home-intro {

        padding-top: 90px;

        padding-bottom: 90px;
    }


    .home-intro__title {

        max-width: 720px;

        font-size: 3.4rem;
    }


    .home-intro__description {

        font-size: 1.04rem;
    }


    /* =====================================================
       FEATURED
       ===================================================== */

    .home-featured {

        padding-top: 64px;

        padding-bottom: 88px;
    }


    .home-featured__grid {

        gap: 24px;
    }


    .home-product-card {

        border-radius: 24px;
    }


    .home-product-card__visual {

        min-height: 250px;
    }


    .home-product-card__image {

        width:
            min(
                82%,
                245px
            );

        max-height: 230px;
    }


    .home-product-card__content {

        padding:
            0
            20px
            21px;
    }


    /* =====================================================
       CATEGORIES
       ===================================================== */

    .home-categories {

        padding-top: 82px;

        padding-bottom: 90px;
    }


    .home-categories__mosaic {

        gap:
            15px
            13px;

        margin-top: 38px;
    }


    .home-category-chip {

        padding:
            11px
            24px;
    }


    .home-category-chip__name {

        font-size: 0.9rem;
    }


    /*
     * Break the strict uniformity to create
     * the loose mosaic feeling we discussed.
     */

    .home-category-chip:nth-child(3n + 1) {

        transform:
            translateY(-5px);
    }


    .home-category-chip:nth-child(4n + 2) {

        transform:
            translateY(5px);
    }


    /* =====================================================
       CTA
       ===================================================== */

    .home-menu-cta {

        padding-top: 55px;

        padding-bottom: 94px;
    }


    .home-menu-cta__panel {

        min-height: 390px;

        padding:
            54px
            52px;

        border-radius: 32px;
    }


    .home-menu-cta__title {

        font-size: 3.4rem;
    }


    .home-menu-cta__description {

        font-size: 1rem;
    }


    .home-menu-cta__shape--one {

        width: 340px;

        height: 340px;

        right: -185px;

        top: -115px;
    }


    .home-menu-cta__shape--two {

        width: 165px;

        height: 165px;

        right: 105px;

        bottom: -100px;
    }


    .home-menu-cta__icon {

        width: 250px;

        height: 250px;

        right: 35px;

        bottom: -35px;

        font-size: 10.5rem;
    }

}



/* =========================================================
   992px+
   ========================================================= */

@media (min-width: 992px) {


    /* =====================================================
       INTRO
       ===================================================== */

    .home-intro {

        padding-top: 105px;

        padding-bottom: 105px;
    }


    .home-intro__title {

        max-width: 800px;

        font-size: 3.8rem;
    }


    .home-intro__description {

        max-width: 760px;
    }


    /* =====================================================
       FEATURED
       ===================================================== */

    .home-featured {

        padding-top: 72px;

        padding-bottom: 100px;
    }


    .home-product-card__visual {

        min-height: 270px;
    }


    .home-product-card__image {

        width:
            min(
                82%,
                265px
            );
    }


    .home-product-card__title {

        font-size: 1.08rem;
    }


    /* =====================================================
       CATEGORIES
       ===================================================== */

    .home-categories__mosaic {

        max-width: 1000px;

        gap:
            18px
            15px;
    }


    .home-category-chip {

        min-height: 54px;

        padding:
            12px
            28px;
    }


    .home-category-chip__name {

        font-size: 0.96rem;
    }


    /* =====================================================
       CTA
       ===================================================== */

    .home-menu-cta__panel {

        min-height: 400px;

        padding:
            65px
            70px;
    }


    .home-menu-cta__content {

        max-width: 650px;
    }


    .home-menu-cta__title {

        font-size: 3.8rem;
    }


    .home-menu-cta__description {

        max-width: 550px;
    }


    .home-menu-cta__icon {

        right: 75px;

        bottom: -38px;

        font-size: 11.5rem;
    }

}



/* =========================================================
   1200px+
   ========================================================= */

@media (min-width: 1200px) {


    /* =====================================================
       FEATURED - 4 PRODUCTS IN ONE ROW
       ===================================================== */

    .home-featured__grid {

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

        gap: 22px;
    }


    .home-product-card__visual {

        min-height: 245px;
    }


    .home-product-card__image {

        width:
            min(
                86%,
                230px
            );

        max-height: 220px;
    }


    .home-product-card__content {

        padding:
            0
            18px
            20px;
    }


    .home-product-card__title {

        font-size: 1rem;
    }


    /* =====================================================
       CATEGORY MOSAIC
       ===================================================== */

    .home-categories__mosaic {

        max-width: 1080px;

        gap:
            20px
            16px;
    }


    /*
     * Give selected chips different visual weight.
     */

    .home-category-chip:nth-child(5n + 1) {

        padding-left: 34px;

        padding-right: 34px;
    }


    .home-category-chip:nth-child(5n + 3) {

        padding-left: 30px;

        padding-right: 30px;
    }


    /* =====================================================
       CTA
       ===================================================== */

    .home-menu-cta {

        padding-bottom: 110px;
    }


    .home-menu-cta__panel {

        min-height: 410px;

        padding:
            70px
            80px;

        border-radius: 36px;
    }


    .home-menu-cta__shape--one {

        width: 430px;

        height: 430px;

        right: -215px;

        top: -165px;
    }


    .home-menu-cta__shape--two {

        right: 180px;
    }


    .home-menu-cta__icon {

        width: 300px;

        height: 300px;

        right: 90px;

        bottom: -50px;

        font-size: 13rem;
    }

}



/* =========================================================
   1400px+
   ========================================================= */

@media (min-width: 1400px) {


    .home-intro__title {

        font-size: 4rem;
    }


    .home-featured__grid {

        gap: 25px;
    }


    .home-product-card__visual {

        min-height: 265px;
    }


    .home-product-card__image {

        width:
            min(
                86%,
                250px
            );
    }


    .home-categories__mosaic {

        max-width: 1160px;
    }


    .home-menu-cta__panel {

        min-height: 430px;

        padding-left: 95px;

        padding-right: 95px;
    }


    .home-menu-cta__title {

        font-size: 4.15rem;
    }


    .home-menu-cta__icon {

        right: 120px;

        font-size: 14rem;
    }

}

/* =========================================================
   MENU PAGE RESPONSIVE
   =========================================================
 *
 * MOBILE-FIRST
 *
 * Base styles:
 * assets/css/style.css
 *
 * This file only expands the layout
 * for larger screens.
 */


/* =========================================================
   576px+
   ========================================================= */

@media (min-width: 576px) {


    /* =====================================================
       MENU INTRO
       ===================================================== */

    .menu-intro {

        padding-top: 58px;

        padding-bottom: 42px;
    }


    .menu-intro__title {

        font-size:
            clamp(
                2.7rem,
                8vw,
                3.5rem
            );
    }


    .menu-intro__description {

        font-size: 0.96rem;
    }


    .menu-intro__hint {

        margin-top: 22px;

        padding:
            9px
            14px;

        font-size: 0.77rem;
    }


    /* =====================================================
       CATALOG
       ===================================================== */

    .menu-catalog {

        padding-top: 14px;

        padding-bottom: 48px;
    }


    .menu-accordion {

        gap: 16px;
    }


    /* =====================================================
       CATEGORY
       ===================================================== */

    .menu-category {

        border-radius: 22px;
    }


    .menu-category__toggle {

        min-height: 88px;

        padding:
            16px
            18px;
    }


    .menu-category__title-wrap {

        gap: 14px;
    }


    .menu-category__icon {

        width: 48px;

        height: 48px;

        flex-basis: 48px;

        font-size: 0.95rem;
    }


    .menu-category__title {

        font-size: 1.1rem;
    }


    .menu-category__subtitle {

        font-size: 0.73rem;
    }


    .menu-category__arrow {

        width: 36px;

        height: 36px;

        flex-basis: 36px;
    }


    /* =====================================================
       PRODUCTS CONTAINER
       ===================================================== */

    .menu-category__products {

        padding:
            0
            14px
            14px;
    }


    /* =====================================================
       PRODUCT ROW
       ===================================================== */

    .menu-product__toggle {

        min-height: 104px;

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

        gap:
            12px
            14px;

        padding:
            14px
            8px;
    }


    .menu-product__image-wrap {

        width: 74px;

        height: 74px;

        border-radius: 15px;
    }


    .menu-product__image-wrap::before {

        width: 55px;

        height: 55px;
    }


    .menu-product__title {

        font-size: 0.98rem;
    }


    .menu-product__description {

        margin-top: 5px;

        font-size: 0.74rem;
    }


    .menu-product__price-area {

        min-width: 70px;
    }


    .menu-product__price {

        font-size: 0.92rem;
    }


    .menu-product__old-price {

        font-size: 0.68rem;
    }


    .menu-product__pita-indicator {

        font-size: 0.6rem;
    }


    .menu-product__check {

        top: 9px;

        left: 62px;

        width: 23px;

        height: 23px;
    }


    /* =====================================================
       SELECTION PANEL
       ===================================================== */

    .menu-product__selection {

        padding:
            0
            9px
            16px;
    }


    .menu-product__selection-inner {

        gap: 16px;

        padding: 17px;

        border-radius: 15px;
    }


    .menu-product__variants {

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


    .menu-product-variant__content {

        min-height: 46px;
    }


    /* =====================================================
       LEGAL
       ===================================================== */

    .menu-legal {

        margin-top: 34px;
    }


    .menu-legal__toggle {

        min-height: 58px;

        padding:
            13px
            16px;

        font-size: 0.81rem;
    }


    .menu-legal__content {

        padding:
            0
            17px
            18px;

        font-size: 0.74rem;
    }


    /* =====================================================
       DECISION BUTTON
       ===================================================== */

    .menu-decision-button {

        width: auto;

        min-width: 330px;

        min-height: 58px;

        padding:
            10px
            16px;

        border-radius: 17px;
    }


    .menu-decision-button__text {

        font-size: 0.9rem;
    }


    /* =====================================================
       MODAL
       ===================================================== */

    .menu-selection-modal
    .modal-dialog {

        max-width: 520px;

        margin:
            1.75rem
            auto;
    }


    .menu-selection-modal
    .modal-header {

        padding:
            22px
            22px
            18px;
    }


    .menu-selection-modal
    .modal-body {

        padding: 20px;
    }


    .menu-selection-modal__footer {

        padding:
            15px
            20px;
    }

}


/* =========================================================
   768px+
   ========================================================= */

@media (min-width: 768px) {


    /* =====================================================
       MAIN / INTRO
       ===================================================== */

    .menu-main {

        padding-bottom: 72px;
    }


    .menu-intro {

        padding-top: 70px;

        padding-bottom: 50px;
    }


    .menu-intro__inner {

        max-width: 760px;
    }


    .menu-intro__title {

        font-size: 3.8rem;
    }


    .menu-intro__description {

        max-width: 660px;

        font-size: 1rem;
    }


    /* =====================================================
       MENU CATALOG
       ===================================================== */

    .menu-catalog {

        padding-bottom: 58px;
    }


    .menu-accordion {

        max-width: 960px;

        margin:
            0
            auto;

        gap: 18px;
    }


    /* =====================================================
       CATEGORY HEADER
       ===================================================== */

    .menu-category__toggle {

        min-height: 94px;

        padding:
            17px
            20px;
    }


    .menu-category__icon {

        width: 52px;

        height: 52px;

        flex-basis: 52px;
    }


    .menu-category__title {

        font-size: 1.16rem;
    }


    .menu-category__subtitle {

        margin-top: 4px;

        font-size: 0.76rem;
    }


    .menu-category__arrow {

        width: 38px;

        height: 38px;

        flex-basis: 38px;
    }


    /* =====================================================
       PRODUCT ROW
       ===================================================== */

    .menu-category__products {

        padding:
            0
            16px
            16px;
    }


    .menu-product__toggle {

        min-height: 118px;

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

        gap: 16px;

        padding:
            15px
            10px;
    }


    .menu-product__image-wrap {

        width: 86px;

        height: 86px;

        border-radius: 17px;
    }


    .menu-product__image-wrap::before {

        width: 64px;

        height: 64px;
    }


    .menu-product__title {

        font-size: 1.04rem;
    }


    .menu-product__description {

        max-width: 600px;

        font-size: 0.78rem;

        line-height: 1.5;
    }


    .menu-product__price-area {

        min-width: 88px;

        padding-right: 4px;
    }


    .menu-product__price {

        font-size: 1rem;
    }


    .menu-product__old-price {

        font-size: 0.72rem;
    }


    .menu-product__pita-indicator {

        margin-top: 2px;

        font-size: 0.63rem;
    }


    .menu-product__check {

        top: 10px;

        left: 73px;

        width: 25px;

        height: 25px;

        font-size: 0.52rem;
    }


    /* =====================================================
       SELECTED PRODUCT
       ===================================================== */

    .menu-product.is-selected {

        margin:
            6px
            0;

        border-radius: 17px;

        box-shadow:
            inset
            4px
            0
            0
            var(--devido-primary);
    }


    /* =====================================================
       SELECTION PANEL
       ===================================================== */

    .menu-product__selection {

        padding:
            0
            11px
            18px;
    }


    .menu-product__selection-inner {

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

        align-items: end;

        gap:
            18px
            24px;

        padding:
            18px
            20px;
    }


    /*
     * The product details link occupies the full row.
     */

    .menu-product__option-group--link {

        grid-column:
            1 / -1;
    }


    .menu-product__variants {

        grid-template-columns:
            repeat(
                2,
                minmax(150px, 1fr)
            );
    }


    .menu-product__details-link {

        max-width: 240px;
    }


    /* =====================================================
       LEGAL
       ===================================================== */

    .menu-legal {

        max-width: 960px;

        margin:
            38px
            auto
            0;

        border-radius: 18px;
    }


    /* =====================================================
       MODAL
       ===================================================== */

    .menu-selection-modal
    .modal-dialog {

        max-width: 570px;
    }


    .menu-selection-modal__title {

        font-size: 1.6rem;
    }


    .menu-selection-summary__item {

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

        gap: 12px;

        padding: 12px;
    }


    .menu-selection-summary__image {

        width: 56px;

        height: 56px;
    }


    .menu-selection-summary__name {

        font-size: 0.83rem;
    }


    .menu-selection-summary__meta {

        font-size: 0.68rem;
    }


    .menu-selection-summary__subtotal {

        font-size: 0.83rem;
    }


    .menu-selection-notice {

        padding:
            11px
            13px;

        font-size: 0.67rem;
    }

}


/* =========================================================
   992px+
   ========================================================= */

@media (min-width: 992px) {


    /* =====================================================
       INTRO
       ===================================================== */

    .menu-intro {

        padding-top: 82px;

        padding-bottom: 58px;
    }


    .menu-intro__title {

        font-size: 4.2rem;
    }


    .menu-intro__description {

        max-width: 700px;
    }


    .menu-intro__hint {

        margin-top: 25px;

        font-size: 0.8rem;
    }


    /* =====================================================
       MENU WIDTH
       ===================================================== */

    .menu-accordion,
    .menu-legal {

        max-width: 1080px;
    }


    .menu-accordion {

        gap: 20px;
    }


    /* =====================================================
       CATEGORY
       ===================================================== */

    .menu-category {

        border-radius: 24px;
    }


    .menu-category__toggle {

        min-height: 100px;

        padding:
            19px
            23px;
    }


    .menu-category__title-wrap {

        gap: 16px;
    }


    .menu-category__icon {

        width: 54px;

        height: 54px;

        flex-basis: 54px;

        font-size: 1rem;
    }


    .menu-category__title {

        font-size: 1.22rem;
    }


    .menu-category__subtitle {

        font-size: 0.78rem;
    }


    .menu-category__arrow {

        width: 40px;

        height: 40px;

        flex-basis: 40px;
    }


    /* =====================================================
       PRODUCT ROW
       ===================================================== */

    .menu-category__products {

        padding:
            0
            20px
            20px;
    }


    .menu-product__toggle {

        min-height: 126px;

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

        gap: 20px;

        padding:
            17px
            12px;
    }


    .menu-product__image-wrap {

        width: 98px;

        height: 98px;

        border-radius: 19px;
    }


    .menu-product__image-wrap::before {

        width: 72px;

        height: 72px;
    }


    .menu-product__title {

        font-size: 1.1rem;
    }


    .menu-product__description {

        max-width: 690px;

        font-size: 0.81rem;

        -webkit-line-clamp: 2;
    }


    .menu-product__price {

        font-size: 1.07rem;
    }


    .menu-product__old-price {

        font-size: 0.75rem;
    }


    .menu-product__pita-indicator {

        font-size: 0.66rem;
    }


    .menu-product__check {

        top: 11px;

        left: 84px;

        width: 27px;

        height: 27px;
    }


    /* =====================================================
       SELECTION PANEL
       ===================================================== */

    .menu-product__selection-inner {

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

        align-items: end;

        gap: 22px;

        padding:
            20px
            22px;
    }


    .menu-product__option-group--link {

        grid-column: auto;
    }


    .menu-product__details-link {

        min-width: 185px;

        max-width: none;

        min-height: 46px;
    }


    .menu-product-quantity {

        width: 138px;

        height: 44px;

        grid-template-columns:
            42px
            54px
            42px;
    }


    /* =====================================================
       FIXED DECISION BUTTON
       ===================================================== */

    .menu-decision-button {

        min-width: 350px;

        min-height: 60px;

        bottom: 20px;

        padding:
            11px
            17px;

        border-radius: 18px;
    }


    .menu-decision-button__icon {

        width: 34px;

        height: 34px;

        flex-basis: 34px;
    }


    .menu-decision-button__text {

        font-size: 0.94rem;
    }


    .menu-decision-button__count {

        min-width: 31px;

        height: 31px;
    }


    /* =====================================================
       MODAL
       ===================================================== */

    .menu-selection-modal
    .modal-dialog {

        max-width: 620px;
    }


    .menu-selection-modal
    .modal-header {

        padding:
            24px
            25px
            20px;
    }


    .menu-selection-modal
    .modal-body {

        padding:
            22px
            24px;
    }


    .menu-selection-modal__footer {

        padding:
            16px
            24px;
    }


    .menu-selection-total__value {

        font-size: 1.35rem;
    }

}


/* =========================================================
   1200px+
   ========================================================= */

@media (min-width: 1200px) {


    /* =====================================================
       INTRO
       ===================================================== */

    .menu-intro {

        padding-top: 92px;

        padding-bottom: 64px;
    }


    .menu-intro__title {

        font-size: 4.55rem;
    }


    /* =====================================================
       CATALOG
       ===================================================== */

    .menu-accordion,
    .menu-legal {

        max-width: 1160px;
    }


    .menu-accordion {

        gap: 22px;
    }


    /* =====================================================
       CATEGORY
       ===================================================== */

    .menu-category__toggle {

        min-height: 104px;

        padding:
            20px
            26px;
    }


    .menu-category__icon {

        width: 58px;

        height: 58px;

        flex-basis: 58px;

        font-size: 1.04rem;
    }


    .menu-category__title {

        font-size: 1.3rem;
    }


    .menu-category__subtitle {

        font-size: 0.8rem;
    }


    /* =====================================================
       PRODUCT ROW
       ===================================================== */

    .menu-category__products {

        padding:
            0
            24px
            24px;
    }


    .menu-product__toggle {

        min-height: 136px;

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

        gap: 22px;

        padding:
            18px
            14px;
    }


    .menu-product__image-wrap {

        width: 108px;

        height: 108px;

        border-radius: 20px;
    }


    .menu-product__image-wrap::before {

        width: 80px;

        height: 80px;
    }


    .menu-product__title {

        font-size: 1.15rem;
    }


    .menu-product__description {

        max-width: 760px;

        font-size: 0.84rem;

        line-height: 1.55;
    }


    .menu-product__price-area {

        min-width: 120px;
    }


    .menu-product__price {

        font-size: 1.12rem;
    }


    .menu-product__old-price {

        font-size: 0.77rem;
    }


    .menu-product__check {

        left: 94px;

        width: 28px;

        height: 28px;
    }


    /* =====================================================
       SELECTION PANEL
       ===================================================== */

    .menu-product__selection {

        padding:
            0
            13px
            20px;
    }


    .menu-product__selection-inner {

        gap: 28px;

        padding:
            22px
            24px;
    }


    .menu-product__option-label {

        margin-bottom: 8px;

        font-size: 0.7rem;
    }


    .menu-product-variant__content {

        min-height: 48px;

        padding:
            10px
            13px;
    }


    .menu-product-variant__name,
    .menu-product-variant__content strong {

        font-size: 0.82rem;
    }


    /* =====================================================
       LEGAL
       ===================================================== */

    .menu-legal {

        margin-top: 44px;
    }


    .menu-legal__toggle {

        min-height: 62px;

        padding:
            14px
            20px;

        font-size: 0.84rem;
    }


    .menu-legal__content {

        padding:
            0
            21px
            21px;

        font-size: 0.77rem;
    }

}


/* =========================================================
   1400px+
   ========================================================= */

@media (min-width: 1400px) {


    .menu-accordion,
    .menu-legal {

        max-width: 1220px;
    }


    .menu-intro__title {

        font-size: 4.8rem;
    }


    .menu-category__toggle {

        padding-left: 28px;

        padding-right: 28px;
    }


    .menu-category__products {

        padding-left: 26px;

        padding-right: 26px;

        padding-bottom: 26px;
    }


    .menu-product__toggle {

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

        gap: 25px;

        padding-left: 16px;

        padding-right: 16px;
    }


    .menu-product__image-wrap {

        width: 116px;

        height: 116px;
    }


    .menu-product__image-wrap::before {

        width: 86px;

        height: 86px;
    }


    .menu-product__title {

        font-size: 1.19rem;
    }


    .menu-product__description {

        max-width: 820px;

        font-size: 0.86rem;
    }


    .menu-product__price {

        font-size: 1.16rem;
    }


    .menu-product__check {

        left: 101px;
    }

}

/* =========================================================
   PRODUCT PAGE RESPONSIVE
   =========================================================
 *
 * MOBILE-FIRST
 *
 * Base product styles:
 * assets/css/style.css
 *
 * Only min-width breakpoints belong here.
 */


/* =========================================================
   576px+
   ========================================================= */

@media (min-width: 576px) {


    /* =====================================================
       PRODUCT SECTION
       ===================================================== */

    .product-detail {

        padding:
            38px
            0
            68px;
    }


    /* =====================================================
       BREADCRUMBS
       ===================================================== */

    .product-breadcrumbs {

        gap: 8px;

        margin-bottom: 30px;

        font-size: 0.71rem;
    }


    .product-breadcrumbs__current {

        max-width: 260px;
    }


    /* =====================================================
       PRODUCT GRID
       ===================================================== */

    .product-detail__grid {

        gap: 36px;
    }


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

    .product-detail__image-area {

        max-width: 560px;

        border-radius: 30px;
    }


    .product-detail__image-backdrop {

        width: 80%;

        height: 65%;

        right: -18%;

        border-radius:
            125px
            0
            0
            125px;
    }


    .product-detail__image-accent {

        width: 72px;

        height: 72px;
    }


    .product-detail__image {

        width: 87%;

        height: 87%;
    }


    /* =====================================================
       PRODUCT CONTENT
       ===================================================== */

    .product-detail__category {

        margin-bottom: 15px;

        padding:
            8px
            13px;

        font-size: 0.71rem;
    }


    .product-detail__title {

        margin-bottom: 21px;

        font-size:
            clamp(
                2.7rem,
                9vw,
                3.65rem
            );
    }


    /* =====================================================
       PRICE
       ===================================================== */

    .product-detail__prices {

        margin-bottom: 29px;
    }


    .product-detail__price {

        font-size: 1.95rem;
    }


    .product-detail__price--offer {

        font-size: 2.45rem;
    }


    .product-detail__old-price {

        font-size: 1.06rem;
    }


    /* =====================================================
       DESCRIPTION
       ===================================================== */

    .product-detail__description {

        padding-top: 26px;
    }


    .product-detail__description-heading {

        font-size: 0.72rem;
    }


    .product-detail__description p {

        font-size: 0.95rem;
    }


    /* =====================================================
       ACTION
       ===================================================== */

    .product-detail__actions {

        margin-top: 30px;
    }


    .product-detail__actions .product-detail__menu-link {

        min-height: 46px;

        padding:
            11px
            17px;

        font-size: 0.79rem;
    }


    /* =====================================================
       NOT FOUND
       ===================================================== */

    .product-not-found__inner {

        padding:
            42px
            30px;
    }


    .product-not-found__title {

        font-size: 2.3rem;
    }

}


/* =========================================================
   768px+
   ========================================================= */

@media (min-width: 768px) {


    /* =====================================================
       PRODUCT SECTION
       ===================================================== */

    .product-detail {

        padding:
            46px
            0
            78px;
    }


    /* =====================================================
       BREADCRUMBS
       ===================================================== */

    .product-breadcrumbs {

        margin-bottom: 34px;

        font-size: 0.74rem;
    }


    .product-breadcrumbs__current {

        max-width: 340px;
    }


    /* =====================================================
       PRODUCT GRID
       ===================================================== */

    .product-detail__grid {

        gap: 42px;
    }


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

    .product-detail__image-area {

        max-width: 610px;

        border-radius: 32px;
    }


    .product-detail__image-backdrop {

        width: 79%;

        height: 65%;

        right: -16%;
    }


    .product-detail__image-accent {

        width: 82px;

        height: 82px;

        left: 9%;

        bottom: 9%;
    }


    /* =====================================================
       PRODUCT CONTENT
       ===================================================== */

    .product-detail__content {

        max-width: 690px;

        margin:
            0
            auto;
    }


    .product-detail__category {

        font-size: 0.73rem;
    }


    .product-detail__title {

        font-size: 3.85rem;
    }


    /* =====================================================
       PRICE
       ===================================================== */

    .product-detail__price {

        font-size: 2.05rem;
    }


    .product-detail__price--offer {

        font-size: 2.7rem;
    }


    .product-detail__old-price {

        font-size: 1.1rem;
    }


    .product-detail__offer-label {

        min-height: 27px;

        padding:
            5px
            10px;

        font-size: 0.63rem;
    }


    /* =====================================================
       DESCRIPTION
       ===================================================== */

    .product-detail__description {

        max-width: 690px;

        padding-top: 28px;
    }


    .product-detail__description p {

        font-size: 0.98rem;

        line-height: 1.8;
    }


    /* =====================================================
       NOT FOUND
       ===================================================== */

    .product-not-found {

        min-height: 66vh;
    }


    .product-not-found__icon {

        width: 82px;

        height: 82px;

        font-size: 1.5rem;
    }


    .product-not-found__title {

        font-size: 2.55rem;
    }


    .product-not-found__description {

        font-size: 0.92rem;
    }

}


/* =========================================================
   992px+
   DESKTOP PRODUCT LAYOUT
   ========================================================= */

@media (min-width: 992px) {


    /* =====================================================
       PRODUCT SECTION
       ===================================================== */

    .product-detail {

        padding:
            52px
            0
            92px;
    }


    /* =====================================================
       BREADCRUMBS
       ===================================================== */

    .product-breadcrumbs {

        margin-bottom: 40px;

        font-size: 0.76rem;
    }


    .product-breadcrumbs__current {

        max-width: 420px;
    }


    /* =====================================================
       TWO COLUMN PRODUCT LAYOUT
       ===================================================== */

    .product-detail__grid {

        grid-template-columns:
            minmax(0, 1.02fr)
            minmax(0, 0.98fr);

        align-items: center;

        gap: 58px;
    }


    /* =====================================================
       PRODUCT VISUAL
       ===================================================== */

    .product-detail__visual {

        display: flex;

        align-items: center;

        justify-content: center;
    }


    .product-detail__image-area {

        width: 100%;

        max-width: 580px;

        margin: 0;

        border-radius: 34px;

        box-shadow:
            0
            22px
            55px
            rgba(
                20,
                20,
                24,
                0.085
            );
    }


    .product-detail__image-backdrop {

        width: 81%;

        height: 65%;

        right: -16%;

        top: 18%;

        border-radius:
            145px
            0
            0
            145px;
    }


    .product-detail__image-accent {

        width: 88px;

        height: 88px;

        left: 8%;

        bottom: 10%;
    }


    .product-detail__image {

        width: 89%;

        height: 89%;
    }


    /* =====================================================
       PRODUCT INFORMATION
       ===================================================== */

    .product-detail__content {

        max-width: 560px;

        margin: 0;
    }


    .product-detail__category {

        margin-bottom: 17px;

        padding:
            8px
            14px;

        font-size: 0.74rem;
    }


    .product-detail__title {

        max-width: 560px;

        margin-bottom: 24px;

        font-size:
            clamp(
                3.5rem,
                5vw,
                4.6rem
            );

        line-height: 0.94;
    }


    /* =====================================================
       PRICE
       ===================================================== */

    .product-detail__prices {

        gap: 7px;

        margin-bottom: 32px;
    }


    .product-detail__price-row {

        gap:
            10px
            16px;
    }


    .product-detail__price {

        font-size: 2.2rem;
    }


    .product-detail__price--offer {

        font-size: 3rem;
    }


    .product-detail__old-price {

        font-size: 1.18rem;
    }


    .product-detail__offer-label {

        min-height: 28px;

        padding:
            5px
            11px;

        font-size: 0.65rem;
    }


    /* =====================================================
       DESCRIPTION
       ===================================================== */

    .product-detail__description {

        max-width: 560px;

        padding-top: 30px;
    }


    .product-detail__description-heading {

        margin-bottom: 11px;

        font-size: 0.74rem;
    }


    .product-detail__description p {

        font-size: 0.98rem;

        line-height: 1.82;
    }


    /* =====================================================
       ACTIONS
       ===================================================== */

    .product-detail__actions {

        margin-top: 34px;
    }


    .product-detail__actions .product-detail__menu-link {

        min-height: 48px;

        padding:
            11px
            19px;

        border-radius: 12px;

        font-size: 0.81rem;
    }


    /* =====================================================
       NOT FOUND
       ===================================================== */

    .product-not-found {

        min-height: 68vh;
    }


    .product-not-found__inner {

        max-width: 620px;
    }


    .product-not-found__title {

        font-size: 2.8rem;
    }

}


/* =========================================================
   1200px+
   ========================================================= */

@media (min-width: 1200px) {


    /* =====================================================
       PRODUCT SECTION
       ===================================================== */

    .product-detail {

        padding:
            58px
            0
            104px;
    }


    /* =====================================================
       PRODUCT GRID
       ===================================================== */

    .product-detail__grid {

        grid-template-columns:
            minmax(0, 1.05fr)
            minmax(0, 0.95fr);

        gap: 76px;
    }


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

    .product-detail__image-area {

        max-width: 630px;

        border-radius: 38px;
    }


    .product-detail__image-backdrop {

        width: 82%;

        height: 66%;

        right: -15%;

        top: 17%;
    }


    .product-detail__image-accent {

        width: 96px;

        height: 96px;
    }


    .product-detail__image {

        width: 90%;

        height: 90%;
    }


    /* =====================================================
       PRODUCT INFORMATION
       ===================================================== */

    .product-detail__content {

        max-width: 600px;
    }


    .product-detail__title {

        max-width: 600px;

        font-size: 4.8rem;
    }


    /* =====================================================
       PRICE
       ===================================================== */

    .product-detail__price {

        font-size: 2.35rem;
    }


    .product-detail__price--offer {

        font-size: 3.25rem;
    }


    .product-detail__old-price {

        font-size: 1.22rem;
    }


    /* =====================================================
       DESCRIPTION
       ===================================================== */

    .product-detail__description {

        max-width: 590px;
    }


    .product-detail__description p {

        font-size: 1rem;
    }

}


/* =========================================================
   1400px+
   ========================================================= */

@media (min-width: 1400px) {


    /* =====================================================
       PRODUCT SECTION
       ===================================================== */

    .product-detail {

        padding-top: 64px;

        padding-bottom: 112px;
    }


    /* =====================================================
       PRODUCT GRID
       ===================================================== */

    .product-detail__grid {

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

        gap: 90px;
    }


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

    .product-detail__image-area {

        max-width: 670px;
    }


    .product-detail__image-backdrop {

        width: 83%;

        right: -14%;
    }


    .product-detail__image-accent {

        width: 104px;

        height: 104px;
    }


    /* =====================================================
       PRODUCT CONTENT
       ===================================================== */

    .product-detail__content {

        max-width: 640px;
    }


    .product-detail__title {

        max-width: 640px;

        font-size: 5.1rem;
    }


    .product-detail__price {

        font-size: 2.45rem;
    }


    .product-detail__price--offer {

        font-size: 3.45rem;
    }


    .product-detail__description {

        max-width: 610px;
    }

}

/* =========================================================
   PRODUCT PAGE
   PITA DEVIDO / CYPRIOT PITA OPTION
   RESPONSIVE
   ========================================================= */


/* =========================================================
   576px+
   ========================================================= */

@media (min-width: 576px) {


    .product-detail__pita-option {

        max-width: 450px;

        margin:
            -6px
            0
            30px;

        padding:
            14px
            16px;

        border-radius: 14px;
    }


    .product-detail__pita-option::before {

        top: 13px;

        bottom: 13px;

        width: 3px;
    }


    .product-detail__pita-label {

        gap: 8px;

        margin-bottom: 9px;

        font-size: 0.7rem;
    }


    .product-detail__pita-label i {

        font-size: 0.68rem;
    }


    .product-detail__pita-prices {

        gap:
            8px
            12px;
    }


    .product-detail__pita-price {

        font-size: 1.45rem;
    }


    .product-detail__pita-price--offer {

        font-size: 1.68rem;
    }


    .product-detail__pita-old-price {

        font-size: 0.9rem;
    }

}



/* =========================================================
   768px+
   ========================================================= */

@media (min-width: 768px) {


    .product-detail__pita-option {

        max-width: 480px;

        margin-bottom: 32px;

        padding:
            15px
            17px;
    }


    .product-detail__pita-label {

        margin-bottom: 10px;

        font-size: 0.72rem;

        line-height: 1.5;
    }


    .product-detail__pita-price {

        font-size: 1.52rem;
    }


    .product-detail__pita-price--offer {

        font-size: 1.8rem;
    }


    .product-detail__pita-old-price {

        font-size: 0.94rem;
    }

}



/* =========================================================
   992px+
   DESKTOP
   ========================================================= */

@media (min-width: 992px) {


    .product-detail__pita-option {

        max-width: 500px;

        margin:
            -7px
            0
            34px;

        padding:
            16px
            18px;

        border-radius: 15px;
    }


    .product-detail__pita-option::before {

        top: 14px;

        bottom: 14px;

        width: 4px;
    }


    .product-detail__pita-label {

        gap: 8px;

        margin-bottom: 10px;

        font-size: 0.74rem;
    }


    .product-detail__pita-label i {

        font-size: 0.7rem;
    }


    .product-detail__pita-prices {

        gap:
            9px
            14px;
    }


    .product-detail__pita-price {

        font-size: 1.62rem;
    }


    .product-detail__pita-price--offer {

        font-size: 1.95rem;
    }


    .product-detail__pita-old-price {

        font-size: 0.98rem;
    }

}



/* =========================================================
   1200px+
   ========================================================= */

@media (min-width: 1200px) {


    .product-detail__pita-option {

        max-width: 520px;

        margin-bottom: 36px;

        padding:
            17px
            19px;
    }


    .product-detail__pita-label {

        font-size: 0.76rem;
    }


    .product-detail__pita-price {

        font-size: 1.7rem;
    }


    .product-detail__pita-price--offer {

        font-size: 2.05rem;
    }


    .product-detail__pita-old-price {

        font-size: 1rem;
    }

}



/* =========================================================
   1400px+
   ========================================================= */

@media (min-width: 1400px) {


    .product-detail__pita-option {

        max-width: 540px;

        margin-bottom: 38px;

        padding:
            18px
            20px;
    }


    .product-detail__pita-label {

        font-size: 0.78rem;
    }


    .product-detail__pita-price {

        font-size: 1.78rem;
    }


    .product-detail__pita-price--offer {

        font-size: 2.15rem;
    }


    .product-detail__pita-old-price {

        font-size: 1.03rem;
    }

}

/* =========================================================
   CATEGORY PAGE RESPONSIVE
   =========================================================
 *
 * MOBILE-FIRST
 *
 * Base styles:
 * assets/css/style.css
 *
 * Product grid/card responsiveness is inherited from:
 *
 * .home-featured__grid
 * .home-product-card
 */


/* =========================================================
   576px+
   ========================================================= */

@media (min-width: 576px) {


    .category-products {

        padding:
            38px
            0
            68px;
    }


    .category-breadcrumbs {

        margin-bottom: 32px;
    }


    .category-products__heading {

        max-width: 760px;

        margin-bottom: 40px;
    }


    .category-products__heading
    .home-section-heading__description {

        max-width: 650px;
    }


    /* =====================================================
       OFFER PRICE
       ===================================================== */

    .home-product-card__price--offer {

        gap: 6px;
    }


    .home-product-card__old-price {

        font-size: 0.68rem;
    }


    /* =====================================================
       ACTIONS
       ===================================================== */

    .category-products__actions {

        margin-top: 42px;
    }


    /* =====================================================
       EMPTY CATEGORY
       ===================================================== */

    .category-products__empty {

        padding:
            42px
            28px;

        border-radius: 22px;
    }


    .category-products__empty-icon {

        width: 68px;

        height: 68px;

        font-size: 1.25rem;
    }


    .category-products__empty h2 {

        font-size: 1.75rem;
    }


    .category-products__empty p {

        font-size: 0.88rem;
    }

}


/* =========================================================
   768px+
   ========================================================= */

@media (min-width: 768px) {


    .category-products {

        padding:
            46px
            0
            78px;
    }


    .category-breadcrumbs {

        margin-bottom: 36px;
    }


    .category-products__heading {

        max-width: 800px;

        margin-bottom: 46px;
    }


    .category-products__heading
    .home-section-heading__title {

        margin-bottom: 14px;
    }


    .category-products__heading
    .home-section-heading__description {

        max-width: 680px;

        line-height: 1.75;
    }


    /* =====================================================
       PRODUCT CARD LINK
       ===================================================== */

    .category-product-card__link {

        border-radius: inherit;
    }


    /* =====================================================
       OFFER PRICE
       ===================================================== */

    .home-product-card__price--offer {

        gap: 7px;
    }


    .home-product-card__old-price {

        font-size: 0.71rem;
    }


    /* =====================================================
       ACTIONS
       ===================================================== */

    .category-products__actions {

        margin-top: 48px;
    }


    /* =====================================================
       EMPTY CATEGORY
       ===================================================== */

    .category-products__empty {

        max-width: 620px;

        padding:
            48px
            34px;
    }


    .category-products__empty-icon {

        width: 74px;

        height: 74px;

        font-size: 1.35rem;
    }


    .category-products__empty h2 {

        font-size: 1.95rem;
    }


    .category-products__empty p {

        max-width: 450px;

        font-size: 0.91rem;
    }

}


/* =========================================================
   992px+
   ========================================================= */

@media (min-width: 992px) {


    .category-products {

        padding:
            54px
            0
            92px;
    }


    .category-breadcrumbs {

        margin-bottom: 40px;
    }


    .category-products__heading {

        max-width: 850px;

        margin-bottom: 52px;
    }


    .category-products__heading
    .home-section-heading__description {

        max-width: 720px;

        font-size: 1rem;
    }


    /* =====================================================
       OFFER PRICE
       ===================================================== */

    .home-product-card__price--offer {

        gap: 8px;
    }


    .home-product-card__old-price {

        font-size: 0.74rem;
    }


    /* =====================================================
       ACTIONS
       ===================================================== */

    .category-products__actions {

        margin-top: 54px;
    }


    .category-products__actions
    .product-detail__menu-link {

        min-height: 48px;

        padding:
            11px
            19px;

        font-size: 0.81rem;
    }


    /* =====================================================
       EMPTY CATEGORY
       ===================================================== */

    .category-products__empty {

        max-width: 660px;

        padding:
            54px
            40px;

        border-radius: 24px;
    }


    .category-products__empty-icon {

        width: 80px;

        height: 80px;

        font-size: 1.45rem;
    }


    .category-products__empty h2 {

        font-size: 2.15rem;
    }


    .category-products__empty p {

        font-size: 0.94rem;
    }


    .category-products__empty a {

        min-height: 46px;

        padding:
            10px
            18px;

        font-size: 0.8rem;
    }

}


/* =========================================================
   1200px+
   ========================================================= */

@media (min-width: 1200px) {


    .category-products {

        padding:
            60px
            0
            104px;
    }


    .category-products__heading {

        max-width: 900px;

        margin-bottom: 58px;
    }


    .category-products__heading
    .home-section-heading__description {

        max-width: 760px;
    }


    /* =====================================================
       OFFER PRICE
       ===================================================== */

    .home-product-card__old-price {

        font-size: 0.77rem;
    }


    /* =====================================================
       ACTIONS
       ===================================================== */

    .category-products__actions {

        margin-top: 60px;
    }


    /* =====================================================
       EMPTY CATEGORY
       ===================================================== */

    .category-products__empty {

        max-width: 700px;

        padding:
            58px
            44px;
    }


    .category-products__empty h2 {

        font-size: 2.3rem;
    }

}


/* =========================================================
   1400px+
   ========================================================= */

@media (min-width: 1400px) {


    .category-products {

        padding-top: 66px;

        padding-bottom: 112px;
    }


    .category-products__heading {

        max-width: 940px;

        margin-bottom: 64px;
    }


    .category-products__heading
    .home-section-heading__description {

        max-width: 800px;
    }


    .category-products__actions {

        margin-top: 66px;
    }


    .category-products__empty {

        max-width: 720px;
    }

}

/* =========================================================
   CONTACT PAGE RESPONSIVE
   =========================================================
 *
 * MOBILE-FIRST
 *
 * Base styles:
 * assets/css/style.css
 *
 * This file only expands the Contact Page
 * for larger screen widths.
 */


/* =========================================================
   576px+
   ========================================================= */

@media (min-width: 576px) {


    /* =====================================================
       CONTACT SECTION
       ===================================================== */

    .contact-section {

        padding:
            38px
            0
            70px;
    }


    /* =====================================================
       BREADCRUMBS
       ===================================================== */

    .contact-breadcrumbs {

        margin-bottom: 32px;
    }


    /* =====================================================
       PAGE HEADING
       ===================================================== */

    .contact-section__heading {

        max-width: 780px;

        margin-bottom: 40px;
    }


    .contact-section__heading
    .home-section-heading__description {

        max-width: 660px;
    }


    /* =====================================================
       CONTACT GRID
       ===================================================== */

    .contact-section__grid {

        gap: 22px;
    }


    /* =====================================================
       MAP
       ===================================================== */

    .contact-map__inner {

        min-height: 410px;

        border-radius: 24px;
    }


    /* =====================================================
       CONTACT INFO PANEL
       ===================================================== */

    .contact-info {

        padding:
            28px
            24px;

        border-radius: 24px;
    }


    .contact-info::before {

        width: 190px;

        height: 190px;

        top: -95px;

        right: -85px;
    }


    .contact-info::after {

        width: 78px;

        height: 78px;

        right: 28px;

        bottom: 28px;
    }


    /* =====================================================
       INFO HEADER
       ===================================================== */

    .contact-info__header {

        margin-bottom: 27px;
    }


    .contact-info__title {

        font-size: 2.3rem;
    }


    .contact-info__intro {

        font-size: 0.86rem;
    }


    /* =====================================================
       CONTACT ITEMS
       ===================================================== */

    .contact-info__item {

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

        gap: 14px;

        padding:
            15px
            0;
    }


    .contact-info__icon {

        width: 48px;

        height: 48px;

        font-size: 0.95rem;
    }


    .contact-info__label {

        font-size: 0.63rem;
    }


    .contact-info__value {

        font-size: 0.88rem;
    }


    /* =====================================================
       MAP CTA
       ===================================================== */

    .contact-info__actions {

        margin-top: 25px;

        padding-top: 24px;
    }


    .contact-info__map-button {

        min-height: 58px;

        padding:
            10px
            14px;

        font-size: 0.79rem;
    }


    .contact-info__map-button-icon {

        width: 38px;

        height: 38px;

        flex-basis: 38px;
    }


    /* =====================================================
       NOTE
       ===================================================== */

    .contact-note {

        margin-top: 25px;

        padding:
            12px
            15px;

        font-size: 0.71rem;
    }

}



/* =========================================================
   768px+
   ========================================================= */

@media (min-width: 768px) {


    /* =====================================================
       CONTACT SECTION
       ===================================================== */

    .contact-section {

        padding:
            46px
            0
            80px;
    }


    .contact-breadcrumbs {

        margin-bottom: 36px;
    }


    /* =====================================================
       PAGE HEADING
       ===================================================== */

    .contact-section__heading {

        max-width: 820px;

        margin-bottom: 46px;
    }


    .contact-section__heading
    .home-section-heading__description {

        max-width: 700px;

        line-height: 1.75;
    }


    /* =====================================================
       GRID
       ===================================================== */

    .contact-section__grid {

        gap: 26px;
    }


    /* =====================================================
       MAP
       ===================================================== */

    .contact-map__inner {

        min-height: 470px;

        border-radius: 26px;

        box-shadow:
            0
            18px
            44px
            rgba(
                20,
                20,
                24,
                0.08
            );
    }


    /* =====================================================
       CONTACT INFO
       ===================================================== */

    .contact-info {

        padding:
            32px
            30px;

        border-radius: 26px;
    }


    .contact-info__eyebrow {

        font-size: 0.67rem;
    }


    .contact-info__title {

        max-width: 420px;

        font-size: 2.55rem;
    }


    .contact-info__intro {

        max-width: 500px;

        font-size: 0.89rem;
    }


    /* =====================================================
       CONTACT ITEMS
       ===================================================== */

    .contact-info__item {

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

        gap: 16px;

        padding:
            17px
            0;
    }


    .contact-info__icon {

        width: 52px;

        height: 52px;

        font-size: 1rem;
    }


    .contact-info__value {

        font-size: 0.91rem;
    }


    /* =====================================================
       CTA
       ===================================================== */

    .contact-info__map-button {

        max-width: 390px;
    }


    /* =====================================================
       NOTE
       ===================================================== */

    .contact-note {

        max-width: 820px;

        margin-top: 28px;

        font-size: 0.73rem;
    }

}



/* =========================================================
   992px+
   DESKTOP LAYOUT
   ========================================================= */

@media (min-width: 992px) {


    /* =====================================================
       CONTACT SECTION
       ===================================================== */

    .contact-section {

        padding:
            54px
            0
            94px;
    }


    .contact-breadcrumbs {

        margin-bottom: 40px;
    }


    /* =====================================================
       PAGE HEADING
       ===================================================== */

    .contact-section__heading {

        max-width: 860px;

        margin-bottom: 52px;
    }


    .contact-section__heading
    .home-section-heading__description {

        max-width: 720px;

        font-size: 1rem;
    }


    /* =====================================================
       TWO COLUMN LAYOUT
       ===================================================== */

    .contact-section__grid {

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

        align-items: stretch;

        gap: 28px;
    }


    /* =====================================================
       MAP
       ===================================================== */

    .contact-map {

        min-height: 100%;
    }


    .contact-map__inner {

        height: 100%;

        min-height: 610px;

        border-radius: 28px;
    }


    /* =====================================================
       CONTACT INFO PANEL
       ===================================================== */

    .contact-info {

        min-height: 610px;

        display: flex;

        flex-direction: column;

        padding:
            35px
            32px;

        border-radius: 28px;
    }


    .contact-info::before {

        width: 210px;

        height: 210px;

        top: -105px;

        right: -95px;
    }


    .contact-info::after {

        width: 90px;

        height: 90px;

        right: 30px;

        bottom: 30px;
    }


    /* =====================================================
       INFO HEADER
       ===================================================== */

    .contact-info__header {

        margin-bottom: 27px;
    }


    .contact-info__title {

        max-width: 390px;

        font-size: 2.75rem;
    }


    .contact-info__intro {

        font-size: 0.9rem;

        line-height: 1.7;
    }


    /* =====================================================
       CONTACT ITEMS
       ===================================================== */

    .contact-info__items {

        margin-top: 4px;
    }


    .contact-info__item {

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

        gap: 16px;

        padding:
            18px
            0;
    }


    .contact-info__icon {

        width: 54px;

        height: 54px;

        font-size: 1.02rem;
    }


    .contact-info__label {

        font-size: 0.65rem;
    }


    .contact-info__value {

        font-size: 0.93rem;
    }


    /* =====================================================
       MAP CTA
       ===================================================== */

    .contact-info__actions {

        margin-top: auto;

        padding-top: 26px;
    }


    .contact-info__map-button {

        max-width: none;

        min-height: 60px;

        padding:
            10px
            15px;

        font-size: 0.81rem;
    }


    .contact-info__map-button-icon {

        width: 40px;

        height: 40px;

        flex-basis: 40px;

        font-size: 0.78rem;
    }


    /* =====================================================
       NOTE
       ===================================================== */

    .contact-note {

        max-width: 900px;

        margin-top: 32px;

        padding:
            13px
            16px;

        font-size: 0.75rem;
    }

}



/* =========================================================
   1200px+
   ========================================================= */

@media (min-width: 1200px) {


    /* =====================================================
       CONTACT SECTION
       ===================================================== */

    .contact-section {

        padding:
            60px
            0
            104px;
    }


    /* =====================================================
       PAGE HEADING
       ===================================================== */

    .contact-section__heading {

        max-width: 900px;

        margin-bottom: 58px;
    }


    .contact-section__heading
    .home-section-heading__description {

        max-width: 760px;
    }


    /* =====================================================
       GRID
       ===================================================== */

    .contact-section__grid {

        grid-template-columns:
            minmax(0, 1.45fr)
            minmax(390px, 0.95fr);

        gap: 32px;
    }


    /* =====================================================
       MAP
       ===================================================== */

    .contact-map__inner {

        min-height: 650px;

        border-radius: 30px;
    }


    /* =====================================================
       CONTACT INFO
       ===================================================== */

    .contact-info {

        min-height: 650px;

        padding:
            40px
            36px;

        border-radius: 30px;
    }


    .contact-info__title {

        font-size: 3rem;
    }


    .contact-info__intro {

        max-width: 450px;

        font-size: 0.93rem;
    }


    .contact-info__item {

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

        gap: 17px;

        padding:
            19px
            0;
    }


    .contact-info__icon {

        width: 56px;

        height: 56px;

        font-size: 1.05rem;
    }


    .contact-info__value {

        font-size: 0.96rem;
    }


    .contact-info__actions {

        padding-top: 28px;
    }


    .contact-info__map-button {

        min-height: 62px;

        font-size: 0.84rem;
    }


    /* =====================================================
       NOTE
       ===================================================== */

    .contact-note {

        margin-top: 35px;

        font-size: 0.77rem;
    }

}



/* =========================================================
   1400px+
   ========================================================= */

@media (min-width: 1400px) {


    .contact-section {

        padding-top: 66px;

        padding-bottom: 114px;
    }


    .contact-section__heading {

        max-width: 940px;

        margin-bottom: 64px;
    }


    .contact-section__heading
    .home-section-heading__description {

        max-width: 800px;
    }


    /* =====================================================
       GRID
       ===================================================== */

    .contact-section__grid {

        grid-template-columns:
            minmax(0, 1.5fr)
            minmax(420px, 0.9fr);

        gap: 36px;
    }


    /* =====================================================
       MAP
       ===================================================== */

    .contact-map__inner {

        min-height: 690px;

        border-radius: 32px;
    }


    /* =====================================================
       CONTACT INFO
       ===================================================== */

    .contact-info {

        min-height: 690px;

        padding:
            44px
            40px;

        border-radius: 32px;
    }


    .contact-info::before {

        width: 230px;

        height: 230px;

        top: -115px;

        right: -100px;
    }


    .contact-info::after {

        width: 100px;

        height: 100px;

        right: 34px;

        bottom: 34px;
    }


    .contact-info__title {

        font-size: 3.2rem;
    }


    .contact-info__intro {

        font-size: 0.95rem;
    }


    .contact-info__item {

        padding:
            20px
            0;
    }


    .contact-info__value {

        font-size: 0.98rem;
    }


    .contact-info__map-button {

        min-height: 64px;
    }


    .contact-note {

        max-width: 940px;

        margin-top: 38px;
    }

}