/* !END TEMP */
body {
    background-color: white;
}

main {
    background-color: white;
    width: min(1320px, 95vw);
    max-width: calc(var(--body-max-width) - 30px);
    gap: 1rem !important;
    margin-inline: auto;
    margin-top: calc(var(--header-height) + 2rem) !important;
}

.title {
    font-size: var(--fs-md);
    font-weight: 600;
    color: black;
}

/* history links */
main .history-links {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

@media (max-width: 768px) {
    main .history-links {
        display: flex;
        flex-wrap: wrap;
        gap: 0rem;
        padding-left: 5.5rem;
    }

    main .history-link {
        font-size: calc(var(--fs-md) - 0.1rem);
    }

    main .history-links .link-icon svg {
        width: 8px;
        height: 24px;
    }

    .hotel-main-container .hotel-tabs__icons-container {
        position: absolute;
        top: 0.1rem;
        left: 1rem;
        z-index: 5;
    }
}

main .history-link {
    font-size: calc(var(--fs-xs) - 0.15rem);
    color: rgb(153, 153, 153);
    font-weight: 600;
}

main .history-links .link-icon svg path {
    fill: rgb(153, 153, 153);
}

main .history-link:nth-last-child(1) {
    color: black;
}

/* HOTEL MAIN CONTAINER  || HOTEL */
.hotel-main-container {
    display: flex;
    flex-wrap: wrap;
    /* NO GAP !IMPORTANT */

    --top-section-height: 50px;
}

.hotel-main-container > * {
    width: 50%;
}

/* HOTEL TITLE CONTAINER */
.hotel-main-container .hotel__title-container {
    display: flex;
    flex-direction: column;
    padding-left: 4px;
    gap: 0.5rem;
}

.hotel__title-container h2{
    font-size: 14px !important;
}

.hotel-main-container .hotel__title-container .stars-container {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.hotel-main-container
.hotel__title-container
.stars-container
svg {
    width: 15px;
    height: 15px;
}

.hotel-main-container
.hotel__title-container
.stars-container
.star-badge {
    color: rgb(147, 125, 0);
    font-size: calc(var(--fs-xs) - 0.1rem);
}

.hotel-main-container .hotel__title-container .description {
    font-weight: 400;
    color: rgb(66, 66, 66);
    font-size: var(--fs-xs);
}

/* HOTEL TABS */
.hotel-main-container .hotel__tabs-container {
    display: flex;
    gap: 1.5rem;
    flex-direction: column;
    align-items: flex-end;
}

.hotel-main-container .hotel-tabs__icons-container {
    display: flex;
    gap: 0.7rem;
}

.hotel-main-container .hotel-tabs__icons-container button {
    border-radius: 50rem;
}

#single {
    position: relative;
}

.hotel-main-container .hotel-tabs__tabs-container {
    font-size: var(--fs-xs);
    width: 100%;
    padding-bottom: 1rem;
    display: flex;
    align-items: center;
    height: 58px;
    margin-right: auto;
}

.hotel-main-container .hotel-tabs__tabs-container .tabs-wrapper {
    overflow: auto hidden;
    padding-block: 0.8rem;
}

@media (max-width: 768px) {
     .hotel__title-container{
        width: 100%;
    }
    .hotel__title-container h2{
       font-size: 12px !important;
    }
    .hotel-main-container:has(.hotel__preview-container.get-sticky)
    .hotel-tabs__icons-container {
        display: none;
    }

    .hotel-main-container .hotel-tabs__tabs-container .tabs-wrapper {
        margin-bottom: 0;
    }
}

.hotel-main-container:has(.hotel__preview-container.get-sticky)
.hotel-tabs__tabs-container {
    position: fixed;
    top: var(--header-height);
    background-color: white;
    left: 0;
    padding-block: 1rem;
    justify-content: center;
    display: flex;
    box-shadow: 0 0 4px #7b7b7b65;
    width: 100%;
    z-index: 999;
}

.hotel-main-container:has(.hotel__preview-container.get-sticky)
.hotel-tabs__tabs-container .tabs {
    padding-bottom: 0;
}

.hotel-main-container .hotel-tabs__tabs-container ul.tabs {
    display: flex;
    gap: 1.9rem;
    font-weight: 500;
}

.hotel-main-container .hotel-tabs__tabs-container ul.tabs .tab {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.hotel-main-container
.hotel-tabs__tabs-container
ul.tabs
.tab
.tab-link {
    width: 100%;
    white-space: nowrap;
}

.hotel-main-container
.hotel-tabs__tabs-container
ul.tabs
.tab::after {
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--cl-primary);
    height: 2px;
    content: "";
    width: 0%;
    transition: 0.5s;
}

.hotel-main-container
.hotel-tabs__tabs-container
ul.tabs
.tab:hover::after {
    width: 100%;
}

.hotel-main-container
.hotel-tabs__tabs-container
ul.tabs
.tab.active::after {
    width: 100%;
}

@media (max-width: 1000px) {
    .hotel-main-container {
        display: flex;
        flex-wrap: nowrap;
        flex-direction: column;
        --top-section-height: auto;
    }

    .hotel-main-container .hotel__tabs-container {
        width: 100%;
    }

    .hotel-main-container .hotel__tabs-container ul.tabs {
        justify-content: space-between;
    }

    .hotel-main-container .hotel-tabs__tabs-container ul.tabs {
        gap: 0.9rem;
    }
}

/* HOTEL PREVIEW CONTAINER */
.hotel-main-container .hotel__preview-container {
    display: flex;
    height: 32vw;
    max-height: 420px;
    width: 100%;
    gap: 1rem;
}

.hotel-main-container .hotel__preview-container > * {
    width: 50%;
}

.hotel-main-container
.hotel__preview-container
.preview__img-wrapper {
    overflow: hidden;
    position: relative;
    border-radius: min(1.5rem, 1vw);
    height: 100%;
    cursor: pointer;
}

.hotel-main-container .preview__grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 1rem;
    height: 100%;
}

