:root {
    --color-white: #FFFFFF;
    --color-black: #000000;
    --color-light: #F8F8F8;
    --color-text: #363636;
    --color-pink: #CE1D76;
    --color-blue: #143356;
    --color-gray: #808080;
    --color-orange: #E3836F;
    --gradient-orange-pink-h: linear-gradient(90deg, #E3836F 0%, #CE1D76 100%);
    --gradient-orange-pink-v: linear-gradient(0deg, #E3836F 0%, #CE1D76 100%);
}

body {
    position: relative;
    background-color: var(--color-white);
    color: var(--color-text);
    font-family: 'Manrope', sans-serif;
    font-size: 15px;
    font-weight: 400;
}

* {
    margin: 0;
    box-sizing: border-box;
    touch-action: manipulation;
}


/* --------------------------------------General-------------------------------------- */

/* Sections */
section {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}
section.full {
    min-height: 100vh;
}
section.start {
    align-items: start;
}
section.end {
    align-items: end;
}

/* Header */
.header__desk {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1px auto;
    column-gap: 4rem;
    width: 100%;

}

.header__desk img {
    display: block;
    height: 75px;
    object-fit: contain;
}

.header__actions {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    display: flex;
    align-items: center;
    justify-content: end;
    padding-bottom: 1.6rem;
}

.header__actions > a {
    margin-left: 3.3rem;
}

.header__actions a i {
    color: var(--color-white);
    font-size: 1.6em;
}

.header__select {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin-left: 2.5rem;
    padding: 0 1rem;
    height: 40px;
    background-color: #FFFFFF80;
    border-radius: 10px;
    color: var(--color-white);
    
    cursor: pointer;
}

.header__select-options {
    position: absolute;
    display: block;
    left: 0;
    bottom: -5px;
    width: 100%;
    height: 0;
    background-color: var(--color-white);
    border-radius: 8px;
    color: var(--color-black);
    overflow: hidden;
    transition: height 0.25s;
    translate: 0 100%;
}

.header__select-options div {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
}

.header__desk .spacer {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    opacity: 0.5;
}

.header__desk nav {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 3.5rem;
    padding: 1.6rem 0 2rem 0;
}

.header__desk nav a {
    color: var(--color-white);
    text-align: center;
    font-size: 1.1em;
    font-weight: 300;
}

.header__desk nav a.current {
    font-weight: 600;
}


.header__mob {
    position: relative;
    display: none;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    column-gap: 1.6rem;
    padding: 1.3rem 0;
    width: 100%;
}

.header__mob img {
    display: block;
    height: 50px;
    object-fit: contain;
}

#nav-collap-btn {
    display: block;
    padding: 0;
    width: 45px;
    height: 45px;
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-white);
    font-size: 2em;
}

.header__mob-collap {
    position: absolute;
    display: block;
    right: 0;
    bottom: -1rem;
    z-index: 100;
    width: 260px;
    height: 0;
    translate: 0 100%;
    overflow: hidden;
    transition: height 0.3s;
    color: var(--color-text);
}

.header__mob-collap nav {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding: 1.6rem 2rem 2.4rem 2rem;
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    border: 2px solid var(--color-pink);
    border-radius: 15px;
}

.header__mob-collap nav > a {
    padding: 7px 0;
    text-align: center;
    font-size: 1.05em;
    font-weight: 400;
}

.header__mob-collap nav > a.current {
    font-weight: 600;
}

.header__mob-sm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 1.2rem;
    width: 100%;
    border-bottom: 1px solid var(--color-pink);
}

.header__mob-sm a {
    color: var(--color-pink);
    font-size: 1.6em;
}



/* Footer */
.footer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    row-gap: 2.6rem;
    padding: 2.4rem 4rem;
    background-color: var(--color-black);
    color: var(--color-white);
    font-family: inherit;
    font-size: 1em;
    text-align: center;
}

.footer a {
    color: inherit;
}

.pro-footer {
    height: 180px;
}

.footer__aside {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 250px;
}

.footer__aside img {
    display: block;
    margin-right: auto;
    width: 100%;
    object-fit: contain;
}

.footer span a {
    text-decoration: none;
}
.footer span a:hover {
    text-decoration: underline;
}

/* Loader */
.loader__modal {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    left: 0;
    padding: 0 0 2rem 0;
    width: 100%;
    height: 100vh;
    background-color: #0016240C;
}

.loader__cont {
    position: relative;
    display: inline-block;
    width: 200px;
    height: 200px;
    overflow: hidden;
    background: transparent;
}
.loader__cont span {
    position: absolute;
    left: 54px;
    bottom: 2rem;
    color: #A8A9A8;
    text-align: center;
    font-size: 1.1em;
}

.loader {
    position: relative;
    width: 100%;
    height: 100%;
    transform: translateZ(0) scale(1);
    backface-visibility: hidden;
    transform-origin: 0 0;
}
.loader div {
    box-sizing: content-box;
    position: absolute;
    border-width: 4px;
    border-style: solid;
    opacity: 1;
    border-radius: 50%;
    animation: loader-animation 1.1363636363636365s cubic-bezier(0,0.2,0.8,1) infinite;
}
.loader div:nth-child(1) {
    border-color: #A8A9A8;
    animation-delay: 0s;
}
.loader div:nth-child(2) {
    border-color: #0D0D13;
    animation-delay: -0.5681818181818182s;
}

#loader-text {
    animation: loader-text 1.1363636363636365s ease-in-out infinite alternate;
}



/* ----------------------------------------Home---------------------------------------- */

/* Hero */
.home__hero {
    position: relative;
    background-color: var(--color-black);
}

.home__hero video {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.7;
}

.home__hero-cont {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 10;
    gap: 4rem;
    padding: 2rem 6.5rem 4rem 6.5rem;
    width: 100%;
    height: 100%;
    min-height: inherit;
    color: var(--color-white);
}

.home__hero-title {
    display: flex;
    flex-direction: column;
    max-width: 640px;
}

.home__hero-title b {
    font-weight: 600;
}

.home__hero-title h1 {
    color: var(--color-white);
    font-size: 2.6em;
    font-weight: 400;
}

