:root { --vik-radius: 0px;
--newsletter-bg: var(--wp--preset--color--dark);
--vik-overlay-dark: rgba(0, 0, 0, 0.55);
--vik-paybar-bg: var(--wp--preset--color--dark); --vik-overlay-ivory: #e9c9ae; --vik-section-space-y: var(--wp--preset--spacing--10);
--vik-section-space-y-tablet: var(--wp--preset--spacing--8);
--vik-section-space-y-mobile: var(--wp--preset--spacing--7);
--vik-section-space-y-compact: var(--wp--preset--spacing--6);
--vik-section-space-y-compact-tablet: var(--wp--preset--spacing--5);
--vik-section-space-y-compact-mobile: var(--wp--preset--spacing--4); --vik-grid-gap: var(--wp--preset--spacing--6); --vik-anim-duration: 350ms;
--vik-anim-ease: ease-out; --vik-text-line-height: 1.7; --vik-heading-line-height: 1.3;
} @media (max-width: 1023px) {
body {
--wp--style--root--padding-left: var(--wp--preset--spacing--6);
--wp--style--root--padding-right: var(--wp--preset--spacing--6);
}
}
@media (max-width: 767px) {
body {
--wp--style--root--padding-left: var(--wp--preset--spacing--5);
--wp--style--root--padding-right: var(--wp--preset--spacing--5);
}
} :where(.wp-block-paragraph:not(.eyebrow):not([class*="__"])),
:where(.wp-block-list) {
line-height: var(--vik-text-line-height);
} :where(.site-header, .site-footer, .trust-bar, .about-story__stat) :where(.wp-block-paragraph) {
line-height: normal;
} body a,
body a:hover,
body a:focus,
body .btn-link:hover,
body .btn-link:focus {
text-decoration: none;
} .screen-reader-text {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
white-space: nowrap;
clip: rect(0, 0, 0, 0);
border: 0;
}
.skip-link.screen-reader-text:focus {
position: fixed;
top: var(--wp--preset--spacing--3);
left: var(--wp--preset--spacing--3);
z-index: 100000;
width: auto;
height: auto;
padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
clip: auto;
background-color: var(--wp--preset--color--accent);
color: var(--wp--preset--color--white);
text-decoration: none;
border-radius: var(--vik-radius);
}
:focus-visible {
outline: 2px solid var(--wp--preset--color--accent);
outline-offset: 2px;
} .alignfull {
width: auto;
max-width: none;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
} .has-global-padding > .alignfull {
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
} .entry-content.wp-block-post-content > * {
margin-block-start: 0;
} .hero-search,
.trust-bar,
.search-page-header,
.intro-text-image,
.offers-featured,
.packages-featured,
.packages-grid-section,
.amenities-grid-section,
.how-it-works,
.experiences-carousel,
.experiences-dark,
.location-split,
.cta-banner {
padding-left: 0;
padding-right: 0;
}
.trust-bar,
.intro-text-image,
.rooms-grid,
.rooms-carousel,
.rooms-list,
.offers-featured,
.packages-featured,
.packages-grid-section,
.amenities-grid-section,
.how-it-works,
.experiences-carousel,
.experiences-dark,
.events-showcase-section,
.cta-banner {
padding-top: var(--vik-section-space-y);
padding-bottom: var(--vik-section-space-y);
} .trust-bar,
.search-page-header {
padding-top: var(--vik-section-space-y-compact);
padding-bottom: var(--vik-section-space-y-compact);
} .trust-bar {
box-sizing: border-box;
padding-left: var(--wp--preset--spacing--8);
padding-right: var(--wp--preset--spacing--8);
}
@media (max-width: 1023px) {
.trust-bar {
padding-left: var(--wp--preset--spacing--6);
padding-right: var(--wp--preset--spacing--6);
}
}
@media (max-width: 767px) {
.trust-bar {
padding-left: var(--wp--preset--spacing--5);
padding-right: var(--wp--preset--spacing--5);
}
}
@media (max-width: 1023px) {
.trust-bar,
.intro-text-image,
.rooms-grid,
.rooms-carousel,
.rooms-list,
.offers-featured,
.packages-featured,
.packages-grid-section,
.amenities-grid-section,
.how-it-works,
.experiences-carousel,
.experiences-dark,
.events-showcase-section,
.cta-banner {
padding-top: var(--vik-section-space-y-tablet);
padding-bottom: var(--vik-section-space-y-tablet);
}
.trust-bar,
.search-page-header {
padding-top: var(--vik-section-space-y-compact-tablet);
padding-bottom: var(--vik-section-space-y-compact-tablet);
}
}
@media (max-width: 767px) {
.trust-bar,
.intro-text-image,
.rooms-grid,
.rooms-carousel,
.rooms-list,
.offers-featured,
.packages-featured,
.packages-grid-section,
.amenities-grid-section,
.how-it-works,
.experiences-carousel,
.experiences-dark,
.events-showcase-section,
.cta-banner {
padding-top: var(--vik-section-space-y-mobile);
padding-bottom: var(--vik-section-space-y-mobile);
}
.trust-bar,
.search-page-header {
padding-top: var(--vik-section-space-y-compact-mobile);
padding-bottom: var(--vik-section-space-y-compact-mobile);
}
} .page-header,
.search-page-header {
box-sizing: border-box;
padding-top: 48px;
padding-right: var(--wp--preset--spacing--8);
padding-bottom: 40px;
margin-bottom: var(--wp--preset--spacing--6);
padding-left: var(--wp--preset--spacing--8);
text-align: center;
}
.page-header > *,
.search-page-header > * {
max-width: var(--wp--style--global--content-size, 1200px);
margin-left: auto;
margin-right: auto;
}
.page-header .wp-block-heading,
.page-header .wp-block-query-title,
.search-page-header .wp-block-heading {
margin: 0 auto var(--wp--preset--spacing--3); line-height: var(--vik-heading-line-height);
} .page-header .wp-block-query-title {
font-weight: 600;
} .page-header .eyebrow,
.page-header .is-style-eyebrow,
.search-page-header .eyebrow,
.search-page-header .is-style-eyebrow {
margin-bottom: var(--wp--preset--spacing--4);
}
.page-header p:last-child,
.search-page-header p:last-child {
max-width: 560px;
margin-left: auto;
margin-right: auto;
margin-bottom: 0;
color: var(--wp--preset--color--text-soft); line-height: var(--vik-text-line-height);
}
@media (max-width: 1023px) {
.page-header,
.search-page-header {
padding-top: var(--vik-section-space-y-compact-tablet);
padding-right: var(--wp--preset--spacing--6);
padding-bottom: var(--vik-section-space-y-compact-tablet);
padding-left: var(--wp--preset--spacing--6);
}
}
@media (max-width: 767px) {
.page-header,
.search-page-header {
padding-top: var(--vik-section-space-y-compact-mobile);
padding-right: var(--wp--preset--spacing--5);
padding-bottom: var(--vik-section-space-y-compact-mobile);
padding-left: var(--wp--preset--spacing--5);
}
} .page-header--has-image {
background-image:
linear-gradient(
rgba(30, 30, 30, var(--page-header-overlay, 0.45)),
rgba(30, 30, 30, var(--page-header-overlay, 0.45))
),
var(--page-header-image);
background-position: center, var(--page-header-position, 50% 50%);
background-size: cover;
background-repeat: no-repeat;
} .page-header:not(.has-text-color):is(
.page-header--has-image,
.has-text-background-color,
.has-ink-background-color,
.has-text-soft-background-color,
.has-accent-background-color,
.has-accent-dark-background-color,
.has-dark-background-color
) {
color: var(--wp--preset--color--white);
}
.page-header:not(.has-text-color):is(
.page-header--has-image,
.has-text-background-color,
.has-ink-background-color,
.has-text-soft-background-color,
.has-accent-background-color,
.has-accent-dark-background-color,
.has-dark-background-color
) .wp-block-heading {
color: var(--wp--preset--color--white);
}
.page-header:not(.has-text-color):is(
.page-header--has-image,
.has-text-background-color,
.has-ink-background-color,
.has-text-soft-background-color,
.has-accent-background-color,
.has-accent-dark-background-color,
.has-dark-background-color
) p:last-child {
color: rgba(255, 255, 255, 0.85);
} .page-header:not(.has-text-color):is(
.page-header--has-image,
.has-text-background-color,
.has-ink-background-color,
.has-text-soft-background-color,
.has-accent-background-color,
.has-accent-dark-background-color,
.has-dark-background-color
) .eyebrow {
color: var(--vik-overlay-ivory);
} .page-header.has-text-color .wp-block-heading,
.page-header.has-text-color .eyebrow,
.page-header.has-text-color p:last-child {
color: inherit;
}
.page-header.has-text-color p:last-child {
opacity: 0.85;
} .page-header--compact {
padding-top: var(--vik-section-space-y-compact);
padding-bottom: var(--vik-section-space-y-compact);
}
@media (max-width: 1023px) {
.page-header--compact {
padding-top: var(--vik-section-space-y-compact-tablet);
padding-bottom: var(--vik-section-space-y-compact-tablet);
}
}
@media (max-width: 767px) {
.page-header--compact {
padding-top: var(--vik-section-space-y-compact-mobile);
padding-bottom: var(--vik-section-space-y-compact-mobile);
}
} .page-header--left {
text-align: left;
padding-left: var(--wp--preset--spacing--5);
padding-right: var(--wp--preset--spacing--5);
}
.page-header--left > * {
margin-left: 0;
margin-right: 0;
}
.page-header--left p:last-child {
max-width: none;
margin-left: 0;
margin-right: 0;
}
@media (min-width: 768px) {
.page-header--left {
padding-left: var(--wp--preset--spacing--6);
padding-right: var(--wp--preset--spacing--6);
}
}
@media (min-width: 1024px) {
.page-header--left {
padding-left: var(--wp--preset--spacing--8);
padding-right: var(--wp--preset--spacing--8);
}
}
.page-header--left .wp-block-heading {
font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--2-xl);
font-weight: 500;
} .legal-page-content {
padding-top: var(--vik-section-space-y);
padding-bottom: var(--vik-section-space-y);
padding-left: var(--wp--preset--spacing--8);
padding-right: var(--wp--preset--spacing--8);
}
.legal-page-content h2,
.legal-page-content h3 {
font-family: var(--wp--preset--font-family--body);
font-weight: 600;
}
@media (max-width: 1023px) {
.legal-page-content {
padding-top: var(--vik-section-space-y-tablet);
padding-bottom: var(--vik-section-space-y-tablet);
padding-left: var(--wp--preset--spacing--6);
padding-right: var(--wp--preset--spacing--6);
}
}
@media (max-width: 767px) {
.legal-page-content {
padding-top: var(--vik-section-space-y-mobile);
padding-bottom: var(--vik-section-space-y-mobile);
padding-left: var(--wp--preset--spacing--5);
padding-right: var(--wp--preset--spacing--5);
}
} .legal-notice {
align-items: flex-start;
gap: var(--wp--preset--spacing--3);
margin-bottom: var(--wp--preset--spacing--6);
padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
border-radius: var(--vik-radius);
}
.legal-notice__icon {
display: flex;
flex-shrink: 0;
margin-top: 2px;
color: var(--wp--preset--color--accent);
}
.legal-notice__text {
flex: 1 1 auto;
min-width: 0;
margin: 0;
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--sm);
line-height: 1.5;
} .eyebrow,
.is-style-eyebrow {
display: block;
margin-bottom: var(--wp--preset--spacing--2);
color: var(--wp--preset--color--accent);
font-size: var(--wp--preset--font-size--xs);
letter-spacing: 0.08em;
text-transform: uppercase;
}
.section-head {
margin-bottom: var(--wp--preset--spacing--6);
text-align: center;
}
.section-head--left {
text-align: left;
} .wp-block-button.cta-pill .wp-block-button__link {
display: inline-flex;
align-items: center;
padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--6);
background-color: transparent;
border: 1px solid var(--wp--preset--color--ink);
border-radius: 100px;
box-shadow: none;
color: var(--wp--preset--color--ink);
font-size: var(--wp--preset--font-size--sm);
font-weight: 500;
transition: background-color 0.2s ease, color 0.2s ease;
}
.wp-block-button.cta-pill .wp-block-button__link:hover {
background-color: var(--wp--preset--color--ink);
color: var(--wp--preset--color--white);
}
.wp-block-button.cta-link-arrow .wp-block-button__link {
display: inline-flex;
align-items: center;
gap: var(--wp--preset--spacing--2);
padding: 0 0 var(--wp--preset--spacing--1);
background-color: transparent;
border: none;
border-bottom: 1px solid var(--wp--preset--color--accent);
border-radius: 0;
box-shadow: none;
color: var(--wp--preset--color--accent);
font-size: var(--wp--preset--font-size--xs);
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.wp-block-button.cta-link-arrow .wp-block-button__link::after {
content: "\2192";
transition: transform 0.2s ease;
}
.wp-block-button.cta-link-arrow .wp-block-button__link:hover::after {
transform: translateX(4px);
} .wp-block-button.cta-outline .wp-block-button__link {
display: inline-flex;
align-items: center;
gap: var(--wp--preset--spacing--2);
background-color: transparent;
border: 1px solid var(--wp--preset--color--white);
border-radius: var(--vik-radius);
color: var(--wp--preset--color--white);
box-shadow: none;
transition: background-color 0.2s ease, color 0.2s ease;
}
.wp-block-button.cta-outline .wp-block-button__link:hover {
background-color: var(--wp--preset--color--white);
color: var(--wp--preset--color--ink);
} .wp-block-button.cta-outline .wp-block-button__link::after {
content: "\2192";
transition: transform 0.2s ease;
}
.wp-block-button.cta-outline .wp-block-button__link:hover::after {
transform: translateX(4px);
} .site-header__logo,
.site-header__logo a {
font-family: var(--wp--preset--font-family--display);
font-size: var(--wp--preset--font-size--lg);
font-weight: 500;
letter-spacing: 0.02em;
color: var(--wp--preset--color--ink);
text-decoration: none;
} .site-header {
--vik-site-logo-max-height: 44px;
--vik-site-logo-max-width: 160px;
}
@media (min-width: 1024px) {
.site-header {
--vik-site-logo-max-height: 56px;
--vik-site-logo-max-width: 220px;
}
}
.site-footer {
--vik-site-logo-max-height: 72px;
--vik-site-logo-max-width: 220px;
}
.site-header .site-header__brand-logo.wp-block-site-logo img,
.site-footer .site-footer__brand-logo.wp-block-site-logo img {
display: block;
width: auto;
height: auto;
max-width: var(--vik-site-logo-max-width);
max-height: var(--vik-site-logo-max-height);
}
.site-header__nav .wp-block-navigation-item__content {
font-family: var(--wp--preset--font-family--body);
padding-bottom: var(--wp--preset--spacing--1);
border-bottom: 1px solid transparent;
transition: border-color 200ms ease;
}
.site-header__nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.site-header__nav .wp-block-navigation-item__content:hover {
border-bottom-color: var(--wp--preset--color--accent);
} .vik-base-language-switcher__list {
display: flex;
align-items: center;
gap: var(--wp--preset--spacing--3);
margin: 0;
padding: 0;
list-style: none;
}
.vik-base-language-switcher__item a {
font-family: var(--wp--preset--font-family--body);
font-size: var(--wp--preset--font-size--xs);
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
text-decoration: none;
color: inherit;
padding-bottom: var(--wp--preset--spacing--1);
border-bottom: 1px solid transparent;
transition: border-color 200ms ease;
}
.vik-base-language-switcher__item a:hover,
.vik-base-language-switcher__item.is-current a {
border-bottom-color: var(--wp--preset--color--accent);
}
.site-header__cta .wp-block-button__link {
border-radius: var(--vik-radius);
padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--5);
font-size: var(--wp--preset--font-size--xs);
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
} .wp-block-template-part:has(> .site-header--sticky) {
position: sticky;
top: 0;
z-index: 40;
}
.site-header--sticky {
background-color: var(--wp--preset--color--background);
border-bottom: 1px solid var(--wp--preset--color--line);
} .site-header--transparent-overlay {
background-color: var(--wp--preset--color--background);
border-bottom: 1px solid var(--wp--preset--color--line);
box-shadow: none;
transition: background-color 200ms ease, border-color 200ms ease;
}
@media (prefers-reduced-motion: reduce) {
.site-header--transparent-overlay {
transition: none;
}
}
body.vik-has-fullsize-hero .site-header--transparent-overlay {
position: fixed;
inset: 0 0 auto 0;
z-index: 40;
background-color: transparent;
border-bottom-color: transparent;
} body.vik-has-fullsize-hero.admin-bar .site-header--transparent-overlay {
top: 32px;
}
@media screen and (max-width: 782px) {
body.vik-has-fullsize-hero.admin-bar .site-header--transparent-overlay {
top: 46px;
}
}
body.vik-has-fullsize-hero .site-header--transparent-overlay.is-scrolled {
background-color: var(--wp--preset--color--background);
border-bottom-color: var(--wp--preset--color--line);
} body.vik-has-fullsize-hero .site-header--transparent-overlay:not(.is-scrolled) .site-header__logo,
body.vik-has-fullsize-hero .site-header--transparent-overlay:not(.is-scrolled) .site-header__logo a,
body.vik-has-fullsize-hero .site-header--transparent-overlay:not(.is-scrolled) .site-header__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content,
body.vik-has-fullsize-hero .site-header--transparent-overlay:not(.is-scrolled) .vik-base-language-switcher__item a {
color: var(--wp--preset--color--white);
} body.vik-has-fullsize-hero .site-header--transparent-overlay:not(.is-scrolled) .site-header__cta {
--wp--preset--color--accent: var(--wp--preset--color--background);
--wp--preset--color--white: var(--wp--preset--color--ink);
} body.vik-has-fullsize-hero .site-header--transparent-overlay:not(.is-scrolled)::before {
content: "";
position: absolute;
inset: 0 0 -64px 0;
z-index: -1;
background: linear-gradient(to bottom, var(--vik-overlay-dark) 0%, transparent 100%);
pointer-events: none;
} body.vik-has-fullsize-hero:has(.site-header--transparent-overlay) .hero-bg.is-height-full {
min-height: 100svh;
}
body.vik-has-fullsize-hero #main {
margin-block-start: 0;
} [id] {
scroll-margin-top: calc(var(--header-height, 88px) + var(--wp--preset--spacing--4));
} @media (min-width: 600px) and (max-width: 1023px) {
.site-header__nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
display: none;
}
.site-header__nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
display: flex;
}
} body.vik-has-fullsize-hero:has(.hero-search--immersive-centered) .site-header,
body.vik-has-fullsize-hero:has(.hero-search--form-protagonist) .site-header,
body.vik-has-fullsize-hero:has(.hero-bg--header-overlay) .site-header {
position: absolute;
inset: 0 0 auto 0;
z-index: 30;
background: none;
}
body.vik-has-fullsize-hero:has(.hero-search--immersive-centered) .site-header__logo,
body.vik-has-fullsize-hero:has(.hero-search--immersive-centered) .site-header__logo a,
body.vik-has-fullsize-hero:has(.hero-search--form-protagonist) .site-header__logo,
body.vik-has-fullsize-hero:has(.hero-search--form-protagonist) .site-header__logo a,
body.vik-has-fullsize-hero:has(.hero-bg--header-overlay) .site-header__logo,
body.vik-has-fullsize-hero:has(.hero-bg--header-overlay) .site-header__logo a,
body.vik-has-fullsize-hero:has(.hero-search--immersive-centered) .site-header__nav .wp-block-navigation-item__content,
body.vik-has-fullsize-hero:has(.hero-search--form-protagonist) .site-header__nav .wp-block-navigation-item__content,
body.vik-has-fullsize-hero:has(.hero-bg--header-overlay) .site-header__nav .wp-block-navigation-item__content,
body.vik-has-fullsize-hero:has(.hero-search--immersive-centered) .vik-base-language-switcher__item a,
body.vik-has-fullsize-hero:has(.hero-search--form-protagonist) .vik-base-language-switcher__item a,
body.vik-has-fullsize-hero:has(.hero-bg--header-overlay) .vik-base-language-switcher__item a {
color: var(--wp--preset--color--white);
} body:has(.hero-bg.is-height-full) #main {
margin-block-start: 0;
} body:has(.hero-bg--header-overlay) .hero-bg::before {
content: "";
position: absolute;
inset: 0 0 auto 0;
z-index: 1;
height: calc(var(--header-height, 88px) + 80px);
background: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 100%);
pointer-events: none;
} .intro-text-image__text .eyebrow,
.intro-text-image__text .is-style-eyebrow {
margin-bottom: var(--wp--preset--spacing--3);
}
.intro-text-image__text .wp-block-heading {
margin-bottom: var(--wp--preset--spacing--4);
}
.intro-text-image__text .wp-block-paragraph {
margin-bottom: var(--wp--preset--spacing--5);
color: var(--wp--preset--color--text-soft);
}
.intro-text-image__text .wp-block-buttons {
margin-top: var(--wp--preset--spacing--2);
} .intro-text-image-card__frame {
display: grid;
grid-template-columns: 1fr;
min-height: 420px;
background-color: var(--wp--preset--color--white);
border: 1px solid var(--wp--preset--color--line);
border-radius: var(--vik-radius);
overflow: hidden;
}
@media (min-width: 768px) {
.intro-text-image-card__frame {
grid-template-columns: 1fr 1fr;
min-height: 520px;
}
}
.intro-text-image-card__text {
display: flex;
flex-direction: column;
justify-content: center;
min-width: 0;
margin: 0;
padding: var(--wp--preset--spacing--7) var(--wp--preset--spacing--6);
}
@media (min-width: 1024px) {
.intro-text-image-card__text {
padding: var(--wp--preset--spacing--8);
}
}
.intro-text-image-card__text .eyebrow,
.intro-text-image-card__text .is-style-eyebrow {
margin-bottom: var(--wp--preset--spacing--3);
}
.intro-text-image-card__text .wp-block-heading {
margin-bottom: var(--wp--preset--spacing--4);
}
.intro-text-image-card__divider {
display: block;
width: 40px;
height: 1px;
margin: 0 0 var(--wp--preset--spacing--5);
background-color: var(--wp--preset--color--accent);
}
.intro-text-image-card__text .wp-block-paragraph {
margin-bottom: var(--wp--preset--spacing--5);
color: var(--wp--preset--color--text-soft);
}
.intro-text-image-card__text .wp-block-buttons {
margin-top: var(--wp--preset--spacing--2);
}
.intro-text-image-card__image {
min-width: 0;
margin: 0;
min-height: 260px;
}
.intro-text-image-card__image img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
} .intro-text-image-bleed__cover.wp-block-cover {
min-height: 480px;
}
@media (min-width: 768px) {
.intro-text-image-bleed__cover.wp-block-cover {
min-height: 620px;
}
} .intro-text-image-bleed__panel {
position: relative;
width: 100%;
padding: var(--wp--preset--spacing--7) var(--wp--preset--spacing--6);
}
.intro-text-image-bleed__panel.has-background {
background-color: transparent !important;
}
.intro-text-image-bleed__panel::before {
content: "";
position: absolute;
inset: 0;
z-index: 0;
} .intro-text-image-bleed__panel.has-background-background-color::before {
background-color: var(--wp--preset--color--background);
}
.intro-text-image-bleed__panel.has-background-alt-background-color::before {
background-color: var(--wp--preset--color--background-alt);
}
.intro-text-image-bleed__panel.has-white-background-color::before {
background-color: var(--wp--preset--color--white);
}
.intro-text-image-bleed__panel.has-line-background-color::before {
background-color: var(--wp--preset--color--line);
}
.intro-text-image-bleed__panel.has-text-background-color::before {
background-color: var(--wp--preset--color--ink);
}
.intro-text-image-bleed__panel.has-text-soft-background-color::before {
background-color: var(--wp--preset--color--text-soft);
}
.intro-text-image-bleed__panel.has-accent-background-color::before {
background-color: var(--wp--preset--color--accent);
}
.intro-text-image-bleed__panel.has-accent-dark-background-color::before {
background-color: var(--wp--preset--color--accent-dark);
}
.intro-text-image-bleed__panel.has-dark-background-color::before {
background-color: var(--wp--preset--color--dark);
}
.intro-text-image-bleed__panel > * {
position: relative;
z-index: 1;
}
@media (min-width: 768px) {
.intro-text-image-bleed__panel {
max-width: 560px;
padding: var(--wp--preset--spacing--8);
} .intro-text-image-bleed__panel::before {
-webkit-mask-image: linear-gradient(90deg, black 0%, black var(--intro-bleed-fade, 60%), transparent 100%);
mask-image: linear-gradient(90deg, black 0%, black var(--intro-bleed-fade, 60%), transparent 100%);
}
}
@media (min-width: 1024px) {
.intro-text-image-bleed__panel {
max-width: 620px;
padding: var(--wp--preset--spacing--9) var(--wp--preset--spacing--8);
}
} .intro-text-image-bleed__panel .wp-block-heading {
margin: 0 0 var(--wp--preset--spacing--4);
color: var(--wp--preset--color--ink);
}
.intro-text-image-bleed__divider {
display: block;
width: 40px;
height: 1px;
margin: 0 0 var(--wp--preset--spacing--5);
background-color: var(--wp--preset--color--accent);
}
.intro-text-image-bleed__panel .wp-block-paragraph {
margin: 0 0 var(--wp--preset--spacing--5);
color: var(--wp--preset--color--text-soft);
}
.intro-text-image-bleed__panel .wp-block-buttons {
margin-top: var(--wp--preset--spacing--2);
} .intro-text-image-bleed__panel:is(.has-accent-background-color, .has-accent-dark-background-color) .eyebrow,
.intro-text-image-bleed__panel:is(.has-accent-background-color, .has-accent-dark-background-color) .is-style-eyebrow {
color: var(--wp--preset--color--white);
} .intro-text-image-bleed__panel:is(
.has-text-background-color,
.has-text-soft-background-color,
.has-accent-background-color,
.has-accent-dark-background-color,
.has-dark-background-color
) .wp-block-heading {
color: var(--wp--preset--color--white);
}
.intro-text-image-bleed__panel:is(
.has-text-background-color,
.has-text-soft-background-color,
.has-accent-background-color,
.has-accent-dark-background-color,
.has-dark-background-color
) .wp-block-paragraph {
color: rgba(255, 255, 255, 0.78);
}
.intro-text-image-bleed__panel:is(
.has-text-background-color,
.has-text-soft-background-color,
.has-accent-background-color,
.has-accent-dark-background-color,
.has-dark-background-color
) .cta-link-arrow .wp-block-button__link {
color: var(--wp--preset--color--white);
border-bottom-color: var(--wp--preset--color--white);
}  .hero-search:not([class*="hero-search--"]) .hero-search__variant:not(.hero-search__variant--default),
.hero-search.hero-search--split-panel .hero-search__variant:not(.hero-search__variant--split-panel),
.hero-search.hero-search--immersive-centered .hero-search__variant:not(.hero-search__variant--immersive-centered),
.hero-search.hero-search--form-protagonist .hero-search__variant:not(.hero-search__variant--form-protagonist) {
display: none;
} .hero-search__size-switch:not(.hero-search__size-switch--compact) .hero-search__size:not(.hero-search__size--full),
.hero-search__size-switch.hero-search__size-switch--compact .hero-search__size:not(.hero-search__size--compact) {
display: none;
}
.hero-search__content {
max-width: 780px;
}
.hero-search__eyebrow {
color: var(--wp--preset--color--white);
font-family: var(--wp--preset--font-family--body);
font-size: var(--wp--preset--font-size--sm);
letter-spacing: 0.2em;
text-transform: uppercase;
opacity: 0.85;
}
.hero-search__title {
max-width: 780px;
color: var(--wp--preset--color--white);
font-family: var(--wp--preset--font-family--display);
font-size: clamp(3rem, 2rem + 4vw, 5.5rem);
font-weight: 500;
line-height: 1.3;
}
.hero-search__title em {
font-style: italic;
color: var(--vik-overlay-ivory);
}
.hero-search__widget {
max-width: 920px;
margin-top: var(--wp--preset--spacing--6);
background-color: var(--wp--preset--color--white);
border-radius: var(--vik-radius);
box-shadow: 0 24px 48px rgba(0, 0, 0, 0.18);
}
.hero-search__widget {
padding: var(--wp--preset--spacing--5);
}
.hero-search__widget:empty::before {
content: "Configura qui il widget VikBooking \"Search Form\" dall'editor.";
display: block;
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--sm);
text-align: center;
} .hero-search-compact {
position: relative;
max-width: 1320px;
margin-inline: auto;
padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) 0;
} .hero-search-compact__frame {
border-radius: var(--vik-radius);
overflow: hidden;
}
.hero-search-compact__subtitle {
max-width: 620px;
margin-top: var(--wp--preset--spacing--3);
color: var(--wp--preset--color--white);
font-family: var(--wp--preset--font-family--body);
font-size: var(--wp--preset--font-size--base);
opacity: 0.9;
}
.hero-search-compact__cta {
margin-top: var(--wp--preset--spacing--5);
} .hero-search-compact__widget-wrap {
position: relative;
z-index: 2;
max-width: 1320px;
margin-inline: auto;
margin-top: calc(-1 * var(--wp--preset--spacing--7));
padding: 0 var(--wp--preset--spacing--8) var(--vik-section-space-y-compact);
}
.hero-search-compact__widget-wrap .hero-search__widget {
margin-top: 0;
}
@media (max-width: 1023px) {
.hero-search-compact {
padding-left: var(--wp--preset--spacing--6);
padding-right: var(--wp--preset--spacing--6);
}
.hero-search-compact__widget-wrap {
padding-left: var(--wp--preset--spacing--6);
padding-right: var(--wp--preset--spacing--6);
padding-bottom: var(--vik-section-space-y-compact-tablet);
}
}
@media (max-width: 767px) {
.hero-search-compact {
padding-left: var(--wp--preset--spacing--5);
padding-right: var(--wp--preset--spacing--5);
}
.hero-search-compact__widget-wrap {
padding-left: var(--wp--preset--spacing--5);
padding-right: var(--wp--preset--spacing--5);
padding-bottom: var(--vik-section-space-y-compact-mobile);
margin-top: calc(-1 * var(--wp--preset--spacing--6));
}
}  .hero-bg {
position: relative;
overflow: hidden;
} .hero-bg.is-height-full {
min-height: calc(100svh - var(--header-height, 88px));
} .hero-bg.is-height-full.hero-bg--header-overlay {
min-height: 100svh;
}
.hero-bg.is-height-large {
min-height: 85svh;
}
.hero-bg.is-height-medium {
min-height: 60svh;
}
.hero-bg.is-height-compact {
min-height: 40svh;
}
.hero-bg.is-height-custom {
min-height: var(--hero-custom-height, 100svh);
}
.hero-bg__media {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.hero-bg__slider {
position: absolute;
inset: 0;
} .hero-bg__slide {
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 0.8s ease-in-out;
will-change: opacity;
transform: translateZ(0);
backface-visibility: hidden;
}
.hero-bg__slide.is-active {
opacity: 1;
} .hero-bg-slider--slide .hero-bg__slide {
opacity: 1;
transform: translateX(100%) translateZ(0);
transition: transform 0.8s ease-in-out;
will-change: transform;
backface-visibility: hidden;
}
.hero-bg-slider--slide .hero-bg__slide.is-active {
transform: translateX(0) translateZ(0);
}
.hero-bg-slider--slide .hero-bg__slide.is-prev {
transform: translateX(-100%) translateZ(0);
} .hero-bg-slider--zoom .hero-bg__media {
transform: scale(1) translateZ(0);
transition: transform var(--hero-slider-interval, 6s) linear;
will-change: transform;
backface-visibility: hidden;
}
.hero-bg-slider--zoom .hero-bg__slide.is-active .hero-bg__media {
transform: scale(1.08) translateZ(0);
} .hero-bg.is-type-image .hero-bg__media {
animation: hero-ken-burns 28s ease-in-out infinite alternate;
will-change: transform;
backface-visibility: hidden;
}
@keyframes hero-ken-burns {
from {
transform: scale(1) translate(0, 0) translateZ(0);
}
to {
transform: scale(1.07) translate(-1.5%, -1%) translateZ(0);
}
} .hero-bg__video-fallback {
display: none;
} @media (prefers-reduced-motion: reduce) {
.hero-bg__slide,
.hero-bg-slider--slide .hero-bg__slide {
transition: none;
}
.hero-bg-slider--zoom .hero-bg__media {
transition: none;
transform: none;
}
.hero-bg.is-type-image .hero-bg__media {
animation: none;
}
.hero-bg__video {
display: none;
}
.hero-bg__video-fallback {
display: block;
}
}
.hero-bg__overlay {
position: absolute;
inset: 0;
z-index: 1;
} .hero-bg__inner {
position: relative;
box-sizing: border-box;
min-height: inherit;
z-index: 2;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-end;
padding: var(--wp--preset--spacing--8);
pointer-events: none;
}
.hero-bg__inner .hero-search__widget {
pointer-events: auto;
}
@media (max-width: 1023px) {
.hero-bg__inner {
padding: var(--wp--preset--spacing--6);
}
}
@media (max-width: 767px) {
.hero-bg__inner {
padding: var(--wp--preset--spacing--5);
}
} .hero-bg__slider-dots {
position: absolute;
z-index: 3;
bottom: 24px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: var(--wp--preset--spacing--2);
}
.hero-bg__slider-dot {
width: 8px;
height: 8px;
border-radius: 100px;
border: 1px solid var(--wp--preset--color--white);
background: transparent;
padding: 0;
cursor: pointer;
}
.hero-bg__slider-dot.is-active {
background: var(--wp--preset--color--white);
} .hero-bg-edit__slider-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: var(--wp--preset--spacing--2);
}
.hero-bg-edit__slider-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
}
.hero-bg-edit__slider-item img {
width: 64px;
height: 64px;
object-fit: cover;
border-radius: var(--vik-radius);
} .hero-split-panel {
display: grid;
grid-template-columns: 1fr;
min-height: 100svh;
}
@media (min-width: 1024px) {
.hero-split-panel {
grid-template-columns: 58% 1fr;
}
}
.hero-split-panel__image {
margin: 0;
min-height: 320px;
}
.hero-split-panel__image img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
} .hero-split-panel__form {
display: flex;
flex-direction: column;
justify-content: center;
margin: 0;
background-color: var(--wp--preset--color--white);
}
.hero-split-panel__form-inner {
width: 100%;
max-width: 440px;
margin-inline: auto;
padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--6);
}
.hero-split-panel__eyebrow {
margin-bottom: var(--wp--preset--spacing--3);
}
.hero-split-panel__title {
margin: 0 0 var(--wp--preset--spacing--6);
color: var(--wp--preset--color--ink);
font-family: var(--wp--preset--font-family--display);
font-size: var(--wp--preset--font-size--xl);
font-weight: 400;
}
.hero-split-panel__widget:empty::before {
content: "Configura qui il widget VikBooking \"Search Form\" dall'editor.";
display: block;
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--sm);
text-align: center;
}
.hero-split-panel__note {
margin: var(--wp--preset--spacing--4) 0 0;
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--xs);
text-align: center;
}  .wp-block-cover.hero-immersive { align-items: stretch;
}
.hero-immersive .wp-block-cover__inner-container {
padding-top: var(--wp--preset--spacing--8);
}
.hero-immersive__content {
max-width: 900px;
text-align: center;
}
.hero-immersive__eyebrow {
color: var(--wp--preset--color--white);
opacity: 0.85;
}
.hero-immersive__title {
margin: 0;
color: var(--wp--preset--color--white);
font-family: var(--wp--preset--font-family--display);
font-size: clamp(2.5rem, 1.8rem + 3vw, 4rem);
font-weight: 400;
line-height: 1.25;
}
.hero-immersive__title em {
font-style: italic;
} .hero-immersive__bar {
position: relative;
isolation: isolate;
margin-top: var(--wp--preset--spacing--6);
padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--6);
max-width: 1200px;
margin: 0 auto;
}
.hero-immersive__bar::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
background-color: var(--vik-overlay-dark);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
pointer-events: none;
} .hero-immersive__bar:empty::before {
content: "Configura qui il widget VikBooking \"Search Form\" dall'editor.";
position: static;
z-index: auto;
display: block;
background: none;
backdrop-filter: none;
-webkit-backdrop-filter: none;
color: var(--wp--preset--color--white);
font-size: var(--wp--preset--font-size--sm);
text-align: center;
opacity: 0.8;
}
@media (min-width: 768px) { .hero-immersive__bar {
position: absolute;
left: 0;
right: 0;
bottom: 0;
margin-top: 0;
}
}
.hero-trust-row {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: var(--wp--preset--spacing--2) var(--wp--preset--spacing--6);
padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--6);
background-color: var(--wp--preset--color--background);
border-bottom: 1px solid var(--wp--preset--color--line);
}
.hero-trust-row__item {
margin: 0;
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--xs);
letter-spacing: 0.02em;
}
.hero-trust-row__stars {
color: var(--wp--preset--color--accent);
letter-spacing: 0.1em;
} .hero-form-protagonist .wp-block-cover__inner-container {
padding-top: var(--wp--preset--spacing--9);
}
.hero-form-protagonist__content {
max-width: 760px;
text-align: center;
}
.hero-form-protagonist__eyebrow {
color: var(--wp--preset--color--white);
opacity: 0.85;
}
.hero-form-protagonist__title {
margin: 0;
color: var(--wp--preset--color--white);
font-family: var(--wp--preset--font-family--display);
font-size: clamp(2rem, 1.6rem + 2vw, 3rem);
font-weight: 400;
line-height: 1.3;
}
.hero-form-protagonist__title em {
font-style: italic;
}
.hero-form-protagonist__deco {
display: block;
width: 40px;
height: 1px;
margin: var(--wp--preset--spacing--5) auto 0;
background-color: var(--wp--preset--color--accent);
} .hero-form-protagonist__card {
position: relative;
isolation: isolate;
width: 100%;
max-width: 600px;
margin: var(--wp--preset--spacing--7) auto 0;
padding: var(--wp--preset--spacing--6);
border-radius: var(--vik-radius);
}
.hero-form-protagonist__card::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
border-radius: inherit;
background-color: var(--vik-overlay-dark);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
pointer-events: none;
}
.hero-form-protagonist__card:empty::before {
content: "Configura qui il widget VikBooking \"Search Form\" dall'editor.";
position: static;
z-index: auto;
display: block;
background: none;
backdrop-filter: none;
-webkit-backdrop-filter: none;
color: var(--wp--preset--color--white);
font-size: var(--wp--preset--font-size--sm);
text-align: center;
opacity: 0.8;
}   .trust-bar__item {
display: flex;
line-height: normal;
align-items: center;
flex-wrap: nowrap;
gap: var(--wp--preset--spacing--2);
}
.trust-bar__stars {
display: inline-flex;
align-items: center;
color: var(--wp--preset--color--accent);
font-size: var(--wp--preset--font-size--md);
line-height: 1;
letter-spacing: 0.1em;
}
.trust-bar__item strong {
font-size: var(--wp--preset--font-size--md);
font-weight: 600;
color: var(--wp--preset--color--ink);
}
.trust-bar__badge {
padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--3);
background-color: var(--wp--preset--color--background-alt);
border-radius: 100px;
font-size: var(--wp--preset--font-size--xs);
line-height: normal;
} .rooms-grid__widget:not(:empty),
.rooms-carousel__widget:not(:empty),
.rooms-list__widget:not(:empty) {
margin-bottom: var(--wp--preset--spacing--6);
max-width: 1200px;
} .editor-styles-wrapper .rooms-grid__demo,
.editor-styles-wrapper .rooms-carousel__demo,
.editor-styles-wrapper .rooms-list__demo {
display: none;
}
.rooms-grid__editor-notice,
.rooms-carousel__editor-notice,
.rooms-list__editor-notice {
display: none;
margin: 0;
padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
background-color: #fdf2d0;
border: 1px solid #e3c766;
border-radius: var(--vik-radius);
color: var(--wp--preset--color--text);
font-size: var(--wp--preset--font-size--sm);
}
.editor-styles-wrapper .rooms-grid__editor-notice,
.editor-styles-wrapper .rooms-carousel__editor-notice,
.editor-styles-wrapper .rooms-list__editor-notice {
display: block;
}
.room-card__tag {
display: block;
margin: var(--wp--preset--spacing--4) var(--wp--preset--spacing--4) var(--wp--preset--spacing--2);
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--xs);
letter-spacing: 0.05em;
text-transform: uppercase;
} .rooms-grid .section-head h2,
.rooms-carousel .section-head h2 {
font-family: var(--wp--preset--font-family--display);
font-size: 52px;
font-weight: 400;
line-height: 1.1;
}
.rooms-grid .section-head h2 em,
.rooms-carousel .section-head h2 em {
display: block;
font-style: italic;
color: var(--wp--preset--color--text-soft);
} .room-overlay-grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--vik-grid-gap);
}
@media (min-width: 768px) {
.room-overlay-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 1024px) {
.room-overlay-grid { grid-template-columns: repeat(var(--room-overlay-cols, 3), 1fr);
}
}
.room-overlay-card {
position: relative;
aspect-ratio: 3 / 4;
overflow: hidden;
border-radius: var(--vik-radius);
}
.room-overlay-card__image {
position: absolute;
inset: 0;
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.room-overlay-card::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(20, 16, 12, 0) 45%, rgba(20, 16, 12, 0.75) 100%);
pointer-events: none;
}
.room-badge-price {
position: absolute;
top: 0;
right: 0;
z-index: 2;
padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
background-color: rgba(20, 16, 12, 0.55);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border-radius: 0 0 0 var(--vik-radius);
text-align: right;
}
.room-badge-price.hidden {
display: none;
}
.room-badge-price .from,
.room-badge-price .price-night {
color: var(--wp--preset--color--white);
font-size: 9px;
letter-spacing: 0.08em;
text-transform: uppercase;
opacity: 0.7;
}
.room-badge-price .price-main {
margin: 2px 0;
color: var(--wp--preset--color--white);
font-family: var(--wp--preset--font-family--display);
font-size: 28px;
}
.room-overlay-content {
position: absolute;
left: 0;
right: 0;
bottom: 0;
z-index: 2;
padding: var(--wp--preset--spacing--5);
}
.room-overlay-category {
margin: 0 0 var(--wp--preset--spacing--1);
color: var(--vik-overlay-ivory);
font-style: italic;
font-size: var(--wp--preset--font-size--sm);
}
.room-overlay-name {
margin: 0 0 var(--wp--preset--spacing--2);
color: var(--wp--preset--color--white);
font-family: var(--wp--preset--font-family--display);
font-size: 28px;
font-weight: 500;
}
.room-overlay-sleeps {
margin: 0;
color: var(--wp--preset--color--white);
font-size: 10px;
letter-spacing: 0.08em;
text-transform: uppercase;
opacity: 0.85;
}
.room-overlay-deco {
display: block;
width: 32px;
height: 1px;
margin: var(--wp--preset--spacing--3) 0;
background-color: rgba(255, 255, 255, 0.4);
}
.room-overlay-cta {
position: absolute;
right: var(--wp--preset--spacing--5);
bottom: var(--wp--preset--spacing--5);
z-index: 2;
padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);
background-color: var(--wp--preset--color--accent);
border-radius: var(--vik-radius);
color: var(--wp--preset--color--white);
font-size: var(--wp--preset--font-size--sm);
text-decoration: none;
opacity: 0;
transform: translateY(6px);
transition: opacity 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}
.room-overlay-card:hover .room-overlay-cta,
.room-overlay-card:focus-within .room-overlay-cta {
opacity: 1;
transform: translateY(0);
}
.room-overlay-cta:hover {
background-color: var(--wp--preset--color--accent-dark);
} .room-overlay-amenities,
.room-split-amenities {
display: flex;
gap: var(--wp--preset--spacing--4);
}
.room-overlay-amenities:empty,
.room-split-amenities:empty {
display: none;
}
.room-overlay-amenities .amen,
.room-split-amenities .amen {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--wp--preset--spacing--1);
}
.room-overlay-amenities .ico svg {
width: 18px;
height: 18px;
color: var(--wp--preset--color--white);
}
.room-overlay-amenities .lbl {
color: var(--wp--preset--color--white);
font-size: 9px;
letter-spacing: 0.05em;
text-transform: uppercase;
opacity: 0.85;
}
.room-split-amenities .ico svg {
width: 18px;
height: 18px;
color: var(--wp--preset--color--accent);
}
.room-split-amenities .lbl {
color: var(--wp--preset--color--text-soft);
font-size: 9px;
letter-spacing: 0.05em;
text-transform: uppercase;
} .room-carousel-track {
display: flex;
overflow-x: auto;
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
}
.room-card-split {
flex: 0 0 100%;
display: grid;
grid-template-columns: 1fr;
min-height: 400px;
scroll-snap-align: start;
background-color: var(--wp--preset--color--white);
border: 1px solid var(--wp--preset--color--line);
border-radius: var(--vik-radius);
overflow: hidden;
}
@media (min-width: 768px) {
.room-card-split {
grid-template-columns: 54% 1fr;
max-height: 460px;
}
}
.room-split-image-col {
position: relative;
}
.room-split-image-col img {
display: block;
width: 100%;
height: 100%;
min-height: 260px;
object-fit: cover;
}
.room-split-sleeps-badge {
position: absolute;
left: var(--wp--preset--spacing--3);
bottom: var(--wp--preset--spacing--3);
display: inline-flex;
align-items: center;
gap: var(--wp--preset--spacing--1);
padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--3);
background-color: rgba(20, 16, 12, 0.55);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border-radius: 100px;
color: var(--wp--preset--color--white);
font-size: var(--wp--preset--font-size--xs);
}
.room-split-sleeps-badge::before {
content: "\2191";
}
.room-split-info {
position: relative;
display: flex;
flex-direction: column;
padding: var(--wp--preset--spacing--7);
}
.room-split-deco {
position: absolute;
top: var(--wp--preset--spacing--6);
right: var(--wp--preset--spacing--6);
width: 40px;
height: 1px;
background-color: var(--wp--preset--color--accent);
}
.room-split-category {
margin: 0 0 var(--wp--preset--spacing--2);
color: var(--wp--preset--color--accent);
font-style: italic;
font-size: var(--wp--preset--font-size--sm);
}
.room-split-name {
margin: 0;
font-family: var(--wp--preset--font-family--display);
font-size: 30px;
font-weight: 500;
}
.room-split-name-divider {
display: block;
width: 28px;
height: 1px;
margin: var(--wp--preset--spacing--3) 0 var(--wp--preset--spacing--4);
background-color: var(--wp--preset--color--accent);
}
.room-split-description {
margin: 0 0 var(--wp--preset--spacing--4);
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--sm);
line-height: 1.4em;
}
.room-split-amenities {
margin-bottom: var(--wp--preset--spacing--4);
}
.room-split-footer {
display: flex;
align-items: flex-end;
justify-content: space-between;
margin-top: auto;
padding-top: var(--wp--preset--spacing--4);
border-top: 1px solid var(--wp--preset--color--line);
}
.room-split-price {
display: flex;
align-items: baseline;
gap: var(--wp--preset--spacing--1);
margin: 0; font-family: var(--wp--preset--font-family--display);
font-variant-numeric: lining-nums;
font-size: 28px;
color: var(--wp--preset--color--accent);
}
.room-split-price .cur {
color: var(--wp--preset--color--text-soft);
font-size: 13px;
}
.room-split-price .amount {
color: var(--wp--preset--color--accent);
font-family: var(--wp--preset--font-family--display);
font-variant-numeric: lining-nums;
font-size: 42px;
}
.room-split-price .unit {
color: var(--wp--preset--color--text-soft);
font-size: 10px;
}
.room-split-cta {
padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--5);
background-color: var(--wp--preset--color--accent);
border-radius: var(--vik-radius);
color: var(--wp--preset--color--white);
font-size: var(--wp--preset--font-size--sm);
text-decoration: none;
transition: background-color 0.2s ease;
}
.room-split-cta:hover {
background-color: var(--wp--preset--color--accent-dark);
}
.room-carousel-footer {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: var(--wp--preset--spacing--5);
}
.room-carousel-counter {
font-family: var(--wp--preset--font-family--display);
font-variant-numeric: lining-nums;
font-size: var(--wp--preset--font-size--lg);
color: var(--wp--preset--color--text-soft);
}
.room-carousel-nav {
display: flex;
gap: var(--wp--preset--spacing--2);
}
.room-carousel-arrow {
display: inline-flex;
align-items: center;
justify-content: center;
width: 42px;
height: 42px;
border: 1px solid var(--wp--preset--color--line);
border-radius: 100px;
background: none;
color: var(--wp--preset--color--ink);
font-size: var(--wp--preset--font-size--lg);
cursor: pointer;
transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.room-carousel-arrow:hover,
.room-carousel-arrow.is-active {
background-color: var(--wp--preset--color--accent);
border-color: var(--wp--preset--color--accent);
color: var(--wp--preset--color--white);
} .room-list-rows {
display: flex;
flex-direction: column;
gap: var(--wp--preset--spacing--6);
}
@media (min-width: 768px) {
.room-list-row.is-reverse .room-card-split {
grid-template-columns: 1fr 54%;
}
.room-list-row.is-reverse .room-split-image-col {
order: 2;
}
.room-list-row.is-reverse .room-split-info {
order: 1;
}
} .experiences-carousel__track {
display: flex;
gap: var(--wp--preset--spacing--4);
overflow-x: auto;
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
} .experiences-carousel__track > .wp-block-vik-base-experience-card {
flex: 0 0 84%;
margin-block-start: 0;
scroll-snap-align: start;
}
@media (min-width: 768px) {
.experiences-carousel__track > .wp-block-vik-base-experience-card {
flex: 0 0 calc( ( 100% - ( var( --vik-carousel-visible, 2 ) - 1 ) * var( --wp--preset--spacing--4 ) ) / var( --vik-carousel-visible, 2 ) );
}
.experiences-carousel__track > .wp-block-vik-base-experience-card.is-featured {
flex-basis: calc( ( ( 100% - ( var( --vik-carousel-visible, 2 ) - 1 ) * var( --wp--preset--spacing--4 ) ) / var( --vik-carousel-visible, 2 ) ) * 1.08 );
}
}
.experiences-carousel__nav {
display: flex;
justify-content: flex-end;
gap: var(--wp--preset--spacing--2);
margin-top: var(--wp--preset--spacing--4);
margin-right: var(--wp--preset--spacing--4);
}
.experiences-carousel__arrow {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border: 1px solid var(--wp--preset--color--text-soft);
border-radius: 100px;
background-color: var(--wp--preset--color--background-alt);
color: var(--wp--preset--color--ink);
font-size: var(--wp--preset--font-size--lg);
cursor: pointer;
transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.experiences-carousel__arrow:hover {
background-color: var(--wp--preset--color--accent);
color: var(--wp--preset--color--white);
} .experiences-dark__head {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
justify-content: space-between;
gap: var(--wp--preset--spacing--4);
margin-bottom: var(--wp--preset--spacing--6);
}
.experiences-dark__link a {
color: inherit;
font-size: var(--wp--preset--font-size--xs);
letter-spacing: 0.08em;
text-transform: uppercase;
text-decoration: none;
opacity: 0.75;
transition: opacity 0.2s ease, color 0.2s ease;
}
.experiences-dark__link a:hover {
color: var(--wp--preset--color--accent);
opacity: 1;
}
.experiences-dark__track {
display: flex;
gap: var(--wp--preset--spacing--4);
overflow-x: auto;
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
} .experiences-dark__track > .wp-block-vik-base-experience-card {
flex: 0 0 84%;
height: 480px;
margin-block-start: 0;
scroll-snap-align: start;
}
@media (min-width: 768px) {
.experiences-dark__track > .wp-block-vik-base-experience-card {
flex-basis: calc(50% - var(--wp--preset--spacing--4) / 2);
height: 520px;
}
}
@media (min-width: 1024px) { .experiences-dark__track > .wp-block-vik-base-experience-card {
flex: 0 0 calc( ( 100% - ( var( --vik-carousel-visible, 3 ) - 1 ) * var( --wp--preset--spacing--4 ) ) / var( --vik-carousel-visible, 3 ) );
height: 620px;
} .experiences-dark__track > .wp-block-vik-base-experience-card.is-featured {
flex-basis: calc( ( ( 100% - ( var( --vik-carousel-visible, 3 ) - 1 ) * var( --wp--preset--spacing--4 ) ) / var( --vik-carousel-visible, 3 ) ) * 1.08 );
}
} .wp-block-vik-base-experience-card {
position: relative;
display: block;
aspect-ratio: 3 / 4;
overflow: hidden;
border-radius: var(--vik-radius);
color: var(--wp--preset--color--white);
}
.experience-card__image {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.experience-card__placeholder {
position: absolute;
inset: 0;
height: auto;
background-color: var(--wp--preset--color--background-alt);
}
.experience-card__badge {
position: absolute;
top: 0;
left: 0;
z-index: 2;
padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--3);
background-color: var(--wp--preset--color--accent);
border-radius: 0 0 var(--vik-radius) 0;
color: var(--wp--preset--color--white);
font-size: var(--wp--preset--font-size--xs);
letter-spacing: 0.05em;
text-transform: uppercase;
}
.experience-card__badge:empty {
display: none;
}
.experience-card__content {
position: absolute;
inset: 0;
z-index: 2;
display: flex;
flex-direction: column;
justify-content: flex-end;
align-items: flex-start;
padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--4) var(--wp--preset--spacing--4);
background: linear-gradient(180deg, rgba(20, 16, 12, 0) 40%, rgba(20, 16, 12, 0.85) 100%);
pointer-events: none;
}
.experience-card__content > * {
pointer-events: auto;
}
.experience-card__title {
margin: 0 0 var(--wp--preset--spacing--2);
color: var(--wp--preset--color--white);
font-family: var(--wp--preset--font-family--display);
font-size: var(--wp--preset--font-size--lg);
line-height: 1.15;
}
.experience-card__text {
margin: 0 0 var(--wp--preset--spacing--3);
color: rgba(255, 255, 255, 0.75);
font-size: var(--wp--preset--font-size--sm);
line-height: 1.5;
}
.experience-card__cta {
color: var(--wp--preset--color--white);
font-size: var(--wp--preset--font-size--xs);
letter-spacing: 0.06em;
text-transform: uppercase;
text-decoration: none;
transition: color 0.2s ease;
}
.experience-card__cta:hover {
color: var(--wp--preset--color--accent);
}
.experience-card__cta--button {
padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--5);
background-color: var(--wp--preset--color--accent);
border-radius: var(--vik-radius);
transition: background-color 0.2s ease, color 0.2s ease;
}
.experience-card__cta--button:hover {
background-color: var(--wp--preset--color--accent-dark);
color: var(--wp--preset--color--white);
} .wp-block-vik-base-experience-card:not(.experience-card--style-light) .experience-card__title {
color: var(--wp--preset--color--white);
}
.wp-block-vik-base-experience-card .experience-card__cta {
margin-top: 0;
} .wp-block-vik-base-experience-card.experience-card--style-light {
aspect-ratio: 8 / 5;
overflow: visible;
color: var(--wp--preset--color--ink);
}
.experience-card--style-light .experience-card__content {
position: absolute;
top: auto;
right: var(--wp--preset--spacing--4);
bottom: var(--wp--preset--spacing--4);
left: var(--wp--preset--spacing--4);
z-index: 3;
box-sizing: border-box;
display: block;
padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--4);
background: var(--wp--preset--color--background);
border-radius: var(--vik-radius);
box-shadow: 0 20px 44px rgba(0, 0, 0, 0.12);
}
@media (min-width: 768px) {
.experience-card--style-light .experience-card__content {
top: 50%;
right: auto;
bottom: auto;
left: 64%;
width: clamp(200px, 33%, 320px);
transform: translateY(-50%);
}
}
.experience-card--style-light .experience-card__badge {
position: static;
display: block;
margin: 0 0 var(--wp--preset--spacing--2);
padding: 0;
background: none;
border-radius: 0;
color: var(--wp--preset--color--accent);
}
.experience-card--style-light .experience-card__title {
color: var(--wp--preset--color--ink);
}
.experience-card--style-light .experience-card__text {
color: var(--wp--preset--color--text-soft);
}
.experience-card--style-light .experience-card__cta {
color: var(--wp--preset--color--ink);
}
.experience-card--style-light .experience-card__cta:hover {
color: var(--wp--preset--color--accent);
}
.experiences-dark__foot {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: var(--wp--preset--spacing--5);
}
.experiences-dark__counter {
font-family: var(--wp--preset--font-family--display);
font-size: var(--wp--preset--font-size--lg);
color: rgba(255, 255, 255, 0.6);
}
.experiences-dark__nav {
display: flex;
gap: var(--wp--preset--spacing--2);
}
.experiences-dark__arrow {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 100px;
background: none;
color: var(--wp--preset--color--white);
font-size: var(--wp--preset--font-size--lg);
cursor: pointer;
transition: background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
} .experiences-dark__arrow--next {
background-color: var(--wp--preset--color--accent);
border-color: var(--wp--preset--color--accent);
}
.experiences-dark__arrow:hover {
background-color: var(--wp--preset--color--accent);
border-color: var(--wp--preset--color--accent);
}
.experiences-dark__arrow:not(.is-active) {
opacity: 0.35;
pointer-events: none;
} .offers-featured > .wp-block-columns {
gap: var(--vik-grid-gap);
}
.offer-card__image {
margin: 0 0 var(--wp--preset--spacing--3);
}
.offer-card__image img {
border-radius: var(--vik-radius);
}
.offer-card__tag {
color: var(--wp--preset--color--accent);
font-size: var(--wp--preset--font-size--xs);
letter-spacing: 0.05em;
text-transform: uppercase;
} .amenities-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
border-top: 1px solid var(--wp--preset--color--line);
border-left: 1px solid var(--wp--preset--color--line);
}
@media (min-width: 768px) {
.amenities-grid {
grid-template-columns: repeat(3, 1fr);
}
}
@media (min-width: 1024px) {
.amenities-grid {
grid-template-columns: repeat(6, 1fr);
}
}
.amenities-grid .amenity-card {
border-right: 1px solid var(--wp--preset--color--line);
border-bottom: 1px solid var(--wp--preset--color--line);
} .amenities-grid-photos {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--wp--preset--spacing--4);
max-width: var(--wp--style--global--wide-size);
margin: 0 auto;
}
@media (min-width: 768px) {
.amenities-grid-photos:not(.amenities-grid-photos--mosaic) {
grid-template-columns: repeat(3, 1fr);
}
.amenities-grid-photos:not(.amenities-grid-photos--mosaic) .amenity-card {
aspect-ratio: 3 / 2;
min-height: 0;
}
.amenities-grid-photos--mosaic {
grid-template-columns: repeat(5, 1fr);
} .amenities-grid-photos--mosaic .amenity-card-grid-item--wide {
grid-column: span 2;
}
.amenities-grid-photos--mosaic .amenity-card-grid-item--narrow {
grid-column: span 1;
}
} .amenity-card {
position: relative;
display: flex;
min-height: 220px;
overflow: hidden;
border-radius: var(--vik-radius);
}
.amenity-card--fallback {
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--wp--preset--spacing--2); text-align: center; transition: filter 0.2s ease;
}
.amenity-card--fallback:hover {
filter: brightness(0.96);
}
.amenity-card--fallback .vik-icon {
display: inline-flex;
line-height: 1;
} .amenity-card__badge {
display: none;
position: absolute;
top: var(--wp--preset--spacing--2);
right: var(--wp--preset--spacing--2);
padding: 4px 10px;
border-radius: 100px;
background: rgba(30, 30, 30, 0.08);
color: var(--wp--preset--color--text-soft);
font-size: 10px;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
white-space: nowrap;
}
.editor-styles-wrapper .amenity-card__badge {
display: inline-flex;
}
.amenity-card--photo {
flex-direction: column;
justify-content: flex-end;
align-items: flex-start;
text-align: left;
}
.amenity-card__image {
position: absolute;
inset: 0;
z-index: 0;
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.amenity-card--photo::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;
background: linear-gradient(180deg, rgba(20, 16, 12, 0) 45%, rgba(20, 16, 12, 0.75) 100%);
pointer-events: none;
}
.amenity-card__title,
.amenity-card__subtitle {
margin: 0;
position: relative;
z-index: 2;
}
.amenity-card__title {
font-size: var(--wp--preset--font-size--sm);
font-weight: 600;
color: var(--wp--preset--color--ink);
}
.amenity-card__subtitle {
font-size: var(--wp--preset--font-size--xs);
color: var(--wp--preset--color--text-soft);
}
.amenity-card--photo .amenity-card__title,
.amenity-card--photo .amenity-card__subtitle {
padding: 0 var(--wp--preset--spacing--3);
color: var(--wp--preset--color--white);
}
.amenity-card--photo .amenity-card__subtitle {
padding-bottom: var(--wp--preset--spacing--3);
color: rgba(255, 255, 255, 0.8);
} .how-it-works__step {
text-align: center;
}
.how-it-works__number {
margin: 0 0 var(--wp--preset--spacing--2);
color: var(--wp--preset--color--line);
font-family: var(--wp--preset--font-family--display);
font-size: var(--wp--preset--font-size--xl);
font-weight: 600;
} .location-split__map iframe,
.contact-split__map iframe {
display: block;
width: 100%;
border-radius: var(--vik-radius);
} .contact-split__map-placeholder {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--wp--preset--spacing--3);
width: 100%;
height: 480px;
background-color: var(--wp--preset--color--background-alt);
border: 1px solid var(--wp--preset--color--line);
border-radius: var(--vik-radius);
text-align: center;
padding: var(--wp--preset--spacing--5);
}
.contact-split__map-placeholder svg {
width: 40px;
height: 40px;
color: var(--wp--preset--color--text-soft);
}
.contact-split__map-placeholder p {
max-width: 280px;
margin: 0;
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--sm);
} .location-split__content {
padding-inline-start: var(--wp--preset--spacing--8);
padding-inline-end: var(--wp--preset--spacing--6);
padding-block: var(--wp--preset--spacing--7);
} .location-split__contact-row {
align-items: center;
margin-bottom: var(--wp--preset--spacing--3);
}
.location-split__contact-row--address {
align-items: flex-start;
}
.location-split__contact-row p {
margin: 0;
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--sm);
line-height: 1.5;
}
@media (max-width: 1023px) {
.location-split__content {
padding-inline-start: var(--wp--preset--spacing--6);
padding-inline-end: var(--wp--preset--spacing--6);
}
}
@media (max-width: 767px) {
.location-split__content {
padding-inline-start: var(--wp--preset--spacing--5);
padding-inline-end: var(--wp--preset--spacing--5);
}
} .location-split__map {
align-self: stretch;
min-height: 480px;
}
.location-split__map iframe {
height: 100%;
}
@media (max-width: 1023px) {
.location-split__map {
min-height: 360px;
}
}
@media (max-width: 767px) {
.location-split__map {
min-height: 280px;
}
}
.contact-split__details h3 {
margin-top: var(--wp--preset--spacing--5);
margin-bottom: var(--wp--preset--spacing--2);
font-size: var(--wp--preset--font-size--md);
}
.contact-split__details h3:first-child {
margin-top: 0;
} .contact-split__details .contact-split__line + .contact-split__line {
margin-block-start: 0;
} .contact-split {
padding-bottom: var(--vik-section-space-y);
}
@media (max-width: 1023px) {
.contact-split {
padding-bottom: var(--vik-section-space-y-tablet);
}
}
@media (max-width: 767px) {
.contact-split {
padding-bottom: var(--vik-section-space-y-mobile);
}
} @media (min-width: 1024px) {
.contact-split__map {
position: sticky;
top: var(--wp--preset--spacing--6);
align-self: flex-start;
}
body:has(.site-header--sticky) .contact-split__map {
top: calc(var(--header-height, 88px) + var(--wp--preset--spacing--6));
}
} .cta-banner .wp-block-cover__inner-container {
max-width: 640px;
margin-inline: auto;
text-align: center;
}  .newsletter-placeholder {
background-color: var(--newsletter-bg);
padding-left: var(--wp--preset--spacing--8);
padding-right: var(--wp--preset--spacing--8);
text-align: center;
}
@media (max-width: 1023px) {
.newsletter-placeholder {
padding-left: var(--wp--preset--spacing--6);
padding-right: var(--wp--preset--spacing--6);
}
}
@media (max-width: 767px) {
.newsletter-placeholder {
padding-left: var(--wp--preset--spacing--5);
padding-right: var(--wp--preset--spacing--5);
}
}
.newsletter-placeholder h2 {
font-size: var(--wp--preset--font-size--xl);
}
.newsletter-placeholder p {
color: rgba(255, 255, 255, 0.7);
}
.newsletter-placeholder__form {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: var(--wp--preset--spacing--1);
max-width: 480px;
margin: var(--wp--preset--spacing--5) auto 0;
}
.newsletter-placeholder__form input[type="email"] {
flex: 1 1 240px;
padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--3);
background-color: transparent;
color: var(--wp--preset--color--white);
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: var(--vik-radius);
font-family: var(--wp--preset--font-family--body);
}
.newsletter-placeholder__form input[type="email"]::placeholder {
color: rgba(255, 255, 255, 0.6);
}
.newsletter-placeholder__form button {
padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--5);
background-color: var(--wp--preset--color--accent);
color: var(--wp--preset--color--white);
border: none;
border-radius: var(--vik-radius);
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
cursor: pointer;
transition: background-color 0.2s ease;
}
.newsletter-placeholder__form button:hover {
background-color: var(--wp--preset--color--accent-dark);
} .about-story__stat {
text-align: center;
}
.about-story__stat-number {
margin: 0 0 var(--wp--preset--spacing--1);
color: var(--wp--preset--color--accent);
font-family: var(--wp--preset--font-family--display);
font-size: var(--wp--preset--font-size--xl);
font-weight: 600;
font-variant-numeric: lining-nums;
} .about-story__quote {
padding-top: var(--vik-section-space-y-compact);
padding-bottom: var(--vik-section-space-y-compact);
text-align: center;
}
@media (max-width: 1023px) {
.about-story__quote {
padding-top: var(--vik-section-space-y-compact-tablet);
padding-bottom: var(--vik-section-space-y-compact-tablet);
}
}
@media (max-width: 767px) {
.about-story__quote {
padding-top: var(--vik-section-space-y-compact-mobile);
padding-bottom: var(--vik-section-space-y-compact-mobile);
}
}
.about-story__quote .wp-block-quote {
padding: 0;
border: none;
}
.about-story__quote .wp-block-quote cite {
display: block;
margin-top: var(--wp--preset--spacing--4);
font-family: var(--wp--preset--font-family--display);
font-style: italic;
font-size: var(--wp--preset--font-size--sm);
color: var(--wp--preset--color--white);
opacity: 0.85;
}
.about-story__quote .wp-block-button__link {
border-radius: var(--vik-radius);
}
.about-story__section hr.wp-block-separator.about-story__divider {
width: 28px;
height: 1px;
margin: var(--wp--preset--spacing--6) 0 0;
background-color: var(--wp--preset--color--accent);
border: none;
}
.about-story__aside {
margin-top: var(--wp--preset--spacing--4);
font-family: var(--wp--preset--font-family--display);
font-variant-numeric: lining-nums;
font-style: italic;
color: var(--wp--preset--color--text-soft);
}  .gallery-masonry {
columns: 1;
column-gap: var(--wp--preset--spacing--4);
}
@media (min-width: 768px) {
.gallery-masonry {
columns: 2;
}
}
@media (min-width: 1024px) {
.gallery-masonry {
columns: 3;
}
}
.gallery-masonry__item {
position: relative;
display: block;
margin-bottom: var(--wp--preset--spacing--4);
overflow: hidden;
border-radius: var(--vik-radius);
break-inside: avoid;
cursor: zoom-in;
}
.gallery-masonry__item img {
display: block;
width: 100%;
border-radius: var(--vik-radius);
transition: transform 0.25s ease;
} .gallery-masonry__item::before {
content: "";
position: absolute;
inset: 0;
background-color: rgba(20, 16, 12, 0.28);
opacity: 0;
transition: opacity 0.25s ease;
}
.gallery-masonry__item::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 28px;
height: 28px;
background-color: var(--wp--preset--color--white);
-webkit-mask-image: url(//www.bb-ledueg.it/wp-content/themes/vik-base/assets/icons/lucide/maximize-2.svg);
mask-image: url(//www.bb-ledueg.it/wp-content/themes/vik-base/assets/icons/lucide/maximize-2.svg);
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position: center;
mask-position: center;
-webkit-mask-size: contain;
mask-size: contain;
opacity: 0;
transform: translate(-50%, -50%) scale(0.85);
transition: opacity 0.25s ease, transform 0.25s ease;
}
.gallery-masonry__item:hover img,
.gallery-masonry__item:focus-visible img {
transform: scale(1.06);
}
.gallery-masonry__item:hover::before,
.gallery-masonry__item:focus-visible::before,
.gallery-masonry__item:hover::after,
.gallery-masonry__item:focus-visible::after {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
.gallery-masonry__item:focus-visible {
outline: 2px solid var(--wp--preset--color--accent);
outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
.gallery-masonry__item img,
.gallery-masonry__item::before,
.gallery-masonry__item::after {
transition: none;
}
} .gallery-lightbox {
position: fixed;
inset: 0;
z-index: 9999;
}
.gallery-lightbox[hidden] {
display: none;
}
.gallery-lightbox__backdrop {
position: absolute;
inset: 0;
background-color: rgba(20, 16, 12, 0.92);
}
.gallery-lightbox__dialog {
box-sizing: border-box;
position: relative;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
padding: var(--wp--preset--spacing--6);
}
.gallery-lightbox__figure {
position: relative;
margin: 0;
max-width: min(1200px, 90vw);
max-height: 85vh;
}
.gallery-lightbox__image {
display: block;
max-width: min(1200px, 90vw);
max-height: 85vh;
width: auto;
height: auto;
border-radius: var(--vik-radius);
box-shadow: 0 24px 48px rgba(0, 0, 0, 0.35);
}
.gallery-lightbox__close,
.gallery-lightbox__arrow {
position: absolute;
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border: 1px solid rgba(255, 255, 255, 0.4);
border-radius: 100px;
background-color: rgba(255, 255, 255, 0.08);
color: var(--wp--preset--color--white);
cursor: pointer;
transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.gallery-lightbox__close:hover,
.gallery-lightbox__arrow:hover {
background-color: var(--wp--preset--color--accent);
border-color: var(--wp--preset--color--accent);
color: var(--wp--preset--color--white);
}
.gallery-lightbox__close:focus-visible,
.gallery-lightbox__arrow:focus-visible {
outline: 2px solid var(--wp--preset--color--white);
outline-offset: 2px;
}
.gallery-lightbox__close {
top: var(--wp--preset--spacing--5);
right: var(--wp--preset--spacing--5);
font-size: 20px;
line-height: 1;
}
.gallery-lightbox__arrow {
top: 50%;
transform: translateY(-50%);
font-size: var(--wp--preset--font-size--lg);
}
.gallery-lightbox__arrow--prev {
left: var(--wp--preset--spacing--5);
}
.gallery-lightbox__arrow--next {
right: var(--wp--preset--spacing--5);
}
.gallery-lightbox__counter {
position: absolute;
bottom: var(--wp--preset--spacing--5);
left: 50%;
transform: translateX(-50%);
margin: 0;
color: rgba(255, 255, 255, 0.75);
font-family: var(--wp--preset--font-family--display);
font-variant-numeric: lining-nums;
font-size: var(--wp--preset--font-size--sm);
letter-spacing: 0.04em;
}
@media (max-width: 767px) {
.gallery-lightbox__dialog {
padding: var(--wp--preset--spacing--4);
}
.gallery-lightbox__close,
.gallery-lightbox__arrow {
width: 38px;
height: 38px;
}
.gallery-lightbox__close {
top: var(--wp--preset--spacing--3);
right: var(--wp--preset--spacing--3);
}
.gallery-lightbox__arrow--prev {
left: var(--wp--preset--spacing--3);
}
.gallery-lightbox__arrow--next {
right: var(--wp--preset--spacing--3);
}
} .blog-preview__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--wp--preset--spacing--6);
margin: 0;
padding: 0;
list-style: none;
}
@media (min-width: 768px) {
.blog-preview__grid {
grid-template-columns: repeat(3, 1fr);
}
}
.blog-preview__image img {
display: block;
width: 100%;
height: 220px;
object-fit: cover;
border-radius: var(--vik-radius);
} [data-animate="fade"] {
opacity: 0;
transition: opacity var(--vik-anim-duration) var(--vik-anim-ease);
}
[data-animate="slide-up"] {
opacity: 0;
transform: translateY(32px);
transition: opacity var(--vik-anim-duration) var(--vik-anim-ease), transform var(--vik-anim-duration) var(--vik-anim-ease);
}
[data-animate="slide-left"] {
opacity: 0;
transform: translateX(-32px);
transition: opacity var(--vik-anim-duration) var(--vik-anim-ease), transform var(--vik-anim-duration) var(--vik-anim-ease);
} [data-animate="slide-down"] {
opacity: 0;
transform: translateY(-32px);
transition: opacity var(--vik-anim-duration) var(--vik-anim-ease), transform var(--vik-anim-duration) var(--vik-anim-ease);
}
[data-animate].is-visible {
opacity: 1;
transform: none;
} .editor-styles-wrapper [data-animate] {
opacity: 1;
transform: none;
} @media (prefers-reduced-motion: reduce) {
[data-animate] {
opacity: 1;
transform: none;
transition: none;
}
} .vikbooking-packages__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--vik-grid-gap);
}
@media (min-width: 1024px) {
.vikbooking-packages__grid {
grid-template-columns: 1.6fr 1fr;
}
.vikbooking-packages__grid--solo {
grid-template-columns: 1fr;
}
}
.vikbooking-packages__side {
display: flex;
flex-direction: column;
gap: var(--vik-grid-gap);
}
.vikbooking-packages__more {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: var(--vik-grid-gap);
margin-top: var(--wp--preset--spacing--4);
}
.vikbooking-packages__card {
position: relative;
display: flex;
flex-direction: column;
justify-content: flex-end;
min-height: 320px;
overflow: hidden;
border-radius: var(--vik-radius);
background-color: var(--wp--preset--color--background-alt);
}
.vikbooking-packages__card--featured {
min-height: 420px;
}
@media (min-width: 1024px) {
.vikbooking-packages__card {
min-height: 0; }
.vikbooking-packages__side .vikbooking-packages__card {
flex: 1 1 0;
}
.vikbooking-packages__card--featured {
min-height: 520px;
}
}
.vikbooking-packages__image {
position: absolute;
inset: 0;
z-index: 0;
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.vikbooking-packages__card::after {
content: "";
position: absolute;
inset: 0;
z-index: 1;
background: linear-gradient(180deg, rgba(20, 16, 12, 0) 45%, rgba(20, 16, 12, 0.75) 100%);
pointer-events: none;
} .vikbooking-packages__price-badge {
position: absolute;
top: 0;
right: 0;
z-index: 2;
padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--3);
background-color: var(--wp--preset--color--accent);
border-radius: 0 0 0 var(--vik-radius);
text-align: right;
}
.vikbooking-packages__price-label,
.vikbooking-packages__price-suffix {
display: block;
color: var(--wp--preset--color--white);
font-size: 9px;
letter-spacing: 0.08em;
text-transform: uppercase;
opacity: 0.85;
}
.vikbooking-packages__price-value {
display: block;
margin: 2px 0;
color: var(--wp--preset--color--white);
font-family: var(--wp--preset--font-family--display);
font-variant-numeric: lining-nums;
font-size: 22px;
}
.vikbooking-packages__card--featured .vikbooking-packages__price-value {
font-size: 28px;
}
.vikbooking-packages__content {
position: relative;
z-index: 2;
padding: var(--wp--preset--spacing--4);
}
.vikbooking-packages__card--featured .vikbooking-packages__content {
padding: var(--wp--preset--spacing--5);
}
.vikbooking-packages__eyebrow {
margin: 0 0 var(--wp--preset--spacing--1);
color: var(--vik-overlay-ivory);
font-style: italic;
font-size: var(--wp--preset--font-size--xs);
}
.vikbooking-packages__title {
margin: 0 0 var(--wp--preset--spacing--2);
color: var(--wp--preset--color--white);
font-family: var(--wp--preset--font-family--display);
font-size: 22px;
font-weight: 500;
}
.vikbooking-packages__card--featured .vikbooking-packages__title {
font-size: 30px;
}
.vikbooking-packages__desc {
margin: 0 0 var(--wp--preset--spacing--2);
color: rgba(255, 255, 255, 0.85);
font-size: var(--wp--preset--font-size--sm);
}
.vikbooking-packages__rooms {
margin: 0 0 var(--wp--preset--spacing--3);
color: rgba(255, 255, 255, 0.7);
font-size: var(--wp--preset--font-size--xs);
}
.vikbooking-packages__cta {
display: inline-block;
padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);
background-color: var(--wp--preset--color--accent);
border-radius: var(--vik-radius);
color: var(--wp--preset--color--white);
font-size: var(--wp--preset--font-size--sm);
text-decoration: none;
transition: background-color 0.2s ease;
}
.vikbooking-packages__cta:hover {
background-color: var(--wp--preset--color--accent-dark);
}
.vikbooking-packages__cta--disabled {
background-color: rgba(255, 255, 255, 0.25);
color: rgba(255, 255, 255, 0.6);
cursor: not-allowed;
pointer-events: none;
} .vikbooking-packages__editor-notice {
display: none;
padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
background-color: #fdf2d0;
border: 1px solid #e3c766;
border-radius: var(--vik-radius);
color: var(--wp--preset--color--ink);
font-size: var(--wp--preset--font-size--sm);
}
.editor-styles-wrapper .vikbooking-packages__editor-notice {
display: block;
margin-bottom: var(--wp--preset--spacing--4);
} .vikbooking-packages__uniform-grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--wp--preset--spacing--6);
}
@media (min-width: 768px) {
.vikbooking-packages__uniform-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 1024px) {
.vikbooking-packages__uniform-grid {
grid-template-columns: repeat(3, 1fr);
}
}
.vikbooking-packages__card--grid {
display: flex;
flex-direction: column;
justify-content: flex-start; min-height: 0; background-color: var(--wp--preset--color--background);
}
.vikbooking-packages__card--grid::after {
content: none; }
.vikbooking-packages__card-media {
position: relative;
aspect-ratio: 4 / 3;
overflow: hidden;
}
.vikbooking-packages__card--grid .vikbooking-packages__image {
position: static; }
.vikbooking-packages__card-body {
display: flex;
flex: 1;
flex-direction: column;
padding: var(--wp--preset--spacing--4);
}
.vikbooking-packages__card-eyebrow {
margin: 0 0 var(--wp--preset--spacing--1);
color: var(--wp--preset--color--accent);
font-size: var(--wp--preset--font-size--xs);
font-weight: 600;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.vikbooking-packages__card-title {
margin: 0 0 var(--wp--preset--spacing--2);
color: var(--wp--preset--color--ink);
font-family: var(--wp--preset--font-family--display);
font-size: var(--wp--preset--font-size--lg);
font-weight: 500;
}
.vikbooking-packages__card-desc {
margin: 0 0 var(--wp--preset--spacing--3);
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--sm);
}
.vikbooking-packages__card-rooms {
margin: 0 0 var(--wp--preset--spacing--3);
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--xs);
}
.vikbooking-packages__card-meta-row {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: var(--wp--preset--spacing--3);
margin-top: auto; padding-top: var(--wp--preset--spacing--2);
}
.vikbooking-packages__card-price {
margin: 0;
line-height: 1.2;
}
.vikbooking-packages__card-price-label,
.vikbooking-packages__card-price-suffix {
display: block;
color: var(--wp--preset--color--text-soft);
font-size: 11px;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.vikbooking-packages__card-price-value {
color: var(--wp--preset--color--ink);
font-family: var(--wp--preset--font-family--display);
font-variant-numeric: lining-nums;
font-size: 30px;
}
.vikbooking-packages__cta--grid {
flex-shrink: 0;
padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--3);
font-size: var(--wp--preset--font-size--xs);
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
}  .experiences-archive {
padding-top: var(--vik-section-space-y);
padding-bottom: var(--vik-section-space-y);
}
@media (max-width: 1023px) {
.experiences-archive {
padding-top: var(--vik-section-space-y-tablet);
padding-bottom: var(--vik-section-space-y-tablet);
}
}
@media (max-width: 767px) {
.experiences-archive {
padding-top: var(--vik-section-space-y-mobile);
padding-bottom: var(--vik-section-space-y-mobile);
}
}
.experiences-archive__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--vik-grid-gap);
margin: 0;
padding: 0;
list-style: none;
} .experiences-archive__grid > li {
margin-block-start: 0;
}
@media (min-width: 768px) {
.experiences-archive__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 1024px) {
.experiences-archive__grid {
grid-template-columns: repeat(3, 1fr);
}
}
.experience-card {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
background-color: var(--wp--preset--color--white);
border: 0.5px solid var(--wp--preset--color--line);
border-radius: var(--vik-radius);
}
.experience-card__image {
margin: 0;
} .experience-card > .experience-card__image {
flex-shrink: 0;
height: auto;
}
.experience-card__image img {
display: block;
width: 100%;
height: 220px;
object-fit: cover;
}
.experience-card__body {
display: flex;
flex: 1;
flex-direction: column;
padding: var(--wp--preset--spacing--4);
}
.experience-card__title {
margin: 0 0 var(--wp--preset--spacing--2);
color: var(--wp--preset--color--ink);
font-family: var(--wp--preset--font-family--display);
font-size: var(--wp--preset--font-size--md);
font-weight: 600;
}
.experience-card__title a {
color: inherit;
text-decoration: none;
}
.experience-card__excerpt {
margin: 0 0 var(--wp--preset--spacing--4);
color: var(--wp--preset--color--text-soft);
font-size: 13px;
}
.experience-card__excerpt p {
margin: 0;
}
.experience-card__cta {
display: inline-flex;
align-items: center;
gap: var(--wp--preset--spacing--2);
margin-top: auto;
color: var(--wp--preset--color--accent);
font-size: var(--wp--preset--font-size--xs);
font-weight: 600;
letter-spacing: 0.08em;
text-decoration: none;
text-transform: uppercase;
}
.experience-card__cta::after {
content: "\2192";
transition: transform 0.2s ease;
}
.experience-card__cta:hover::after {
transform: translateX(4px);
} .experiences-grid__wrapper {
max-width: 1200px;
margin-inline: auto;
} .experiences-grid.alignfull,
.events-archive.alignfull {
padding-right: var(--wp--style--root--padding-right);
padding-left: var(--wp--style--root--padding-left);
}
.experiences-grid__filter {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: var(--wp--preset--spacing--2);
margin-bottom: var(--wp--preset--spacing--6);
}
.experiences-grid__filter-item {
padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);
border: 1px solid var(--wp--preset--color--line);
border-radius: 100px;
color: inherit;
font-size: var(--wp--preset--font-size--sm);
text-decoration: none;
transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.experiences-grid__filter-item:hover,
.experiences-grid__filter-item.is-active {
border-color: var(--wp--preset--color--accent);
background-color: var(--wp--preset--color--accent);
color: var(--wp--preset--color--white);
}
.experiences-grid__no-results {
color: var(--wp--preset--color--text-soft);
text-align: center;
}
.experiences-grid__pagination {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: var(--wp--preset--spacing--2);
margin-top: var(--wp--preset--spacing--8);
}
.experiences-grid__pagination .page-numbers {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 42px;
height: 42px;
padding: 0 var(--wp--preset--spacing--2);
border: 1px solid var(--wp--preset--color--line);
border-radius: 100px;
color: inherit;
font-size: var(--wp--preset--font-size--sm);
text-decoration: none;
}
.experiences-grid__pagination a.page-numbers:hover,
.experiences-grid__pagination .page-numbers.current {
border-color: var(--wp--preset--color--accent);
background-color: var(--wp--preset--color--accent);
color: var(--wp--preset--color--white);
}
.experiences-grid__pagination .page-numbers.dots {
border-color: transparent;
} .experiences-cta {
padding-top: var(--vik-section-space-y-compact);
padding-bottom: var(--vik-section-space-y-compact);
text-align: center;
}
@media (max-width: 1023px) {
.experiences-cta {
padding-top: var(--vik-section-space-y-compact-tablet);
padding-bottom: var(--vik-section-space-y-compact-tablet);
}
}
@media (max-width: 767px) {
.experiences-cta {
padding-top: var(--vik-section-space-y-compact-mobile);
padding-bottom: var(--vik-section-space-y-compact-mobile);
}
} .event-card {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
background-color: var(--wp--preset--color--white);
border: 0.5px solid var(--wp--preset--color--line);
border-radius: var(--vik-radius);
}
.event-card--past {
opacity: 0.55;
}
.event-card__media {
position: relative;
}
.event-card__image {
display: block;
width: 100%;
height: 220px;
object-fit: cover;
}
.event-card__body {
display: flex;
flex: 1;
flex-direction: column;
padding: var(--wp--preset--spacing--4);
}
.event-card__title {
margin: 0 0 var(--wp--preset--spacing--2);
color: var(--wp--preset--color--ink);
font-family: var(--wp--preset--font-family--display);
font-size: var(--wp--preset--font-size--md);
font-weight: 600;
}
.event-card__title a {
color: inherit;
text-decoration: none;
}
.event-card__excerpt {
margin: 0 0 var(--wp--preset--spacing--4);
color: var(--wp--preset--color--text-soft);
font-size: 13px;
}
.event-card__cta {
display: inline-flex;
align-items: center;
gap: var(--wp--preset--spacing--2);
margin-top: auto;
color: var(--wp--preset--color--accent);
font-size: var(--wp--preset--font-size--xs);
font-weight: 600;
letter-spacing: 0.08em;
text-decoration: none;
text-transform: uppercase;
}
.event-card__cta::after {
content: "\2192";
transition: transform 0.2s ease;
}
.event-card__cta:hover::after {
transform: translateX(4px);
} .events-showcase .event-card__title {
display: -webkit-box;
overflow: hidden;
line-clamp: 1;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
} .event-date-badge {
position: absolute;
top: var(--wp--preset--spacing--3);
left: var(--wp--preset--spacing--3);
z-index: 2;
display: flex;
flex-direction: column;
align-items: center;
min-width: 52px;
padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--3);
background: rgba(250, 250, 248, 0.92);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
border-radius: var(--vik-radius);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);
}
.event-date-badge__top {
font-family: var(--wp--preset--font-family--display);
font-size: 20px;
font-weight: 600;
line-height: 1;
color: var(--wp--preset--color--ink);
font-variant-numeric: lining-nums;
}
.event-date-badge__bottom {
margin-top: var(--wp--preset--spacing--1);
color: var(--wp--preset--color--text-soft);
font-size: 9px;
letter-spacing: 0.06em;
text-transform: uppercase;
font-variant-numeric: lining-nums;
}
.event-date-badge--compact {
min-width: 0;
}
.event-date-badge--compact .event-date-badge__top {
font-size: 13px;
white-space: nowrap;
} .event-badge-concluso {
position: absolute;
top: var(--wp--preset--spacing--3);
right: var(--wp--preset--spacing--3);
z-index: 2;
padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--3);
background: rgba(250, 250, 248, 0.9);
border: 1px solid var(--wp--preset--color--line);
border-radius: 100px;
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--xs);
letter-spacing: 0.04em;
text-transform: uppercase;
} .events-archive {
padding-top: var(--vik-section-space-y);
padding-bottom: var(--vik-section-space-y);
}
@media (max-width: 1023px) {
.events-archive {
padding-top: var(--vik-section-space-y-tablet);
padding-bottom: var(--vik-section-space-y-tablet);
}
}
@media (max-width: 767px) {
.events-archive {
padding-top: var(--vik-section-space-y-mobile);
padding-bottom: var(--vik-section-space-y-mobile);
}
}
.events-archive__wrapper {
max-width: 1200px;
margin-inline: auto;
}
.events-archive__grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--vik-grid-gap);
margin: 0;
padding: 0;
list-style: none;
}
@media (min-width: 768px) {
.events-archive__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 1024px) {
.events-archive__grid {
grid-template-columns: repeat(3, 1fr);
}
}
.events-archive__no-results {
color: var(--wp--preset--color--text-soft);
text-align: center;
} .events-archive__section-label {
margin: var(--wp--preset--spacing--8) 0 var(--wp--preset--spacing--6);
text-align: center;
}
.events-archive__section-label:first-child {
margin-top: 0;
}
.events-archive__section-label span {
display: inline-block;
margin-bottom: var(--wp--preset--spacing--3);
color: var(--wp--preset--color--text-soft);
font-size: var(--wp--preset--font-size--xs);
letter-spacing: 0.08em;
text-transform: uppercase;
}
.events-archive__section-label::after {
content: "";
display: block;
border-top: 1px solid var(--wp--preset--color--line);
} .events-showcase-section .section-head p:last-child {
max-width: 560px;
margin-left: auto;
margin-right: auto;
margin-top: var(--wp--preset--spacing--3);
margin-bottom: 0;
color: var(--wp--preset--color--text-soft);
} .events-showcase__wrapper {
max-width: 1400px;
margin-inline: auto;
padding-bottom: var(--wp--preset--spacing--6);
}
.events-showcase__track {
display: flex;
gap: var(--wp--preset--spacing--4);
overflow-x: auto;
scroll-snap-type: x mandatory;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
}
.events-showcase__track > .event-card {
flex: 0 0 84%;
scroll-snap-align: start;
}
@media (min-width: 768px) {
.events-showcase__track > .event-card {
flex: 0 0 calc( ( 100% - ( var( --vik-carousel-visible, 3 ) - 1 ) * var( --wp--preset--spacing--4 ) ) / var( --vik-carousel-visible, 3 ) );
}
}
.events-showcase__nav {
display: flex;
justify-content: flex-end;
gap: var(--wp--preset--spacing--2);
margin-top: var(--wp--preset--spacing--4);
}
.events-showcase__arrow {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border: 1px solid var(--wp--preset--color--text-soft);
border-radius: 100px;
background-color: var(--wp--preset--color--background-alt);
color: var(--wp--preset--color--ink);
font-size: var(--wp--preset--font-size--lg);
cursor: pointer;
transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.events-showcase__arrow:hover {
background-color: var(--wp--preset--color--accent);
color: var(--wp--preset--color--white);
} .events-showcase__footer {
display: flex;
justify-content: center;
margin-top: var(--wp--preset--spacing--6);
}
.events-showcase__cta-all {
display: inline-flex;
align-items: center;
padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--6);
background-color: var(--wp--preset--color--accent);
border-radius: var(--vik-radius);
color: var(--wp--preset--color--white);
font-size: var(--wp--preset--font-size--xs);
font-weight: 600;
letter-spacing: 0.08em;
text-decoration: none;
text-transform: uppercase;
transition: background-color 0.2s ease;
}
.events-showcase__cta-all:hover {
background-color: var(--wp--preset--color--accent-dark);
} .events-archive__editor-notice,
.events-showcase__editor-notice,
.experiences-showcase__editor-notice {
display: none;
padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
background-color: #fdf2d0;
border: 1px solid #e3c766;
border-radius: var(--vik-radius);
color: var(--wp--preset--color--ink);
font-size: var(--wp--preset--font-size--sm);
}
.editor-styles-wrapper .events-archive__editor-notice,
.editor-styles-wrapper .events-showcase__editor-notice,
.editor-styles-wrapper .experiences-showcase__editor-notice {
display: block;
margin-bottom: var(--wp--preset--spacing--4);
} .experiences-carousel:has(.experiences-showcase--empty) .experiences-carousel__nav,
.experiences-dark:has(.experiences-showcase--empty) .experiences-dark__foot {
display: none;
} .single-back-link {
margin: 0 0 var(--wp--preset--spacing--4);
}
.single-back-link a {
color: var(--wp--preset--color--accent);
font-size: var(--wp--preset--font-size--sm);
font-weight: 600;
text-decoration: none;
}
.single-back-link a:hover {
text-decoration: underline;
} .single-hero.wp-block-post-featured-image {
position: relative;
margin: 0 0 var(--wp--preset--spacing--7);
}
.single-hero.wp-block-post-featured-image img {
display: block;
width: 100%;
height: 480px;
object-fit: cover;
border-radius: var(--vik-radius);
}
.single-content .wp-block-post-title {
margin: 0 0 var(--wp--preset--spacing--6);
font-family: var(--wp--preset--font-family--display);
font-size: 42px;
font-weight: 500;
line-height: 1.15;
}
@media (max-width: 1023px) {
.single-content {
padding-left: var(--wp--preset--spacing--6);
padding-right: var(--wp--preset--spacing--6);
}
.single-hero.wp-block-post-featured-image img {
height: 380px;
}
}
@media (max-width: 767px) {
.single-content {
padding-left: var(--wp--preset--spacing--5);
padding-right: var(--wp--preset--spacing--5);
}
.single-hero.wp-block-post-featured-image img {
height: 260px;
}
.single-content .wp-block-post-title {
font-size: 30px;
}
} .error-404 {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: calc(100vh - var(--header-height, 80px));
padding: var(--wp--preset--spacing--9) var(--wp--preset--spacing--5);
text-align: center;
} .error-404__code {
margin: 0 0 var(--wp--preset--spacing--2);
color: var(--wp--preset--color--accent);
font-family: var(--wp--preset--font-family--display);
font-size: 160px;
font-weight: 500;
line-height: 1;
font-variant-numeric: lining-nums;
}
.error-404__title {
margin: 0 0 var(--wp--preset--spacing--4);
font-size: 34px;
font-weight: 500;
}
.error-404__subtitle {
max-width: 460px;
margin: 0 auto var(--wp--preset--spacing--7);
color: var(--wp--preset--color--text-soft);
}
.error-404__actions {
gap: var(--wp--preset--spacing--5);
}
.error-404__actions .wp-block-button__link {
border-radius: var(--vik-radius);
}
@media (max-width: 1023px) {
.error-404__code {
font-size: 120px;
}
} footer {
margin-block-start: 0px;
}
.site-footer {
padding: var(--wp--preset--spacing--9) var(--wp--preset--spacing--8) var(--wp--preset--spacing--6);
}
.site-footer a {
color: rgba(255, 255, 255, 0.78);
text-decoration: none;
transition: color 200ms ease;
}
.site-footer a:hover {
color: var(--wp--preset--color--accent);
}
.site-footer__brand-name,
.site-footer__brand-name a {
font-family: var(--wp--preset--font-family--display);
font-size: 30px;
font-weight: 500;
color: var(--wp--preset--color--white);
}
.site-footer__tagline {
margin-top: var(--wp--preset--spacing--2);
max-width: 220px;
font-size: var(--wp--preset--font-size--sm);
color: var(--vik-overlay-ivory);
}
.site-footer__social {
margin-top: var(--wp--preset--spacing--6);
}
.site-footer__social .wp-block-social-link-anchor {
width: 40px;
height: 40px;
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 50%;
transition: background-color 200ms ease, border-color 200ms ease;
justify-content: center;
}
.site-footer__social .wp-block-social-link-anchor:hover {
background-color: var(--wp--preset--color--accent);
border-color: var(--wp--preset--color--accent);
}
.site-footer__label {
margin-bottom: var(--wp--preset--spacing--4);
font-size: 11px;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
color: rgba(255, 255, 255, 0.52);
}
.site-footer__nav .wp-block-navigation-item__content {
font-size: var(--wp--preset--font-size--sm);
}
.site-footer__contact-row {
align-items: center;
margin-bottom: var(--wp--preset--spacing--3);
}
.site-footer__contact-row--address {
align-items: flex-start;
}
.site-footer__contact-row p {
font-size: var(--wp--preset--font-size--sm);
line-height: 1.5;
}
.site-footer__divider {
margin-top: var(--wp--preset--spacing--8);
border-top-color: rgba(255, 255, 255, 0.14);
}
.site-footer__bottom {
padding-top: var(--wp--preset--spacing--5);
}
.site-footer__copyright,
.site-footer__copyright p,
.site-footer__legal {
margin: 0;
font-size: var(--wp--preset--font-size--xs);
color: rgba(255, 255, 255, 0.52);
}
.site-footer__legal a {
color: rgba(255, 255, 255, 0.6);
}
@media (max-width: 1023px) {
.site-footer {
padding-right: var(--wp--preset--spacing--6);
padding-left: var(--wp--preset--spacing--6);
}
.site-footer__columns.wp-block-columns {
row-gap: var(--wp--preset--spacing--7);
}
}
@media (max-width: 767px) {
.site-footer {
padding-top: var(--wp--preset--spacing--7);
padding-right: var(--wp--preset--spacing--5);
padding-left: var(--wp--preset--spacing--5);
}
.site-footer__bottom {
flex-direction: column;
align-items: flex-start;
gap: var(--wp--preset--spacing--3);
}
}
@media (max-width: 767px) {
.error-404__code {
font-size: 88px;
}
.error-404__title {
font-size: 28px;
}
.error-404__actions {
flex-direction: column;
gap: var(--wp--preset--spacing--3);
}
}