:root {
    --font: "Urbanist";
    --darker-primary-color: #b82015;
    --primary-color: #272727;
    --secondary-color: #D1291C;
    --whatsApp-color: #29a71a;
    --offWhite-color: #e0f6ff;
    --gray: rgba(255, 255, 255, 0.2);
    --navGray: var(--gray);
    --transition: 0.3s all ease;
    --shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
    --border: 1px solid rgba(0, 0, 0, 0.125);
    --easing_overShoot: linear(0, 0.402 7.4%, 0.711 15.3%, 0.929 23.7%, 1.008 28.2%, 1.067 33%, 1.099 36.9%, 1.12 41%, 1.13 45.4%, 1.13 50.1%, 1.111 58.5%, 1.019 83.2%, 1.004 91.3%, 1);
}

/*! KEYFRAMES */
@keyframes topRight {
    from {
        transform: translate(100%, -100%);
        opacity: 0;
    }

    to {
        transform: translateY(50%);
        opacity: 1;
    }

}

@keyframes topLeft {
    from {
        transform: translate(-100%, -100%);
        opacity: 0;
    }

    to {
        transform: translateY(60%) scale(75%);
        opacity: 1;
    }

}

@keyframes bottomLeft {
    from {
        transform: translate(-100%, 100%);
        opacity: 0;
    }

    to {
        transform: translateY(-25%);
        opacity: 1;
    }

}

@keyframes activeSlide {
    from {
        translate: 0 -25%;
        opacity: 0;
    }

    to {
        translate: 0 0;
        opacity: 1;
    }
}



/* !EN */
html[dir="ltr"] {
    *:not(i) {
        font-family: var(--font), sans-serif;
    }

    #active_lang svg {
        rotate: 180deg;
    }

    section {
        direction: ltr;
    }

    .showAllCategories:hover,
    button.contact:hover {
        i {
            translate: 2px;
        }
    }

    .contact {
        padding-block: 0.5rem;
    }

    .showAllCategories i,
    .contact i {
        scale: 1.2;
    }

    .whoWe p {
        font-size: 1.25rem;
    }

    p {
        line-height: 1.5;
    }

    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        line-height: 1.1;
    }

    nav li {
        font-size: 1rem;
    }

    #lang_changer .langs {
        font-size: 1.125rem;
    }

    .heroIntro {
        font-size: Clamp(2rem, calc(3vw + 1rem), 4rem);
    }

    input,
    textarea,
    select {
        direction: ltr;
    }

    ::placeholder {
        transform-origin: left;
    }

    .headerIntro {
        text-wrap: balance;
    }

    .whatsApp {
        padding-block: 0.5rem !important;
    }

    @media (max-width: 480px) {
        #lang_changer {
            left: -60px;
        }
    }
}


/* !INTRO */
.intro {
    font-size: 2.5rem;
    font-weight: bold;
    color: var(--secondary-color);
    width: fit-content;
    text-align: start;
    margin-bottom: 3rem;
    text-transform: uppercase;
}

nav {
    position: fixed;
    z-index: 999;
    display: flex;
    flex-direction: column;
    left: 0;
    width: 100%;
    right: 0;
    top: 0;
    margin: auto;
    justify-content: space-between;
    background-color: var(--primary-color);
    box-shadow: var(--shadow);
    color: white;
    border-bottom: 3px solid var(--navGray);
    max-height: fit-content;

    a {
        text-transform: capitalize !important;
    }

    li {
        border-bottom: 3px solid transparent;
    }
}

.dropInsideDrop {
    transform: translateX(100%) !important;
    top: 0;
}

.sideMenuDropDown {
    flex-direction: column;
    display: flex;
    transition: all 500ms linear(0,
            0.012 0.9%,
            0.05 2%,
            0.411 9.2%,
            0.517 11.8%,
            0.611 14.6%,
            0.694 17.7%,
            0.765 21.1%,
            0.824 24.8%,
            0.872 28.9%,
            0.91 33.4%,
            0.939 38.4%,
            0.977 50.9%,
            0.994 68.4%,
            1);
    transform-origin: bottom;
    width: 100%;
    overflow: hidden;
    interpolate-size: allow-keywords;
    height: 0;
    display: flex;
    flex-direction: column;

    a,
    .sideDropInsideDrop {
        cursor: pointer;
        transition: var(--transition);
        padding: 0.5rem;
        scale: 0.9;
        transform-origin: top;
        color: var(--primary-color);
        justify-content: center;
        text-transform: uppercase;
        padding: 1rem;
        border-bottom: var(--border);

        &:last-child {
            border: none;
        }

        &:first-child {
            border: none;
            border-top: var(--border);
            border-bottom: var(--border);


        }

        &:hover {
            background-color: var(--primary-color);
            color: white;
        }
    }
}

.sideDropInsideDrop figure>a {
    border: 0 !important;
    font-size: 1.1rem;
    padding-left: 0 !important;

    &:hover {
        background: initial !important;
    }
}

.sideMenuDropDown.show_dropdown {
    height: auto;
    margin-block: 0.5rem;

}

#asideOverlay {
    position: fixed;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    width: 100%;
    height: 100%;
    inset: 0;
    margin: auto;
    overscroll-behavior: contain;
    z-index: 10000;
    opacity: 0;
    display: none;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
    transition: 0.5s all ease;
}

#asideOverlay.show_overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    #sideLinks {
        transform: translateX(0);

    }
}

aside#sideLinks {
    background-color: var(--primary-color);
    height: 100%;
    width: 100%;
    overscroll-behavior: contain;
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    max-width: 350px;
    overscroll-behavior: contain;
    transition: 0.5s all ease;
    transform: translateX(-100%);

    ul {
        height: 100%;

        li {
            display: flex;
            justify-content: space-between;
            align-items: start;
            text-transform: capitalize !important;
            flex-direction: column;
            color: var(--secondary-color);
            transition: var(--transition);
            border-bottom: var(--border);

            &:last-child {
                border-bottom: 0;
            }

            figure {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding-left: 1rem;
                transition: var(--transition);
                width: 100%;

                &:hover {
                    background-color: var(--secondary-color);
                    color: white;

                    button,
                    a {
                        color: white;
                        background-color: var(--darker-primary-color) !important;

                    }
                }
            }

            a {
                color: var(--secondary-color);
                padding: 1rem;
                text-transform: capitalize !important;

                &:hover {
                    color: white !important;
                    background-color: var(--darker-primary-color);

                }
            }




        }

    }

    li:not(:has(figure)).active {
        background-color: var(--secondary-color);
        color: white;

        a,
        button {
            color: white !important;
        }

    }


    li:has(figure).active figure {
        background-color: var(--secondary-color);
        color: white;

        a,
        button {
            color: white;
        }

    }

    button {
        background-color: transparent;
        color: black;
        font-size: 1.25rem;
        padding: 1rem;
        color: var(--secondary-color);
    }
}

#sideLinks li:not(:has(figure)) {
    a {
        width: 100%;
    }

    &:hover {
        background-color: var(--secondary-color);

        a {
            color: white;
        }
    }
}

li:has(.sideMenuDropDown).active a.active {
    background-color: var(--secondary-color);
    color: white !important;
}

.sideDropInsideDrop:hover {
    background-color: white !important;
    color: var(--secondary-color) !important;
}

.sideDropInsideDrop {
    padding: 0 !important;
}

.sideDropInsideDrop figure {
    cursor: auto;
    padding-left: 1rem;
}

.sideDropInsideDrop figure:hover {
    color: white;
}

#closeSidebar {
    font-size: 1.5rem;
    cursor: pointer;
    padding: 1rem;

    &:hover {
        color: white;
    }
}

li.show_dropdown {
    color: var(--darker-primary-color);
    border-color: var(--darker-primary-color);
}

#dropdownPopup {
    position: fixed;
    inset: 0;
    margin: auto;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    z-index: 100;
    padding-top: 88px;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    transition: 0.3s all ease;
}

#dropdownPopup.show_dropdown {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.dropDown {
    transition: all 700ms linear(0,
            0.012 0.9%,
            0.05 2%,
            0.411 9.2%,
            0.517 11.8%,
            0.611 14.6%,
            0.694 17.7%,
            0.765 21.1%,
            0.824 24.8%,
            0.872 28.9%,
            0.91 33.4%,
            0.939 38.4%,
            0.977 50.9%,
            0.994 68.4%,
            1);
    transform-origin: bottom;
    overflow: hidden;
    interpolate-size: allow-keywords;
    height: 0;
    background-color: var(--primary-color);
    z-index: 10;
    bottom: 0;
    left: 0;
    width: 100%;
    position: absolute;
    z-index: 100;
    top: 130px;
    will-change: height, scale, opacity;
    border-bottom: 3px solid var(--gray);

    .container {
        padding-block: 2rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        max-width: 900px;
    }

    img {
        width: 90px;
        height: 100%;
        object-fit: contain;
    }

    h3 {
        color: var(--darker-primary-color);
    }

    a {
        font-weight: bold;
        color: white;
        font-size: 1.125rem;
        transition: var(--transition);
        border-bottom: 3px solid transparent;

        /* padding-bottom: 6px; */
        &:hover {
            color: var(--darker-primary-color);
        }
    }
}

.dropDown.show_dropdown {
    height: fit-content;
}

.dropDown a.active {
    color: var(--darker-primary-color);
    border-color: var(--darker-primary-color);
}

.navIcons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;

    img {
        width: 24px;
        height: 24px;
    }

    figure,
    a {
        transition: var(--transition);
        cursor: pointer;

        &:hover {
            color: var(--secondary-color);
            scale: 1.1;

        }
    }
}

#menu {
    cursor: pointer;
}

#cartIcon {
    position: relative;
    isolation: isolate;
}

#cartItems {
    background-color: var(--secondary-color);
    width: 1rem;
    height: 1rem;
    font-size: 0.8rem;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: absolute;
    top: -0.4rem;
    right: -0.4rem;
    color: white;
    font-weight: bold;
}

nav .contact.active {
    background-color: var(--darker-primary-color);
}

nav .contact a {
    color: white;

}

nav .container {
    display: flex;
    align-items: center;
    padding-block: 0.75rem;
    border-radius: 1.5rem;
    position: relative;
    justify-content: space-between;
}

#navigation_dropdown {
    border: inherit;
    border-color: transparent;
    position: absolute;
    left: 0;
    display: none;
    width: 100%;
    transform: translateY(70px);

    transition: all 700ms linear(0,
            0.012 0.9%,
            0.05 2%,
            0.411 9.2%,
            0.517 11.8%,
            0.611 14.6%,
            0.694 17.7%,
            0.765 21.1%,
            0.824 24.8%,
            0.872 28.9%,
            0.91 33.4%,
            0.939 38.4%,
            0.977 50.9%,
            0.994 68.4%,
            1);
    transform-origin: bottom;
    overflow: hidden;
    interpolate-size: allow-keywords;
    margin: auto;
    right: 0;
    height: 0;

    z-index: -1;

    .main_Links {
        gap: 1.5rem !important;
    }
}

#navigation_dropdown.show_dropdown {
    height: auto;
    border-color: inherit;
}

#navigation_dropdown .container {
    background-color: var(--primary-color);
    border-radius: 0;
    color: black;
    width: 100%;
    padding-bottom: 2rem !important;
    padding-top: 3rem !important;

    justify-content: center;

    .main_Links {
        flex-direction: column;
    }

    li:hover {
        a {
            color: var(--secondary-color);
        }
    }

    a {
        color: white;
    }
}

nav .logo {
    width: 100%;
    height: 64px;
    padding-block: 4px;
    object-fit: contain;
}

a:has(.logo) {
    width: 104px;
}

nav ul,
.main_Links {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    max-height: fit-content;
}

nav li,
.contact {
    font-size: 1rem;
    font-weight: bold;
    user-select: none;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
    transition: var(--transition);
    cursor: pointer;
    align-items: center;
    color: white;

    a {
        color: white;
        display: flex;
        align-items: center;
        gap: 0.25rem;
    }
}

nav button {
    color: var(--primary-color);

    &:hover {
        color: white;
    }
}

nav li:hover {
    color: var(--secondary-color);

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

#menu {
    font-size: 1.5rem;
    display: none;
}

li.active {
    color: var(--secondary-color) !important;

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

    }
}

nav button {
    padding-inline: 1.5rem !important;
}

.contact {
    background: var(--secondary-color);
    padding: 0.25rem 1rem;
    /* max-width: 200px !important; */
    min-width: fit-content;
    width: 100%;
    font-weight: bold !important;
    font-size: 0.9rem !important;
    gap: 0.5rem;
    font-size: 1rem;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: 10px;
    /* width: fit-content; */
    border-radius: 0.5rem;
    box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.075);

    border: 2px solid var(--secondary-color);

    svg {
        width: 24px !important;
        height: 24px !important;
    }

    &:hover {
        background-color: transparent;
        color: var(--secondary-color);

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

        i {
            transform: translateX(-2px) scale(1.2);
        }
    }
}

li#lang {
    position: relative;
}

#lang_changer {
    position: absolute;
    z-index: 100;
    left: 0;
    top: 60px;
    transition: var(--transition);
    border-radius: 8px;
    width: 140px;
    background-color: white;
    border-radius: 12px;
    color: black;
    box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);

    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    overflow: hidden;
}

#active_lang img {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.hide_lang_changer {
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
}

#lang_changer .langs {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.95rem;
    padding: 0.75rem;
    transition: var(--transition);
    width: 100%;
    color: black;

    &:not(:last-child) {
        border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    }

    &:hover {
        background: linear-gradient(90deg,
                var(--darker-primary-color),
                var(--primary-color));
        color: white !important;
    }
}

.langs img {
    width: 30px;
    object-fit: contain;
    height: auto;
}

/* !HERO SECTION */

.mySwiper {
    flex-grow: 1;
}

.swiper-wrapper {
    display: flex;
    flex-grow: 1;
    align-items: stretch;
}

.swiper-slide {
    height: auto;


}

