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

/* SECTION ====================*/
/* FORM */
[data-section="form"] .form-wrapper {
    max-width: 86.5rem;
    background-color: #ececec;
    padding: 14.5rem 11rem;
    margin: 0 auto;
}

[data-section="form"] .form-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--spacing-sm);
}

.meetings-and-events-main [data-section="form"] .form-label .form-desc {
    max-width: 48rem;
}

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

[data-section="form"] .wpcf7-form.invalid .wpcf7-response-output {
    display: block;
    margin-top: var(--spacing-md);
    color: var(--color-error);
    font-size: var(--font-size-body);
    text-align: center;
}

[data-section="form"] .wpcf7-form .wpcf7-not-valid {
    border-bottom-color: var(--color-error);
}

[data-section="form"] .form-cta {
    display: flex;
    justify-content: center;
    margin-top: var(--spacing-lg);
}

/* DUAL BLOCK TEMPLATE */
.dual-block-wrapper [data-section="dual-block"]:nth-child(even) .content-media {
    order: 2;
}

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

[data-section="dual-block"] .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-md);
}

[data-section="dual-block"] .content-media {
    aspect-ratio: 1.3326446281;
    position: relative;
    min-width: 0;
}

[data-section="dual-block"] .content-media > .swiper.auto.fade {
    height: 100%;
    overflow: visible;
}

[data-section="dual-block"] .content-text .entry-content *:is(b, strong) {
    color: var(--color-system-body-text);
}

[data-section="dual-block"] .sc-cta a.cta-item > span {
    transition: opacity var(--duration) var(--timing-function);
}

html.no-touchevents
    [data-section="dual-block"]
    .sc-cta
    a.cta-item:hover
    > span {
    opacity: 0.5;
}

.swiper-controls {
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
    margin-top: var(--spacing-sm);
}

.swiper-controls > * {
    pointer-events: auto;
}

.swiper-controls .swiper-pagination.custom {
    position: static;
    width: auto;
    max-width: none;
    line-height: 1;
    gap: 0;
    font-size: var(--font-size-sub);
    line-height: var(--line-height-sub);
    letter-spacing: var(--letter-spacing-sub);
    font-weight: var(--font-weight-medium);
    color: var(--color-primary-warmth);
}

.swiper-controls .swiper-navigation {
    display: flex;
    position: static;
    gap: var(--spacing-3xs);
}

.swiper-controls .swiper-navigation *[class*="swiper-button-"] {
    position: static;
    transform: none;
}

[data-section="dual-block"] .content-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

[data-section="dual-block"] .content-text [class*="block-content"] {
    gap: var(--spacing-2sm);
    max-width: 42rem;
    text-wrap: wrap;
}

[data-section="dual-block"] .content-text [class*="block-content"] .block-text {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    text-wrap: wrap;
}

[data-section="dual-block"] .content-text [class*="block-content"] ul {
    max-width: 38rem;
    align-self: center;
    margin: 0 auto;
}

[data-section="dual-block"] .content-text [class*="block-content"] ul,
[data-section="dual-block"] .content-text .list-container ul {
    list-style: square;
    list-style-position: outside;
    padding-left: var(--spacing-sm);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-7xs);
}

[data-section="dual-block"]
    .content-text
    [class*="block-content"]
    ul
    li::marker,
[data-section="dual-block"] .content-text .list-container ul li::marker {
    color: var(--color-primary-warmth);
}

[data-section="dual-block"] .content-text .list-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-3xs);
    margin-top: var(--spacing-xl);
}
[data-section="dual-block"] .list-container .list-ttl {
    text-align: center;
    margin-bottom: var(--spacing-2xs);
}

[data-section="dual-block"] .content-text .block-icon {
    display: flex;
    align-items: center;
    gap: var(--spacing-5xs);
    color: var(--color-primary-warmth);
}

[data-section="dual-block"] .content-text .block-icon .icon {
    width: 2rem;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* SWIPER CENTER CARD TEMPLATE */
[data-section="swiper-center-card-template"] .block-content-center {
    margin: 0 auto;
    gap: var(--spacing-2sm);
}

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

[data-section="swiper-center-card-template"] .swiper {
    overflow: visible;
}

[data-card="swiper-center-card"] .card-media {
    aspect-ratio: 1.7777900278;
    position: relative;
    opacity: 0.3;
    transition: opacity var(--duration) var(--timing-function) 0.2s;
}

[data-section="swiper-center-card-template"]
    .swiper-slide-active
    [data-card="swiper-center-card"]
    .card-media {
    opacity: 1;
}

[data-section="swiper-center-card-template"] .card-content {
    opacity: 0;
    padding-top: var(--spacing-2sm);
    text-align: center;
    text-wrap: balance;
    max-width: 49rem;
    margin: 0 auto;
    transition: opacity var(--duration) var(--timing-function) var(--duration);
}
[data-section="swiper-center-card-template"]
    .swiper-slide-active
    [data-card="swiper-center-card"]
    .card-content {
    opacity: 1;
}

/* INSTAGRAM */
[data-section="instagram"] {
    background-color: var(--color-primary-warmth);
}

[data-section="instagram"] .sc-header {
    gap: 0;
    margin-bottom: var(--spacing-md);
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-wrap: balance;
}

[data-section="instagram"] .ig-item {
    width: 19.5rem;
    aspect-ratio: 1;
    flex-shrink: 0;
    position: relative;
}

[data-section="instagram"] .marquee-wrapper {
    margin-top: var(--spacing-xl);
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: var(--spacing-container);
    padding-right: var(--spacing-container);
}

[data-section="instagram"] .marquee-wrapper.is-static .marquee {
    display: flex !important;
    flex-direction: row;
    gap: var(--spacing-md);
    width: 100%;
    padding-left: 0;
}

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

[data-section="instagram"] .marquee-wrapper.is-static .ig-item {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
}

/* SWIPER CARD TEMPLATE */
[data-section="swiper-card-template"] .sc-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--spacing-xl);
}