.home__hero-title p {
    margin: 1.6rem 0 3.6rem;
    font-size: 1.3em;
    line-height: 1.4em;
}

.home__hero-title a {
    display: block;
    padding: 1rem 4rem;
    width: max-content;
    border-radius: 25px;
    background-color: var(--color-orange);
    color: var(--color-white);
    text-decoration: none;
}

.home__hero-scroll {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
    opacity: 0.8;
}

.home__hero-scroll i {
    color: var(--color-white);
    font-size: 1.65em;
}

/* Features */
.home__features {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.3rem;
    padding: 6rem 3rem 6rem 3rem;
    background: var(--gradient-orange-pink-h);
}

.home__features-cont {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2.5rem;
}

.home__feature-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    padding: 1.5rem 1rem;
    min-height: 205px;
    width: 235px;
    background-color: #FFFFFF80;
    border-radius: 15px;
    color: var(--color-white);
}

.home__feature-box i {
    font-size: 3.3em;
}

.home__feature-box h4 {
    text-align: center;
    font-size: 1.2em;
    font-weight: 600;
}

.home__features-link {
    display: block;
    padding: 1rem 3.3rem;
    background-color: var(--color-white);
    border-radius: 30px;
    color: var(--color-pink);
    font-size: 1.3em;
    font-weight: 400;

}

.home__features-link b {
    font-weight: 600;
}

/* Products */
.home__products-cont {
    display: flex;
    flex-direction: column;
    padding: 7rem 6.5rem;
    max-width: calc(1170px + 14rem);
}

.home__products-cont h3 {
    margin-bottom: 1.6rem;
    color: var(--color-pink);
    font-size: 2.2em;
    font-weight: 600;
}

.home__products-cont > p {
    margin-bottom: 3.2rem;
    font-size: 1.17em;
    line-height: 1.4em;
}

.home__products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    column-gap: 2rem;
    row-gap: 3rem;
}

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

.home__products-img {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    width: 100%;
    aspect-ratio: 27 /25;
    border-radius: 20px;
    overflow: hidden;
}

.home__products-img img {
    grid-column: 1 / 1;
    grid-row: 1 / 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home__products-coupon {
    grid-column: 1 / 1;
    grid-row: 1 / 1;
    align-self: end;
    justify-self: center;
    margin-bottom: 8px;
    padding: 0 1.7rem;
    width: calc(100% - 16px);
    background-color: #FFFFFFD8;
    border-radius: 15px;
    color: var(--color-blue);
    text-align: center;
    text-transform: uppercase;
}

.home__products-coupon div {
    padding: 5px;
    border-left: 2px dotted var(--color-blue);
    border-right: 2px dotted var(--color-blue);
}

.home__products-coupon p {
    font-size: 1.4em;
    font-weight: 700;
}

.home__products-coupon span {
    font-size: 0.7em;
}

.home__products-item > p {
    text-align: center;
    font-size: 1.17em;
    font-weight: 600;
    opacity: 0.6;
}

.home__products-item.tour {
    gap: 0;
}

.home__products-item.tour > p {
    margin: 1rem 0 0.5rem 0;
    opacity: 1;
}

.home__products-item > span {
    color: #A7B2BD;
    text-align: center;
    font-size: 1rem;
}

.home__products-item > span b {
    color: var(--color-pink);
    font-weight: 600;
}

.home__products-btns {
    display: flex;
    gap: 1.6rem;
    margin: 3.2rem 0 6.5rem 0;
}

.home__products-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 0 1.6rem;
    height: 50px;
    border: 2px solid var(--color-pink);
    border-radius: 25px;
    color: var(--color-pink);
    font-size: 1.2em;
    font-weight: 600;
}

.home__products-btn.filled {
    background-color: var(--color-pink);
    color: var(--color-white);
}

/* Benefits */
.home__benefits {
    display: grid;
    grid-template-columns: 40fr 31fr;
    align-items: start;
    column-gap: 6rem;
    row-gap: 4.2rem;
    padding: 6.5rem;
    background: var(--gradient-orange-pink-v);
    color: var(--color-white);
}

.home__benefits-info {
    display: flex;
    flex-direction: column;
}

.home__benefits-info h2 {
    font-size: 2.4em;
    font-weight: 600;
}

.home__benefits-info p {
    margin: 3rem 0 6rem 0;
    font-size: 1.25em;
    line-height: 1.4em;
}

.home__benefits-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
    column-gap: 3rem;
    row-gap: 6rem;
}

.home__benefits-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    max-width: 265px;
}

.home__benefits-item div {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF80;
    width: 110px;
    aspect-ratio: 1;
    border-radius: 55px;
}

.home__benefits-item i {
    font-size: 3.6em;
}

.home__benefits-item h4 {
    margin: 1.4rem 0 1.25em;
    font-size: 1.3em;
    font-weight: 600;
}

.home__benefits-item span {
    line-height: 1.4em;
}

.home__benefits-info a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 7.5rem;
    padding: 0 2.3rem 0 1.6rem;
    width: 330px;
    height: 50px;
    background-color: var(--color-white);
    border-radius: 25px;
    color: var(--color-orange);
    font-weight: 600;
}

.home__benefits-form {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-top: 2rem;
    padding: 2rem 2.3rem 3rem 2.3rem;
    background-color: var(--color-light);
    border-radius: 20px;
    color: var(--color-text);
}

.home__benefits-form h3 {
    color: var(--color-pink);
    font-size: 2em;
    font-weight: 600;
}

.home__benefits-form h3 span {
    text-transform: uppercase;
    font-size: 17px;
}

.home__benefits-form p {
    margin: 1.6em 0 1rem 0;
    font-size: 1.17em;
}

.home__benefits-form ul {
    margin-bottom: 1rem;
    padding-left: 1.2rem;
    font-size: 1.17em;
    line-height: 1.5em;
}