.hotel-main-container .hotel__preview-container .preview__img-wrapper > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform-origin: center;
    transition: 0.3s;
    scale: 1.2;
}

.hotel-main-container .hotel__preview-container video {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    background: #111;
}

.hotel-main-container
.hotel__preview-container
.preview__img-wrapper:hover >
img {
    scale: 1.1;
}

.hotel-main-container .preview-hover-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;

    opacity: 0;
    position: absolute;
    left: 15px;
    bottom: 15px;

    transition: 0.2s;
    background-color: rgba(0, 0, 0, 0.456);
    backdrop-filter: blur(2px);
    color: white;
    border-radius: 8px;
    padding: 0.4rem 0.6rem;
}

.hotel-main-container .preview-hover-box svg {
    width: 18px;
    height: 18px;
}

.hotel-main-container .preview-hover-box.frozen {
    opacity: 1;
}

.hotel-main-container
.hotel__preview-container
.preview__img-wrapper:not(video):hover
.preview-hover-box:not(.frozen) {
    opacity: 1;
}

.description {
    max-height: 80px;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.description.open {
    max-height: 1000px;
}

.show-more-description-hotel {
    width: 100%;
    box-shadow: 0 -10px 40px 15px white;
    cursor: pointer;
}

.show-more-description-hotel svg {
    width: 18px;
    height: 18px;
}

@media (max-width: 768px) {

    .hotel-main-container .hotel__preview-container {
        display: flex;
        height: max-content;
        max-height: none;
        flex-direction: column;
        width: 100%;
        gap: 1rem;
    }

    .hotel-main-container
    .hotel__preview-container
    .preview__main-container {
        width: 100%;
        height: 60vw;
    }

    .hotel-main-container .preview__grid-container {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 1rem;
        width: 100%;
        scrollbar-width: none;
    }

    .hotel-main-container .preview__grid-container::-webkit-scrollbar {
        display: none;
    }

    .hotel-main-container .preview__grid-container .preview__grid-item {
        flex: 0 0 90%;
        width: 90%;
        height: 35vw;
        scroll-snap-align: start;
    }

    .hotel-main-container
    .hotel__preview-container
    .preview__grid-item
    .preview-hover-box:not(.frozen) {
        opacity: 1;
    }

    .hotel-main-container .hotel__preview-container > * {
        width: 100%;
    }
}

/* gallery modal */
.modal__gallery-container {
    width: 75vw;
    height: 80dvh;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

@media (max-width: 768px) {
    .modal-container:has(.modal__gallery-container) {
        max-width: none;
        max-height: none;
    }

    .modal__gallery-container {
        width: 90vw;
    }
}

.modal-gallery__title-container {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 5;
    margin-inline: -2rem;
    padding-inline: 2rem;
}

.modal-gallery__title-container .title {
    font-size: var(--fs-md);
}

.modal-gallery__title-container .subtitle {
    font-size: var(--fs-xs);
    font-weight: 500;
}

.modal-gallery__tabs-container {
    width: 100%;
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
}

.modal-gallery__tabs-container > * {
    flex-basis: 50%;
    text-align: center;
}

.modal-gallery__tabs-container > .tab {
    font-size: var(--fs-md);
    font-weight: 600;
    position: relative;
}

.modal-gallery__tabs-container > .tab::after {
    content: "";
    position: absolute;
    top: -15px;
    border-radius: 10px;
    width: 100%;
    left: 0;
    height: 3px;
    background-color: gray;
}

.modal-gallery__tabs-container > .tab.tab-active::after {
    background-color: var(--cl-primary);
}

.modal-gallery__photos {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 1rem;
    overflow: hidden auto;
}

@media (max-width: 768px) {
    .modal-gallery__photos {
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
    }
}

.modal-gallery__photos .photo-container {
    border-radius: min(1rem, 1vw);
    width: 100%;
    height: 15vw;
    overflow: hidden;
}

.modal-gallery__photos .photo-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.1);
}