header {
    position: relative;
    isolation: isolate;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    padding: 0;
    min-height: 90dvh;
    background-color: var(--primary-color);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

header::before {
    width: 300px;
    height: 300px;
    background-color: rgb(85, 83, 83);
    position: absolute;
    inset: 0;
    top: 50px;
    z-index: -1;
    pointer-events: none;
    margin: auto;
    content: '';
    filter: blur(60px);
    border-radius: 50%;
}

.circleOverlay {
    background-color: #3333338a;
    width: 400px;
    height: 400px;
    border-radius: 50%;
    opacity: 0;
    position: absolute;
    z-index: -1;
    pointer-events: none;

}

.circleOverlay.topRight {
    top: -50%;
    right: -5%;
    transform: translateY(50%);
    animation: topRight 1s var(--easing_overShoot) 0.3s forwards;
}

.circleOverlay.topLeft {
    top: -50%;
    left: -5%;
    transform: translateY(60%) scale(75%);
    transform-origin: top left;
    animation: topLeft 1s var(--easing_overShoot) 0.5s forwards;

}


.circleOverlay.bottomLeft {
    bottom: -50%;
    left: -5%;
    transform: translateY(-25%);
    animation: bottomLeft 0.7s var(--easing_overShoot) 0.7s forwards;

}


header::after {
    width: 100%;
    height: 8px;
    background-color: var(--secondary-color);
    z-index: 10;
    left: 0;
    bottom: 0;
    content: "";
    position: absolute;
}


.heroSwiper {
    padding-top: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    isolation: isolate;
    max-width: 1024px;
    padding-inline: 1rem;
    width: 100%;
}

.heroSwiperSlide {
    display: flex;
    width: fit-content;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    text-align: center;
    user-select: none;
    -webkit-user-drag: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;

    img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        max-height: 400px;
    }

    img {
        transition: var(--transition);
    }

    .productDesc {
        transition: var(--transition);
        color: white;
        text-wrap: balance;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;

        h2 {
            transition: var(--transition);
            font-size: 2rem;
            text-shadow: 0px 0px 2px black;
            font-weight: 600;
        }

        p {
            transition: var(--transition);
            max-width: 65ch;
            font-size: 0.9rem;
            text-shadow: 0px 0px 2px black;
            line-height: 1.1;
        }
    }

    &:hover {
        img {
            rotate: 2deg;
            filter: brightness(1.1);
        }

        .productDesc {
            color: var(--secondary-color);
        }
    }
}

.heroSwiperSlide {
    /* default transitions for snapping */
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* while dragging, remove transition
.heroSwiperSlide.dragging {
  transition: none !important;
} */

#swiperPrev,
#swiperNext {
    background-color: transparent;
    min-width: 40px;
    position: absolute;
    z-index: 100;
    top: 50%;
    bottom: 0;
    margin: auto;
    width: 60px;
    height: fit-content;
    transition: 0.7s all ease;
}

#swiperPrev {
    left: 250px;

    &:hover {
        translate: -8px;
    }
}

#swiperNext {
    right: 250px;

    &:hover {
        translate: 8px;
    }
}

.heroSwiperWrapper {
    position: relative;
    isolation: isolate;
    width: 100%;
    height: 550px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 4rem;
    touch-action: pan-y;
    user-select: none;
    /* prevent text/image selection while dragging */
    -webkit-user-drag: none;
}

.heroSwiperSlide {
    position: absolute;
    transition:
        transform 0.6s ease,
        filter 0.6s ease,
        opacity 0.6s ease;
    opacity: 0;
    pointer-events: none;
    cursor: grab;
    display: flex;
    flex-direction: column;
    align-items: center;
    will-change: transform, opacity;
}

.heroSwiperSlide:active {
    cursor: grabbing;

    .productDesc {
        color: var(--secondary-color);
    }

    img {
        rotate: 2deg;
        filter: brightness(1.125);
    }
}

.heroSwiperSlide img {
    max-height: 250px;
    object-fit: contain;
}

.heroSwiperSlide .productDesc {
    transition: opacity 0.4s ease;
}

/* ACTIVE SLIDE */
.heroSwiperSlide.active {
    transform: translateX(0) scale(1);
    filter: blur(0);
    opacity: 0;
    z-index: 3;
    pointer-events: auto;
}

.loadSwipeAnim {
    animation: activeSlide 0.7s ease-in-out 0.25s forwards;

}

.heroSwiperSlide.active .productDesc {
    opacity: 1;
}

/* LEFT SLIDE */
.heroSwiperSlide.left {
    transform: translateX(-400px) translateY(100px) scale(0.7);
    filter: blur(6px);
    opacity: 0.9;
    z-index: 2;
}

.heroSwiperSlide.left .productDesc {
    opacity: 0;
}

/* RIGHT SLIDE */
.heroSwiperSlide.right {
    transform: translateX(400px) translateY(100px) scale(0.7);
    filter: blur(6px);
    opacity: 0.9;
    z-index: 2;
}

.heroSwiperSlide.right .productDesc {
    opacity: 0;
}

/* Hidden */
.heroSwiperSlide.hidden {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(-200px) scale(0.05) !important;
    z-index: 0 !important;
}

.heroSwiperPagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
    position: absolute;
    z-index: 100;
    bottom: 60px;
}

.heroSwiper {
    position: relative;
    isolation: isolate;
    padding-bottom: 50px;
}

.heroSwiperBullet {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #ccc;
    transition: background-color 0.3s ease, transform 0.3s ease;
    cursor: pointer;
}

.heroSwiperBullet.active {
    background-color: var(--secondary-color);
    transform: scale(1.25);
}



.swiper {
    padding-block: 3rem !important;
}

.swiper-pagination {
    bottom: 0 !important;
}

.swiper-pagination-bullet {
    scale: 1.25;
}

.swiper-pagination-bullet-active {
    background-color: var(--secondary-color) !important;
}

.heroOverlay {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: -1;

    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 75%;
        transition: 0.5s all ease;
    }

    &:hover {
        img {
            scale: 1.125;
            filter: brightness(1.2);
        }
    }
}

.heroOverlay.backaldrin {
    img {
        object-position: 10% !important;
    }
}

.eventSwiper .contact {
    max-width: 265px;
    margin: 0 !important;
    align-self: self-start;
}

.showAllCategories {
    max-width: fit-content;
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    align-items: center;
    margin: auto;
    margin-top: 2rem;
    font-size: 1.5rem;
    color: var(--darker-primary-color);
    transition: var(--transition);

    i {
        rotate: 180deg;
    }

    &:hover {
        i {
            translate: -8px;
        }
    }
}

header .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    isolation: isolate;
}

.whatsApp {
    position: fixed;
    bottom: 5.5rem;
    right: 3rem;
    color: white;
    font-size: 1.1rem;
    background-color: var(--whatsApp-color);
    padding-block: 0.25rem !important;
    padding-left: 1rem;
    padding-right: 2rem;
    z-index: 100;
    text-align: end;
    border-radius: 0.7rem;
    box-shadow: var(--shadow);
    transition: var(--transition);
    scale: 0;
    opacity: 0;
    animation: whatsApp 0.7s ease forwards;
    will-change: transform, opacity;

    &:hover {
        background-color: white;
        color: var(--whatsApp-color);
    }
}

.WhatsAppIcon {
    position: absolute;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    right: 0;
    box-shadow: 6px 0px 10px -4px rgba(0, 0, 0, 0.3);
    top: 0;
    transform: translate(25px, -5px);
    background-color: inherit;
}



/* ! SEARCH BAR */
section#searchCategory {
    padding-inline: 1rem;
    overflow: initial;
    padding-bottom: 0 !important;
}

section#searchCategory .container {
    background-color: white;
    border-radius: 0.5rem;
    box-shadow: var(--shadow);
    padding-block: 3rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-top: -100px;
    position: relative;
    z-index: 1000;
    gap: 1.5rem;

    .intro {
        font-size: 1.5rem;
        color: black;
        font-weight: 500;
        margin: 0 !important;
        text-align: center;

    }
}

.inputHolder {
    position: relative;
    isolation: isolate;
    width: 100%;
    max-width: 700px;

    input {
        width: 100%;
        height: 100%;
        border-radius: 1rem !important;
        background-color: whitesmoke !important;
        direction: ltr !important;
        border-color: rgba(0, 0, 0, 0.125) !important;
        padding-block: 0.5rem;
        padding-right: 13rem !important;
        padding-left: 3.5rem !important;

    }

    label {
        position: absolute;
        z-index: 10;
        left: 1rem;
        top: 0;
        bottom: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: auto;

        img {
            width: 24px;
            height: 24px;
        }
    }
}

.innerInputs {
    display: flex;
    gap: 2rem;
    width: 100%;
    flex-wrap: wrap;

    article {
        flex: 1 1 250px !important;

        .inputHolder {
            max-width: 100%;
        }
    }

}

#confirmSearch {
    width: 46px;
    height: 46px;
    border-radius: 0.5rem;
    background-color: var(--secondary-color);
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 10;
    top: 0.25rem;
    bottom: 0.25rem;
    margin: auto;
    border: 2px solid var(--secondary-color);
    right: 1rem;
    transition: var(--transition);

    svg {
        width: 30px;
        height: 30px;

        path {
            fill: transparent;
        }
    }

    &:hover {
        background-color: transparent;

        svg {
            color: var(--secondary-color);
            filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.5));

            path {
                fill: var(--secondary-color);
            }
        }
    }
}

.searchOptions {
    position: absolute;
    right: 4.5rem;
    z-index: 10;
    top: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;

    .arrow {
        right: 0.5rem;
    }

}

select#categories {
    padding-block: 0.5rem;
    padding-left: 1rem;
    padding-right: 2rem;
    height: fit-content;
    font-weight: 500;
    border-radius: 0.5rem !important;
    border-color: rgba(0, 0, 0, 0.125) !important;
}

#categories option {
    font-size: 14px;
    font-weight: 300;
}


.arrow {
    position: absolute;
    z-index: 10;
    cursor: pointer;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: translateY(-4px);
    right: 1.5rem;
    width: 14px;
    height: 14px;
}

#empty h6 {
    font-size: 1.5rem;

}

#empty {
    min-height: 250px !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ! WHO WE SECTION */
.categorySwiper {
    padding-top: 0 !important;
}

section.whoWe .container {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    column-gap: 4rem;
    row-gap: 2rem;

    article {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        flex: 1;
        text-wrap: balance;
        justify-content: center;
        border-radius: 1.5rem;
        overflow: hidden;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: left;
        }

        h2 {
            font-size: 2.5rem;
            text-transform: uppercase;
            color: var(--secondary-color);
        }

        .contact {
            font-size: 1rem !important;
            text-transform: uppercase !important;
            font-weight: bold;
        }
    }
}

.whoWeBanner {
    border-radius: 1.5rem;
    overflow: hidden;

    img {
        min-height: 350px;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.whoWe .container article:has(img) {
    flex: 1;
    overflow: hidden;

    img {
        transition: 0.5s all ease;
    }

    &:hover {
        img {
            scale: 1.125;
            filter: brightness(1.125);
        }
    }
}

.whoWeImg {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    isolation: isolate;
}

/* ! CATEGORIES SECTION */
/* section.categories {
  padding-block: 0;
} */

.categories a {
    max-width: 450px;
}

.categories .intro {
    font-size: 2rem;
    margin-block: 1.5rem;
}

section.categories .container a,
section.events .container>a,
section.productGrid #allProducts a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    flex-direction: column;
    gap: 0.5rem;
    position: relative;
    font-size: 1.5rem;
    max-width: 500px;

    i {
        rotate: 0;
    }

    img {
        width: 100%;
        height: auto;
        object-fit: cover;
        border-radius: 1.25rem;
        border: 1px solid var(--secondary-color);
        height: 250px;
        object-position: center;
        transition: 0.5s all ease;
        /* max-width: 250px; */
    }

    svg {
        width: 24px;
        height: 24px;
    }

    p {
        font-size: 0.85rem;
        line-height: 1.1;
        color: black !important;

    }

    a {
        font-weight: bold;
        font-size: 1rem;
        padding-inline: 1rem;
        width: 100% !important;
    }

    .productDesc {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .productPrice {
        text-align: end;
        font-weight: bold;
        font-size: 1.1rem;
    }

    .productInfo {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        min-height: fit-content;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 5;
        line-clamp: 5;

    }

    .productName {
        color: var(--secondary-color);
        font-size: 1.125rem;
    }

    .contact {
        width: 100%;
        font-weight: bold;
    }

    &:hover {
        img {
            scale: 1.05;
            filter: brightness(1.05);
        }
    }
}

section.categories#ourProducts {
    .intro {
        margin-bottom: 3rem;
    }

    .container {
        display: flex;
        flex-wrap: wrap;
        column-gap: 1rem;
        row-gap: 2rem;
        justify-content: center;
        align-items: stretch;

    }
}

section.categories.categoryOption {
    .contact {
        position: absolute;
        bottom: 10px;
        left: 0;
        right: 0;
        margin: auto;
        max-width: 90% !important;
        display: block;
        width: 100%;
        pointer-events: none;
    }

    img {
        max-height: 100%;
        border-radius: 1.25rem !important;
        transition: 0.5s all ease;
    }

    .swiper-slide {


        overflow: hidden;

        &:hover {
            transition-delay: 0s !important;

            img {
                scale: 1.2;
                filter: brightness(1.125);
            }

            .contact {
                background-color: var(--darker-primary-color);
                color: white;
            }
        }
    }
}

/* CATEGORY PRODUCTS */
section#categoryProducts .container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2rem;
    justify-content: center;

    article {
        height: auto;
        max-width: 100%;
        width: 100%;

        &:hover {
            .contact {
                background-color: var(--primary-color);
            }
        }
    }

    img {
        max-width: 100% !important;
    }
}


/* ! CONTACT SECTION */

section#contactSection .container {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem;

    .contact {
        background-color: var(--primary-color);
        color: white;
        border: 2px solid var(--primary-color);

        &:hover {
            background-color: transparent;


            color: var(--primary-color);


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

    }
}

::placeholder {
    transform-origin: right;
    transition: var(--transition);
}


input:focus,
textarea:focus,
select:focus {
    background-color: #f9f8f3 !important;
}

input:focus::placeholder,
textarea:focus::placeholder {
    scale: 0.85;
    transform: translateY(-12px);
}

#contactSection .container form,
#contactSection .container .contactInfo {
    flex: 1 1 400px;
}

#contactSection .container form {
    display: flex;
    flex-direction: column;
    gap: 1rem;

    .contact {
        min-width: 200px;
        font-weight: bold;
        font-size: 1rem;

        a {
            padding-block: 0.25rem;
            justify-content: center;
            align-items: center;

        }
    }
}