[data-section="swiper-card-template"] .sc-header .text {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3xs);
}

[data-section="swiper-card-template"] .card-container {
    --gap-x: var(--spacing-md);
    --column: 3.5;
}

[data-section="swiper-card-template"] .swiper {
    overflow: visible;
}

/* LANDING */
[data-section="landing"] {
    width: 100vw;
    height: 100svh;
    overflow: hidden;
}

[data-section="landing"] .container {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    padding: 0 var(--spacing-container) var(--spacing-xl);
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

[data-section="landing"].section .container {
    min-height: max(19.3055555556vw, 27.8rem);
}

[data-section="landing"].hero .container {
    min-height: max(14.7916666667vw, 21.3rem);
}

[data-section="landing"].hero .cover:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background-color: rgba(var(--color-black-rgb), 0.1);
}

[data-section="landing"] .container .content-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.7) 100%
    );
}

[data-section="landing"] .sc-ttl {
    position: relative;
    z-index: 4;
}

[data-section="landing"] .sc-ttl > * {
    text-align: center;
    text-wrap: balance;
    color: var(--color-primary-baseline);
}

/* INFO TEMPLATE */
[data-section="info-template"] [class*="block-content"] {
    margin: 0 auto;
}

[data-section="info-template"] .block-ttl {
    color: var(--color-primary-warmth);
    text-wrap: wrap;
}

[data-section="info-template"] .block-cta {
    width: 100%;
    justify-content: center;
    align-items: center;
    padding-left: 1px;
}

/* ACCOMMODATION SHOWCASE */
[data-section="accommodation-showcase"] .sc-ttl {
    color: var(--color-primary-warmth);
    text-align: center;
    text-wrap: balance;
}

[data-section="accommodation-showcase"] .card-container {
    --gap-x: var(--spacing-md);
    --column: 3;
    margin-top: var(--spacing-xl);
}

[data-section="accommodation-showcase"] .swiper {
    overflow: visible;
}

/* ELEMENT ====================*/
/* BANNER */
.banner {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.banner.block {
    height: auto;
    aspect-ratio: 1.7777777778;
}

.banner.light-overlay .banner-overlay {
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 65.99%,
        rgba(0, 0, 0, 0.5) 100%
    );
}

.banner .link-overlay {
    z-index: 5;
}
.banner .banner-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)),
        linear-gradient(
            180deg,
            rgba(0, 0, 0, 0) 60.91%,
            rgba(0, 0, 0, 0.4) 100%
        );
}

.banner .banner-content {
    position: absolute;
    z-index: 10;
    pointer-events: none;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--spacing-container);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    color: var(--color-primary-baseline);
    gap: var(--spacing-2sm);
}

.banner .banner-content .content-text {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xs);
    color: var(--color-primary-baseline);
}

.banner .banner-content .content-text > * {
    max-width: 50rem;
    text-wrap: balance;
}

.banner.desc-md .banner-content .content-text > * {
    max-width: 53rem;
    text-wrap: wrap;
}

.banner .banner-content .content-text .content-ttl > *,
.banner .banner-content .content-text .content-subttl > *,
.banner .banner-content .content-text .content-desc > * {
    color: var(--color-primary-baseline);
}

.banner .banner-content .content-cta {
    display: inline-grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: var(--spacing-sm);
    pointer-events: auto;
}

.banner .banner-content .content-cta .button {
    width: 100%;
}

/* EXCLUSIVE OFFER CARD */
[data-card="exclusive-offer"] {
    aspect-ratio: 0.7730627306;
    position: relative;
    overflow: hidden;
}

[data-card="exclusive-offer"] .cover {
    z-index: 1;
    transition: transform var(--duration) var(--timing-function);
}

[data-card="exclusive-offer"] .cover:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 32.41%,
        rgba(0, 0, 0, 0.7) 100%
    );
}

html.no-touchevents [data-card="exclusive-offer"]:hover .cover {
    transform: scale(1.05);
}

[data-card="exclusive-offer"] .card-category {
    position: absolute;
    top: var(--spacing-md);
    left: var(--spacing-md);
    z-index: 2;
    border: 1px solid var(--color-white);
    backdrop-filter: blur(44px);
    background-color: rgba(var(--color-white-rgb), 0.03);
    padding: var(--spacing-4xs);
    color: var(--color-primary-baseline);
}

[data-card="exclusive-offer"] .card-content {
    gap: var(--spacing-3xs);
    padding: var(--spacing-2sm);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    color: var(--color-primary-baseline);
}

[data-card="exclusive-offer"] .card-content > * {
    max-width: 32rem;
}

[data-card="exclusive-offer"] .card-content .card-ttl > * {
    color: var(--color-primary-baseline);
    text-wrap: balance;
}

[data-card="exclusive-offer"] .card-content .card-desc > * {
    line-clamp: 2;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-wrap: balance;
}

/* FACILITY CARD */
[data-card="facility"] .card-media {
    aspect-ratio: 1;
    position: relative;
}

html.no-touchevents [data-card="facility"]:hover .card-media *:is(img, video) {
    transform: scale(1.05);
}

[data-card="facility"] .card-content {
    gap: var(--spacing-3xs);
    margin-top: var(--spacing-2sm);
}

/* ACCOMMODATION CARD */
[data-card="accommodation"],
[data-section="entry-content-accordion"] {
    --icon-gap: var(--spacing-2xs);
    --column: 4;
    --text-align: center;
}
[data-card="accommodation"] .card-media {
    aspect-ratio: 1.7777777778;
    position: relative;
}

html.no-touchevents
    [data-card="accommodation"]:hover
    .card-media
    *:is(img, video) {
    transform: scale(1.05);
}

