/* home */
/* banner */
#banner {
    height: 78dvh;
    overflow: hidden;
    background: var(--color-light);
}

#banner .banner-item {
    --shade: hsl(from var(--color-black) h s l / .4);
    width: 100%;
    height: 100%;

    background-image: linear-gradient(var(--shade), var(--shade)), var(--banner-m);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;

    display: flex;
    justify-content: center;
    align-items: center;
}

#banner .banner-content {
    max-width: 768px;
    width: 100%;
    padding: 1em;

    display: flex;
    flex-direction: column;
}

#banner .banner-pre-title {
    font-size: clamp(14px, 10.6667px + 1.0417vw, 24px);
    font-weight: 400;
    line-height: 100%;
    text-transform: uppercase;
    text-align: center;
    text-shadow: 0 0 .5em var(--color-black);
    color: var(--color-white);
}

#banner .banner-title {
    text-shadow: 0 0 .5em var(--color-black);
    color: var(--color-white);

    background: unset;
    background-clip: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;
}

#banner .banner-buttons {
    margin-top: clamp(24px, 21.3333px + 0.8333vw, 32px);
    display: flex;
    flex-direction: column;
    gap: 1em;
}

#banner .banner-buttons .btn {
    flex: 1;
}

/* fim - banner */

/* feat */
#feat .feat-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

#feat .feat-header {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

#feat .feat-infos {
    max-width: 1024px;
}

#feat .feat-items {
    margin-top: 1em;
}

#feat .feat-slider {
    margin-left: 5%;
}

#feat .feat-card-link,
#feat .feat-card-link:is(:hover, :active, :focus) {
    display: inline-block;
    max-width: max(500px, 100% / 2.5);
    width: calc(100% - 32px);
    margin-right: 1em;
    color: var(--color-light);
}

#feat .feat-card {
    background: var(--color-white);
    overflow: hidden;
    transition: .35s;
}

#feat .feat-card:is(:hover, :active, :focus) {
    transform: scale(.98);
}

#feat .feat-card-img {
    height: clamp(300px, 243.3333px + 17.7083vw, 470px);
}

#feat .feat-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}

#feat .feat-card-infos {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1em;
    padding: 24px 16px;
}

#feat .feat-card-title {
    margin-bottom: .2em;
    text-align: start;
    flex: 1;

    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
}

#feat .feat-card-price {
    display: block;
    font-size: 16px;
    line-height: 130%;
    text-align: end;
    color: var(--color-dark);
}

#feat .feat-footer {
    display: flex;
    flex-direction: column;
}

/* fim - feat */

/* motel */
#motel .motel-content {
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 21.3333px + 3.3333vw, 64px);
}

#motel .motel-content>* {
    flex: 1;
}

#motel .motel-img {
    height: clamp(328px, 267.3333px + 18.9583vw, 510px);
}

#motel .motel-text {
    margin-top: 1em;
}

/* fim - motel */

/* gastro */
#gastro .gastro-content {
    display: flex;
    flex-direction: column;
}

#gastro .gastro-img {
    width: 90%;
    margin: auto auto -24px;
    height: clamp(320px, 200px + 37.5vw, 680px);
    z-index: 1;
}

#gastro .gastro-card-infos {
    display: flex;
    flex-direction: column;
    padding: var(--padd) clamp(16px, 8px + 2.5vw, 40px);
    text-align: center;
    background: var(--color-light);
}

#gastro .gastro-card-text {
    margin-block: 16px 32px;
}

/* fim - gastro */

/* discount */
#discount .discount-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

#discount .discount-header {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

#discount .discount-infos {
    max-width: 1024px;
}

#discount .discount-items {
    margin-top: 1em;
}

#discount .discount-slider {
    margin-left: 5%;
}

#discount .discount-card-link,
#discount .discount-card-link:is(:hover, :active, :focus) {
    display: inline-block;
    max-width: max(420px, 100% / 3.2);
    width: calc(100% - 32px);
    margin-right: 1em;
    color: var(--color-light);
}

#discount .discount-card-link:is([title*="Observações" i]) {
    display: none;
}