.inputHolder {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;

    input,
    textarea,
    select {
        padding: 1rem 2rem;
        border-radius: 6px;
        resize: none;
        border: 1px solid var(--primary-color);
        direction: rtl;
        background-color: white;
        font-size: 1.125rem;
        overflow: hidden;
        /* block internal scrollbar flash */
    }






    textarea {
        height: 200px;
    }
}

::placeholder {
    color: var(--primary-color);
    opacity: 0.75;
    min-height: 24px;
}

.contactInfo {
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}

.contactHandle {
    background-color: var(--primary-color);
    padding: 1rem 2rem;
    color: white;
    border-radius: 0.5rem;
    margin-bottom: 1rem;
    overflow-x: auto;
    white-space: nowrap;
    align-items: center;
    display: flex;
    gap: 1rem !important;
    border: 2px solid transparent;
    transition: var(--transition);

    i.fa-whatsapp {
        scale: 125%;
    }

    &:hover {
        background-color: transparent;
        border-color: var(--primary-color);
        color: var(--primary-color);

        .contactIcon {
            background-color: var(--primary-color);
            color: white;
        }
    }
}

.contactIcon {
    min-width: 35px;
    min-height: 35px;
    color: var(--primary-color);
    background-color: white;
    border-radius: 50%;
    font-size: 1.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: inherit;
}

.map {
    height: 250px;
    border-radius: 1.125rem;
    border: 2px solid var(--primary-color);
    overflow: hidden;

    iframe {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}


/*!GET A JOB SECTION */

section#jobSection .container {
    display: flex;
    flex-direction: column;
    max-width: 1024px;
    gap: 1rem;

    .contact {
        width: 100%;
        display: block;
        margin: auto;
        background-color: var(--primary-color);
        color: white;
        border: 2px solid var(--primary-color);

        &:hover {
            background-color: transparent;
            color: var(--primary-color);
        }
    }
}

#jobSection #applyForJob {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}


.gender-selection {
    display: flex;
    gap: 1rem;
    align-items: center;
}




/* ✅ gray placeholder color */
.inputHolder select:invalid {
    color: var(--primary-color);
}

.gender-option {
    border: 1px solid var(--primary-color);
    border-radius: 8px;
    padding: 10px 40px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: white;

    label {
        cursor: pointer;
    }

    &:hover {
        background-color: #fff5e1;
    }
}

.gender-option.active {
    color: white;
    /* example highlight color */
    background-color: var(--darker-primary-color);
}


.gender-option input {
    display: none;
}

#perosnalDataFields {
    display: grid;
    gap: 1rem;
    align-items: center;
}


section.newsletter {
    padding-inline: 1rem;
}

Section.newsletter .container {
    background-color: var(--primary-color);
    border-radius: 1.5rem;
    display: flex;
    justify-content: space-between;
    column-gap: 2rem;
    padding: 3rem;
    row-gap: 2rem;
    align-items: center;
    color: white;

    h2 {
        font-size: 2rem;
        font-weight: 600;
        text-wrap: pretty;
    }

    input {
        padding-right: 13.5rem;
    }

    form {
        position: relative;
        isolation: isolate;
        width: 100%;
    }

    form,
    h2 {
        flex: 1;
    }

    .contact {
        width: auto;
        position: absolute;
        border-radius: 1rem;
        z-index: 10;
        padding-inline: 0.75rem;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 1rem;
        height: fit-content;
    }
}

section.statis {
    padding-top: 0;
    overflow: visible;
}

section.statis .container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1.5rem;

    article {
        background-color: white;
        transition: color 0.3s, background 0.3s, transform 0.7s, opacity 0.7s ease;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: 1rem;
        padding: 2.5rem 1rem;
        border-radius: 1rem;
        border: 3px solid transparent;
        color: black;
        box-shadow: var(--shadow);

        img {
            width: 64px;
            height: 64px;
            object-fit: contain;
            transition: var(--transition);
        }

        p {
            color: var(--secondary-color);
            font-size: 1rem;
            text-transform: uppercase;
        }

        h2 {
            font-size: 4rem;
        }

        &:hover {
            background-color: var(--primary-color);
            color: white;
            transform: translateY(-10px) scale(1.01);
            border-color: var(--secondary-color);

            img {
                scale: 1.1;
                rotate: 2deg;
            }
        }
    }
}

/* ! GENERIC DESCRIPTION SECTION */
section.description {
    padding-bottom: 0;
}

section.description .container {
    display: flex;
    flex-direction: column;
    gap: 2rem;

    article {
        display: flex;
        flex-direction: column;
        gap: 0.25rem;

        ul {
            list-style-type: disc;
            list-style-position: inside;
            padding-left: 1rem;
            display: flex;
            flex-direction: column;
            gap: 0.5rem;

            li {
                display: list-item;
            }
        }

        a {
            color: var(--secondary-color);
            font-weight: bold;
            font-size: 1.25rem;

            &:hover {
                text-decoration: underline;
            }
        }

        h2 {
            margin-bottom: 0.5rem;
            font-size: 2rem;
            color: var(--secondary-color);
            text-transform: uppercase;
        }

        h4 {
            font-size: 1.25rem;
        }

        p {
            font-size: 1.125rem;
        }

    }
}

/* ! MAP */
#mapSection {
    padding-top: 88px;
    padding-bottom: 0;
    height: 100vh;

    width: 100%;
    position: relative;
}

.leaflet-container {
    height: 100vh;
    height: 100%;
    width: 100%;
}

.red-marker {
    filter: hue-rotate(150deg) saturate(5);
}

/* !FOOTER */
footer {
    background-color: var(--primary-color);
    padding-bottom: 0;
}

.copyright {
    color: white;
    text-align: center;
    margin-block: 50px;

}

footer .container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 5rem;
    color: white;

    h3 {
        padding-bottom: 0.25rem;
        width: fit-content;
        font-weight: 600;
        border-bottom: 4px solid var(--secondary-color);
        text-transform: uppercase;
    }
}

footer .container article {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: auto;
    height: 100%;
    max-width: 400px;

    img {
        width: 100%;
        height: 100%;
        max-width: 250px;
        object-fit: contain;
    }
}

.contactIcon {
    min-width: 35px;
    min-height: 35px;
    color: var(--primary-color);
    background-color: white;
    border-radius: 50%;
    font-size: 1.25rem;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: inherit;
}

footer .container article:has(img) {
    justify-content: center;
    align-items: center;
    text-align: center;
    max-width: 150px;

    button {
        width: 100%;
        border-radius: 0.75rem;
        display: flex;
        align-items: center;
        justify-content: center;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.125rem;
        color: var(--primary-color);

        &:hover {
            color: white;
        }
    }
}

footer li:not(.socials) .contactIcon {
    font-size: 0.8rem;
    min-height: 24px;
    min-width: 24px;
}

footer .contactIcon {
    color: var(--primary-color);
    transition: inherit;
}

footer ul {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    width: 295px;

    p {
        font-weight: 300;
    }

    span {
        margin-top: 0.5rem;
        font-weight: bold;
    }
}

footer ul li {
    cursor: pointer;
    line-height: 1.5;
    font-weight: 600;
    max-width: fit-content;
    transition: var(--transition);
    font-size: 1rem;

    a {
        display: flex;
        align-items: center;
        font-weight: 600;
        max-width: fit-content;
        gap: 8px;
        color: white;
    }
}

.bullet {
    width: 6px;
    height: 6px;
    background-color: white;
    border-radius: 50%;
}

footer ul li:not(.socials):hover {
    a {
        color: var(--secondary-color);
    }

    .contactIcon {
        background-color: var(--secondary-color);
        color: white;
    }
}

.socials {
    margin-top: 1rem;
    display: flex;
    gap: 0.5rem;

    .contactIcon:hover {
        background-color: var(--secondary-color);
        color: white;
    }
}

/* ! INNER PAGES HERO*/

/* header .container {
  min-height: calc(100vh);
  min-height: calc(100vh);
} */

.headerIntro {
    display: flex;
    flex-direction: column;
    margin-bottom: -5rem;
    gap: 1rem;
    text-wrap: balance;

    h2 {
        color: white;
        font-size: 3rem;
    }

    p {
        color: var(--primary-color);
        font-size: 1.75rem;
    }
}

/* INNER PAGES */
main.innerPage {
    background-color: #f9f8f3;

    header .intro {
        color: white;
        margin: 0;
        margin-top: 6rem;
        font-size: Clamp(2.5rem, calc(4vw + 1rem), 4rem);
        line-height: 1;
        text-wrap: balance;
    }

    header {
        min-height: calc(60vh);
        min-height: calc(60dvh);
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    header::before {
        background: linear-gradient(to right, transparent, rgba(0, 0, 0, .5));
        height: 100%;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -0;
        content: "";
    }

    .headerIntro {
        width: fit-content;
        max-width: 600px;
    }

    .headerIntro h2 {
        font-size: 2rem;
        font-weight: 400;
        color: var(--primary-color);

        span {
            font-weight: bold;
        }
    }
}


section.tourPreview {
    padding-bottom: 0;
}

section.tourPreview .container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;


    .swiper {
        padding: 0 !important;
    }

    .swiper-wrapper {
        max-height: fit-content;
        max-width: 100%;

    }

    /* Fix main swiper slide size */
    .myMainSwiper {
        width: 100%;
        height: 100%;
    }

    /* Make slides not stretch */
    .myMainSwiper .swiper-slide {
        width: 100% !important;
        height: 100% !important;
        display: flex;
        cursor: pointer;

        img {
            transition: 0.5s all ease;
            object-fit: cover;

        }


        &:hover {
            img {
                scale: 1.125;
                filter: brightness(1.125);
            }
        }
    }

    .myMainSwiper .swiper-slide:active {
        cursor: grabbing;
    }

    .myMainSwiper .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .mainTourImage {
        max-height: 550px;
    }

    .mainTourImage.full-span {
        grid-column: span 4 !important;
    }


    /* Fix thumbnails swiper */
    .myThumbsSwiper {
        width: 100%;
    }

    .myThumbsSwiper .swiper-slide {
        width: 100%;
        height: 100%;
    }

    .myThumbsSwiper .swiper-slide img {
        width: 100%;
        max-height: 265px;

        height: 100%;
        object-fit: cover;
    }


}

main.innerPage:has(.mainTourImage.mainTourImage.full-span) {
    section.tourPreview .container {
        grid-template-rows: 1fr !important;
    }
}


.mainTourImage {
    grid-column: span 3;
    position: relative;
    isolation: isolate;
}


.mainTourImage::after {
    content: '';
    width: 100%;
    height: 100%;
    inset: 0;
    margin: auto;
    pointer-events: none;
    position: absolute;
    z-index: 1;
    background: linear-gradient(to bottom, transparent 70%, rgba(0, 0, 0, 0.75));
}

#duration,
#fullScreen {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 10;
    color: white;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
    font-weight: bold;
    background-color: var(--primary-color);
    padding: 1rem;
    border-radius: 1rem;

    img {
        width: 24px;
        height: 24px;
        object-fit: contain;
    }
}

#fullScreen {
    left: initial;
    right: 1rem;
    padding: 0.5rem;
}

.previewNavigation {
    position: absolute;
    z-index: 10;
    bottom: 1rem;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: fit-content;
    max-width: 600px;
    padding-inline: 1rem;
    font-size: 2rem;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;

    button {
        color: white;
        background-color: transparent;
        border: 0;
        transition: var(--transition);
        font-size: 2rem;

        &:hover {
            color: var(--secondary-color);
        }
    }
}

#zoomBtn {
    cursor: pointer;
    margin: auto;
    position: relative;
    transition: all 0.3s ease;

    &:hover {
        scale: 1.1;
        color: var(--darker-primary-color);
    }
}

/* #zoomBtn:active{
  cursor: grabbing;
} */

.thumbnails {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    row-gap: 1rem;
    column-gap: 0.5rem;


    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.5;
        transition: 0.5s all ease;
        cursor: pointer;
    }
}

#blogPreview {
    .thumbnailImage {
        flex: 1;
    }
}

.thumbnailImage {
    overflow: hidden;
    height: 100%;

    &:hover {
        img {
            scale: 1.125;
            opacity: 0.75;
        }
    }
}

.myMainSwiper .swiper-slide img {
    transition: transform 0.3s ease;
    transform-origin: center center;
}


section.highlight .container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;

    h2 {
        text-transform: uppercase;
        font-size: 2rem;
    }

    ul {
        list-style-type: disc;
        list-style-position: inside;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    li {
        display: list-item;
    }

    p {
        text-wrap: balance;
        line-height: 2;
        font-size: 1rem;
    }

}


Section.tourDetails {
    padding-bottom: 0;
}

section.tourDetails .container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.tourInfo {
    display: flex;
    flex-direction: column;
    gap: 2rem;

    >h2,
    >p {
        border-left: 5px solid var(--primary-color);
        padding: 0 1rem;
        text-wrap: balance;
    }

    >h2 {
        font-size: 2.25rem;
        text-wrap: balance;
    }

    >p {
        line-height: 2 !important;
    }

    ul {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    li {
        display: flex;
        gap: 1rem;
        align-items: center;

        img {
            width: 28px;
            height: 28px;
            object-fit: contain;
            filter: var(--image-filter);
        }

        p,
        span {
            font-size: 1.25rem;
            font-weight: 500;
        }

        span {
            color: var(--primary-color);
        }
    }
}

.infoIcon {
    background-color: var(--secondary-color);
    color: white !important;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    font-size: 1.5rem;

    i {
        scale: 0.9;
    }
}

.instructionSteps {
    display: flex;
    flex-direction: column;
}


.step:first-child {
    padding-top: 0 !important;
}

.step:last-child::after {
    display: none !important;
}

.step {
    display: flex;
    gap: 1rem;
    padding-block: 1rem;
    position: relative;

    h2 {
        color: var(--secondary-color);
        text-transform: uppercase;
        margin-bottom: 0.5rem;
    }

    .distance {
        display: flex;
        gap: 0.25rem;
        align-items: center;

        img {
            filter: var(--image-filter);
            width: 20px;
            height: 20px;
        }

        span {
            color: var(--primary-color);
        }
    }

    .distance.acc,
    .passBy {
        margin-top: 1rem;
        align-items: baseline;
    }
}

.step::after {
    content: '';
    width: 10px;
    height: 100%;
    display: block;
    position: absolute;
    left: 18px;
    z-index: -1;
    top: 12px;
    border-left: 4px dashed var(--primary-color);
}


#allCategories {
    padding-top: 0;

    .contact {
        max-width: 100% !important;
    }

    .container {

        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    }
}