@media (max-width: 500px) {
    .modal-gallery__photos .photo-container {
        height: 35vw;
    }
}

.hotel__info-container {
    display: flex;
    width: 100%;
    margin-top: 2rem;
}

@media (max-width: 1000px) {
    .hotel__info-container {
        flex-direction: column;
        gap: 2rem;
    }
}

/* MODAL VIDEO HOTEL */
.modal-video-hotel {
    height: 85dvh;
}

/* HOTEL DESCRIPTION */
.hotel-info__description-container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-left: auto;
}

.hotel__info-container > * {
    flex-basis: 50%;
    padding-inline: 1rem;
}

.hotel__info-container .infos-container {
    display: flex;
    justify-content: space-between;
}

.hotel__info-container .hotel__info-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.hotel__info-container .time-container {
    font-size: var(--fs-xs);
    font-weight: 600;
}

.hotel__info-container .hotel__info-item .icon-container {
    display: flex;
    gap: 0.4rem;
    align-items: center;
}

.hotel__info-container .hotel__info-item .icon-container .text {
    color: gray;
    font-size: calc(var(--fs-xs) - 0.1rem);
}

.hotel-info__description-container {
    width: 100%;
    font-size: var(--fs-sm);
    line-height: 1.8;
    font-weight: 500;
    color: rgb(82, 82, 82);
}


/* HOTEL FUTURES */
.hotel-info__futures-container ul {
    gap: 0.5rem;
    display: flex;
    flex-direction: column;
    margin-top: 1rem;
}

.hotel-info__futures-container {
    display: flex;
}

.hotel-info__futures-container > * {
    width: 50%;
}

.hotel-info__futures-container .title {
    font-size: var(--fs-md);
    font-weight: 600;
}

.hotel-info__futures-container
.custom-list-style
> *:nth-child(1) {
    width: 20px;
    height: 20px;
}

.futures-list .text {
    font-size: var(--fs-xs);
    color: rgb(69, 69, 69);
}

.futures-list ul.futures-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.hotel-info__futures-container .more-list-item .text {
    color: var(--cl-primary);
}

.hotel-info__futures-container .more-list-item svg path {
    fill: var(--cl-primary);
}

.hotel-info__futures-container .more-list-item {
    cursor: pointer;
}

/* FUTURES MODAL */
.futures-modal-container {
    width: 70vw;
    height: 80vh;
    display: flex;
    overflow-y: scroll;
    flex-direction: column;
    padding: 0 1rem;
    position: relative;
}

.future__header {
    position: sticky;
    top: 0;
    background-color: #fff;
}
@media (max-width: 700px) {
    .modal-container:has(.futures-modal-container) {
        max-width: none;
        max-height: none;
    }

    .futures-modal-container {
        width: 100vw;
        height: 100vh;
    }
}

.futures-modal-container .future__header .future__header {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 2rem;
}

.futures-modal-container .future__header .title {
    font-size: var(--fs-md);
    font-weight: 500;
}