#discount .discount-card {
    background: var(--color-white);
    overflow: hidden;
    transition: .35s;
}

#discount .discount-card:is(:hover, :active, :focus) {
    transform: scale(.98);
}

#discount .discount-card-img {
    /* height: clamp(300px, 243.3333px + 17.7083vw, 470px); */
    height: 275px;
}

#discount .discount-card-header {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

#discount .discount-card-infos {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    padding: 24px 16px;
}

#discount .discount-card-title {
    /* margin-bottom: .2em; */
    text-align: start;
    flex: 1;

    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
}

#discount .discount-card-title i {
    font-size: 16px;
}

#discount .discount-card-text {
    display: block;
    font-size: 16px;
    line-height: 130%;
    color: var(--color-dark);

    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
}

#discount .discount-footer {
    display: flex;
    flex-direction: column;
}

/* fim - discount */


/* fim - home */

/* ------------------------------------------------------------------------------------------ */

/* inner */
/* inner header global */
#in-header {
    --shade: hsl(from var(--color-black) h s l / .4);
    background-image:
        linear-gradient(var(--shade), var(--shade)),
        url(../img/in-header-m.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

#in-header .in-header-logo {
    padding: 24px 16px;
    text-align: center;
    border-bottom: 2px solid var(--color-light);
    background: hsl(from var(--color-secondary) h s l / .85);
    box-shadow: 0 0 1em hsl(from var(--color-black) h s l / .4);
}

#in-header .in-header-logo-img {
    max-width: 118px;
    height: auto;
}

#in-header .in-header-wrap {
    padding-block: 64px;
}

#in-header .in-header-title {
    /* font-size: clamp(40px, 26.6667px + 4.1667vw, 80px); */
    font-size: 56px;
    line-height: .85;
    hyphens: auto;
    color: var(--color-white);
    text-shadow: 0 0 .5em var(--color-black);

    background: unset;
    background-clip: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;
}

/* fim - inner header global */

/* inner signup */
#in-signup form {
    max-width: 768px;
    margin-inline: auto;
}

#in-signup form input {
    border-radius: 0;
    accent-color: var(--color-secondary);
}

#in-signup form ::placeholder {
    text-transform: uppercase;
}

#in-signup form [for="ckMailing"],
#in-signup form [for="ckIdade"],
#in-signup form :is([for="ckPolitica"], [for="ckPolitica"] a) {
    font-weight: 400;
    color: var(--color-dark);
}

/* fim - inner signup */

/* inner our-suites */
#in-our-suites {
    display: grid;
    grid-template-columns:
        repeat(auto-fit, minmax(min(630px, 100%), 1fr));
    gap: 1em;
}

#in-our-suites .our-suites-card-link,
#in-our-suites .our-suites-card-link:is(:hover, :active, :focus) {
    display: inline-block;
    color: var(--color-light);
}

#in-our-suites .our-suites-card {
    background: var(--color-white);
    overflow: hidden;
    transition: .35s;
}

#in-our-suites .our-suites-card:is(:hover, :active, :focus) {
    transform: scale(.98);
}

#in-our-suites .our-suites-card-img {
    height: clamp(300px, 243.3333px + 17.7083vw, 470px);
}

#in-our-suites .our-suites-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}

#in-our-suites .our-suites-card-infos {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1em;
    padding: 24px 16px;
}

#in-our-suites .our-suites-card-title {
    margin-bottom: .2em;
    text-align: start;
    flex: 1;

    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
}

#in-our-suites .our-suites-card-price {
    display: block;
    font-size: 16px;
    line-height: 130%;
    text-align: end;
    color: var(--color-dark);
}

#in-our-suites .our-suites-footer {
    display: flex;
    flex-direction: column;
}

/* fim - inner our-suites */

/* inner suite slider */
#in-suite #in-suite-slider {
    position: relative;
}

#in-suite #in-suite-slider[slides-total="0"]::before {
    display: none;
}