section.events,
section.productGrid {
    overflow: initial;
}

section.events .container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    column-gap: 1.5rem;
    row-gap: 3rem;
    justify-items: center;

    a {
        width: 100%;
        max-width: 500px;

        .contact {
            max-width: 250px;
            align-self: flex-start;
        }

        img {
            max-height: 300px;
        }
    }
}

/* ! ALL CATEGORIES */
section.allCategories .container {
    display: flex;
    flex-direction: column;
    gap: 2rem;

    .intro {
        margin: 0;
    }
}

.categoryHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 2rem;
    flex-wrap: wrap;

    svg {
        width: 20px;
    }

    .contact {
        padding: 0.75rem 1rem !important;
        width: fit-content !important;
    }
}

/* ! APPLICATION FORM */
section.applicationForm {
    padding-bottom: 0;
}

section.applicationForm .container {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
    align-items: center;

    button[type='submit'] {
        margin-right: auto;
        width: 100%;
        max-width: 150px;
        font-weight: bold;
        font-size: 1.125rem !important;
    }

    article {
        flex: 1 1 450px;
        display: flex;
        gap: 0.25rem;
        overflow: visible !important;
        flex-direction: column;

        h4 {
            font-size: 1.25rem;
            display: flex;
            gap: 2px;
            align-items: center;
            font-weight: 500 !important;

            span {
                color: var(--darker-primary-color);
                font-weight: 600;
            }

        }

        .inputHolder {
            position: relative;
            overflow: visible !important;
            isolation: initial !important;
            width: 100%;

            input,
            select,
            textarea {
                width: 100%;
                border-radius: 0.5rem !important;
                background-color: white !important;
                padding-right: 1rem !important;
            }

            select {
                border-color: rgba(0, 0, 0, 0.125);
                padding-left: 4rem;
                cursor: pointer;
            }

            label {
                font-size: 1.25rem;
                opacity: 0.25;
            }

            label.arrow {
                left: initial !important;
                right: 1.5rem;
                top: 0.5rem;
                opacity: 1;
            }
        }
    }
}

.CV {
    flex: 1;
    min-width: 100%;

    .inputHolder {
        max-width: 100%;
        height: 200px;
        background-color: white;
        border: var(--border);
        border-radius: 0.5rem;
        cursor: pointer !important;

        input {
            cursor: pointer !important;
            opacity: 0 !important;
        }

        figure {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            justify-content: center;
            width: fit-content;
            align-items: center;
            position: absolute;
            inset: 0;
            margin: auto;
            pointer-events: none;
            z-index: 100;

            label {
                position: static;
                margin: 0;
            }
        }


        &:hover {
            .contact {
                background-color: transparent;
                color: var(--darker-primary-color);
            }
        }
    }
}


.message {
    flex: 1;
    min-width: 100%;

    .inputHolder {
        max-width: 100% !important;
        height: 200px;

        textarea {
            border-color: rgba(0, 0, 0, 0.125);
        }
    }
}


.heroRoute {
    pointer-events: none;
    width: 100%;
    height: 100%;
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 100px;
    background-color: rgba(53, 51, 51, 0.8);
    font-size: 1.5rem;
    gap: 0.25rem;
    padding-inline: 1rem;
    white-space: nowrap;
    filter: brightness(1);
    color: white;

    h2 {
        font-weight: 400;
    }

    h2.active,
    i {
        color: var(--secondary-color);
        font-weight: bold;
    }
}

.heroFeedback {
    pointer-events: none;
    background-color: rgba(53, 51, 51, 0.8);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 1.125rem;
    color: white;
    width: 100%;
    flex-grow: 1;
    height: 100%;
    padding-inline: 1rem;

    .intro {
        font-size: 1.75rem;
        color: var(--secondary-color) !important;
        margin-bottom: 0;
        text-align: center !important;
    }

    p {
        max-width: 75ch;
        text-wrap: balance;
    }

}

.introRoute {
    white-space: nowrap;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    width: fit-content;
    font-size: 1.25rem;
    font-weight: bold;
    color: var(--secondary-color);

    h4 {
        color: var(--primary-color);
        font-weight: 400;
    }

    h4.active {
        font-weight: bold;
        color: var(--secondary-color);
    }
}


.success {
    justify-content: center;
    align-items: center;
    text-align: center;
    padding-inline: 1rem;
    padding-top: 50px;
    padding-bottom: 100px;

    p {
        text-wrap: pretty;
        max-width: 95ch;
    }

    img {
        width: 100%;
        object-fit: contain;
        max-width: 150px;
    }
}



section.productFilter,
main:has(section.productFilter) {
    overflow: initial !important;
}




section.productFilter .container {
    display: grid;
    grid-template-columns: 25% 73%;
    column-gap: 2%;
    row-gap: 2rem;
    position: relative;

    article {
        height: fit-content;
    }

    .filter {
        position: sticky;
        top: 110px;
    }

    .readMore {
        color: white;
        font-weight: bold;

        &:hover {
            color: var(--primary-color);
        }
    }

    .inputHolder {
        position: relative;
        isolation: isolate;

        label {
            width: fit-content;
            height: fit-content;
            color: var(--darker-primary-color);
            position: absolute;
            z-index: 1000;
            left: 1rem;
            top: 0;
            bottom: 0;
            margin: auto;
            font-size: 1.25rem;
        }
    }
}

.filterOptions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    overflow-y: auto;
    overscroll-behavior: contain;

    .filterWrapper {
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        background-color: white;
        padding: 1.5rem;
        border-radius: 1.25rem;
        border: var(--border);
    }

    .filterFigure {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    ul {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;

        li {
            color: var(--primary-color);
            display: flex;
            font-size: 1.125rem;
            gap: 0.75rem;
        }

        input {
            accent-color: var(--darker-primary-color);
            scale: 1.75;
        }
    }

    .readMore {
        max-width: 100%;
    }
}

.searchEngine {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem;

    .inputHolder {
        flex-grow: 1;
    }

    button {
        max-width: 100%;
    }
}

#allProducts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(225px, 1fr));
    column-gap: 1.5rem;
    row-gap: 2rem;
    justify-items: center;

    article {
        width: 100% !important;
        max-width: 400px;
    }

    article img {
        max-height: 250px !important;
        height: 250px;
    }
}



#productPagination {
    margin-top: auto;
    display: flex;
    justify-content: center;
    width: 100%;
    gap: 1rem;
    flex-wrap: wrap;
    direction: rtl;
    border: var(--border);
    padding: 1rem;
    background-color: white;
    border-radius: 0.35rem;
    align-items: center;
}

#productAmount {
    color: black;
    flex-grow: 1;
    font-weight: 600;
    text-align: end;
    pointer-events: none;
}

#next,
#prev {
    font-size: 1.5rem;
    background-color: transparent;
    color: rgba(0, 0, 0, 0.5);
    transition: var(--transition);

    &:hover {
        color: var(--darker-primary-color);
    }
}

#paginationBtns {
    display: flex;
    align-items: center;
    gap: 1rem;
    justify-content: center;
}

#paginationNumbers {
    display: flex;
    gap: 1rem;
    align-items: center;
}

.paginationNumber {
    width: 40px;
    height: 40px;

    display: flex;
    justify-content: center;
    align-items: center;
    transition: var(--transition);
    border-radius: 50%;
    font-size: 0.9rem;
    background-color: rgba(0, 0, 0, 0.05);
    color: rgba(0, 0, 0, 0.75);

    &:hover {
        background-color: var(--darker-primary-color);
        color: white;
    }

}

.paginationNumber.dots {
    pointer-events: none;
}

.paginationNumber.active {
    background-color: var(--darker-primary-color);
    color: white;
}

#otherProducts {
    .intro {
        width: 100%;
        background-color: var(--primary-color);
        color: white;
        text-align: center;
        padding-block: 3rem;
    }
}

.productGrid {
    padding: 0;
    gap: 2rem;
    display: flex;
    flex-direction: column;
}

.filter .contact {
    max-width: 100%;
    width: 100%;
    min-height: 40px;

    i {
        rotate: 0deg !important;
    }
}


body:has(.orderNotice) a{
    max-width: fit-content;
}

.orderNotice ul{
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
#clearFilters {

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

    &:hover {
        background-color: transparent;
        color: var(--primary-color);
    }
}

#empty {
    font-size: 1.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 0.5rem;
    background-color: white;
    border-radius: 1rem;
    border: var(--border);
    width: 100%;
    max-width: 400px;
    margin: auto;
    padding: 2rem 1rem;
    position: relative;
    isolation: isolate;

    i {
        font-size: 5rem;
    }
}

#empty::after {
    content: '';
    width: 10px;
    height: 120px;
    background: linear-gradient(to right, black 50%, white 50%);
    position: absolute;
    top: 32px;
    left: 0;
    right: 0;
    rotate: 45deg;
    margin: auto;
    z-index: 100;
}



.labels {
    display: flex;
    justify-content: space-between;
    font-size: 1.125rem;
    margin-top: 10px;
}

.dual-slider {
    position: relative;
    height: 30px;
}

.dual-slider input[type="range"] {
    position: absolute;
    top: 10px;
    width: 100%;
    pointer-events: none;
    /* only thumbs clickable */
    background: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent !important;
}

.dual-slider input[type="range"]::-webkit-slider-thumb {
    pointer-events: auto;
    width: 20px;
    height: 20px;
    background: #d83428;
    border-radius: 50%;
    -webkit-appearance: none;
    appearance: none;
}

.dual-slider input[type="range"]::-webkit-slider-runnable-track {
    height: 6px;
    background: transparent !important;
}

.track {
    position: absolute;
    top: 16px;
    left: 0;
    width: 100%;
    height: 6px;
    background: #f3f1ea;
    border-radius: 3px;
    z-index: 1;
}

.range {
    position: absolute;
    top: 16px;
    height: 6px;
    background: #d83428;
    border-radius: 3px;
    z-index: 2;
}

.dual-slider input[type="range"]::-webkit-slider-thumb {
    position: relative;
    z-index: 3;
}

#minRange::-webkit-slider-thumb {
    z-index: 4;
    /* always above max when equal */
}

/* Default (hover) */
.dual-slider input[type="range"] {
    cursor: grab;
}

/* While dragging */
.dual-slider input[type="range"]:active {
    cursor: grabbing;
}

/* Thumb */
.dual-slider input[type="range"]::-webkit-slider-thumb {
    cursor: grab !important;
}

/* Thumb while dragging */
.dual-slider input[type="range"]:active::-webkit-slider-thumb {
    cursor: grabbing !important;
}

.dual-slider input[type="range"] {
    touch-action: none;
}

.dual-slider input[type="range"] {
    -webkit-tap-highlight-color: transparent;
}

.tags {
    display: flex;
    flex-wrap: wrap;
    /* allow wrapping */
    gap: 1rem;
    justify-content: flex-start;
    /* align left; use space-between if you want spacing */
}

.tag {
    flex: 1 1 calc(33.33% - 1rem);
    /* ideally 3 per line */
    max-height: 40px;
    min-width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid var(--primary-color);
    border-radius: 0.5rem;
    overflow: hidden;
    padding: 1rem;
    max-width: fit-content;
    font-size: 1rem;
    white-space: nowrap;
    cursor: pointer;
    transition: var(--transition);
}

.tag .tagSign {
    transition: inherit;
}

.tag:hover {
    color: white;
    background-color: var(--primary-color);
}


.tag.activeTag {
    background-color: var(--darker-primary-color);
    color: white;
    border-color: transparent;
}

.showSideFilters {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    font-size: 1.5rem;
    padding: 1rem;
    background-color: white;
    border-radius: 0.75rem;
    border: var(--border);

    i {
        font-size: 1.75rem;
        transition: var(--transition);
        cursor: pointer;

        &:hover {
            color: var(--secondary-color);
        }
    }
}

h2:has(#closeSidebarIcon) {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#closeSidebarIcon {
    background-color: transparent;
    font-size: 1.5rem;
    transition: var(--transition);

    &:hover {
        color: var(--darker-primary-color);
    }

}




#categoriesDropdownLabel {
    cursor: pointer;
    transition: var(--transition);

    i {
        transition: inherit;
    }

    &:hover {
        color: var(--secondary-color);

        i {
            rotate: 180deg;
        }
    }
}

#categoriesDropdown {
    transition: all 700ms linear(0,
            0.012 0.9%,
            0.05 2%,
            0.411 9.2%,
            0.517 11.8%,
            0.611 14.6%,
            0.694 17.7%,
            0.765 21.1%,
            0.824 24.8%,
            0.872 28.9%,
            0.91 33.4%,
            0.939 38.4%,
            0.977 50.9%,
            0.994 68.4%,
            1);
    padding-left: 1rem;
    transform-origin: bottom;
    overflow: hidden;
    interpolate-size: allow-keywords;
    height: 0;
}

#categoriesDropdownLabel.active {
    color: var(--secondary-color);

    i {
        rotate: 180deg;
    }
}

#categoriesDropdown.active {
    height: auto;
}


section#relatedProducts {
    padding-bottom: 50px;
}

section.route {
    padding-top: 150px;
    padding-bottom: 0;
}


section.highlight .container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;

    h2 {
        text-transform: uppercase;
        font-size: 2rem;
    }

    ul {
        list-style-type: disc;
        list-style-position: inside;
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    li {
        display: list-item;
    }

    p {
        text-wrap: balance;
        line-height: 2;
        font-size: 1rem;
    }

}

section.mightLike {
    padding-top: 0;
}

section.mightLike .container {
    display: flex;
    flex-direction: column;
    gap: 1rem;

    h2 {
        font-size: 2rem;
        text-transform: uppercase;
    }
}

#imagePopup {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem 5rem;
    position: fixed;
    z-index: 1000;
    inset: 0;
    transition: 0.5s all ease;
    opacity: 0;
    pointer-events: none;
    visibility: none;
    overflow-y: auto;
}