[data-card="accommodation"].accommodation-full:nth-child(odd):not(
        :last-child
    ):after {
    content: "";
    position: absolute;
    top: 0;
    right: calc(-1 * var(--spacing-md) / 2);
    height: 100%;
    border-right: 1px solid rgba(var(--color-primary-standard-rgb), 0.1);
}

[data-card="accommodation"].accommodation-full .card-body {
    display: flex;
    justify-content: space-between;
    gap: var(--spacing-md);
    padding: var(--spacing-2sm) 0;
    padding-bottom: var(--spacing-md);
}

[data-card="accommodation"].accommodation-full .card-content {
    padding: 0;
    padding-left: var(--spacing-2xs);
    align-items: flex-start;
    text-align: left;
    max-width: 43.2rem;
}

[data-card="accommodation"].accommodation-full .card-content .card-desc > * {
    line-clamp: 3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

[data-card="accommodation"] .card-content {
    align-items: center;
    justify-content: flex-start;
    gap: var(--spacing-3xs);
    padding: var(--spacing-2sm) min(var(--spacing-lg), 2.7777777778vw);
    /* padding-bottom: 0; */
}
.dining [data-card="accommodation"] .card-content {
    padding-bottom: 0;
}

[data-card="accommodation"].accommodation-full .card-cta .button {
    min-width: 13.9rem;
    padding: var(--spacing-sm) var(--spacing-4xs) !important;
}

html.no-touchevents [data-card="accommodation"]:hover .card-icons {
    opacity: 1;
}

[data-card="accommodation"] .card-icons,
[data-section="entry-content-accordion"] .card-icons {
    position: relative;
    z-index: 3;
    --icon-columns: 4;
    --mask-box-image-offset: var(--spacing-sm);
    display: flex;
    justify-content: center;
    width: 100%;
    opacity: 0;
    transition: opacity var(--duration) var(--timing-function);
    text-align: center;
}

[data-card="accommodation"].accommodation-full .card-icons,
[data-section="entry-content-accordion"] .card-icons {
    opacity: 1;
    padding-left: var(--spacing-2xs);
}

[data-card="accommodation"].accommodation-full .card-icons .icon {
    flex: 0 0 auto;
    max-width: none;
}

[data-card="accommodation"].accommodation-full .card-icons .icon.icon-w-sm,
[data-section="entry-content-accordion"] .card-icons .icon.icon-w-sm {
    flex: 0 0 6rem;
    max-width: 6rem;
}

[data-card="accommodation"].accommodation-full .card-icons .icon.icon-w-md,
[data-section="entry-content-accordion"] .card-icons .icon.icon-w-md {
    flex: 0 0 10rem;
    max-width: 10rem;
}

[data-card="accommodation"].accommodation-full .card-icons .icon.icon-w-auto,
[data-section="entry-content-accordion"] .card-icons .icon.icon-w-auto {
    flex: 0 0 auto;
    max-width: none;
}

[data-card="accommodation"].accommodation-full .card-icons-scroll,
[data-section="entry-content-accordion"] .card-icons-scroll {
    gap: var(--spacing-2sm);
}

[data-card="accommodation"] .card-icons-scroll,
[data-section="entry-content-accordion"] .card-icons-scroll {
    display: flex;
    gap: var(--icon-gap);
    width: 100%;
    max-width: 100%;
    --icon-size: calc(
        (100% - var(--icon-gap) * (var(--icon-columns) - 1)) /
            var(--icon-columns)
    );
}

[data-card="accommodation"] .card-icons.is-centered .card-icons-scroll,
[data-section="entry-content-accordion"]
    .card-icons.is-centered
    .card-icons-scroll {
    justify-content: center;
}

[data-card="accommodation"] .card-icons.is-scrollable,
[data-section="entry-content-accordion"] .card-icons.is-scrollable {
    justify-content: flex-start;
}

[data-card="accommodation"] .card-icons.is-scrollable .card-icons-scroll,
[data-section="entry-content-accordion"]
    .card-icons.is-scrollable
    .card-icons-scroll {
    overflow-y: hidden;
    overflow-x: auto;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-x: contain;
    --mask-box-image-offset: var(--spacing-lg);
    -webkit-mask-box-image: -webkit-linear-gradient(
        0deg,
        transparent 0%,
        white calc(var(--mask-box-image-offset) / 3.2),
        white calc(100% - var(--mask-box-image-offset)),
        transparent 100%
    );
}

[data-card="accommodation"]
    .card-icons.is-scrollable
    .card-icons-scroll::-webkit-scrollbar,
[data-section="entry-content-accordion"]
    .card-icons.is-scrollable
    .card-icons-scroll::-webkit-scrollbar {
    display: none;
}

[data-card="accommodation"] .icon,
[data-section="entry-content-accordion"] .icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-wrap: balance;
    gap: var(--spacing-4xs);
    color: var(--color-primary-warmth);
    flex: 0 0 var(--icon-size);
    max-width: var(--icon-size);
}

[data-card="accommodation"]
    .card-icons.is-scrollable
    .card-icons-scroll
    .icon:last-child,
[data-section="entry-content-accordion"]
    .card-icons.is-scrollable
    .card-icons-scroll
    .icon:last-child {
    margin-right: var(--spacing-md);
}

/* PAGE */
/* PAGE: INDEX */
.page-index .header-stack {
    transform: translateY(-100%);
    transition: transform var(--duration) var(--timing-function);
}

.header-past-hero .header-stack {
    transform: translateY(0);
}

[data-section="index-hero"] {
    height: 123.45679012svh;
    overflow: clip;
}

[data-section="index-hero"]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background-color: rgba(var(--color-black-rgb), 0.1);
}

[data-section="index-hero"] .hero-content {
    position: sticky;
    top: 0;
    z-index: 5;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--spacing-md);
}

[data-section="index-hero"] .hero-content-header {
    background: linear-gradient(
        360deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.5) 100%
    );
    padding: var(--spacing-lg) var(--spacing-container);
}