#in-suite #in-suite-slider::before {
    content: attr(slide-selected) " / " attr(slides-total);
    position: absolute;
    inset: auto 16px 16px auto;
    font-family: 'Tenez', serif;
    font-size: 14px;
    border: 1px solid var(--color-white);
    padding: 2px 8px;
    background: hsl(from var(--color-white) h s l / .4);
    color: var(--color-white);
    z-index: 1;
}

#in-suite #in-suite-slider::after {
    content: 'flickity';
    display: none;
}

#in-suite .in-suite-slider-item {
    max-width: 750px;
    width: 100%;
    margin-right: 1em;
    aspect-ratio: 3/2;
    overflow: hidden;
    transition: .35s;
    cursor: pointer;
}

#in-suite .in-suite-slider-item:hover {
    transform: scale(.98);
}

#in-suite .in-suite-slider-item:is(.placeholder, .placeholder:hover) {
    cursor: not-allowed;
    transform: unset;
}

/* fim - inner suite slider */

/* inner suite grid */
#in-suite #in-suite-grid {
    position: fixed;
    inset: 0;
    background: hsl(from var(--color-light) h s l / .95);
    z-index: calc(var(--menu-z-index) + 1);
    overflow-y: auto;
}

#in-suite .in-suite-grid-wrap {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

#in-suite .in-suite-grid-header {
    position: sticky;
    top: 16px;
    z-index: calc(var(--menu-z-index) + 1);
}

#in-suite #in-suite-grid-pics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

#in-suite #in-suite-grid-pics>*:nth-child(3n - 2) {
    grid-column: span 2;
}

/* fim - inner suite grid */

/* inner suite swiper */
#in-suite #in-suite-swiper {
    position: fixed;
    inset: 0;
    background: hsl(from var(--color-black) h s l / .95);
    z-index: calc(var(--menu-z-index) + 1);
}

#in-suite .in-suite-swiper-wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
}

#in-suite #in-suite-swiper-pics {
    flex: 1;
}

#in-suite #in-suite-swiper-pics .swiper {
    max-width: 750px;
    width: 100%;
    height: 100%;
}

#in-suite .in-suite-swiper-footer {
    max-width: 750px;
    width: 100%;
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 16px;
    color: var(--color-white);
}


#in-suite .in-suite-swiper-footer :is(.swiper-button-prev, .swiper-button-next, .swiper-pagination) {
    position: initial;
}

#in-suite .in-suite-swiper-footer :is(.swiper-button-prev, .swiper-button-next) {
    height: fit-content;
    margin: unset;
    width: unset;
}

#in-suite .in-suite-swiper-footer :is(.swiper-button-prev, .swiper-button-next) i {
    font-size: clamp(16px, 10.6667px + 1.6667vw, 32px);
    color: var(--color-white);
}

#in-suite .in-suite-swiper-footer :is(.swiper-button-prev, .swiper-button-next)::after {
    display: none;
}

#in-suite .in-suite-swiper-infos {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-inline: auto;
}

#in-suite .in-suite-swiper-title {
    font-size: 24px;
}

/* fim - inner suite swiper */

/* inner items & infos */
#in-suite #in-suite-infos {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

#in-suite .in-suite-card {
    flex: 1;
}

#in-suite .in-suite-card-title {
    margin-bottom: 16px;
}

#in-suite .in-suite-infos-divider {
    height: 1px;
    background: var(--color-primary);
}

/* fim - inner items & infos */

/* inner others suites */
#in-suite-others .in-suite-others-content {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

#in-suite-others .in-suite-others-header {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

#in-suite-others .in-suite-others-infos {
    max-width: 1024px;
}

#in-suite-others .in-suite-others-items {
    margin-top: 1em;
}

#in-suite-others .in-suite-others-card-link,
#in-suite-others .in-suite-others-card-link:is(:hover, :active, :focus) {
    display: inline-block;
    max-width: max(500px, 100% / 2.5);
    width: calc(100% - 32px);
    margin-right: 1em;
    color: var(--color-light);
}

#in-suite-others .in-suite-others-card {
    background: var(--color-white);
    overflow: hidden;
    transition: .35s;
}