#zoomedImage {
    max-height: 800px;
    min-height: 300px;
    width: 100%;
    height: 100%;
    max-width: 800px;
    border-radius: 1rem;
    position: relative;
    overflow: hidden;
    box-shadow: var(--shadow);
    scale: 0.9;
    transition: 0.5s all ease;
    background-color: white;

    img {
        object-fit: cover;
        width: 100%;
        height: 100%;
        max-height: 800px;

    }
}

#closeBtn {
    position: absolute;
    color: white;
    display: flex;
    justify-content: center;
    z-index: 1000;
    align-items: center;
    border-bottom-left-radius: 0.5rem;
    font-size: 2rem;
    background: var(--darker-primary-color);
    padding: 0.5rem;
    top: 0;
    right: 0;
    transition: var(--transition);

    &:hover {
        background-color: red;
    }
}




#imagePopup.active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

#imagePopup.active #zoomedImage {
    scale: 1;
}

section#productPreview .container {
    display: flex;
    gap: 2rem;
    align-items: stretch;
    justify-content: center;
    height: 500px;

    article {
        flex: 1 1 400px;
        min-width: 400px;
    }

    .swiper {
        padding: 0 !important;
    }

    .swiper-wrapper {
        max-height: fit-content;
        max-width: fit-content;

    }

    /* Fix main swiper slide size */
    .myMainSwiper {
        width: 100%;
        border-radius: 2rem;
        overflow: hidden;

    }

    /* Make slides not stretch */
    .myMainSwiper .swiper-slide {
        width: 100% !important;
        height: 100% !important;
        display: flex;
        cursor: pointer;

        img {
            transition: 0.5s all ease;
        }

        &:hover {
            img {
                scale: 1.125;
                filter: brightness(1.125);
            }
        }
    }

    .myMainSwiper .swiper-slide:active {
        cursor: grabbing;
    }

    .myMainSwiper .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


    /* Fix thumbnails swiper */
    .myThumbsSwiper {
        margin-top: 2rem;
        width: 100%;
        height: 120px;

        .swiper-wrapper {
            max-width: 600px;
        }
    }

    .myThumbsSwiper .swiper-slide {
        width: 100%;
        height: 100%;
        border-radius: 0.5rem;
        overflow: hidden;
        position: relative;
        isolation: isolate;
    }

    .myThumbsSwiper .swiper-slide::after {
        content: '';
        background-color: rgba(0, 0, 0, 0.35);
        width: 100%;
        height: 100%;
        z-index: 1;
        position: absolute;
        inset: 0;
        margin: auto;
        transition: var(--transition);
        clip-path: ellipse(100% 120% at 50% 0%);
        transform: scale(1);

    }

    .myThumbsSwiper .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.mainTourImage {
    grid-column: span 3;
    position: relative;
    isolation: isolate;
}


.mainTourImage::after {
    content: '';
    width: 100%;
    height: 100%;
    inset: 0;
    margin: auto;
    pointer-events: none;
    position: absolute;
    z-index: 1;
    background: linear-gradient(to bottom, transparent 70%, rgba(0, 0, 0, 0.95));
}


.previewNavigation {
    position: absolute;
    z-index: 10;
    bottom: 1rem;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: fit-content;
    max-width: 600px;
    padding-inline: 1rem;
    font-size: 2rem;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;

    button {
        color: white;
        background-color: transparent;
        border: 0;
        font-size: 2rem;
    }
}

#zoomBtn {
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;

    &:hover {
        scale: 1.1;
        color: var(--darker-primary-color);
    }
}

/* #zoomBtn:active{
  cursor: grabbing;
} */

#productPreview {

    .thumbnails {
        display: flex;
        align-items: stretch;
        row-gap: 1rem;
        column-gap: 0.5rem;
        -webkit-mask-image: linear-gradient(to right, black 90%, transparent 100%);
        mask-image: linear-gradient(to right, black 90%, transparent 100%);


        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: 0.5s all ease;
            cursor: pointer;
        }
    }

    .thumbnailImage {
        overflow: hidden;
        height: 100%;
        border: 2px solid transparent;
        transition: var(--transition);

        &:hover {
            border-color: var(--darker-primary-color);

            img {
                scale: 1.125;
            }
        }
    }


    .thumbnailImage:hover::after {
        clip-path: ellipse(100% 0% at 50% 0) !important;
        transform: scale(1.05);
    }

    .thumbnailImage.activeThumb {
        border-color: var(--darker-primary-color);

        img {
            scale: 1.25;
            opacity: 1 !important;

        }
    }

    .thumbnailImage.activeThumb::after {
        clip-path: ellipse(100% 0% at 50% 0) !important;
        transform: scale(1.05);
    }


    .myMainSwiper .swiper-slide img {
        transition: transform 0.3s ease;
        transform-origin: center center;
    }
}


#imagePopup {
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    z-index: 1000;
    padding-inline: 5rem;
    inset: 0;
    transition: 0.5s all ease;
    opacity: 0;
    pointer-events: none;
    visibility: none;
    overflow: hidden;
    flex-direction: column;
    padding-block: 1rem;

    .swiper {
        scale: 0.9;
        transition: 0.5s all ease;
    }
}




.popupPrev {
    left: 0;

    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;

}

.popupNext {
    right: 0;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;

}

.popupMainSwiper {
    max-width: 1024px;
    width: 100%;
}


img,
.swiper-slide,
.zoomAble {
    transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform;
}


@media (hover: hover) {
    #closeBtn {

        transform: translate(50%, -100%);
    }
}

@media (orientation: portrait) {
    #zoomedImage {
        max-height: 500px;
    }

    #imagePopup {
        padding-inline: 0;
    }
}

#imagePopup:hover {
    #closeBtn {
        transform: translate(0, 0);
    }
}


#imagePopup.active {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

#imagePopup.active .swiper {
    scale: 1;
}




.myPopupThumbsWrapper {
    width: 100%;
    max-width: 600px;
    margin: 1rem auto 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.myPopupThumbsHolder {
    width: 100%;
}

.myPopupThumbs {
    /* 8 thumbnails + 7 gaps */
    overflow: hidden;
    /* prevent extra slides from being visible */
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
}

.myPopupThumbs.swiper {
    padding-top: 0.5rem !important;
    padding-bottom: 0 !important;
    max-width: 1024px;

    .swiper-wrapper {
        justify-content: center;
    }
}

.popup-thumb {
    width: calc(16 * 60px + 7 * 5px);
    border: 3px solid transparent;
    max-width: 64px;
    overflow: hidden;
    max-height: 64px;
    border-radius: 0.25rem;

    &:hover {
        img {
            scale: 1.125;
            filter: brightness(1.125);
        }
    }
}

#openAll {
    color: white;
    top: 0;
    right: 0;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    cursor: pointer;
    height: fit-content;
    border-radius: 0.5rem;
    padding: 0.25rem;
    transition: var(--transition);
    background-color: var(--secondary-color);
}

.popupThumbsHolder {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.popupMainSwiper {
    padding-top: 1rem !important;
    padding-bottom: 0 !important;
}

.myPopupThumbs .swiper-slide {
    width: 60px !important;
    height: 60px;
    cursor: pointer;
    opacity: 0.6;
    overflow: hidden;
    transition: 0.2s ease;

    img {
        object-fit: cover;
    }

    &:hover {
        img {
            scale: 1.125;
            filter: brightness(1.125);
        }
    }
}

.popup-thumb img {
    width: 100%;
    height: 100%;
    cursor: pointer;
    filter: brightness(0.9);
    transition: 0.5s all ease;
    object-fit: cover;
}

.popup-thumb.active-thumb {
    opacity: 1;
    border-color: var(--darker-primary-color);

    img {
        scale: 1.25;
        filter: brightness(1.25);
    }
}

.popupThumbNav {
    background: rgba(255, 255, 255, 0.8);
    border: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin: 0 5px;
    z-index: 10;
}

.popupThumbNav:hover {
    background: white;
}


/* Counters */
.counters {
    background-color: #f9f9f9;
    border: var(--border);
    padding: 0.25rem;
    font-size: 1rem;
    border-radius: 6px;
    width: fit-content;
    height: fit-content;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}

/* Increase/Decrease buttons */
.increase,
.decrease {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border: none;
    font-weight: bold;
    height: 30px;
    font-size: 1rem;
    border-radius: inherit;
    transition: 0.3s all ease;
    cursor: pointer;
    background-color: transparent;
    color: var(--secondary-color);
}

.increase:hover,
.decrease:hover {
    background-color: var(--secondary-color);
    color: white;
}

.decrease {
    border-right: 1px solid #ccc;
    border-bottom: none !important;
}

.increase {
    border-bottom: none !important;
    border-left: 1px solid #ccc;
}

.amount {
    padding: 0 0.6rem;
    color: #333;
    user-select: none;
    font-weight: 600;
}

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

.productPreviewDescription {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1rem;

    .contact {
        width: 100%;
        font-weight: bold;

        svg {
            width: 20px;
        }
    }

    .productPrice {
        font-size: 1.25rem;
    }

    .productName {
        color: var(--secondary-color);
        font-size: 2rem;
        line-height: 1;
        text-transform: uppercase;
    }
}

.aptAndSuiteField,
.addressField {
    width: 100% !important;
    flex: 1 1 100% !important;

    .inputHolder {
        max-width: 100%;
    }
}

/* ! CHECKOUT CREDIT */
section#orderDetails {
    padding-top: 0;

    select {
        padding-left: 2rem !important;
    }

    .arrow {
        top: 2rem;
    }

    .container {
        border-radius: 1rem;
        display: flex;
        flex-direction: column;
        gap: 2rem;
        overflow: hidden;
        padding: 50px 2.5rem;
        justify-content: center;
        align-items: center;

        >img {
            width: 100%;
            object-fit: contain;
            max-width: 250px;
        }

        .contact {
            min-height: 50px;
            width: 100%;
            max-width: 300px;
            font-weight: bold;
            margin: auto;
            font-size: 1.125rem !important;

            svg {
                margin-right: 0.5rem;
                width: 30px;
            }

            &:hover {
                color: var(--secondary-color);
            }
        }
    }
}

/* Disabled fields styling */
.inputHolder select:disabled,
.inputHolder input:read-only:not([type="file"]):not(#date),
.inputHolder input:disabled {
    filter: grayscale(100%);
    opacity: 0.6;
    user-select: none;
    cursor: not-allowed !important;
    position: relative;
}

input[type='radio']:disabled {
    cursor: not-allowed !important;
    opacity: 1 !important;
}


/* Tooltip */

/* Tooltip container */
.counters.disabledTooltip {
    position: relative;
}

/* Tooltip text */
.counters.disabledTooltip::after {
    content: "Product Is Not In Cart!";
    position: absolute;
    top: -35px;
    right: 0;
    background: var(--darker-primary-color);
    color: #fff;
    padding: 6px 10px;
    font-size: 12px;
    border-radius: 6px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 10;
}

/* Tooltip arrow */
.counters.disabledTooltip::before {
    content: "";
    position: absolute;
    top: -10px;
    left: 15px;
    border-width: 6px;
    border-style: solid;
    border-color: var(--darker-primary-color) transparent transparent transparent;
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 10;
}

/* Show tooltip on hover */
.counters.disabledTooltip:hover::after,
.counters.disabledTooltip:hover::before {
    opacity: 1;
}


.formInputs {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}

.innerSelects {
    width: 100%;
    gap: 1rem !important;
    justify-content: space-between;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex-direction: row !important;

    .inputHolder {
        flex: 1 1 250px;
    }
}


#CVCplaceholder {
    position: absolute;
    left: 2rem;
    top: 2.6rem;
    z-index: 1000;
    user-select: none;
    font-size: 1.25rem;
    text-transform: uppercase;
    color: var(--primary-color);
    pointer-events: none;
}

input#CVC {
    color: transparent;
    caret-color: var(--primary-color);
    user-select: none;
}

.robo {
    transform-style: preserve-3d;
    transition:
        transform 0.1s,
        border 0.3s,
        box-shadow 0.3s ease-in-out;
    will-change: transform, scale;
}

.robo-wrapper {
    perspective: 600px;
    width: 100%;
    max-width: 400px;
}


#creditCardModel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    background-color: white;
    border: var(--border);
    border-radius: 1rem;
    user-select: none;
    width: 100%;
    min-width: fit-content;
    max-width: 450px;
    color: #516778;
    padding: 2rem;
}

#chip {
    width: 50px;
    height: 50px;
    object-fit: contain;
    margin-left: auto;
}

#creditImage {
    width: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;

    img {
        display: none;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
}

#creditImage img.activeCreditCard {
    display: block;
}

#invalidCardText {
    color: #c31b1b;
    font-size: 14px;
    font-weight: bold;
    display: block;
}

#creditImage img {
    display: none;
    /* hidden unless active */
}

#creditImage img.activeCreditCard {
    display: inline-block;
}

#invalidCardText {
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    margin-right: 8px;
}

#creditSerialNumber {
    direction: ltr;
    display: flex;
    width: 100%;
    font-size: 1.25rem;
    justify-content: space-between;

    span {
        font-family: "Roboto Mono", monospace;
    }
}

.creditCardInfo {
    display: flex;
    justify-content: space-between;
    direction: ltr;
    text-wrap: pretty;
}

#creditName {
    line-height: 1.7;
}

.popupMainSwiper {
    border-radius: 0.5rem;
    overflow: hidden;
    padding: 0 !important;
    height: 100%;

    .swiper-slide {
        cursor: grab;
    }

    .swiper-slide:active {
        cursor: grabbing;
    }
}

.popupPrev,
.popupNext {
    height: 90px;
    background-color: var(--primary-color);
    color: white;
    font-size: 1.5rem;
    text-align: center;
    padding: 0.5rem;
    position: absolute;
    z-index: 1000;
    width: fit-content;
    top: 0px;
    bottom: 0;
    margin: auto;
    transition: var(--transition);

    &:hover {
        background-color: var(--darker-primary-color);
    }
}

.popupPrev {
    left: 0;
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}

.popupNext {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
    right: 0;
}

section#cartCrud {
    display: flex;
    flex-direction: column;

    .contact {
        margin: auto;
        font-weight: bold;

        a {

            font-size: 1.125rem;
        }
    }
}

section#cartCrud .container {
    display: flex;
    flex-direction: column;
}