.home__benefits-form input {
    display: block;
    margin-bottom: 0.7rem;
    padding: 0 1.2rem;
    width: 100%;
    height: 55px;
    background-color: var(--color-white);
    border: 1px solid var(--color-pink);
    border-radius: 15px;
    outline: none;
    color: var(--color-pink);
    font-family: FontAwesome, 'Manrope', sans-serif;
    font-size: 1.17em;
}

.home__benefits-form input::placeholder {
    color: #363636B2;
    font-weight: 300;
}

.home__benefits-form button {
    display: block;
    margin-top: 1rem;
    width: 100%;
    height: 55px;
    background-color: var(--color-pink);
    outline: none;
    border: none;
    border-radius: 15px;
    color: var(--color-white);
    text-align: center;
    font-size: 1.17em;
    font-weight: 600;
}

.home__limited-time {
    position: absolute;
    display: block;
    top: -2rem;
    right: -2rem;
    padding: 3px;
    width: 120px;
    aspect-ratio: 1;
    background-color: var(--color-white);
    border-radius: 60px;
}

.home__limited-time div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    height: 100%;
    border-radius: 57px;
    background: linear-gradient(147deg, rgba(206,29,118,1) 0%, rgba(150,29,4,1) 100%);
    color: var(--color-white);
    text-align: center;
}

.home__limited-time i {
    font-size: 2.5em;
}

.home__limited-time span {
    text-transform: uppercase;
    font-size: 0.8em;
    font-weight: 600;
}



/* ----------------------------------Unlimited Access---------------------------------- */

.access {
    display: grid;
    grid-template-columns: 6fr 5fr;
    grid-template-rows: min-content repeat(3, auto);
    column-gap: 4rem;
}

.access__bkg-black {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
    position: relative;
    display: block;
    z-index: 0;
    width: 100%;
    min-height: 100vh;
    background-color: var(--color-black);
}

.access__bkg-black video {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.7;
}

.access__bkg-gradient {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #CE1D76 0%, #143356 100%);
}

/* Hero */
.access__header {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    position: relative;
    z-index: 100;
    padding: 2rem 6.6rem 3rem 6.6rem;
}

.access__hero {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    z-index: 10;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 5.6rem 0 7rem 6.6rem;
    color: var(--color-white);
}

.access__hero h1 {
    font-size: 2.6em;
    font-weight: 400;
}

.access__hero b {
    font-weight: 600;
}

.access__hero p {
    padding: 1.6rem 0 4.2rem 0;
    font-size: 1.17em;
    line-height: 1.4em;
}

.access__hero-frame {
    display: flex;
    gap: 2.5rem;
}

.access__hero-frame div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    padding: 1.5rem 1rem;
    min-height: 205px;
    width: 235px;
    background-color: #FFFFFF80;
    border-radius: 15px;
    color: var(--color-white);
}

.access__hero-frame i {
    font-size: 3.3em;
}

.access__hero-frame h4 {
    text-align: center;
    font-size: 1.2em;
    font-weight: 600;
}

/* Benefits */
.access__benefits {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    display: flex;
    flex-direction: column;
    padding: 6.6rem 0 6.6rem 6.6rem;
    color: var(--color-white);
}

.access__benefits h2 {
    font-size: 2.4em;
    font-weight: 400;
}

.access__benefits h2 b {
    font-weight: 600;
}

.access__benefits p {
    margin: 3rem 0 6rem 0;
    font-size: 1.25em;
    line-height: 1.4em;
}

.access__benefits-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: center;
    column-gap: 3rem;
    row-gap: 6rem;
}

.access__benefits-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    max-width: 265px;
}

.access__benefits-item div {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF80;
    width: 110px;
    aspect-ratio: 1;
    border-radius: 55px;
}

.access__benefits-item i {
    font-size: 3.6em;
}

.access__benefits-item h4 {
    margin: 1.4rem 0 1.25em;
    font-size: 1.3em;
    font-weight: 600;
}

.access__benefits-item span {
    line-height: 1.4em;
}

/* Process */
.access__process {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
    padding: 6.6rem 0 9rem 6.6rem;
    max-width: calc(600px + 6.6rem);
}

.access__process h2 {
    color: var(--color-pink);
    font-size: 2.4em;
    font-weight: 400;
    line-height: 1.3em;
}

.access__process h2 b {
    font-weight: 600;
}

.access__process video {
    display: block;
    margin: 3.3rem auto;
    width: 300px;
    border-radius: 20px;
}

.access__process-item {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 1rem;
    margin-bottom: 3.3rem;
    width: 100%;
    max-width: 400px;
}

.access__process-item h4 {
    margin: 0 0 0.6rem 0;
    font-size: 1.3em;
}

.access__process-item span {
    font-size: 1em;
    font-weight: 500;
    line-height: 1.6em;
}

.access__process-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 15px;
    background-color: var(--color-pink);
}

.access__process-logo i {
    color: #f4f6fa;
    font-size: 1.5em;
}

/* Form */
.access__form-cont {
    grid-column: 2 / 3;
    grid-row: 2 / 5;
    position: relative;
    display: block;
    z-index: 10;
    padding: 0 8.3rem 3.3rem 0;
    width: 100%;
    height: 100%;
}

.access__form {
    position: sticky;
    display: flex;
    flex-direction: column;
    top: 3.3rem;
    margin-top: 2rem;
    padding: 2rem 2.3rem 3rem 2.3rem;
    background-color: var(--color-light);
    border: 1px solid var(--color-pink);
    border-radius: 20px;
    color: var(--color-text);
}

.access__form h3 {
    color: var(--color-pink);
    font-size: 2em;
    font-weight: 600;
}

.access__form h3 span {
    text-transform: uppercase;
    font-size: 17px;
}

.access__form p {
    margin: 1.6em 0 1rem 0;
    font-size: 1.17em;
}

.access__form ul {
    margin-bottom: 1rem;
    padding-left: 1.2rem;
    font-size: 1.17em;
    line-height: 1.5em;
}

.access__form input {
    display: block;
    margin-bottom: 0.7rem;
    padding: 0 1.2rem;
    width: 100%;
    height: 55px;
    background-color: var(--color-white);
    border: 1px solid var(--color-pink);
    border-radius: 15px;
    outline: none;
    font-family: FontAwesome, 'Manrope', sans-serif;
    font-size: 1.17em;
}