.futures-modal-container .future__header ul {
    display: flex;
    flex-direction: row;
}

.futures-modal-container .future__header ul li {
    width: 100%;
    display: flex;
}

.futures-modal-container .future__header ul a {
    width: 100%;
    border-bottom: 1px solid rgb(221, 221, 221);
    padding-block: 0.7rem;
    font-size: calc(var(--fs-xs) - 0.1rem);
    text-align: center;
    color: rgb(125, 125, 125);
    white-space: nowrap;
}

.futures-modal-container .future__header ul a.active {
    border-bottom: 1px solid var(--cl-primary);
    color: black;
    font-weight: 600;
}

/*.future__body {*/
/*    overflow-y: scroll;*/
/*}*/

.future__body .wrapper {
    break-inside: avoid;
}

.future__body .__body-title-container {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    white-space: nowrap;
    font-size: var(--fs-md);
    font-weight: bold;
    margin-top: 2rem;
}

.future__body .__body-title-container .solid-line {
    width: 100%;
    height: 1px;
    background-color: rgb(221, 221, 221);
}

.future__body .__body-content-container {
    margin-top: 1.3rem;
}

.future__body .__body-content-container .title {
    font-size: calc(var(--fs-md) - 0.1rem);
    color: gray;
}

.future__body .__body-content-futures-lists {
    margin-top: 1.3rem;
    display: grid;
    padding-right: 0.6rem;
    /*grid-template-columns: 1fr 1fr;*/
    /*gap: 0.2rem 1.2rem;*/
}

.future__body .__body-content-futures-lists.disabled li .text {
    position: relative;
    color: rgb(187, 187, 187);
}

.future__body
.__body-content-futures-lists.disabled
li
.text::after {
    width: 100%;
    height: 1px;
    background-color: rgb(179, 179, 179);
    position: absolute;
    content: "";
    left: 0;
    top: 45%;
    transform: translateY(-50%);
}

/*.future__body .__body-content-futures-lists ul {*/
/*    gap: 0.7rem;*/
/*    display: flex;*/
/*    flex-direction: column;*/
/*}*/

@media (max-width: 768px) {
    .future__body .__body-content-futures-lists {
        grid-template-columns: 1fr;
    }
}

/*@media (min-width: 768px) {*/
/*    .future__body .__body-content-futures-lists {*/
/*        grid-template-columns: 1fr 1fr 1fr;*/
/*    }*/
/*}*/

/*@media (min-width: 992px) {*/
/*    .future__body .__body-content-futures-lists {*/
/*        grid-template-columns: 1fr 1fr 1fr 1fr;*/
/*    }*/
/*}*/

.future__body .__body-content-futures-lists ul svg path {
    fill: rgb(192, 192, 192);
}

/* HOTEL ROOMS CONTAINER */
.hotel__rooms-container {
    width: 100%;
    display: flex;
    margin-top: 3rem;
    flex-direction: column;
}

/* ── Modern minimal room card ── */
.hotel-room-container {
    display: flex;
    align-items: stretch;
    gap: 1.25rem;
    width: 100%;
    background: #fff;
    border: 1px solid #eef0f3;
    border-radius: 1.25rem;
    padding: 1rem;
    box-shadow: 0 1px 2px rgba(16,24,40,.04), 0 4px 16px rgba(16,24,40,.05);
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.hotel-room-container:hover {
    transform: translateY(-2px);
    border-color: #e5e7eb;
    box-shadow: 0 4px 12px rgba(16,24,40,.06), 0 12px 28px rgba(16,24,40,.07);
}

.hotel-room-container .hotel-room-image {
    flex: 0 0 17.5rem;
    width: 17.5rem;
    height: 11.25rem;
    border-radius: 0.9rem;
    overflow: hidden;
    background: #f3f4f6;
    align-self: center;
}

.hotel-room-container .hotel-room-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
    transform: scale(1);
}

.hotel-room-container:hover .hotel-room-image img {
    transform: scale(1.04);
}

.hotel-room-container .hotel-room-title-container {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .45rem;
    padding: .35rem 0;
}

.hotel-room-container .hotel-room-title-container .title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.4;
    letter-spacing: -.01em;
}

.hotel-room-container .category-items {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .25rem;
}