.cartCrudLabels,
.cartItem {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    padding: 1rem;
    font-size: 1.25rem;
    gap: 2rem;
    align-items: center;
    border-bottom: var(--border);
}

.cartItem:not(:last-of-type) {
    border-bottom: var(--border);
}


#productCrudSubtotal,
.itemSubtotal {
    text-align: end;
    display: flex;
    justify-content: end;
    font-weight: bold;
    align-items: center;
}

#productCrudLabel,
.itemProfile {
    text-align: center;
    grid-column: span 3;
}

.itemPrice {
    display: flex;
    font-weight: bold;
    align-items: center;
}

.cartCrudTotal {
    padding-block: 1rem;
    border-top: var(--border);
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 0.75rem;
    font-weight: bold;
    font-size: 1.35rem !important;
    text-align: end;

    p {
        color: var(--secondary-color);
        font-size: 1.35rem !important;
    }
}

.itemProfile {
    display: flex;
    gap: 2rem;
    align-items: center;

    img {
        width: 200px;
        height: 200px;
        object-fit: contain;
        aspect-ratio: 1/1;
        border-radius: 1rem;
    }

    .itemDesc {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        justify-content: start;
        text-align: start;

        .productName {
            text-transform: uppercase;
            font-size: 1.25rem;
            color: var(--secondary-color);
        }

        .contact {
            margin: 0 !important;
        }
    }
}

.checkoutForm {
    padding-top: 25px;

    a {
        text-decoration: underline;
        color: var(--darker-primary-color);
    }

    select {
        padding-right: 1rem !important;
    }
}

.checkoutForm .container {
    .applicationForm {
        overflow: initial !important;
        display: flex;
        padding-top: 25px;
        flex-direction: column;
        gap: 1.5rem;

        .container {
            width: 100%;
            padding: 0;

            article {
                flex: 1 1 300px;
            }
        }
    }
}

.checkoutForm figure {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}



section:has(#downloadPDF),
section:has(#placeOrderBtn) {
    padding-top: 25px;
}

#paymentMethodHolder {
    display: flex;
    justify-content: start;
    align-items: center;
    padding-bottom: 25px;
    flex-wrap: wrap;
    gap: 1rem !important;
    padding-left: 2px;

    input {
        scale: 1.25;
        accent-color: var(--darker-primary-color);
    }
}

section#shippingAddressCheck .container {
    align-items: baseline !important;
    flex-direction: row;
}

section#termsAndConditionsAgreement,
section#shippingAddressCheck {
    padding-top: 0;

    .container {
        justify-content: start;
        padding-block: 1rem;
        gap: 0 !important;
        align-items: baseline;
        padding-left: 0.25rem;

        label {
            font-size: 1.125rem;
            padding-left: 0.5rem;
            cursor: pointer;
            transition: var(--transition);

            &:hover {
                text-decoration: underline;
                color: var(--secondary-color);
            }
        }

        input {
            scale: 1.125;
            width: fit-content;
            accent-color: var(--secondary-color);
        }
    }
}

.checkoutCart {
    background-color: white;
    padding: 1.5rem;
    position: sticky;
    top: 150px;
    border-radius: 1.25rem;
    height: fit-content;
    min-height: min-content;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    max-height: min(85vh, 720px);
    overflow-y: auto;
    overflow-x: auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    border: var(--border);
}

.checkoutCart::-webkit-scrollbar-track {
    margin-block: 2rem;
    border-radius: 1rem;
}

.checkoutCart::-webkit-scrollbar-thumb {
    border-radius: 1rem;
}

#checkOutCartItemsHolder {
    flex: 1 1 auto;
    min-height: 0;
    padding-block: 2rem;
    border-bottom: var(--border);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    overflow-y: auto;
    max-height: 360px;
}

.checkoutCart{
    padding-inline: 0;
}
.checkoutCart h2,#checkOutCartItemsHolder,
#couponInputHolder,.checkoutCalcLabel{
    padding-inline: 1.5rem;
}

#checkoutGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5%;
}

.checkoutCartItem {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
    font-weight: bold;
    user-select: none;
    align-items: center;

    img {
        width: 75px;
        height: 75px;
        border-radius: 1rem;
    }

    .productName {
        font-size: 1.125rem;
        grid-column: span 2;
    }
}

.checkoutCartItemAdjust {
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: center;

    .counters {
        scale: 0.8;
        margin-bottom: 0.25rem;
        transform-origin: center right;
    }
}

.removeItem {
    background-color: transparent;
    color: var(--secondary-color);
    font-size: 1.25rem;
    transition: var(--transition);

    &:hover {
        scale: 1.1;
        color: var(--darker-primary-color);
    }
}

#checkoutCalc {
    margin-top: 1rem;

    p {
        font-weight: bold;
    }

    h4 {
        font-weight: 400;
    }
}

#shippingMethodSection.checkoutCalcLabel{
    white-space: normal !important;
}
.checkoutCalcLabel {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    white-space: nowrap;
    align-items: center;
    font-size: 1.125rem !important;

    p {
        font-size: 1.125rem !important;
    }
}

#checkoutTotal {
    margin-top: 1.5rem;

    h4 {
        font-weight: bold;
    }

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

#customerInfo {
    padding-top: 0;
}

main:has(#placeOrder) {
    overflow: initial !important;
}

#placeOrder {
    padding-top: 50px !important;
    overflow: initial !important;

    .contact {
        width: 100%;
        max-width: 250px;
    }
}

@media (hover: none) {

    /* .checkoutCart::-webkit-scrollbar,
  #checkOutCartItemsHolder::-webkit-scrollbar{
    width: 0px;
} */
    ::-webkit-scrollbar {
        width: 0px;
        height: 0px;
    }
}

.checkoutCart>h2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#closeCart {
    color: var(--secondary-color);
    font-size: 1.5rem;
    display: none;
    background-color: transparent;

    &:hover {
        scale: 1.1;
        color: var(--darker-primary-color);
    }
}

#mobileCartShower {
    position: fixed;
    bottom: 0;
    background-color: var(--primary-color);
    width: 100%;
    left: 0;
    right: 0;
    margin: auto;
    display: none;
    z-index: 100;
    height: fit-content;
    border-top: 3px solid var(--navGray);

    .container {
        width: 100%;
        justify-content: space-between;
        display: flex;
        align-items: center;
        gap: 2rem;
        padding-block: 1rem;
        color: white;
        font-weight: bold;
        font-size: 1.25rem;

        .contact {
            font-weight: bold;

            i {
                rotate: 0deg !important;
            }
        }

    }
}

#emptyCartState {
    h6 {
        font-size: 1.5rem;
        text-align: center;
    }
}

.checkoutForm .applicationForm {
    z-index: 0;
}

#shippingAddress,
#billingAddress {
    z-index: 10 !important;

}

.zip-suggestions:empty,
.city-suggestions:empty {
    display: none !important;
}

/* base style */
.zip-suggestions,
.city-suggestions {
    margin-top: 4px;
    list-style: none;
    padding: 0;
    background: #fff;
    border: 1px solid #ccc;
    display: flex;
    flex-direction: column;
    max-height: 180px;
    overflow-y: auto;
    position: absolute;
    width: 100%;
    top: 100%;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    user-select: none;
    z-index: 9999;
    /* FLOAT ABOVE EVERYTHING */
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}

.zip-suggestions::-webkit-scrollbar-track,
.city-suggestions::-webkit-scrollbar-track {
    margin-block: 0.5rem;
    border-radius: 1rem;
}

.zip-suggestions::-webkit-scrollbar-thumb,
.city-suggestions::-webkit-scrollbar-thumb {
    border-radius: 1rem;
}

.zip-suggestions li,
.city-suggestions li {
    padding: 8px 10px;
    cursor: pointer;
    border-bottom: 1px solid #eee;
}

.zip-suggestions li:last-child,
.city-suggestions li:last-child {
    border-bottom: none;
}

.zip-suggestions li:hover,
.city-suggestions li:hover {
    background: #f7f7f7;
}

/* text formatting */
.main-line {
    font-size: 14px;
    font-weight: 600;
}

.sub-line {
    font-size: 12px;
    color: #555;
    margin-top: 2px;
}

.no-results {
    padding: 8px 10px;
    background: #fff3f3;
    border-left: 3px solid var(--darker-primary-color);
    font-weight: 600;
}

.no-results .red {
    color: var(--darker-primary-color);
}



section.FAQ {
    padding-bottom: 0;

    .container {
        display: flex;
        flex-direction: column;
        gap: 1rem;

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

            .FAQtag,
            .FAQanswer {
                padding: 1.75rem;
                border-radius: 0.35rem;
                background-color: white;
                border: var(--border);
            }

            .FAQtag {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 1rem;
                white-space: nowrap;
            }

            .FAQhead {
                display: flex;
                align-items: center;
                gap: 0.5rem;
                transition: var(--transition);
                font-size: 1.25rem;
                line-height: 1.5;
                font-weight: bold;
                display: -webkit-box;
                -webkit-line-clamp: 1;
                line-clamp: 1;
                -webkit-box-orient: vertical;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            svg {
                width: 24px;
            }
        }
    }

    .FAQtag {
        transition: var(--transition);
        cursor: pointer;

        &:hover {
            .FAQhead {
                color: var(--secondary-color);
            }

            .FAQarrow {
                rotate: 90deg;
                color: var(--secondary-color);
            }
        }
    }
}

.FAQarrow {
    font-size: 1.25rem;
    transition: var(--transition);
}

#blogPopupMainSwiper img,
.mainTourImage img {
    object-fit: cover;
}

.FAQanswer {
    line-height: 1.5;
    font-weight: 600;
    font-size: 1.125rem;
    transition: all 700ms linear(0,
            0.012 0.9%,
            0.05 2%,
            0.411 9.2%,
            0.517 11.8%,
            0.611 14.6%,
            0.694 17.7%,
            0.765 21.1%,
            0.824 24.8%,
            0.872 28.9%,
            0.91 33.4%,
            0.939 38.4%,
            0.977 50.9%,
            0.994 68.4%,
            1);
    transform-origin: bottom;
    overflow: hidden;
    interpolate-size: allow-keywords;
    height: 0;
    margin-top: 0;
    padding: 0 !important;
    border-color: transparent !important;
}


.FAQtag.activeFAQ .FAQhead {
    color: var(--secondary-color) !important;
    line-clamp: initial !important;
    -webkit-line-clamp: initial !important;
    white-space: initial !important;


}

.FAQtag.activeFAQ .FAQarrow {
    rotate: 90deg;
    color: var(--secondary-color);
}

.FAQtag.activeFAQ+.FAQanswer {
    height: auto !important;
    border-color: rgba(0, 0, 0, 0.125) !important;
    padding: 1.75rem !important;
    margin-top: 1rem !important;
}


/* ! SIGN UP  */

section.registration {
    padding-block: 75px;
    padding-inline: 1rem;

    .container {
        display: flex;
        background-color: white;
        border-radius: 1rem;
        padding: 2.5rem;
        border: var(--border);
        max-width: 768px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 1.5rem;

        .logo {
            width: 125px;
        }

        span {
            font-size: 1.125rem;
            font-weight: bold;
            display: flex;
            flex-wrap: wrap;
            gap: 0.25rem;
            justify-content: center;
            align-items: center;

            a {
                color: var(--secondary-color);
                white-space: nowrap;
                width: fit-content;

                &:hover {
                    text-decoration: underline;
                }
            }
        }

        form {
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            align-items: center;
            border-bottom: var(--border);
            padding-bottom: 1.5rem;

            article {
                flex: 1 1 300px !important;
            }
        }

        .contact {
            flex: 1 1 100% !important;
            margin: auto;
            padding-block: 0.75rem;
            width: 100%;
            max-width: 250px !important;
        }
    }

    .passwordField {
        flex: 1 1 100% !important;
        min-width: 100%;

        .inputHolder {
            max-width: 100%;
        }

        a {
            font-weight: 600;
            color: var(--secondary-color);
            width: fit-content;

            &:hover {
                text-decoration: underline;
            }
        }
    }
}

#profileOptions {
    padding-bottom: 0;
}

#profileOptions .container {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 1rem;

    a {
        padding: 1rem 1.5rem;
        color: black;
        font-weight: 600;
        font-size: 1.125rem;
        border-radius: 0.35rem;
        background-color: white;
        transition: var(--transition);
        border: var(--border);

        &:hover {
            background-color: var(--secondary-color);
            color: white;
            border-color: transparent;
        }
    }

    a.active {
        background-color: var(--secondary-color);
        color: white;
        border-color: transparent;
    }
}

.accountData .container {
    .contact {
        flex: 1 1 100% !important;
        padding-block: 0.75rem;
        width: 100%;
        max-width: 250px !important;
    }

    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: start !important;

    form {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        gap: 2rem;

        article {
            flex: 1 1 calc(50% - 2rem) !important;
        }

    }

    .contact {
        font-size: 1.125rem !important;
    }

    .intro {
        margin: 0;
    }

    .innerInputs article {
        flex: 1 1 calc(33.33% - 4rem) !important;
        min-width: 300px;
    }
}

input[type='password'] {
    font-size: 2rem !important;
    height: 55.2px !important;
}

input[type='password']::placeholder {
    font-size: 1.125rem !important;
}

.inputHolder:has(input:read-only:not([type="file"]):not(#date)),
.inputHolder:has(select:disabled),
.inputHolder:has(input:disabled) {
    label {
        pointer-events: none;
    }
}

#billingAddress {
    padding-bottom: 0px !important;
}

.accountData#shippingAddress,
#billingAddress {
    padding-bottom: 50px;

    .aptAndSuiteField {
        min-width: 100%;
    }
}

#forgotPasswordEmailForm {
    width: 100%;

    article {
        min-width: 100%;
    }
}

.formFooter {
    display: flex;
    align-items: center;
    white-space: nowrap;
    justify-content: space-between;
    width: 100%;
    gap: 2rem;

    .goBack {
        font-size: 2rem;
        color: var(--secondary-color);
        transition: var(--transition);

        &:hover {
            translate: 4px;
            scale: 1.05;
            color: var(--darker-primary-color);
        }
    }
}


/* Header */
#termsPopup {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(-20px);
    background: #d73a3a;
    color: #fff;
    padding: 14px 22px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease, transform .3s ease;
    z-index: 9999;
    max-width: 90%;
}

#termsPopup.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