#in-suite-others .in-suite-others-card:is(:hover, :active, :focus) {
    transform: scale(.98);
}

#in-suite-others .in-suite-others-card-img {
    height: clamp(300px, 243.3333px + 17.7083vw, 470px);
}

#in-suite-others .in-suite-others-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
}

#in-suite-others .in-suite-others-card-infos {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1em;
    padding: 24px 16px;
}

#in-suite-others .in-suite-others-card-title {
    margin-bottom: .2em;
    text-align: start;
    flex: 1;

    display: -webkit-box;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
}

#in-suite-others .in-suite-others-card-price {
    display: block;
    font-size: 16px;
    line-height: 130%;
    text-align: end;
    color: var(--color-dark);
}

#in-suite-others .in-suite-others-footer {
    display: flex;
    flex-direction: column;
}

/* fim - inner others suites */

/* inner discounts */
#in-discount .in-discount-content {
    columns: clamp(320px, 240px + 25vw, 560px);
    column-gap: 24px;
}

#in-discount .in-discount-card-link:is([title*="Observações" i]) {
    display: none;
}

#in-discount .in-discount-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
    break-inside: avoid;
    background: var(--color-white);
    /* box-shadow: 0 0 16px hsl(from var(--color-light) h s l / .4); */
}

#in-discount .in-discount-card-img {
    height: 275px;
}

#in-discount .in-discount-card-header {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#in-discount .in-discount-card-title {
    text-align: center;
}

#in-discount .in-discount-card-text {
    color: var(--color-dark);
}

#in-discount .in-discount-card-text::first-letter {
    text-transform: uppercase;
}

#in-discount .in-discount-footer {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#in-discount .in-discount-footer-text {
    color: var(--color-soft);
}

#in-discount .in-discount-footer-text::first-letter {
    text-transform: uppercase;
}

/* fim - inner discounts */

/* inner coupons */
#in-coupon .in-coupon-content {
    columns: clamp(320px, 240px + 25vw, 560px);
    column-gap: 24px;
}

#in-coupon .in-coupon-card-link:is([title*="Observações" i]) {
    display: none;
}

#in-coupon .in-coupon-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
    break-inside: avoid;
    background: var(--color-white);
    /* box-shadow: 0 0 16px hsl(from var(--color-light) h s l / .4); */
}

#in-coupon .in-coupon-card-img {
    height: 275px;
}

#in-coupon .in-coupon-card-header {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#in-coupon .in-coupon-card-title {
    text-align: center;
}

#in-coupon .in-coupon-card-text {
    color: var(--color-dark);
}

#in-coupon .in-coupon-card-text::first-letter {
    text-transform: uppercase;
}

#in-coupon .in-coupon-footer {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#in-coupon .in-coupon-footer-text {
    color: var(--color-soft);
}

#in-coupon .in-coupon-footer-text::first-letter {
    text-transform: uppercase;
}

/* fim - inner coupons */

/* inner motel */
#in-motel .in-motel-content {
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 21.3333px + 3.3333vw, 64px);
}

#in-motel .in-motel-content>* {
    flex: 1;
}

#in-motel .in-motel-content--colorful {
    background-image: url(../img/mountains.svg);
    background-size: 140px auto;
}

#in-motel .in-motel-content--colorful :is(.in-motel-title, .in-motel-text) {
    background: unset;
    background-clip: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;

    color: var(--color-white);
}

#in-motel .in-motel-content--gastro {
    background-color: var(--color-primary);
}

#in-motel .in-motel-content--chef {
    background-color: var(--color-secondary);
}

#in-motel .in-motel-img {
    height: clamp(328px, 267.3333px + 18.9583vw, 510px);
}

#in-motel .in-motel-text {
    margin-top: 1em;
}

/* fim - inner motel */

/* inner gastro */
#in-gastro .in-gastro-content {
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 21.3333px + 3.3333vw, 64px);
}

#in-gastro .in-gastro-content>* {
    flex: 1;
}

#in-gastro .in-gastro-content--colorful {
    background-image: url(../img/mountains.svg);
    background-size: 140px auto;
}