.hotel-room-container .category-item {
    display: inline-flex;
    align-items: center;
    font-size: .7rem !important;
    font-weight: 500;
    letter-spacing: .02em;
    color: #374151;
    background: #f3f4f6;
    border: 1px solid #eef0f3;
    border-radius: 999px;
    padding: .28rem .6rem;
    line-height: 1;
}

.hotel-room-container .hotel-room-description {
    margin-top: .35rem;
    font-size: .82rem;
    color: #6b7280;
    line-height: 1.75;
    max-width: 34rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* price side — clean minimal panel */
.hotel-room-container .hotel-room-price-container {
    flex: 0 0 15.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: 1rem 1.1rem;
    margin: auto 0;
    margin-right: auto;
    background: #f9fafb;
    border: 1px solid #eef0f3;
    border-radius: 1rem;
    text-align: center;
}

.hotel-room-container .hotel-room-price-container .discount {
    font-size: .78rem;
    font-weight: 500;
    color: #9ca3af;
    position: relative;
    width: fit-content;
    white-space: nowrap;
}

.hotel-room-container .hotel-room-price-container .discount::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 52%;
    height: 1px;
    background: #ef4444;
    opacity: .9;
}

.hotel-room-container .hotel-room-price-container .price {
    display: flex;
    align-items: baseline;
    gap: .4rem;
    line-height: 1;
}

.hotel-room-container .hotel-room-price-container .price .amount {
    font-size: 1.45rem;
    font-weight: 800;
    color: #111827;
    letter-spacing: -.02em;
}

.hotel-room-container .hotel-room-price-container .price .unit {
    font-size: .72rem;
    font-weight: 500;
    color: #6b7280;
}

.hotel-room-container .hotel-room-price-container .text {
    font-size: .74rem;
    color: #6b7280;
    font-weight: 400;
}

.hotel-room-container .hotel-room-price-container .reserve-button {
    width: 100%;
    margin-top: .3rem;
    padding: .68rem 1rem;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .01em;
    border-radius: .75rem;
    box-shadow: 0 1px 2px rgba(0,0,0,.06);
    transition: transform .15s ease, box-shadow .15s ease, opacity .15s;
}

.hotel-room-container .hotel-room-price-container .reserve-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
}

.hotel-room-container .hotel-room-price-container .reserve-button:active {
    transform: translateY(0);
}

@media (max-width: 1000px) {
    .hotel-room-container {
        flex-wrap: wrap;
        gap: 1rem;
    }
    .hotel-room-container .hotel-room-image {
        flex: 0 0 34%;
        width: 34%;
        height: 18vw;
        min-height: 140px;
    }
    .hotel-room-container .hotel-room-title-container {
        flex: 1 1 58%;
    }
    .hotel-room-container .hotel-room-price-container {
        flex: 1 0 100%;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: .6rem 1rem;
        padding: .9rem 1rem;
    }
    .hotel-room-container .hotel-room-price-container .price {
        order: 1;
    }
    .hotel-room-container .hotel-room-price-container .discount {
        order: 0;
    }
    .hotel-room-container .hotel-room-price-container .text {
        order: 2;
        flex: 1;
        text-align: right;
    }
    .hotel-room-container .hotel-room-price-container .reserve-button {
        order: 3;
        flex: 1 0 100%;
    }
}

@media (max-width: 600px) {
    .hotel-room-container {
        flex-direction: column;
        gap: .85rem;
        padding: .85rem;
        border-radius: 1rem;
    }
    .hotel-room-container .hotel-room-image {
        width: 100%;
        flex: none;
        height: 52vw;
        max-height: 220px;
    }
    .hotel-room-container .hotel-room-title-container {
        padding: 0;
    }
    .hotel-room-container .hotel-room-price-container {
        margin: 0;
        flex-direction: column;
        align-items: center;
        gap: .5rem;
    }
    .hotel-room-container .hotel-room-price-container .text {
        text-align: center;
    }
}

.hotel__location-container {
    display: flex;
    margin-top: 3rem;
    width: 100%;
    max-height: 450px;
    justify-content: space-between;
    gap: 4rem;
}

.hotel__location-container .location__description-container {
    flex-basis: 65%;
}

.hotel__location-container .location__image-container {
    display: flex;
    flex-direction: column;
}

.hotel__location-container > * {
    flex-basis: 50%;
}