[data-section="index-hero"] .hero-logo {
    aspect-ratio: 2.118452381;
    width: 24.7152777778vw;
    margin: 0 auto;
}

[data-section="index-hero"] .hero-content-footer {
    background: linear-gradient(
        360deg,
        rgba(0, 0, 0, 0.79) 0%,
        rgba(0, 0, 0, 0) 100%
    );
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--spacing-md);
    padding: var(--spacing-xl);
    min-height: max(14.7916666667vw, 21.3rem);
}

[data-section="index-hero"] .hero-content-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-md);
    width: 100%;
    color: var(--color-primary-baseline);
}

[data-section="index-hero"] .content-desc {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
    letter-spacing: var(--letter-spacing-h2);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    text-align: center;
}

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

[data-card="grid-link"] {
    aspect-ratio: 1.5;
    position: relative;
    display: flex;
    align-items: flex-end;
}

[data-card="grid-link"] .link-overlay {
    z-index: 5;
}

html.no-touchevents [data-card="grid-link"]:hover .cover *:is(img, video) {
    transform: scale(1.05);
}

[data-card="grid-link"] .cover:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0.52) 100%
    );
}

[data-card="grid-link"] .card-content {
    width: 100%;
    padding: var(--spacing-md);
    gap: var(--spacing-3xs);
    color: var(--color-primary-baseline);
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 2;
}

[data-card="grid-link"] .card-ttl > * {
    color: var(--color-primary-baseline);
}

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

/* PAGE: ACCOMMODATIONS */
[data-section="info-template"].accommodations-info-template .block-desc {
    max-width: 54rem;
    text-wrap: wrap;
}

/* ACCOMMODATIONS */
[data-section="accommodations"] .card-container {
    --column: 2;
    --gap-x: var(--spacing-md);
    --gap-y: var(--spacing-3lg);
}

/* PAGE: ACCOMMODATION SINGLE */
/* LANDING */
[data-section="accom-single-landing"] .sc-media {
    aspect-ratio: 1.7777777778;
    position: relative;
    overflow: hidden;
}

[data-section="accom-single-landing"] .sc-media > div {
    width: 100%;
    height: 100%;
}

[data-section="accom-single-landing"] .sc-media:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: #0000001a;
}

[data-section="accom-single-landing"] .content {
    --gap-x: var(--spacing-sm);
    color: var(--color-primary-baseline);
    padding: 0 var(--spacing-container);
    padding-bottom: var(--spacing-4lg);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    margin-left: calc((var(--gap-x) * -1) / 2);
    margin-right: calc((var(--gap-x) * -1) / 2);
    --mask-box-image-offset: var(--spacing-lg);
    -webkit-mask-box-image: -webkit-linear-gradient(
        0deg,
        transparent 0%,
        white calc(var(--mask-box-image-offset)),
        white calc(100% - var(--mask-box-image-offset)),
        transparent 100%
    );
}

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

[data-section="accom-single-landing"] .swiper {
    overflow: visible;
}

[data-section="accom-single-landing"] .swiper-slide {
    width: auto !important;
    padding-left: calc(var(--gap-x) / 2);
    padding-right: calc(var(--gap-x) / 2);
}

/* ENTRY CONTENT ACCORDION */
[data-section="entry-content-accordion"] .container {
    max-width: 64.6rem;
}

[data-section="entry-content-accordion"] .accordion-container {
    margin-top: var(--spacing-md);
}

[data-section="entry-content-accordion"] .entry-title {
    padding-top: var(--spacing-2sm);
    padding-bottom: var(--spacing-2sm);
}

[data-section="entry-content-accordion"] .accordion {
    border-bottom: 1px solid rgba(var(--color-primary-standard-rgb), 0.1);
}

[data-section="entry-content-accordion"] .accordion:first-child {
    border-top: 1px solid rgba(var(--color-primary-standard-rgb), 0.1);
}

[data-section="entry-content-accordion"] .accordion .entry-panel {
    padding-bottom: var(--spacing-2sm);
}

[data-section="entry-content-accordion"] .card-icons {
    padding-left: 0;
}

/* TABS GALLERY */
[data-section="tabs-gallery"] .container {
    max-width: 110rem;
}
[data-section="tabs-gallery"] .tab-links {
    --gap-x: var(--spacing-md);
    margin-left: calc((var(--gap-x) * -1) / 2);
    margin-right: calc((var(--gap-x) * -1) / 2);
}
[data-section="tabs-gallery"] .tab-links .swiper {
    overflow: visible;
}

[data-section="tabs-gallery"] .tab-links .swiper-slide {
    width: auto !important;
    padding-left: calc(var(--gap-x) / 2);
    padding-right: calc(var(--gap-x) / 2);
}

[data-section="tabs-gallery"] .tab-links .tab > a:after {
    content: "";
    position: absolute;
    bottom: calc(var(--spacing-7xs) * -1);
    left: 0;
    height: 1.2px;
    width: 0;
    background-color: var(--color-primary-warmth);
    transition: width var(--duration) var(--timing-function);
}
[data-section="tabs-gallery"] .tab-links .tab > a.active:after {
    width: 100%;
}

[data-section="tabs-gallery"] .tab-content .swiper {
    overflow: visible;
}

[data-section="tabs-gallery"] .gallery {
    margin-top: var(--spacing-3lg);
}

[data-section="tabs-gallery"] .gallery-media {
    aspect-ratio: 1.7792207792;
    position: relative;
    overflow: hidden;
}

/* PAGE: DINING */
[data-section="text-info"] [class*="block-content"] {
    margin: 0 auto;
    color: var(--color-primary-baseline);
}
[data-section="text-info"] .block-ttl {
    max-width: 35rem;
    text-wrap: wrap;
}

[data-section="text-info"] .block-ttl > * {
    color: var(--color-primary-baseline);
}

[data-section="text-info"] .block-desc {
    max-width: 55rem;
    text-wrap: wrap;
}