.access__form input::placeholder {
    color: #363636B2;
    font-weight: 300;
}

.access__form button {
    display: block;
    margin-top: 1rem;
    width: 100%;
    height: 55px;
    background-color: var(--color-pink);
    outline: none;
    border: none;
    border-radius: 15px;
    color: var(--color-white);
    text-align: center;
    font-size: 1.17em;
    font-weight: 600;
}

.access__limited-time {
    position: absolute;
    display: block;
    top: -2rem;
    right: -2rem;
    padding: 3px;
    width: 120px;
    aspect-ratio: 1;
    background-color: var(--color-white);
    border-radius: 60px;
}

.access__limited-time div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    height: 100%;
    border-radius: 57px;
    background: linear-gradient(147deg, rgba(206,29,118,1) 0%, rgba(150,29,4,1) 100%);
    color: var(--color-white);
    text-align: center;
}

.access__limited-time i {
    font-size: 2.5em;
}

.access__limited-time span {
    text-transform: uppercase;
    font-size: 0.8em;
    font-weight: 600;
}

/* Banner */
.access__banner {
    display: block;
    width: 100%;
    aspect-ratio: 500 / 113;
    background: center center no-repeat url('../assets/img/access-banner-desk.png');
    background-size: cover;
}



/* ----------------------------------------Tours---------------------------------------- */

.tours__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--color-pink);
    color: var(--color-white);
}

.tours__header .header__desk {
    margin-bottom: 6rem;
    padding: 2rem 6.5rem 0 6.5rem;
}

.tours__header .header__mob {
    padding: 1.3rem 2.4rem 1.3rem 2.4rem;
    margin-bottom: 4rem;
}

.tours__header .header__mob-collap {
    right: 2.4rem;
}

.tours__header h1 {
    text-align: center;
    font-size: 4.2em;
    font-weight: 700;
}

.tours__header-swiper {
    position: relative;
    display: block;
    margin: 3.3rem 0 2rem 0;
    width: 100%;
    height: 55px;
    overflow: hidden;
}

.tours__header-swiper .swiper {
    width: 100%;
    height: 100%;
}

.tours__header-swiper .swiper-slide {
    display: block;
    width: max-content;
    height: 100%;
}

.tours__header-swiper .swiper-slide:first-child {
    padding-left: 8.5rem;
}

.tours__header-swiper .swiper-slide:last-child {
    padding-right: 8.5rem;
}

.tours__header-swiper a {
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
    height: 100%;
    background-color: #FFFFFF80;
    border-radius: 15px;
    font-size: 1.17em;
}

.tour__products,
.concierge__products {
    display: grid;
    grid-template-columns: 390px 1fr;
    grid-template-rows: auto 50px;
    align-items: start;
    column-gap: 2.6rem;
    row-gap: 5.8rem;
    padding: 6.5rem 6.5rem 5rem 6.5rem;
}

.concierge__products {
    grid-template-columns: 1fr;
}

/* Filters */
#filter-btn {
    justify-self: end;
    display: none;
    padding: 0;
    width: 50px;
    height: 100%;
    background-color: transparent;
    outline: none;
    border: none;
    font-size: 2.2em;
}

#close-filter {
    display: none;
    width: 36px;
    height: 36px;
    background-color: var(--color-pink);
    outline: none;
    border: none;
    border-radius: 18px;
    color: var(--color-white);
    font-size: 1.15em;
}

.tour__products-filters {
    display: flex;
    flex-direction: column;
    padding: 2.3rem 2.3rem 3.3rem 2.3rem;
    width: 100%;
    background-color: var(--color-light);
    border: 1px solid var(--color-pink);
    border-radius: 20px;
}

.tour__products-filters h4 {
    margin-bottom: 1.5rem;
    color: var(--color-pink);
    font-size: 1.2em;
}

.tour__products-filters fieldset {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 0.8rem;
    padding: 0 0 1.1rem 0;
    border: 0;
    border-bottom: 1px solid #CE1D7680;
}

.tour__radio-label {
    display: flex;
    align-items: center;
    gap: 1.4rem;
    cursor: pointer;
    user-select: none;
}

.tour__radio-label input {
    display: none;
}

.tour__radio-label div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background-color: var(--color-white);
    border: 1px solid var(--color-pink);
    border-radius: 5px;
    transition: background-color 0.25s;
    color: var(--color-white);
    font-size: 0.95em;
}

.tour__radio-label:has(input:checked) div {
    background-color: var(--color-pink);
}

.tour__radio-label span {
    font-size: 15px;
}

.tour__products-price {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
    margin-bottom: 1.5rem;
}

.tour__products-price input {
    display: block;
    padding: 0 0.8rem;
    width: 100%;
    height: 45px;
    background-color: var(--color-white);
    outline: none;
    border: 1px solid var(--color-pink);
    border-radius: 12px;
}

.tour__products-filters > button {
    display: block;
    width: 100%;
    height: 50px;
    background-color: var(--color-pink);
    outline: none;
    border: none;
    border-radius: 15px;
    color: var(--color-white);
    font-size: 1.1em;
    font-weight: 600;
}

/* Product Grid */
.tour__products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    column-gap: 2rem;
    row-gap: 3rem;
}

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

.tour__products-img {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    width: 100%;
    aspect-ratio: 27 /25;
    border-radius: 20px;
    overflow: hidden;
}