.hotel__location-container img {
    width: 100%;
    height: 25vw;
    max-height: 370px;
    max-height: 370px;
    object-fit: cover;
}

.hotel__location-container .location__map-frame {
    width: 100%;
    height: 25vw;
    max-height: 370px;
    overflow: hidden;
    border-radius: 0.5rem;
}

.hotel__location-container .location__map-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.description__table-container {
    flex-direction: column;
    overflow-y: scroll;
    max-height: 100%;
    display: flex;
    width: 100%;
}

.description__table-container .__header {
    display: flex;
    width: 100%;
    flex-shrink: 0;
    position: sticky;
    top: 0;
    background-color: white;
    z-index: 9;
    padding-bottom: 1rem;
}

.description__table-container .__header ul {
    display: flex;
    width: 100%;
    border-bottom: 1px solid rgb(212, 212, 212);
}

.description__table-container .__header li {
    padding-inline: 0.5rem;
    font-size: calc(var(--fs-xs) - 0.1rem);
    color: rgb(168, 168, 168);
    padding-bottom: 0.5rem;
}

.description__table-container .__header li.tab-active {
    border-bottom: 2px solid var(--cl-primary);
    color: var(--cl-primary);
}

.description__table-container .__body {
    display: flex;
    flex-direction: column;
}

.description__table-container .__body .distance-item {
    display: flex;
    gap: 0.5rem;
    transition: 0.3s;
}

.description__table-container .__body .distance-item .duration {
    font-weight: 600;
}

.description__table-container .__body .distance-item .type {
    display: flex;
    color: rgb(141, 141, 141);
}

.description__table-container .location__item-container {
    display: flex;
    align-items: center;
    padding-block: 1rem;
    gap: 3rem;
    border-radius: 10px;
    padding-inline: 0.6rem;
    transition: 0.3s;
}

.description__table-container .__body .title {
    font-size: var(--fs-xs);
    transition: 0.3s;
    margin-left: auto;
}

.description__table-container .__body .distance-item {
    font-size: calc(var(--fs-xs) - 0.17rem);
}

.description__table-container
.__body
.location__item-container:hover {
    background-color: var(--cl-primary-faded-3);
}

@media (max-width: 968px) {
    @media (max-width: 968px) {
        .hotel__location-container {
            flex-direction: column;
            max-height: none;
            gap: 2rem;
        }

        .description__table-container {
            max-height: 40dvh;
        }

        .description__table-container .__header {
            position: static;
        }
    }
}

.description__table-container
.__body
.location__item-container:hover
.title {
    color: var(--primary-50);
}

.hotel__related-container {
    width: 100%;
    margin-top: 3rem;
}

.hotel__related-container .swiper-slide {
    width: fit-content !important;
}

.hotel__related-container .swiper{
    height: 23.75rem;
}

/* COMMENTS */
.hotel__comments-container {
    display: flex;
    flex-direction: column;
    margin-top: 3rem;
    gap: 1rem;
    width: 100%;
}

.hotel__comments-container > .__title {
    font-size: var(--fs-lg);
    font-weight: 600;
}

/* SEO DESCRIPTION (landing style, full width) */
.hotel-main-container .desc-content-container {
    width: 100%;
}