/* PAGE: DINING SINGLE */
.dining-single-main [data-section="info-template"] .block-info {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    max-width: 50rem;
}

.dining-single-main [data-section="info-template"] .block-cta {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-3xs);
    align-items: center;
    color: var(--color-primary-warmth);
}
.dining-single-main [data-section="info-template"] .block-cta .cta-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-3xs);
}

[data-section="info-template"] .block-cta a.cta-item > span {
    transition: opacity var(--duration) var(--timing-function);
}

html.no-touchevents
    .dining-single-main
    [data-section="info-template"]
    .block-cta
    a.cta-item:hover
    > span {
    opacity: 0.5;
}

/* Full screen */
[data-section="full-screen"] {
    height: 100svh;
    overflow: hidden;
}

.dining-single-main [data-section="tabs-gallery"] .tab-links .tab > a {
    pointer-events: none;
}

.dining-single-main
    [data-section="tabs-gallery"]
    .tab-links
    .tab
    > a.active:after {
    content: none;
}

/* PAGE: WELLNESS */
/* Block Template 1 */
[data-section="block-template-1"] .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-xl);
}

[data-section="block-template-1"] .block-media {
    aspect-ratio: 1.3333333333;
    position: relative;
    overflow: hidden;
    width: 48.9393939394%;
}

[data-section="block-template-1"] .block-text {
    width: 40.303030303%;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2sm);
    align-items: flex-start;
}

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

/* Block Template 2 */
[data-section="block-template-2"] .sc-header {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    align-items: flex-start;
    margin-bottom: 0;
}

[data-section="block-template-2"] .sc-header .sc-cta,
[data-section="dual-block"] [class*="block-content-"] .sc-cta {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-5xs);
}

[data-section="block-template-2"] .sc-header .sc-cta .cta-item,
[data-section="block-template-3"] .block-cta .cta-item,
[data-section="dual-block"] [class*="block-content-"] .cta-item {
    display: flex;
    align-items: center;
    gap: var(--spacing-4xs);
}

[data-section="block-template-2"] .sc-header .sc-cta .cta-item .icon,
[data-section="block-template-3"] .block-cta .cta-item .icon {
    width: 2rem;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

[data-section="block-template-2"] .sc-content .sc-content-item {
    display: flex;
    gap: var(--spacing-md);
}

[data-section="block-template-2"] .sc-content .sc-content-item .media {
    aspect-ratio: 1;
    width: 47.6780185759%;
    position: relative;
    overflow: hidden;
}

[data-section="block-template-2"] .sc-content .sc-content-item .text {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    align-items: flex-start;
    width: 38.5448916409%;
}

/* Block Template 3 */
[data-section="block-template-3"] .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-md);
}

[data-section="block-template-3"].wide-gap .container {
    justify-content: space-between;
}

[data-section="block-template-3"] .block-text {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2sm);
    width: 23.3333333333%;
}

[data-section="block-template-3"] .block-cta .cta-item > * {
    color: var(--color-system-body-text);
}

[data-section="block-template-3"] .block-media {
    display: flex;
    gap: var(--spacing-md);
    width: 74.3939393939%;
}

[data-section="block-template-3"].wide-gap .block-media {
    width: 65.9090909091%;
}

[data-section="block-template-3"] .block-media .media {
    position: relative;
    overflow: hidden;
}

[data-section="block-template-3"] .block-media .media[data-media="1"] {
    width: 65.4786150713%;
    flex-shrink: 0;
    aspect-ratio: 1.5023364486;
}

[data-section="block-template-3"] .block-media .media[data-media="2"] {
    flex-grow: 1;
    aspect-ratio: 0.7219626168;
}

[data-section="block-template-3"] .block-media .media[data-media="3"] {
    aspect-ratio: 1.7777616858;
    width: 100%;
}

[data-section="block-template-3"] .block-media .media[data-media="4"] {
    flex-grow: 1;
    aspect-ratio: 0.75;
}

/* PAGE: MEETINGS AND EVENTS */
/* LOGOS */
[data-section="logos"] .sc-ttl {
    text-align: center;
    margin-bottom: var(--spacing-4lg);
}

[data-section="logos"] .logo-container {
    width: fit-content;
    display: flex;
    gap: var(--spacing-sm);
    justify-content: center;
}

[data-section="logos"] .marquee-wrapper.is-static .logo-container {
    display: flex;
    gap: var(--spacing-sm);
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
}

[data-section="logos"] .marquee-wrapper.mWrap .mMove,
[data-section="logos"] .marquee-wrapper.mWrap .mItem {
    width: auto !important;
}

[data-section="logos"] .marquee-wrapper.mWrap .mItem {
    float: left !important;
}

[data-section="logos"] .marquee-wrapper.mWrap .cloneContent {
    padding: 0 !important;
}

[data-section="logos"] .logo {
    width: 12rem;
    aspect-ratio: 1;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

[data-section="logos"] .logo .logo-gray,
[data-section="logos"] .logo .logo-color {
    position: absolute;
    inset: 0;
}

[data-section="logos"] .logo .logo-color {
    opacity: 0;
    transition: opacity var(--duration) var(--timing-function);
}

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

/* MEETING TABS */
[data-section="meeting-tabs"] .container {
    display: flex;
    flex-direction: column;
}
[data-section="meeting-tabs"] .sc-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-4lg);
    margin-bottom: var(--spacing-4lg);
}

[data-section="meeting-tabs"] .sc-header > .tab-links {
    width: calc(100vw - var(--spacing-container) * 2 + var(--gap-x));
    --gap-x: var(--spacing-sm);
    margin-left: calc((var(--gap-x) * -1) / 2);
    margin-right: calc((var(--gap-x) * -1) / 2);
}

[data-section="meeting-tabs"] .sc-header > .tab-links .swiper {
    overflow: visible;
}