#termsPopup a {
    color: #fff;
    text-decoration: underline;
    font-weight: 600;
}

.policyLink {
    color: #000;
    text-decoration: underline;
    font-weight: 600;
}



.otp-title {
    font-size: 1.8rem;
    font-weight: 700;
}

/* Intro */

.otp-intro {
    margin-bottom: 2rem;
}

.otp-intro h3 {
    font-size: 1.6rem;
    margin-bottom: 0.25rem;
}

.otp-intro p {
    text-wrap: pretty;
    line-height: 1.6;
    color: #666;
}

/* OTP Box */
.otp-box {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.otp-box-header {
    max-width: 400px;
    display: flex;
    width: 100%;
    margin: auto;
    justify-content: space-between;
    align-items: center;
    font-weight: 700;
}

.resend-btn {

    background: none;
    border: none;
    font-weight: bold;
    font-size: 1.125rem;
    color: var(--secondary-color);
    cursor: pointer;
}

/* Inputs */
.otp-inputs {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.otp-inputs input {
    width: 4rem;
    height: 4rem;
    border-radius: 0.35rem;
    border: 2px solid rgba(0, 0, 0, 0.125);
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
    transition: 0.3s;
    outline: none;
}

.otp-inputs input:focus,
.otp-inputs input:hover {
    border-color: var(--primary-color);
    transform: scale(1.05);
}

/* Timer */
.otp-timer {
    display: flex;
    justify-content: space-between;
    font-size: 1.1rem;
    max-width: 400px;
    margin: auto;
    width: 100%;
}

#timer {
    color: var(--secondary-color);
}

/* Button */
.otp-action {
    margin-top: auto;
}

.main-btn {
    width: 100%;
    padding: 1rem;
    font-size: 1.2rem;
    font-weight: 700;
    border-radius: 999px;
    border: none;
    background: var(--primary);
    color: white;
    cursor: pointer;
}

#orderDate {
    font-weight: bold;
    color: var(--secondary-color);
    font-size: 1.25rem;
}

section.container:has(#paginationBtns) {
    padding-top: 0;
}

#allOrdersHolder,
#allNotificationsHolder {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.allOrders .container {
    display: flex;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.orderGridLabels,
article.order {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    border-radius: 0.35rem;
    overflow: hidden;
    width: 100%;
    font-weight: 600;
    text-align: center;
    padding: 1.25rem 1.5rem;
    justify-content: center;
    align-items: center;
    min-height: 75px;

    span {
        justify-content: center;
        align-items: center;
        display: flex;
        text-align: center;
    }

    .notificationDate {
        color: var(--secondary-color);
        font-weight: bold;
        font-size: 1.125rem;
    }
}

.orderGridLabels {
    background-color: var(--secondary-color);
    color: white;
}

article.order {
    background-color: white;
    border: var(--border);
}


#allNotificationsHolder article.order {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 2rem;

    h2 {
        font-size: 1.125rem;
        text-align: start;
        gap: 0.5rem;

        span {
            display: inline-flex;
            color: var(--secondary-color);
        }
    }
}

#searchResultName {
    color: var(--primary-color);
    text-transform: uppercase;
}

#searchResultsNumber {
    font-weight: 600;
    color: var(--secondary-color);
}


#passwordChangerPopup,
#creditCardPopup,
#searchEnginePopup {
    position: fixed;
    z-index: 10000;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
    backdrop-filter: blur(4px);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transition: var(--transition);
}

#passwordChangerPopup.show_popup,
#creditCardPopup.show_popup,
#searchEnginePopup.show_popup {
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;

    form#passwordChangerForm,
    form#personalDetails {
        scale: 1 !important;
    }
}

#creditCardDetails {
    padding-top: 0;
    display: none;
}

#creditCardDetails.isCreditCard {
    display: flex;
}

form#personalDetails {
    scale: 0.9;
    transition: 0.5s all ease;
}

form#passwordChangerForm {
    background-color: white;
    width: 500px;
    border-radius: 1rem;
    transition: 0.5s all ease;
    border: var(--border);
    max-height: 400px;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    flex-direction: column;
    position: relative;
    isolation: isolate;
    scale: 0.9;

    article {
        flex: 0 !important;
        height: fit-content !important;
        width: 100%;
    }

    .contact {
        margin: 0;
    }

    img {
        width: 100%;
        height: fit-content !important;
        max-width: 100px !important;
        object-fit: contain;
    }
}

#searchEnginePopup {
    z-index: 100 !important;
    padding: 0;
    align-items: start;
}

#searchEnginePopup.show_popup {
    form#searchEngineForm {
        transform: translateY(130px);
    }
}

form#searchEngineForm {
    background-color: var(--primary-color);
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    flex-wrap: nowrap !important;
    padding: 1rem;
    transition: 0.5s all ease;
    white-space: nowrap;
    transform: translateY(-100%);
    height: 100px;
    margin: 0;
    border-bottom: 3px solid var(--navGray);

    #searchSubmit {
        font-size: 1.5rem !important;
        width: fit-content;
        margin: 0;
        background-color: transparent;
        color: var(--secondary-color);
    }

    input {
        padding-left: 1rem !important;
    }

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

input#searchEngine {
    padding-right: 1rem !important;
}

#closePasswordChanger,
#closeSearcher {
    position: absolute;
    top: 0.5rem;
    background-color: transparent;
    font-size: 1.5rem;
    right: 0.5rem;
    z-index: 100;
    color: var(--secondary-color);
    transition: var(--transition);

    &:hover {
        color: var(--darker-primary-color);
    }
}

#orderDetails {
    max-height: 640px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

#creditCardPopup #orderDetails .container {
    background-color: white;
}

#creditCardModel,
#creditCardPopup input,
#creditCardPopup select {
    background-color: whitesmoke !important;
}

#closeCreditCard {
    position: absolute;
    top: 0;
    right: 0;
    background-color: var(--secondary-color);
    color: white;
    border-bottom-left-radius: 0.5rem;
    padding: 0.5rem;
    font-size: 1.5rem;
    z-index: 100;
    transition: var(--transition);

    &:hover {
        background-color: var(--darker-primary-color);
    }
}

#receiptPDF {
    display: block !important;
    opacity: 1 !important;
    transform: none !important;
}

.checkoutCartItem {
    page-break-inside: avoid;
}


#sideCartOverlay {
    background-color: rgba(0, 0, 0, .5);
    position: fixed;
    width: 100%;
    height: 100%;
    transition: 0.3s all ease;
    inset: 0;
    backdrop-filter: blur(4px);
    margin: auto;
    z-index: 10000;
    display: flex;
    justify-content: end;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;

}

#sideCartOverlay.show_sideCart {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    #sideCart {
        transform: none;
    }
}

#sideCart {
    padding: 1.5rem 0;
    background-color: white;
    flex: 1;
    height: 100%;
    width: 100%;
    transform: translateX(100%);
    transition: 0.35s all ease;
    max-width: 450px;
    display: flex;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    flex-direction: column;
    gap: 2rem;
        overflow-y: auto;
    max-height: 100vh;


    #checkoutCalc {
        margin-top: auto;
    }

    .contact {
        margin: auto;
    }
}

#sideCartItemsHolder {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1;
    padding-bottom: 1.5rem;
    border-bottom: var(--border);
}


.sideCartContainer {
    height: 100%;
    flex: 1;
    display: flex;
    gap: 1.5rem;
    flex-direction: column;
    overflow-y: auto;
    padding-inline: 1rem;
}

/* Ensure fullSideCart takes no space when hidden */
#fullSideCart[style*="display: none"],
#fullSideCart[style*="display:none"] {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    flex: none !important;
}

/* Ensure emptySideCart displays properly when visible */
#emptySideCart {
    display: flex;
}

#emptySideCart[style*="display: none"],
#emptySideCart[style*="display:none"] {
    display: none !important;
}

#emptySideCart #empty {
    border: none !important;

    h6 {
        font-size: 2rem;
    }
}

.product{
        height: auto;
    display: flex;
    flex-direction: column;
    width: 100%;
    .contact{
        /* margin-top: auto; */
    }
    .product-link{
        height:auto;
    }
    .productPrice{
        margin-bottom: 0.5rem;
        margin-top: auto;
    }
    .productDesc,.product-link{
        flex-grow: 1;
    }
    .productName{
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        min-height: fit-content;
    }
}

.sideCartHead {
    display: flex;
    justify-content: space-between;
    align-items: center;
    white-space: nowrap;
    padding-inline: 1rem;
    gap: 2rem;

    #closeSideCart {
        background-color: transparent;
        color: var(--secondary-color);
        transition: var(--transition);
        font-size: 1.5rem;

        &:hover {
            color: var(--darker-primary-color);
            scale: 1.05;
        }
    }
}

/* ?MEDIA QUERIES */
/* ! WIDTH */
@media (min-width: 1024px) {
    #side_menu {
        display: none;
    }

    .showSideFilters,
    #closeSidebarIcon {
        display: none;
    }
}

@media (max-width: 1280px) {
    .applicationForm .container article {
        flex: 1 1 300px !important;
    }

    section.productFilter .container {
        grid-template-columns: 30% 68%;
    }

    #checkoutGrid {
        width: 100%;
        grid-template-columns: 1fr 1fr;

    }

    #placeOrder {
        .container {
            width: 100%;
        }
    }
}


@media (max-width: 1024px) {
    .checkoutCartItem .productName {
        font-size: 1rem !important;
    }


    #checkoutGrid {
        width: 100%;
        grid-template-columns: 1fr 1fr;

    }


    section#cartCrud .container {
        width: 100%;
    }

    .cartCrudLabels,
    .cartItem {
        grid-template-columns: repeat(5, 1fr);
    }

    #productCrudLabel,
    .itemProfile {
        grid-column: span 2;
    }

    .itemProfile {
        gap: 1rem !important;

        img {
            width: 100px;
            height: 100px;
        }

        .productName {
            font-size: 1rem !important;
        }

        .contact {
            scale: 0.8;
            transform-origin: top left;
        }
    }

    section#productPreview .container {
        flex-direction: column;
        height: auto;
        gap: 1rem;
    }

    .myThumbsSwiper {
        margin-top: 0rem !important;
    }

    .filter {
        position: fixed !important;
        width: 100%;
        z-index: 1000;
        transition: var(--transition);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        height: 100% !important;
        inset: 0;
        top: 0 !important;
        background-color: rgba(0, 0, 0, 0.5);
        backdrop-filter: blur(4px);
        margin: auto;
    }

    .filterOptions,
    .filterWrapper {
        transition: 0.5s all ease;
        height: 100%;
        max-width: 400px;
        border-radius: 0 !important;
        width: 100%;
    }

    .filterOptions {
        transform: translateX(-100%);
    }

    .filter.showSidebar {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        .filterOptions {
            transform: none;
        }
    }

    .productGrid {
        isolation: initial !important;
    }

    .applicationForm .container,
    .innerInputs {
        gap: 1.5rem 1rem !important;
    }

    *[data-aos-delay] {
        transition-delay: 0s !important;
    }

    #navigation_dropdown {
        display: flex;
    }


    nav ul {
        gap: 0.5rem;
    }

    .whoWe .container {
        column-gap: 2rem !important;

        article {
            p {
                font-size: 1rem;
            }
        }
    }


    nav ul {
        flex-direction: row-reverse;
    }

    #categoryProducts .container {
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    }

    .newsletter .container {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
    }


    .heroSwiperSlide.right {
        transform: translateX(300px) translateY(100px) scale(0.6);
    }

    .heroSwiperSlide.left {
        transform: translateX(-300px) translateY(100px) scale(0.6);
    }


    #allTours,
    .mightLikeProducts {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));

    }

    #swiperNext {
        right: 100px;
    }

    #swiperPrev {
        left: 100px;
    }

    .main_Links {
        gap: 0.75rem !important;

        li {
            font-size: 0.9rem !important;
        }
    }

    .dropDown {
        font-size: 0.9rem;

        a {
            font-size: 0.9rem;
        }

        img {
            width: 80px;
        }
    }

    a:has(.logo) {
        width: fit-content;
    }

    .productFilter .container {
        grid-template-columns: 1fr !important;
    }

    #productPreview .container {
        grid-template-columns: 1fr !important;
        grid-template-rows: repeat(3, 1fr);
    }

    .thumbnails {
        flex-direction: row;
    }

    .mainTourImage {
        grid-row: span 2;
        grid-column: span 1 !important;
    }

    .tourPreview .container {
        grid-template-columns: 1fr !important;
        grid-template-rows: repeat(3, 1fr);
        column-gap: 0 !important;
        row-gap: 0.5rem !important;
    }

    .orderGridLabels,
    article.order {
        font-size: 0.9rem;

        .contact {
            font-size: 0.75rem !important;
        }
    }

}

@media (max-width: 768px) {
    #checkoutCalc{
        margin-top: auto !important;
    }
    #closeCart {
        display: block !important;
    }

    #mobileCartShower {
        display: flex !important;

        .contact {
            max-width: 200px;
        }
    }

    #checkoutGrid {
        grid-template-columns: 1fr !important;
    }

    .checkoutCartItem {
        grid-template-columns: repeat(3, 1fr);
    }

    .checkoutCartItem .productName {
        grid-column: span 1;
    }

    .checkoutCart {
        position: fixed;
        inset: 0;
        transition: 0.35s all ease !important;
        transform: translateY(100%) !important;
        opacity: 0 !important;
        max-height: 100%;
        min-height: 100%;
        padding-inline: 1rem;
        width: 100%;
        pointer-events: none;
        visibility: visible;
        z-index: 1000;
        border-radius: 0;
    }

    .checkoutCart.showCart {
        transform: none !important;
        opacity: 1 !important;

    }
    #checkOutCartItemsHolder{
        max-height: 560px !important;
    }



    .cartCrudLabels,
    .cartItem {
        font-size: 1rem !important;

        p {
            font-size: 1rem !important;
        }
    }

    .itemProfile {
        gap: 0.5rem !important;

        .productName {
            font-size: 0.9rem !important;
        }
    }

    .itemDesc {
        gap: 0.5rem !important;
    }

    .itemPrice {
        justify-content: center;
    }

    #asideOverlay {
        display: flex !important;
    }

    nav>.container .main_Links,
    #dropdownPopup {
        display: none;
    }

    #menu,
    #side_menu {
        display: block;
    }

    nav .container {
        width: 95%;
    }

    .circleOverlay.topRight {
        display: none;
    }

    .circleOverlay.topLeft {
        left: initial !important;
        right: -25%;
    }

    .whoWe .container {
        flex-direction: column;
    }


    .whoWe .container article {
        justify-content: center;
        align-items: center;
        text-align: center;

        h2 {
            font-size: 2rem !important;
        }

        p {
            font-size: 0.9rem;
        }
    }


    #imagePopup {
        padding-inline: 1rem;
    }

    #categoryProducts article {
        .contact {
            font-size: 0.9rem;
            max-width: 90% !important;
        }
    }

    section#orderDetails .container {
        padding-inline: 1rem !important;
    }


    .categories .productName {
        font-size: 1rem !important;
    }

    .categories .productPrice {
        font-size: 1rem !important;
    }

    .heroRoute {
        font-size: 1.25rem;
    }

    .accountData .container {

        article {
            min-width: 100%;
        }
    }

    section.container {
        width: 100%;
    }

    #profileOrders {

        .orderGridLabels,
        article.order {
            padding-inline: 1rem !important;
            font-size: 0.85rem;
            margin: auto;
            white-space: nowrap;
            min-width: 600px;
        }

        .allOrders .container {
            overflow-x: auto;
        }
    }
}