.tour__products-img img {
    grid-column: 1 / 1;
    grid-row: 1 / 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tour__products-coupon {
    grid-column: 1 / 1;
    grid-row: 1 / 1;
    align-self: end;
    justify-self: center;
    margin-bottom: 8px;
    padding: 0 1.7rem;
    width: calc(100% - 16px);
    background-color: #FFFFFFD8;
    border-radius: 15px;
    color: var(--color-blue);
    text-align: center;
    text-transform: uppercase;
}

.tour__products-coupon div {
    padding: 5px;
    border-left: 2px dotted var(--color-blue);
    border-right: 2px dotted var(--color-blue);
}

.tour__products-coupon p {
    font-size: 1.4em;
    font-weight: 700;
}

.tour__products-coupon span {
    font-size: 0.7em;
}

.tour__products-item > p {
    text-align: center;
    font-size: 1.17em;
    font-weight: 600;
    opacity: 0.6;
}

.tour__products-item.tour {
    gap: 0;
}

.tour__products-item.tour > p {
    margin: 1rem 0 0.5rem 0;
    opacity: 1;
}

.tour__products-item > span {
    color: #A7B2BD;
    text-align: center;
    font-size: 1rem;
}

.tour__products-item > span b {
    color: var(--color-pink);
    font-weight: 600;
}

.tour__products-btns {
    display: flex;
    gap: 1.6rem;
    margin: 3.2rem 0 6.5rem 0;
}

.tour__products-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 0 1.6rem;
    height: 50px;
    border: 2px solid var(--color-pink);
    border-radius: 25px;
    color: var(--color-pink);
    font-size: 1.2em;
    font-weight: 600;
}

.tour__products-btn.filled {
    background-color: var(--color-pink);
    color: var(--color-white);
}

.tour__pagination {
    grid-column: 1 / 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5rem;
    width: 100%;
    height: 100%;
}

.tour__pagination a {
    align-self: center;
    color: var(--color-pink);
    font-size: 1.2em;
    font-weight: 600;
}

.tour__pagination a.page {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    aspect-ratio: 1;
    border-radius: 20px;
}

.tour__pagination a.page.current {
    background-color: var(--color-pink);
    color: var(--color-white);
    cursor: default;
}

.tour__pagination-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.6rem;
    width: 100%;
    height: 100%;
    border: 2px solid var(--color-pink);
    border-radius: 25px;
    color: var(--color-pink);
    font-size: 1.2em;
    font-weight: 600;
}

.tour__pagination-btn.disabled {
    opacity: 0.6;
}



/* ---------------------------------------Product-------------------------------------- */

.pro__header {
    padding: 2rem 6.5rem 0 6.5rem;
    background-color: var(--color-pink);
}

.product {
    padding: 2rem 8.3rem 9.8rem 8.3rem;
}

.pro__name {
    display: flex;
    flex-direction: column;
    gap: 3.3rem;
    margin-bottom: 3.3rem;
    width: 100%;
}

.pro__name span {
    font-size: 1.17em;
}

.pro__name h1 {
    color: var(--color-pink);
    font-size: 2.4em;
    font-weight: 600;
}

.pro__grid {
    display: grid;
    grid-template-columns: 40fr 31fr;
    column-gap: 3.3rem;
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
}

/* Information */
.pro__info {
    display: flex;
    flex-direction: column;
}

.pro__gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 1rem;
    margin-bottom: 3.3rem;
}

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

.pro__gallery-thumb,
.pro__gallery-display {
    display: block;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
}

.pro__gallery-thumb {
    aspect-ratio: 1 / 1;
    cursor: pointer;
}
.pro__gallery-thumb.selected {
    outline: 2px solid var(--color-pink);
}
.pro__gallery-thumb:hover {
    box-shadow: 0 0 3px var(--color-gray-dark);
}

.pro__gallery-display {
    grid-column: 1 / -1;
    aspect-ratio: 6 / 5;
}

.pro__info-tags {
    display: flex;
    flex-wrap: wrap;
    column-gap: 4.3rem;
    row-gap: 2rem;
    padding: 1.6rem;
    border-top: 1.2px solid #CE1D7680;
}

.pro__info-tags span {
    font-size: 1.17em;
}

.pro__info-spacer {
    display: block;
    margin-bottom: 3.3rem;
    width: 100%;
    height: 1px;
    background-color: #CE1D7680;
}

.pro__info h3 {
    padding: 0 1.6rem;
    color: var(--color-pink);
    font-size: 1.6em;
}

.pro__info-text {
    display: block;
    margin: 1.6rem 0 3.3rem 0;
    padding: 0 1.6rem;
    font-size: 1.17em;
    line-height: 1.4em;
}

.pro__info-text b {
    font-weight: 600;
}

.pro__meeting-pickup {
    display: flex;
    flex-direction: column;
    padding: 1.6rem 1.6rem 3.3rem 1.6rem;
    background-color: var(--color-light);
    border-radius: 20px;
}

.pro__meeting-pickup h4 {
    margin-bottom: 1.6rem;
    color: var(--color-pink);
    font-size: 1.5em;
}

.pro__meeting-pickup p,
.pro__meeting-pickup span {
    font-size: 1.17em;
    line-height: 1.4em;
}

.pro__meet-location {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 1.2rem 0 3.3rem 0;
}

.pro__meet-location a {
    color: var(--color-pink);
    text-decoration: underline;
    font-size: 1.3em;
    font-weight: 600;
}

.pro__pickup-details {
    display: flex;
    flex-direction: column;
    margin: 1.3rem 0 3.3rem 0;
}

.pro__pickup-details div {
    display: grid;
    grid-template-columns: 37fr 25fr;
    column-gap: 1rem;
}

.pro__pickup-details input {
    display: block;
    padding: 0 1.4rem;
    width: 100%;
    height: 55px;
    background-color: var(--color-white);
    outline: none;
    border: 1px solid var(--color-pink);
    border-radius: 15px;
    font-family: FontAwesome, 'Manrope', sans-serif;
    font-size: 1.17em;
}

.pro__pickup-details h5 {
    margin: 1.6rem 0 1rem 0;
    font-size: 1.3em;
    font-weight: 600;
    opacity: 0.6;
}

.pro__pickup-details a {
    text-decoration: underline;
}

/* Product booking */
.pro__booking {
    justify-self: start;
    display: flex;
    flex-direction: column;
    padding: 2rem;
    width: 100%;
    height: max-content;
    background-color: var(--color-light);
    border: 1px solid var(--color-pink);
    border-radius: 20px;
}

.pro__booking h2 {
    color: var(--color-pink);
    font-size: 2em;
    font-weight: 600;
}

.pro__booking h2 span {
    font-size: 0.57em;
}