[data-section="meeting-tabs"] .sc-header > .tab-links .swiper-slide {
    width: auto !important;
    padding-left: calc(var(--gap-x) / 2);
    padding-right: calc(var(--gap-x) / 2);
}

[data-section="meeting-tabs"] .sc-header > .tab-links .tab > .button {
    min-width: 15rem;
}

[data-section="meeting-tabs"] .tab-ttl {
    text-align: center;
    margin-bottom: var(--spacing4lg);
}

[data-section="accommodation-showcase"].meeting {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

[data-section="accommodation-showcase"].meeting .card-container {
    margin-top: 0;
}

[data-section="accommodation-showcase"].meeting
    [data-card="accommodation"]
    .card-content {
    padding-bottom: 0;
}

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

[data-section="meeting-tabs"] .room-plan {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
    max-width: 86rem;
    margin: var(--spacing-4lg) auto;
}

[data-section="meeting-tabs"] .room-plan .room-media {
    aspect-ratio: 1.777768595;
    position: relative;
    overflow: hidden;
    width: 100%;
    background: rgba(var(--color-wedding-moment-rgb), 0.3);
}

[data-section="meeting-tabs"] .room-plan .room-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
}

[data-section="meeting-tabs"] .room-plan .room-cta a {
    overflow: visible;
    position: relative;
    font-weight: 500;
    color: var(--color-primary-standard);
    letter-spacing: 0.02em;
}

[data-section="meeting-tabs"] .room-plan .room-cta a:after {
    content: "";
    width: 0;
    height: 0.1rem;
    background-color: var(--color-primary-standard);
    position: absolute;
    bottom: -0.3rem;
    left: 0;
    transition: width var(--duration) var(--timing-function);
}

[data-section="meeting-tabs"] .room-plan .room-cta a.active:after,
html.no-touchevents
    [data-section="meeting-tabs"]
    .room-plan
    .room-cta
    a:hover:after {
    width: 100%;
}

[data-section="meeting-tabs"] .meeting-capacity-table-wrap {
    margin-top: var(--spacing-4lg);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    --mask-box-image-offset: var(--spacing-lg);
    -webkit-mask-box-image: -webkit-linear-gradient(
        0deg,
        transparent 0%,
        white calc(var(--mask-box-image-offset) / 3.2),
        white calc(100% - var(--mask-box-image-offset)),
        transparent 100%
    );
    scrollbar-width: none;
    -ms-overflow-style: none;
    &::-webkit-scrollbar {
        display: none;
    }
}

[data-section="meeting-tabs"] .meeting-capacity-table-wrap::-webkit-scrollbar {
    display: none;
}

[data-section="meeting-tabs"] .meeting-capacity-table {
    width: max-content;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    text-align: center;
    padding-left: var(--spacing-container);
    padding-right: var(--spacing-container);
}

[data-section="meeting-tabs"] .meeting-capacity-table th,
[data-section="meeting-tabs"] .meeting-capacity-table td {
    width: 13.9rem;
    padding: 0 var(--spacing-xs);
    vertical-align: middle;
}

[data-section="meeting-tabs"]
    .meeting-capacity-table
    .meeting-capacity-table__col-room {
    position: sticky;
    left: 0;
    z-index: 2;
    width: 20rem;
    background-color: var(--color-primary-baseline);
}

[data-section="meeting-tabs"]
    .meeting-capacity-table
    thead
    .meeting-capacity-table__col-room {
    z-index: 3;
}

[data-section="meeting-tabs"] .meeting-capacity-table__icons th {
    padding-bottom: var(--spacing-sm);
}

[data-section="meeting-tabs"] .meeting-capacity-table__icons img {
    display: block;
    width: 5.2rem;
    aspect-ratio: 1;
    margin: 0 auto;
    object-fit: contain;
}

[data-section="meeting-tabs"] .meeting-capacity-table__head th {
    font-weight: 600;
    color: var(--color-primary-standard);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding-top: 0;
    padding-bottom: var(--spacing-sm);
    font-size: 1rem;
    line-height: 110.00000000000001%;
    letter-spacing: 4%;
    text-align: center;
    text-transform: uppercase;
    padding-bottom: var(--spacing-2xs);
}

[data-section="meeting-tabs"]
    .meeting-capacity-table__head
    th:not(:last-child) {
    border-right: 0.1rem solid rgba(var(--color-primary-standard-rgb), 0.15);
}

[data-section="meeting-tabs"] .meeting-capacity-table tbody td {
    padding-top: var(--spacing-2xs);
    padding-bottom: var(--spacing-2xs);
    color: var(--color-primary-standard);
    text-transform: uppercase;
    font-weight: 500;
    font-size: var(--font-size-button);
    line-height: var(--line-height-button);
    letter-spacing: 0.02em;
}

[data-section="meeting-tabs"]
    .meeting-capacity-table
    tbody
    td:not(:last-child) {
    border-right: 0.1rem solid rgba(var(--color-primary-standard-rgb), 0.15);
}

[data-section="meeting-tabs"] .meeting-capacity-table__col-room {
    font-weight: 600 !important;
    font-size: 1rem;
    line-height: 110.00000000000001%;
    letter-spacing: 4%;
    text-align: center;
    text-transform: uppercase;
    padding-bottom: var(--spacing-2xs);
}

/* Block Template 4 */
[data-section="block-template-4"] .container {
    display: flex;
    gap: var(--spacing-md);
    align-items: center;
}

[data-section="block-template-4"] .block-slide {
    width: 65.9090909091%;
    flex-shrink: 0;
    aspect-ratio: 1.3333333333;
}

[data-section="block-template-4"] .swiper.auto.fade {
    height: 100%;
    overflow: visible;
}

[data-section="block-template-4"] .block-text {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2sm);
    align-items: flex-start;
}

[data-section="block-template-4"] .swiper-controls .swiper-pagination.custom,
[data-section="block-template-4"] *[class*="swiper-button-"]:after {
    color: var(--color-wellness-balance);
}

