/* MEDIA QUERIES:MIN ==================== */
@media (min-width: 391px) {
    .hidden-device-2xs {
        display: none !important;
    }
}

@media (min-width: 576px) {
    .hidden-device-xs {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .hidden-device-sm {
        display: none !important;
    }
}

@media (min-width: 992px) {
    .hidden-device-md {
        display: none !important;
    }

    :root {
        --font-size-display: 3.6rem;
        --line-height-display: 1;

        --font-size-h1: 2.8rem;
        --line-height-h1: 1;

        --font-size-h2: 2.4rem;
        --line-height-h2: 1.1;

        --font-size-h3: 1.6rem;
        --line-height-h3: 1.1;

        --font-size-h4: 1.2rem;
        --line-height-h4: 1.1;

        --font-size-body: 1.2rem;
        --line-height-body: 1.5;

        --font-size-button: 1rem;
        --line-height-button: 1.1;
        --font-size-sub2: 1rem;
        --line-height-sub2: 1.1;

        --font-size-sub: 1.2rem;
        --line-height-sub: 1.1;
    }

    @media (min-width: 992px) {
        html:lang(th) {
            --font-size-display: 3.8rem;
            --line-height-display: 1.2;

            --font-size-h1: 3rem;
            --line-height-h1: 1.2;

            --font-size-h2: 2.6rem;
            --line-height-h2: 1.3;

            --font-size-h3: 1.8rem;
            --line-height-h3: 1.3;

            --font-size-h4: 1.4rem;
            --line-height-h4: 1.3;

            --font-size-body: 1.3rem;
            --line-height-body: 1.5;

            --font-size-button: 1.2rem;
            --line-height-button: 1.3;

            --font-size-sub: 1.4rem;
            --line-height-sub: 1.3;

            --font-size-sub2: 1rem;
            --line-height-sub2: 1.3;
        }

        section.full-screen-pc {
            height: 100svh;
        }

        /* ACCOMMODATION SHOWCASE */
        [data-section="accommodation-showcase"] .container {
            --mask-box-image-offset: var(--spacing-xl);
            -webkit-mask-box-image: -webkit-linear-gradient(
                0deg,
                transparent 0%,
                transparent calc(var(--spacing-container) / 2),
                white calc(var(--mask-box-image-offset)),
                white calc(100% - var(--mask-box-image-offset)),
                transparent calc(100% - var(--spacing-container) / 2),
                transparent 100%
            );
        }
    }

    /* HEADER ==================== */
    .panel.is-submenu-open .menu > li:not(.is-active) > a {
        opacity: 0.3;
    }

    .panel.is-submenu-open .menu > li.is-active > a {
        opacity: 1;
    }

    /* FOOTER ==================== */
    .footer-links-accordion {
        display: flex;
        justify-content: space-between;
    }

    .footer-links-accordion > .accordion {
        display: flex;
        flex-direction: column;
    }

    .footer-links-accordion > .accordion > .entry-panel {
        display: block !important;
    }

    .footer-links-accordion > .accordion > .entry-panel ul {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-6xs);
        align-items: center;
    }

    .footer-links-accordion > .accordion > .entry-title {
        pointer-events: none;
        cursor: default;
        padding: 0;
        text-align: center;
        justify-content: center;
        margin-bottom: var(--spacing-2sm);
    }

    .footer-links-accordion > .accordion > .entry-title:after {
        content: none;
    }

    /* PAGE: WEDDING */
    /* Gallery Masonry Column */
    [data-section="gallery-masonry-column"]
        .masonry-column-wrapper.is-scrollable {
        height: 50vw;
        overflow-y: auto;
        overflow-x: hidden;
        min-height: 72rem;
    }

    [data-section="gallery-masonry-column"] .masonry-item:nth-child(odd) {
        aspect-ratio: 1;
    }

    [data-section="gallery-masonry-column"] .masonry-item:nth-child(even) {
        aspect-ratio: 0.75;
    }

    [data-section="gallery-masonry-column"] .masonry-item:nth-child(6n + 4),
    [data-section="gallery-masonry-column"] .masonry-item:nth-child(6n) {
        margin-top: calc(var(--masonry-aspect-offset) * -1);
    }

    /* PAGE: CONTACT */
    /* Transport */
    [data-section="transport"] .content.slide-grid-layout {
        align-items: flex-start;
    }

    [data-section="transport"] .content.slide-grid-layout .card-container {
        margin-left: 0 !important;
        margin-right: 0 !important;
        -webkit-mask-box-image: none !important;
    }

    [data-section="transport"] .content.slide-grid-layout .swiper-wrapper {
        transform: none !important;
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: var(--spacing-4xl) var(--spacing-md);
    }

    [data-section="transport"] .content.slide-grid-layout .swiper-slide {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    [data-section="transport"] .content.slide-grid-layout .swiper-pagination {
        display: none;
    }
}

@media (min-width: 1280px) {
    .hidden-device-lg {
        display: none !important;
    }
}

@media (min-width: 1440px) {
    .hidden-device-xl {
        display: none !important;
    }
}

/* MEDIA QUERIES:MAX ==================== */
@media (max-width: 1439px) {
    .show-xl {
        display: none !important;
    }
}

@media (max-width: 1279px) {
    .show-lg {
        display: none !important;
    }
}

@media (max-width: 991px) {
    .show-md {
        display: none !important;
    }

    :root {
        --header-height: 6rem;
        --spacing-container: var(--spacing-2sm);
        --logo-height: 4.6rem;
        --gap-section: var(--spacing-xl);
    }

    section.full-screen-mb {
        height: 100svh;
    }
    section.square-mb {
        aspect-ratio: 1;
    }
    section.landscape-mb {
        aspect-ratio: 1.7808219178;
    }

    [data-section="full-screen"].landscape-mb {
        height: auto;
        width: 100vw;
    }

    .sc-inner.mb-t-header {
        padding-top: var(--header-height);
    }
    .sc-inner.mb-t-0 {
        padding-top: 0;
    }
    .sc-inner.mb-t-25 {
        padding-top: calc(var(--gap-section) / 4);
    }
    .sc-inner.mb-t-50 {
        padding-top: calc(var(--gap-section) / 2);
    }
    .sc-inner.mb-t-75 {
        padding-top: calc(var(--gap-section) * 3 / 4);
    }
    .sc-inner.mb-t-100 {
        padding-top: var(--gap-section);
    }
    .sc-inner.mb-t-125 {
        padding-top: calc(var(--gap-section) * 1.25);
    }
    .sc-inner.mb-t-150 {
        padding-top: calc(var(--gap-section) * 1.5);
    }
    .sc-inner.mb-t-175 {
        padding-top: calc(var(--gap-section) * 1.75);
    }
    .sc-inner.mb-t-200 {
        padding-top: calc(var(--gap-section) * 2);
    }
    .sc-inner.mb-b-header {
        padding-bottom: var(--header-height);
    }
    .sc-inner.mb-b-0 {
        padding-bottom: 0;
    }
    .sc-inner.mb-b-25 {
        padding-bottom: calc(var(--gap-section) / 4);
    }
    .sc-inner.mb-b-50 {
        padding-bottom: calc(var(--gap-section) / 2);
    }
    .sc-inner.mb-b-75 {
        padding-bottom: calc(var(--gap-section) * 3 / 4);
    }
    .sc-inner.mb-b-100 {
        padding-bottom: var(--gap-section);
    }
    .sc-inner.mb-b-125 {
        padding-bottom: calc(var(--gap-section) * 1.25);
    }
    .sc-inner.mb-b-150 {
        padding-bottom: calc(var(--gap-section) * 1.5);
    }
    .sc-inner.mb-b-175 {
        padding-bottom: calc(var(--gap-section) * 1.75);
    }
    .sc-inner.mb-b-200 {
        padding-bottom: calc(var(--gap-section) * 2);
    }

    /* HEADER ==================== */
    .panel {
        --panel-width: 100%;
        --spacing-container: var(--spacing-2sm);
        --panel-padding-top: var(--spacing-lg);
    }

    .panel.is-submenu-open {
        width: 100%;
    }

    .submenu {
        width: 100%;
        height: calc(100lvh - var(--header-height));
        padding: var(--panel-padding-top) var(--spacing-container)
            var(--panel-padding-bottom);
        left: 0;
        opacity: 1;
        justify-content: flex-start;
        transform: translateX(-100%);
        transition: transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
    }

    .has-submenu.is-active .submenu {
        transform: translateX(0);
    }

    .submenu > *:nth-last-child(2) {
        padding-bottom: calc(
            var(--panel-padding-bottom) + var(--panel-padding-top)
        );
    }

    .submenu-label {
        display: flex;
        align-items: center;
        gap: var(--spacing-xs);
        justify-content: space-between;
    }

    .submenu-close {
        display: flex;
        align-items: center;
        gap: var(--spacing-xs);
        font-size: var(--font-size-button);
        line-height: var(--line-height-button);
        font-weight: var(--font-weight-medium);
        color: var(--color-primary-standard);
        letter-spacing: var(--letter-spacing-button);
    }

    .submenu-label > p {
        font-size: var(--font-size-sub);
        line-height: var(--line-height-sub);
        font-weight: var(--font-weight-medium);
        letter-spacing: var(--letter-spacing-sub);
        color: rgba(var(--color-primary-standard-rgb), 0.5);
        text-transform: uppercase;
    }

    /* FOOTER ==================== */
    #footer {
        padding: var(--spacing-5xl) var(--spacing-container)
            var(--spacing-container);
    }

    /* COMPONENT */
    /* DEFAULT ====================*/

    /* SECTION ====================*/
    /* FORM */
    .fields {
        --gap-y: var(--spacing-sm);
    }
    .field.half-width {
        width: 100%;
    }

    [data-section="form"] .form-wrapper {
        padding: 10rem var(--spacing-container);
    }

    [data-section="form"] .form-label .form-ttl {
        text-wrap: balance;
    }

    [data-section="form"] .fields {
        margin-top: var(--spacing-md);
    }

    [data-section="form"] .form-cta {
        margin-top: var(--spacing-xl);
    }
    /* DUAL BLOCK TEMPLATE */
    .dual-block-wrapper
        [data-section="dual-block"]:nth-child(even)
        .content-media {
        order: 1;
    }

    .dual-block-wrapper
        [data-section="dual-block"]:nth-child(even)
        .content-text {
        order: 2;
    }

    [data-section="dual-block"] .container {
        grid-template-columns: 1fr;
    }

    [data-section="dual-block"] .content-media.media-slide {
        margin-bottom: var(--spacing-2md);
    }

    /* SWIPER CENTER CARD TEMPLATE */
    [data-section="swiper-center-card-template"] .card-container {
        --column: 1.1;
        --gap-x: var(--spacing-container);
    }

    /* SWIPER CARD TEMPLATE */
    [data-section="swiper-card-template"] .sc-header .text {
        text-align: center;
        width: 100%;
        align-items: center;
    }
    [data-section="swiper-card-template"] .container > .cta {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: var(--spacing-4lg);
    }

    [data-section="swiper-card-template"] .card-container {
        --gap-x: var(--spacing-container);
        --column: 1.07;
        margin-top: var(--spacing-xl);
    }

    /* LANDING */
    html.is-safari [data-section="landing"].hero {
        height: 99svh;
    }

    [data-section="landing"].section,
    html.is-safari [data-section="landing"].section {
        width: 100vw;
        height: auto;
        aspect-ratio: 1;
    }

    [data-section="landing"].section .container,
    [data-section="landing"].hero.section .container {
        padding: 0 var(--spacing-container) var(--spacing-md);
        min-height: max(41.02564102564vw, 16rem);
    }

    [data-section="landing"].hero:not(.section) .container {
        padding-bottom: 0;
        align-items: center;
        min-height: max(61.5384615385vw, 24rem);
    }

    [data-section="landing"].hero.section .sc-ttl > * {
        text-wrap: wrap;
    }

    /* ACCOMMODATION SHOWCASE */
    [data-section="accommodation-showcase"] .card-container {
        --gap-x: var(--spacing-container);
        --column: 1;
        margin-top: var(--spacing-xl);
    }

    [data-section="accommodation-showcase"] .swiper-slide:not(:last-child) {
        border-right: 1px solid rgba(var(--color-primary-standard-rgb), 0.1);
    }

    [data-section="accommodation-showcase"].dining
        .swiper-slide:not(:last-child) {
        border-right: none;
    }

    /* ELEMENT ====================*/
    /* BANNER */
    .banner.block {
        aspect-ratio: unset;
    }
    .banner.block .link-overlay,
    .banner.block .banner-overlay {
        display: none;
    }

    .banner.block .cover {
        position: relative;
        aspect-ratio: 1.7777315729;
    }

    .banner.block .banner-content {
        position: relative;
        padding: 0;
        margin-top: var(--spacing-2sm);
        align-items: flex-start;
    }

    .banner.block .banner-content .content-text {
        text-align: left;
        align-items: flex-start;
    }

    .banner.block .banner-content .content-text > * {
        max-width: unset;
        text-wrap: wrap;
    }

    .banner.block .banner-content .content-text .content-ttl > * {
        color: var(--color-primary-warmth);
    }

    .banner.block .banner-content .content-text .content-subttl > * {
        color: var(--color-primary-standard);
    }

    .dining-main
        .banner.block
        .banner-content
        .content-text
        .content-subttl
        > * {
        color: var(--color-primary-warmth);
    }

    .banner.block .banner-content .content-text .content-desc > * {
        color: var(--color-system-body-text);
    }

    .banner.block.with-desc .banner-content .content-text .content-ttl {
        margin-bottom: var(--spacing-3xs);
    }

    .banner.block.with-desc .banner-content .content-cta .button {
        --button-border: var(--border-width) var(--border-style)
            var(--color-primary-warmth);
        --button-hover-border: var(--border-width) var(--border-style) #935048;
        --button-bg: var(--color-primary-warmth);
        --button-hover-bg: #935048;
        --button-color: var(--color-white);
        --button-hover-color: var(--color-white);
    }

    .banner.block.with-desc .banner-content .content-cta .button.outline {
        display: none;
    }

    .banner .banner-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(0, 0, 0, 0) 30.21%,
                rgba(0, 0, 0, 0.6) 84.89%
            ),
            linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2));
    }

    .banner .banner-content {
        padding-bottom: var(--spacing-md);
        flex-direction: column;
        align-items: center;
    }

    .banner .banner-content .content-text {
        align-items: center;
        text-align: center;
        gap: var(--spacing-xs);
    }

    .banner .banner-content .content-cta {
        gap: var(--spacing-2xs);
    }

    /* EXCLUSIVE OFFER CARD */
    [data-card="exclusive-offer"] .card-category {
        top: var(--spacing-container);
        left: var(--spacing-container);
    }
    [data-card="exclusive-offer"] .card-content {
        max-width: 40rem;
        padding: var(--spacing-container);
        padding-bottom: var(--spacing-md);
    }
    [data-card="exclusive-offer"] .card-content .card-desc > * {
        line-clamp: 3;
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        text-wrap: balance;
    }

    /* FACILITY CARD */
    [data-card="facility"] .card-content {
        max-width: 45rem;
    }

    /* ACCOMMODATION CARD */
    [data-card="accommodation"] .card-icons {
        opacity: 1;
    }

    .dining [data-card="accommodation"] .card-content {
        padding-bottom: var(--spacing-3xs);
    }
    [data-card="accommodation"] .card-content {
        padding-bottom: var(--spacing-2sm);
        padding-left: 0;
        padding-right: 0;
    }
    [data-card="accommodation"].accommodation-full:nth-child(odd):not(
            :last-child
        ):after {
        display: none;
    }

    [data-card="accommodation"].accommodation-full .card-icons-scroll {
        gap: var(--icon-gap);
    }

    [data-card="accommodation"].accommodation-full .card-icons .icon {
        flex: 0 0 var(--icon-size);
        max-width: var(--icon-size);
    }

    [data-card="accommodation"].accommodation-full .card-content,
    [data-card="accommodation"].accommodation-full .card-icons {
        padding-left: 0;
    }

    [data-card="accommodation"].accommodation-full .card-content {
        align-items: center;
        text-align: center;
    }

    [data-card="accommodation"].accommodation-full .card-cta {
        padding-left: 1px;
        margin-top: var(--spacing-md);
    }

    [data-card="accommodation"].accommodation-full .card-cta .button {
        min-width: 15.5rem;
    }

    /* PAGE */
    /* PAGE: INDEX */
    [data-section="index-hero"] .hero-content-header {
        padding: var(--spacing-xl) var(--spacing-container) var(--spacing-lg);
    }

    [data-section="index-hero"] .hero-content-header .hero-content-flex {
        position: absolute;
        top: 0;
        left: 0;
        padding: var(--spacing-container);
    }

    [data-section="index-hero"] .hero-logo {
        width: 59.7435897436vw;
    }

    [data-section="index-hero"] .hero-content-footer {
        background: linear-gradient(360deg, #000000 0%, rgba(0, 0, 0, 0) 100%);
        padding: var(--spacing-4xl) var(--spacing-lg) var(--spacing-5xl);
    }

    [data-section="index-hero"] .hero-content-footer .hero-content-flex {
        justify-content: center;
    }

    /* GRID LINKS */
    [data-section="grid-links"] .card-container {
        --gap-y: var(--spacing-container);
        --column: 1;
    }

    [data-card="grid-link"] .cover:before {
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.6) 100%
        );
    }

    [data-card="grid-link"] .card-content {
        padding: var(--spacing-2sm);
    }

    /* INDEX BANNER */
    #index-banner .button {
        padding: var(--spacing-sm) var(--spacing-2xs) !important;
    }

    /* PAGE: ABOUT */
    /* BANNERS */
    [data-section="banner-wrapper"] .container {
        gap: var(--spacing-3xl);
    }

    [data-section="banner-wrapper"].wider-gap-mb .container {
        gap: var(--spacing-5xl);
    }

    /* INSTAGRAM */
    [data-section="instagram"] .sc-header {
        margin-bottom: var(--spacing-md);
    }

    [data-section="instagram"] .marquee-wrapper:not(.is-static) {
        overflow: hidden;
    }

    [data-section="instagram"] .ig-item {
        width: 35.8974358974vw;
    }

    [data-section="instagram"] .marquee {
        gap: var(--spacing-2sm);
        padding-left: var(--spacing-2sm);
    }

    /* PAGE: ACCOMMODATIONS */
    [data-section="accommodations"] .card-container {
        --column: 1;
        --gap-y: var(--spacing-xl);
    }

    /* PAGE: ACCOMMODATION SINGLE */
    /* LANDING */
    [data-section="accom-single-landing"] .sc-media:before {
        content: none;
    }

    [data-section="accom-single-landing"] .content {
        --gap-x: var(--spacing-2sm);
        position: static;
        padding-bottom: 0;
        padding-top: var(--spacing-2sm);
    }

    [data-section="accom-single-landing"] .content .button.underline {
        --button-color: var(--color-primary-standard);
        --button-hover-color: rgba(var(--color-primary-standard-rgb), 0.5);
    }

    /* PAGE: WELLNESS */
    /* Block Template 1 */
    [data-section="block-template-1"] .container {
        flex-direction: column-reverse;
    }

    [data-section="block-template-1"] .block-media {
        width: 100%;
    }

    [data-section="block-template-1"] .block-text {
        width: 100%;
        align-items: center;
        text-align: center;
    }

    [data-section="block-template-1"] .block-text .block-ttl {
        max-width: unset;
    }

    /* Block Template 2 */
    [data-section="block-template-2"] .sc-header {
        align-items: center;
    }

    [data-section="block-template-2"] .sc-header .sc-cta {
        gap: var(--spacing-4xs);
        align-items: center;
    }

    [data-section="block-template-2"] .sc-content {
        grid-template-columns: 1fr;
        gap: var(--spacing-xl);
    }

    [data-section="block-template-2"] .sc-content .sc-content-item {
        gap: var(--spacing-2sm);
        width: calc(100vw - var(--spacing-container) * 2);
    }

    [data-section="block-template-2"] .sc-content .sc-content-item .media {
        width: 46.4912280702%;
        height: fit-content;
        flex-shrink: 0;
    }

    [data-section="block-template-2"] .sc-content .sc-content-item .text {
        width: auto;
        flex-grow: 1;
    }

    /* Block Template 3 */
    [data-section="block-template-3"] .container {
        flex-direction: column;
        gap: var(--spacing-xl);
    }

    [data-section="block-template-3"].wide-gap .container {
        gap: var(--spacing-md);
    }

    [data-section="block-template-3"] .block-text {
        align-items: center;
        text-align: center;
        gap: var(--spacing-xs);
        width: 100%;
    }

    [data-section="block-template-3"].a-left .block-text {
        text-align: left;
        align-items: flex-start;
    }

    [data-section="block-template-3"] .block-media,
    [data-section="block-template-3"].wide-gap .block-media {
        gap: var(--spacing-2sm);
        width: 100%;
    }

    [data-section="block-template-3"] .block-media .media[data-media="1"] {
        width: 62.5730994152%;
    }

    /* PAGE: MEETINGS AND EVENTS */
    [data-section="dual-block"]
        .content-text
        [class*="block-content"]
        .block-text {
        gap: var(--spacing-sm);
    }

    /* LOGOS */
    [data-section="logos"] .marquee-wrapper.is-static .logo-container {
        gap: var(--spacing-2xs);
    }

    [data-section="logos"] .logo {
        width: 11rem;
    }

    [data-section="logos"] .logo .logo-color {
        opacity: 1;
    }

    /* MEETING TABS */
    [data-section="accommodation-showcase"].meeting .card-container {
        margin-top: var(--spacing-4xs);
    }

    [data-section="accommodation-showcase"].meeting
        .swiper-slide:not(:last-child) {
        border-right: none;
    }

    [data-section="accommodation-showcase"].meeting
        .swiper-horizontal
        > .swiper-pagination-bullets {
        margin-top: var(--spacing-xl);
    }

    [data-section="meeting-tabs"] .room-plan .room-cta {
        gap: var(--spacing-md);
    }

    [data-section="meeting-tabs"] .meeting-capacity-table-wrap {
        margin-top: var(--spacing-2sm);
    }

    [data-section="meeting-tabs"] .meeting-capacity-table {
        padding: 0;
    }

    [data-section="meeting-tabs"] .meeting-capacity-table th,
    [data-section="meeting-tabs"] .meeting-capacity-table td {
        width: 14.8rem;
    }

    [data-section="meeting-tabs"]
        .meeting-capacity-table
        .meeting-capacity-table__col-room {
        width: 15.8rem;
    }

    [data-section="meeting-tabs"] .scroll-indicator {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--spacing-xs);
        margin-top: var(--spacing-md);
        color: var(--color-primary-standard);
    }

    /* PAGE: WEDDING */
    /* Block Template 4 */
    [data-section="block-template-4"] .container {
        flex-direction: column;
        gap: var(--spacing-3xl);
    }

    [data-section="block-template-4"] .block-slide {
        width: 100%;
        aspect-ratio: 1.6842105263;
    }

    /* Gallery Masonry Column */
    [data-section="gallery-masonry-column"] .masonry-column {
        --column: 2;
        --gap: var(--spacing-2sm);
    }

    [data-section="gallery-masonry-column"]
        .masonry-column-wrapper.is-scrollable {
        height: 81.25vw;
        overflow-y: auto;
        overflow-x: hidden;
        min-height: 48rem;
    }

    [data-section="gallery-masonry-column"] .masonry-item[data-aspect="0.75"] {
        aspect-ratio: 0.75;
    }

    [data-section="gallery-masonry-column"] .masonry-item[data-aspect="1"] {
        aspect-ratio: 1;
    }

    [data-section="gallery-masonry-column"] .masonry-item:nth-child(4n + 3) {
        margin-top: calc(var(--masonry-aspect-offset) * -1);
    }

    /* PAGE: EXCLUSIVE OFFER */
    /* TABS GRID */
    [data-section="tabs-grid"] .tab-links {
        --gap-x: var(--spacing-2xs);
    }

    [data-section="tabs-grid"] .tab-links .swiper-slide:first-child .button {
        min-width: 11rem;
    }

    [data-section="tabs-grid"] .container {
        gap: var(--spacing-md);
    }

    [data-section="tabs-grid"] .tab-contents {
        margin-top: var(--spacing-3xl);
    }

    /* BENEFITS */
    [data-section="accommodation-showcase"].benefits .card-container {
        --column: 1;
    }

    [data-section="accommodation-showcase"].benefits
        .swiper-slide:not(:last-child) {
        border-right: none;
    }

    /* PAGE: OFFER SINGLE */
    [data-section="offer-single"] .sc-header {
        margin-bottom: var(--spacing-5xl);
    }

    [data-section="offer-single"] .content {
        gap: var(--spacing-5xl);
        flex-direction: column;
    }

    [data-section="offer-single"] .content .media {
        width: 100%;
    }

    [data-section="offer-single"] .content .text {
        width: 100%;
    }

    [data-section="offer-single"] .share {
        margin-top: var(--spacing-5xl);
    }

    /* PAGE: NOT FOUND */
    html.is-safari .error-page #main {
        overflow: visible;
    }

    html.is-safari [data-section="not-found"] {
        height: 99svh;
        overflow: visible;
    }

    html.is-safari [data-section="not-found"] .cover {
        height: 120%;
    }

    [data-section="not-found"] .cover:after {
        background: linear-gradient(
            180deg,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.7) 100%
        );

        position: absolute;
        width: 100%;
        height: 50dvh;
        inset: unset;
        bottom: 0;
        left: 0;
    }

    html.is-safari [data-section="not-found"] .cover:after {
        height: 70dvh;
    }

    [data-section="not-found"] .content {
        flex-direction: column;
        align-items: center;
        gap: var(--spacing-md);
        padding: var(--spacing-md) var(--spacing-container);
        text-align: center;
    }

    /* PAGE: POLICY */
    [data-section="policy"] .sc-ttl {
        margin-bottom: var(--spacing-5xl);
    }

    /* PAGE: CONTACT */
    /* Contact */
    [data-section="contact"] .sc-ttl {
        margin-bottom: var(--spacing-5xl);
    }

    [data-section="contact"] .contact-content {
        flex-direction: column;
    }

    [data-section="contact"] .contact-content .map,
    [data-section="contact"] .contact-content .info {
        width: 100%;
    }

    [data-section="contact"] .contact-content .info {
        padding-right: 0;
    }

    /* Transport */
    [data-section="transport"] .content {
        flex-direction: column;
        --gap: var(--spacing-xl);
    }

    [data-section="transport"] .content .media {
        width: 100%;
    }

    [data-section="transport"] .content .slide {
        width: 100%;
    }

    [data-section="transport"] .card-container {
        --gap-x: var(--spacing-container);
        --column: 1;
        --mask-box-image-offset: var(--spacing-container);
    }

    /* Fancybox gallery – close + arrows only */

    .is-horizontal.is-ltr .f-button.is-arrow.is-next,
    .is-horizontal.is-ltr .f-button.is-arrow.is-prev {
        --f-arrow-pos: var(--spacing-4xs);
    }

    .f-carousel__toolbar {
        --f-toolbar-padding: var(--spacing-xs);
    }
}

@media (max-width: 767px) {
    .show-sm {
        display: none !important;
    }
}

@media (max-width: 575px) {
    .show-xs {
        display: none !important;
    }
}

@media (max-width: 390px) {
    .show-2xs {
        display: none !important;
    }
}