.pro__booking span {
    font-size: 1.17em;
    line-height: 1.4em;
}

.pro__booking button {
    display: block;
    width: 100%;
    height: 55px;
    background-color: var(--color-pink);
    outline: none;
    border: none;
    border-radius: 15px;
    color: var(--color-white);
    font-size: 1.17em;
    font-weight: 600;
}

.pro__booking .spacer {
    display: block;
    margin-bottom: 1.6rem;
    width: 100%;
    height: 0.8px;
    background-color: var(--color-pink);
}

.pro__booking-availability {
    display: grid;
    grid-template-columns: 5fr 2fr;
    column-gap: 1rem;
    row-gap: 1.3rem;
    padding: 1.6rem 0 3.3rem 0;
    border-bottom: 1px solid var(--color-pink);
}

.pro__booking-availability span,
.pro__booking-availability button {
    grid-column: 1 / 3;
}

.pro__booking-availability input {
    display: block;
    padding: 0 1.4rem;
    width: 100%;
    height: 55px;
    background-color: var(--color-white);
    outline: none;
    border: 1px solid var(--color-pink);
    border-radius: 15px;
    color: var(--color-pink);
    font-family: FontAwesome, 'Manrope', sans-serif;
    font-size: 1.17em;
}

.pro__booking-availability button {
    background-color: var(--color-light);
    border: 2px solid var(--color-pink);
    color: var(--color-pink);
}

.pro__booking fieldset {
    display: flex;
    flex-direction: column;
    padding: 1.6rem 0 0 0;
    border: none;
}

.pro__booking-package {
    display: grid;
    grid-template-columns: 20px 1fr;
    align-items: center;
    column-gap: 0.8rem;
    margin-bottom: 1rem;
    cursor: pointer;
    user-select: none;
}

.pro__booking-package input {
    display: none;
}

.pro__booking-package .circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1;
    border: 2px solid var(--color-pink);
    border-radius: 10px;
}

.pro__booking-package .circle div {
    display: block;
    width: 12px;
    aspect-ratio: 1;
    background-color: var(--color-white);
    border-radius: 6px;
    transition: background-color 0.2s;
}

.pro__booking-package:has(input:checked) .circle div {
    background-color: var(--color-pink);
}

.pro__booking-package span {
    color: var(--color-pink);
    font-weight: 600;
}

fieldset.pro__booking-schedules {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 1.6rem 0;
    gap: 0.65rem;
}

.pro__booking-schedule {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 55px;
    background-color: var(--color-light);
    border: 2px solid var(--color-pink);
    border-radius: 15px;
    color: var(--color-pink);
    font-weight: 600;
    transition: background-color 0.2s, color 0.2s;
    user-select: none;
}

.pro__booking-schedule input {
    display: none;
}

.pro__booking-schedule:has(input:checked) {
    background-color: var(--color-pink);
    color: var(--color-white);
}

/* Concierge */
.concierge__contact {
    display: grid;
    grid-template-columns: 5fr 2fr;
    column-gap: 1rem;
    row-gap: 1.3rem;
    padding: 1.6rem 0 0 0;
}

.concierge__contact span {
    grid-column: 1 / 3;
    font-size: 1.17em;
}

.concierge__contact input {
    display: block;
    padding: 0 1.4rem;
    width: 100%;
    height: 55px;
    background-color: var(--color-white);
    outline: none;
    border: 1px solid var(--color-pink);
    border-radius: 15px;
    color: var(--color-pink);
    font-family: FontAwesome, 'Manrope', sans-serif;
    font-size: 1.17em;
}

.concierge__contact button {
    grid-column: 1 / 3;
    display: block;
    width: 100%;
    height: 55px;
    background-color: var(--color-pink);
    outline: none;
    border: none;
    border-radius: 15px;
    color: var(--color-white);
    font-size: 1.17em;
    font-weight: 600;
}


/* --------------------------------------Form Page------------------------------------- */

.form {
    justify-content: start;
    min-height: 100vh;
}

.form__header {
    padding: 2rem 6.5rem 0 6.5rem;
    width: 100%;
    background-color: var(--color-pink);
}

.form__area {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.6rem;
    padding: 3.3rem 2.3rem;
    width: 100%;
    height: 100%;
}

.form__area h1 {
    color: var(--color-pink);
    text-align: center;
    font-size: 2.4em;
}

.form__frame {
    display: flex;
    flex-direction: column;
    padding: 2rem 3.3rem 1.6rem 3.3rem;
    width: 100%;
    max-width: 630px;
    background-color: var(--color-light);
    border: 1px solid var(--color-pink);
    border-radius: 20px;
}

.form__frame h3 {
    margin-bottom: 2.5rem;
    color: var(--color-pink);
    text-align: center;
    font-size: 1.3em;
    font-weight: 600;
}

.form__frame button {
    display: block;
    margin-top: 2.4rem;
    width: 100%;
    height: 55px;
    background-color: var(--color-pink);
    outline: none;
    border: none;
    border-radius: 15px;
    color: var(--color-white);
    font-size: 1.17em;
    font-weight: 600;
}

.form__frame a {
    margin: 1.2rem 0 4rem 0;
    color: #363636B2;
    text-align: center;
    font-size: 1.17em;
}

.form__input {
    display: grid;
    grid-template-columns: 25px 1fr;
    align-items: center;
    column-gap: 0.8rem;
    margin-bottom: 0.66rem;
    padding: 0 2rem;
    width: 100%;
    height: 55px;
    background-color: var(--color-white);
    border: 1px solid var(--color-pink);
    border-radius: 15px;
}

.form__input i {
    font-size: 1.17em;
    opacity: 0.7;
}

.form__input input {
    display: block;
    width: 100%;
    height: 100%;
    background-color: transparent;
    outline: none;
    border: none;
    color: var(--color-pink);
    font-weight: 600;
}

.form__input input::placeholder {
    color: #363636B2;
    font-weight: 400;
}


/* --------------------------------------Thank You------------------------------------- */
.thank-you {
    background-color: var(--color-black);
}