/* Gallery Masonry Column */
[data-section="gallery-masonry-column"] .masonry-column {
    --column: 3;
    --gap: var(--spacing-md);
    --masonry-item-width: calc(
        (100% - (var(--gap) * (var(--column) - 1))) / var(--column)
    );
    --masonry-aspect-offset: calc(var(--masonry-item-width) * ((1 / 0.75) - 1));
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
}

[data-section="gallery-masonry-column"] .masonry-item {
    height: fit-content;
    width: var(--masonry-item-width);
    position: relative;
}

.lenis.lenis-smooth
    [data-section="gallery-masonry-column"]
    .masonry-column-wrapper[data-lenis-prevent].is-scrollable {
    overscroll-behavior: auto;
}

/* PAGE: EXCLUSIVE OFFER */
/* TABS GRID */
[data-section="tabs-grid"] .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xl);
}
[data-section="tabs-grid"] .sc-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-2sm);
    margin-bottom: 0;
    max-width: 64.4rem;
    text-align: center;
    align-items: center;
}

.exclusive-offer-main [data-section="tabs-grid"] .sc-ttl {
    max-width: 44.4rem;
}

[data-section="tabs-grid"] .tab-links {
    width: 100%;
    --gap-x: var(--spacing-sm);
    margin-left: calc((var(--gap-x) * -1) / 2);
    margin-right: calc((var(--gap-x) * -1) / 2);
}

[data-section="tabs-grid"] .tab-links .swiper {
    overflow: visible;
}

[data-section="tabs-grid"] .tab-links .swiper-slide {
    width: auto !important;
    padding-left: calc(var(--gap-x) / 2);
    padding-right: calc(var(--gap-x) / 2);
}

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

[data-section="tabs-grid"] .tab-contents {
    width: 100%;
}

[data-section="tabs-grid"] .tab-contents .card-container {
    --column: 3;
    --gap-x: var(--spacing-md);
    --gap-y: var(--spacing-4xl);

    @media (min-width: 576px) and (max-width: 991px) {
        --column: 2;
        --gap-x: var(--spacing-sm);
        --gap-y: var(--spacing-2sm);
    }

    @media (max-width: 575px) {
        --column: 1;
        --gap-y: var(--spacing-2sm);
    }
}
[data-section="tabs-grid"] .tab-contents .load-more-btn {
    margin-top: var(--spacing-xl);
    display: flex;
    justify-content: center;
}
[data-section="tabs-grid"] .tab-contents .load-more-btn .button {
    min-width: 12rem;
}

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

@media (min-width: 992px) {
    [data-section="accommodation-showcase"].benefits
        .swiper-horizontal
        > .swiper-pagination-bullets {
        margin-top: var(--spacing-4xl);
    }
}

[data-card="benefit"] {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    text-align: center;
    align-items: center;
}

[data-card="benefit"] .card-media {
    aspect-ratio: 1;
    position: relative;
    overflow: hidden;
    width: 8rem;
}

[data-card="benefit"] .entry-content ul {
    flex-direction: column;
    display: flex;
    /* gap: var(--spacing-6xs); */
    list-style-position: inside;
    padding: 0;
}

[data-card="benefit"] .entry-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-4xs);
    width: 100%;
}

[data-card="benefit"] .entry-content__inner {
    width: 100%;
}

[data-card="benefit"] .entry-content.is-clamped .entry-content__inner {
    overflow: hidden;
}

[data-card="benefit"] .entry-content.is-expanded .entry-content__inner {
    max-height: none !important;
    overflow: visible;
}

[data-card="benefit"] .entry-content__toggle {
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    color: var(--color-primary-warmth);
}

[data-card="benefit"] .entry-content__toggle[hidden] {
    display: none;
}

/* PAGE: OFFER SINGLE */
[data-section="offer-single"] .sc-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-2sm);
    max-width: 50.3rem;
    text-align: center;
    align-items: center;
    margin: 0 auto;
    margin-bottom: var(--spacing-6xl);
}

[data-section="offer-single"] .sc-header .sc-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-4xs);
    justify-content: center;
}

[data-section="offer-single"] .sc-header .sc-tags .tag {
    height: 2.7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 var(--spacing-3xs);
    border: 0.1rem solid var(--color-primary-warmth);
}

[data-section="offer-single"] .sc-header .sc-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-xs);
}

[data-section="offer-single"] .sc-header .sc-info .sc-subttl {
    text-wrap: balance;
}

[data-section="offer-single"] .container {
    max-width: 121.5rem;
}

[data-section="offer-single"] .content {
    display: flex;
    justify-content: space-between;
}

[data-section="offer-single"] .content .media {
    width: 48.4931506849%;
    aspect-ratio: 0.7718023256;
    position: relative;
    overflow: hidden;
}

[data-section="offer-single"] .content .text {
    width: 38.3561643836%;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

[data-section="offer-single"] .content .divider {
    width: 100%;
    height: 0.1rem;
    background-color: rgba(var(--color-primary-standard-rgb), 0.15);
}

[data-section="offer-single"] .content .content-icons {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-5xs);
    color: var(--color-primary-warmth);
}

[data-section="offer-single"] .content .icon-list {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-5xs);
}

[data-section="offer-single"] .content .icon-list .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    aspect-ratio: 1;
}

[data-section="offer-single"] .content .icon-list > p {
    display: inline-block;
    margin-top: var(--spacing-6xs);
    transition: opacity var(--duration) var(--timing-function);
}

html.no-touchevents
    [data-section="offer-single"]
    .content
    .icon-list:hover
    > p {
    opacity: 0.5;
}

[data-section="offer-single"] .share {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--spacing-sm);
    margin-top: var(--spacing-xl);
}