.hotel__comments-container .comment-form {
    border: 1px solid #dddddd;
    padding: 1rem;
    border-radius: 1rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.hotel__comments-container .comment-form > .__title {
    font-size: var(--fs-md);
    font-weight: 600;
}

.comment-alert {
    padding: 0.75rem 1rem;
    border-radius: 0.75rem;
    font-size: calc(var(--fs-sm) - 0.05rem);
    line-height: 1.6;
}

.comment-alert--success {
    background: rgba(17, 185, 95, 0.1);
    color: #0f8f4a;
    border: 1px solid rgba(17, 185, 95, 0.35);
}

.comment-alert--error {
    background: rgba(220, 53, 69, 0.08);
    color: #b02a37;
    border: 1px solid rgba(220, 53, 69, 0.3);
}

.hotel__comments-container .add-comment-container {
    border: 1px solid rgb(182, 182, 182);
    padding: 1rem;
    border-radius: 1rem;
    width: 100%;
    display: flex;
}

.hotel__comments-container .add-comment-container {
    border: 1px solid rgb(182, 182, 182);
    padding: 1rem;
    border-radius: 1rem;
    width: 100;
    display: flex;
    flex-wrap: wrap;
}

.hotel__comments-container
.add-comment-container
> *:nth-last-child(1) {
    width: 28%;
    margin-right: auto;
}

.hotel__comments-container
.add-comment-container
> *:nth-last-child(2) {
    width: 30%;
}

@media (max-width: 1000px) {
    .hotel__comments-container
    .add-comment-container
    > *:nth-last-child(1) {
        width: 100%;
    }

    .hotel__comments-container
    .add-comment-container
    > *:nth-last-child(2) {
        width: 100%;
    }
}

.hotel__comments-container .rating-stars-container {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 0.5rem;
    cursor: pointer;
    margin-block: 0.5rem;
}

.comment-input-containers {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}

.hotel__comments-container .comment-input-container.submit {
    display: flex;
    width: 100%;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
}

.hotel__comments-container .comment-input-container.submit button {
    background-color: var(--cl-primary);
    color: white;
    font-weight: 500;
    width: auto;
    min-width: 140px;
    padding: 0.5rem 1.5rem;
    border: none;
    outline: none;
    border-radius: 10px;
    cursor: pointer;
}

.comment-input-containers > * {
    flex-basis: 33.3%;
}

.comment-input-containers > *:nth-last-child(1),
.comment-input-containers > .comment-input-container--full {
    flex-basis: 100%;
}

@media (max-width: 900px) {
    .comment-input-containers > * {
        flex-basis: 100%;
    }
}

.hotel__comments-container .comment-input-container {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem;
}

.comment-input-container.inline {
    flex-direction: row;
}

.hotel__comments-container .comment-input-container .label {
    font-size: calc(var(--fs-sm) - 0.1rem);
    font-weight: 500;
    color: gray;
}

.hotel__comments-container .comment-input-container input,
.hotel__comments-container .comment-input-container textarea {
    border: 1px solid #ccc;
    border-radius: 10px;
    outline: none;
    background-color: white;
    padding: 0.5rem 0.8rem;
}

.hotel__comments-container .comment-input-container textarea {
    max-height: 200px;
    height: 100%;
    resize: none;
    overflow: auto;
}

.hotel__comments-container
.comment-input-container
input::placeholder {
    color: #ccc;
}

.hotel__comments-container .comment-input-container input.is-invalid,
.hotel__comments-container .comment-input-container textarea.is-invalid {
    border-color: #dc3545;
}

.hotel__comments-container .field-error {
    color: #dc3545;
    font-size: calc(var(--fs-sm) - 0.15rem);
    line-height: 1.5;
}

.hotel__rules-container {
    display: flex;
    width: 100%;
    flex-direction: column;
    margin-top: 3rem;
}

.rule-card__title-container {
    display: flex;
    flex-direction: column;
}

.rules-container__wrapper {
    border: 1px solid rgb(192, 192, 192);
    border-radius: 20px;
}

.rule-card {
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: center;
    gap: 0.4rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--bg-muted);
}

.rule-card:last-child {
    border-bottom: 0;
}

.rule-card__title {
    font-size: var(--fs-xs);
}

.rule-card__description {
    font-size: calc(var(--fs-xs) - 0.1rem);
    color: gray;
}

.rule-card svg {
    width: 48px;
    height: 48px;
}

.rule-card svg path {
    stroke: rgb(187, 187, 187);
    fill: white;
}

@media (max-width: 900px) {
    .rules-container__wrapper {
        grid-template-columns: 1fr 1fr;
        width: 80vw;
        margin-inline: auto;
    }

    .rule-card__icon {
        margin-top: 0;
        margin-left: 0.5rem;
    }
}

@media (max-width: 768px) {
    .rules-container__wrapper {
        grid-template-columns: 1fr;
        width: 100%;
        margin-inline: auto;
        gap: 1rem;
    }
}

/*! MODAL MODAL */
/*! MUST PUSH TO GLOBAL */
.mb-md {
    margin-bottom: 0.7rem;
}

.modal-container {
    position: fixed;
    left: 50%;
    top: 50%;
    max-width: 80vw;
    max-height: 80dvh;
    background-color: white;
    transform: translate(-50%, -50%);
    border-radius: min(1rem, 1vw);

    pointer-events: none;
    transition: 0.3s;
    opacity: 0;
    z-index: -1;
}

.watermark-img-small {
    pointer-events: none;
}