.thanks__cont {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 10;
    gap: 4rem;
    padding: 2rem 6.5rem;
    width: 100%;
    height: 100%;
    min-height: inherit;
    background: center center no-repeat url('../assets/img/chichen-itza.png');
    background-size: cover;
    color: var(--color-white);
}

.thanks__title {
    display: flex;
    flex-direction: column;
    max-width: 640px;
}

.thanks__title b {
    font-weight: 600;
}

.thanks__title h1 {
    color: var(--color-white);
    font-size: 2.6em;
    font-weight: 600;
}

.thanks__title p {
    margin: 1.6rem 0 3.6rem;
    font-size: 1.3em;
    line-height: 1.4em;
}

.thanks__title a {
    display: block;
    padding: 1rem 4rem;
    width: max-content;
    border-radius: 25px;
    background-color: var(--color-orange);
    color: var(--color-white);
    text-decoration: none;
}

.thanks__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.8rem;
}

.thanks__footer a:hover {
    text-decoration: underline;
}



/* --------------------------------------Specials-------------------------------------- */
.hidden {
    display: none;
}




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

@media screen and (max-width: 1200px) {
    /* General */
    .header__desk img {
        height: 50px;
    }
    .footer__aside img {
        width: 70%;
    }
    /* Home */
    .home__hero-cont {
        padding: 2rem 3.3rem 4rem 3.3rem;
    }
    .home__feature-box {
        width: 195px;
    }
    .home__products-cont {
        padding: 7rem 3.3rem;
    }
    .home__products-grid {
        grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    }
    .home__benefits {
        padding: 6.5rem 4.2rem 6.5rem 3.3rem;
    }
    .home__limited-time {
        width: 100px;
    }
    .home__limited-time i {
        font-size: 1.9em;
    }
    /* Unlimited Access */
    .access {
        grid-template-columns: 15fr 14fr;
    }
    .access__header {
        padding: 2rem 3.3rem 3rem 3.3rem;
    }
    .access__form-cont {
        padding: 0 4.2rem 3.3rem 0;
    }
    .access__hero {
        padding: 5.6rem 0 7rem 3.3rem;
    }
    .access__benefits {
        padding: 6.6rem 0 6.6rem 3.3rem;
    }
    .access__process {
        padding: 6.6rem 0 9rem 3.3rem;
    }
    .access__limited-time {
        width: 100px;
    }
    .access__limited-time i {
        font-size: 1.9em;
    }
    /* Tours */
    .tours__header .header__desk {
        margin-bottom: 4rem;
        padding: 2rem 3.3rem 0 3.3rem;
    }
    .tour__products {
        grid-template-columns: 330px 1fr;
        padding: 6.5rem 3.3rem 5rem 3.3rem;
    }
    .tour__products-grid {
        grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    }
    /* Concierge */
    .concierge__products {
        padding: 6.5rem 3.3rem 5rem 3.3rem;
    }
    /* Product */
    .pro__header {
        padding: 2rem 3.3rem 0 3.3rem;
    }
    .product {
        padding: 2rem 3.3rem 9.8rem 3.3rem;
    }
    .concierge__contact,
    .pro__booking-availability {
        grid-template-columns: 1fr 90px;
    }
    .pro__gallery {
        grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    }
    /* Thank You */
    .thanks__cont {
        padding: 2rem 3.3rem;
    }
}

@media screen and (max-width: 1020px) {
    /* General */
    .header__desk {
        display: none;
    }
    .header__mob {
        display: grid;
    }
    .header__select {
        margin-left: 0;
    }
    .footer {
        display: grid;
        grid-template-columns: 1fr 1fr;
        justify-items: center;
    }
    .footer > :nth-child(1) {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
    }
    .footer__aside img {
        margin: 0 auto;
    }
    /* Home */
    .home__benefits {
        grid-template-columns: 1fr;
    }
    /* Unlimited Access */
    .access__header {
        padding: 0 3.3rem;
    }
    .access {
        grid-template-columns: 1fr;
    }
    .access__header,
    .access__bkg-black,
    .access__bkg-gradient {
        grid-column: 1 / 2;
    }
    .access__bkg-gradient {
        grid-row: 3 / 5;
    }
    .access__hero {
        padding: 5.6rem 4rem 7rem 4rem;
    }
    .access__benefits {
        padding: 6.6rem 4rem 6.6rem 4rem;
    }
    .access__form-cont {
        grid-column: 1 / 2;
        grid-row: 4 / 5;
        position: static;
        padding: 0 4.6rem 6.6rem 4rem;
    }
    .access__process {
        grid-row: 5 / 6;
    }
    /* Tours */
    #filter-btn,
    #close-filter {
        display: block;
    }
    .tour__products {
        position: relative;
        grid-template-columns: 1fr;
        grid-template-rows: 50px auto 50px;
        row-gap: 1.6rem;
        padding: 3.3rem 3.3rem 5rem 3.3rem;
        min-height: 900px;
    }
    .tour__products-grid {
        padding-bottom: 3.3rem;
    }
    .tour__products-filters {
        position: absolute;
        top: 3.3rem;
        left: 3.3rem;
        z-index: 10;
        width: calc(100% - 6.6rem);
        max-width: 390px;
        translate: calc(-100% - 3.3rem);
        transition: translate 0.3s;
    }
    .tour__filters-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 1.6rem;
    }
    .tour__filters-header h4 {
        margin: 0;
    }
    .tour__pagination {
        grid-column: 1 / 2;
        gap: 3rem;
    }
    /* Product */
    .product {
        padding: 3.3rem 4.6rem 6.6rem 4.6rem;
    }
    .pro__header {
        padding: 0 2.4rem;
    }
    .pro__grid {
        grid-template-columns: 1fr;
        row-gap: 3.3rem;
    }
    /* Forms */
    .form__header {
        padding: 0 2.4rem;
    }
}