#in-gastro .in-gastro-content--colorful :is(.in-gastro-title, .in-gastro-text) {
    background: unset;
    background-clip: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;

    color: var(--color-white);
}

#in-gastro .in-gastro-content--gastro {
    background-color: var(--color-primary);
}

#in-gastro .in-gastro-content--chef {
    background-color: var(--color-secondary);
}

#in-gastro .in-gastro-img {
    height: clamp(328px, 267.3333px + 18.9583vw, 510px);
}

#in-gastro .in-gastro-text {
    margin-top: 1em;
}

/* fim - inner gastro */

/* inner dishes */
#in-dishes .in-dishes-content {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

#in-dishes .in-dishes-title {
    text-align: center;
}

#in-dishes .in-dishes-slider {
    margin-left: 5%;
}
#in-dishes .in-dishes-item {
    display: inline-block;
    max-width: min(365px, 90%);
    aspect-ratio: 3/2;
    width: 100%;
    margin-right: 16px;
}

/* fim - inner dishes */

/* inner drinks */
#in-drinks .in-drinks-content {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

#in-drinks .in-drinks-title {
    text-align: center;
}

#in-drinks .in-drinks-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
    gap: 16px;
}

#in-drinks .in-drinks-item {
    aspect-ratio: 2/3;
}

/* fim - inner drinks */

/* inner local */
#in-local .in-local-content {
    display: flex;
    flex-direction: column;
}

#in-local .in-local-content > * {
    flex: 1;
}

#in-local .in-local-map {
    height: clamp(185px, 64.6667px + 37.6042vw, 546px);
}

#in-local .in-local-infos {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px;
    background: var(--color-dark);
}

#in-local .in-local-address {
    text-align: center;
    color: var(--color-white);
}

/* fim - inner local */

/* inner bookings */
#in-booking {
    /* columns: 360px; */
    display: grid;
    grid-template-columns:
        repeat(auto-fit, minmax(min(430px, 100%), 1fr));
    gap: 1em;
}

#in-booking .in-booking-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 290px;
    padding: 16px;
    break-inside: avoid;
    background: var(--color-secondary);
    box-shadow: 0 0 16px hsl(from var(--color-light) h s l / .4);
    transition: .35s;
}

#in-booking .in-booking-card:hover {
    transform: scale(.98);
}

#in-booking .in-booking-card-icon {
    font-size: clamp(32px, 29.3333px + 0.8333vw, 40px);
    text-align: center;
    margin-bottom: 16px;
    color: var(--color-white);
}

#in-booking .in-booking-card-title {
    margin-bottom: 16px;
    text-align: center;
    color: var(--color-white);

    background: unset;
    background-clip: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;
}

#in-booking .in-booking-card-text {
    text-align: center;
    color: var(--color-white);
}

#in-booking .in-booking-card-text::first-letter {
    text-transform: uppercase;
}

/* fim - inner bookings */

/* inner packages */
#in-package .in-package-content {
    display: flex;
    flex-direction: column;
    gap: 48px;
}

#in-package .in-package-item {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 16px;
    border: 2px solid var(--color-secondary);
}

#in-package .in-package-item > * {
    flex: 1;
}

#in-package .in-package-item-featured {
    border: none;
    background: linear-gradient(45deg, var(--color-primary), var(--color-secondary));
    animation: 1.5s pulse infinite;
}

#in-package .in-package-item-featured :is(.in-package-title, .in-package-subtitle, .in-package-text, .in-package-price) {
    background: unset;
    background-clip: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;
    color: var(--color-white);
}

#in-package .in-package-slider-item {
    height: 230px;
}

#in-package .in-package-slider-item {
    width: 100%;
    margin-right: 16px;
}

#in-package .in-package-infos {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
}

#in-package :is(.in-package-title, .in-package-subtitle) {
    text-align: center;
}

#in-package .in-package-description {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    flex: 1;
}

#in-package .in-package-price {
    font-size: 24px;
    font-weight: 600;
    text-align: center;
}

@keyframes pulse {
    50% {transform: scale(1.01);}
}
/* fim - inner packages */

/* fim - inner */