.pswp {
    z-index: 99999999 !important;
}

.pswp .pswp__hide-on-close {
    opacity: 1 !important;
}

.modal-under-layer {
    background-color: rgba(0, 0, 0, 0.305);
    backdrop-filter: blur(2px);
    left: 0;
    top: 0;
    position: fixed;
    width: 100vw;
    height: 100vh;
    z-index: 10;

    opacity: 0;
    pointer-events: none;
    transition: 0.2s;
}

.modal-under-layer.active {
    opacity: 1;
    pointer-events: auto;
    transition: 0.2s;
}

body:has(.modal-container.active) {
    overflow: hidden;
}

.close-modal-trigger.corner {
    position: absolute;
    left: 1rem;
    top: 1rem;
    cursor: pointer;
    z-index: 1;
}

.close-modal-trigger.corner svg path {
    stroke: black;
}

/* section star comment */
.star-rating input {
    display: none;
}

.star-rating label path {
    cursor: pointer;
    fill: #ccc;
}

.star-rating input:checked ~ label span path {
    fill: #ffc107;
}

.star-rating label:hover span path,
.star-rating label:hover ~ label span path {
    fill: #ffc107;
}

.hotel-observer-section {
    scroll-margin-top: 100px;

}

/*.hotel-observer-section svg {*/
/*    width: 20px;*/
/*    height: 20px;*/
/*}*/

@media (max-width: 768px) {
    .hotel-tabs__tabs-container li {
        margin-left: 0.5rem;
    }
}

.total-rate {
    background-color: rgba(201, 255, 201, 0.46);
    margin: 0 !important;
    display: flex;
    align-items: center;
    font-size: var(--fs-sm);
}

@media (max-width: 768px) {
    .hotel-tabs__icons-container svg {
        width: 15px;
        height: 15px
    }

    .hotel__tabs-container {
        margin-top: 1rem;
    }
}


/* SINGLE CHANGES */
/* single.html */
/* single.css */
/* modal.js */
/* main.css */
/* videos/dog.mp4 */
/* etc */

/* single new update */
.category-item {
    padding: 0.2rem 0.3rem;
    border: 1px solid rgb(198, 198, 198);
    border-radius: 5px;
    font-size: calc(var(--fs-xs) - 0.1rem);
    display: flex;
    align-items: center;
    width: fit-content;
    transition: 0.3s;
}

.category-item:hover {
    color: var(--cl-primary);
}

.hotel__categories-container {
    margin-top: 2rem;
    display: flex;
    width: 100%;
    flex-direction: column;
}

.hotel__categories-container ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.hotel-single-container {
    margin-top: 2rem;
}

.reserve-button {
    text-align: center !important;
}

.booking-filter__item {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid transparent;
    cursor: pointer;
}

.booking-filter__item:hover {
    border-color: var(--primary-50, #e74c3c);
    background-color: rgba(255, 243, 241, 0.5);
}

.booking-filter__item:hover .booking-filter__icon-box {
    background-color: transparent;
}

.booking-filter__item:hover .booking-filter__arrow svg {
    color: var(--primary-50, #e74c3c);
}

.booking-filter .booking-filter__col:nth-child(2) {
    border-right: 1px solid var(--bg-muted);
}

@media (min-width: 996px) {
    .booking-filter__item {
        width: 14rem;
    }
}

.booking-filter {
    width: 30rem;
    max-width: 100%;
    position: sticky;
    inset: 7.3rem 0 0 0;
    z-index: 4;
    transition: 0.3s ease;
}

.booking-filter.is-sticky {
    width: 100%;
    padding: 0;
}

.booking-filter .booking-filter__form {
    border-radius: 1rem;
}

.booking-filter.is-sticky .booking-filter__form {
    border-radius: 0 !important;
}
@media (max-width: 768px) {
    .hotel__categories-container #container-item-categories {
        max-height: 250px;
        overflow: hidden;
        transition: max-height 0.7s;
    }
}
@media (max-width: 768px) {
    #show-more-categories {
        width: 100%;
        color: var(--cl-primary);
        font-size: 12px;
        background: white;
        cursor: pointer;
        align-items: center;
        justify-content: center;
        padding: 15px;
        box-shadow: 0px -10px 30px 15px white;
        position: absolute;
        bottom: -38px;
    }
}