@media screen and (max-width: 768px) {
    /* General */
    body {
        font-size: 13px;
    }
    .footer {
        grid-template-columns: 1fr;
    }
    .footer > :nth-child(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }
    /* Home */
    .home__hero-cont {
        padding: 2rem 1.5rem 4rem 1.5rem;
    }
    .home__hero-title a {
        margin: 0 auto;
    }
    .home__features {
        padding: 6rem 1.5rem 6rem 1.5rem;
    }
    .home__features-cont {
        gap: 1.6rem;
    }
    .home__feature-box {
        width: 180px;
        min-height: 190px;
    }
    .home__features-link {
        padding: 1rem 2.2rem;
    }
    .home__products-cont {
        padding: 7rem 1.6rem;
    }
    .home__products-btns {
        flex-direction: column;
        align-items: start;
    }
    .home__benefits {
        padding: 6.5rem 2.1rem 6.5rem 1.6rem;
    }
    /* Unlimited Access */
    .access__header {
        padding: 0 1.5rem;
    }
    .access__hero {
        padding: 5.6rem 1.5rem 7rem 1.5rem;
    }
    .access__hero-frame div {
        width: 180px;
        min-height: 185px;
    }
    .access__benefits {
        padding: 6.6rem 1.5rem 6.6rem 1.5rem;
    }
    .access__form-cont {
        padding: 0 3.3rem 6.6rem 1.5rem;
    }
    .access__process {
        padding: 6.6rem 1.5rem 9rem 1.5rem;
    }
    /* Tours */
    .tours__header .header__mob {
        padding: 1.3rem 1.5rem 1.3rem 1.5rem;
        margin-bottom: 4rem;
    }
    .tour__products {
        padding: 3.3rem 1.5rem 5rem 1.5rem;
    }
    .tour__products-filters {
        left: 1.5rem;
        width: calc(100% - 3rem);
    }
    .tour__pagination .page:not(.current) {
        display: none;
    }
    /* Product */
    .pro__header {
        padding: 0 1.5rem;
    }
    .product {
        padding: 3.3rem 1.5rem 6.6rem 1.5rem;
    }
    .pro__pickup-details div {
        grid-template-columns: 1fr;
        row-gap: 1rem;
    }
    .concierge__products {
        padding: 6.5rem 1.5rem 5rem 1.5rem;
    }
    /* Thank You */
    .thanks__cont {
        padding: 0 1.5rem 2rem 1.5rem;
    }
    /* Forms */
    .form__header {
        padding: 0 1.5rem;
    }
}

@media screen and (max-width: 480px) {
    /* General */
    .header__mob {
        column-gap: 1rem;
    }
    .header__mob img {
        height: 38px;
    }
    .footer__aside img {
        width: 55%;
    }
    /* Home */
    .home__hero-cont {
        padding: 0 1.5rem 4rem 1.5rem;
    }
    .home__hero-title h1 {
        font-size: 2.2em;
        line-height: 1.4em;
    }
    .home__hero-title p {
        margin: 2.2rem 0 4.2rem;
    }
    .home__hero-title a {
        padding: 1rem 2rem;
        width: 100%;
        text-align: center;
    }
    .home__features-cont {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .home__feature-box {
        width: 100%;
        min-height: 170px;
    }
    .home__features-link {
        width: 100%;
        max-width: 250px;
        border-radius: 20px;
        text-align: center;
        line-height: 1.3em;
    }
    .home__products-grid {
        grid-template-columns: 1fr 1fr;
        column-gap: 1.2rem;
        row-gap: 2.2rem;
    }
    .home__products-coupon {
        padding: 0 1.2rem;
    }
    .home__benefits-info a {
        width: 100%;
    }
    .home__limited-time {
        right: -1rem;
    }
    /* Unlimited Access */
    .access__hero h1 {
        font-size: 2.2em;
        line-height: 1.4em;
    }
    .access__hero-frame {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .access__hero-frame div {
        width: 100%;
        min-height: 170px;
    }
    .access__form-cont {
        padding: 0 1.5rem 6.6rem 1.5rem;
    }
    .access__limited-time {
        right: -0.5rem;
    }
    .access__process {
        padding: 6.6rem 1.5rem 6.6rem 1.5rem;
    }
    .access__banner {
        aspect-ratio: 110 / 239;
        background-image: url('../assets/img/access-banner-mob.png');
    }
    /* Tour */
    .tours__header h1 {
        font-size: 3.2em;
    }
    .tours__header-swiper .swiper-slide:first-child {
        padding-left: 3.3rem;
    }
    .tours__header-swiper .swiper-slide:last-child {
        padding-right: 3.3rem;
    }
    .tour__products-grid {
        grid-template-columns: 1fr 1fr;
    }
    .tour__products-coupon {
        padding: 0 1.2rem;
    }
    .tour__pagination {
        gap: 2.6rem;
    }
    /* Product */
    .pro__gallery {
        grid-template-columns: repeat(3, 1fr);
    }
    .pro__name h1 {
        font-size: 2em;
    }
    .pro__info-tags {
        column-gap: 2rem;
    }
    .pro__booking-availability {
        grid-template-columns: 1fr;
    }
    .pro__booking-availability span,
    .pro__booking-availability button {
        grid-column: 1 / 2;
    }
    /* Concierge */
    .concierge__contact {
        grid-template-columns: 1fr;
    }
    .concierge__contact span,
    .concierge__contact button {
        grid-column: 1 / 2;
    }
    /* Form */
    .form__area {
        padding: 3.3rem 1.5rem;
    }
    .form__frame {
        padding: 2rem 2rem 1.6rem 2rem;
    }
    /* Thank You */
    .thanks__footer {
        flex-direction: column;
        row-gap: 1.2rem;
    }
}

/* IPhone SE */
@media screen and (max-width: 376px) and (max-height: 668px) {

}



/* -------------------------------------Animations------------------------------------- */



/* Keyframes */
@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 100%;
    }
}
@keyframes fade-out {
    0% {
        opacity: 100%;
    }

    100% {
        opacity: 0;
    }
}

@keyframes loader-animation {
    0% {
        top: 96px;
        left: 96px;
        width: 0;
        height: 0;
        opacity: 1;
    }
    100% {
        top: 78px;
        left: 78px;
        width: 36px;
        height: 36px;
        opacity: 0;
    }
}
@keyframes loader-text {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0.5;
    }
}