[data-section="offer-single"] .share .social li {
    width: 2.4rem;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* PAGE: NOT FOUND */
[data-section="not-found"] {
    width: 100vw;
    height: 100svh;
    position: relative;
}

[data-section="not-found"] .cover:after {
    content: "";
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, 0) 60.91%,
        rgba(0, 0, 0, 0.4) 100%
    );
    position: absolute;
    inset: 0;
    z-index: 1;
}

[data-section="not-found"] .content {
    width: 100%;
    z-index: 2;
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: flex-end;
    gap: var(--spacing-sm);
    padding: var(--spacing-container);
    justify-content: space-between;
}

/* PAGE: NEAR BY HOTEL */
.near-by-hotel-main [data-section="dual-block"]:nth-child(even) {
    background-color: var(--color-system-bg-section);
}

/* PAGE: POLICY */
[data-section="policy"] .sc-ttl {
    color: var(--color-primary-warmth);
    text-align: center;
    text-wrap: balance;
    margin-bottom: var(--spacing-6xl);
}

[data-section="policy"] .container {
    max-width: calc(64.4rem + var(--spacing-container) * 2);
}

/* PAGE: CONTACT */
/* Contact */
[data-section="contact"] .sc-ttl {
    color: var(--color-primary-warmth);
    text-align: center;
    text-wrap: balance;
    margin-bottom: var(--spacing-6xl);
}

[data-section="contact"] .contact-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--spacing-5xl);
}

[data-section="contact"] .contact-content .map {
    aspect-ratio: 1.3353909465;
    position: relative;
    width: max(49.1666666667%, 64.9rem);
}

[data-section="contact"] .contact-content .map .map-pin {
    width: 7.2rem;
    aspect-ratio: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
}

[data-section="contact"] .contact-content .info {
    width: 31.6666666667%;
    padding-right: var(--spacing-lg);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

[data-section="contact"] .contact-content .info .button {
    margin-top: var(--spacing-4xs);
}

[data-section="contact"] .contact-content .info .divider {
    width: 100%;
    height: 0.1rem;
    background-color: rgba(var(--color-primary-standard-rgb), 0.15);
}

[data-section="contact"] .info-item-ttl {
    display: flex;
    gap: var(--spacing-5xs);
    align-items: center;
    color: var(--color-primary-warmth);
}

[data-section="contact"] .info-item-ttl .icon {
    width: 2rem;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Transport */
[data-section="transport"] .sc-ttl {
    text-align: center;
    text-wrap: balance;
    margin-bottom: var(--spacing-xl);
}

[data-section="transport"] .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    --gap: var(--spacing-md);
    gap: var(--gap);
}

[data-section="transport"] .content .media {
    width: calc(50% - var(--gap) / 2);
    aspect-ratio: 1.3326446281;
    position: relative;
    overflow: hidden;
}

[data-section="transport"] .content .slide {
    width: calc(50% - var(--gap) / 2);
}

[data-section="transport"] .card-container {
    --gap-x: var(--spacing-md);
    --column: 2;
    --mask-box-image-offset: var(--spacing-xs);
    -webkit-mask-box-image: -webkit-linear-gradient(
        0deg,
        transparent 0%,
        white calc(var(--mask-box-image-offset) / 3.2),
        white calc(100% - var(--mask-box-image-offset)),
        transparent 100%
    );
}

/* Fancybox gallery – close + arrows only */
.fancybox__container.fancybox-gallery-minimal .fancybox__toolbar,
.fancybox__container.fancybox-gallery-minimal .fancybox__thumbs,
.fancybox__container.fancybox-gallery-minimal .fancybox__footer,
.fancybox__container.fancybox-gallery-minimal .fancybox__caption,
.fancybox__container.fancybox-gallery-minimal .fancybox__infobar {
    display: none !important;
}

.fancybox__slide .f-panzoom__wrapper {
    max-height: calc(
        100svh - min(var(--spacing-6xl), 8.3333333333vw) * 2
    ) !important;
    max-width: calc(
        100vw - min(var(--spacing-6xl), 8.3333333333vw) * 2
    ) !important;
}

.f-button.is-arrow,
.f-button {
    --f-arrow-bg: transparent;
    --f-button-bg: transparent;
    --f-button-width: 2rem;
    --f-button-height: 2rem;
    transition: opacity var(--duration) var(--timing-function);
}

.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-2md);
}

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

.f-button svg {
    --f-button-svg-stroke-width: 0;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.is-horizontal.is-ltr .f-button.is-arrow.is-next svg {
    background-image: url('data:image/svg+xml,<svg width="14" height="25" viewBox="0 0 14 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.353516 0.353577L12.3535 12.3536L0.353516 24.3536" stroke="%23E3E3E1"/></svg>');
}

.is-horizontal.is-ltr .f-button.is-arrow.is-prev svg {
    background-image: url('data:image/svg+xml,<svg width="14" height="25" viewBox="0 0 14 25" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.707 0.353577L0.707031 12.3536L12.707 24.3536" stroke="%23E3E3E1"/></svg>');
}

.f-button[data-fancybox-close] svg {
    background-image: url('data:image/svg+xml,<svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M20.2297 20.2233L0.430664 0.424316" stroke="%23E3E3E1" stroke-width="1.2"/><path d="M20.2228 0.424338L0.423828 20.2233" stroke="%23E3E3E1" stroke-width="1.2"/></svg>');
}

html.no-touchevents .f-button:hover {
    opacity: 0.5;
}


/** Cookies */
.cky-btn-revisit-wrapper {
    background: var(--color-primary-warmth) !important;
}

.cky-btn-accept {
    background-color: var(--color-primary-warmth) !important;
    border-color: var(--color-primary-warmth) !important;
}

.cky-btn-preferences,
.cky-btn-reject {
    color: var(--color-primary-warmth) !important;
    border-color: var(--color-primary-warmth) !important;
}

button.cky-show-desc-btn:not(:hover):not(:active) {
    color: var(--color-primary-warmth) !important;
}