@media (max-width: 640px) {

    .itemProfile {
        flex-direction: column;

        img {
            width: 75px;
            height: 75px;
            border-radius: 0.5rem;
        }

        .itemDesc {
            text-align: center;
            justify-content: center;
            align-items: center;

            .contact {
                transform-origin: top center;
            }
        }
    }

    main.innerPage header {
        min-height: 60vh !important;
    }

    .newsletter .container {
        padding-inline: 1rem !important;

        input {
            padding-right: 1rem !important;
        }

        h2 {
            font-size: 1.5rem !important;
        }
    }

    .newsletter .container .newsletterField .contact {
        position: static !important;
        border-radius: 0.5rem;
        margin-top: 1rem;
        width: 100%;
        font-size: 1.125rem !important;
    }

    .CategoryName {
        font-size: 1.5rem;
    }

    .contact {
        font-size: 0.9rem !important;

        svg {
            width: 1.125rem !important;
            height: 1.125rem !important;
        }
    }

    .popupPrev,
    .popupNext {
        font-size: 1rem;
        height: 70px;
        padding: 0.25rem;
    }

    .previewNavigation {
        scale: 0.8;
        transform-origin: bottom;
    }


    #productPagination {
        justify-content: center !important;

        #productAmount {
            text-align: center;
        }
    }

    #searchCategory .container {
        margin-top: 0 !important;

        .inputHolder {
            flex-direction: column-reverse;
        }
    }

    #searchCategory .inputHolder label {
        margin: 0 !important;
        top: 3.5rem !important;
        height: fit-content;
        scale: 0.8;
        transform-origin: top left;
    }

    #searchCategory input {
        padding-right: 3rem !important;
        padding-left: 2.5rem !important;
        font-size: 0.8rem;
    }

    .FAQhead {
        font-size: 1.125rem !important;

        svg {
            width: 20px !important;
        }
    }

    .FAQanswer,
    .FAQarrow {
        font-size: 1rem !important;
    }

    .FAQtag {
        padding-inline: 1rem !important;
    }




    #confirmSearch {
        margin: 0 !important;
        top: 3rem;
        scale: 0.8;
        transform-origin: top right;
    }



    .searchOptions {
        position: relative !important;
        right: 0;
        width: 100%;


        select {
            width: 100%;
        }

    }


    #ourProducts {
        article {
            flex: 1;
        }

        .contact {
            font-size: 0.9rem;
            padding-inline: 0.75rem;
        }
    }

    .heroSwiperSlide {
        img {
            max-width: 200px;
        }
    }



    .heroSwiperSlide.right {
        transform: translateX(200px) translateY(100px) scale(0.7);
    }

    .heroSwiperSlide.left {
        transform: translateX(-200px) translateY(100px) scale(0.7);
    }

    #swiperNext,
    #swiperPrev {
        top: 0;
    }

    #swiperPrev {
        left: 50px;
    }

    #swiperNext {
        right: 50px;
    }

    .intro {
        font-size: 2rem;
    }

    .circleOverlay {
        display: none;
    }

    header {
        min-height: 100% !important;
    }

    #allCategories .container {
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
    }

    .heroRoute {
        font-size: 0.9rem;
    }

    section.registration .container {
        padding-inline: 1rem !important;
    }

    section.registration {
        padding-block: 50px;
    }


}

@media (max-width: 480px) {
    #downloadPDF {
        scale: 0.9;
        transform-origin: left top;
    }

    .checkoutCartItemAdjust {
        scale: 0.9;
    }

    .checkoutCartItem .productName {
        font-size: 0.9rem !important;
    }

    .checkoutCartItem img {
        width: 60px;
        height: 60px;
        border-radius: 0.35rem;
    }

    #checkOutCartItemsHolder {
        overflow-x: auto;
        padding-right: 1rem;
    }

    .checkoutCart {
        padding-inline: 1rem;
    }

    #mobileCartShower .container {
        gap: 1rem !important;

        p {
            font-size: 0.9rem !important;
            white-space: nowrap;
        }

        .contact {
            font-size: 0.8rem !important;
            padding-inline: 0.5rem;
        }
    }

    .cartCrudTotal {
        text-align: start;
        justify-content: start;

    }

    section#cartCrud {
        overflow-x: auto !important;

        .container {
            min-width: 460px;
        }
    }

    .categoryHead {
        justify-content: center;
        align-items: center;

        .contact {
            font-size: 0.8rem !important;
        }
    }

    .description h2,
    .categories .intro {
        font-size: 1.5rem !important;
    }

    .description h4 {
        font-size: 1.125rem !important;
    }

    .description a {
        font-size: 0.9rem !important;
    }

    .description li {
        font-size: 0.8rem;
    }


    .step h2 {
        font-size: 1.25rem;
    }

    .step::after {
        border-width: 4px !important;
    }

    .infoIcon {
        width: 24px !important;
        height: 24px !important;
        font-size: 1.25rem;
    }



    .intro {
        margin-bottom: 2rem;
        font-size: 1.5rem;
    }

    .showAllCategories {
        font-size: 1.25rem;
    }

    section.statis .container h2 {
        font-size: 3rem !important;
    }


    #blogPopupMainSwiper {
        height: 400px;
    }


    .heroSwiperWrapper {
        height: 420px !important;
    }

    #navigation_dropdown {
        transform: translateY(60px);
    }

    .contact a {
        font-size: 0.75rem;
    }

    .heroIntro h1 {
        width: 100%;
    }

    .headerIntro {
        h2 {
            font-size: 2.25rem;
        }

        p {
            font-size: 1.5rem;
        }

        justify-content: center;
        align-items: center;
        text-align: center;
    }

    #duration,
    .previewNavigation {
        scale: 0.6;
    }

    .heroIntro {
        justify-content: center;
        align-items: center;
        text-align: center;
    }

    .myThumbsSwiper {
        min-height: 90px;
    }

    section#productPreview .container article {
        min-width: initial !important;
        flex: 1 !important;

        .productName {
            font-size: 1.5rem;
        }

        .myMainSwiper,
        .swiper-wrapper,
        .swiper-slide {
            max-height: 300px !important;
        }

    }

    .mainTourImage .swiper-slide img {
        min-height: 300px;
    }


    .whatsApp {
        bottom: 2rem;
    }

    footer .container {
        display: flex;
        flex-direction: column;
    }

    main.innerHeader .heroIntro h2 {
        font-size: 1.5rem;
    }

    main.innerPage header {
        min-height: 320px !important;

        .headerIntro {
            display: none;
        }
    }

    .whoWe .container article {
        min-width: 250px !important;
    }

    .categories:not(.categoryOption) .container article img {
        height: 150px;
        max-width: 100%;
    }

    .CategoryName {
        font-size: 1.25rem;
    }

    .swiper .contact {
        font-size: 0.75rem !important;
        padding-inline: 0.5rem !important;
    }

    #categoryProducts .container {
        grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)) !important;
        gap: 1rem !important;

        article img {
            height: 200px;
        }
    }

    section.events .container {
        grid-template-columns: 1fr !important;
    }

    .heroSwiperSlide {
        h2 {
            font-size: 1.75rem !important;
        }

        p {
            font-size: 1rem;
        }
    }

    nav .contact {
        display: none;
    }

    .heroSwiperSlide.right {
        transform: translateX(130px) translateY(130px) scale(0.6);
    }

    .heroSwiperSlide.left {
        transform: translateX(-130px) translateY(130px) scale(0.6);
    }

    #swiperNext,
    #swiperPrev {
        top: 87.5%;
    }

    #swiperPrev {
        left: 20px;
    }

    #swiperNext {
        right: 20px;
    }

    .heroSwiperSlide img {
        max-height: 180px;
    }

    .navIcons {
        figure {
            scale: 0.9;
        }
    }

    .FAQhead {
        font-size: 1rem !important;
    }

    #swiperNext,
    #swiperPrev {
        width: 40px;
    }

    nav .container {
        padding-block: 0.3rem !important;
    }

    .logo {
        height: 50px !important;
    }

    section#searchCategory .container .intro {
        font-size: 1.25rem !important;
    }

    .whoWe .container article h2 {
        font-size: 1.5rem !important;
    }

    p {
        font-size: 0.8rem !important;
    }

    footer .container article img {
        max-width: 100px;
    }

    .success img {
        max-width: 100px;
    }

    #zoomedImage {
        max-height: 500px;
    }

    #closeBtn {
        font-size: 1.5rem;
    }

    .route {
        padding-top: 100px !important;
    }

    .introRoute {
        font-size: 0.9rem;
    }

    #productPreview {
        padding-top: 25px;
    }

    .heroRoute {
        font-size: 0.75rem;
    }

    section.registration {
        .logo {
            height: auto !important;
            width: 100px !important;
        }

        .contact {
            scale: 0.9;
        }
    }

    .accountData {
        .innerInputs article {
            min-width: 100% !important;
        }

        .contact {
            scale: 0.9;
            margin: auto;
        }
    }


    #profileOptions .container a {
        width: 100%;
        max-width: 250px;
        margin: auto;
        padding-inline: 0;
        text-align: center;
    }

    .formFooter {
        justify-content: center;
    }

    .goBack {
        display: none;
    }

    .otp-inputs {
        gap: 0.5rem;
    }

    .otp-inputs input {
        width: 3rem;
        height: 3rem;
    }

    .heroFeedback {
        h2 {
            font-size: 1.75rem !important;
        }
    }

    input[type='password']::placeholder {
        font-size: 0.9rem !important;
    }

    ::placeholder {
        font-size: 0.9rem !important;
    }

    #creditCardPopup {
        padding: 0;
    }

    #orderDetails {
        max-height: 100%;

        form {
            border-radius: 0 !important;
        }
    }

    #closeCreditCard {
        scale: 0.85;
        transform-origin: top right;
    }

    #searchEnginePopup.show_popup {
        form#searchEngineForm {
            transform: translateY(62px) !important;
        }
    }

    #searchSubmit {
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        right: 2rem;

    }
}


@media (max-width: 380px) {

    .heroRoute,
    .introRoute {
        font-size: 0.65rem;
    }
}



/* NEW CLASSES */
.news-marquee {
    width: 100%;
    overflow: hidden;
    height: 40px;
    background: var(--primary-color, #333);
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);

}

/* moving track */
.track {
    display: flex;
    background-color: transparent;
    display: flex;
    align-items: center;
    width: max-content;
    /* Animate the WHOLE track together */
    animation: ticker var(--marquee_timer) linear infinite;
}

.new {
    animation: ticker var(--marquee_timer) linear infinite;
    /* 👈 VERY SLOW */
}


@media(max-width:600px) {
    .track .new {
        min-width: 100vw;
        /* One headline visible at a time */
    }
}

.track .new {
    min-width: 70vw;
    /* One headline visible at a time */
    text-align: center;
    flex-shrink: 0;
    white-space: nowrap;
}

@keyframes ticker {
    from {
        transform: translateX(0);
    }

    to {
        /* Move exactly half-way because we doubled the content in JS */
        transform: translateX(-50%);
    }
}


/* Pause everything on hover */
.news-marquee:hover .track {
    animation-play-state: paused;
}

#mapSection {
    position: relative;
    isolation: isolate;
}

.countrySelectHolder {
    position: fixed;
    z-index: 10000;
    top: 9.5rem;
    right: 1.5rem;
    background-color: white;
    border-radius: 0.35rem;
    overflow: hidden;
    border: 1px solid var(--darker-primary-color);

    label {
        position: absolute;
        right: 1rem;
        top: 0;
        bottom: 0;
        margin: auto;
        font-size: 1.5rem;
        height: fit-content;
        color: var(--darker-primary-color);
    }
}

#countrySelect {
    padding: 1rem;
    padding-right: 3.5rem;
    font-size: 0.9rem;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--secondary-color);
}

p:has(.couponDiscountAmount) {
    color: var(--darker-primary-color);
}


section.applicationForm:has(#couponInputHolder) {
    padding-top: 0;
    padding-bottom: 1rem;
}

#couponInputHolder {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;

    ::placeholder {
        font-size: 0.85rem;
    }

    h4 {
        font-size: 1rem;
    }

    img {
        mix-blend-mode: darken;
        width: 24px;
        height: 24px;
    }

    input {
        padding-right: 7rem !important;
        padding-block: 0.75rem;
        font-size: 1rem;
    }

    .contact {
        position: absolute;
        top: 0;
        bottom: 0;
        margin: 0 !important;
        border-bottom-left-radius: 0;
        border-top-left-radius: 0;

        padding-inline: 0.75rem !important;
        right: 0;
        width: fit-content;
        font-size: 0.9rem !important;

    }
}

@media (max-width:480px) {

    .heroSwiperPagination {
        bottom: 30px;
    }

    .heroSwiperSlide .productDesc p {
        max-width: 300px;
    }

    .track .new {
        font-size: 0.8rem;
    }

    #searchEnginePopup.show_popup {
        form#searchEngineForm {
            transform: translateY(100px) !important;
        }
    }


    #sideCart {
        max-width: 100%;
    }
}
