@charset "UTF-8";
@media (max-width: 991.98px) {
  .cms-section__grid--carousel-row {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 1rem;
    padding-bottom: 0.5rem;
    -webkit-overflow-scrolling: touch;
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin-inline: 0;
  }
  .cms-section__grid--carousel-row .cms-section__slot {
    flex: 0 0 min(88vw, 320px);
    min-width: 0;
    scroll-snap-align: start;
    padding-inline: 0;
  }
  .cms-section__grid--carousel-row .cms-section__slot:only-child {
    flex: 1 0 100%;
  }
}

/* Kropki paginacji karuzeli (generowane przez cms-section-carousel-dots.js) - tylko mobile/tablet */
.cms-section-carousel-dots {
  display: none;
}

@media (max-width: 991.98px) {
  .cms-section-carousel-dots {
    display: flex;
    justify-content: center;
    gap: 0.45rem;
    margin-top: 0.65rem;
  }
  .cms-section-carousel-dots__dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--color-text, #243029) 24%, transparent);
    cursor: pointer;
    transition: background-color 0.2s ease, width 0.2s ease;
  }
  .cms-section-carousel-dots__dot.is-active {
    width: 20px;
    background: var(--color-primary, #2f5d50);
  }
}
.cms-section__grid--full-bleed-media {
  --bs-gutter-x: 0;
}

.cms-section--mode-ai_block .cms-section__grid {
  display: none;
}

.cms-section__slot--placeholder {
  display: none;
  min-height: 0;
  padding: 0 !important;
  margin: 0;
  border: 0;
}

@media (min-width: 992px) {
  .cms-section__grid.row .cms-section__slot--placeholder {
    display: flex;
  }
}
@media (max-width: 767.98px) {
  .cms-section__grid.row .cms-section__slot--placeholder {
    display: none !important;
  }
  .cms-section__grid--reverse-mobile {
    flex-direction: column-reverse;
  }
}
.cms-section__grid.row {
  display: flex;
  flex-wrap: wrap;
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  margin-inline: calc(var(--bs-gutter-x) * -0.5);
}
.cms-section__grid.row > [class*=col-] {
  flex: 0 0 auto;
  box-sizing: border-box;
  min-width: 0;
  padding-inline: calc(var(--bs-gutter-x) * 0.5);
}

.cms-section__grid.row > .col-1 {
  width: 8.3333333333%;
}

.cms-section__grid.row > .col-2 {
  width: 16.6666666667%;
}

.cms-section__grid.row > .col-3 {
  width: 25%;
}

.cms-section__grid.row > .col-4 {
  width: 33.3333333333%;
}

.cms-section__grid.row > .col-5 {
  width: 41.6666666667%;
}

.cms-section__grid.row > .col-6 {
  width: 50%;
}

.cms-section__grid.row > .col-7 {
  width: 58.3333333333%;
}

.cms-section__grid.row > .col-8 {
  width: 66.6666666667%;
}

.cms-section__grid.row > .col-9 {
  width: 75%;
}

.cms-section__grid.row > .col-10 {
  width: 83.3333333333%;
}

.cms-section__grid.row > .col-11 {
  width: 91.6666666667%;
}

.cms-section__grid.row > .col-12 {
  width: 100%;
}

@media (min-width: 768px) {
  .cms-section__grid.row > .col-md-1 {
    width: 8.3333333333%;
  }
  .cms-section__grid.row > .col-md-2 {
    width: 16.6666666667%;
  }
  .cms-section__grid.row > .col-md-3 {
    width: 25%;
  }
  .cms-section__grid.row > .col-md-4 {
    width: 33.3333333333%;
  }
  .cms-section__grid.row > .col-md-5 {
    width: 41.6666666667%;
  }
  .cms-section__grid.row > .col-md-6 {
    width: 50%;
  }
  .cms-section__grid.row > .col-md-7 {
    width: 58.3333333333%;
  }
  .cms-section__grid.row > .col-md-8 {
    width: 66.6666666667%;
  }
  .cms-section__grid.row > .col-md-9 {
    width: 75%;
  }
  .cms-section__grid.row > .col-md-10 {
    width: 83.3333333333%;
  }
  .cms-section__grid.row > .col-md-11 {
    width: 91.6666666667%;
  }
  .cms-section__grid.row > .col-md-12 {
    width: 100%;
  }
}
@media (min-width: 992px) {
  .cms-section__grid.row > .col-lg-1 {
    width: 8.3333333333%;
  }
  .cms-section__grid.row > .col-lg-2 {
    width: 16.6666666667%;
  }
  .cms-section__grid.row > .col-lg-3 {
    width: 25%;
  }
  .cms-section__grid.row > .col-lg-4 {
    width: 33.3333333333%;
  }
  .cms-section__grid.row > .col-lg-5 {
    width: 41.6666666667%;
  }
  .cms-section__grid.row > .col-lg-6 {
    width: 50%;
  }
  .cms-section__grid.row > .col-lg-7 {
    width: 58.3333333333%;
  }
  .cms-section__grid.row > .col-lg-8 {
    width: 66.6666666667%;
  }
  .cms-section__grid.row > .col-lg-9 {
    width: 75%;
  }
  .cms-section__grid.row > .col-lg-10 {
    width: 83.3333333333%;
  }
  .cms-section__grid.row > .col-lg-11 {
    width: 91.6666666667%;
  }
  .cms-section__grid.row > .col-lg-12 {
    width: 100%;
  }
}
.cms-section {
  position: relative;
}

.cms-section--has-bg-stack:not(.cms-section--parallax-scroll):not(.cms-section--bg-fill-glass):not(:has(.blog-apartment-group__slider-wrap)) {
  isolation: isolate;
  overflow: hidden;
}

.cms-section--has-bg-stack.cms-section--parallax-scroll:not(.cms-section--bg-fill-glass):not(:has(.blog-apartment-group__slider-wrap)) {
  isolation: isolate;
  overflow: clip;
}

.cms-section--has-bg-stack.cms-section--bg-fill-glass:not(:has(.blog-apartment-group__slider-wrap)) {
  background-color: transparent !important;
  overflow: clip;
}

.cms-section__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
}

.cms-section__bg-fill {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--cms-section-bg-fill, none);
}

.cms-section__bg-fill--glass {
  z-index: 2;
  background: var(--cms-section-bg-fill, rgba(255, 255, 255, 0.15));
  backdrop-filter: blur(var(--cms-section-bg-backdrop-blur, 12px));
  -webkit-backdrop-filter: blur(var(--cms-section-bg-backdrop-blur, 12px));
}

.cms-section__bg-pattern {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  color: var(--cms-section-bg-pattern-color, rgba(8, 16, 12, 0.42));
  opacity: var(--cms-section-bg-pattern-opacity, 0.12);
  mix-blend-mode: var(--cms-section-bg-pattern-blend, normal);
  background-image: var(--cms-section-bg-pattern-image);
  background-repeat: var(--cms-section-bg-pattern-repeat, repeat);
  background-size: var(--cms-section-bg-pattern-size, 32px 32px);
  background-position: 0 0;
}

.cms-section--bg-fill-glass .cms-section__bg-pattern {
  z-index: 3;
}

.cms-section__bg-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--cms-section-bg-image);
  background-repeat: var(--cms-section-bg-repeat, no-repeat);
  background-size: var(--cms-section-bg-size, cover);
  background-position: var(--cms-section-bg-position, center);
  background-attachment: var(--cms-section-bg-attachment, scroll);
  transform: translate3d(0, 0, 0);
  filter: blur(var(--cms-section-bg-media-blur, 0));
  transform-origin: center center;
}
@supports (scale: 1.06) {
  .cms-section__bg-media {
    scale: calc(1 + min(var(--cms-section-bg-media-blur, 0px), 24px) * 0.0025);
  }
}

.cms-section--parallax-scroll .cms-section__bg-media--parallax-scroll {
  inset: auto;
  top: -18%;
  left: 0;
  right: 0;
  width: 100%;
  height: 136%;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  filter: blur(var(--cms-section-bg-media-blur, 0));
}

.cms-section--parallax-fixed .cms-section__bg-media {
  background-attachment: fixed;
}

.cms-section__bg-video {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  filter: blur(var(--cms-section-bg-media-blur, 0));
}

.cms-section__bg-video .cms-video-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cms-section__bg-video .cms-video-frame__slot,
.cms-section__bg-video .cms-video-frame__video {
  width: 100%;
  height: 100%;
}

.cms-section__bg-video .cms-video-frame__video {
  object-fit: var(--cms-section-bg-video-fit, cover);
  object-position: var(--cms-section-bg-video-position, center);
}

.cms-section--has-bg-video .cms-section__bg-video .cms-video-frame--background {
  min-height: 100%;
}

.cms-section__bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  mix-blend-mode: var(--cms-section-bg-overlay-blend, normal);
  background: color-mix(in srgb, var(--cms-section-bg-overlay-color, #08100c) calc(var(--cms-section-bg-overlay, 0) * 100%), transparent);
  backdrop-filter: blur(var(--cms-section-bg-overlay-blur, 0));
  -webkit-backdrop-filter: blur(var(--cms-section-bg-overlay-blur, 0));
}

.cms-section__content {
  position: relative;
  z-index: 1;
}
.cms-section__content:has(.blog-apartment-group__slider-wrap) {
  overflow: visible;
}

.cms-section:has(.blog-apartment-group__slider-wrap),
.cms-section__wrap:has(.blog-apartment-group__slider-wrap),
.cms-section__grid:has(.blog-apartment-group__slider-wrap),
.cms-section__slot:has(.blog-apartment-group__slider-wrap) {
  overflow: visible;
}

.cms-section--tone-light {
  background-color: var(--color-surface-soft, #f6f3ed);
  color: var(--color-text, #24302b);
  color: oklch(from var(--color-text, #24302b) clamp(0.18, l, 0.68) c h);
}
.cms-section--tone-light .cms-section__content {
  color: inherit;
}
.cms-section--tone-light .cms-c-cta--dark:not(.cms-c-cta--image):not(.cms-c-cta--primary) {
  --cms-cta-ink: var(--color-text, #24302b);
  background: var(--color-surface-soft, #f6f3ed);
  color: var(--cms-cta-ink);
}
.cms-section--tone-light .cms-c-cta--dark:not(.cms-c-cta--image):not(.cms-c-cta--primary) .cms-c-cta__eyebrow {
  color: var(--color-primary, #4b310d);
}
.cms-section--tone-light .cms-c-cta--dark:not(.cms-c-cta--image):not(.cms-c-cta--primary) .cms-c-cta__title {
  color: var(--color-heading, #24302b);
}
.cms-section--tone-light .cms-c-cta--dark:not(.cms-c-cta--image):not(.cms-c-cta--primary) .cms-c-cta__lead {
  color: var(--color-text-muted, #65706a);
}
.cms-section--tone-light .cms-c-hero:not(.cms-c-hero--has-image):not(.cms-c-hero--light) {
  background: var(--color-surface-soft, #f6f3ed);
  color: var(--color-text, #24302b);
}
.cms-section--tone-light .cms-c-hero:not(.cms-c-hero--has-image):not(.cms-c-hero--light) .cms-c-hero__lead {
  color: var(--theme-comp-cms-hero-lead-color-light, var(--color-text-muted, #65706a));
}

.cms-section--tone-dark {
  --cms-tone-ink: var(--color-on-surface-strong, #fff);
  background-color: var(--color-surface-strong, #1a211e);
  color: color-mix(in srgb, var(--cms-tone-ink) 92%, transparent);
}
.cms-section--tone-dark .cms-section__content {
  color: inherit;
}
.cms-section--tone-dark .cms-section__content :where([class*=__lead],
[class*=__desc],
[class*=__text],
[class*=__subtitle],
[class*=__eyebrow],
.text-secondary,
.cms-c-rich-text,
.cms-c-rich-text p):not(.cms-c-cta__lead):not(.cms-c-cta__eyebrow) {
  color: color-mix(in srgb, var(--cms-tone-ink) 86%, transparent);
}
.cms-section--tone-dark .cms-c-vhero__lead,
.cms-section--tone-dark .cms-c-hero:not(.cms-c-hero--light) .cms-c-hero__lead {
  color: color-mix(in srgb, var(--cms-tone-ink) 88%, transparent);
}
.cms-section--tone-dark .cms-c-hero__eyebrow,
.cms-section--tone-dark .cms-c-vhero__eyebrow {
  color: var(--color-secondary, #b89a61);
  color: oklch(from var(--color-secondary, #b89a61) clamp(0.74, l, 0.97) c h);
}
.cms-section--tone-dark .cms-c-benefits-row__icon,
.cms-section--tone-dark .cms-c-checklist__icon,
.cms-section--tone-dark .cms-c-trust-strip__icon,
.cms-section--tone-dark .cms-c-proximity__icon,
.cms-section--tone-dark .cms-c-arrive__icon {
  color: color-mix(in srgb, var(--cms-tone-ink) 82%, transparent);
}

.cms-section--tone-dark.cms-section--heading-tone-dark,
.cms-section--tone-dark.cms-section--full-bleed-media,
.cms-section--tone-dark:has(.cms-c-vhero, .cms-c-hero--has-image) {
  --cms-tone-ink: #fff;
  color: color-mix(in srgb, var(--cms-tone-ink) 92%, transparent);
}

.cms-builder-page .cms-section--tone-dark:not([class*=heading-tone-]) .cms-section__content h1.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark:not([class*=heading-tone-]) .cms-section__content h2.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark:not([class*=heading-tone-]) .cms-section__content h3.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark:not([class*=heading-tone-]) .cms-section__content h4.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark:not([class*=heading-tone-]) .cms-section__content h5.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark:not([class*=heading-tone-]) .cms-section__content h6.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark:not([class*=heading-tone-]) .cms-section__content :where([class*=__title]):not(.cms-c-cta__title) {
  color: var(--cms-tone-ink, #fff);
}
.cms-builder-page .cms-section--tone-dark:not([class*=heading-tone-]) .cms-section__content .cms-c-cta:not(.cms-c-cta--soft) .cms-c-cta__title {
  color: var(--cms-tone-ink, #fff);
}

.cms-section--tone-dark.cms-section--has-bg-stack,
.cms-section--tone-light.cms-section--has-bg-stack {
  background-color: transparent;
}

.cms-section--divider-top,
.cms-section--divider-bottom {
  position: relative;
  isolation: isolate;
}
.cms-section--divider-top > .cms-section__content,
.cms-section--divider-bottom > .cms-section__content {
  position: relative;
  z-index: 2;
}

.cms-section--divider-top > .cms-section__content {
  padding-block-start: calc(var(--cms-section-divider-top-height, 0px) * 0.55);
}

.cms-section--divider-bottom > .cms-section__content {
  padding-block-end: calc(var(--cms-section-divider-bottom-height, 0px) * 0.55);
}

.cms-section__divider {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
  line-height: 0;
  pointer-events: none;
}
.cms-section__divider svg {
  display: block;
  width: 100%;
  height: 100%;
}

.cms-section__divider--top {
  top: 0;
  height: var(--cms-section-divider-top-height, 72px);
  color: var(--cms-section-divider-top-color, var(--color-bg, #fff));
  transform: rotate(180deg);
}

.cms-section__divider--bottom {
  bottom: 0;
  height: var(--cms-section-divider-bottom-height, 72px);
  color: var(--cms-section-divider-bottom-color, var(--color-bg, #fff));
}

.cms-section__divider--flip svg {
  transform: scaleX(-1);
}

@media (max-width: 767.98px) {
  .cms-section__divider--top {
    height: min(var(--cms-section-divider-top-height, 72px), 48px);
  }
  .cms-section__divider--bottom {
    height: min(var(--cms-section-divider-bottom-height, 72px), 48px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cms-section--parallax-scroll .cms-section__bg-media--parallax-scroll {
    inset: 0;
    height: 100%;
    transform: none !important;
  }
  .cms-c-cta__bg--parallax {
    inset: 0;
    height: 100%;
    transform: none !important;
  }
  .cms-section--parallax-fixed .cms-section__bg-media {
    background-attachment: scroll;
  }
}
.cms-section__slot {
  position: relative;
  min-height: var(--cms-slot-min-height, auto);
}

.cms-section__slot--has-bg {
  isolation: isolate;
  overflow: hidden;
}

.cms-section__slot--custom-text {
  color: var(--cms-slot-text-color, inherit);
}
.cms-section__slot--custom-text .cms-section__slot-content {
  color: inherit;
}

.cms-section__slot--has-bg,
.cms-section__slot[class*="--has-bg"] {
  padding: var(--cms-slot-padding, 0);
  border-radius: var(--cms-slot-radius, 0);
}

.cms-section__slot:not(.cms-section__slot--has-bg) {
  padding: var(--cms-slot-padding, unset);
  border-radius: var(--cms-slot-radius, unset);
}

.cms-section__slot-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
}

.cms-section__slot-bg-fill {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--cms-slot-bg-fill, none);
}

.cms-section__slot-bg-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--cms-slot-bg-image);
  background-repeat: var(--cms-slot-bg-repeat, no-repeat);
  background-size: var(--cms-slot-bg-size, cover);
  background-position: var(--cms-slot-bg-position, center);
}

.cms-section__slot-bg-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: color-mix(in srgb, var(--cms-slot-bg-overlay-color, #08100c) calc(var(--cms-slot-bg-overlay, 0) * 100%), transparent);
}

.cms-section__slot-content {
  position: relative;
  z-index: 1;
}

.cms-section__slot--content-layout {
  display: flex;
  flex-direction: column;
  min-height: var(--cms-slot-min-height, auto);
}
.cms-section__slot--content-layout > .cms-section__slot-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: var(--cms-slot-content-justify, flex-start);
  align-items: var(--cms-slot-content-align-items, stretch);
  text-align: var(--cms-slot-text-align, inherit);
  min-height: 0;
  width: 100%;
  height: 100%;
}
.cms-section__slot--content-layout[style*="--cms-slot-min-height"] > .cms-section__slot-content > .cms-section__component:has(.cms-c-hero, .cms-c-cta) {
  flex: 1 1 auto;
  width: 100%;
  align-self: stretch;
}
.cms-section__slot--content-layout[style*="--cms-slot-min-height"] > .cms-section__slot-content > .cms-section__component .cms-c-hero,
.cms-section__slot--content-layout[style*="--cms-slot-min-height"] > .cms-section__slot-content > .cms-section__component .cms-c-cta {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.cms-section__slot--content-layout > .cms-section__slot-content:has(.hero-search-bar-wrap.searchbar) {
  align-items: center;
}
.cms-section__slot--content-layout .cms-c-heading,
.cms-section__slot--content-layout .cms-c-cta__title,
.cms-section__slot--content-layout h1,
.cms-section__slot--content-layout h2,
.cms-section__slot--content-layout h3,
.cms-section__slot--content-layout h4 {
  color: var(--cms-slot-heading-color, inherit);
}
.cms-section__slot--content-layout .cms-c-rich-text,
.cms-section__slot--content-layout .cms-c-cta__lead,
.cms-section__slot--content-layout .cms-c-cta__eyebrow,
.cms-section__slot--content-layout p {
  color: var(--cms-slot-text-muted-color, inherit);
}
.cms-section__slot--content-layout .cms-c-btn-row,
.cms-section__slot--content-layout .cms-c-btn {
  align-self: var(--cms-slot-content-align-items, flex-start);
}

.cms-section__slot--placeholder.cms-section__slot--has-bg {
  min-height: 2rem;
}

.cms-builder-page .cms-section,
.seo-cms-page .cms-section,
.home-page--cms-builder .cms-section {
  min-height: var(--cms-section-spacing-min-h, var(--theme-comp-cms-section-min-height, auto));
  border-top-left-radius: var(--cms-section-spacing-radius-tl, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-tl, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))));
  border-top-right-radius: var(--cms-section-spacing-radius-tr, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-tr, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))));
  border-bottom-right-radius: var(--cms-section-spacing-radius-br, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-br, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))));
  border-bottom-left-radius: var(--cms-section-spacing-radius-bl, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-bl, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))));
}
@media (max-width: 991.98px) {
  .cms-builder-page .cms-section,
  .seo-cms-page .cms-section,
  .home-page--cms-builder .cms-section {
    min-height: var(--cms-section-spacing-min-h-md, var(--cms-section-spacing-min-h, var(--theme-comp-cms-section-min-height, auto)));
    border-top-left-radius: var(--cms-section-spacing-radius-tl-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-tl, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-tl, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))))));
    border-top-right-radius: var(--cms-section-spacing-radius-tr-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-tr, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-tr, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))))));
    border-bottom-right-radius: var(--cms-section-spacing-radius-br-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-br, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-br, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))))));
    border-bottom-left-radius: var(--cms-section-spacing-radius-bl-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-bl, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-bl, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))))));
  }
}
@media (max-width: 639.98px) {
  .cms-builder-page .cms-section,
  .seo-cms-page .cms-section,
  .home-page--cms-builder .cms-section {
    min-height: var(--cms-section-spacing-min-h-sm, var(--cms-section-spacing-min-h-md, var(--cms-section-spacing-min-h, var(--theme-comp-cms-section-min-height, auto))));
    border-top-left-radius: var(--cms-section-spacing-radius-tl-sm, var(--cms-section-spacing-radius-sm, var(--cms-section-spacing-radius-tl-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-tl, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-tl, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))))))));
    border-top-right-radius: var(--cms-section-spacing-radius-tr-sm, var(--cms-section-spacing-radius-sm, var(--cms-section-spacing-radius-tr-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-tr, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-tr, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))))))));
    border-bottom-right-radius: var(--cms-section-spacing-radius-br-sm, var(--cms-section-spacing-radius-sm, var(--cms-section-spacing-radius-br-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-br, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-br, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))))))));
    border-bottom-left-radius: var(--cms-section-spacing-radius-bl-sm, var(--cms-section-spacing-radius-sm, var(--cms-section-spacing-radius-bl-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-bl, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-bl, var(--theme-comp-cms-section-radius, var(--layout-radius, 0)))))))));
  }
}
.cms-builder-page .cms-section[style*="--cms-section-spacing-min-h"],
.seo-cms-page .cms-section[style*="--cms-section-spacing-min-h"],
.home-page--cms-builder .cms-section[style*="--cms-section-spacing-min-h"] {
  display: flex;
  flex-direction: column;
}
.cms-builder-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap,
.seo-cms-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap,
.home-page--cms-builder .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 0;
}
.cms-builder-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid,
.seo-cms-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid,
.home-page--cms-builder .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid {
  flex: 1 1 auto;
  width: 100%;
  min-height: 100%;
  align-items: stretch;
}
.cms-builder-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col],
.seo-cms-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col],
.home-page--cms-builder .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] {
  display: flex;
  flex-direction: column;
}
.cms-builder-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot,
.seo-cms-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot,
.home-page--cms-builder .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.cms-builder-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content,
.seo-cms-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content,
.home-page--cms-builder .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  width: 100%;
}
.cms-builder-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content > .cms-section__component:has(.cms-c-hero, .cms-c-cta),
.seo-cms-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content > .cms-section__component:has(.cms-c-hero, .cms-c-cta),
.home-page--cms-builder .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content > .cms-section__component:has(.cms-c-hero, .cms-c-cta) {
  flex: 1 1 auto;
  width: 100%;
  align-self: stretch;
}
.cms-builder-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content > .cms-section__component .cms-c-hero,
.cms-builder-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content > .cms-section__component .cms-c-cta,
.seo-cms-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content > .cms-section__component .cms-c-hero,
.seo-cms-page .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content > .cms-section__component .cms-c-cta,
.home-page--cms-builder .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content > .cms-section__component .cms-c-hero,
.home-page--cms-builder .cms-section[style*="--cms-section-spacing-min-h"] > .cms-section__wrap > .cms-section__grid > [class*=col] > .cms-section__slot > .cms-section__slot-content > .cms-section__component .cms-c-cta {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.cms-builder-page .cms-section:not(.cms-section--full-bleed-media):not(#hero-start):not(.cms-section--parallax-scroll):not(.cms-section--has-bg-stack):not(:has(.blog-apartment-group__slider-wrap)):not(.cms-home__offers):not(.cms-home__deals):not(.rentilo-home__offers):not(.rentilo-home__deals):not(:has(.home-section--room-catalog)):not(:has(.home-section--room-catalog-carousel)):not(:has(.home-section--apartments-carousel)):not(:has(.home-section--featured)),
.seo-cms-page .cms-section:not(.cms-section--full-bleed-media):not(#hero-start):not(.cms-section--parallax-scroll):not(.cms-section--has-bg-stack):not(:has(.blog-apartment-group__slider-wrap)):not(.cms-home__offers):not(.cms-home__deals):not(.rentilo-home__offers):not(.rentilo-home__deals):not(:has(.home-section--room-catalog)):not(:has(.home-section--room-catalog-carousel)):not(:has(.home-section--apartments-carousel)):not(:has(.home-section--featured)),
.home-page--cms-builder .cms-section:not(.cms-section--full-bleed-media):not(#hero-start):not(.cms-section--parallax-scroll):not(.cms-section--has-bg-stack):not(:has(.blog-apartment-group__slider-wrap)):not(.cms-home__offers):not(.cms-home__deals):not(.rentilo-home__offers):not(.rentilo-home__deals):not(:has(.home-section--room-catalog)):not(:has(.home-section--room-catalog-carousel)):not(:has(.home-section--apartments-carousel)):not(:has(.home-section--featured)) {
  overflow: hidden;
}
.cms-builder-page .cms-section.cms-home__offers, .cms-builder-page .cms-section.cms-home__deals, .cms-builder-page .cms-section.rentilo-home__offers, .cms-builder-page .cms-section.rentilo-home__deals, .cms-builder-page .cms-section:has(.home-section--room-catalog), .cms-builder-page .cms-section:has(.home-section--room-catalog-carousel), .cms-builder-page .cms-section:has(.home-section--apartments-carousel), .cms-builder-page .cms-section:has(.home-section--featured),
.seo-cms-page .cms-section.cms-home__offers,
.seo-cms-page .cms-section.cms-home__deals,
.seo-cms-page .cms-section.rentilo-home__offers,
.seo-cms-page .cms-section.rentilo-home__deals,
.seo-cms-page .cms-section:has(.home-section--room-catalog),
.seo-cms-page .cms-section:has(.home-section--room-catalog-carousel),
.seo-cms-page .cms-section:has(.home-section--apartments-carousel),
.seo-cms-page .cms-section:has(.home-section--featured),
.home-page--cms-builder .cms-section.cms-home__offers,
.home-page--cms-builder .cms-section.cms-home__deals,
.home-page--cms-builder .cms-section.rentilo-home__offers,
.home-page--cms-builder .cms-section.rentilo-home__deals,
.home-page--cms-builder .cms-section:has(.home-section--room-catalog),
.home-page--cms-builder .cms-section:has(.home-section--room-catalog-carousel),
.home-page--cms-builder .cms-section:has(.home-section--apartments-carousel),
.home-page--cms-builder .cms-section:has(.home-section--featured) {
  overflow: visible;
}

.cms-builder-page .cms-section--full-bleed-media:not(#hero-start) {
  border-top-left-radius: var(--cms-section-spacing-radius-tl, var(--cms-section-spacing-radius, 0));
  border-top-right-radius: var(--cms-section-spacing-radius-tr, var(--cms-section-spacing-radius, 0));
  border-bottom-right-radius: var(--cms-section-spacing-radius-br, var(--cms-section-spacing-radius, 0));
  border-bottom-left-radius: var(--cms-section-spacing-radius-bl, var(--cms-section-spacing-radius, 0));
  padding-top: var(--cms-section-spacing-pt, var(--cms-section-spacing-py, 0));
  padding-right: var(--cms-section-spacing-pr, var(--cms-section-spacing-px, 0));
  padding-bottom: var(--cms-section-spacing-pb, var(--cms-section-spacing-py, 0));
  padding-left: var(--cms-section-spacing-pl, var(--cms-section-spacing-px, 0));
  margin-top: var(--cms-section-spacing-mt, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y, 0)));
  margin-right: var(--cms-section-spacing-mr, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x, 0)));
  margin-bottom: var(--cms-section-spacing-mb, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y, 0)));
  margin-left: var(--cms-section-spacing-ml, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x, 0)));
}
@media (max-width: 991.98px) {
  .cms-builder-page .cms-section--full-bleed-media:not(#hero-start) {
    border-top-left-radius: var(--cms-section-spacing-radius-tl-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-tl, var(--cms-section-spacing-radius, 0))));
    border-top-right-radius: var(--cms-section-spacing-radius-tr-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-tr, var(--cms-section-spacing-radius, 0))));
    border-bottom-right-radius: var(--cms-section-spacing-radius-br-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-br, var(--cms-section-spacing-radius, 0))));
    border-bottom-left-radius: var(--cms-section-spacing-radius-bl-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-bl, var(--cms-section-spacing-radius, 0))));
    padding-top: var(--cms-section-spacing-pt-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pt, var(--cms-section-spacing-py, 0))));
    padding-right: var(--cms-section-spacing-pr-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pr, var(--cms-section-spacing-px, 0))));
    padding-bottom: var(--cms-section-spacing-pb-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pb, var(--cms-section-spacing-py, 0))));
    padding-left: var(--cms-section-spacing-pl-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pl, var(--cms-section-spacing-px, 0))));
    margin-top: var(--cms-section-spacing-mt-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mt, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0))))));
    margin-right: var(--cms-section-spacing-mr-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-mr, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0))))));
    margin-bottom: var(--cms-section-spacing-mb-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mb, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0))))));
    margin-left: var(--cms-section-spacing-ml-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-ml, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0))))));
  }
}
@media (max-width: 639.98px) {
  .cms-builder-page .cms-section--full-bleed-media:not(#hero-start) {
    border-top-left-radius: var(--cms-section-spacing-radius-tl-sm, var(--cms-section-spacing-radius-sm, var(--cms-section-spacing-radius-tl-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-tl, var(--cms-section-spacing-radius, 0))))));
    border-top-right-radius: var(--cms-section-spacing-radius-tr-sm, var(--cms-section-spacing-radius-sm, var(--cms-section-spacing-radius-tr-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-tr, var(--cms-section-spacing-radius, 0))))));
    border-bottom-right-radius: var(--cms-section-spacing-radius-br-sm, var(--cms-section-spacing-radius-sm, var(--cms-section-spacing-radius-br-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-br, var(--cms-section-spacing-radius, 0))))));
    border-bottom-left-radius: var(--cms-section-spacing-radius-bl-sm, var(--cms-section-spacing-radius-sm, var(--cms-section-spacing-radius-bl-md, var(--cms-section-spacing-radius-md, var(--cms-section-spacing-radius-bl, var(--cms-section-spacing-radius, 0))))));
    padding-top: var(--cms-section-spacing-pt-sm, var(--cms-section-spacing-py-sm, var(--cms-section-spacing-pt-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pt, var(--cms-section-spacing-py, 0))))));
    padding-right: var(--cms-section-spacing-pr-sm, var(--cms-section-spacing-px-sm, var(--cms-section-spacing-pr-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pr, var(--cms-section-spacing-px, 0))))));
    padding-bottom: var(--cms-section-spacing-pb-sm, var(--cms-section-spacing-py-sm, var(--cms-section-spacing-pb-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pb, var(--cms-section-spacing-py, 0))))));
    padding-left: var(--cms-section-spacing-pl-sm, var(--cms-section-spacing-px-sm, var(--cms-section-spacing-pl-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pl, var(--cms-section-spacing-px, 0))))));
    margin-top: var(--cms-section-spacing-mt-sm, var(--cms-section-spacing-my-sm, var(--cms-section-spacing-mt-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mt, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-sm, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0)))))))));
    margin-right: var(--cms-section-spacing-mr-sm, var(--cms-section-spacing-mx-sm, var(--cms-section-spacing-mr-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-mr, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-sm, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0)))))))));
    margin-bottom: var(--cms-section-spacing-mb-sm, var(--cms-section-spacing-my-sm, var(--cms-section-spacing-mb-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mb, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-sm, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0)))))))));
    margin-left: var(--cms-section-spacing-ml-sm, var(--cms-section-spacing-mx-sm, var(--cms-section-spacing-ml-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-ml, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-sm, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0)))))))));
  }
}

.cms-builder-page .cms-section:not(.cms-section--full-bleed-media):not(#hero-start) {
  padding-top: var(--cms-section-spacing-pt, var(--cms-section-spacing-py, var(--theme-comp-cms-section-padding-y, clamp(3rem, 6vw, 5rem))));
  padding-right: var(--cms-section-spacing-pr, var(--cms-section-spacing-px, var(--theme-comp-cms-section-padding-x, 0)));
  padding-bottom: var(--cms-section-spacing-pb, var(--cms-section-spacing-py, var(--theme-comp-cms-section-padding-y, clamp(3rem, 6vw, 5rem))));
  padding-left: var(--cms-section-spacing-pl, var(--cms-section-spacing-px, var(--theme-comp-cms-section-padding-x, 0)));
  margin-top: var(--cms-section-spacing-mt, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y, 0)));
  margin-right: var(--cms-section-spacing-mr, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x, 0)));
  margin-bottom: var(--cms-section-spacing-mb, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y, 0)));
  margin-left: var(--cms-section-spacing-ml, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x, 0)));
}
@media (max-width: 991.98px) {
  .cms-builder-page .cms-section:not(.cms-section--full-bleed-media):not(#hero-start) {
    padding-top: var(--cms-section-spacing-pt-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pt, var(--cms-section-spacing-py, var(--theme-comp-cms-section-padding-y-md, var(--theme-comp-cms-section-padding-y, clamp(2.75rem, 7vw, 4.25rem)))))));
    padding-right: var(--cms-section-spacing-pr-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pr, var(--cms-section-spacing-px, var(--theme-comp-cms-section-padding-x-md, var(--theme-comp-cms-section-padding-x, 0))))));
    padding-bottom: var(--cms-section-spacing-pb-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pb, var(--cms-section-spacing-py, var(--theme-comp-cms-section-padding-y-md, var(--theme-comp-cms-section-padding-y, clamp(2.75rem, 7vw, 4.25rem)))))));
    padding-left: var(--cms-section-spacing-pl-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pl, var(--cms-section-spacing-px, var(--theme-comp-cms-section-padding-x-md, var(--theme-comp-cms-section-padding-x, 0))))));
    margin-top: var(--cms-section-spacing-mt-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mt, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0))))));
    margin-right: var(--cms-section-spacing-mr-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-mr, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0))))));
    margin-bottom: var(--cms-section-spacing-mb-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mb, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0))))));
    margin-left: var(--cms-section-spacing-ml-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-ml, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0))))));
  }
}
@media (max-width: 639.98px) {
  .cms-builder-page .cms-section:not(.cms-section--full-bleed-media):not(#hero-start) {
    padding-top: var(--cms-section-spacing-pt-sm, var(--cms-section-spacing-py-sm, var(--cms-section-spacing-pt-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pt, var(--cms-section-spacing-py, var(--theme-comp-cms-section-padding-y-sm, var(--theme-comp-cms-section-padding-y-md, var(--theme-comp-cms-section-padding-y, clamp(2.25rem, 9vw, 3.75rem))))))))));
    padding-right: var(--cms-section-spacing-pr-sm, var(--cms-section-spacing-px-sm, var(--cms-section-spacing-pr-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pr, var(--cms-section-spacing-px, var(--theme-comp-cms-section-padding-x-sm, var(--theme-comp-cms-section-padding-x-md, var(--theme-comp-cms-section-padding-x, 0)))))))));
    padding-bottom: var(--cms-section-spacing-pb-sm, var(--cms-section-spacing-py-sm, var(--cms-section-spacing-pb-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pb, var(--cms-section-spacing-py, var(--theme-comp-cms-section-padding-y-sm, var(--theme-comp-cms-section-padding-y-md, var(--theme-comp-cms-section-padding-y, clamp(2.25rem, 9vw, 3.75rem))))))))));
    padding-left: var(--cms-section-spacing-pl-sm, var(--cms-section-spacing-px-sm, var(--cms-section-spacing-pl-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pl, var(--cms-section-spacing-px, var(--theme-comp-cms-section-padding-x-sm, var(--theme-comp-cms-section-padding-x-md, var(--theme-comp-cms-section-padding-x, 0)))))))));
    margin-top: var(--cms-section-spacing-mt-sm, var(--cms-section-spacing-my-sm, var(--cms-section-spacing-mt-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mt, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-sm, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0)))))))));
    margin-right: var(--cms-section-spacing-mr-sm, var(--cms-section-spacing-mx-sm, var(--cms-section-spacing-mr-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-mr, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-sm, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0)))))))));
    margin-bottom: var(--cms-section-spacing-mb-sm, var(--cms-section-spacing-my-sm, var(--cms-section-spacing-mb-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mb, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-sm, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0)))))))));
    margin-left: var(--cms-section-spacing-ml-sm, var(--cms-section-spacing-mx-sm, var(--cms-section-spacing-ml-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-ml, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-sm, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0)))))))));
  }
}

.cms-builder-page .cms-section#hero-start,
.cms-builder-page .cms-section[id=hero-start],
.cms-builder-page .cms-section#start,
.cms-builder-page .cms-section[id=start],
.home-page--cms-builder .cms-section#start,
.home-page--cms-builder .cms-section[id=start] {
  padding-top: var(--cms-section-spacing-pt, var(--cms-section-spacing-py, 0));
  padding-right: var(--cms-section-spacing-pr, var(--cms-section-spacing-px, 0));
  padding-bottom: var(--cms-section-spacing-pb, var(--cms-section-spacing-py, 0));
  padding-left: var(--cms-section-spacing-pl, var(--cms-section-spacing-px, 0));
  margin-top: var(--cms-section-spacing-mt, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y, 0)));
  margin-right: var(--cms-section-spacing-mr, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x, 0)));
  margin-bottom: var(--cms-section-spacing-mb, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y, 0)));
  margin-left: var(--cms-section-spacing-ml, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x, 0)));
}
@media (max-width: 991.98px) {
  .cms-builder-page .cms-section#hero-start,
  .cms-builder-page .cms-section[id=hero-start],
  .cms-builder-page .cms-section#start,
  .cms-builder-page .cms-section[id=start],
  .home-page--cms-builder .cms-section#start,
  .home-page--cms-builder .cms-section[id=start] {
    padding-top: var(--cms-section-spacing-pt-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pt, var(--cms-section-spacing-py, 0))));
    padding-right: var(--cms-section-spacing-pr-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pr, var(--cms-section-spacing-px, 0))));
    padding-bottom: var(--cms-section-spacing-pb-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pb, var(--cms-section-spacing-py, 0))));
    padding-left: var(--cms-section-spacing-pl-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pl, var(--cms-section-spacing-px, 0))));
    margin-top: var(--cms-section-spacing-mt-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mt, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0))))));
    margin-right: var(--cms-section-spacing-mr-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-mr, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0))))));
    margin-bottom: var(--cms-section-spacing-mb-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mb, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0))))));
    margin-left: var(--cms-section-spacing-ml-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-ml, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0))))));
  }
}
@media (max-width: 639.98px) {
  .cms-builder-page .cms-section#hero-start,
  .cms-builder-page .cms-section[id=hero-start],
  .cms-builder-page .cms-section#start,
  .cms-builder-page .cms-section[id=start],
  .home-page--cms-builder .cms-section#start,
  .home-page--cms-builder .cms-section[id=start] {
    padding-top: var(--cms-section-spacing-pt-sm, var(--cms-section-spacing-py-sm, var(--cms-section-spacing-pt-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pt, var(--cms-section-spacing-py, 0))))));
    padding-right: var(--cms-section-spacing-pr-sm, var(--cms-section-spacing-px-sm, var(--cms-section-spacing-pr-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pr, var(--cms-section-spacing-px, 0))))));
    padding-bottom: var(--cms-section-spacing-pb-sm, var(--cms-section-spacing-py-sm, var(--cms-section-spacing-pb-md, var(--cms-section-spacing-py-md, var(--cms-section-spacing-pb, var(--cms-section-spacing-py, 0))))));
    padding-left: var(--cms-section-spacing-pl-sm, var(--cms-section-spacing-px-sm, var(--cms-section-spacing-pl-md, var(--cms-section-spacing-px-md, var(--cms-section-spacing-pl, var(--cms-section-spacing-px, 0))))));
    margin-top: var(--cms-section-spacing-mt-sm, var(--cms-section-spacing-my-sm, var(--cms-section-spacing-mt-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mt, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-sm, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0)))))))));
    margin-right: var(--cms-section-spacing-mr-sm, var(--cms-section-spacing-mx-sm, var(--cms-section-spacing-mr-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-mr, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-sm, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0)))))))));
    margin-bottom: var(--cms-section-spacing-mb-sm, var(--cms-section-spacing-my-sm, var(--cms-section-spacing-mb-md, var(--cms-section-spacing-my-md, var(--cms-section-spacing-mb, var(--cms-section-spacing-my, var(--theme-comp-cms-section-margin-y-sm, var(--theme-comp-cms-section-margin-y-md, var(--theme-comp-cms-section-margin-y, 0)))))))));
    margin-left: var(--cms-section-spacing-ml-sm, var(--cms-section-spacing-mx-sm, var(--cms-section-spacing-ml-md, var(--cms-section-spacing-mx-md, var(--cms-section-spacing-ml, var(--cms-section-spacing-mx, var(--theme-comp-cms-section-margin-x-sm, var(--theme-comp-cms-section-margin-x-md, var(--theme-comp-cms-section-margin-x, 0)))))))));
  }
}

.cms-builder-page .cms-section__wrap.container,
.seo-cms-page .cms-in-page-nav__inner.container {
  padding-top: var(--cms-section-spacing-content-pt, var(--theme-comp-cms-section-content-padding-top, 0));
  padding-right: var(--cms-section-spacing-content-pr, var(--cms-section-spacing-content-px, var(--theme-comp-cms-section-content-padding-x, var(--theme-comp-cms-section-padding-x, clamp(1rem, 3vw, 2rem)))));
  padding-bottom: var(--cms-section-spacing-content-pb, var(--theme-comp-cms-section-content-padding-bottom, 0));
  padding-left: var(--cms-section-spacing-content-pl, var(--cms-section-spacing-content-px, var(--theme-comp-cms-section-content-padding-x, var(--theme-comp-cms-section-padding-x, clamp(1rem, 3vw, 2rem)))));
}
@media (max-width: 991.98px) {
  .cms-builder-page .cms-section__wrap.container,
  .seo-cms-page .cms-in-page-nav__inner.container {
    padding-left: max(var(--cms-section-spacing-content-pl-md, var(--cms-section-spacing-content-pl, var(--cms-section-spacing-content-px-md, var(--cms-section-spacing-content-px, var(--theme-comp-cms-section-content-padding-left-md, var(--theme-comp-cms-section-content-padding-x-md, var(--theme-comp-cms-section-content-padding-x, clamp(0.875rem, 4vw, 1.5rem)))))))), env(safe-area-inset-left, 0px));
    padding-right: max(var(--cms-section-spacing-content-pr-md, var(--cms-section-spacing-content-pr, var(--cms-section-spacing-content-px-md, var(--cms-section-spacing-content-px, var(--theme-comp-cms-section-content-padding-right-md, var(--theme-comp-cms-section-content-padding-x-md, var(--theme-comp-cms-section-content-padding-x, clamp(0.875rem, 4vw, 1.5rem)))))))), env(safe-area-inset-right, 0px));
    padding-top: var(--cms-section-spacing-content-pt-md, var(--cms-section-spacing-content-pt, var(--theme-comp-cms-section-content-padding-top-md, var(--theme-comp-cms-section-content-padding-top, 0))));
    padding-bottom: var(--cms-section-spacing-content-pb-md, var(--cms-section-spacing-content-pb, var(--theme-comp-cms-section-content-padding-bottom-md, var(--theme-comp-cms-section-content-padding-bottom, 0))));
  }
}
@media (max-width: 639.98px) {
  .cms-builder-page .cms-section__wrap.container,
  .seo-cms-page .cms-in-page-nav__inner.container {
    padding-left: max(var(--cms-section-spacing-content-pl-sm, var(--cms-section-spacing-content-px-sm, var(--cms-section-spacing-content-pl-md, var(--cms-section-spacing-content-pl, var(--theme-comp-cms-section-content-padding-left-sm, var(--theme-comp-cms-section-content-padding-x-sm, var(--theme-comp-cms-section-content-padding-x, max(0.75rem, env(safe-area-inset-left, 0px))))))))), env(safe-area-inset-left, 0px));
    padding-right: max(var(--cms-section-spacing-content-pr-sm, var(--cms-section-spacing-content-px-sm, var(--cms-section-spacing-content-pr-md, var(--cms-section-spacing-content-pr, var(--theme-comp-cms-section-content-padding-right-sm, var(--theme-comp-cms-section-content-padding-x-sm, var(--theme-comp-cms-section-content-padding-x, max(0.75rem, env(safe-area-inset-right, 0px))))))))), env(safe-area-inset-right, 0px));
    padding-top: var(--cms-section-spacing-content-pt-sm, var(--cms-section-spacing-content-pt-md, var(--cms-section-spacing-content-pt, var(--theme-comp-cms-section-content-padding-top-sm, var(--theme-comp-cms-section-content-padding-top, 0)))));
    padding-bottom: var(--cms-section-spacing-content-pb-sm, var(--cms-section-spacing-content-pb-md, var(--cms-section-spacing-content-pb, var(--theme-comp-cms-section-content-padding-bottom-sm, var(--theme-comp-cms-section-content-padding-bottom, 0)))));
  }
}

.cms-builder-page .cms-section:not(.cms-section--full-bleed-media) .cms-section__wrap.container-fluid .cms-section__grid,
.home-page--cms-builder .cms-section:not(.cms-section--full-bleed-media) .cms-section__wrap.container-fluid .cms-section__grid,
.seo-cms-page .cms-section:not(.cms-section--full-bleed-media) .cms-section__wrap.container-fluid .cms-section__grid {
  padding-top: var(--cms-section-spacing-content-pt, var(--theme-comp-cms-section-content-padding-top, 0));
  padding-bottom: var(--cms-section-spacing-content-pb, var(--theme-comp-cms-section-content-padding-bottom, 0));
  padding-left: 0;
  padding-right: 0;
}
@media (max-width: 991.98px) {
  .cms-builder-page .cms-section:not(.cms-section--full-bleed-media) .cms-section__wrap.container-fluid .cms-section__grid,
  .home-page--cms-builder .cms-section:not(.cms-section--full-bleed-media) .cms-section__wrap.container-fluid .cms-section__grid,
  .seo-cms-page .cms-section:not(.cms-section--full-bleed-media) .cms-section__wrap.container-fluid .cms-section__grid {
    padding-top: var(--cms-section-spacing-content-pt-md, var(--cms-section-spacing-content-pt, var(--theme-comp-cms-section-content-padding-top-md, var(--theme-comp-cms-section-content-padding-top, 0))));
    padding-bottom: var(--cms-section-spacing-content-pb-md, var(--cms-section-spacing-content-pb, var(--theme-comp-cms-section-content-padding-bottom-md, var(--theme-comp-cms-section-content-padding-bottom, 0))));
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 639.98px) {
  .cms-builder-page .cms-section:not(.cms-section--full-bleed-media) .cms-section__wrap.container-fluid .cms-section__grid,
  .home-page--cms-builder .cms-section:not(.cms-section--full-bleed-media) .cms-section__wrap.container-fluid .cms-section__grid,
  .seo-cms-page .cms-section:not(.cms-section--full-bleed-media) .cms-section__wrap.container-fluid .cms-section__grid {
    padding-top: var(--cms-section-spacing-content-pt-sm, var(--cms-section-spacing-content-pt-md, var(--cms-section-spacing-content-pt, var(--theme-comp-cms-section-content-padding-top-sm, var(--theme-comp-cms-section-content-padding-top, 0)))));
    padding-bottom: var(--cms-section-spacing-content-pb-sm, var(--cms-section-spacing-content-pb-md, var(--cms-section-spacing-content-pb, var(--theme-comp-cms-section-content-padding-bottom-sm, var(--theme-comp-cms-section-content-padding-bottom, 0)))));
    padding-left: 0;
    padding-right: 0;
  }
}

.cms-builder-page .intro-section .inner {
  padding-top: var(--cms-section-spacing-content-pt, 0);
  padding-bottom: var(--cms-section-spacing-content-pb, 0);
  padding-left: var(--cms-section-spacing-content-pl, var(--cms-section-spacing-content-px, var(--theme-comp-cms-section-content-padding-x, var(--theme-comp-cms-section-padding-x, clamp(1rem, 3vw, 2rem)))));
  padding-right: var(--cms-section-spacing-content-pr, var(--cms-section-spacing-content-px, var(--theme-comp-cms-section-content-padding-x, var(--theme-comp-cms-section-padding-x, clamp(1rem, 3vw, 2rem)))));
}

.cms-builder-page .cms-section__slot {
  display: flex;
  flex-direction: column;
  gap: var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-component-slot-gap, 1.25rem));
  min-width: 0;
}
@media (max-width: 991.98px) {
  .cms-builder-page .cms-section__slot {
    gap: var(--cms-section-spacing-slot-gap-md, var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-component-slot-gap-md, var(--theme-comp-cms-component-slot-gap, 1.125rem))));
  }
}
@media (max-width: 639.98px) {
  .cms-builder-page .cms-section__slot {
    gap: var(--cms-section-spacing-slot-gap-sm, var(--cms-section-spacing-slot-gap-md, var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-component-slot-gap-sm, var(--theme-comp-cms-component-slot-gap-md, var(--theme-comp-cms-component-slot-gap, 1rem))))));
  }
}

.cms-builder-page .cms-section__slot-content {
  display: flex;
  flex-direction: column;
  gap: var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-component-slot-gap, 1.25rem));
  min-width: 0;
}
@media (max-width: 991.98px) {
  .cms-builder-page .cms-section__slot-content {
    gap: var(--cms-section-spacing-slot-gap-md, var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-component-slot-gap-md, var(--theme-comp-cms-component-slot-gap, 1.125rem))));
  }
}
@media (max-width: 639.98px) {
  .cms-builder-page .cms-section__slot-content {
    gap: var(--cms-section-spacing-slot-gap-sm, var(--cms-section-spacing-slot-gap-md, var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-component-slot-gap-sm, var(--theme-comp-cms-component-slot-gap-md, var(--theme-comp-cms-component-slot-gap, 1rem))))));
  }
}

.cms-builder-page .cms-section__component {
  min-width: 0;
  width: 100%;
}

.cms-builder-page .cms-section__grid:not(.row) {
  display: flex;
  flex-direction: column;
  gap: var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-component-slot-gap, 1.25rem));
}

.cms-builder-page .cms-section__grid.row {
  row-gap: var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-component-slot-gap, 1.25rem)) !important;
}
@media (max-width: 991.98px) {
  .cms-builder-page .cms-section__grid.row {
    row-gap: var(--cms-section-spacing-slot-gap-md, var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-component-slot-gap-md, var(--theme-comp-cms-component-slot-gap, 1.125rem)))) !important;
  }
}
@media (max-width: 639.98px) {
  .cms-builder-page .cms-section__grid.row {
    row-gap: var(--cms-section-spacing-slot-gap-sm, var(--cms-section-spacing-slot-gap-md, var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-component-slot-gap-sm, var(--theme-comp-cms-component-slot-gap-md, var(--theme-comp-cms-component-slot-gap, 1rem)))))) !important;
  }
}

.cms-builder-page .cms-section__ai + .cms-section__grid {
  margin-top: var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-component-slot-gap, 1.25rem));
}

.cms-section[class*=cms-section--enter-] .cms-section__content {
  transition: opacity var(--cms-section-enter-duration, 0.65s) ease var(--cms-section-enter-delay, 0s), transform var(--cms-section-enter-duration, 0.65s) cubic-bezier(0.22, 1, 0.36, 1) var(--cms-section-enter-delay, 0s), filter var(--cms-section-enter-duration, 0.65s) ease var(--cms-section-enter-delay, 0s), clip-path var(--cms-section-enter-duration, 0.65s) cubic-bezier(0.22, 1, 0.36, 1) var(--cms-section-enter-delay, 0s);
  will-change: opacity, transform, filter;
}

.cms-section[class*=cms-section--enter-]:not(.cms-section--enter-visible) .cms-section__content {
  opacity: 0;
}

.cms-section--enter-visible .cms-section__content {
  opacity: 1;
  transform: none;
  filter: none;
}

.cms-section--enter-fade-in:not(.cms-section--enter-visible) .cms-section__content {
  opacity: 0;
}

.cms-section--enter-fade-up:not(.cms-section--enter-visible) .cms-section__content {
  transform: translate3d(0, var(--cms-section-enter-distance, 2.5rem), 0);
}

.cms-section--enter-fade-down:not(.cms-section--enter-visible) .cms-section__content {
  transform: translate3d(0, -2.5rem, 0);
}

.cms-section--enter-fade-left:not(.cms-section--enter-visible) .cms-section__content {
  transform: translate3d(2.5rem, 0, 0);
}

.cms-section--enter-fade-right:not(.cms-section--enter-visible) .cms-section__content {
  transform: translate3d(-2.5rem, 0, 0);
}

.cms-section--enter-slide-up:not(.cms-section--enter-visible) .cms-section__content {
  transform: translate3d(0, 4rem, 0);
}

.cms-section--enter-slide-down:not(.cms-section--enter-visible) .cms-section__content {
  transform: translate3d(0, -4rem, 0);
}

.cms-section--enter-slide-left:not(.cms-section--enter-visible) .cms-section__content {
  transform: translate3d(4rem, 0, 0);
}

.cms-section--enter-slide-right:not(.cms-section--enter-visible) .cms-section__content {
  transform: translate3d(-4rem, 0, 0);
}

.cms-section--enter-zoom-in:not(.cms-section--enter-visible) .cms-section__content {
  transform: scale(0.92);
}

.cms-section--enter-zoom-out:not(.cms-section--enter-visible) .cms-section__content {
  transform: scale(1.08);
}

.cms-section--enter-blur-in:not(.cms-section--enter-visible) .cms-section__content {
  filter: blur(10px);
  transform: scale(1.02);
}

.cms-section--enter-flip-up:not(.cms-section--enter-visible) .cms-section__content {
  transform: perspective(900px) rotateX(12deg) translate3d(0, 1.5rem, 0);
  transform-origin: center bottom;
}

.cms-section--enter-bounce-in:not(.cms-section--enter-visible) .cms-section__content {
  transform: translate3d(0, 3rem, 0) scale(0.96);
}

.cms-section--enter-visible.cms-section--enter-bounce-in .cms-section__content {
  animation: cms-section-bounce-in var(--cms-section-enter-duration, 0.75s) cubic-bezier(0.34, 1.56, 0.64, 1) var(--cms-section-enter-delay, 0s) both;
}

.cms-section--enter-reveal-up:not(.cms-section--enter-visible) .cms-section__content {
  clip-path: inset(100% 0 0 0);
}

.cms-section--enter-visible.cms-section--enter-reveal-up .cms-section__content {
  animation: cms-section-reveal-up var(--cms-section-enter-duration, 0.7s) cubic-bezier(0.22, 1, 0.36, 1) var(--cms-section-enter-delay, 0s) both;
}

@keyframes cms-section-bounce-in {
  0% {
    opacity: 0;
    transform: translate3d(0, 3rem, 0) scale(0.96);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -0.35rem, 0) scale(1.01);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes cms-section-reveal-up {
  from {
    clip-path: inset(100% 0 0 0);
    opacity: 0.4;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.cms-section--enter-stagger:not(.cms-section--enter-visible) .cms-section__content {
  opacity: 1;
  transform: none;
}

.cms-section--enter-stagger .cms-section__component,
.cms-section--enter-stagger .cms-section__stagger-item {
  transition: opacity var(--cms-section-enter-duration, 0.7s) ease var(--cms-section-enter-item-delay, 0s), transform var(--cms-section-enter-duration, 0.7s) cubic-bezier(0.22, 1, 0.36, 1) var(--cms-section-enter-item-delay, 0s);
  will-change: opacity, transform;
}

.cms-section--enter-stagger:not(.cms-section--enter-visible) .cms-section__component,
.cms-section--enter-stagger:not(.cms-section--enter-visible) .cms-section__stagger-item {
  opacity: 0;
  transform: translate3d(0, var(--cms-section-enter-distance, 1.5rem), 0);
}

.cms-section--enter-stagger.cms-section--enter-visible .cms-section__component,
.cms-section--enter-stagger.cms-section--enter-visible .cms-section__stagger-item {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .cms-section[class*=cms-section--enter-] .cms-section__content {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    clip-path: none !important;
    transition: none !important;
  }
  .cms-section--enter-stagger .cms-section__component {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .cms-section--enter-stagger .cms-section__stagger-item {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
/* Ruch komponentów przy scrollu - tylko elementy z aktywnym data-cms-scroll-motion (Motyw → HTML i body) */
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) {
  will-change: transform;
  backface-visibility: hidden;
}
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-features__item,
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-editorial__media,
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-editorial__figure,
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-story__media,
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-atg__card,
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-pictogram-tile,
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-tiles__item,
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-pricing__card,
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-benefit,
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-stats__item,
html[data-scroll-motion="1"] .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-checklist__item {
  will-change: transform;
  backface-visibility: hidden;
}
html[data-scroll-motion="1"] .cms-builder-page {
  /* Nie walcz z własnym parallax tła sekcji / CTA */
}
html[data-scroll-motion="1"] .cms-builder-page .cms-section__bg-media--parallax-scroll,
html[data-scroll-motion="1"] .cms-builder-page .cms-c-cta__bg--parallax {
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) .cms-c-features__item,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) .cms-c-editorial__media,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) .cms-c-editorial__figure,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) .cms-c-story__media,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) .cms-c-atg__card,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) .cms-c-pictogram-tile,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) .cms-c-tiles__item,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) .cms-c-pricing__card,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) .cms-c-benefit,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) .cms-c-stats__item,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) .cms-c-checklist__item,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-features__item,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-editorial__media,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-editorial__figure,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-story__media,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-atg__card,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-pictogram-tile,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-tiles__item,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-pricing__card,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-benefit,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-stats__item,
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off])[data-cms-motion-children="1"] .cms-c-checklist__item {
    transform: none !important;
    will-change: auto;
  }
  html.site-doc-respect-prm .cms-builder-page .cms-section__component[data-cms-scroll-motion]:not([data-cms-scroll-motion=off]) {
    transform: none !important;
    will-change: auto;
  }
}
.cms-builder-page h1.cms-c-heading--tone-light {
  color: var(--color-h1);
  text-shadow: none;
}
.cms-builder-page h2.cms-c-heading--tone-light {
  color: var(--color-h2);
  text-shadow: none;
}
.cms-builder-page h3.cms-c-heading--tone-light {
  color: var(--color-h3);
  text-shadow: none;
}
.cms-builder-page h4.cms-c-heading--tone-light,
.cms-builder-page h5.cms-c-heading--tone-light,
.cms-builder-page h6.cms-c-heading--tone-light {
  color: var(--color-heading, #24302b);
  color: oklch(from var(--color-heading, #24302b) clamp(0.18, l, 0.5) c h);
  text-shadow: none;
}
.cms-builder-page h1.cms-c-heading--tone-dark,
.cms-builder-page h2.cms-c-heading--tone-dark,
.cms-builder-page h3.cms-c-heading--tone-dark,
.cms-builder-page h4.cms-c-heading--tone-dark,
.cms-builder-page h5.cms-c-heading--tone-dark,
.cms-builder-page h6.cms-c-heading--tone-dark {
  color: #fff;
  text-shadow: none;
}
.cms-builder-page h1.cms-c-heading--tone-on-image,
.cms-builder-page h2.cms-c-heading--tone-on-image,
.cms-builder-page h3.cms-c-heading--tone-on-image,
.cms-builder-page h4.cms-c-heading--tone-on-image,
.cms-builder-page h5.cms-c-heading--tone-on-image,
.cms-builder-page h6.cms-c-heading--tone-on-image {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55), 0 2px 14px rgba(0, 0, 0, 0.35);
}
.cms-builder-page .cms-section--heading-tone-light .cms-section__content h1.cms-c-heading:not([class*=cms-c-heading--tone-]) {
  color: var(--color-h1);
  color: oklch(from var(--color-h1) clamp(0.18, l, 0.5) c h);
}
.cms-builder-page .cms-section--heading-tone-light .cms-section__content h2.cms-c-heading:not([class*=cms-c-heading--tone-]) {
  color: var(--color-h2);
  color: oklch(from var(--color-h2) clamp(0.18, l, 0.5) c h);
}
.cms-builder-page .cms-section--heading-tone-light .cms-section__content h3.cms-c-heading:not([class*=cms-c-heading--tone-]) {
  color: var(--color-h3);
  color: oklch(from var(--color-h3) clamp(0.18, l, 0.5) c h);
}
.cms-builder-page .cms-section--heading-tone-light .cms-section__content h4.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-light .cms-section__content h5.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-light .cms-section__content h6.cms-c-heading:not([class*=cms-c-heading--tone-]) {
  color: var(--color-heading, #24302b);
  color: oklch(from var(--color-heading, #24302b) clamp(0.18, l, 0.5) c h);
  text-shadow: none;
}
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h1.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h2.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h3.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h4.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h5.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h6.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h1.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h2.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h3.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h4.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h5.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h6.cms-c-heading:not([class*=cms-c-heading--tone-]) {
  color: #fff;
  text-shadow: none;
}
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h1.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h2.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h3.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h4.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h5.cms-c-heading:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h6.cms-c-heading:not([class*=cms-c-heading--tone-]) {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55), 0 2px 14px rgba(0, 0, 0, 0.35);
}
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content :where([class*=__title]):not(.cms-c-heading):not(.cms-c-cta__title) {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55), 0 2px 14px rgba(0, 0, 0, 0.35);
}
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content :where([class*=__title]):not(.cms-c-heading):not(.cms-c-cta__title),
.cms-builder-page .cms-section--tone-dark .cms-section__content :where([class*=__title]):not(.cms-c-heading):not(.cms-c-cta__title) {
  color: #fff;
  text-shadow: none;
}
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-cta:not(.cms-c-cta--soft) .cms-c-cta__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-cta:not(.cms-c-cta--soft) .cms-c-cta__title {
  color: #fff;
  text-shadow: none;
}
.cms-builder-page .cms-section--heading-tone-light .cms-section__content :where([class*=__title]):not(.cms-c-heading):not(.cms-c-cta__title),
.cms-builder-page .cms-section--tone-light .cms-section__content :where([class*=__title]):not(.cms-c-heading):not(.cms-c-cta__title) {
  color: var(--color-heading, #24302b);
  color: oklch(from var(--color-heading, #24302b) clamp(0.18, l, 0.5) c h);
  text-shadow: none;
}
.cms-builder-page .cms-section--tone-light .cms-section__content :where([class*=__lead],
[class*=__desc],
[class*=__text],
[class*=__subtitle],
[class*=__eyebrow],
.text-secondary,
.cms-c-rich-text):not(.cms-c-cta__lead):not(.cms-c-cta__eyebrow) {
  color: var(--color-text-muted, #65706a);
  color: oklch(from var(--color-text-muted, #65706a) clamp(0.18, l, 0.68) c h);
}

.cms-c-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--theme-comp-btn-gap, 0.75rem);
  margin-top: 0;
}
.cms-c-cta .cms-c-btn-row, .cms-c-hero .cms-c-btn-row, .cms-c-vhero .cms-c-btn-row {
  margin-top: 1.5rem;
}

.cms-c-btn-row--gap-sm {
  gap: 0.5rem;
}

.cms-c-btn-row--gap-md {
  gap: var(--theme-comp-btn-gap, 0.75rem);
}

.cms-c-btn-row--gap-lg {
  gap: 1.25rem;
}

.cms-c-btn-row--row {
  flex-direction: row;
  flex-wrap: wrap;
}
.cms-c-btn-row--row.cms-c-btn-row--align-start {
  justify-content: flex-start;
}
.cms-c-btn-row--row.cms-c-btn-row--align-center {
  justify-content: center;
}
.cms-c-btn-row--row.cms-c-btn-row--align-end {
  justify-content: flex-end;
}
.cms-c-btn-row--row.cms-c-btn-row--align-stretch .cms-c-btn {
  flex: 1 1 auto;
}

.cms-c-btn-row--column {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start;
}
.cms-c-btn-row--column.cms-c-btn-row--align-center {
  align-items: center;
}
.cms-c-btn-row--column.cms-c-btn-row--align-end {
  align-items: flex-end;
}
.cms-c-btn-row--column.cms-c-btn-row--align-stretch {
  align-items: stretch;
}

.cms-c-btn-row--full-width .cms-c-btn {
  width: 100%;
  justify-content: center;
}

.cms-c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--theme-comp-btn-gap, 0.5rem);
  position: relative;
  z-index: 3;
  pointer-events: auto;
  min-height: var(--theme-comp-btn-min-height, 48px);
  padding-block: var(--theme-comp-btn-padding-y, 0);
  padding-inline: var(--theme-comp-btn-padding-x, 1.5rem);
  border-radius: var(--theme-comp-btn-radius, var(--layout-radius, 6px));
  font-family: var(--font-family-button, var(--font-family-base));
  font-weight: var(--theme-comp-btn-font-weight, 700);
  font-size: var(--theme-comp-btn-font-size, 0.82rem);
  line-height: var(--theme-comp-btn-line-height, 1.2);
  letter-spacing: var(--theme-comp-btn-letter-spacing, 0.02em);
  text-transform: var(--theme-comp-btn-text-transform, uppercase);
  text-decoration: var(--theme-comp-btn-text-decoration, none);
  white-space: var(--theme-comp-btn-white-space, nowrap);
  cursor: var(--theme-comp-btn-cursor, pointer);
  border-width: var(--theme-comp-btn-border-width, 1px);
  border-style: solid;
  border-color: transparent;
  transition: var(--theme-comp-btn-transition, color 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease, filter 0.22s ease, opacity 0.22s ease, letter-spacing 0.22s ease);
  box-shadow: var(--theme-comp-btn-shadow, none);
}
.cms-c-btn i {
  font-size: 1.05rem;
}
@media (hover: hover) and (pointer: fine) {
  .cms-c-btn:hover {
    transform: var(--theme-comp-btn-transform-hover, translateY(-2px));
    box-shadow: var(--theme-comp-btn-shadow-hover, var(--theme-comp-btn-shadow, none));
  }
}
.cms-c-btn:active {
  transform: var(--theme-comp-btn-transform-active, translateY(0));
}

.cms-c-hero {
  --cms-hero-pad-x: clamp(1.25rem, 4.5vw, 3.5rem);
  --cms-hero-pad-y: clamp(3.5rem, 9vh, 6.5rem);
  position: relative;
  display: flex;
  align-items: flex-end;
  width: 100%;
  padding: var(--cms-hero-pad-y) var(--cms-hero-pad-x);
  overflow: hidden;
  isolation: isolate;
  background: var(--color-surface-strong, #1a211c);
  color: #fff;
}

.cms-c-hero--h-sm {
  min-height: min(48vh, 28rem);
}

.cms-c-hero--h-md {
  min-height: min(62vh, 36rem);
}

.cms-c-hero--h-lg {
  min-height: min(78vh, 46rem);
}

.cms-c-hero--h-xl {
  min-height: min(92vh, 54rem);
}

/* Scena full-bleed - bez karty / radius (homepage + landingi) */
.cms-c-hero--stage {
  border-radius: 0;
  min-height: min(92vh, 56rem);
  align-items: center;
  padding-top: calc(var(--cms-hero-pad-y) + var(--site-header-fixed-offset, 0px) * 0.35);
  padding-bottom: clamp(5rem, 12vh, 8rem);
}
@media (min-width: 992px) {
  .cms-c-hero--stage {
    align-items: flex-end;
    padding-bottom: clamp(5.5rem, 13vh, 8.5rem);
  }
}

@media (min-width: 992px) {
  .cms-c-hero--layout-split .cms-c-hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: end;
    gap: clamp(2rem, 4vw, 3.5rem);
    width: min(84rem, 100%);
  }
  .cms-c-hero--layout-split .cms-c-hero__copy {
    max-width: min(46rem, 100%);
  }
  .cms-c-hero--layout-split.cms-c-hero--align-center .cms-c-hero__inner {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}

.cms-c-hero--layout-explorer {
  --cms-hero-pad-y: 0;
  --cms-hero-pad-x: 0;
  min-height: auto;
  align-items: stretch;
  overflow: visible;
  background: transparent;
  color: var(--color-text, #1a2332);
}
.cms-c-hero--layout-explorer .cms-c-hero__inner--explorer {
  display: grid;
  gap: clamp(1.25rem, 3vw, 1.75rem);
  width: 100%;
  align-items: center;
}
.cms-c-hero--layout-explorer .cms-c-hero__copy {
  max-width: none;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  text-align: start;
}
.cms-c-hero--layout-explorer .cms-c-hero__eyebrow {
  margin: 0 0 0.65rem;
  color: var(--color-primary);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.cms-c-hero--layout-explorer .cms-c-hero__title {
  max-width: none;
  margin: 0;
  font-size: clamp(2.15rem, 5vw, 3.75rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
  text-wrap: balance;
  color: var(--color-heading, #1a2332);
}
.cms-c-hero--layout-explorer .cms-c-hero__title-accent {
  color: var(--color-primary);
}
.cms-c-hero--layout-explorer .cms-c-hero__lead {
  max-width: 50ch;
  margin-top: 1rem;
  color: var(--color-text-muted, #5c6b73);
  font-size: clamp(1rem, 1.6vw, 1.05rem);
  line-height: 1.6;
}
.cms-c-hero--layout-explorer .cms-c-hero__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}
.cms-c-hero--layout-explorer .cms-c-hero__tags li,
.cms-c-hero--layout-explorer .cms-c-hero__tag {
  background: color-mix(in srgb, var(--color-primary) 12%, var(--color-surface, #fff));
  color: var(--color-primary);
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
}
.cms-c-hero--layout-explorer .cms-c-hero__actions {
  margin-top: 1.25rem;
}
.cms-c-hero--layout-explorer .cms-c-hero__visual {
  position: relative;
}
.cms-c-hero--layout-explorer .cms-c-hero__visual-main {
  overflow: hidden;
  border-radius: var(--layout-radius, 14px);
}
.cms-c-hero--layout-explorer .cms-c-hero__figure {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--layout-radius, 14px);
}
@media (min-width: 768px) {
  .cms-c-hero--layout-explorer .cms-c-hero__inner--explorer {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.5rem, 3vw, 2.5rem);
  }
}

.cms-c-hero--layout-portal {
  --cms-hero-pad-y: clamp(2rem, 5vw, 3.5rem);
  --cms-hero-pad-x: clamp(1rem, 3vw, 2rem);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  overflow: hidden;
  background: transparent;
  color: var(--color-text, #1a2332);
}
.cms-c-hero--layout-portal:not(.cms-c-hero--has-portal-bg) {
  min-height: 0;
  overflow: visible;
  padding-block: clamp(1.25rem, 3vw, 2rem);
}
.cms-c-hero--layout-portal .cms-c-hero__inner--portal {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: min(46rem, 100%);
  margin-inline: auto;
  text-align: center;
}
.cms-c-hero--layout-portal .cms-c-hero__copy--portal {
  max-width: min(44rem, 100%);
  margin-inline: auto;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  text-align: center;
}
.cms-c-hero--layout-portal .cms-c-hero__eyebrow {
  margin: 0 0 0.55rem;
  color: var(--color-primary);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.cms-c-hero--layout-portal .cms-c-hero__title {
  margin: 0 auto;
  max-width: none;
  font-size: clamp(1.85rem, 4.5vw, 2.85rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  text-wrap: balance;
  color: var(--color-heading, #1a2332);
}
.cms-c-hero--layout-portal .cms-c-hero__lead {
  max-width: 52ch;
  margin: 0.85rem auto 0;
  color: var(--color-text-muted, #5c6b73);
  font-size: clamp(1rem, 1.55vw, 1.08rem);
  line-height: 1.6;
}
.cms-c-hero--layout-portal .cms-c-hero__tags {
  justify-content: center;
  margin-top: 1rem;
}
.cms-c-hero--layout-portal.cms-c-hero--has-portal-bg {
  color: #fff;
}
.cms-c-hero--layout-portal.cms-c-hero--has-portal-bg .cms-c-hero__eyebrow {
  color: color-mix(in srgb, var(--color-secondary, #f7cf39) 88%, #fff);
}
.cms-c-hero--layout-portal.cms-c-hero--has-portal-bg .cms-c-hero__title,
.cms-c-hero--layout-portal.cms-c-hero--has-portal-bg .cms-c-hero__title-accent {
  color: #fff;
}
.cms-c-hero--layout-portal.cms-c-hero--has-portal-bg .cms-c-hero__lead {
  color: rgba(255, 255, 255, 0.88);
}
.cms-c-hero--layout-portal.cms-c-hero--has-portal-bg .cms-c-hero__tag {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}
.cms-c-hero--layout-portal .cms-c-hero__portal-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.cms-c-hero--layout-portal .cms-c-hero__portal-bg-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}
.cms-c-hero--layout-portal .cms-c-hero__portal-bg-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 14, 22, 0.55) 0%, rgba(8, 14, 22, 0.42) 42%, rgba(8, 14, 22, 0.72) 100%);
}

.cms-c-hero--layout-portal.cms-c-hero--h-sm {
  min-height: min(48vh, 28rem);
}

.cms-c-hero--layout-portal.cms-c-hero--h-md {
  min-height: min(62vh, 36rem);
}

.cms-c-hero--layout-portal.cms-c-hero--h-lg {
  min-height: min(78vh, 46rem);
}

.cms-c-hero--layout-portal.cms-c-hero--h-xl {
  min-height: min(92vh, 54rem);
}

.cms-c-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: fit-content;
  margin: 0 0 1rem;
  padding: 0.42rem 0.9rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--color-secondary, #f7cf39) 55%, transparent);
  background: color-mix(in srgb, var(--color-secondary, #f7cf39) 14%, rgba(8, 12, 10, 0.55));
  color: var(--color-secondary, #f7cf39);
  color: oklch(from var(--color-secondary, #f7cf39) clamp(0.74, l, 0.97) c h);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cms-c-hero--light .cms-c-hero__badge {
  background: color-mix(in srgb, var(--color-secondary, #f7cf39) 18%, #fff);
  color: var(--color-heading, #0f1a12);
  border-color: color-mix(in srgb, var(--color-secondary, #f7cf39) 42%, transparent);
}

.cms-c-hero--has-image {
  background-color: #0d1210;
  color: #fff;
}

.cms-c-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.cms-c-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.04);
  animation: cms-hero-kenburns 28s ease-in-out infinite alternate;
}

@keyframes cms-hero-kenburns {
  from {
    transform: scale(1.02) translate3d(0, 0, 0);
  }
  to {
    transform: scale(1.08) translate3d(-1.2%, -0.8%, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cms-c-hero__bg {
    animation: none;
    transform: none;
  }
}
.cms-c-hero--has-image:not(:has(.cms-c-hero__media)) {
  background-image: var(--cms-hero-image);
  background-size: cover;
  background-position: center;
}

/* Warstwa czytelności - ciemny film + delikatny kolor marki (nie fiolet) */
.cms-c-hero__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(105deg, rgb(8, 12, 10, calc(var(--cms-hero-overlay, 0.52) + 0.28)) 0%, rgb(8, 12, 10, calc(var(--cms-hero-overlay, 0.52) + 0.08)) 48%, rgb(8, 12, 10, calc(var(--cms-hero-overlay, 0.52) * 0.72)) 100%), linear-gradient(180deg, rgba(8, 12, 10, 0.35) 0%, transparent 28%, transparent 55%, rgba(8, 12, 10, 0.55) 100%);
}

.cms-c-hero__atmosphere {
  position: absolute;
  inset: auto 0 0;
  height: min(42%, 18rem);
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--color-primary, #29973d) 18%, transparent) 100%);
  opacity: 0.55;
  mix-blend-mode: soft-light;
}

.cms-c-hero--light {
  background: var(--color-surface-soft, #f4f6f2);
  color: var(--color-text, #0a0a0a);
}
.cms-c-hero--light .cms-c-hero__veil {
  background: linear-gradient(105deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.55) 55%, rgba(255, 255, 255, 0.28) 100%);
}
.cms-c-hero--light .cms-c-hero__atmosphere {
  opacity: 0.25;
}

.cms-c-hero__inner {
  position: relative;
  z-index: 2;
  width: min(72rem, 100%);
  margin: 0 auto;
  pointer-events: auto;
}

.cms-c-hero__copy {
  max-width: min(42rem, 100%);
  display: grid;
  gap: 0;
}

.cms-c-hero--align-center .cms-c-hero__inner {
  text-align: center;
}
.cms-c-hero--align-center .cms-c-hero__copy {
  margin-inline: auto;
}
.cms-c-hero--align-center .cms-c-hero__actions .cms-c-btn-row {
  justify-content: center;
}

.cms-c-hero__brand {
  margin: 0 0 0.85rem;
  font-family: var(--font-family-heading, Georgia, "Times New Roman", serif);
  font-size: clamp(1.65rem, 3.6vw, 2.65rem);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #fff;
  text-wrap: balance;
}

.cms-c-hero--light .cms-c-hero__brand {
  color: var(--color-text, #0a0a0a);
}

.cms-c-hero__eyebrow {
  margin: 0 0 1rem;
  color: var(--theme-comp-cms-hero-eyebrow-color, var(--color-secondary, #f7cf39));
  color: oklch(from var(--theme-comp-cms-hero-eyebrow-color, var(--color-secondary, #f7cf39)) clamp(0.74, l, 0.97) c h);
  font-size: var(--theme-comp-cms-hero-eyebrow-font-size, 0.8125rem);
  font-weight: var(--theme-comp-cms-hero-eyebrow-font-weight, 700);
  letter-spacing: var(--theme-comp-cms-hero-eyebrow-letter-spacing, 0.12em);
  text-transform: var(--theme-comp-cms-hero-eyebrow-text-transform, uppercase);
}

.cms-c-hero__title {
  margin: 0;
  max-width: var(--theme-comp-cms-hero-title-max-width, 18ch);
  font-family: var(--font-family-heading, Georgia, "Times New Roman", serif);
  font-size: var(--theme-comp-cms-hero-title-font-size, clamp(2.4rem, 6.2vw, 4.35rem));
  font-weight: var(--theme-comp-cms-hero-title-font-weight, 500);
  line-height: var(--theme-comp-cms-hero-title-line-height, 1.05);
  letter-spacing: var(--theme-comp-cms-hero-title-letter-spacing, -0.03em);
  text-wrap: balance;
  color: var(--theme-comp-cms-hero-title-color, #fff);
}

.cms-c-hero--light .cms-c-hero__eyebrow {
  color: var(--theme-comp-cms-hero-eyebrow-color, var(--color-secondary, #f7cf39));
  color: oklch(from var(--theme-comp-cms-hero-eyebrow-color, var(--color-secondary, #f7cf39)) clamp(0.18, l, 0.62) c h);
}

.cms-c-hero--light .cms-c-hero__title {
  color: var(--theme-comp-cms-hero-title-color-light, var(--color-text, #0a0a0a));
}

.cms-c-hero--align-center .cms-c-hero__title {
  margin-inline: auto;
  max-width: var(--theme-comp-cms-hero-title-max-width, 22ch);
}

.cms-c-hero__lead {
  max-width: var(--theme-comp-cms-hero-lead-max-width, 34rem);
  margin: var(--theme-comp-cms-hero-lead-margin-top, 1.35rem) 0 0;
  color: var(--theme-comp-cms-hero-lead-color, rgba(255, 255, 255, 0.9));
  font-size: var(--theme-comp-cms-hero-lead-font-size, clamp(1.05rem, 1.8vw, 1.2rem));
  line-height: var(--theme-comp-cms-hero-lead-line-height, 1.55);
  font-weight: var(--theme-comp-cms-hero-lead-font-weight, 400);
}
.cms-c-hero__lead p {
  margin: 0;
}
.cms-c-hero__lead p + p {
  margin-top: 0.65rem;
}

.cms-c-hero--light .cms-c-hero__lead {
  color: var(--theme-comp-cms-hero-lead-color-light, var(--color-text-muted, #525252));
}

.cms-c-hero--align-center .cms-c-hero__lead {
  margin-inline: auto;
}

.cms-c-hero__actions {
  margin-top: clamp(1.5rem, 3vw, 2.15rem);
}

.cms-c-hero__inner a,
.cms-c-hero__inner button {
  position: relative;
  z-index: 3;
  pointer-events: auto;
}

/* Wejście - delikatny fade/slide (bez walki z reduced-motion) */
.cms-c-hero--stage .cms-c-hero__copy > * {
  animation: cms-hero-enter 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.cms-c-hero--stage .cms-c-hero__brand {
  animation-delay: 0.05s;
}

.cms-c-hero--stage .cms-c-hero__badge {
  animation-delay: 0.08s;
}

.cms-c-hero--stage .cms-c-hero__eyebrow {
  animation-delay: 0.12s;
}

.cms-c-hero--stage .cms-c-hero__title {
  animation-delay: 0.18s;
}

.cms-c-hero--stage .cms-c-hero__lead {
  animation-delay: 0.28s;
}

.cms-c-hero--stage .cms-c-hero__actions {
  animation-delay: 0.38s;
}

@keyframes cms-hero-enter {
  from {
    opacity: 0;
    transform: translate3d(0, 1.1rem, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cms-c-hero--stage .cms-c-hero__copy > * {
    animation: none;
  }
}
/* Homepage / full-bleed: stage hero edge-to-edge na desktopie (bez bocznych gutters). */
.home-page--cms-builder .cms-section#hero-start .cms-c-hero--stage,
.home-page--cms-builder .cms-section[id=hero-start] .cms-c-hero--stage,
.home-page--cms-builder .cms-section#hero-rezerwacja .cms-c-hero--stage,
.home-page--cms-builder .cms-section#start .cms-c-hero--stage,
.home-page--cms-builder .cms-section[id=start] .cms-c-hero--stage,
.home-page--cms-builder .cms-section:first-of-type .cms-c-hero--stage,
.cms-section--full-bleed-media .cms-c-hero--stage {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.home-page--cms-builder .cms-section#hero-start .cms-section__component:has(.cms-c-hero--stage),
.home-page--cms-builder .cms-section[id=hero-start] .cms-section__component:has(.cms-c-hero--stage),
.home-page--cms-builder .cms-section#start .cms-section__component:has(.cms-c-hero--stage),
.home-page--cms-builder .cms-section[id=start] .cms-section__component:has(.cms-c-hero--stage),
.home-page--cms-builder .cms-section:first-of-type .cms-section__component:has(.cms-c-hero--stage),
.cms-section--full-bleed-media .cms-section__component:has(.cms-c-hero--stage) {
  width: 100%;
  max-width: none;
}

/* #start bez full-bleed-media: nie aplikuj bocznego paddingu treści na gridzie (jak przy układzie Pełna szerokość). */
.home-page--cms-builder .cms-section#start:not(.cms-section--full-bleed-media) .cms-section__wrap.container-fluid .cms-section__grid:has(.cms-c-hero--stage),
.home-page--cms-builder .cms-section:first-of-type:not(.cms-section--full-bleed-media) .cms-section__wrap.container-fluid .cms-section__grid:has(.cms-c-hero--stage) {
  padding-left: 0;
  padding-right: 0;
}

.cms-c-hero__floats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.65rem;
  position: relative;
  z-index: 3;
  width: 100%;
}

.cms-c-hero__float {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 0.95rem;
  border-radius: var(--layout-radius, 12px);
  background: var(--color-surface, #fff);
  color: var(--color-text, #1a2332);
  box-shadow: 0 16px 34px -22px rgba(15, 23, 42, 0.55);
  max-width: 100%;
  text-align: start;
}

.cms-c-hero__float-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-primary) 15%, transparent);
  color: var(--color-primary);
  font-size: 1.1rem;
}

.cms-c-hero__float-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.cms-c-hero__float-value {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.1;
}

.cms-c-hero__float-title {
  font-size: 0.88rem;
  font-weight: 600;
}

.cms-c-hero__float-text {
  font-size: 0.78rem;
  color: var(--color-text-muted);
}

.cms-c-hero__float--dark {
  background: var(--color-text);
  color: var(--color-surface);
}
.cms-c-hero__float--dark .cms-c-hero__float-text {
  color: color-mix(in srgb, var(--color-surface) 78%, transparent);
}
.cms-c-hero__float--dark .cms-c-hero__float-icon {
  background: color-mix(in srgb, var(--color-surface) 18%, transparent);
  color: var(--color-surface);
}

.cms-c-hero__float--glass {
  border: 1px solid color-mix(in srgb, var(--color-surface) 45%, transparent);
  background: color-mix(in srgb, var(--color-surface) 62%, transparent);
  backdrop-filter: blur(14px);
}

.cms-c-hero--layout-split .cms-c-hero__floats--split,
.cms-c-hero__floats--full {
  margin-top: clamp(1.25rem, 3vw, 2rem);
}

.cms-c-hero--layout-portal:has(.cms-c-hero__floats) {
  flex-wrap: wrap;
}

.cms-c-hero--layout-portal .cms-c-hero__floats--portal {
  flex: 1 0 100%;
  justify-content: center;
  margin-top: clamp(1rem, 2.5vw, 1.75rem);
}

@media (min-width: 992px) {
  .cms-c-hero__floats {
    position: absolute;
    inset: 0;
    display: block;
    margin: 0;
    pointer-events: none;
  }
  .cms-c-hero__float {
    position: absolute;
    max-width: min(18rem, 40%);
    pointer-events: auto;
  }
  .cms-c-hero__float--top-start {
    inset-block-start: clamp(0.85rem, 2vw, 1.6rem);
    inset-inline-start: clamp(0.85rem, 2vw, 1.6rem);
  }
  .cms-c-hero__float--top-end {
    inset-block-start: clamp(0.85rem, 2vw, 1.6rem);
    inset-inline-end: clamp(0.85rem, 2vw, 1.6rem);
  }
  .cms-c-hero__float--bottom-start {
    inset-block-end: clamp(0.85rem, 2vw, 1.6rem);
    inset-inline-start: clamp(0.85rem, 2vw, 1.6rem);
  }
  .cms-c-hero__float--bottom-end {
    inset-block-end: clamp(0.85rem, 2vw, 1.6rem);
    inset-inline-end: clamp(0.85rem, 2vw, 1.6rem);
  }
  .cms-c-hero__float--middle-end {
    inset-block-start: 50%;
    inset-inline-end: clamp(0.85rem, 2vw, 1.6rem);
    transform: translateY(-50%);
  }
  .cms-c-hero--layout-portal .cms-c-hero__floats--portal {
    inset: clamp(1rem, 4vh, 3rem) clamp(1rem, 3vw, 2.5rem);
    margin: 0;
  }
  .cms-c-hero--layout-split .cms-c-hero__floats--split {
    position: relative;
    inset: auto;
    min-height: clamp(15rem, 26vw, 21rem);
    margin: 0;
    align-self: stretch;
  }
  .cms-c-hero--align-start .cms-c-hero__floats--full .cms-c-hero__float--top-start,
  .cms-c-hero--align-start .cms-c-hero__floats--full .cms-c-hero__float--bottom-start {
    inset-inline-start: auto;
    inset-inline-end: clamp(0.85rem, 2vw, 1.6rem);
  }
  .cms-c-hero--align-center .cms-c-hero__floats--full,
  .cms-c-hero--align-end .cms-c-hero__floats--full {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 0.65rem;
    position: relative;
    inset: auto;
    justify-content: center;
    margin-top: clamp(1.25rem, 3vw, 2rem);
  }
  .cms-c-hero--align-center .cms-c-hero__floats--full .cms-c-hero__float,
  .cms-c-hero--align-end .cms-c-hero__floats--full .cms-c-hero__float {
    position: static;
    max-width: min(18rem, 100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cms-c-hero__float {
    transition: none;
  }
}
.cms-c-cta {
  --cms-cta-ink: #fff;
  --cms-cta-ink: var(
    --color-on-surface-strong,
    oklch(from var(--color-surface-strong, #2f2f2f) clamp(0, (0.62 - l) * 1000, 1) 0 0)
  );
  width: 100%;
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.25rem, 4vw, 2.75rem);
  border-top-left-radius: var(--cms-cta-radius, var(--cms-section-spacing-radius-tl, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-tl, var(--theme-comp-cms-section-radius, var(--layout-radius, 0))))));
  border-top-right-radius: var(--cms-cta-radius, var(--cms-section-spacing-radius-tr, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-tr, var(--theme-comp-cms-section-radius, var(--layout-radius, 0))))));
  border-bottom-right-radius: var(--cms-cta-radius, var(--cms-section-spacing-radius-br, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-br, var(--theme-comp-cms-section-radius, var(--layout-radius, 0))))));
  border-bottom-left-radius: var(--cms-cta-radius, var(--cms-section-spacing-radius-bl, var(--cms-section-spacing-radius, var(--theme-comp-cms-section-radius-bl, var(--theme-comp-cms-section-radius, var(--layout-radius, 0))))));
  color: var(--cms-cta-ink);
  background: var(--color-surface-strong, #2f2f2f);
  overflow: hidden;
}

.cms-c-cta--soft {
  --cms-cta-ink: var(--color-text, #24302b);
  background: var(--color-surface-soft, #f6f3ed);
  color: var(--cms-cta-ink);
}

.cms-c-cta--primary {
  --cms-cta-ink: var(--color-on-primary, #fff);
  background: var(--color-primary, #4b310d);
  color: var(--cms-cta-ink);
}

.cms-c-cta--image {
  --cms-cta-ink: #fff;
  position: relative;
  isolation: isolate;
  background-color: rgb(20, 24, 22);
  color: var(--cms-cta-ink);
}
.cms-c-cta--image:not(:has(.cms-c-cta__media)):not(:has(.cms-c-cta__bg-img)) {
  background-image: linear-gradient(var(--cms-cta-gradient-angle, 180deg), rgb(20, 24, 22, var(--cms-cta-overlay-start, 0.74)), rgb(20, 24, 22, var(--cms-cta-overlay-end, 0.74))), var(--cms-cta-image);
  background-size: var(--cms-cta-bg-size, cover);
  background-position: var(--cms-cta-bg-position, center);
  background-repeat: var(--cms-cta-bg-repeat, no-repeat);
  background-attachment: var(--cms-cta-bg-attachment, scroll);
}
.cms-c-cta--image {
  /* iOS/Safari mobilne nie wspiera background-attachment: fixed z cover - wracamy do scroll. */
}
@media (hover: none) and (pointer: coarse) {
  .cms-c-cta--image:not(:has(.cms-c-cta__media)):not(:has(.cms-c-cta__bg-img)) {
    background-attachment: scroll;
  }
  .cms-c-cta--image.cms-c-cta--bg-fixed {
    background-attachment: scroll;
  }
}

.cms-c-cta--image.cms-c-cta--bg-fixed {
  isolation: auto;
  background-image: var(--cms-cta-image);
  background-size: var(--cms-cta-bg-size, cover);
  background-position: var(--cms-cta-bg-position, center);
  background-repeat: var(--cms-cta-bg-repeat, no-repeat);
  background-attachment: var(--cms-cta-bg-attachment, fixed);
}

.cms-c-cta__media,
.cms-c-cta__bg--parallax {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.cms-c-cta__media--overlay {
  background-image: none;
}

.cms-c-cta__media::after,
.cms-c-cta__bg--parallax::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(var(--cms-cta-gradient-angle, 180deg), rgb(20, 24, 22, var(--cms-cta-overlay-start, 0.74)), rgb(20, 24, 22, var(--cms-cta-overlay-end, 0.74)));
}

.cms-c-cta__bg-img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: var(--cms-cta-bg-size, cover);
  object-position: var(--cms-cta-bg-position, center);
}

.cms-c-cta--image.cms-c-cta--parallax-scroll {
  overflow: hidden;
  isolation: isolate;
  background-image: linear-gradient(var(--cms-cta-gradient-angle, 180deg), rgb(20, 24, 22, var(--cms-cta-overlay-start, 0.74)), rgb(20, 24, 22, var(--cms-cta-overlay-end, 0.74)));
  background-attachment: scroll;
}
.cms-c-cta--image.cms-c-cta--parallax-scroll:not(:has(.cms-c-cta__bg-img)) {
  background-image: linear-gradient(var(--cms-cta-gradient-angle, 180deg), rgb(20, 24, 22, var(--cms-cta-overlay-start, 0.74)), rgb(20, 24, 22, var(--cms-cta-overlay-end, 0.74))), var(--cms-cta-image);
  background-size: var(--cms-cta-bg-size, cover);
  background-position: var(--cms-cta-bg-position, center);
  background-repeat: var(--cms-cta-bg-repeat, no-repeat);
}

.cms-c-cta__bg--parallax {
  inset: auto;
  top: -18%;
  left: 0;
  right: 0;
  width: 100%;
  height: 136%;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.cms-c-cta__bg--parallax:not(:has(.cms-c-cta__bg-img)) {
  background-image: var(--cms-cta-image);
  background-size: var(--cms-cta-bg-size, cover);
  background-position: var(--cms-cta-bg-position, center);
  background-repeat: var(--cms-cta-bg-repeat, no-repeat);
}

.cms-c-cta--image .cms-c-cta__inner {
  position: relative;
  z-index: 2;
}

.cms-c-cta--align-center .cms-c-cta__inner {
  margin-inline: auto;
  text-align: center;
}
.cms-c-cta--align-center .cms-c-cta__inner .cms-c-btn-row {
  justify-content: center;
}

.cms-c-cta__eyebrow {
  margin: 0 0 0.75rem;
  color: var(--color-secondary, #d9c58d);
  color: color-mix(in srgb, var(--color-secondary, #d9c58d) 72%, var(--cms-cta-ink, #fff));
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.cms-c-cta--soft .cms-c-cta__eyebrow {
  color: var(--color-primary, #4b310d);
}

.cms-c-cta__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.75rem, 4vw, 2.8rem);
  line-height: 1.15;
}

.cms-c-cta__lead {
  margin: 1rem 0 0;
  color: color-mix(in srgb, var(--cms-cta-ink, #fff) 86%, transparent);
  font-size: 1.05rem;
}

.cms-c-cta--soft .cms-c-cta__lead {
  color: var(--color-text-muted, #65706a);
}

.cms-builder-page .cms-section:has(.cms-c-cta--fill-section),
.cms-builder-page .cms-section--full-bleed-media:not(#hero-start):has(.cms-c-cta--image:not(.cms-c-cta--inset)) {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-block: 0;
  padding-inline: 0;
  border-radius: 0;
}
.cms-builder-page .cms-section:has(.cms-c-cta--fill-section) .cms-section__wrap,
.cms-builder-page .cms-section:has(.cms-c-cta--fill-section) .cms-section__content,
.cms-builder-page .cms-section:has(.cms-c-cta--fill-section) .cms-section__grid,
.cms-builder-page .cms-section:has(.cms-c-cta--fill-section) .cms-section__slot,
.cms-builder-page .cms-section:has(.cms-c-cta--fill-section) .cms-section__slot-content,
.cms-builder-page .cms-section:has(.cms-c-cta--fill-section) .cms-section__component,
.cms-builder-page .cms-section--full-bleed-media:not(#hero-start):has(.cms-c-cta--image:not(.cms-c-cta--inset)) .cms-section__wrap,
.cms-builder-page .cms-section--full-bleed-media:not(#hero-start):has(.cms-c-cta--image:not(.cms-c-cta--inset)) .cms-section__content,
.cms-builder-page .cms-section--full-bleed-media:not(#hero-start):has(.cms-c-cta--image:not(.cms-c-cta--inset)) .cms-section__grid,
.cms-builder-page .cms-section--full-bleed-media:not(#hero-start):has(.cms-c-cta--image:not(.cms-c-cta--inset)) .cms-section__slot,
.cms-builder-page .cms-section--full-bleed-media:not(#hero-start):has(.cms-c-cta--image:not(.cms-c-cta--inset)) .cms-section__slot-content,
.cms-builder-page .cms-section--full-bleed-media:not(#hero-start):has(.cms-c-cta--image:not(.cms-c-cta--inset)) .cms-section__component {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}
.cms-builder-page .cms-section:has(.cms-c-cta--fill-section) .cms-section__grid.row,
.cms-builder-page .cms-section--full-bleed-media:not(#hero-start):has(.cms-c-cta--image:not(.cms-c-cta--inset)) .cms-section__grid.row {
  --bs-gutter-x: 0;
}
.cms-builder-page .cms-section:has(.cms-c-cta--fill-section) .cms-section__grid.row > [class*=col-],
.cms-builder-page .cms-section--full-bleed-media:not(#hero-start):has(.cms-c-cta--image:not(.cms-c-cta--inset)) .cms-section__grid.row > [class*=col-] {
  padding-inline: 0;
}

.cms-c-cta--fill-section,
.cms-section--full-bleed-media .cms-c-cta--image:not(.cms-c-cta--inset) {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  max-width: none;
  min-height: clamp(16rem, 42vw, 28rem);
  margin-inline: 0;
  border-radius: 0;
  padding-block: calc(var(--cms-section-spacing-py, 0) + clamp(2.5rem, 5vw, 4.5rem));
  padding-inline: clamp(1.25rem, 4vw, 2.75rem);
}
.cms-c-cta--fill-section.cms-c-cta--align-center,
.cms-section--full-bleed-media .cms-c-cta--image:not(.cms-c-cta--inset).cms-c-cta--align-center {
  align-items: center;
}
.cms-c-cta--fill-section.cms-c-cta--align-start,
.cms-section--full-bleed-media .cms-c-cta--image:not(.cms-c-cta--inset).cms-c-cta--align-start {
  align-items: flex-start;
}
.cms-c-cta--fill-section .cms-c-cta__inner,
.cms-section--full-bleed-media .cms-c-cta--image:not(.cms-c-cta--inset) .cms-c-cta__inner {
  width: min(720px, 100%);
}
.cms-c-cta--fill-section.cms-c-cta--align-start .cms-c-cta__inner,
.cms-section--full-bleed-media .cms-c-cta--image:not(.cms-c-cta--inset).cms-c-cta--align-start .cms-c-cta__inner {
  margin-inline: 0;
  text-align: start;
}
@media (max-width: 991.98px) {
  .cms-c-cta--fill-section,
  .cms-section--full-bleed-media .cms-c-cta--image:not(.cms-c-cta--inset) {
    padding-block: calc(var(--cms-section-spacing-py-md, var(--cms-section-spacing-py, 0)) + clamp(2.5rem, 5vw, 4.5rem));
    padding-inline: clamp(1.25rem, 4vw, 2.75rem);
  }
}
@media (max-width: 639.98px) {
  .cms-c-cta--fill-section,
  .cms-section--full-bleed-media .cms-c-cta--image:not(.cms-c-cta--inset) {
    padding-block: calc(var(--cms-section-spacing-py-sm, var(--cms-section-spacing-py-md, var(--cms-section-spacing-py, 0))) + clamp(2.5rem, 5vw, 4.5rem));
    padding-inline: clamp(1.1rem, 4vw, 1.75rem);
  }
}

.cms-c-features__head {
  max-width: 680px;
  margin: 0 auto 2.5rem;
  text-align: center;
}

.cms-c-features__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  line-height: 1.15;
}

.cms-c-features__lead {
  margin: 1rem 0 0;
  color: var(--color-text-muted, #65706a);
}

.cms-c-features__grid {
  display: grid;
  grid-template-columns: repeat(var(--cms-cols-xs, var(--cms-cols-base, 1)), minmax(0, 1fr));
  gap: var(--cms-feature-gap, 0.9rem);
}

@media (min-width: 576px) {
  .cms-c-features__grid {
    grid-template-columns: repeat(var(--cms-cols-sm, var(--cms-cols-xs, 1)), minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .cms-c-features__grid {
    grid-template-columns: repeat(var(--cms-cols-md, 2), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-features__grid {
    grid-template-columns: repeat(var(--cms-cols-lg, 4), minmax(0, 1fr));
  }
}
@media (min-width: 1200px) {
  .cms-c-features__grid {
    grid-template-columns: repeat(var(--cms-cols-xl, var(--cms-cols-lg, 4)), minmax(0, 1fr));
  }
}
.cms-c-features--gap-sm {
  --cms-feature-gap: 0.55rem;
}

.cms-c-features--gap-md {
  --cms-feature-gap: 0.9rem;
}

.cms-c-features--gap-lg {
  --cms-feature-gap: 1.25rem;
}

.cms-c-features--gap-xl {
  --cms-feature-gap: 1.65rem;
}

.cms-c-feature {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-height: 168px;
  padding: 1.5rem;
  border: 1px solid var(--color-border, #ded9cf);
  border-radius: var(--layout-radius, 8px);
  background: var(--color-surface, #fff);
}

.cms-c-feature__body {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.cms-c-feature__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1.9rem;
  line-height: 1;
  color: var(--cms-feature-icon-color, var(--color-secondary, #b89a61));
  margin-bottom: 0.4rem;
}

.cms-c-feature__title {
  font-size: var(--theme-comp-feature-title-font-size-mobile, var(--theme-comp-feature-title-font-size, 1rem));
  font-weight: var(--theme-comp-feature-title-font-weight, inherit);
  line-height: var(--theme-comp-feature-title-line-height, 1.35);
  color: var(--theme-comp-feature-title-color, var(--color-text, #24302b));
}

.cms-c-feature__text {
  margin: var(--theme-comp-feature-text-margin-top, 0) 0 0;
  color: var(--theme-comp-feature-text-color, var(--color-text-muted, #65706a));
  font-size: var(--theme-comp-feature-text-font-size-mobile, var(--theme-comp-feature-text-font-size, 0.92rem));
  line-height: var(--theme-comp-feature-text-line-height, 1.55);
}

@media (min-width: 768px) {
  .cms-c-feature__title {
    font-size: var(--theme-comp-feature-title-font-size, 1rem);
  }
  .cms-c-feature__text {
    font-size: var(--theme-comp-feature-text-font-size, 0.92rem);
  }
}
.cms-c-features--icon-size-sm .cms-c-feature__icon {
  font-size: 1.45rem;
}

.cms-c-features--icon-size-md .cms-c-feature__icon {
  font-size: 1.9rem;
}

.cms-c-features--icon-size-lg .cms-c-feature__icon {
  font-size: 2.35rem;
}

.cms-c-features--icon-size-xl .cms-c-feature__icon {
  font-size: 2.85rem;
}

.cms-c-features--icon-style-soft .cms-c-feature__icon,
.cms-c-features--icon-style-circle .cms-c-feature__icon,
.cms-c-features--icon-style-rounded .cms-c-feature__icon,
.cms-c-features--icon-style-square .cms-c-feature__icon,
.cms-c-features--icon-style-outline .cms-c-feature__icon {
  width: var(--cms-feature-icon-box, 3rem);
  height: var(--cms-feature-icon-box, 3rem);
  background: var(--cms-feature-icon-bg, color-mix(in srgb, var(--cms-feature-icon-color, var(--color-secondary, #b89a61)) 14%, #fff));
}

.cms-c-features--icon-size-sm .cms-c-feature__icon {
  --cms-feature-icon-box: 2.45rem;
}

.cms-c-features--icon-size-md .cms-c-feature__icon {
  --cms-feature-icon-box: 3rem;
}

.cms-c-features--icon-size-lg .cms-c-feature__icon {
  --cms-feature-icon-box: 3.65rem;
}

.cms-c-features--icon-size-xl .cms-c-feature__icon {
  --cms-feature-icon-box: 4.25rem;
}

.cms-c-features--icon-style-circle .cms-c-feature__icon {
  border-radius: 50%;
}

.cms-c-features--icon-style-rounded .cms-c-feature__icon {
  border-radius: 0.75rem;
}

.cms-c-features--icon-style-square .cms-c-feature__icon {
  border-radius: 0.2rem;
}

.cms-c-features--icon-style-outline .cms-c-feature__icon {
  background: transparent;
  border: 2px solid color-mix(in srgb, var(--cms-feature-icon-color, var(--color-secondary, #b89a61)) 55%, transparent);
}

.cms-c-features--icon-align-center .cms-c-feature__icon {
  align-self: center;
}

.cms-c-features--layout-minimal .cms-c-feature {
  min-height: 0;
  padding: 1rem 0.25rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cms-c-features--layout-compact .cms-c-feature {
  min-height: 0;
  padding: 1rem;
}

.cms-c-features--layout-centered .cms-c-features__head,
.cms-c-features--layout-centered .cms-c-feature {
  text-align: center;
  align-items: center;
}

.cms-c-features--layout-icon-left .cms-c-feature,
.cms-c-features--layout-list .cms-c-feature {
  flex-direction: row;
  align-items: flex-start;
  gap: 1rem;
  text-align: left;
}

.cms-c-features--layout-icon-left .cms-c-feature__icon,
.cms-c-features--layout-list .cms-c-feature__icon {
  margin-bottom: 0;
}

.cms-c-features--layout-list .cms-c-features__grid {
  gap: 0;
}

.cms-c-features--layout-list .cms-c-feature {
  min-height: 0;
  border-radius: 0;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  padding: 1.15rem 0.25rem;
}

.cms-c-features--layout-list .cms-c-feature:last-child {
  border-bottom: 0;
}

.cms-c-features--icon-shape-circle .cms-c-feature__icon {
  border-radius: 50%;
}

.cms-c-features--icon-shape-squircle .cms-c-feature__icon {
  border-radius: 32%;
}

.cms-c-features--icon-shape-none .cms-c-feature__icon {
  width: auto;
  height: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.cms-c-feature--featured {
  --cms-feature-accent-color: var(--cms-feature-accent, var(--color-primary));
  border-color: transparent;
  background: var(--cms-feature-accent-color);
  color: #fff;
  color: var(--cms-feature-accent-text, oklch(from var(--cms-feature-accent-color) clamp(0, (0.62 - l) * 1000, 1) 0 0));
  box-shadow: 0 22px 48px -24px color-mix(in srgb, var(--cms-feature-accent-color) 72%, transparent);
}

.cms-c-feature--featured .cms-c-feature__title,
.cms-c-feature--featured .cms-c-feature__text {
  color: inherit;
}

.cms-c-feature--featured .cms-c-feature__icon {
  background: color-mix(in srgb, currentcolor 16%, transparent);
  border-color: color-mix(in srgb, currentcolor 35%, transparent);
  color: inherit;
}

.cms-c-layout-grid {
  width: 100%;
}
.cms-c-layout-grid__head {
  margin-bottom: clamp(1rem, 2vw, 1.75rem);
}
.cms-c-layout-grid__title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  line-height: 1.2;
}
.cms-c-layout-grid__lead {
  margin: 0;
  color: var(--color-text-muted, #64748b);
  max-width: 65ch;
}
.cms-c-layout-grid__board {
  display: grid;
  gap: var(--cms-lg-gap-m, 1rem);
  grid-template-columns: repeat(var(--cms-lg-cols-m, 1), minmax(0, 1fr));
  grid-template-rows: repeat(var(--cms-lg-rows-m, 1), minmax(var(--cms-lg-row-min-m, 10rem), auto));
  padding: var(--cms-lg-pad-m, 1rem);
  border-radius: var(--cms-lg-radius, 0.75rem);
  background: var(--cms-lg-surface-m, transparent);
  position: relative;
  overflow: hidden;
}
@media (min-width: 768px) {
  .cms-c-layout-grid__board {
    gap: var(--cms-lg-gap-t, var(--cms-lg-gap-m, 1rem));
    grid-template-columns: repeat(var(--cms-lg-cols-t, var(--cms-lg-cols-m, 1)), minmax(0, 1fr));
    grid-template-rows: repeat(var(--cms-lg-rows-t, var(--cms-lg-rows-m, 1)), minmax(var(--cms-lg-row-min-t, var(--cms-lg-row-min-m, 10rem)), auto));
    padding: var(--cms-lg-pad-t, var(--cms-lg-pad-m, 1rem));
    background: var(--cms-lg-surface-t, var(--cms-lg-surface-m, transparent));
  }
}
@media (min-width: 992px) {
  .cms-c-layout-grid__board {
    gap: var(--cms-lg-gap-d, var(--cms-lg-gap-t, 1rem));
    grid-template-columns: repeat(var(--cms-lg-cols-d, var(--cms-lg-cols-t, 1)), minmax(0, 1fr));
    grid-template-rows: repeat(var(--cms-lg-rows-d, var(--cms-lg-rows-t, 1)), minmax(var(--cms-lg-row-min-d, var(--cms-lg-row-min-t, 10rem)), auto));
    padding: var(--cms-lg-pad-d, var(--cms-lg-pad-t, 1rem));
    background: var(--cms-lg-surface-d, var(--cms-lg-surface-t, transparent));
  }
}
.cms-c-layout-grid__cell {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  border-radius: calc(var(--cms-lg-radius, 0.75rem) * 0.85);
  background: var(--cms-cell-bg-m, transparent);
  color: var(--cms-cell-color-m, inherit);
  padding: var(--cms-cell-pad-m, 1rem);
  grid-column: var(--cms-cell-cs-m, 1)/span var(--cms-cell-csp-m, 1);
  grid-row: var(--cms-cell-rs-m, 1)/span var(--cms-cell-rsp-m, 1);
}
@media (min-width: 768px) {
  .cms-c-layout-grid__cell {
    background: var(--cms-cell-bg-t, var(--cms-cell-bg-m, transparent));
    color: var(--cms-cell-color-t, var(--cms-cell-color-m, inherit));
    padding: var(--cms-cell-pad-t, var(--cms-cell-pad-m, 1rem));
    grid-column: var(--cms-cell-cs-t, var(--cms-cell-cs-m, 1))/span var(--cms-cell-csp-t, var(--cms-cell-csp-m, 1));
    grid-row: var(--cms-cell-rs-t, var(--cms-cell-rs-m, 1))/span var(--cms-cell-rsp-t, var(--cms-cell-rsp-m, 1));
  }
}
@media (min-width: 992px) {
  .cms-c-layout-grid__cell {
    background: var(--cms-cell-bg-d, var(--cms-cell-bg-t, transparent));
    color: var(--cms-cell-color-d, var(--cms-cell-color-t, inherit));
    padding: var(--cms-cell-pad-d, var(--cms-cell-pad-t, 1rem));
    grid-column: var(--cms-cell-cs-d, var(--cms-cell-cs-t, 1))/span var(--cms-cell-csp-d, var(--cms-cell-csp-t, 1));
    grid-row: var(--cms-cell-rs-d, var(--cms-cell-rs-t, 1))/span var(--cms-cell-rsp-d, var(--cms-cell-rsp-t, 1));
  }
}
.cms-c-layout-grid__cell--align-m-start .cms-c-layout-grid__content {
  text-align: start;
  align-items: flex-start;
}
.cms-c-layout-grid__cell--align-m-center .cms-c-layout-grid__content {
  text-align: center;
  align-items: center;
}
.cms-c-layout-grid__cell--align-m-end .cms-c-layout-grid__content {
  text-align: end;
  align-items: flex-end;
}
.cms-c-layout-grid__cell--valign-m-start {
  justify-content: flex-start;
}
.cms-c-layout-grid__cell--valign-m-center {
  justify-content: center;
}
.cms-c-layout-grid__cell--valign-m-end {
  justify-content: flex-end;
}
@media (min-width: 768px) {
  .cms-c-layout-grid__cell--align-t-start .cms-c-layout-grid__content {
    text-align: start;
    align-items: flex-start;
  }
  .cms-c-layout-grid__cell--align-t-center .cms-c-layout-grid__content {
    text-align: center;
    align-items: center;
  }
  .cms-c-layout-grid__cell--align-t-end .cms-c-layout-grid__content {
    text-align: end;
    align-items: flex-end;
  }
  .cms-c-layout-grid__cell--valign-t-start {
    justify-content: flex-start;
  }
  .cms-c-layout-grid__cell--valign-t-center {
    justify-content: center;
  }
  .cms-c-layout-grid__cell--valign-t-end {
    justify-content: flex-end;
  }
}
@media (min-width: 992px) {
  .cms-c-layout-grid__cell--align-d-start .cms-c-layout-grid__content {
    text-align: start;
    align-items: flex-start;
  }
  .cms-c-layout-grid__cell--align-d-center .cms-c-layout-grid__content {
    text-align: center;
    align-items: center;
  }
  .cms-c-layout-grid__cell--align-d-end .cms-c-layout-grid__content {
    text-align: end;
    align-items: flex-end;
  }
  .cms-c-layout-grid__cell--valign-d-start {
    justify-content: flex-start;
  }
  .cms-c-layout-grid__cell--valign-d-center {
    justify-content: center;
  }
  .cms-c-layout-grid__cell--valign-d-end {
    justify-content: flex-end;
  }
}
.cms-c-layout-grid__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.cms-c-layout-grid__media .cms-video-frame,
.cms-c-layout-grid__media .cms-video-frame__slot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}
.cms-c-layout-grid__media .cms-video-frame__video {
  object-fit: var(--cms-cell-media-fit-m, cover);
  object-position: var(--cms-cell-media-pos-m, center);
}
@media (min-width: 768px) {
  .cms-c-layout-grid__media .cms-video-frame__video {
    object-fit: var(--cms-cell-media-fit-t, var(--cms-cell-media-fit-m, cover));
    object-position: var(--cms-cell-media-pos-t, var(--cms-cell-media-pos-m, center));
  }
}
@media (min-width: 992px) {
  .cms-c-layout-grid__media .cms-video-frame__video {
    object-fit: var(--cms-cell-media-fit-d, var(--cms-cell-media-fit-t, cover));
    object-position: var(--cms-cell-media-pos-d, var(--cms-cell-media-pos-t, center));
  }
}
.cms-c-layout-grid__media-img {
  width: 100%;
  height: 100%;
  object-fit: var(--cms-cell-media-fit-m, cover);
  object-position: var(--cms-cell-media-pos-m, center);
  display: block;
}
@media (min-width: 768px) {
  .cms-c-layout-grid__media-img {
    object-fit: var(--cms-cell-media-fit-t, var(--cms-cell-media-fit-m, cover));
    object-position: var(--cms-cell-media-pos-t, var(--cms-cell-media-pos-m, center));
  }
}
@media (min-width: 992px) {
  .cms-c-layout-grid__media-img {
    object-fit: var(--cms-cell-media-fit-d, var(--cms-cell-media-fit-t, cover));
    object-position: var(--cms-cell-media-pos-d, var(--cms-cell-media-pos-t, center));
  }
}
.cms-c-layout-grid__media-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, var(--cms-cell-media-overlay-m, 0.35));
  pointer-events: none;
}
@media (min-width: 768px) {
  .cms-c-layout-grid__media-overlay {
    background: rgba(0, 0, 0, var(--cms-cell-media-overlay-t, var(--cms-cell-media-overlay-m, 0.35)));
  }
}
@media (min-width: 992px) {
  .cms-c-layout-grid__media-overlay {
    background: rgba(0, 0, 0, var(--cms-cell-media-overlay-d, var(--cms-cell-media-overlay-t, 0.35)));
  }
}
@media (max-width: 767.98px) {
  .cms-c-layout-grid__cell:not(.cms-c-layout-grid__cell--media-bg-m) .cms-c-layout-grid__media {
    position: relative;
    inset: auto;
    margin: calc(var(--cms-cell-pad-m, 1rem) * -1);
    margin-bottom: 0.75rem;
    height: 12rem;
  }
}
.cms-c-layout-grid__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  width: 100%;
}
.cms-c-layout-grid__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.cms-c-layout-grid__icon--sm {
  font-size: 1.25rem;
}
.cms-c-layout-grid__icon--md {
  font-size: 1.65rem;
}
.cms-c-layout-grid__icon--lg {
  font-size: 2.1rem;
}
.cms-c-layout-grid__icon--xl {
  font-size: 2.75rem;
}
.cms-c-layout-grid__eyebrow {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.85;
}
.cms-c-layout-grid__cell-title {
  margin: 0;
  font-size: clamp(1rem, 1.6vw, 1.35rem);
  line-height: 1.25;
}
.cms-c-layout-grid__html {
  font-size: 0.95rem;
  line-height: 1.55;
}
.cms-c-layout-grid__html p:last-child {
  margin-bottom: 0;
}

.cms-c-features--animated .cms-c-feature {
  transition: opacity var(--cms-feature-enter-duration, 0.55s) var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--cms-feature-enter-delay, 0s), transform var(--cms-feature-enter-duration, 0.55s) var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--cms-feature-enter-delay, 0s), filter var(--cms-feature-enter-duration, 0.55s) ease var(--cms-feature-enter-delay, 0s), box-shadow var(--cms-feature-hover-duration, 0.32s) ease, border-color var(--cms-feature-hover-duration, 0.32s) ease;
  will-change: opacity, transform, filter;
}

.cms-c-features--animated:not(.cms-c-features--visible) .cms-c-feature {
  opacity: 0;
}

.cms-c-features--animated.cms-c-features--visible .cms-c-feature {
  opacity: 1;
  transform: none;
  filter: none;
}

.cms-c-features--animated .cms-c-feature:nth-child(1) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 0 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(2) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 1 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(3) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 2 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(4) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 3 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(5) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 4 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(6) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 5 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(7) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 6 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(8) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 7 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(9) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 8 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(10) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 9 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(11) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 10 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(12) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 11 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(13) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 12 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(14) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 13 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(15) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 14 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(16) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 15 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(17) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 16 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(18) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 17 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(19) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 18 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(20) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 19 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(21) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 20 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(22) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 21 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(23) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 22 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--animated .cms-c-feature:nth-child(24) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 23 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--scroll-fade-in:not(.cms-c-features--visible) .cms-c-feature {
  opacity: 0;
}

.cms-c-features--scroll-fade-up:not(.cms-c-features--visible) .cms-c-feature {
  transform: translate3d(0, var(--cms-feature-enter-distance, 28px), 0);
}

.cms-c-features--scroll-fade-down:not(.cms-c-features--visible) .cms-c-feature {
  transform: translate3d(0, calc(-1 * var(--cms-feature-enter-distance, 28px)), 0);
}

.cms-c-features--scroll-fade-left:not(.cms-c-features--visible) .cms-c-feature {
  transform: translate3d(var(--cms-feature-enter-distance, 28px), 0, 0);
}

.cms-c-features--scroll-fade-right:not(.cms-c-features--visible) .cms-c-feature {
  transform: translate3d(calc(-1 * var(--cms-feature-enter-distance, 28px)), 0, 0);
}

.cms-c-features--scroll-slide-up:not(.cms-c-features--visible) .cms-c-feature {
  transform: translate3d(0, calc(var(--cms-feature-enter-distance, 28px) * 1.35), 0);
}

.cms-c-features--scroll-slide-down:not(.cms-c-features--visible) .cms-c-feature {
  transform: translate3d(0, calc(-1 * var(--cms-feature-enter-distance, 28px) * 1.35), 0);
}

.cms-c-features--scroll-slide-left:not(.cms-c-features--visible) .cms-c-feature {
  transform: translate3d(calc(var(--cms-feature-enter-distance, 28px) * 1.35), 0, 0);
}

.cms-c-features--scroll-slide-right:not(.cms-c-features--visible) .cms-c-feature {
  transform: translate3d(calc(-1 * var(--cms-feature-enter-distance, 28px) * 1.35), 0, 0);
}

.cms-c-features--scroll-zoom-in:not(.cms-c-features--visible) .cms-c-feature {
  transform: scale(var(--cms-feature-enter-scale, 0.96));
}

.cms-c-features--scroll-zoom-out:not(.cms-c-features--visible) .cms-c-feature {
  transform: scale(calc(var(--cms-feature-enter-scale, 0.96) + 0.08));
}

.cms-c-features--scroll-blur-in:not(.cms-c-features--visible) .cms-c-feature {
  filter: blur(8px);
  transform: scale(calc(var(--cms-feature-enter-scale, 0.96) + 0.04));
}

.cms-c-features--scroll-flip-up:not(.cms-c-features--visible) .cms-c-feature {
  transform: perspective(900px) rotateX(10deg) translate3d(0, calc(var(--cms-feature-enter-distance, 28px) * 0.65), 0);
  transform-origin: center bottom;
}

.cms-c-features--scroll-bounce-in:not(.cms-c-features--visible) .cms-c-feature {
  transform: translate3d(0, var(--cms-feature-enter-distance, 28px), 0) scale(var(--cms-feature-enter-scale, 0.96));
}

.cms-c-features--scroll-bounce-in.cms-c-features--visible .cms-c-feature {
  animation: cms-feature-bounce-in var(--cms-feature-enter-duration, 0.78s) var(--cms-feature-enter-easing, cubic-bezier(0.34, 1.56, 0.64, 1)) both;
  animation-delay: calc(var(--cms-feature-enter-delay, 0s) + var(--cms-feature-stagger-index, 0) * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--scroll-reveal-up:not(.cms-c-features--visible) .cms-c-feature {
  clip-path: inset(100% 0 0 0);
  opacity: 0.35;
}

.cms-c-features--scroll-reveal-up.cms-c-features--visible .cms-c-feature {
  animation: cms-feature-reveal-up var(--cms-feature-enter-duration, 0.7s) var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1)) both;
  animation-delay: calc(var(--cms-feature-enter-delay, 0s) + var(--cms-feature-stagger-index, 0) * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(1),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(1) {
  --cms-feature-stagger-index: 0;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(2),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(2) {
  --cms-feature-stagger-index: 1;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(3),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(3) {
  --cms-feature-stagger-index: 2;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(4),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(4) {
  --cms-feature-stagger-index: 3;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(5),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(5) {
  --cms-feature-stagger-index: 4;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(6),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(6) {
  --cms-feature-stagger-index: 5;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(7),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(7) {
  --cms-feature-stagger-index: 6;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(8),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(8) {
  --cms-feature-stagger-index: 7;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(9),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(9) {
  --cms-feature-stagger-index: 8;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(10),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(10) {
  --cms-feature-stagger-index: 9;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(11),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(11) {
  --cms-feature-stagger-index: 10;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(12),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(12) {
  --cms-feature-stagger-index: 11;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(13),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(13) {
  --cms-feature-stagger-index: 12;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(14),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(14) {
  --cms-feature-stagger-index: 13;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(15),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(15) {
  --cms-feature-stagger-index: 14;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(16),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(16) {
  --cms-feature-stagger-index: 15;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(17),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(17) {
  --cms-feature-stagger-index: 16;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(18),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(18) {
  --cms-feature-stagger-index: 17;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(19),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(19) {
  --cms-feature-stagger-index: 18;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(20),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(20) {
  --cms-feature-stagger-index: 19;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(21),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(21) {
  --cms-feature-stagger-index: 20;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(22),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(22) {
  --cms-feature-stagger-index: 21;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(23),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(23) {
  --cms-feature-stagger-index: 22;
}

.cms-c-features--scroll-bounce-in .cms-c-feature:nth-child(24),
.cms-c-features--scroll-reveal-up .cms-c-feature:nth-child(24) {
  --cms-feature-stagger-index: 23;
}

@keyframes cms-feature-bounce-in {
  0% {
    opacity: 0;
    transform: translate3d(0, var(--cms-feature-enter-distance, 28px), 0) scale(var(--cms-feature-enter-scale, 0.96));
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -0.25rem, 0) scale(calc(var(--cms-feature-hover-scale, 1.02) * 0.99));
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes cms-feature-reveal-up {
  from {
    clip-path: inset(100% 0 0 0);
    opacity: 0.35;
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}
.cms-c-features--hover-lift .cms-c-feature:hover {
  transform: translate3d(0, -0.35rem, 0) scale(var(--cms-feature-hover-scale, 1.02));
}

.cms-c-features--hover-lift-glow .cms-c-feature:hover {
  transform: translate3d(0, -0.45rem, 0) scale(var(--cms-feature-hover-scale, 1.02));
  box-shadow: 0 14px 36px rgba(36, 48, 43, 0.12);
  border-color: color-mix(in srgb, var(--color-secondary, #b89a61) 35%, var(--color-border, #ded9cf));
}

.cms-c-features--hover-scale .cms-c-feature:hover {
  transform: scale(var(--cms-feature-hover-scale, 1.04));
}

.cms-c-features--hover-tilt .cms-c-feature:hover {
  transform: perspective(900px) rotateX(2deg) rotateY(-2deg) translate3d(0, -0.25rem, 0) scale(var(--cms-feature-hover-scale, 1.02));
}

.cms-c-features--hover-glow .cms-c-feature:hover {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-secondary, #b89a61) 45%, transparent), 0 12px 28px rgba(36, 48, 43, 0.1);
}

.cms-c-features--icon-hover-pop .cms-c-feature:hover .cms-c-feature__icon {
  transform: scale(1.12);
}

.cms-c-features--icon-hover-spin .cms-c-feature:hover .cms-c-feature__icon {
  transform: rotate(-8deg) scale(1.06);
}

.cms-c-features--icon-hover-pulse .cms-c-feature:hover .cms-c-feature__icon {
  animation: cms-feature-icon-pulse var(--cms-feature-hover-duration, 0.32s) ease;
}

.cms-c-features--icon-hover-bounce .cms-c-feature:hover .cms-c-feature__icon {
  animation: cms-feature-icon-bounce var(--cms-feature-hover-duration, 0.32s) ease;
}

.cms-c-features--icon-hover-float .cms-c-feature:hover .cms-c-feature__icon {
  animation: cms-feature-icon-float 1.15s ease-in-out infinite;
}

.cms-c-features--icon-hover-glow .cms-c-feature:hover .cms-c-feature__icon {
  filter: drop-shadow(0 0 0.45rem color-mix(in srgb, var(--cms-feature-icon-color, var(--color-secondary, #b89a61)) 70%, transparent));
  transform: scale(1.06);
}

.cms-c-features--icon-hover-shake .cms-c-feature:hover .cms-c-feature__icon {
  animation: cms-feature-icon-shake 0.45s ease;
}

.cms-c-features--icon-hover-wobble .cms-c-feature:hover .cms-c-feature__icon {
  animation: cms-feature-icon-wobble 0.55s ease;
}

.cms-c-features--icon-hover-spin-full .cms-c-feature:hover .cms-c-feature__icon {
  transform: rotate(360deg) scale(1.05);
}

.cms-c-features--icon-hover-rise .cms-c-feature:hover .cms-c-feature__icon {
  transform: translate3d(0, -0.4rem, 0) scale(1.08);
}

.cms-c-features--icon-hover-flip-y .cms-c-feature:hover .cms-c-feature__icon {
  transform: perspective(600px) rotateY(180deg) scale(1.04);
}

.cms-c-features--icon-hover-ring .cms-c-feature:hover .cms-c-feature__icon {
  box-shadow: 0 0 0 0 color-mix(in srgb, var(--cms-feature-icon-color, var(--color-secondary, #b89a61)) 45%, transparent);
  animation: cms-feature-icon-ring 0.65s ease-out;
}

.cms-c-features--icon-hover-spin-full .cms-c-feature__icon {
  transition: transform 0.55s var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1));
}

.cms-c-features--icon-hover-flip-y .cms-c-feature__icon {
  transition: transform var(--cms-feature-hover-duration, 0.32s) var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1));
  transform-style: preserve-3d;
}

.cms-c-feature__icon {
  display: inline-flex;
  transition: transform var(--cms-feature-hover-duration, 0.32s) var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1));
}

@keyframes cms-feature-icon-pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.14);
  }
}
@keyframes cms-feature-icon-bounce {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  40% {
    transform: translate3d(0, -0.35rem, 0) scale(1.08);
  }
}
@keyframes cms-feature-icon-float {
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -0.4rem, 0);
  }
}
@keyframes cms-feature-icon-shake {
  0%, 100% {
    transform: translateX(0);
  }
  20%, 60% {
    transform: translateX(-0.2rem);
  }
  40%, 80% {
    transform: translateX(0.2rem);
  }
}
@keyframes cms-feature-icon-wobble {
  0%, 100% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-7deg) scale(1.05);
  }
  75% {
    transform: rotate(7deg) scale(1.05);
  }
}
@keyframes cms-feature-icon-ring {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--cms-feature-icon-color, var(--color-secondary, #b89a61)) 45%, transparent);
  }
  100% {
    box-shadow: 0 0 0 0.55rem transparent;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cms-c-features--animated .cms-c-feature {
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
  }
  .cms-c-features--animated .cms-c-feature__icon {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}
.cms-c-editorial--animated .cms-c-editorial__row {
  transition: opacity var(--cms-feature-enter-duration, 0.55s) var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--cms-feature-enter-delay, 0s), transform var(--cms-feature-enter-duration, 0.55s) var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--cms-feature-enter-delay, 0s), filter var(--cms-feature-enter-duration, 0.55s) ease var(--cms-feature-enter-delay, 0s);
  will-change: opacity, transform, filter;
}

.cms-c-editorial--animated:not(.cms-c-editorial--visible) .cms-c-editorial__row {
  opacity: 0;
}

.cms-c-editorial--animated.cms-c-editorial--visible .cms-c-editorial__row {
  opacity: 1;
  transform: none;
  filter: none;
}

.cms-c-editorial--animated .cms-c-editorial__row {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + var(--cms-editorial-stagger-index, 0) * var(--cms-feature-enter-stagger, 120ms));
}

.cms-c-editorial--scroll-fade-up:not(.cms-c-editorial--visible) .cms-c-editorial__row {
  transform: translate3d(0, var(--cms-feature-enter-distance, 36px), 0);
}

.cms-c-editorial--scroll-fade-down:not(.cms-c-editorial--visible) .cms-c-editorial__row {
  transform: translate3d(0, calc(-1 * var(--cms-feature-enter-distance, 36px)), 0);
}

.cms-c-editorial--scroll-fade-left:not(.cms-c-editorial--visible) .cms-c-editorial__row {
  transform: translate3d(var(--cms-feature-enter-distance, 36px), 0, 0);
}

.cms-c-editorial--scroll-fade-right:not(.cms-c-editorial--visible) .cms-c-editorial__row {
  transform: translate3d(calc(-1 * var(--cms-feature-enter-distance, 36px)), 0, 0);
}

.cms-c-editorial--scroll-slide-up:not(.cms-c-editorial--visible) .cms-c-editorial__row {
  transform: translate3d(0, calc(var(--cms-feature-enter-distance, 36px) * 1.35), 0);
}

.cms-c-editorial--scroll-zoom-in:not(.cms-c-editorial--visible) .cms-c-editorial__row {
  transform: scale(var(--cms-feature-enter-scale, 0.96));
}

.cms-c-editorial--scroll-blur-in:not(.cms-c-editorial--visible) .cms-c-editorial__row {
  filter: blur(8px);
  transform: scale(calc(var(--cms-feature-enter-scale, 0.96) + 0.04));
}

.cms-c-editorial--scroll-reveal-up:not(.cms-c-editorial--visible) .cms-c-editorial__row {
  clip-path: inset(100% 0 0 0);
  opacity: 0.35;
}

.cms-c-editorial--scroll-reveal-up.cms-c-editorial--visible .cms-c-editorial__row {
  clip-path: inset(0 0 0 0);
  opacity: 1;
}

.cms-c-editorial--hover-lift .cms-c-editorial__figure {
  transition: transform var(--cms-feature-hover-duration, 0.32s) ease, box-shadow var(--cms-feature-hover-duration, 0.32s) ease;
}

.cms-c-editorial--hover-lift .cms-c-editorial__row:hover .cms-c-editorial__figure {
  transform: translateY(-4px);
}

.cms-c-editorial--hover-scale .cms-c-editorial__figure {
  transition: transform var(--cms-feature-hover-duration, 0.32s) ease;
}

.cms-c-editorial--hover-scale .cms-c-editorial__row:hover .cms-c-editorial__figure {
  transform: scale(1.02);
}

/* Powiększenie wewnętrzne zdjęcia - kadr stoi w miejscu, samo zdjęcie rośnie wewnątrz
   (figure ma overflow: hidden). Skala: --cms-editorial-zoom-inner. */
.cms-c-editorial--hover-zoom-inner .cms-c-editorial__image {
  transition: transform var(--cms-feature-hover-duration, 0.6s) cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.cms-c-editorial--hover-zoom-inner .cms-c-editorial__row:hover .cms-c-editorial__image,
.cms-c-editorial--hover-zoom-inner .cms-c-editorial__row:focus-within .cms-c-editorial__image {
  transform: scale(var(--cms-editorial-zoom-inner, 1.06));
}

/* Tryb tła (background-image): zoom przez warstwę ::before z odziedziczonym obrazem */
.cms-c-editorial--image-background.cms-c-editorial--hover-zoom-inner .cms-c-editorial__figure {
  overflow: hidden;
}

.cms-c-editorial--image-background.cms-c-editorial--hover-zoom-inner .cms-c-editorial__figure::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: inherit;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: var(--cms-editorial-bg-position, center);
  transition: transform var(--cms-feature-hover-duration, 0.6s) cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.cms-c-editorial--image-background.cms-c-editorial--hover-zoom-inner .cms-c-editorial__row:hover .cms-c-editorial__figure::before,
.cms-c-editorial--image-background.cms-c-editorial--hover-zoom-inner .cms-c-editorial__row:focus-within .cms-c-editorial__figure::before {
  transform: scale(var(--cms-editorial-zoom-inner, 1.06));
}

/* Najazd treści na zdjęcie - panel treści wjeżdża od strony zdjęcia przy przewinięciu.
   Kierunek automatyczny: treść po lewej (media po prawej) wjeżdża z prawej do lewej i odwrotnie.
   Dystans: --cms-editorial-content-slide (ustawienie "Najazd treści na zdjęcie (px)"). */
@media (min-width: 992px) {
  .cms-c-editorial--content-slide .cms-c-editorial__content {
    transition: transform var(--cms-feature-enter-duration, 0.6s) var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1)), opacity var(--cms-feature-enter-duration, 0.6s) ease;
    transition-delay: calc(var(--cms-feature-enter-delay, 0s) + var(--cms-editorial-stagger-index, 0) * var(--cms-feature-enter-stagger, 120ms) + 140ms);
    will-change: transform, opacity;
  }
  .cms-c-editorial--content-slide:not(.cms-c-editorial--visible) .cms-c-editorial__row--media-right .cms-c-editorial__content {
    transform: translateX(var(--cms-editorial-content-slide, 32px));
    opacity: 0;
  }
  .cms-c-editorial--content-slide:not(.cms-c-editorial--visible) .cms-c-editorial__row--media-left .cms-c-editorial__content {
    transform: translateX(calc(-1 * var(--cms-editorial-content-slide, 32px)));
    opacity: 0;
  }
  .cms-c-editorial--content-slide.cms-c-editorial--visible .cms-c-editorial__content {
    transform: none;
    opacity: 1;
  }
  /* Podpisy na zdjęciu wjeżdżają pionowo tuż po treści - animowany cały kontener,
     żeby nie kolidować z przejściami hover na pojedynczych elementach podpisu. */
  .cms-c-editorial--content-slide .cms-c-editorial__caption {
    transition: transform var(--cms-feature-enter-duration, 0.6s) var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1)), opacity var(--cms-feature-enter-duration, 0.6s) ease;
    transition-delay: calc(var(--cms-feature-enter-delay, 0s) + var(--cms-editorial-stagger-index, 0) * var(--cms-feature-enter-stagger, 120ms) + 260ms);
  }
  .cms-c-editorial--content-slide:not(.cms-c-editorial--visible) .cms-c-editorial__caption {
    transform: translateY(14px);
    opacity: 0;
  }
  .cms-c-editorial--content-slide.cms-c-editorial--visible .cms-c-editorial__caption {
    transform: none;
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cms-c-editorial--animated .cms-c-editorial__row {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    transition: none !important;
  }
  .cms-c-editorial--content-slide .cms-c-editorial__content,
  .cms-c-editorial--content-slide .cms-c-editorial__caption {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .cms-c-editorial--hover-zoom-inner .cms-c-editorial__image,
  .cms-c-editorial--hover-zoom-inner .cms-c-editorial__figure::before {
    transform: none !important;
    transition: none !important;
  }
}
.cms-c-editorial {
  --cms-editorial-gap: clamp(2.5rem, 5vw, 4.5rem);
  --cms-editorial-head-gap: clamp(1.25rem, 3vw, 2rem);
  --cms-editorial-overlap-inset: var(--theme-comp-cms-editorial-overlap-inset, 2.75rem);
  --cms-editorial-image-min-h: var(--theme-comp-cms-editorial-image-min-h, 420px);
  --cms-editorial-image-pad-top: var(--theme-comp-cms-editorial-image-pad-top, 2.5rem);
  --cms-editorial-image-pad-bottom: var(--theme-comp-cms-editorial-image-pad-bottom, 2.5rem);
  --cms-editorial-media-share-desktop: var(--theme-comp-cms-editorial-media-share-desktop, 58%);
  --cms-editorial-content-share-desktop: var(--theme-comp-cms-editorial-content-share-desktop, 42%);
  --cms-editorial-media-share-mobile: var(--theme-comp-cms-editorial-media-share-mobile, 100%);
  --cms-editorial-content-share-mobile: var(--theme-comp-cms-editorial-content-share-mobile, 100%);
  --cms-editorial-media-share: var(--cms-editorial-media-share-desktop, 58%);
  --cms-editorial-content-share: var(--cms-editorial-content-share-desktop, 42%);
  width: 100%;
  max-width: var(--cms-editorial-max-w, min(var(--layout-max-width, 1600px), 100%));
  margin-inline: auto;
}

.cms-c-editorial--gap-md {
  --cms-editorial-gap: clamp(2rem, 4vw, 3rem);
}

.cms-c-editorial--gap-lg {
  --cms-editorial-gap: clamp(2.5rem, 5vw, 4rem);
}

.cms-c-editorial--gap-xl {
  --cms-editorial-gap: clamp(3rem, 6vw, 5rem);
}

.cms-c-editorial--gap-2xl {
  --cms-editorial-gap: clamp(3.5rem, 7vw, 6rem);
}

.cms-c-editorial__head {
  margin-bottom: var(--cms-editorial-head-gap);
  max-width: 68ch;
}

.cms-c-editorial__head-title {
  margin: 0 0 0.65rem;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.75rem, 3.8vw, 2.65rem);
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: var(--color-heading);
}

.cms-c-editorial__head-lead {
  color: var(--color-text-muted);
  font-size: 1.0625rem;
  line-height: 1.65;
}
.cms-c-editorial__head-lead p {
  margin: 0 0 0.75rem;
}
.cms-c-editorial__head-lead p:last-child {
  margin-bottom: 0;
}

.cms-c-editorial__list {
  display: grid;
  gap: var(--cms-editorial-gap);
}

.cms-c-editorial__row {
  display: grid;
  gap: 1.25rem;
  align-items: var(--cms-editorial-row-align, center);
  position: relative;
}

.cms-c-editorial--valign-start .cms-c-editorial__row {
  --cms-editorial-row-align: start;
}

.cms-c-editorial--valign-center .cms-c-editorial__row {
  --cms-editorial-row-align: center;
}

.cms-c-editorial--valign-stretch .cms-c-editorial__row {
  --cms-editorial-row-align: stretch;
}

.cms-c-editorial__media {
  position: relative;
  min-width: 0;
}

.cms-c-editorial__figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: var(--cms-editorial-image-radius, 12px);
  background-color: var(--color-surface-strong, #1a1f1d);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: var(--cms-editorial-bg-position, center);
}

.cms-c-editorial__image {
  display: block;
  width: 100%;
  aspect-ratio: var(--cms-editorial-aspect, auto);
  min-height: var(--cms-editorial-image-min-h, 320px);
  object-fit: cover;
}

.cms-c-editorial--image-background .cms-c-editorial__figure {
  min-height: var(--cms-editorial-image-min-h, 420px);
}

.cms-c-editorial--image-background .cms-c-editorial__image {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  min-height: 0;
  aspect-ratio: auto;
}

.cms-c-editorial--img-fit-contain .cms-c-editorial__image {
  object-fit: contain;
  background: var(--color-surface-soft);
}

/* „Wypełnij obszar” (cover) - zdjęcie pokrywa całą część medialną wiersza, jak background-size: cover.
   Tryb „natural” (bazowe style wyżej) zachowuje proporcje z aspect-ratio. */
.cms-c-editorial--image-img.cms-c-editorial--img-fit-cover .cms-c-editorial__row {
  align-items: stretch;
}

.cms-c-editorial--image-img.cms-c-editorial--img-fit-cover .cms-c-editorial__content {
  align-self: var(--cms-editorial-row-align, center);
}

.cms-c-editorial--image-img.cms-c-editorial--img-fit-cover .cms-c-editorial__media {
  display: flex;
  flex-direction: column;
}

.cms-c-editorial--image-img.cms-c-editorial--img-fit-cover .cms-c-editorial__figure {
  flex: 1 1 auto;
  min-height: var(--cms-editorial-image-min-h, 320px);
}

.cms-c-editorial--image-img.cms-c-editorial--img-fit-cover .cms-c-editorial__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: var(--cms-editorial-bg-position, center);
}

.cms-c-editorial--img-shadow-soft .cms-c-editorial__figure {
  box-shadow: 0 18px 42px rgba(var(--color-shadow-rgb), 0.12);
}

.cms-c-editorial--img-shadow-elevated .cms-c-editorial__figure {
  box-shadow: 0 24px 56px rgba(var(--color-shadow-rgb), 0.16), 0 0 0 1px rgba(var(--color-shadow-rgb), 0.04);
}

.cms-c-editorial--img-shadow-dramatic .cms-c-editorial__figure {
  box-shadow: 0 36px 72px rgba(var(--color-shadow-rgb), 0.22), 0 12px 28px rgba(var(--color-shadow-rgb), 0.12);
}

.cms-c-editorial__blend {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(var(--cms-editorial-blend-dir, to top), color-mix(in srgb, var(--cms-editorial-blend-color, #08100c) calc(var(--cms-editorial-blend-opacity, 0.72) * 100%), transparent) 0%, transparent var(--cms-editorial-blend-height, 58%));
}

.cms-c-editorial--blend-off .cms-c-editorial__blend {
  display: none;
}

.cms-c-editorial__caption {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  z-index: 2;
  padding: clamp(1rem, 7vw, 5.65rem);
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.cms-c-editorial--title-align-center .cms-c-editorial__caption {
  align-items: center;
  text-align: center;
}

.cms-c-editorial--title-align-end .cms-c-editorial__caption {
  align-items: flex-end;
  text-align: end;
}

.cms-c-editorial--title-light .cms-c-editorial__caption {
  color: #fff;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.cms-c-editorial--title-dark .cms-c-editorial__caption {
  color: var(--color-heading);
  text-shadow: none;
}

.cms-c-editorial__eyebrow {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  opacity: 0.92;
  color: var(--cms-editorial-cap-eyebrow-color, inherit);
}

.cms-c-editorial--eyebrow-normal .cms-c-editorial__eyebrow {
  letter-spacing: 0.02em;
  text-transform: none;
  font-size: 0.82rem;
}

.cms-c-editorial--eyebrow-small-caps .cms-c-editorial__eyebrow {
  font-variant: small-caps;
  letter-spacing: 0.06em;
  text-transform: none;
}

.cms-c-editorial--eyebrow-uppercase .cms-c-editorial__eyebrow {
  text-transform: uppercase;
}

.cms-c-editorial__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.45rem, 3vw, 2.35rem);
  line-height: 1.08;
  letter-spacing: -0.03em;
  color: var(--cms-editorial-cap-title-color, inherit);
}

.cms-c-editorial__subtitle {
  margin: 0;
  font-size: clamp(0.95rem, 1.8vw, 1.125rem);
  line-height: 1.35;
  opacity: 0.92;
  color: var(--cms-editorial-cap-subtitle-color, inherit);
}

/* Kolory podpisów - wyższa specyficzność niż motywowe ".cms-builder-page h3 { color: var(--color-h3) }",
   żeby indywidualny kolor (lub tonacja light/dark przez inherit) zawsze wygrywał. */
.cms-c-editorial .cms-c-editorial__caption .cms-c-editorial__eyebrow {
  color: var(--cms-editorial-cap-eyebrow-color, inherit);
}

.cms-c-editorial .cms-c-editorial__caption .cms-c-editorial__title {
  color: var(--cms-editorial-cap-title-color, inherit);
}

.cms-c-editorial .cms-c-editorial__caption .cms-c-editorial__subtitle {
  color: var(--cms-editorial-cap-subtitle-color, inherit);
}

/* Animacja tekstów na zdjęciu po najechaniu - delikatne uniesienie ze stopniowaniem */
@media (hover: hover) {
  .cms-c-editorial__caption > * {
    transition: transform var(--cms-editorial-cap-hover-ms, 0.42s) cubic-bezier(0.22, 1, 0.36, 1), opacity var(--cms-editorial-cap-hover-ms, 0.42s) ease, letter-spacing var(--cms-editorial-cap-hover-ms, 0.42s) ease;
  }
  .cms-c-editorial__caption .cms-c-editorial__title {
    transition-delay: 45ms;
  }
  .cms-c-editorial__caption .cms-c-editorial__subtitle {
    transition-delay: 90ms;
  }
  .cms-c-editorial__figure:hover .cms-c-editorial__caption > * {
    transform: translateY(-6px);
  }
  .cms-c-editorial__figure:hover .cms-c-editorial__eyebrow,
  .cms-c-editorial__figure:hover .cms-c-editorial__subtitle {
    opacity: 1;
  }
  .cms-c-editorial--eyebrow-uppercase .cms-c-editorial__figure:hover .cms-c-editorial__eyebrow {
    letter-spacing: 0.17em;
  }
}
.cms-c-editorial__content {
  position: relative;
  min-width: 0;
  max-width: var(--cms-editorial-content-max-ch, 52ch);
  border-radius: var(--cms-editorial-content-radius, 14px);
  border: var(--cms-editorial-content-border-w, 0) solid color-mix(in srgb, var(--color-border) 70%, transparent);
}

.cms-c-editorial--content-pad-vars .cms-c-editorial__content {
  padding-block: var(--cms-editorial-content-pad-y-desktop, var(--theme-comp-cms-editorial-content-pad-y-desktop, clamp(1.25rem, 2.5vw, 1.75rem)));
  padding-inline: var(--cms-editorial-content-pad-x-desktop, var(--theme-comp-cms-editorial-content-pad-x-desktop, clamp(1.35rem, 2.8vw, 2rem)));
}

.cms-c-editorial--content-pad-sm .cms-c-editorial__content {
  padding: 0.85rem 1rem;
}

.cms-c-editorial--content-pad-md .cms-c-editorial__content {
  padding: 1.15rem 1.25rem;
}

.cms-c-editorial--content-pad-lg .cms-c-editorial__content {
  padding: clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.35rem, 2.8vw, 2rem);
}

.cms-c-editorial--content-pad-xl .cms-c-editorial__content {
  padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1.65rem, 3.2vw, 2.35rem);
}

.cms-c-editorial--content-bg-transparent .cms-c-editorial__content {
  background: transparent;
  box-shadow: none;
}

.cms-c-editorial--content-bg-surface .cms-c-editorial__content {
  background: var(--color-surface);
}

.cms-c-editorial--content-bg-soft .cms-c-editorial__content {
  background: var(--color-surface-soft);
}

.cms-c-editorial--content-bg-glass .cms-c-editorial__content {
  background: color-mix(in srgb, var(--color-surface) 82%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.cms-c-editorial--content-shadow-soft .cms-c-editorial__content {
  box-shadow: 0 16px 40px rgba(var(--color-shadow-rgb), 0.1);
}

.cms-c-editorial--content-shadow-elevated .cms-c-editorial__content {
  box-shadow: 0 22px 48px rgba(var(--color-shadow-rgb), 0.14), 0 0 0 1px rgba(var(--color-shadow-rgb), 0.04);
}

.cms-c-editorial--content-shadow-none .cms-c-editorial__content {
  box-shadow: none;
}

.cms-c-editorial__body {
  color: var(--color-text-muted);
  font-size: 1.02rem;
  line-height: 1.68;
}
.cms-c-editorial__body p {
  margin: 0 0 0.85rem;
}
.cms-c-editorial__body p:last-child {
  margin-bottom: 0;
}
.cms-c-editorial__body strong {
  color: var(--color-text);
}

.cms-c-editorial__cta {
  margin: 1.15rem 0 0;
}

@media (min-width: 992px) {
  .cms-c-editorial--layout-side-by-side .cms-c-editorial__row {
    grid-template-columns: minmax(0, var(--cms-editorial-media-share)) minmax(0, var(--cms-editorial-content-share));
    gap: var(--cms-editorial-col-gap, clamp(2rem, 4vw, 3.5rem));
  }
  .cms-c-editorial--layout-side-by-side .cms-c-editorial__row--media-right .cms-c-editorial__media {
    order: 2;
  }
  .cms-c-editorial--layout-side-by-side .cms-c-editorial__row--media-right .cms-c-editorial__content {
    order: 1;
  }
  .cms-c-editorial--layout-side-by-side .cms-c-editorial__row--media-left .cms-c-editorial__content,
  .cms-c-editorial--layout-side-by-side .cms-c-editorial__row--media-right .cms-c-editorial__content {
    justify-self: stretch;
    max-width: none;
    width: 100%;
  }
  .cms-c-editorial--layout-side-by-side.cms-c-editorial--image-background .cms-c-editorial__figure {
    min-height: var(--cms-editorial-image-min-h, 360px);
  }
  .cms-c-editorial--layout-overlap .cms-c-editorial__row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0;
    min-height: calc(var(--cms-editorial-image-min-h, 420px) + var(--cms-editorial-image-pad-top, 2.5rem) + var(--cms-editorial-image-pad-bottom, 2.5rem));
  }
  .cms-c-editorial--layout-overlap .cms-c-editorial__row--media-right {
    flex-direction: row-reverse;
  }
  .cms-c-editorial--layout-overlap .cms-c-editorial__media {
    flex: 0 0 var(--cms-editorial-media-share, 58%);
    align-self: stretch;
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding-top: var(--cms-editorial-image-pad-top, 2.5rem);
    padding-bottom: var(--cms-editorial-image-pad-bottom, 2.5rem);
    box-sizing: border-box;
  }
  .cms-c-editorial--layout-overlap .cms-c-editorial__figure {
    flex: 1 1 auto;
    width: 100%;
    min-height: var(--cms-editorial-image-min-h, 420px);
  }
  .cms-c-editorial--layout-overlap .cms-c-editorial__content {
    flex: 0 0 var(--cms-editorial-content-share, 42%);
    align-self: center;
    width: 100%;
    max-width: var(--cms-editorial-content-share, 42%);
    min-width: 0;
    z-index: 2;
  }
  .cms-c-editorial--layout-overlap .cms-c-editorial__row--media-left .cms-c-editorial__content {
    margin-left: calc(-1 * var(--cms-editorial-overlap-inset, 2.75rem));
  }
  .cms-c-editorial--layout-overlap .cms-c-editorial__row--media-right .cms-c-editorial__content {
    margin-right: calc(-1 * var(--cms-editorial-overlap-inset, 2.75rem));
  }
  /* Wystawanie zdjęcia poza treść (--cms-editorial-image-overhang, np. 28px z góry i z dołu).
     Wysokość wiersza wyznacza treść; media rozciąga się i wystaje przez ujemne marginesy,
     więc zdjęcie jest zawsze wyższe od treści - niezależnie od jej ilości. */
  .cms-c-editorial--img-overhang .cms-c-editorial__row:not(.cms-c-editorial__row--single) {
    align-items: center;
  }
  /* W trybie overlap wysokość wiersza nie potrzebuje już paddingów zdjęcia -
     wystawanie robią ujemne marginesy, a min. wysokość pilnuje tylko zdjęcia. */
  .cms-c-editorial--img-overhang.cms-c-editorial--layout-overlap .cms-c-editorial__row:not(.cms-c-editorial__row--single) {
    min-height: calc(var(--cms-editorial-image-min-h, 420px) - 2 * var(--cms-editorial-image-overhang, 28px));
  }
  .cms-c-editorial--img-overhang .cms-c-editorial__row:not(.cms-c-editorial__row--single) .cms-c-editorial__media {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    margin-block: calc(-1 * var(--cms-editorial-image-overhang, 28px));
    padding-top: 0;
    padding-bottom: 0;
  }
  .cms-c-editorial--img-overhang .cms-c-editorial__row:not(.cms-c-editorial__row--single) .cms-c-editorial__content {
    align-self: center;
  }
  .cms-c-editorial--img-overhang .cms-c-editorial__row:not(.cms-c-editorial__row--single) .cms-c-editorial__figure {
    flex: 1 1 auto;
    width: 100%;
    min-height: var(--cms-editorial-image-min-h, 420px);
  }
  .cms-c-editorial--img-overhang .cms-c-editorial__row:not(.cms-c-editorial__row--single) .cms-c-editorial__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: var(--cms-editorial-bg-position, center);
  }
  /* Rezerwa w pionie, żeby wystające zdjęcia nie nachodziły na sąsiednie sekcje/wiersze.
     Gap powiększony o 2× wystawanie - zdjęcia wchodzą w odstęp z obu stron,
     więc bez kompensaty ustawiony "Odstęp między wierszami" wyglądał na martwy. */
  .cms-c-editorial--img-overhang .cms-c-editorial__list {
    padding-block: var(--cms-editorial-image-overhang, 28px);
    gap: calc(var(--cms-editorial-gap) + 2 * var(--cms-editorial-image-overhang, 28px));
  }
  .cms-c-editorial__row--single {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: clamp(1.25rem, 2.5vw, 2rem);
  }
  .cms-c-editorial__row--single .cms-c-editorial__content {
    max-width: min(var(--cms-editorial-content-max-ch, 52ch), 100%);
    margin: 0 !important;
  }
}
/* --- Tablet (768–991.98px): dwie kolumny - domyślnie 50% / 50% --- */
@media (min-width: 768px) and (max-width: 991.98px) {
  .cms-c-editorial {
    --cms-editorial-media-share: var(--cms-editorial-media-share-tablet, 50%);
    --cms-editorial-content-share: var(--cms-editorial-content-share-tablet, 50%);
  }
  .cms-c-editorial--tablet-split .cms-c-editorial__row {
    display: grid;
    grid-template-columns: minmax(0, var(--cms-editorial-media-share)) minmax(0, var(--cms-editorial-content-share));
    gap: var(--cms-editorial-col-gap, clamp(1.25rem, 3vw, 2rem));
    align-items: var(--cms-editorial-row-align, center);
  }
  .cms-c-editorial--tablet-split .cms-c-editorial__row--media-right .cms-c-editorial__media {
    order: 2;
  }
  .cms-c-editorial--tablet-split .cms-c-editorial__row--media-right .cms-c-editorial__content {
    order: 1;
  }
  .cms-c-editorial--tablet-split .cms-c-editorial__content {
    max-width: none;
    width: 100%;
    margin: 0 !important;
  }
  .cms-c-editorial--tablet-split .cms-c-editorial__row--single {
    grid-template-columns: minmax(0, 1fr);
  }
  .cms-c-editorial--tablet-stack .cms-c-editorial__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 1.5rem);
  }
  .cms-c-editorial--tablet-stack .cms-c-editorial__media {
    order: 1;
  }
  .cms-c-editorial--tablet-stack .cms-c-editorial__content {
    order: 2;
    max-width: none;
    width: 100%;
    margin: 0 !important;
  }
}
/* --- Wspólne dla tabletu i mobile --- */
@media (max-width: 991.98px) {
  .cms-c-editorial--content-pad-vars .cms-c-editorial__content {
    padding-block: var(--cms-editorial-content-pad-y-mobile, var(--theme-comp-cms-editorial-content-pad-y-mobile, 1.15rem));
    padding-inline: var(--cms-editorial-content-pad-x-mobile, var(--theme-comp-cms-editorial-content-pad-x-mobile, 1.25rem));
  }
  .cms-c-editorial__image {
    min-height: clamp(220px, 56vw, 360px);
  }
  .cms-c-editorial__figure--video {
    min-height: clamp(240px, 58vw, 380px);
  }
  .cms-c-editorial--image-background .cms-c-editorial__figure {
    min-height: clamp(240px, 58vw, 380px);
  }
  .cms-c-editorial--image-img.cms-c-editorial--img-fit-cover .cms-c-editorial__figure {
    min-height: clamp(240px, 58vw, 380px);
  }
}
/* --- Mobile (<768px): układ w pionie - 100% szerokości --- */
@media (max-width: 767.98px) {
  .cms-c-editorial {
    --cms-editorial-media-share: var(--cms-editorial-media-share-mobile, 100%);
    --cms-editorial-content-share: var(--cms-editorial-content-share-mobile, 100%);
  }
  .cms-c-editorial--mobile-stack .cms-c-editorial__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1rem, 3vw, 1.5rem);
  }
  .cms-c-editorial--mobile-split .cms-c-editorial__row {
    display: grid;
    grid-template-columns: minmax(0, var(--cms-editorial-media-share)) minmax(0, var(--cms-editorial-content-share));
    gap: clamp(0.75rem, 2.5vw, 1.25rem);
    align-items: center;
  }
  .cms-c-editorial--mobile-split .cms-c-editorial__media {
    order: 1;
  }
  .cms-c-editorial--mobile-split .cms-c-editorial__content {
    order: 2;
  }
  .cms-c-editorial--mobile-stack .cms-c-editorial__media {
    order: 1;
  }
  .cms-c-editorial--mobile-stack .cms-c-editorial__content {
    order: 2;
    max-width: none;
    width: 100%;
    margin: 0 !important;
  }
  .cms-c-editorial--mobile-stack.cms-c-editorial--layout-overlap .cms-c-editorial__content {
    margin: calc(-1 * var(--cms-editorial-overlap-mobile, 1.25rem)) clamp(0.75rem, 4vw, 1.25rem) 0 !important;
    width: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cms-c-editorial__content,
  .cms-c-editorial__figure {
    transition: none !important;
  }
}
.cms-c-editorial--cap-pos-center .cms-c-editorial__caption {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}

.cms-c-editorial--cap-pos-top .cms-c-editorial__caption {
  bottom: auto;
  top: 0;
}

.cms-c-editorial .cms-c-editorial__row--cap-pos-bottom .cms-c-editorial__caption {
  top: auto;
  bottom: 0;
  transform: none;
}

.cms-c-editorial .cms-c-editorial__row--cap-pos-center .cms-c-editorial__caption {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
}

.cms-c-editorial .cms-c-editorial__row--cap-pos-top .cms-c-editorial__caption {
  bottom: auto;
  top: 0;
  transform: none;
}

.cms-c-editorial .cms-c-editorial__row--layout-overlay,
.cms-c-editorial .cms-c-editorial__row--layout-overlay-center,
.cms-c-editorial .cms-c-editorial__row--layout-overlay-right,
.cms-c-editorial .cms-c-editorial__row--layout-banner {
  display: block !important;
  position: relative;
  min-height: 0 !important;
}
.cms-c-editorial .cms-c-editorial__row--layout-overlay .cms-c-editorial__media,
.cms-c-editorial .cms-c-editorial__row--layout-overlay-center .cms-c-editorial__media,
.cms-c-editorial .cms-c-editorial__row--layout-overlay-right .cms-c-editorial__media,
.cms-c-editorial .cms-c-editorial__row--layout-banner .cms-c-editorial__media {
  width: 100%;
  flex: none !important;
  padding: 0 !important;
  order: 0;
}
.cms-c-editorial .cms-c-editorial__row--layout-overlay .cms-c-editorial__content,
.cms-c-editorial .cms-c-editorial__row--layout-overlay-center .cms-c-editorial__content,
.cms-c-editorial .cms-c-editorial__row--layout-overlay-right .cms-c-editorial__content,
.cms-c-editorial .cms-c-editorial__row--layout-banner .cms-c-editorial__content {
  position: absolute;
  z-index: 3;
  margin: 0 !important;
  max-width: min(var(--cms-editorial-overlay-max-ch, 46ch), 100% - clamp(2rem, 6vw, 4rem));
}

.cms-c-editorial .cms-c-editorial__row--layout-overlay .cms-c-editorial__content {
  left: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
}

.cms-c-editorial .cms-c-editorial__row--layout-overlay-center .cms-c-editorial__content {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.cms-c-editorial .cms-c-editorial__row--layout-overlay-right .cms-c-editorial__content {
  right: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
}

.cms-c-editorial .cms-c-editorial__row--layout-banner .cms-c-editorial__figure {
  min-height: clamp(200px, 30vw, 340px) !important;
  aspect-ratio: 21/9;
}
.cms-c-editorial .cms-c-editorial__row--layout-banner .cms-c-editorial__content {
  left: clamp(1.25rem, 4vw, 3rem);
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 575.98px) {
  .cms-c-editorial .cms-c-editorial__row--layout-overlay .cms-c-editorial__content,
  .cms-c-editorial .cms-c-editorial__row--layout-overlay-center .cms-c-editorial__content,
  .cms-c-editorial .cms-c-editorial__row--layout-overlay-right .cms-c-editorial__content,
  .cms-c-editorial .cms-c-editorial__row--layout-banner .cms-c-editorial__content {
    position: static;
    transform: none;
    max-width: none;
    margin: -1.25rem 0.75rem 0 !important;
    text-align: start;
  }
}
.cms-c-editorial .cms-c-editorial__row--layout-stack,
.cms-c-editorial .cms-c-editorial__row--layout-stack-reverse {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(1rem, 2.5vw, 1.75rem);
  min-height: 0 !important;
}
.cms-c-editorial .cms-c-editorial__row--layout-stack .cms-c-editorial__media,
.cms-c-editorial .cms-c-editorial__row--layout-stack-reverse .cms-c-editorial__media {
  width: 100%;
  flex: none !important;
  padding: 0 !important;
}
.cms-c-editorial .cms-c-editorial__row--layout-stack .cms-c-editorial__content,
.cms-c-editorial .cms-c-editorial__row--layout-stack-reverse .cms-c-editorial__content {
  position: static;
  margin: 0 !important;
  max-width: min(var(--cms-editorial-content-max-ch, 52ch), 100%);
}

.cms-c-editorial .cms-c-editorial__row--layout-stack .cms-c-editorial__media {
  order: 1;
}

.cms-c-editorial .cms-c-editorial__row--layout-stack .cms-c-editorial__content {
  order: 2;
}

.cms-c-editorial .cms-c-editorial__row--layout-stack-reverse .cms-c-editorial__media {
  order: 2;
}

.cms-c-editorial .cms-c-editorial__row--layout-stack-reverse .cms-c-editorial__content {
  order: 1;
}

@media (min-width: 992px) {
  .cms-c-editorial .cms-c-editorial__row--layout-media-wide-left,
  .cms-c-editorial .cms-c-editorial__row--layout-media-wide-right {
    --cms-editorial-media-share: 72%;
    --cms-editorial-content-share: 28%;
    --cms-editorial-media-share-desktop: 72%;
    --cms-editorial-content-share-desktop: 28%;
  }
}
.cms-c-editorial .cms-c-editorial__row--layout-frame .cms-c-editorial__figure {
  padding: clamp(0.75rem, 1.8vw, 1.4rem);
  box-sizing: border-box;
  background-color: var(--color-surface, #fff);
  background-clip: content-box;
  border: 1px solid color-mix(in srgb, var(--color-border, #ded9cf) 85%, transparent);
  box-shadow: 0 14px 36px rgba(var(--color-shadow-rgb, 20 24 21), 0.1);
}

.cms-c-editorial .cms-c-editorial__row--layout-frame .cms-c-editorial__blend {
  inset: clamp(0.75rem, 1.8vw, 1.4rem);
}

.cms-c-editorial .cms-c-editorial__row--layout-frame .cms-c-editorial__caption {
  padding: clamp(1.5rem, 4vw, 2.4rem);
}

.cms-c-editorial .cms-c-editorial__row--layout-polaroid .cms-c-editorial__figure {
  padding: clamp(0.6rem, 1.4vw, 1rem);
  padding-bottom: clamp(2rem, 4.5vw, 3.25rem);
  box-sizing: border-box;
  background-color: #fff;
  background-clip: content-box;
  border-radius: 6px;
  transform: rotate(var(--cms-editorial-polaroid-angle, -1.6deg));
  transition: transform 0.3s ease;
  box-shadow: 0 22px 48px rgba(var(--color-shadow-rgb, 20 24 21), 0.2), 0 4px 14px rgba(var(--color-shadow-rgb, 20 24 21), 0.1);
}

.cms-c-editorial .cms-c-editorial__row--layout-polaroid:hover .cms-c-editorial__figure {
  transform: rotate(0deg);
}

.cms-c-editorial .cms-c-editorial__row--layout-polaroid .cms-c-editorial__blend {
  inset: clamp(0.6rem, 1.4vw, 1rem);
  bottom: clamp(2rem, 4.5vw, 3.25rem);
}

.cms-c-editorial .cms-c-editorial__row--layout-polaroid .cms-c-editorial__caption {
  inset-inline: clamp(0.6rem, 1.4vw, 1rem);
  bottom: clamp(2rem, 4.5vw, 3.25rem);
}

@media (prefers-reduced-motion: reduce) {
  .cms-c-editorial .cms-c-editorial__row--layout-polaroid .cms-c-editorial__figure {
    transform: none;
    transition: none;
  }
}
.cms-c-pictogram-tiles__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin-bottom: 0.35rem;
  font-size: 1.85rem;
  line-height: 1;
  color: var(--color-primary, #206bc4);
}
.cms-c-pictogram-tiles__icon img {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
}

.cms-c-pictogram-tiles__item {
  text-align: center;
  align-items: center;
}

/* Shortcode piktogramów - zmienne ustawiane inline z PictogramShortcodePresentationConfig */
.pg-shortcode {
  --pg-accent: var(--color-primary);
  --pg-surface: var(--color-surface-soft);
  --pg-text: var(--color-text);
  --pg-muted: var(--color-text-muted);
  --pg-border: var(--color-border);
  --pg-gap: 0.7rem;
  --pg-icon-size: 2.2rem;
  --pg-cols-mobile: 2;
  --pg-cols-tablet: 4;
  --pg-cols-desktop: 4;
  --pg-item-radius: 12px;
  --pg-item-pad: 0.85rem;
  --pg-text-align: center;
  color: var(--pg-text);
}

.pg-shortcode__head {
  margin-bottom: 1.25rem;
  text-align: var(--pg-text-align);
}

.pg-shortcode__title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.25;
}

.pg-shortcode__lead {
  margin: 0;
  color: var(--pg-muted);
  max-width: 52ch;
  margin-inline: auto;
}

.pg-shortcode__grid {
  display: grid;
  gap: var(--pg-gap);
  grid-template-columns: repeat(var(--pg-cols-mobile), minmax(0, 1fr));
}

@media (min-width: 640px) {
  .pg-shortcode__grid {
    grid-template-columns: repeat(var(--pg-cols-tablet), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .pg-shortcode__grid {
    grid-template-columns: repeat(var(--pg-cols-desktop), minmax(0, 1fr));
  }
}
.pg-shortcode__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: var(--pg-text-align);
  gap: 0.35rem;
  padding: var(--pg-item-pad);
  border-radius: var(--pg-item-radius);
}

.pg-shortcode__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(var(--pg-icon-size) + 0.5rem);
  height: calc(var(--pg-icon-size) + 0.5rem);
  font-size: var(--pg-icon-size);
  line-height: 1;
  color: var(--pg-accent);
}
.pg-shortcode__icon img {
  width: var(--pg-icon-size);
  height: var(--pg-icon-size);
  object-fit: contain;
}

.pg-shortcode__item-title {
  font-size: 0.98rem;
  line-height: 1.3;
}

.pg-shortcode__item-text {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--pg-muted);
}

.pg-shortcode--cards .pg-shortcode__item {
  background: var(--pg-surface);
  border: 1px solid color-mix(in srgb, var(--pg-border) 88%, transparent);
  align-items: flex-start;
  text-align: start;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--pg-text) 6%, transparent);
}

.pg-shortcode--list .pg-shortcode__grid {
  grid-template-columns: 1fr;
}

.pg-shortcode--list .pg-shortcode__item {
  flex-direction: row;
  align-items: flex-start;
  text-align: start;
  gap: 0.85rem;
  border-bottom: 1px solid color-mix(in srgb, var(--pg-border) 70%, transparent);
  border-radius: 0;
  padding-inline: 0;
}

.pg-shortcode--list .pg-shortcode__item:last-child {
  border-bottom: 0;
}

.pg-shortcode--list .pg-shortcode__icon {
  flex-shrink: 0;
}

.pg-shortcode--inline .pg-shortcode__grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--pg-gap);
}

.pg-shortcode--inline .pg-shortcode__item {
  flex: 0 1 auto;
  min-width: 4.5rem;
  max-width: 7rem;
  padding: 0.35rem 0.25rem;
}

.pg-shortcode--inline .pg-shortcode__item-text {
  display: none;
}

.pg-shortcode--inline .pg-shortcode__item-title {
  font-size: 0.78rem;
  font-weight: 500;
}

.pg-shortcode--compact .pg-shortcode__item {
  padding: calc(var(--pg-item-pad) * 0.75);
}

.pg-shortcode--compact .pg-shortcode__item-text {
  font-size: 0.82rem;
}

.pg-shortcode--single {
  display: inline-block;
  max-width: 100%;
}

.pg-shortcode--single .pg-shortcode__item--single {
  display: inline-flex;
}

.cms-shortcode-placeholder {
  margin: 1.5rem auto;
  max-width: 48rem;
  padding: 1rem 1.25rem;
  border-radius: 0.5rem;
  border: 1px dashed var(--bs-border-color, #cbd5e1);
  background: var(--bs-body-bg, #fff);
}

.cms-shortcode-placeholder--missing {
  border-color: #f59e0b;
  background: #fffbeb;
}

.cms-shortcode-placeholder__title {
  font-weight: 600;
  margin: 0 0 0.35rem;
}

.cms-shortcode-placeholder__hint {
  margin: 0;
  font-size: 0.92rem;
  color: var(--bs-secondary-color, #64748b);
}

.cms-c-checklist__title {
  margin: 0 0 1rem;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: 1.3rem;
}

.cms-c-checklist__list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 768px) {
  .cms-c-checklist__list--cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cms-c-checklist__list--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.cms-c-checklist__item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  color: var(--color-text, #24302b);
}

.cms-c-checklist__icon {
  flex: 0 0 auto;
  margin-top: 0.15rem;
  font-size: 1.15rem;
  color: var(--color-secondary, #b89a61);
}

.cms-c-section-header {
  --cms-sh-gap: var(--theme-comp-cms-section-header-gap, 0.65rem);
  --cms-sh-gap-mobile: var(--theme-comp-cms-section-header-gap-mobile, var(--cms-sh-gap));
  --cms-sh-mb: var(--theme-comp-cms-section-header-margin-bottom, clamp(1.5rem, 3vw, 2.25rem));
  --cms-sh-mb-mobile: var(--theme-comp-cms-section-header-margin-bottom-mobile, var(--cms-sh-mb));
  --cms-sh-max: var(--cms-section-header-max-width, var(--theme-comp-cms-section-header-max-width, none));
  display: flex;
  flex-direction: column;
  gap: var(--cms-sh-gap-mobile);
  max-width: var(--cms-sh-max);
  margin-block-end: var(--cms-sh-mb-mobile);
  text-align: start;
  align-items: flex-start;
}

.cms-c-section-header--align-m-center {
  margin-inline: auto;
  text-align: center;
  align-items: center;
}

.cms-c-section-header--align-m-end {
  margin-inline-start: auto;
  text-align: end;
  align-items: flex-end;
}

@media (min-width: 768px) {
  .cms-c-section-header {
    gap: var(--cms-sh-gap);
    margin-block-end: var(--cms-sh-mb);
    margin-inline: 0;
    text-align: start;
    align-items: flex-start;
  }
  .cms-c-section-header--align-center {
    margin-inline: auto;
    text-align: center;
    align-items: center;
  }
  .cms-c-section-header--align-end {
    margin-inline-start: auto;
    text-align: end;
    align-items: flex-end;
  }
}
.cms-c-section-header--spacing-compact {
  --cms-sh-gap: var(--theme-comp-cms-section-header-gap-compact, 0.4rem);
  --cms-sh-mb: var(--theme-comp-cms-section-header-margin-bottom-compact, 1rem);
}

.cms-c-section-header--spacing-relaxed {
  --cms-sh-gap: var(--theme-comp-cms-section-header-gap-relaxed, 0.85rem);
  --cms-sh-mb: var(--theme-comp-cms-section-header-margin-bottom-relaxed, clamp(2rem, 4vw, 3rem));
}

.cms-c-section-header__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  font-size: var(--theme-comp-cms-section-header-eyebrow-font-size-mobile, var(--theme-comp-cms-section-header-eyebrow-font-size, 0.72rem));
  font-weight: var(--theme-comp-cms-section-header-eyebrow-font-weight, 600);
  letter-spacing: var(--theme-comp-cms-section-header-eyebrow-letter-spacing, 0.14em);
  text-transform: var(--theme-comp-cms-section-header-eyebrow-text-transform, uppercase);
  color: var(--theme-comp-cms-section-header-eyebrow-color, var(--color-secondary, #a29061));
}

@media (min-width: 768px) {
  .cms-c-section-header__eyebrow {
    font-size: var(--theme-comp-cms-section-header-eyebrow-font-size, 0.75rem);
  }
}
.cms-c-section-header__eyebrow-icon {
  line-height: 1;
  opacity: 0.92;
}

.cms-c-section-header__eyebrow-icon--text {
  display: inline-block;
}

.cms-c-section-header__eyebrow-icon--pictogram {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: var(--cms-sh-eyebrow-icon-size, 1.25rem);
  height: var(--cms-sh-eyebrow-icon-size, 1.25rem);
  color: var(--cms-sh-eyebrow-icon-color, currentColor);
  vertical-align: middle;
}

.cms-c-section-header__eyebrow-icon--pictogram .cms-pictogram-glyph {
  width: 100%;
  height: 100%;
}

.cms-pictogram-glyph--svg {
  display: block;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  mask-image: var(--cms-pictogram-mask);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: var(--cms-pictogram-mask);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.cms-pictogram-glyph--icon {
  display: block;
  font-size: 1em;
  line-height: 1;
}

.cms-c-section-header__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: var(--theme-comp-cms-section-header-title-font-size-mobile, clamp(1.45rem, 4.5vw, 1.85rem));
  font-weight: var(--theme-comp-cms-section-header-title-font-weight, inherit);
  line-height: var(--theme-comp-cms-section-header-title-line-height, 1.15);
  color: var(--theme-comp-cms-section-header-title-color, var(--color-heading, var(--color-text)));
  max-width: var(--theme-comp-cms-section-header-title-max-width-mobile, var(--theme-comp-cms-section-header-title-max-width, none));
}

@media (min-width: 768px) {
  .cms-c-section-header__title {
    font-size: var(--theme-comp-cms-section-header-title-font-size, clamp(1.65rem, 3vw, 2.35rem));
    max-width: var(--theme-comp-cms-section-header-title-max-width, none);
  }
}
.cms-c-section-header__lead {
  margin: 0;
  font-size: var(--theme-comp-cms-section-header-lead-font-size-mobile, var(--font-size-lead, 1.05rem));
  line-height: var(--theme-comp-cms-section-header-lead-line-height, 1.65);
  color: var(--theme-comp-cms-section-header-lead-color, var(--color-text-muted, #57534e));
  max-width: var(--theme-comp-cms-section-header-lead-max-width-mobile, var(--theme-comp-cms-section-header-lead-max-width, 52ch));
}

@media (min-width: 768px) {
  .cms-c-section-header__lead {
    font-size: var(--theme-comp-cms-section-header-lead-font-size, var(--font-size-lead, 1.1rem));
    max-width: var(--theme-comp-cms-section-header-lead-max-width, 52ch);
  }
}
.cms-c-section-header--tone-light .cms-c-section-header__title {
  color: var(--theme-comp-cms-section-header-title-color-light, #fff);
}

.cms-c-section-header--tone-light .cms-c-section-header__lead {
  color: var(--theme-comp-cms-section-header-lead-color-light, rgba(255, 255, 255, 0.88));
}

.cms-c-section-header--tone-light .cms-c-section-header__eyebrow {
  color: var(--theme-comp-cms-section-header-eyebrow-color-light, rgba(255, 255, 255, 0.82));
}

.cms-c-section-header--tone-on-image .cms-c-section-header__title {
  color: var(--theme-comp-cms-section-header-title-color-on-image, #fff);
}

.cms-c-section-header--tone-on-image .cms-c-section-header__lead {
  color: var(--theme-comp-cms-section-header-lead-color-on-image, rgba(255, 255, 255, 0.9));
}

.cms-c-section-header--tone-on-image .cms-c-section-header__eyebrow {
  color: var(--theme-comp-cms-section-header-eyebrow-color-on-image, rgba(255, 255, 255, 0.85));
}

.home-section--room-catalog {
  --lodging-catalog-cols: var(--theme-comp-room-catalog-cols-mobile, 1);
  --lodging-catalog-gap: var(--theme-comp-room-catalog-grid-gap-mobile, var(--theme-comp-room-catalog-grid-gap, clamp(1rem, 3vw, 1.35rem)));
}
.home-section--room-catalog .lodging-catalog-grid {
  display: grid;
  grid-template-columns: repeat(var(--lodging-catalog-cols), minmax(0, 1fr));
  gap: var(--lodging-catalog-gap);
}

@media (min-width: 768px) {
  .home-section--room-catalog {
    --lodging-catalog-cols: var(--theme-comp-room-catalog-cols-tablet, 2);
    --lodging-catalog-gap: var(--theme-comp-room-catalog-grid-gap, clamp(1.15rem, 2vw, 1.5rem));
  }
}
@media (min-width: 992px) {
  .home-section--room-catalog {
    --lodging-catalog-cols: var(--theme-comp-room-catalog-cols-desktop, 3);
  }
}
.home-section--room-catalog-carousel .lodging-catalog-carousel__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(78vw, 280px);
  gap: var(--theme-comp-room-catalog-grid-gap-mobile, 1rem);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-block: 0.15rem;
  scrollbar-width: none;
}
.home-section--room-catalog-carousel .lodging-catalog-carousel__track::-webkit-scrollbar {
  display: none;
}
.home-section--room-catalog-carousel .lodging-catalog-carousel__slide {
  scroll-snap-align: start;
}

@media (min-width: 768px) {
  .home-section--room-catalog-carousel .lodging-catalog-carousel__track {
    grid-auto-columns: minmax(42vw, 320px);
    gap: var(--theme-comp-room-catalog-grid-gap, 1.25rem);
  }
}
@media (min-width: 992px) {
  .home-section--room-catalog-carousel .lodging-catalog-carousel__track {
    grid-auto-columns: calc((100% - (var(--lodging-catalog-cols, 3) - 1) * var(--theme-comp-room-catalog-grid-gap, 1.25rem)) / var(--lodging-catalog-cols, 3));
  }
}
.lodging-catalog-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--theme-comp-room-catalog-card-radius-mobile, var(--theme-comp-room-catalog-card-radius, var(--layout-radius, 12px)));
  background: var(--theme-comp-room-catalog-card-bg, var(--color-surface, #fff));
  box-shadow: 0 10px 28px rgb(var(--color-shadow-rgb, 28 25 23)/var(--theme-comp-room-catalog-shadow-alpha, 0.06));
  overflow: hidden;
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.lodging-catalog-card:hover, .lodging-catalog-card:focus-within {
  transform: var(--theme-comp-room-catalog-hover-transform, translateY(-3px));
  box-shadow: 0 16px 36px rgb(var(--color-shadow-rgb, 28 25 23)/calc(var(--theme-comp-room-catalog-shadow-alpha, 0.06) + 0.04));
}

@media (min-width: 768px) {
  .lodging-catalog-card {
    border-radius: var(--theme-comp-room-catalog-card-radius, var(--layout-radius, 12px));
  }
}
.lodging-catalog-card__media {
  display: block;
  position: relative;
  aspect-ratio: var(--theme-comp-room-catalog-image-aspect-mobile, var(--theme-comp-room-catalog-image-aspect, 4/3));
  overflow: hidden;
  border-radius: var(--theme-comp-room-catalog-card-radius-mobile, var(--theme-comp-room-catalog-card-radius, var(--layout-radius, 12px))) var(--theme-comp-room-catalog-card-radius-mobile, var(--theme-comp-room-catalog-card-radius, var(--layout-radius, 12px))) 0 0;
  background: var(--color-surface-strong, #f1efec);
}

@media (min-width: 768px) {
  .lodging-catalog-card__media {
    aspect-ratio: var(--theme-comp-room-catalog-image-aspect, 4/3);
    border-radius: var(--theme-comp-room-catalog-card-radius, var(--layout-radius, 12px)) var(--theme-comp-room-catalog-card-radius, var(--layout-radius, 12px)) 0 0;
  }
}
.home-section--room-catalog,
.home-section--room-catalog-carousel {
  --room-types-tile-shadow-inset-y: clamp(8px, 1.2vw, 14px);
  --room-types-tile-shadow-inset-x: clamp(6px, 1vw, 12px);
  overflow: visible;
}

.home-section--room-catalog .lodging-catalog-grid {
  overflow: visible;
  padding-block: var(--room-types-tile-shadow-inset-y);
  margin-block: calc(-1 * var(--room-types-tile-shadow-inset-y));
}

.home-section--room-catalog .lodging-catalog-grid > [role=listitem] {
  padding-inline: var(--room-types-tile-shadow-inset-x);
}

.home-section--room-catalog-carousel .lodging-catalog-carousel__track {
  overflow-x: auto;
  overflow-y: visible;
  padding-block: var(--room-types-tile-shadow-inset-y);
  margin-block: calc(-1 * var(--room-types-tile-shadow-inset-y));
  scroll-padding-block: var(--room-types-tile-shadow-inset-y);
}

.home-section--room-catalog-carousel .lodging-catalog-carousel__slide {
  padding-inline: var(--room-types-tile-shadow-inset-x);
}

.lodging-catalog-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.lodging-catalog-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--color-surface-soft, #fafaf8), var(--color-surface-strong, #f1efec));
}

.lodging-catalog-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.65rem;
  padding: var(--theme-comp-room-catalog-card-padding-mobile, var(--theme-comp-room-catalog-card-padding, 1rem 1rem 1.15rem));
}

@media (min-width: 768px) {
  .lodging-catalog-card__body {
    padding: var(--theme-comp-room-catalog-card-padding, 1.1rem 1.15rem 1.25rem);
  }
}
.lodging-catalog-card__title {
  margin: 0;
  font-size: var(--theme-comp-room-catalog-title-font-size-mobile, 1.02rem);
  font-weight: var(--theme-comp-room-catalog-title-font-weight, 600);
  line-height: 1.3;
}
.lodging-catalog-card__title a {
  color: inherit;
  text-decoration: none;
}
.lodging-catalog-card__title a:hover, .lodging-catalog-card__title a:focus-visible {
  color: var(--color-secondary, #a29061);
}

.lodging-catalog-card__residence {
  margin: 0.2rem 0 0;
}

@media (min-width: 768px) {
  .lodging-catalog-card__title {
    font-size: var(--theme-comp-room-catalog-title-font-size, 1.08rem);
  }
}
.lodging-catalog-card__meta {
  margin: 0;
}

.lodging-catalog-card__cta {
  margin-top: auto;
  align-self: flex-start;
  width: var(--theme-comp-room-catalog-cta-width-mobile, 100%);
  text-align: center;
}

@media (min-width: 768px) {
  .lodging-catalog-card__cta {
    width: var(--theme-comp-room-catalog-cta-width, auto);
    text-align: inherit;
  }
}
.cms-c-story {
  display: grid;
}

.cms-c-story--gap-md {
  gap: 3rem;
}

.cms-c-story--gap-lg {
  gap: 4.5rem;
}

.cms-c-story--gap-xl {
  gap: 6rem;
}

.cms-c-story__block {
  display: grid;
  gap: 1.6rem;
  align-items: center;
}

/* mobile: zdjęcie nad tekstem - szybsze skanowanie treści */
.cms-c-story__media {
  order: -1;
}

@media (min-width: 992px) {
  .cms-c-story__block {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(2.5rem, 5vw, 4.5rem);
  }
  .cms-c-story__media {
    order: 0;
  }
  .cms-c-story__block--media-left .cms-c-story__copy {
    order: 2;
  }
  .cms-c-story__block--media-left .cms-c-story__media {
    order: 1;
  }
}
/* ── treść ─────────────────────────────────────────────── */
.cms-c-story__copy {
  max-width: 58ch;
}

@media (min-width: 992px) {
  .cms-c-story__block--media-left .cms-c-story__copy {
    justify-self: start;
  }
  .cms-c-story__block--media-right .cms-c-story__copy {
    justify-self: end;
  }
}
.cms-c-story__kicker {
  display: flex;
  align-items: baseline;
  gap: 0.7rem;
  margin-bottom: 0.65rem;
}
.cms-c-story__kicker:empty {
  display: none;
}

.cms-c-story__num {
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: color-mix(in srgb, var(--color-secondary, #b89a61) 75%, transparent);
  letter-spacing: 0.06em;
}

.cms-c-story__eyebrow {
  margin: 0;
  color: var(--color-secondary, #b89a61);
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.cms-c-story__title {
  position: relative;
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  line-height: 1.15;
  padding-bottom: 0.85rem;
  /* akcent pod tytułem spina rytm bloków */
}
.cms-c-story__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 56px;
  height: 3px;
  border-radius: 2px;
  background: var(--color-secondary, #b89a61);
}

.cms-c-story__text {
  margin-top: 1.1rem;
  color: var(--color-text-muted, #65706a);
  line-height: 1.65;
}
.cms-c-story__text p {
  margin: 0 0 0.85rem;
}
.cms-c-story__text p:last-child {
  margin-bottom: 0;
}

.cms-c-story__cta {
  margin: 1.4rem 0 0;
}

.cms-c-story__link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 600;
  color: var(--color-secondary, #b89a61);
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--color-secondary, #b89a61) 35%, transparent);
  padding-bottom: 0.15rem;
  transition: gap 0.2s ease, border-color 0.2s ease;
}
.cms-c-story__link:hover, .cms-c-story__link:focus-visible {
  gap: 0.75rem;
  border-bottom-color: var(--color-secondary, #b89a61);
}
.cms-c-story__link i {
  font-size: 1.05em;
}

/* ── media / slider ───────────────────────────────────── */
.cms-c-story__media {
  position: relative;
  border-radius: var(--layout-radius, 10px);
  overflow: hidden;
  background: var(--color-surface-strong, #222);
  box-shadow: 0 18px 44px -22px rgba(10, 18, 14, 0.45);
}

.cms-c-story__slider {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.cms-c-story__slider::-webkit-scrollbar {
  display: none;
}
.cms-c-story__slider {
  outline: none;
}

.cms-c-story__slide {
  flex: 0 0 100%;
  width: 100%;
  height: clamp(260px, 42vw, 440px);
  object-fit: cover;
  scroll-snap-align: start;
  display: block;
}

/* opcjonalne stałe proporcje zdjęć (config.imageRatio) - nadpisują domyślną wysokość clamp */
.cms-c-story--ratio-4x3 .cms-c-story__slide {
  height: auto;
  aspect-ratio: 4/3;
}

.cms-c-story--ratio-3x4 .cms-c-story__slide {
  height: auto;
  aspect-ratio: 3/4;
  max-height: 560px;
}

.cms-c-story--ratio-16x9 .cms-c-story__slide {
  height: auto;
  aspect-ratio: 16/9;
}

.cms-c-story--ratio-1x1 .cms-c-story__slide {
  height: auto;
  aspect-ratio: 1/1;
  max-height: 560px;
}

/* proporcje per blok (block.imageRatio) - wygrywają z ustawieniem komponentu (te reguły są niżej w pliku) */
.cms-c-story .cms-c-story__block--ratio-4x3 .cms-c-story__slide {
  height: auto;
  aspect-ratio: 4/3;
  max-height: none;
}

.cms-c-story .cms-c-story__block--ratio-3x4 .cms-c-story__slide {
  height: auto;
  aspect-ratio: 3/4;
  max-height: 560px;
}

.cms-c-story .cms-c-story__block--ratio-16x9 .cms-c-story__slide {
  height: auto;
  aspect-ratio: 16/9;
  max-height: none;
}

.cms-c-story .cms-c-story__block--ratio-1x1 .cms-c-story__slide {
  height: auto;
  aspect-ratio: 1/1;
  max-height: 560px;
}

.cms-c-story__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border: 0;
  border-radius: 50%;
  background: rgba(12, 16, 14, 0.55);
  color: #fff;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.2s ease, background-color 0.2s ease;
}
.cms-c-story__nav:hover, .cms-c-story__nav:focus-visible {
  background: rgba(12, 16, 14, 0.8);
  opacity: 1;
}
.cms-c-story__nav i {
  font-size: 1.15rem;
}

.cms-c-story__nav--prev {
  left: 0.7rem;
}

.cms-c-story__nav--next {
  right: 0.7rem;
}

.cms-c-story__media:hover .cms-c-story__nav,
.cms-c-story__media:focus-within .cms-c-story__nav {
  opacity: 1;
}

.cms-c-story__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.7rem;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 0.45rem;
  pointer-events: none;
}

.cms-c-story__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  pointer-events: auto;
  transition: transform 0.2s ease, background-color 0.2s ease, width 0.2s ease;
}
.cms-c-story__dot.is-active {
  width: 22px;
  border-radius: 5px;
  background: #fff;
}
.cms-c-story__dot:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* ── wejście bloków ─────────────────────────────────────
   JS dodaje .cms-c-story--anim na kontener (więc bez JS nic nie jest ukryte),
   a IntersectionObserver odsłania bloki klasą .is-inview. */
@media (prefers-reduced-motion: no-preference) {
  .cms-c-story--anim .cms-c-story__block {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 0.55s ease, transform 0.55s ease;
  }
  .cms-c-story--anim .cms-c-story__block.is-inview {
    opacity: 1;
    transform: none;
  }
}
.home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .cms-c-booking--live,
.home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .cms-c-booking--live {
  width: 100%;
  margin-inline: auto;
}

.home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .hero-search-bar-wrap.searchbar,
.home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .hero-search-bar-wrap.searchbar {
  margin-block: 0;
  margin-inline: auto;
}

.home-page--cms-builder .cms-section#hero-start,
.home-page--cms-builder .cms-section[id=hero-start] {
  overflow: visible;
}

.home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__content,
.home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__content,
.home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot,
.home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot {
  overflow: visible;
}

.cms-c-booking--live {
  display: grid;
  justify-items: center;
  width: 100%;
}

.cms-c-booking--placed {
  position: var(--cms-booking-position, relative);
  z-index: var(--cms-booking-z, 6);
  top: var(--cms-booking-top, auto);
  bottom: var(--cms-booking-bottom, auto);
  margin-top: var(--cms-booking-mt, 0);
  margin-bottom: var(--cms-booking-mb, 0);
  width: 100%;
}

.cms-c-booking--place-absolute {
  left: 0;
  right: 0;
  width: 100%;
}

.cms-builder-page .cms-section:has(.cms-c-booking--placed),
.cms-builder-page .cms-section__content:has(.cms-c-booking--placed),
.cms-builder-page .cms-section__slot:has(.cms-c-booking--placed),
.cms-builder-page .cms-section__slot-content:has(.cms-c-booking--placed),
.cms-builder-page .cms-section__component:has(.cms-c-booking--placed) {
  overflow: visible;
  position: relative;
}

.cms-builder-page .cms-section__component:has(.cms-c-booking--placed) {
  margin-top: 0;
  margin-bottom: 0;
  z-index: auto;
}

.cms-builder-page .cms-section:has(.cms-c-booking--place-absolute) {
  position: relative;
}

@media (max-width: 991.98px) {
  .cms-c-booking--placed {
    z-index: var(--cms-booking-z-md, var(--cms-booking-z, 6));
    top: var(--cms-booking-top-md, var(--cms-booking-top, auto));
    bottom: var(--cms-booking-bottom-md, var(--cms-booking-bottom, auto));
    margin-top: var(--cms-booking-mt-md, var(--cms-booking-mt, 0));
    margin-bottom: var(--cms-booking-mb-md, var(--cms-booking-mb, 0));
  }
}
@media (max-width: 639.98px) {
  .cms-c-booking--placed {
    z-index: var(--cms-booking-z-sm, var(--cms-booking-z-md, var(--cms-booking-z, 6)));
    top: var(--cms-booking-top-sm, var(--cms-booking-top-md, var(--cms-booking-top, auto)));
    bottom: var(--cms-booking-bottom-sm, var(--cms-booking-bottom-md, var(--cms-booking-bottom, auto)));
    margin-top: var(--cms-booking-mt-sm, var(--cms-booking-mt-md, var(--cms-booking-mt, 0)));
    margin-bottom: var(--cms-booking-mb-sm, var(--cms-booking-mb-md, var(--cms-booking-mb, 0)));
  }
}
.cms-builder-page .cms-section__component:has(.cms-c-booking--live),
.cms-builder-page .cms-section__component:has(.cms-c-booking__search-shell),
.cms-builder-page .cms-section__component:has(.hero-search-bar-wrap.searchbar) {
  display: grid;
  justify-items: center;
  width: 100%;
}

.cms-section__slot-content:has(.hero-search-bar-wrap.searchbar):not(:has(> .cms-section__component)) {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.cms-section:has(.cms-c-booking--live),
.cms-section__content:has(.cms-c-booking--live),
.cms-section__slot:has(.cms-c-booking--live) {
  overflow: visible;
}

.home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__content,
.home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__content {
  display: grid;
  justify-items: center;
  width: 100%;
  gap: clamp(1rem, 2.5vw, 1.75rem);
}

.home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__wrap.container,
.home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__wrap.container {
  width: 100%;
  max-width: 100%;
}

.home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot,
.home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot,
.home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot-content,
.home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot-content,
.home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__component,
.home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__component {
  display: grid;
  justify-items: center;
  width: 100%;
}

.cms-builder-page .category-vibe-split + .cms-section#hero-start .cms-section__wrap.container,
.cms-builder-page .category-vibe-split + .cms-section[id=hero-start] .cms-section__wrap.container {
  padding-left: max(var(--cms-section-spacing-content-pl, var(--cms-section-spacing-content-px, clamp(1rem, 3vw, 2rem))), env(safe-area-inset-left, 0px));
  padding-right: max(var(--cms-section-spacing-content-pr, var(--cms-section-spacing-content-px, clamp(1rem, 3vw, 2rem))), env(safe-area-inset-right, 0px));
}

.home-page--cms-builder .cms-c-stats--hero-nav-tabs {
  width: 100%;
}

.home-page--cms-builder .cms-home-hero-meta__stats .hero-stats.hero-stats--nav-tabs {
  margin: 0;
  padding: 0;
}

.home-page--cms-builder .cms-section#hero-start .cms-c-cta-buttons,
.home-page--cms-builder .cms-section[id=hero-start] .cms-c-cta-buttons,
.home-page--cms-builder .cms-section#hero-start .cms-section__component:has(.cms-c-stats--hero-nav-tabs) + .cms-section__component .cms-c-btn-row,
.home-page--cms-builder .cms-section[id=hero-start] .cms-section__component:has(.cms-c-stats--hero-nav-tabs) + .cms-section__component .cms-c-btn-row {
  margin-top: 0;
}

.cms-c-booking--live .cms-c-booking__search.hero-search-bar-wrap.searchbar {
  margin-inline: auto;
  align-self: center;
}

@media (max-width: 979.98px) {
  .seo-page-hero-booking--flush .cms-c-booking--live .hero-search-bar-wrap.searchbar {
    margin-top: 0;
    margin-bottom: 0;
  }
  .seo-page-hero-booking--flush .cms-c-booking--live .searchbar__strip {
    border-radius: var(--theme-comp-searchbar-radius-tablet, var(--theme-comp-searchbar-radius, var(--layout-radius, 0)));
  }
  .seo-page-hero-booking--flush .cms-c-booking--live .searchbar__search-btn,
  .seo-page-hero-booking--flush .cms-c-booking--live .searchbar__col--auto-grow .searchbar__search-btn {
    border-radius: 0 0 var(--theme-comp-searchbar-btn-radius-tablet, var(--theme-comp-searchbar-radius-tablet, var(--theme-comp-searchbar-radius, var(--layout-radius, 0)))) var(--theme-comp-searchbar-btn-radius-tablet, var(--theme-comp-searchbar-radius-tablet, var(--theme-comp-searchbar-radius, var(--layout-radius, 0))));
  }
}
@media (max-width: 639.98px) {
  .seo-page-hero-booking--flush .cms-c-booking--live .searchbar__strip {
    border-radius: var(--theme-comp-searchbar-radius-mobile, var(--theme-comp-searchbar-radius-tablet, var(--theme-comp-searchbar-radius, var(--layout-radius, 0))));
  }
  .seo-page-hero-booking--flush .cms-c-booking--live .searchbar__search-btn,
  .seo-page-hero-booking--flush .cms-c-booking--live .searchbar__col--auto-grow .searchbar__search-btn {
    border-radius: 0 0 var(--theme-comp-searchbar-btn-radius-mobile, var(--theme-comp-searchbar-radius-mobile, var(--theme-comp-searchbar-radius-tablet, var(--theme-comp-searchbar-radius, var(--layout-radius, 0))))) var(--theme-comp-searchbar-btn-radius-mobile, var(--theme-comp-searchbar-radius-mobile, var(--theme-comp-searchbar-radius-tablet, var(--theme-comp-searchbar-radius, var(--layout-radius, 0)))));
  }
}
.cms-c-hero-slider {
  width: 100%;
}

.cms-c-hero-slider .cms-slider-wrap {
  margin-bottom: 0;
}

.cms-c-hero-slider .cms-slider {
  overflow: hidden;
}

.cms-section__wrap.container-fluid .cms-c-hero-slider .cms-slider {
  border-radius: var(--theme-comp-cms-slider-border-radius, 0);
}

.cms-home-booking-section {
  position: relative;
  z-index: 30;
  overflow: visible;
}
.cms-home-booking-section .cms-section__content,
.cms-home-booking-section .cms-section__slot,
.cms-home-booking-section .cms-section__slot-content,
.cms-home-booking-section .searchbar__form,
.cms-home-booking-section .searchbar__strip {
  overflow: visible;
}
.cms-home-booking-section {
  --cms-section-spacing-pt: clamp(0.5rem, 2vw, 1.25rem);
  --cms-section-spacing-pb: clamp(1rem, 2.5vw, 1.75rem);
}
.cms-home-booking-section .cms-c-booking--live,
.cms-home-booking-section .cms-c-booking__search.hero-search-bar-wrap.searchbar {
  margin-inline: auto;
  align-self: center;
}

@media (max-width: 979.98px) {
  .cms-home-booking-section {
    --cms-section-spacing-pt: 0.25rem;
    --cms-section-spacing-pb: 0.5rem;
    --cms-section-spacing-content-pt: 0;
    --cms-section-spacing-content-pb: 0;
    --cms-section-spacing-content-px: 0;
  }
  .cms-home-booking-section .cms-home-booking-section__wrap {
    max-width: 100%;
    padding-left: max(0.5rem, env(safe-area-inset-left, 0px));
    padding-right: max(0.5rem, env(safe-area-inset-right, 0px));
  }
  .cms-home-booking-section .cms-home-booking-section__grid {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    margin: 0;
  }
  .cms-home-booking-section .cms-section__slot,
  .cms-home-booking-section .cms-section__slot-content {
    padding: 0;
  }
  .cms-home-booking-section .hero-search-bar-wrap.searchbar {
    margin-block: 0;
    margin-inline: auto;
  }
}
@media (min-width: 980px) {
  .cms-home-booking-section .searchbar__strip,
  .seo-page-hero-booking--flush .searchbar__strip,
  .home-page--cms-builder .cms-c-booking--live .searchbar__strip {
    flex-wrap: nowrap;
    align-items: stretch;
  }
  .cms-home-booking-section .searchbar__col--location,
  .seo-page-hero-booking--flush .searchbar__col--location,
  .home-page--cms-builder .cms-section#hero-start .cms-c-booking--live .searchbar__col--location,
  .home-page--cms-builder .cms-section[id=hero-start] .cms-c-booking--live .searchbar__col--location {
    flex: 0 1 14%;
    max-width: 11.5rem;
    min-width: 7.5rem;
  }
  .cms-home-booking-section .searchbar__col--dates,
  .seo-page-hero-booking--flush .searchbar__col--dates,
  .home-page--cms-builder .cms-section#hero-start .cms-c-booking--live .searchbar__col--dates,
  .home-page--cms-builder .cms-section[id=hero-start] .cms-c-booking--live .searchbar__col--dates {
    flex: 1 1 26%;
    min-width: 10.5rem;
    max-width: none;
  }
  .cms-home-booking-section .searchbar__col--guests,
  .seo-page-hero-booking--flush .searchbar__col--guests,
  .home-page--cms-builder .cms-section#hero-start .cms-c-booking--live .searchbar__col--guests,
  .home-page--cms-builder .cms-section[id=hero-start] .cms-c-booking--live .searchbar__col--guests {
    flex: 0 1 13.5rem;
    min-width: 11.5rem;
    max-width: 16rem;
  }
  .cms-home-booking-section .searchbar__col--filters-wrap,
  .seo-page-hero-booking--flush .searchbar__col--filters-wrap,
  .home-page--cms-builder .cms-section#hero-start .cms-c-booking--live .searchbar__col--filters-wrap,
  .home-page--cms-builder .cms-section[id=hero-start] .cms-c-booking--live .searchbar__col--filters-wrap {
    flex: 0 0 auto;
  }
  .cms-home-booking-section .searchbar__col--auto-grow,
  .seo-page-hero-booking--flush .searchbar__col--auto-grow,
  .home-page--cms-builder .cms-section#hero-start .cms-c-booking--live .searchbar__col--auto-grow,
  .home-page--cms-builder .cms-section[id=hero-start] .cms-c-booking--live .searchbar__col--auto-grow {
    flex: 0 0 auto;
    margin-left: auto;
    flex-shrink: 0;
  }
  .cms-home-booking-section .searchbar__search-btn,
  .seo-page-hero-booking--flush .searchbar__search-btn,
  .home-page--cms-builder .cms-section#hero-start .cms-c-booking--live .searchbar__search-btn,
  .home-page--cms-builder .cms-section[id=hero-start] .cms-c-booking--live .searchbar__search-btn {
    min-width: 9.5rem;
    padding-inline: 1rem;
  }
  .cms-home-booking-section .searchbar__strip--compact .searchbar__col,
  .cms-home-booking-section .searchbar__strip--compact .flat-tag,
  .seo-page-hero-booking--flush .searchbar__strip--compact .searchbar__col,
  .seo-page-hero-booking--flush .searchbar__strip--compact .flat-tag,
  .home-page--cms-builder .cms-section#hero-start .cms-c-booking--live .searchbar__strip--compact .searchbar__col,
  .home-page--cms-builder .cms-section#hero-start .cms-c-booking--live .searchbar__strip--compact .flat-tag,
  .home-page--cms-builder .cms-section[id=hero-start] .cms-c-booking--live .searchbar__strip--compact .searchbar__col,
  .home-page--cms-builder .cms-section[id=hero-start] .cms-c-booking--live .searchbar__strip--compact .flat-tag {
    min-height: calc(var(--theme-comp-searchbar-height, 64px) - 2px);
  }
}
.home-page--cms-builder .cms-section#hero-start .cms-section__content,
.home-page--cms-builder .cms-section[id=hero-start] .cms-section__content {
  justify-items: center;
}
.home-page--cms-builder .cms-home-hero-meta__stats {
  width: 100%;
  max-width: min(52rem, 100%);
  margin-inline: auto;
}
.home-page--cms-builder .cms-home-hero-meta__stats .hero-stats.hero-stats--nav-tabs {
  list-style: none;
  margin: 0;
  padding: 0.35rem;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 0.35rem;
  border-radius: 999px;
  border: 1px solid var(--color-border);
  background: color-mix(in srgb, var(--color-surface) 88%, var(--color-surface-soft));
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 70%, transparent), 0 10px 32px rgba(var(--color-shadow-rgb, 17, 24, 39), 0.07);
}
.home-page--cms-builder .cms-home-hero-meta__stats .hero-stats.hero-stats--nav-tabs .hero-stat {
  margin: 0;
  flex: 1 1 auto;
  min-width: min(7.5rem, 42vw);
}
.home-page--cms-builder .cms-home-hero-meta__stats .hero-stats.hero-stats--nav-tabs .hero-stat__link {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  min-height: 2.85rem;
  padding: 0.42rem 0.8rem;
  text-align: center;
  text-decoration: none;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--color-text);
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.home-page--cms-builder .cms-home-hero-meta__stats .hero-stats.hero-stats--nav-tabs .hero-stat__link:hover {
  background: color-mix(in srgb, var(--color-secondary) 9%, var(--color-surface));
  border-color: color-mix(in srgb, var(--color-secondary) 24%, var(--color-border)) !important;
  color: var(--color-text);
  text-decoration: none;
}
.home-page--cms-builder .cms-home-hero-meta__stats .hero-stats.hero-stats--nav-tabs .hero-stat__link.is-active {
  color: var(--color-on-secondary, #fff);
  font-weight: 750;
  background: linear-gradient(135deg, var(--color-secondary), color-mix(in srgb, var(--color-secondary) 72%, var(--color-primary)));
  border-color: color-mix(in srgb, var(--color-secondary) 55%, transparent) !important;
}
.home-page--cms-builder .cms-home-hero-meta__stats .hero-stats.hero-stats--nav-tabs .hero-stat__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  font-size: 0.95rem;
  border-radius: calc(var(--layout-radius, 8px) * 0.85);
  flex-shrink: 0;
  color: rgb(var(--color-primary-rgb));
  background: color-mix(in srgb, rgb(var(--color-primary-rgb)) 12%, var(--color-surface));
  border: 1px solid color-mix(in srgb, rgb(var(--color-primary-rgb)) 18%, var(--color-border));
}
.home-page--cms-builder .cms-home-hero-meta__stats .hero-stats.hero-stats--nav-tabs .hero-stat__link.is-active .hero-stat__icon {
  color: var(--color-on-secondary, #fff);
  background: color-mix(in srgb, #fff 16%, transparent);
  border-color: color-mix(in srgb, #fff 28%, transparent);
}
.home-page--cms-builder .cms-home-hero-meta__stats .hero-stats.hero-stats--nav-tabs .hero-stat__value {
  font-size: 0.9375rem;
  font-weight: 650;
  color: inherit;
}
.home-page--cms-builder .cms-home-hero-meta__stats .hero-stats.hero-stats--nav-tabs .hero-stat__label {
  font-size: 0.62rem;
  font-weight: 600;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-text-muted);
  flex-basis: 100%;
  order: 3;
}
.home-page--cms-builder .cms-home-hero-meta__stats .hero-stats.hero-stats--nav-tabs .hero-stat__link.is-active .hero-stat__label {
  color: color-mix(in srgb, var(--color-on-secondary, #fff) 85%, transparent);
}
.home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot-content,
.home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot-content {
  gap: var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-hero-meta-slot-gap, var(--theme-comp-cms-component-slot-gap, clamp(1rem, 2.5vw, 1.5rem))));
}
@media (max-width: 991.98px) {
  .home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot-content,
  .home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot-content {
    gap: var(--cms-section-spacing-slot-gap-md, var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-hero-meta-slot-gap, var(--theme-comp-cms-component-slot-gap, clamp(1rem, 2.2vw, 1.35rem)))));
  }
}
@media (max-width: 639.98px) {
  .home-page--cms-builder .cms-section#hero-start:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot-content,
  .home-page--cms-builder .cms-section[id=hero-start]:not(.cms-home__hero):not(.rentilo-home__hero) .cms-section__slot-content {
    gap: var(--cms-section-spacing-slot-gap-sm, var(--cms-section-spacing-slot-gap-md, var(--cms-section-spacing-slot-gap, var(--theme-comp-cms-hero-meta-slot-gap, var(--theme-comp-cms-component-slot-gap, clamp(0.85rem, 3vw, 1.25rem))))));
  }
}
.home-page--cms-builder .cms-section#hero-start .cms-c-cta-buttons,
.home-page--cms-builder .cms-section[id=hero-start] .cms-c-cta-buttons,
.home-page--cms-builder .cms-section#hero-start .cms-section__component .cms-c-btn-row,
.home-page--cms-builder .cms-section[id=hero-start] .cms-section__component .cms-c-btn-row {
  width: 100%;
  max-width: min(52rem, 100%);
  margin-inline: auto;
  justify-content: center;
}

.seo-page-hero--flush {
  width: 100%;
  max-width: 100%;
  margin-left: calc(50% - 50vw + (100vw - 100%) / 2);
  margin-right: calc(50% - 50vw + (100vw - 100%) / 2);
  overflow: visible;
}

.seo-page-hero--flush .cms-slider-wrap {
  margin-bottom: 0 !important;
  overflow: visible;
}

.seo-page-hero--flush .cms-slider-wrap--responsive-heights {
  min-height: var(--cms-slider-min-h-sm, 320px);
}
@media (min-width: 768px) {
  .seo-page-hero--flush .cms-slider-wrap--responsive-heights {
    min-height: var(--cms-slider-min-h-md, 480px);
  }
}

.site-body--header-fixed .seo-page-hero--flush .cms-slider-wrap--responsive-heights {
  min-height: calc(var(--cms-slider-min-h-sm, 320px) - var(--site-header-fixed-offset, 0px));
}
@media (min-width: 768px) {
  .site-body--header-fixed .seo-page-hero--flush .cms-slider-wrap--responsive-heights {
    min-height: calc(var(--cms-slider-min-h-md, 480px) - var(--site-header-fixed-offset, 0px));
  }
}

.seo-page-hero--flush .cms-slider {
  height: 100%;
  min-height: inherit;
  overflow: visible;
}

@media (min-width: 768px) {
  .seo-page-hero--flush .cms-slider-nav {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    z-index: 6;
    width: var(--theme-comp-cms-hero-slider-nav-size, 2.75rem);
    height: var(--theme-comp-cms-hero-slider-nav-size, 2.75rem);
    font-size: 1.35rem;
    line-height: 1;
    pointer-events: auto;
  }
  .seo-page-hero--flush .cms-slider-nav.is-prev {
    left: var(--theme-comp-cms-hero-slider-nav-offset-inline, clamp(1.25rem, 3.5vw, 3rem));
    right: auto;
  }
  .seo-page-hero--flush .cms-slider-nav.is-next {
    right: var(--theme-comp-cms-hero-slider-nav-offset-inline, clamp(1.25rem, 3.5vw, 3rem));
    left: auto;
  }
}
.home-page--cms-builder.seo-cms-page .cms-slider-overlay-inner .cms-c-hero__eyebrow {
  margin-bottom: 1.125rem;
  color: var(--theme-comp-cms-hero-slider-eyebrow-color, var(--color-secondary));
  font-size: var(--theme-comp-cms-hero-slider-eyebrow-font-size, 0.86rem);
  font-family: var(--theme-comp-cms-hero-slider-eyebrow-font-family, inherit);
  font-weight: var(--theme-comp-cms-hero-slider-eyebrow-font-weight, 700);
  letter-spacing: var(--theme-comp-cms-hero-slider-eyebrow-letter-spacing, normal);
  text-transform: var(--theme-comp-cms-hero-slider-eyebrow-text-transform, uppercase);
}
.home-page--cms-builder.seo-cms-page .cms-slider-overlay-inner h1 {
  color: var(--theme-comp-cms-hero-slider-title-color, var(--cms-slider-title-color, #fff));
  font-size: var(--theme-comp-cms-hero-slider-title-font-size, clamp(2.25rem, 5vw, 4rem));
  font-family: var(--theme-comp-cms-hero-slider-title-font-family, var(--font-family-heading));
  font-weight: var(--theme-comp-cms-hero-slider-title-font-weight, 400);
  line-height: var(--theme-comp-cms-hero-slider-title-line-height, 1.12);
  letter-spacing: var(--theme-comp-cms-hero-slider-title-letter-spacing, normal);
  text-transform: var(--theme-comp-cms-hero-slider-title-text-transform, none);
  max-width: var(--theme-comp-cms-hero-slider-title-max-width, 760px);
}
.home-page--cms-builder.seo-cms-page .cms-slider-overlay-inner p:not(.cms-c-hero__eyebrow),
.home-page--cms-builder.seo-cms-page .cms-slider-overlay-inner .lead {
  color: var(--theme-comp-cms-hero-slider-text-color, var(--cms-slider-subtitle-color, inherit));
  font-size: var(--theme-comp-cms-hero-slider-text-font-size, inherit);
  font-family: var(--theme-comp-cms-hero-slider-text-font-family, inherit);
  font-weight: var(--theme-comp-cms-hero-slider-text-font-weight, inherit);
  line-height: var(--theme-comp-cms-hero-slider-text-line-height, inherit);
  letter-spacing: var(--theme-comp-cms-hero-slider-text-letter-spacing, normal);
}

.seo-page-hero--flush .cms-slider-track,
.seo-page-hero--flush .cms-slide.is-active,
.seo-page-hero--flush .cms-slide-media--fill {
  min-height: inherit;
  height: 100%;
}

.seo-page-hero--flush .cms-slide-media--fill {
  position: absolute;
  inset: 0;
}

.seo-page-hero--flush .cms-slide {
  min-height: inherit;
}

.home-page--hero-booking-in-slider .seo-page-hero--flush .cms-slider {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.home-page--hero-booking-in-slider .seo-page-hero--flush .cms-slider-overlay--top-left,
.home-page--hero-booking-in-slider .seo-page-hero--flush .cms-slider-overlay--top-center,
.home-page--hero-booking-in-slider .seo-page-hero--flush .cms-slider-overlay--top-right {
  align-items: flex-start;
  padding-bottom: 0;
}

.cms-slider-booking--inside {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  z-index: 9;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 max(clamp(1rem, 3vw, 2.5rem), env(safe-area-inset-right, 0px)) max(clamp(1.25rem, 3.5vw, 2.75rem), env(safe-area-inset-bottom, 0px)) max(clamp(1rem, 3vw, 2.5rem), env(safe-area-inset-left, 0px));
  pointer-events: none;
}

.cms-slider-booking--inside .cms-slider-booking__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(13, 18, 16, 0) 0%, rgba(13, 18, 16, 0.55) 42%, rgba(13, 18, 16, 0.82) 100%);
  pointer-events: none;
}

.cms-slider-booking--inside .cms-slider-booking__inner {
  position: relative;
  z-index: 1;
  width: min(1100px, 100%);
  pointer-events: auto;
}

.home-page--hero-booking-in-slider .cms-slider-booking--inside .hero-search-bar-wrap.searchbar {
  margin: 0;
  width: 100%;
  max-width: none;
}

.home-page--hero-booking-in-slider .cms-slider-booking--inside .searchbar__strip {
  box-shadow: 0 18px 48px rgba(8, 12, 10, 0.28);
}

@media (max-width: 767.98px) {
  .home-page--hero-booking-in-slider .seo-page-hero--flush .cms-slide-overlay,
  .home-page--hero-booking-in-slider .seo-page-hero--flush .cms-slider-overlay {
    padding-bottom: calc(7.5rem + env(safe-area-inset-bottom, 0px));
  }
  .cms-slider-booking--inside {
    padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
  }
}
.seo-page-hero-booking--flush {
  /* Desktop: pasek wyjęty z flow (absolute) - nachodzi na hero i na sekcję pod spodem.
     top:auto = pozycja statyczna (zaraz pod hero), margin -2rem podciąga go na hero. */
  position: absolute;
  left: 0;
  right: 0;
  z-index: 12;
  width: auto;
  max-width: none;
  margin: -2rem 0 0;
  padding: 0 var(--cms-home-section-px, clamp(1rem, 4vw, 2.75rem));
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 991.98px) {
  .seo-page-hero-booking--flush {
    padding-left: max(var(--cms-home-section-px, 1rem), env(safe-area-inset-left, 0px));
    padding-right: max(var(--cms-home-section-px, 1rem), env(safe-area-inset-right, 0px));
  }
}
.seo-page-hero-booking--flush {
  /* Tablet/telefon: pasek jest wielowierszową siatką (dużo wyższy) - wraca do flow. */
}
@media (max-width: 979.98px) {
  .seo-page-hero-booking--flush {
    position: relative;
    left: auto;
    right: auto;
    width: 100%;
    margin: -1.35rem auto 0;
  }
}
@media (max-width: 640px) {
  .seo-page-hero-booking--flush {
    margin-top: -1rem;
  }
}

/* Kontekst pozycjonowania dla absolutnego paska (gość; w trybie edycji admina
   najbliższym przodkiem jest wrapper strefy edycji - ten sam efekt). */
main.home-page {
  position: relative;
}

/* Pierwsza sekcja wchodzi pod absolutny pasek - zachowujemy jej górny odstęp:
   widoczna pod hero część paska = wysokość paska (token motywu) minus 2rem nakładki na hero. */
@media (min-width: 980px) {
  main.home-page.home-page--flush-booking > section:first-of-type,
  main.home-page:has(.seo-page-hero-booking--flush) > section:first-of-type {
    margin-top: var(--theme-comp-cms-hero-post-section-offset, calc(var(--theme-comp-searchbar-height, 64px) - 2rem));
  }
}
.seo-page-hero-booking--flush .cms-c-booking--live {
  width: 100%;
  max-width: min(var(--layout-max-width, 1600px), 100%);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.seo-page-hero-booking--flush .cms-c-booking__search.hero-search-bar-wrap.searchbar {
  margin-inline: auto;
  align-self: center;
}

.seo-page-hero-booking--flush .hero-search-bar-wrap.searchbar {
  margin-top: 0;
  margin-bottom: 0;
}

.seo-page-hero--flush .cms-slider-overlay--bottom-center,
.seo-page-hero--flush .cms-slider-overlay--bottom-left,
.seo-page-hero--flush .cms-slider-overlay--bottom-right {
  padding-bottom: 0;
}

@media (max-width: 767.98px) {
  .seo-page-hero--flush {
    margin-left: 0;
    margin-right: 0;
    overflow-x: clip;
  }
  .seo-page-hero--flush .cms-slider-nav {
    display: none !important;
  }
  .seo-page-hero--flush .cms-slider-wrap {
    margin-bottom: 0 !important;
  }
  .seo-page-hero--flush .cms-slide-overlay,
  .seo-page-hero--flush .cms-slider-overlay {
    padding: calc(env(safe-area-inset-top, 0px) + var(--site-header-sticky-offset, 4.75rem) + 0.35rem) max(1rem, env(safe-area-inset-right, 0px)) calc(5.25rem + env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px));
  }
  .seo-page-hero--flush .cms-slider-overlay-inner,
  .seo-page-hero--flush .cms-slide-overlay-inner {
    max-width: 100%;
    width: 100%;
  }
  .seo-page-hero--flush .cms-slider-overlay-inner h1,
  .seo-page-hero--flush .cms-slide-overlay-inner h1 {
    font-size: var(--theme-comp-cms-hero-slider-title-font-size, clamp(1.55rem, 6.2vw, 2.1rem));
    line-height: var(--theme-comp-cms-hero-slider-title-line-height, 1.12);
    max-width: none;
  }
  .seo-page-hero--flush .cms-slider-overlay-inner .cms-c-hero__eyebrow,
  .seo-page-hero--flush .cms-slide-overlay-inner .cms-c-hero__eyebrow {
    font-size: var(--theme-comp-cms-hero-slider-eyebrow-font-size, 0.75rem);
    margin-bottom: 0.5rem;
  }
  .seo-page-hero--flush .cms-slider-overlay-inner p:not(.cms-c-hero__eyebrow),
  .seo-page-hero--flush .cms-slide-overlay-inner p:not(.cms-c-hero__eyebrow) {
    font-size: var(--theme-comp-cms-hero-slider-text-font-size, 0.9rem);
    line-height: var(--theme-comp-cms-hero-slider-text-line-height, 1.45);
  }
  .seo-page-hero--flush .cms-slider-overlay-inner .cms-c-btn-row,
  .seo-page-hero--flush .cms-slide-overlay-inner .cms-c-btn-row {
    margin-top: 1rem;
    gap: 0.5rem;
  }
  .seo-page-hero-booking--flush {
    margin-top: -4.25rem;
  }
  .seo-page-hero-booking--flush .hero-search-bar-wrap.searchbar {
    margin: 0 auto 0.85rem;
    width: 100%;
    max-width: none;
  }
  .cms-slide-overlay.cms-slide-overlay-mobile--top-left {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
  .cms-slide-overlay.cms-slide-overlay-mobile--top-center {
    align-items: flex-start;
    justify-content: center;
    text-align: center;
  }
  .cms-slide-overlay.cms-slide-overlay-mobile--top-right {
    align-items: flex-start;
    justify-content: flex-end;
    text-align: right;
  }
  .cms-slide-overlay.cms-slide-overlay-mobile--middle-left {
    align-items: center;
    justify-content: flex-start;
    text-align: left;
  }
  .cms-slide-overlay.cms-slide-overlay-mobile--center {
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .cms-slide-overlay.cms-slide-overlay-mobile--middle-right {
    align-items: center;
    justify-content: flex-end;
    text-align: right;
  }
  .cms-slide-overlay.cms-slide-overlay-mobile--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
    text-align: left;
  }
  .cms-slide-overlay.cms-slide-overlay-mobile--bottom-center {
    align-items: flex-end;
    justify-content: center;
    text-align: center;
  }
  .cms-slide-overlay.cms-slide-overlay-mobile--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
    text-align: right;
  }
  .cms-slider-overlay.cms-slider-overlay-mobile--top-left {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
  .cms-slider-overlay.cms-slider-overlay-mobile--top-center {
    align-items: flex-start;
    justify-content: center;
    text-align: center;
  }
  .cms-slider-overlay.cms-slider-overlay-mobile--top-right {
    align-items: flex-start;
    justify-content: flex-end;
    text-align: right;
  }
  .cms-slider-overlay.cms-slider-overlay-mobile--middle-left {
    align-items: center;
    justify-content: flex-start;
    text-align: left;
  }
  .cms-slider-overlay.cms-slider-overlay-mobile--center {
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .cms-slider-overlay.cms-slider-overlay-mobile--middle-right {
    align-items: center;
    justify-content: flex-end;
    text-align: right;
  }
  .cms-slider-overlay.cms-slider-overlay-mobile--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
    text-align: left;
  }
  .cms-slider-overlay.cms-slider-overlay-mobile--bottom-center {
    align-items: flex-end;
    justify-content: center;
    text-align: center;
  }
  .cms-slider-overlay.cms-slider-overlay-mobile--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
    text-align: right;
  }
  .seo-page-hero--flush .cms-slide-overlay.cms-slide-overlay-mobile--top-left {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
  .seo-page-hero--flush .cms-slide-overlay.cms-slide-overlay-mobile--top-center {
    align-items: flex-start;
    justify-content: center;
    text-align: center;
  }
  .seo-page-hero--flush .cms-slide-overlay.cms-slide-overlay-mobile--top-right {
    align-items: flex-start;
    justify-content: flex-end;
    text-align: right;
  }
  .seo-page-hero--flush .cms-slide-overlay.cms-slide-overlay-mobile--middle-left {
    align-items: center;
    justify-content: flex-start;
    text-align: left;
  }
  .seo-page-hero--flush .cms-slide-overlay.cms-slide-overlay-mobile--center {
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .seo-page-hero--flush .cms-slide-overlay.cms-slide-overlay-mobile--middle-right {
    align-items: center;
    justify-content: flex-end;
    text-align: right;
  }
  .seo-page-hero--flush .cms-slide-overlay.cms-slide-overlay-mobile--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
    text-align: left;
  }
  .seo-page-hero--flush .cms-slide-overlay.cms-slide-overlay-mobile--bottom-center {
    align-items: flex-end;
    justify-content: center;
    text-align: center;
  }
  .seo-page-hero--flush .cms-slide-overlay.cms-slide-overlay-mobile--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
    text-align: right;
  }
  .seo-page-hero--flush .cms-slider-overlay.cms-slider-overlay-mobile--top-left {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }
  .seo-page-hero--flush .cms-slider-overlay.cms-slider-overlay-mobile--top-center {
    align-items: flex-start;
    justify-content: center;
    text-align: center;
  }
  .seo-page-hero--flush .cms-slider-overlay.cms-slider-overlay-mobile--top-right {
    align-items: flex-start;
    justify-content: flex-end;
    text-align: right;
  }
  .seo-page-hero--flush .cms-slider-overlay.cms-slider-overlay-mobile--middle-left {
    align-items: center;
    justify-content: flex-start;
    text-align: left;
  }
  .seo-page-hero--flush .cms-slider-overlay.cms-slider-overlay-mobile--center {
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .seo-page-hero--flush .cms-slider-overlay.cms-slider-overlay-mobile--middle-right {
    align-items: center;
    justify-content: flex-end;
    text-align: right;
  }
  .seo-page-hero--flush .cms-slider-overlay.cms-slider-overlay-mobile--bottom-left {
    align-items: flex-end;
    justify-content: flex-start;
    text-align: left;
  }
  .seo-page-hero--flush .cms-slider-overlay.cms-slider-overlay-mobile--bottom-center {
    align-items: flex-end;
    justify-content: center;
    text-align: center;
  }
  .seo-page-hero--flush .cms-slider-overlay.cms-slider-overlay-mobile--bottom-right {
    align-items: flex-end;
    justify-content: flex-end;
    text-align: right;
  }
}
@media (max-width: 767.98px) {
  .home-page--cms-builder .cms-c-hero-slider .cms-slider-nav,
  .home-page--cms-builder .hero-home-slider-nav {
    display: none !important;
  }
}
.hs-text-enter {
  --hs-text-enter-duration: 0.65s;
  --hs-text-enter-delay: 0s;
  --hs-text-enter-distance: 1.5rem;
  --hs-text-enter-easing: ease-out;
  --hs-text-enter-stagger: 0.08s;
}

.hs-text-enter .cms-slider-overlay-inner,
.hs-text-enter .cms-slide-overlay-inner {
  transition: opacity var(--hs-text-enter-duration) var(--hs-text-enter-easing) var(--hs-text-enter-delay), transform var(--hs-text-enter-duration) var(--hs-text-enter-easing) var(--hs-text-enter-delay), filter var(--hs-text-enter-duration) var(--hs-text-enter-easing) var(--hs-text-enter-delay);
}

.hs-text-enter:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  opacity: 0;
}

.hs-text-enter.hs-text-enter-visible .cms-slider-overlay-inner,
.hs-text-enter.hs-text-enter-visible .cms-slide-overlay-inner {
  opacity: 1;
  transform: none;
  filter: none;
}

.hs-text-enter--fade-in:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--fade-in:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: none;
}

.hs-text-enter--fade-up:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--fade-up:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: translateY(var(--hs-text-enter-distance));
}

.hs-text-enter--fade-down:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--fade-down:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: translateY(calc(var(--hs-text-enter-distance) * -1));
}

.hs-text-enter--fade-left:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--fade-left:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: translateX(var(--hs-text-enter-distance));
}

.hs-text-enter--fade-right:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--fade-right:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: translateX(calc(var(--hs-text-enter-distance) * -1));
}

.hs-text-enter--slide-up:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--slide-up:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: translateY(calc(var(--hs-text-enter-distance) * 1.35));
}

.hs-text-enter--slide-down:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--slide-down:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: translateY(calc(var(--hs-text-enter-distance) * -1.35));
}

.hs-text-enter--slide-left:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--slide-left:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: translateX(calc(var(--hs-text-enter-distance) * 1.35));
}

.hs-text-enter--slide-right:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--slide-right:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: translateX(calc(var(--hs-text-enter-distance) * -1.35));
}

.hs-text-enter--zoom-in:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--zoom-in:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: scale(0.88);
}

.hs-text-enter--zoom-out:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--zoom-out:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: scale(1.12);
}

.hs-text-enter--blur-in:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--blur-in:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  filter: blur(8px);
  transform: scale(1.02);
}

.hs-text-enter--flip-up:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--flip-up:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: perspective(900px) rotateX(12deg) translateY(var(--hs-text-enter-distance));
  transform-origin: 50% 100%;
}

.hs-text-enter--bounce-in:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--bounce-in:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  transform: translateY(var(--hs-text-enter-distance)) scale(0.94);
}

.hs-text-enter--reveal-up:not(.hs-text-enter-visible) .cms-slider-overlay-inner,
.hs-text-enter--reveal-up:not(.hs-text-enter-visible) .cms-slide-overlay-inner {
  clip-path: inset(100% 0 0 0);
  transform: translateY(0.35rem);
}

.hs-text-enter--stagger .cms-slider-overlay-inner > :is(h1, h2, h3, h4, p, ul, ol, .cms-c-btn-row, .cms-c-btn, .btn, li),
.hs-text-enter--stagger .cms-slide-overlay-inner > :is(h1, h2, h3, h4, p, ul, ol, .cms-c-btn-row, .cms-c-btn, .btn, li) {
  transition: opacity var(--hs-text-enter-duration) var(--hs-text-enter-easing), transform var(--hs-text-enter-duration) var(--hs-text-enter-easing);
}

.hs-text-enter--stagger:not(.hs-text-enter-visible) .cms-slider-overlay-inner > :is(h1, h2, h3, h4, p, ul, ol, .cms-c-btn-row, .cms-c-btn, .btn, li),
.hs-text-enter--stagger:not(.hs-text-enter-visible) .cms-slide-overlay-inner > :is(h1, h2, h3, h4, p, ul, ol, .cms-c-btn-row, .cms-c-btn, .btn, li) {
  opacity: 0;
  transform: translateY(calc(var(--hs-text-enter-distance) * 0.65));
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :is(h1, h2, h3, h4, p, ul, ol, .cms-c-btn-row, .cms-c-btn, .btn, li),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :is(h1, h2, h3, h4, p, ul, ol, .cms-c-btn-row, .cms-c-btn, .btn, li) {
  opacity: 1;
  transform: none;
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(1),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(1) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 0);
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(2),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(2) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 1);
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(3),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(3) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 2);
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(4),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(4) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 3);
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(5),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(5) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 4);
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(6),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(6) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 5);
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(7),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(7) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 6);
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(8),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(8) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 7);
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(9),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(9) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 8);
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(10),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(10) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 9);
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(11),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(11) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 10);
}

.hs-text-enter--stagger.hs-text-enter-visible .cms-slider-overlay-inner > :nth-child(12),
.hs-text-enter--stagger.hs-text-enter-visible .cms-slide-overlay-inner > :nth-child(12) {
  transition-delay: calc(var(--hs-text-enter-delay) + var(--hs-text-enter-stagger) * 11);
}

@media (prefers-reduced-motion: reduce) {
  .hs-text-enter .cms-slider-overlay-inner,
  .hs-text-enter .cms-slide-overlay-inner,
  .hs-text-enter--stagger .cms-slider-overlay-inner > *,
  .hs-text-enter--stagger .cms-slide-overlay-inner > * {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
  }
}
.hs-text-enter-fields__preview-box {
  position: relative;
  min-height: 5.5rem;
  padding: 0.85rem 1rem;
  border-radius: 0.55rem;
  background: linear-gradient(135deg, #64748b 0%, #334155 100%);
  overflow: hidden;
}

.hs-text-enter-fields__preview-line {
  display: block;
  color: #fff;
  opacity: 0;
  transform: translateY(0.75rem);
  transition: opacity var(--hs-text-enter-duration, 0.65s) var(--hs-text-enter-easing, ease-out), transform var(--hs-text-enter-duration, 0.65s) var(--hs-text-enter-easing, ease-out);
}

.hs-text-enter-fields__preview-line--1 {
  font-weight: 700;
  font-size: 1rem;
  margin-bottom: 0.35rem;
}

.hs-text-enter-fields__preview-line--2 {
  font-size: 0.8125rem;
  opacity: 0;
  margin-bottom: 0.5rem;
}

.hs-text-enter-fields__preview-line--3 {
  display: inline-block;
  font-size: 0.75rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
}

.hs-text-enter-fields__preview-box.is-preview-playing .hs-text-enter-fields__preview-line {
  opacity: 1;
  transform: none;
}

.hs-text-enter-fields__preview-box.is-preview-playing .hs-text-enter-fields__preview-line--1 {
  transition-delay: var(--hs-text-enter-delay, 0.12s);
}

.hs-text-enter-fields__preview-box.is-preview-playing .hs-text-enter-fields__preview-line--2 {
  transition-delay: calc(var(--hs-text-enter-delay, 0.12s) + var(--hs-text-enter-stagger, 0.08s));
}

.hs-text-enter-fields__preview-box.is-preview-playing .hs-text-enter-fields__preview-line--3 {
  transition-delay: calc(var(--hs-text-enter-delay, 0.12s) + var(--hs-text-enter-stagger, 0.08s) * 2);
}

.cms-c-vhero {
  position: relative;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border-radius: var(--layout-radius, 8px);
  min-height: 60vh;
  color: #fff;
  isolation: isolate;
}

.cms-c-vhero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  min-height: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.cms-c-vhero--h-sm {
  min-height: 42vh;
}

.cms-c-vhero--h-md {
  min-height: 52vh;
}

.cms-c-vhero--h-lg {
  min-height: 72vh;
}

.cms-c-vhero--align-center {
  align-items: center;
  text-align: center;
}

.cms-c-vhero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.cms-c-vhero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(15, 23, 42, var(--cms-vhero-overlay, 0.5));
  pointer-events: none;
}

.cms-c-vhero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 760px;
  padding: 2rem 1.25rem;
  margin: 0 auto;
}

@media (max-width: 639.98px) {
  .cms-c-vhero__inner {
    padding: 1.35rem 1rem 1.5rem;
  }
}
.cms-c-vhero--align-start .cms-c-vhero__inner {
  margin-inline: 0;
}

.cms-c-vhero__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.9;
}

.cms-c-vhero__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(2rem, 6vw, 3.6rem);
  line-height: 1.05;
}

/* Lead video hero - te same pola panelu co hero CMS (Wygląd → Komponenty → Hero CMS) */
.cms-c-vhero__lead {
  max-width: var(--theme-comp-cms-hero-lead-max-width, none);
  margin: var(--theme-comp-cms-hero-lead-margin-top, 1rem) 0 0;
  color: var(--theme-comp-cms-hero-lead-color, inherit);
  font-size: var(--theme-comp-cms-hero-lead-font-size, clamp(1rem, 2.4vw, 1.2rem));
  line-height: var(--theme-comp-cms-hero-lead-line-height, 1.55);
  font-weight: var(--theme-comp-cms-hero-lead-font-weight, inherit);
  opacity: 0.95;
}

.cms-c-vhero .cms-c-btn-row {
  margin-top: 1.5rem;
}

.cms-c-vhero--align-center .cms-c-btn-row {
  justify-content: center;
}

@media (prefers-reduced-motion: reduce) {
  .cms-c-vhero__bg {
    animation: none;
  }
}
.cms-c-vgal__head {
  max-width: 680px;
  margin: 0 auto 2rem;
  text-align: center;
}

.cms-c-vgal__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  line-height: 1.15;
}

.cms-c-vgal__lead {
  margin: 0.85rem 0 0;
  color: var(--color-text-muted, #65706a);
}

.cms-c-vgal__grid {
  display: grid;
  grid-template-columns: repeat(var(--cms-cols-base, 1), minmax(0, 1fr));
  gap: 0.9rem;
}

@media (min-width: 768px) {
  .cms-c-vgal__grid {
    grid-template-columns: repeat(var(--cms-cols-md, 3), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-vgal__grid {
    grid-template-columns: repeat(var(--cms-cols-lg, 4), minmax(0, 1fr));
  }
}
.cms-c-vgal__cell {
  margin: 0;
}

.cms-c-vgal__video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--layout-radius, 8px);
  background: #000;
  object-fit: cover;
}
.cms-c-vgal__video::-webkit-media-controls, .cms-c-vgal__video::-webkit-media-controls-enclosure {
  display: none !important;
}

.cms-c-vgal--portrait .cms-c-vgal__video {
  aspect-ratio: 9/16;
}

.cms-c-vgal--landscape .cms-c-vgal__video {
  aspect-ratio: 16/9;
}

.cms-c-vgal--square .cms-c-vgal__video {
  aspect-ratio: 1/1;
}

.cms-c-vgal__caption {
  margin: 0.5rem 0 0;
  font-size: 0.9rem;
  color: var(--color-text-muted, #65706a);
}

.cms-c-mmix__head {
  max-width: 720px;
  margin: 0 auto 2rem;
  text-align: center;
}

.cms-c-mmix__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  line-height: 1.15;
}

.cms-c-mmix__lead {
  margin: 0.85rem 0 0;
  color: var(--color-text-muted, #65706a);
}

.cms-c-mmix__grid {
  display: grid;
  grid-template-columns: repeat(var(--cms-cols-base, 2), minmax(0, 1fr));
  gap: var(--cms-mmix-gap, 0.75rem);
}

@media (min-width: 768px) {
  .cms-c-mmix__grid {
    grid-template-columns: repeat(var(--cms-cols-md, 3), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-mmix__grid {
    grid-template-columns: repeat(var(--cms-cols-lg, 4), minmax(0, 1fr));
  }
}
.cms-c-mmix--gap-none {
  --cms-mmix-gap: 0;
}

.cms-c-mmix--gap-xs {
  --cms-mmix-gap: 0.35rem;
}

.cms-c-mmix--gap-sm {
  --cms-mmix-gap: 0.55rem;
}

.cms-c-mmix--gap-md {
  --cms-mmix-gap: 0.85rem;
}

.cms-c-mmix--gap-lg {
  --cms-mmix-gap: 1.25rem;
}

.cms-c-mmix--masonry .cms-c-mmix__grid {
  display: block;
  column-count: var(--cms-cols-base, 2);
  column-gap: var(--cms-mmix-gap, 0.85rem);
}

@media (min-width: 768px) {
  .cms-c-mmix--masonry .cms-c-mmix__grid {
    column-count: var(--cms-cols-md, 3);
  }
}
@media (min-width: 992px) {
  .cms-c-mmix--masonry .cms-c-mmix__grid {
    column-count: var(--cms-cols-lg, 4);
  }
}
.cms-c-mmix--masonry .cms-c-mmix__cell {
  break-inside: avoid;
  margin-bottom: var(--cms-mmix-gap, 0.85rem);
}

.cms-c-mmix__cell {
  margin: 0;
  display: block;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

.cms-c-mmix--rounded-none .cms-c-mmix__cell {
  border-radius: 0;
}

.cms-c-mmix--rounded-sm .cms-c-mmix__cell {
  border-radius: 0.35rem;
}

.cms-c-mmix--rounded-md .cms-c-mmix__cell {
  border-radius: var(--layout-radius, 0.65rem);
}

.cms-c-mmix--rounded-lg .cms-c-mmix__cell {
  border-radius: 1rem;
}

.cms-c-mmix__media {
  position: relative;
  overflow: hidden;
  background: #0d1210;
  min-height: 140px;
}

.cms-c-mmix--aspect-auto .cms-c-mmix__media {
  aspect-ratio: auto;
}

.cms-c-mmix--aspect-1x1 .cms-c-mmix__media {
  aspect-ratio: 1/1;
}

.cms-c-mmix--aspect-4x3 .cms-c-mmix__media {
  aspect-ratio: 4/3;
}

.cms-c-mmix--aspect-3x4 .cms-c-mmix__media {
  aspect-ratio: 3/4;
}

.cms-c-mmix--aspect-16x9 .cms-c-mmix__media {
  aspect-ratio: 16/9;
}

.cms-c-mmix--aspect-9x16 .cms-c-mmix__media {
  aspect-ratio: 9/16;
}

.cms-c-mmix__cell--wide {
  grid-column: span 2;
}

.cms-c-mmix__cell--tall .cms-c-mmix__media {
  min-height: 280px;
}

.cms-c-mmix__cell--hero .cms-c-mmix__media {
  min-height: clamp(220px, 42vw, 420px);
}

.cms-c-mmix--masonry .cms-c-mmix__cell--wide,
.cms-c-mmix--masonry .cms-c-mmix__cell--hero {
  column-span: all;
}

.cms-c-mmix__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--cms-mmix-fit, cover);
  transition: transform 0.45s ease;
}

.cms-c-mmix__cell--video .cms-video-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.cms-c-mmix__cell--video .cms-video-frame__slot,
.cms-c-mmix__cell--video .cms-video-frame__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cms-c-mmix--hover-zoom .cms-c-mmix__cell:hover .cms-c-mmix__img,
.cms-c-mmix--hover-zoom .cms-c-mmix__cell:focus-visible .cms-c-mmix__img {
  transform: scale(1.04);
}

.cms-c-mmix__caption {
  margin: 0;
  padding: 0.55rem 0.15rem 0;
  font-size: 0.9rem;
  line-height: 1.35;
  color: var(--color-text-muted, #65706a);
}

.cms-c-mmix__caption--overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.25rem 0.85rem 0.75rem;
  background: linear-gradient(180deg, transparent, rgba(13, 18, 16, 0.72));
  color: #fff;
  font-size: 0.88rem;
}

.cms-c-mmix--captions-hover .cms-c-mmix__caption:not(.cms-c-mmix__caption--overlay) {
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.cms-c-mmix--captions-hover .cms-c-mmix__cell:hover .cms-c-mmix__caption,
.cms-c-mmix--captions-hover .cms-c-mmix__cell:focus-visible .cms-c-mmix__caption {
  opacity: 1;
  transform: none;
}

.cms-c-mmix--captions-never .cms-c-mmix__caption {
  display: none;
}

.cms-c-mmix--stagger .cms-c-mmix__cell {
  animation: cms-mmix-fade-up 0.55s ease both;
  animation-delay: calc(var(--cms-mmix-i, 0) * 60ms);
}

@keyframes cms-mmix-fade-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.cms-c-vgal__cell--repo .cms-video-frame,
.cms-c-vslider__slide--repo .cms-video-frame {
  width: 100%;
  border-radius: inherit;
}

.cms-c-vgal__cell--repo .cms-video-frame--background,
.cms-c-vslider__slide--repo .cms-video-frame--background {
  aspect-ratio: inherit;
  min-height: 200px;
}

.cms-c-vgal--portrait .cms-c-vgal__cell--repo .cms-video-frame--background {
  aspect-ratio: 9/16;
}

.cms-c-vgal--landscape .cms-c-vgal__cell--repo .cms-video-frame--background {
  aspect-ratio: 16/9;
}

.cms-c-vgal--square .cms-c-vgal__cell--repo .cms-video-frame--background {
  aspect-ratio: 1/1;
}

.cms-c-mmix--tiles_dense {
  --mg-dense-min-col: clamp(140px, 22cqw, 200px);
  --mg-dense-row-h: clamp(120px, 14cqw, 168px);
  container-type: inline-size;
}

.cms-c-mmix--tiles_dense .cms-c-mmix__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--mg-dense-min-col), 1fr));
  grid-auto-rows: var(--mg-dense-row-h);
  grid-auto-flow: dense;
}

.cms-c-mmix--tiles_dense .cms-c-mmix__item-wrap {
  position: relative;
  min-height: 0;
  isolation: isolate;
}

.cms-c-mmix--tiles_dense .cms-c-mmix__cell {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.cms-c-mmix--tiles_dense .cms-c-mmix__media {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
}

.cms-c-mmix--tiles_dense .cms-c-mmix__img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: var(--cms-mmix-fit, cover);
}

.cms-c-mmix--tiles_dense .cms-c-mmix__item-wrap:nth-child(2n) {
  grid-column: span 2;
}

.cms-c-mmix--tiles_dense .cms-c-mmix__item-wrap:nth-child(3n) {
  grid-row: span 2;
}

.cms-c-mmix--tiles_dense .cms-c-mmix__item-wrap:nth-child(4n) {
  grid-column: span 2;
  grid-row: span 2;
}

.cms-c-mmix--tiles_dense .cms-c-mmix__item-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--color-primary, #2d5a3d);
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.2s ease;
}

.cms-c-mmix--tiles_dense .cms-c-mmix__item-wrap:hover::after {
  opacity: 0.45;
}

.cms-c-mmix--tiles_dense .cms-c-mmix__cell--video .cms-video-frame__video::-webkit-media-controls, .cms-c-mmix--tiles_dense .cms-c-mmix__cell--video .cms-video-frame__video::-webkit-media-controls-enclosure {
  display: none !important;
}

@container (max-width: 520px) {
  .cms-c-mmix--tiles_dense .cms-c-mmix__item-wrap:nth-child(2n),
  .cms-c-mmix--tiles_dense .cms-c-mmix__item-wrap:nth-child(4n) {
    grid-column: span 1;
  }
  .cms-c-mmix--tiles_dense .cms-c-mmix__item-wrap:nth-child(3n),
  .cms-c-mmix--tiles_dense .cms-c-mmix__item-wrap:nth-child(4n) {
    grid-row: span 1;
  }
}
@media (max-width: 479.98px) {
  .cms-c-mmix--tiles_dense {
    --mg-dense-min-col: 120px;
  }
  .cms-c-mmix--tiles_dense .cms-c-mmix__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: clamp(100px, 28vw, 140px);
  }
  .cms-c-mmix--tiles_dense .cms-c-mmix__item-wrap:nth-child(6n+1) {
    grid-column: span 2;
    grid-row: span 1;
  }
}
.cms-c-vslider__head {
  max-width: 680px;
  margin: 0 auto 1.5rem;
  text-align: center;
}

.cms-c-vslider__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  line-height: 1.15;
}

.cms-c-vslider__lead {
  margin: 0.85rem 0 0;
  color: var(--color-text-muted, #65706a);
}

.cms-c-vslider__track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-bottom: 0.75rem;
}

.cms-c-vslider__slide {
  flex: 0 0 auto;
  width: 82%;
  max-width: 320px;
  scroll-snap-align: center;
}

.cms-c-vslider--landscape .cms-c-vslider__slide {
  width: 90%;
  max-width: 640px;
}

@media (min-width: 768px) {
  .cms-c-vslider__slide {
    width: 38%;
  }
  .cms-c-vslider--landscape .cms-c-vslider__slide {
    width: 52%;
  }
}
.cms-c-vslider__video {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--layout-radius, 8px);
  background: #000;
  object-fit: cover;
}
.cms-c-vslider__video::-webkit-media-controls, .cms-c-vslider__video::-webkit-media-controls-enclosure {
  display: none !important;
}

.cms-c-vslider--portrait .cms-c-vslider__video {
  aspect-ratio: 9/16;
}

.cms-c-vslider--landscape .cms-c-vslider__video {
  aspect-ratio: 16/9;
}

.cms-c-vslider--square .cms-c-vslider__video {
  aspect-ratio: 1/1;
}

.cms-c-vslider__caption {
  margin: 0.5rem 0 0;
  font-size: 0.9rem;
  color: var(--color-text-muted, #65706a);
}

.cms-video-frame {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: inherit;
}
.cms-video-frame__slot {
  position: relative;
  width: 100%;
  aspect-ratio: var(--cms-video-aspect-mob, 9/16);
}
@media (min-width: 768px) {
  .cms-video-frame__slot {
    aspect-ratio: var(--cms-video-aspect-desk, 16/9);
  }
}
.cms-video-frame--adaptive .cms-video-frame__slot {
  aspect-ratio: var(--cms-video-aspect-mob, 9/16);
}
@media (min-width: 768px) {
  .cms-video-frame--adaptive .cms-video-frame__slot {
    aspect-ratio: var(--cms-video-aspect-desk, 16/9);
  }
}
.cms-video-frame--lazy-pending .cms-video-frame__video {
  background-color: #0f172a;
}
.cms-video-frame--lazy-loaded .cms-video-frame__video {
  background-color: transparent;
}
.cms-video-frame__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: #0f172a;
}
.cms-video-frame__video::-webkit-media-controls, .cms-video-frame__video::-webkit-media-controls-enclosure {
  display: none !important;
}
.cms-video-frame--background {
  position: absolute;
  inset: 0;
  height: 100%;
  pointer-events: none;
}
.cms-video-frame--background .cms-video-frame__slot {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
  height: 100%;
}
.cms-video-frame--background .cms-video-frame__video {
  min-height: 100%;
}
.cms-video-frame--gallery {
  border-radius: 0.65rem;
  background: #0f172a;
}
.cms-video-frame--gallery .cms-video-frame__slot {
  border-radius: inherit;
}
.cms-video-frame--inline {
  border-radius: 0.5rem;
  background: #0f172a;
}

.cms-c-hero__media--video,
.cms-c-cta__media--video,
.cms-c-editorial__figure--video {
  min-height: var(--cms-editorial-image-min-h, 420px);
}

.cms-c-vhero__media {
  min-height: 0;
}

.cms-c-editorial__figure--video .cms-video-frame--background {
  z-index: 0;
}

.cms-c-vgal__cell--repo .cms-video-frame {
  border-radius: 0.65rem;
}

.cms-c-story__slide--video {
  width: 100%;
  height: 100%;
  min-height: 12rem;
}
.cms-c-story__slide--video .cms-video-frame,
.cms-c-story__slide--video .cms-video-frame__slot {
  height: 100%;
  min-height: inherit;
}

.cms-c-stats__head {
  max-width: 680px;
  margin: 0 auto 2rem;
  text-align: center;
}

.cms-c-stats--align-start .cms-c-stats__head {
  margin-inline: 0;
  text-align: start;
}

.cms-c-stats--align-end .cms-c-stats__head {
  margin-inline: 0 0 auto;
  text-align: end;
}

.cms-c-stats__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  line-height: 1.15;
}

.cms-c-stats__lead {
  margin: 0.85rem 0 0;
  color: var(--color-text-muted, #65706a);
}

.cms-c-stats__grid {
  display: grid;
  grid-template-columns: repeat(var(--cms-cols-base, 2), minmax(0, 1fr));
  gap: 1rem;
}

.cms-c-stats--gap-sm .cms-c-stats__grid {
  gap: 0.65rem;
}

.cms-c-stats--gap-lg .cms-c-stats__grid {
  gap: 1.35rem;
}

@media (min-width: 768px) {
  .cms-c-stats__grid {
    grid-template-columns: repeat(var(--cms-cols-md, 4), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-stats__grid {
    grid-template-columns: repeat(var(--cms-cols-lg, 4), minmax(0, 1fr));
  }
}
.cms-c-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.35rem;
  padding: 1.25rem 0.75rem;
  border-radius: var(--layout-radius, 8px);
}

.cms-c-stats--align-start .cms-c-stat {
  align-items: flex-start;
  text-align: start;
}

.cms-c-stats--align-end .cms-c-stat {
  align-items: flex-end;
  text-align: end;
}

.cms-c-stats--cards .cms-c-stat {
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #ded9cf);
}

.cms-c-stats--cards.cms-c-stats--shadow .cms-c-stat {
  box-shadow: 0 12px 32px -24px color-mix(in srgb, var(--color-heading, #1e293b) 28%, transparent);
}

.cms-c-stats--minimal .cms-c-stat {
  padding-inline: 0.25rem;
  background: transparent;
  border: none;
}

.cms-c-stats--bordered .cms-c-stat {
  background: var(--color-surface, #fff);
  border: 2px solid color-mix(in srgb, var(--color-border, #ded9cf) 70%, var(--color-primary, #206bc4) 30%);
}

.cms-c-stats--soft-fill .cms-c-stats__grid {
  padding: clamp(1rem, 3vw, 1.75rem);
  border-radius: calc(var(--layout-radius, 8px) + 4px);
  background: color-mix(in srgb, var(--color-surface-soft, #f8fafc) 92%, var(--color-primary, #206bc4) 4%);
  border: 1px solid color-mix(in srgb, var(--color-border, #ded9cf) 88%, var(--color-primary, #206bc4) 8%);
}

.cms-c-stats--soft-fill .cms-c-stat {
  background: transparent;
  border: none;
  padding-block: 0.75rem;
}

.cms-c-stats--accent-bar .cms-c-stat {
  position: relative;
  overflow: hidden;
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #ded9cf);
}

.cms-c-stats--accent-bar .cms-c-stat::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--color-primary, #206bc4), color-mix(in srgb, var(--color-secondary, #14b8a6) 80%, var(--color-primary, #206bc4) 20%));
}

.cms-c-stat__value {
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1;
  color: var(--color-primary, #206bc4);
  font-variant-numeric: tabular-nums;
}

.cms-c-stats--tone-primary .cms-c-stat__value {
  color: var(--color-primary, #206bc4);
}

.cms-c-stats--tone-secondary .cms-c-stat__value {
  color: var(--color-secondary, #14b8a6);
}

.cms-c-stats--tone-heading .cms-c-stat__value {
  color: var(--color-heading, #1e293b);
}

.cms-c-stats--tone-accent .cms-c-stat__value {
  color: color-mix(in srgb, var(--color-primary, #206bc4) 55%, var(--color-secondary, #14b8a6) 45%);
}

.cms-c-stat__counter {
  display: inline-block;
  min-width: 0.5ch;
}

.cms-c-stats--animated .cms-c-stat__counter.is-done {
  animation: cms-stat-counter-pop 0.35s ease-out;
}

@keyframes cms-stat-counter-pop {
  0% {
    transform: scale(1);
  }
  45% {
    transform: scale(1.04);
  }
  100% {
    transform: scale(1);
  }
}
.cms-c-stat__suffix {
  font-size: 0.55em;
  margin-left: 0.1em;
}

.cms-c-stat__label {
  font-size: 0.9rem;
  color: var(--color-text-muted, #65706a);
  line-height: 1.35;
}

@media (prefers-reduced-motion: reduce) {
  .cms-c-stats--animated .cms-c-stat__counter.is-done {
    animation: none;
  }
}
.cms-c-stats--hero-rail {
  position: relative;
  z-index: 4;
  width: min(76rem, 100% - clamp(1.25rem, 4vw, 2.5rem));
  margin: clamp(-2.75rem, -4vw, -1.75rem) auto 0;
  padding: clamp(1.15rem, 2.5vw, 1.65rem) clamp(1rem, 3vw, 2rem);
  border-radius: var(--layout-radius, 16px);
  background: var(--color-heading, #0f1a12);
  border: 1px solid color-mix(in srgb, var(--color-secondary, #f7cf39) 22%, transparent);
  box-shadow: 0 18px 48px rgba(8, 12, 10, 0.28);
}
.cms-c-stats--hero-rail .cms-c-stats__grid {
  gap: clamp(0.75rem, 2vw, 1.25rem);
}
.cms-c-stats--hero-rail .cms-c-stats__grid {
  align-items: stretch;
}
.cms-c-stats--hero-rail .cms-c-stat {
  min-height: 100%;
  justify-content: center;
  padding: 0.35rem 0.5rem;
  border: none;
  background: transparent;
  align-items: center;
  text-align: center;
}
.cms-c-stats--hero-rail .cms-c-stat__value {
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.35rem, 0.5vw + 1.1rem, 1.85rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-secondary, #f7cf39);
  font-variant-numeric: tabular-nums;
}
.cms-c-stats--hero-rail .cms-c-stat__label {
  margin-top: 0.2rem;
  min-height: 2.4em;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.cms-home__hero .cms-c-stats--hero-rail,
#hero-start.cms-home__hero .cms-c-stats--hero-rail,
.rentilo-home__hero .cms-c-stats--hero-rail,
#hero-start.rentilo-home__hero .cms-c-stats--hero-rail {
  margin-top: clamp(1rem, 2.5vw, 1.5rem);
  z-index: 2;
}

.home-page--cms-builder .cms-section#hero-start .cms-section__component:has(.cms-c-stats--hero-rail),
.home-page--cms-builder .cms-section[id=hero-start] .cms-section__component:has(.cms-c-stats--hero-rail) {
  width: 100%;
  max-width: none;
  z-index: 3;
}

.cms-c-trust-strip {
  --cms-trust-gap: var(--theme-comp-trust-strip-gap-mobile, var(--theme-comp-trust-strip-gap, 0.85rem));
  --cms-trust-pad-y: var(--theme-comp-trust-strip-padding-y-mobile, var(--theme-comp-trust-strip-padding-y, 0.65rem));
  --cms-trust-pad-x: var(--theme-comp-trust-strip-padding-x-mobile, var(--theme-comp-trust-strip-padding-x, 0));
  display: grid;
  grid-template-columns: repeat(var(--cms-trust-cols-base, 1), minmax(0, 1fr));
  gap: var(--cms-trust-gap);
  padding: var(--cms-trust-pad-y) var(--cms-trust-pad-x);
  justify-items: start;
}

.cms-c-trust-strip--align-m-center {
  justify-items: center;
  text-align: center;
}

.cms-c-trust-strip--align-m-end {
  justify-items: end;
  text-align: end;
}

@media (min-width: 768px) {
  .cms-c-trust-strip {
    --cms-trust-gap: var(--theme-comp-trust-strip-gap, 1.25rem);
    --cms-trust-pad-y: var(--theme-comp-trust-strip-padding-y, 0.75rem);
    --cms-trust-pad-x: var(--theme-comp-trust-strip-padding-x, 0);
    grid-template-columns: repeat(var(--cms-trust-cols-md, 2), minmax(0, 1fr));
    justify-items: start;
    text-align: start;
  }
  .cms-c-trust-strip--align-center {
    justify-items: center;
    text-align: center;
  }
  .cms-c-trust-strip--align-end {
    justify-items: end;
    text-align: end;
  }
}
@media (min-width: 992px) {
  .cms-c-trust-strip {
    grid-template-columns: repeat(var(--cms-trust-cols-lg, 2), minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .cms-c-trust-strip--layout-compact-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: inherit;
    gap: var(--cms-trust-gap);
  }
}

.cms-c-trust-strip--layout-pills .cms-c-trust-strip__item {
  padding: 0.45rem 0.85rem;
  border-radius: var(--theme-comp-trust-strip-pill-radius, 999px);
  background: var(--theme-comp-trust-strip-pill-bg, var(--color-surface-soft, #fafaf8));
  border: 1px solid var(--theme-comp-trust-strip-pill-border, var(--color-border, #ebe8e4));
}

.cms-c-trust-strip__item {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
}

.cms-c-trust-strip__icon {
  flex-shrink: 0;
  font-size: var(--theme-comp-trust-strip-icon-size-mobile, 1.15rem);
  color: var(--theme-comp-trust-strip-icon-color, var(--color-secondary, #a29061));
}

@media (min-width: 768px) {
  .cms-c-trust-strip__icon {
    font-size: var(--theme-comp-trust-strip-icon-size, 1.2rem);
  }
}
.cms-c-trust-strip__body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.cms-c-trust-strip__value {
  font-size: var(--theme-comp-trust-strip-value-size-mobile, 1rem);
  font-weight: var(--theme-comp-trust-strip-value-weight, 700);
  color: var(--theme-comp-trust-strip-value-color, var(--color-text));
  line-height: 1.2;
}

.cms-c-trust-strip__label {
  font-size: var(--theme-comp-trust-strip-label-size-mobile, 0.82rem);
  color: var(--theme-comp-trust-strip-label-color, var(--color-text-muted));
  line-height: 1.35;
}

@media (min-width: 768px) {
  .cms-c-trust-strip__value {
    font-size: var(--theme-comp-trust-strip-value-size, 1.05rem);
  }
  .cms-c-trust-strip__label {
    font-size: var(--theme-comp-trust-strip-label-size, 0.86rem);
  }
}
.cms-c-trust-strip--sep-dot.cms-c-trust-strip--layout-compact-inline .cms-c-trust-strip__item + .cms-c-trust-strip__item::before {
  content: "·";
  margin-inline-end: var(--cms-trust-gap);
  color: var(--theme-comp-trust-strip-separator-color, var(--color-text-muted));
  font-weight: 700;
  display: none;
}

@media (min-width: 768px) {
  .cms-c-trust-strip--sep-dot.cms-c-trust-strip--layout-compact-inline .cms-c-trust-strip__item + .cms-c-trust-strip__item::before {
    display: inline;
    position: absolute;
    margin-inline-start: calc(var(--cms-trust-gap) * -0.55);
  }
  .cms-c-trust-strip--layout-compact-inline .cms-c-trust-strip__item {
    position: relative;
  }
}
.cms-c-trust-strip--tone-light .cms-c-trust-strip__value,
.cms-c-trust-strip--tone-light .cms-c-trust-strip__label {
  color: #fff;
}

.cms-c-trust-strip--tone-light .cms-c-trust-strip__label {
  opacity: 0.88;
}

.cms-c-social-rail {
  --cms-social-rail-bg: var(--color-heading, #0f1a12);
  --cms-social-rail-fg: rgb(255 255 255 / 0.9);
  --cms-social-rail-border: color-mix(in srgb, var(--color-secondary, var(--color-primary)) 24%, rgb(255 255 255 / 0.1));
  --cms-social-rail-hover: var(--color-secondary, var(--color-primary));
}

.cms-c-social-rail__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cms-c-social-rail__item + .cms-c-social-rail__item {
  border-top: 1px solid var(--cms-social-rail-border);
}

.cms-c-social-rail__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 2.75rem;
  min-width: 2.75rem;
  padding: 0.65rem 0.5rem;
  color: var(--cms-social-rail-fg);
  text-decoration: none;
  transition: background-color 0.22s ease, color 0.22s ease, transform 0.22s ease;
}

.cms-c-social-rail__link:hover,
.cms-c-social-rail__link:focus-visible {
  color: var(--cms-social-rail-hover);
  background: color-mix(in srgb, var(--cms-social-rail-hover) 14%, rgba(255, 255, 255, 0.04));
}

.cms-c-social-rail__icon {
  font-size: 1.05rem;
  line-height: 1;
}

.cms-c-social-rail__label {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.15;
  text-align: center;
  max-width: 3.5rem;
}

.cms-c-social-rail--layout-hero-vertical {
  width: 2.75rem;
  border-radius: 10px;
  background: var(--cms-social-rail-bg);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--color-heading) 20%, transparent);
  overflow: hidden;
}

.cms-c-social-rail--icons-only .cms-c-social-rail__link {
  min-height: 2.65rem;
  padding-block: 0.72rem;
}

.cms-c-social-rail--icons-only .cms-c-social-rail__label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.cms-c-social-rail--layout-inline {
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-surface);
  padding: 0.35rem 0.55rem;
}
.cms-c-social-rail--layout-inline .cms-c-social-rail__list {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.3rem;
}
.cms-c-social-rail--layout-inline .cms-c-social-rail__item + .cms-c-social-rail__item {
  border-top: 0;
}
.cms-c-social-rail--layout-inline .cms-c-social-rail__link {
  flex-direction: row;
  min-width: 0;
  min-height: 0;
  padding: 0.45rem 0.75rem;
  border-radius: 999px;
  color: var(--color-text-muted);
}
.cms-c-social-rail--layout-inline .cms-c-social-rail__link:hover,
.cms-c-social-rail--layout-inline .cms-c-social-rail__link:focus-visible {
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));
}
.cms-c-social-rail--layout-inline .cms-c-social-rail__label {
  font-size: 0.72rem;
  max-width: none;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  .cms-c-social-rail--layout-hero-vertical {
    width: 100%;
    border-radius: calc(var(--layout-radius, 14px));
    background: var(--color-surface);
    border: 1px solid color-mix(in srgb, var(--color-primary) 12%, var(--color-border));
    box-shadow: none;
  }
  .cms-c-social-rail--layout-hero-vertical .cms-c-social-rail__list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.45rem;
  }
  .cms-c-social-rail--layout-hero-vertical .cms-c-social-rail__item + .cms-c-social-rail__item {
    border-top: 0;
  }
  .cms-c-social-rail--layout-hero-vertical .cms-c-social-rail__link {
    flex-direction: row;
    min-width: 0;
    min-height: 0;
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    color: var(--color-text-muted);
    background: color-mix(in srgb, var(--color-bg) 60%, var(--color-surface));
  }
  .cms-c-social-rail--layout-hero-vertical .cms-c-social-rail__link:hover,
  .cms-c-social-rail--layout-hero-vertical .cms-c-social-rail__link:focus-visible {
    color: var(--color-primary);
    background: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));
  }
  .cms-c-social-rail--layout-hero-vertical .cms-c-social-rail--icons-only .cms-c-social-rail__label {
    position: static;
    width: auto;
    height: auto;
    clip: auto;
    overflow: visible;
    font-size: 0.72rem;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 600;
  }
}
.cms-c-benefits-row {
  --cms-benefits-gap: var(--theme-comp-benefits-row-gap-mobile, var(--theme-comp-benefits-row-gap, 0.55rem));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--cms-benefits-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.cms-c-benefits-row--align-m-center {
  align-items: center;
  text-align: center;
}

.cms-c-benefits-row--align-m-end {
  align-items: flex-end;
  text-align: end;
}

@media (min-width: 768px) {
  .cms-c-benefits-row--layout-inline,
  .cms-c-benefits-row--layout-wrap {
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    gap: var(--theme-comp-benefits-row-gap, 0.65rem) var(--theme-comp-benefits-row-gap-inline, 1rem);
  }
}

@media (min-width: 768px) {
  .cms-c-benefits-row--layout-inline.cms-c-benefits-row--align-center,
  .cms-c-benefits-row--layout-wrap.cms-c-benefits-row--align-center {
    justify-content: center;
  }
}

.cms-c-benefits-row--layout-grid {
  display: grid;
  grid-template-columns: repeat(var(--cms-benefits-cols-mobile, 1), minmax(0, 1fr));
  gap: var(--cms-benefits-gap);
}
@media (min-width: 768px) {
  .cms-c-benefits-row--layout-grid {
    grid-template-columns: repeat(var(--cms-benefits-cols-desktop, 3), minmax(0, 1fr));
    gap: var(--theme-comp-benefits-row-gap, 0.75rem);
  }
}

.cms-c-benefits-row__item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: var(--theme-comp-benefits-row-font-size-mobile, 0.92rem);
  color: var(--theme-comp-benefits-row-color, var(--color-text));
}

@media (min-width: 768px) {
  .cms-c-benefits-row__item {
    font-size: var(--theme-comp-benefits-row-font-size, 0.95rem);
  }
  .cms-c-benefits-row--align-center {
    justify-content: center;
    text-align: center;
  }
  .cms-c-benefits-row--align-end {
    justify-content: flex-end;
    text-align: end;
  }
}
.cms-c-benefits-row__icon {
  flex-shrink: 0;
  font-size: var(--theme-comp-benefits-row-icon-size-mobile, 1rem);
  color: var(--theme-comp-benefits-row-icon-color, var(--color-secondary, #a29061));
}

@media (min-width: 768px) {
  .cms-c-benefits-row__icon {
    font-size: var(--theme-comp-benefits-row-icon-size, 1.05rem);
  }
}
.cms-c-benefits-row--sep-dot .cms-c-benefits-row__item + .cms-c-benefits-row__item::before {
  content: none;
}

@media (min-width: 768px) {
  .cms-c-benefits-row--layout-inline.cms-c-benefits-row--sep-dot .cms-c-benefits-row__item + .cms-c-benefits-row__item::before {
    content: "·";
    margin-inline-end: 0.65rem;
    color: var(--theme-comp-benefits-row-separator-color, var(--color-text-muted));
    font-weight: 700;
  }
  .cms-c-benefits-row--layout-inline.cms-c-benefits-row--sep-pipe .cms-c-benefits-row__item + .cms-c-benefits-row__item::before {
    content: "|";
    margin-inline-end: 0.65rem;
    color: var(--theme-comp-benefits-row-separator-color, var(--color-border));
    opacity: 0.85;
  }
}
.cms-c-proximity {
  --cms-prox-gap: var(--theme-comp-proximity-gap-mobile, var(--theme-comp-proximity-gap, 0.65rem));
  --cms-prox-item-gap: var(--theme-comp-proximity-item-gap, 0.55rem 0.75rem);
  max-width: var(--theme-comp-proximity-list-max-width, none);
  padding: var(--theme-comp-proximity-list-padding, 0);
}
.cms-c-proximity__title {
  margin: 0 0 var(--theme-comp-proximity-title-margin-bottom, 1rem);
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: var(--theme-comp-proximity-title-size-mobile, 1.15rem);
  font-weight: var(--theme-comp-proximity-title-weight, 600);
  letter-spacing: var(--theme-comp-proximity-title-letter-spacing, normal);
  color: var(--theme-comp-proximity-title-color, var(--color-text, #24302b));
}
.cms-c-proximity__list {
  display: grid;
  gap: var(--cms-prox-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.cms-c-proximity__item {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--cms-prox-item-gap);
  padding: var(--theme-comp-proximity-item-padding-mobile, var(--theme-comp-proximity-item-padding, 0.65rem 0.85rem));
  font-size: var(--theme-comp-proximity-font-size-mobile, 0.92rem);
  color: var(--theme-comp-proximity-color, var(--color-text));
  background: var(--theme-comp-proximity-item-bg, transparent);
  border: var(--theme-comp-proximity-item-border-width, 0) solid var(--theme-comp-proximity-item-border-color, transparent);
  border-radius: var(--theme-comp-proximity-item-radius, 0);
  box-shadow: var(--theme-comp-proximity-item-shadow, none);
  border-bottom: 1px solid var(--theme-comp-proximity-border-color, color-mix(in srgb, var(--color-border, #ded9cf) 55%, transparent));
  transition: background-color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.cms-c-proximity__item:hover {
  background: var(--theme-comp-proximity-item-bg-hover, var(--theme-comp-proximity-item-bg, transparent));
}
.cms-c-proximity__item:last-child {
  border-bottom-color: var(--theme-comp-proximity-border-color, transparent);
}
.cms-c-proximity__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--theme-comp-proximity-icon-box-size-mobile, var(--theme-comp-proximity-icon-box-size, 2.15rem));
  height: var(--theme-comp-proximity-icon-box-size-mobile, var(--theme-comp-proximity-icon-box-size, 2.15rem));
  border-radius: var(--theme-comp-proximity-icon-radius, 50%);
  background: var(--theme-comp-proximity-icon-bg, color-mix(in srgb, var(--theme-comp-proximity-icon-color, var(--color-secondary, #a29061)) 14%, #fff));
  color: var(--theme-comp-proximity-icon-color, var(--color-secondary, #a29061));
  font-size: var(--theme-comp-proximity-icon-size-mobile, 1rem);
  line-height: 1;
}
.cms-c-proximity__label {
  min-width: 0;
  font-weight: var(--theme-comp-proximity-label-weight, 500);
  line-height: var(--theme-comp-proximity-label-line-height, 1.45);
  color: var(--theme-comp-proximity-label-color, var(--theme-comp-proximity-color, var(--color-text)));
}
.cms-c-proximity__distance {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--theme-comp-proximity-distance-min-width, 0);
  padding: var(--theme-comp-proximity-distance-padding, 0);
  border-radius: var(--theme-comp-proximity-distance-radius, 0);
  background: var(--theme-comp-proximity-distance-bg, transparent);
  font-size: var(--theme-comp-proximity-distance-font-size-mobile, inherit);
  font-weight: var(--theme-comp-proximity-distance-weight, 600);
  color: var(--theme-comp-proximity-distance-color, var(--color-text-muted));
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
@media (min-width: 768px) {
  .cms-c-proximity--layout-two-column .cms-c-proximity__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--theme-comp-proximity-column-gap, 1.5rem);
  }
}
.cms-c-proximity--layout-compact .cms-c-proximity__item {
  grid-template-columns: 1fr auto;
  padding-block: 0.25rem;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
.cms-c-proximity--layout-compact .cms-c-proximity__item .cms-c-proximity__icon {
  display: none;
}
.cms-c-proximity--layout-cards .cms-c-proximity__item {
  border-bottom: 0;
  background: var(--theme-comp-proximity-item-bg, var(--color-surface, #fff));
  box-shadow: var(--theme-comp-proximity-item-shadow, 0 1px 0 color-mix(in srgb, var(--color-border, #ded9cf) 70%, transparent), 0 8px 22px color-mix(in srgb, var(--color-text, #24302b) 6%, transparent));
}
.cms-c-proximity--layout-cards .cms-c-proximity__item:last-child {
  border-bottom: 0;
}
.cms-c-proximity--layout-cards .cms-c-proximity__distance {
  padding: var(--theme-comp-proximity-distance-padding, 0.2rem 0.55rem);
  border-radius: var(--theme-comp-proximity-distance-radius, 999px);
  background: var(--theme-comp-proximity-distance-bg, color-mix(in srgb, var(--theme-comp-proximity-distance-color, var(--color-secondary)) 12%, #fff));
}
.cms-c-proximity--align-center {
  text-align: center;
}
.cms-c-proximity--align-center .cms-c-proximity__item {
  justify-items: center;
}

@media (min-width: 768px) {
  .cms-c-proximity {
    --cms-prox-gap: var(--theme-comp-proximity-gap, 0.55rem);
  }
  .cms-c-proximity__title {
    font-size: var(--theme-comp-proximity-title-size, 1.25rem);
  }
  .cms-c-proximity__item {
    font-size: var(--theme-comp-proximity-font-size, 0.95rem);
    padding: var(--theme-comp-proximity-item-padding, 0.65rem 0.85rem);
  }
  .cms-c-proximity__icon {
    width: var(--theme-comp-proximity-icon-box-size, 2.35rem);
    height: var(--theme-comp-proximity-icon-box-size, 2.35rem);
    font-size: var(--theme-comp-proximity-icon-size, 1.05rem);
  }
  .cms-c-proximity__distance {
    font-size: var(--theme-comp-proximity-distance-font-size, inherit);
  }
}
.cms-c-scroll-hint {
  display: flex;
  justify-content: center;
  padding: var(--theme-comp-scroll-hint-padding-y-mobile, 0.35rem) 0 var(--theme-comp-scroll-hint-padding-y-mobile, 0.75rem);
  margin-top: var(--theme-comp-scroll-hint-margin-top-mobile, -0.5rem);
}

.cms-c-scroll-hint--align-start {
  justify-content: flex-start;
}

.cms-c-scroll-hint--align-end {
  justify-content: flex-end;
}

@media (max-width: 767.98px) {
  .cms-c-scroll-hint--hide-mobile {
    display: none;
  }
}

.cms-c-scroll-hint__btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.5rem;
  border: 0;
  background: transparent;
  color: var(--theme-comp-scroll-hint-color, var(--color-text-muted, #64748b));
  font-size: var(--theme-comp-scroll-hint-font-size-mobile, 0.78rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.cms-c-scroll-hint__icon {
  display: inline-flex;
  font-size: var(--theme-comp-scroll-hint-icon-size-mobile, 1.25rem);
  animation: cms-scroll-hint-bounce 1.8s ease-in-out infinite;
}

.cms-c-scroll-hint--style-line .cms-c-scroll-hint__line {
  display: block;
  width: 1px;
  height: 2rem;
  background: currentColor;
  opacity: 0.55;
  animation: cms-scroll-hint-line 1.8s ease-in-out infinite;
}

.cms-c-scroll-hint--tone-light .cms-c-scroll-hint__btn {
  color: var(--theme-comp-scroll-hint-color-light, rgba(255, 255, 255, 0.88));
}

.cms-c-scroll-hint--tone-dark .cms-c-scroll-hint__btn {
  color: var(--theme-comp-scroll-hint-color-dark, var(--color-text, #1e293b));
}

.cms-c-scroll-hint.is-hidden {
  opacity: 0;
  pointer-events: none;
}

@media (min-width: 768px) {
  .cms-c-scroll-hint {
    padding: var(--theme-comp-scroll-hint-padding-y, 0.5rem) 0 var(--theme-comp-scroll-hint-padding-y, 1rem);
    margin-top: var(--theme-comp-scroll-hint-margin-top, -0.75rem);
  }
  .cms-c-scroll-hint__btn {
    font-size: var(--theme-comp-scroll-hint-font-size, 0.8rem);
  }
  .cms-c-scroll-hint__icon {
    font-size: var(--theme-comp-scroll-hint-icon-size, 1.35rem);
  }
}
@keyframes cms-scroll-hint-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(0.35rem);
  }
}
@keyframes cms-scroll-hint-line {
  0%, 100% {
    transform: scaleY(1);
    opacity: 0.55;
  }
  50% {
    transform: scaleY(1.15);
    opacity: 0.9;
  }
}
.cms-c-mobile-action-bar {
  --mab-entrance-duration: 280ms;
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: var(--theme-comp-mobile-action-bar-z, 1040);
  /* Po przeniesieniu na body (portal) - niezależnie od transform sekcji CMS. */
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
  padding: 0.5rem clamp(0.65rem, 3vw, 1rem) calc(0.5rem + env(safe-area-inset-bottom, 0px));
  background: var(--theme-comp-mobile-action-bar-bg, color-mix(in srgb, var(--color-surface, #fff) 92%, transparent));
  border-top: 1px solid var(--theme-comp-mobile-action-bar-border, var(--color-border, #ebe8e4));
  box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08);
  transform: translateY(110%);
  transition: transform var(--mab-entrance-duration, 280ms) ease, opacity var(--mab-entrance-duration, 280ms) ease;
  opacity: 0;
  pointer-events: none;
  /* hidden=display:none blokuje transition - pozostaw w layoutcie poza ekranem */
}
.cms-c-mobile-action-bar[hidden]:not(.is-visible) {
  display: block;
}
.cms-c-mobile-action-bar.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.cms-c-mobile-action-bar--entrance-fade {
  transform: none;
  opacity: 0;
}
.cms-c-mobile-action-bar--entrance-fade.is-visible {
  transform: none;
  opacity: 1;
}
.cms-c-mobile-action-bar--entrance-slide-up-fade {
  transform: translateY(110%);
  opacity: 0;
}
.cms-c-mobile-action-bar--entrance-slide-up-fade.is-visible {
  transform: translateY(0);
  opacity: 1;
}
.cms-c-mobile-action-bar--entrance-slide-up {
  transform: translateY(110%);
  opacity: 1;
}
.cms-c-mobile-action-bar--entrance-slide-up.is-visible {
  transform: translateY(0);
  opacity: 1;
}
.cms-c-mobile-action-bar--entrance-bounce {
  transform: translateY(110%);
  opacity: 0;
  transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}
.cms-c-mobile-action-bar--entrance-bounce.is-visible {
  transform: translateY(0);
  opacity: 1;
}
.cms-c-mobile-action-bar--entrance-scale-in {
  transform: translateY(0) scale(0.82);
  opacity: 0;
  transform-origin: center bottom;
}
.cms-c-mobile-action-bar--entrance-scale-in.is-visible {
  transform: translateY(0) scale(1);
  opacity: 1;
}
.cms-c-mobile-action-bar--entrance-slide-in-left {
  transform: translateX(-105%);
  opacity: 0;
}
.cms-c-mobile-action-bar--entrance-slide-in-left.is-visible {
  transform: translateX(0);
  opacity: 1;
}
.cms-c-mobile-action-bar--entrance-slide-in-right {
  transform: translateX(105%);
  opacity: 0;
}
.cms-c-mobile-action-bar--entrance-slide-in-right.is-visible {
  transform: translateX(0);
  opacity: 1;
}
.cms-c-mobile-action-bar--entrance-elastic {
  transform: translateY(110%);
  opacity: 0;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.cms-c-mobile-action-bar--entrance-elastic.is-visible {
  transform: translateY(0);
  opacity: 1;
}
.cms-c-mobile-action-bar--entrance-none {
  transform: none;
  opacity: 1;
  transition: none;
}
.cms-c-mobile-action-bar--entrance-none:not(.is-visible) {
  opacity: 0;
  pointer-events: none;
}
.cms-c-mobile-action-bar--display-icons-only .cms-c-mobile-action-bar__label {
  display: none !important;
}
.cms-c-mobile-action-bar--display-icons-only .cms-c-mobile-action-bar__inner {
  gap: var(--theme-comp-mobile-action-bar-gap, 0.45rem);
}
.cms-c-mobile-action-bar--display-icons-only .cms-c-mobile-action-bar__btn {
  flex: 1 1 0;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  min-width: 0;
  min-height: var(--theme-comp-mobile-action-bar-height-mobile, 2.85rem);
  padding: 0.5rem 0.35rem;
  aspect-ratio: auto;
}
.cms-c-mobile-action-bar--display-icons-only .cms-c-mobile-action-bar__icon {
  width: 1.35rem;
  height: 1.35rem;
  font-size: 1.35rem;
}
@media (min-width: 768px) {
  .cms-c-mobile-action-bar--always {
    display: block;
  }
}
@media (min-width: 768px) {
  .cms-c-mobile-action-bar--mobile {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cms-c-mobile-action-bar {
    transition: none;
  }
}
.cms-c-mobile-action-bar__inner {
  display: flex;
  align-items: stretch;
  gap: var(--theme-comp-mobile-action-bar-gap, 0.5rem);
  max-width: var(--layout-max-width, 72rem);
  margin-inline: auto;
}

.cms-c-mobile-action-bar__btn {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: var(--theme-comp-mobile-action-bar-height-mobile, 2.75rem);
  padding: 0.55rem 0.75rem;
  border-radius: var(--theme-comp-mobile-action-bar-radius, var(--layout-radius, 0.5rem));
  font-size: var(--theme-comp-mobile-action-bar-font-size-mobile, 0.88rem);
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform 0.15s ease, background 0.15s ease;
  min-width: 0;
}
.cms-c-mobile-action-bar__btn--primary {
  background: var(--theme-comp-mobile-action-bar-primary-bg, var(--color-primary, #2f5d50));
  color: var(--theme-comp-mobile-action-bar-primary-color, var(--color-on-primary, #fff));
}
.cms-c-mobile-action-bar__btn--secondary, .cms-c-mobile-action-bar__btn--outline {
  background: var(--theme-comp-mobile-action-bar-secondary-bg, var(--color-surface-soft, #fafaf8));
  color: var(--theme-comp-mobile-action-bar-secondary-color, var(--color-text, #1e293b));
  border-color: var(--theme-comp-mobile-action-bar-border, var(--color-border, #ebe8e4));
}
.cms-c-mobile-action-bar__btn--phone {
  flex: 0 0 auto;
  min-width: 2.75rem;
  padding-inline: 0.85rem;
}

.cms-c-mobile-action-bar__label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cms-c-mobile-action-bar__icon {
  flex-shrink: 0;
  width: 1.15em;
  height: 1.15em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cms-c-mobile-action-bar__icon--svg {
  color: var(--mab-icon-color, currentColor);
}
.cms-c-mobile-action-bar__icon--svg svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
  stroke: currentColor;
}

.cms-c-mobile-action-bar__btn--icon-only {
  flex-direction: column;
  gap: 0;
}
.cms-c-mobile-action-bar__btn--icon-only .cms-c-mobile-action-bar__label {
  display: none !important;
}
.cms-c-mobile-action-bar__btn--icon-only .cms-c-mobile-action-bar__icon {
  width: 1.35rem;
  height: 1.35rem;
  font-size: 1.35rem;
}

@media (min-width: 768px) {
  .cms-c-mobile-action-bar__btn {
    min-height: var(--theme-comp-mobile-action-bar-height, 3rem);
    font-size: var(--theme-comp-mobile-action-bar-font-size, 0.92rem);
  }
}
.cms-c-reviews-summary {
  width: 100%;
}
.cms-c-reviews-summary--align-start {
  text-align: start;
}
.cms-c-reviews-summary--align-center {
  text-align: center;
}
.cms-c-reviews-summary--align-end {
  text-align: end;
}
.cms-c-reviews-summary__title {
  margin: 0 0 0.5rem;
  font-size: var(--theme-comp-reviews-summary-title-size-mobile, 0.95rem);
  color: var(--theme-comp-reviews-title-color, var(--color-text-muted));
}
.cms-c-reviews-summary__body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.85rem;
}
.cms-c-reviews-summary--layout-stacked .cms-c-reviews-summary__body, .cms-c-reviews-summary--layout-compact .cms-c-reviews-summary__body {
  flex-direction: column;
  align-items: flex-start;
}
.cms-c-reviews-summary--layout-center .cms-c-reviews-summary__body, .cms-c-reviews-summary--align-center .cms-c-reviews-summary__body {
  justify-content: center;
}
.cms-c-reviews-summary__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.2rem;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  background: var(--color-surface, #fff);
  border: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 85%, transparent);
}
.cms-c-reviews-summary__badge--google {
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  border-radius: 50%;
}
.cms-c-reviews-summary__badge--booking {
  color: #003580;
}
.cms-c-reviews-summary__rating-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.cms-c-reviews-summary__place {
  font-size: 0.95rem;
  color: var(--color-text, #1e293b);
}
.cms-c-reviews-summary__rating {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  font-size: 0.9rem;
  color: var(--color-text-muted, #64748b);
}
.cms-c-reviews-summary__value {
  font-size: 1.15rem;
  color: var(--color-text, #1e293b);
}
.cms-c-reviews-summary__stars {
  display: inline-flex;
  gap: 0.08rem;
  color: #fbbc05;
}
.cms-c-reviews-summary__link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-left: auto;
  font-size: 0.85rem;
  color: var(--color-link, var(--color-primary));
  text-decoration: none;
}
.cms-c-reviews-summary__link:hover {
  text-decoration: underline;
}
@media (min-width: 768px) {
  .cms-c-reviews-summary__title {
    font-size: var(--theme-comp-reviews-summary-title-size, 1rem);
  }
}

.cms-c-steps__head {
  max-width: 680px;
  margin: 0 auto 2rem;
  text-align: center;
}

.cms-c-steps__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  line-height: 1.15;
}

.cms-c-steps__lead {
  margin: 0.85rem 0 0;
  color: var(--color-text-muted, #65706a);
}

.cms-c-steps__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .cms-c-steps__list {
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
  }
}
.cms-c-step {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
}

@media (min-width: 768px) {
  .cms-c-step {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
}
.cms-c-step__num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  font-weight: 700;
  font-size: 1.1rem;
  background: color-mix(in srgb, var(--color-primary, #206bc4) 14%, #fff);
  color: var(--color-primary, #206bc4);
}

.cms-c-step__title {
  display: block;
  margin-bottom: 0.3rem;
  font-size: 1.05rem;
}

.cms-c-step__text {
  margin: 0;
  color: var(--color-text-muted, #65706a);
  font-size: 0.95rem;
  line-height: 1.55;
}

.cms-c-logos__title {
  margin: 0 0 1.25rem;
  text-align: center;
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-muted, #65706a);
}

.cms-c-logos__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.5rem 2.5rem;
}

.cms-c-logos__item {
  display: inline-flex;
  align-items: center;
}

.cms-c-logos__item img {
  height: 2.4rem;
  width: auto;
  max-width: 160px;
  object-fit: contain;
}

@media (min-width: 768px) {
  .cms-c-logos__item img {
    height: 3rem;
  }
}
.cms-c-logos--grayscale .cms-c-logos__item img {
  filter: grayscale(1);
  opacity: 0.7;
  transition: filter 0.2s ease, opacity 0.2s ease;
}

.cms-c-logos--grayscale .cms-c-logos__item:hover img {
  filter: grayscale(0);
  opacity: 1;
}

.cms-c-tiles-grid {
  display: grid;
  gap: var(--spacing-gap-md, 1.25rem);
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .cms-c-tiles-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-tiles-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.cms-c-tile {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--layout-radius, 12px);
  border: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent);
  background: var(--color-surface, #fff);
  overflow: hidden;
}

.cms-c-tile__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;
  object-fit: cover;
}

.cms-c-tile__body {
  padding: 1rem 1.1rem 1.15rem;
}

.cms-c-tile__body:empty,
.cms-c-tile--no-body .cms-c-tile__body {
  display: none;
  padding: 0;
  margin: 0;
  min-height: 0;
}

.cms-c-tile--no-body .cms-c-tile__media {
  flex: 1 1 auto;
}
.cms-c-tile--no-body .cms-c-tile__media img {
  height: 100%;
}

.cms-c-tile__badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  margin-bottom: 0.35rem;
  color: var(--color-primary);
}

.cms-c-tile__title {
  font-size: 1.05rem;
  margin: 0 0 0.35rem;
}

.cms-c-tile__title a {
  color: inherit;
  text-decoration: none;
}

.cms-c-tile__lead {
  margin: 0;
  font-size: 0.92rem;
  color: var(--color-text-muted);
}

@media (min-width: 768px) {
  .cms-c-tile--card-horizontal {
    flex-direction: row;
  }
  .cms-c-tile--card-horizontal .cms-c-tile__media {
    flex: 0 0 40%;
    max-width: 40%;
  }
  .cms-c-tile--card-horizontal .cms-c-tile__media img {
    aspect-ratio: 4/3;
    height: 100%;
    min-height: 100%;
  }
}

.cms-c-tile--card-overlay {
  position: relative;
}
.cms-c-tile--card-overlay .cms-c-tile__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.cms-c-tile--card-overlay .cms-c-tile__media img {
  width: 100%;
  height: 100%;
  min-height: 12rem;
  aspect-ratio: auto;
  object-fit: cover;
}
.cms-c-tile--card-overlay .cms-c-tile__body {
  position: relative;
  z-index: 1;
  margin-top: auto;
  min-height: 12rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.72), transparent 55%);
  color: #fff;
}
.cms-c-tile--card-overlay.cms-c-tile--no-body {
  min-height: 12rem;
}
.cms-c-tile--card-overlay.cms-c-tile--no-body .cms-c-tile__media {
  position: relative;
  inset: auto;
}
.cms-c-tile--card-overlay.cms-c-tile--no-body .cms-c-tile__media img {
  min-height: 12rem;
}
.cms-c-tile--card-overlay .cms-c-tile__title a,
.cms-c-tile--card-overlay .cms-c-tile__lead,
.cms-c-tile--card-overlay .cms-c-tile__badge {
  color: inherit;
}

.cms-c-tile--card-minimal {
  border: none;
  background: transparent;
  box-shadow: none;
}
.cms-c-tile--card-minimal .cms-c-tile__media {
  display: none;
}
.cms-c-tile--card-minimal .cms-c-tile__body {
  padding: 0.5rem 0;
}

.cms-c-tile--card-pricing .cms-c-tile__title {
  font-size: 1.35rem;
}

.cms-c-tile--card-magazine .cms-c-tile__title {
  font-size: clamp(1.25rem, 3vw, 1.65rem);
  line-height: 1.15;
}

.cms-c-tiles-grid--card-circle {
  grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
}
@media (min-width: 768px) {
  .cms-c-tiles-grid--card-circle {
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-tiles-grid--card-circle {
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  }
}

.cms-c-tile--card-circle {
  align-items: center;
  border: 0;
  background: transparent;
  overflow: visible;
  text-align: center;
}
.cms-c-tile--card-circle .cms-c-tile__media {
  display: block;
  width: min(100%, 12rem);
  margin-inline: auto;
  overflow: hidden;
  border-radius: 50%;
}
.cms-c-tile--card-circle .cms-c-tile__media img {
  aspect-ratio: 1;
  border-radius: 50%;
  transition: transform 0.45s ease;
}
.cms-c-tile--card-circle .cms-c-tile__body {
  padding: 0.85rem 0.25rem 0;
}
.cms-c-tile--card-circle .cms-c-tile__title {
  font-size: 1rem;
}
.cms-c-tile--card-circle .cms-c-tile__badge {
  color: var(--color-text-muted);
}
.cms-c-tile--card-circle:hover .cms-c-tile__media img, .cms-c-tile--card-circle:focus-within .cms-c-tile__media img {
  transform: scale(1.07);
}

@media (prefers-reduced-motion: reduce) {
  .cms-c-tile--card-circle .cms-c-tile__media img {
    transition: none;
  }
  .cms-c-tile--card-circle:hover .cms-c-tile__media img,
  .cms-c-tile--card-circle:focus-within .cms-c-tile__media img {
    transform: none;
  }
}
.cms-c-tile--card-chips .cms-c-tile__badge {
  border-radius: 999px;
  padding: 0.15rem 0.55rem;
  background: color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.cms-c-product-cards {
  display: grid;
  gap: clamp(1.25rem, 3vw, 2rem);
}

.cms-c-product-cards--gap-sm {
  --cms-pcards-gap: 0.75rem;
}

.cms-c-product-cards--gap-md {
  --cms-pcards-gap: 1.25rem;
}

.cms-c-product-cards--gap-lg {
  --cms-pcards-gap: 1.9rem;
}

.cms-c-product-cards__head {
  max-width: 44rem;
}

.cms-c-product-cards__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.5rem, 3.4vw, 2.4rem);
  line-height: 1.15;
}

.cms-c-product-cards__lead {
  margin: 0.75rem 0 0;
  color: var(--color-text-muted);
}

.cms-c-product-cards__grid {
  display: grid;
  gap: var(--cms-pcards-gap, 1.25rem);
  grid-template-columns: repeat(var(--cms-pcards-cols-base, 1), minmax(0, 1fr));
}

@media (min-width: 768px) {
  .cms-c-product-cards__grid {
    grid-template-columns: repeat(var(--cms-pcards-cols-md, 2), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-product-cards__grid {
    grid-template-columns: repeat(var(--cms-pcards-cols-lg, 3), minmax(0, 1fr));
  }
}
@media (min-width: 1200px) {
  .cms-c-product-cards__grid {
    grid-template-columns: repeat(var(--cms-pcards-cols-xl, var(--cms-pcards-cols-lg, 3)), minmax(0, 1fr));
  }
}
.cms-c-product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: var(--layout-radius, 12px);
  background: var(--color-surface, #fff);
  color: var(--color-text);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.cms-c-product-card__media {
  position: relative;
  overflow: hidden;
  background: var(--color-surface-soft);
}

.cms-c-product-card__media-link {
  display: block;
  height: 100%;
}

.cms-c-product-card__image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: var(--cms-pcards-ratio, 4/3);
  object-fit: cover;
  transition: transform 0.5s ease;
}

.cms-c-product-card__badge {
  position: absolute;
  inset-block-start: 0.75rem;
  inset-inline-start: 0.75rem;
  z-index: 2;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.cms-c-product-card__badge--inline {
  position: static;
  align-self: flex-start;
  margin-bottom: 0.55rem;
}

.cms-c-product-card__badge--primary {
  background: var(--color-primary);
  color: var(--color-surface);
}

.cms-c-product-card__badge--accent {
  background: var(--color-primary-hover, var(--color-primary));
  color: var(--color-surface);
}

.cms-c-product-card__badge--dark {
  background: var(--color-text);
  color: var(--color-surface);
}

.cms-c-product-card__badge--light {
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: 0 8px 20px -14px rgba(15, 23, 42, 0.6);
}

.cms-c-product-card__wishlist {
  position: absolute;
  inset-block-start: 0.65rem;
  inset-inline-end: 0.65rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-surface) 86%, transparent);
  color: var(--color-text);
  font-size: 1.05rem;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.cms-c-product-card__wishlist:hover, .cms-c-product-card__wishlist:focus-visible {
  background: var(--color-surface);
  color: var(--color-primary);
}
.cms-c-product-card__wishlist[aria-pressed=true] {
  color: var(--color-primary);
}

.cms-c-product-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  flex: 1 1 auto;
  padding: 1.05rem 1.15rem 1.2rem;
}

.cms-c-product-card__title {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.3;
}

.cms-c-product-card__title a {
  color: inherit;
  text-decoration: none;
}
.cms-c-product-card__title a:hover, .cms-c-product-card__title a:focus-visible {
  color: var(--color-primary);
}

.cms-c-product-card__subtitle {
  margin: 0;
  font-size: 0.86rem;
  color: var(--color-text-muted);
}

.cms-c-product-card__text {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--color-text-muted);
}

.cms-c-product-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.9rem;
  margin: 0.15rem 0 0;
  padding: 0;
  list-style: none;
}

.cms-c-product-card__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.84rem;
  color: var(--color-text-muted);
}
.cms-c-product-card__meta-item i {
  font-size: 1rem;
  color: var(--color-primary);
}

.cms-c-product-card__rating {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  font-size: 0.85rem;
  color: var(--color-text-muted);
}

.cms-c-product-card__stars {
  display: inline-flex;
  gap: 0.1rem;
  color: var(--color-primary);
  font-size: 0.95rem;
}

.cms-c-product-card__rating-value {
  font-weight: 700;
  color: var(--color-text);
}

.cms-c-product-card__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin-top: auto;
  padding-top: 0.85rem;
}

.cms-c-product-card__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem;
  margin: 0;
  min-width: 0;
}

.cms-c-product-card__price-note {
  font-size: 0.78rem;
  color: var(--color-text-muted);
}

.cms-c-product-card__price-value {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-text);
}

.cms-c-product-card__price-old {
  font-size: 0.86rem;
  color: var(--color-text-muted);
}

.cms-c-product-card__cta--link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
}
.cms-c-product-card__cta--link i {
  transition: transform 0.25s ease;
}
.cms-c-product-card__cta--link:hover i, .cms-c-product-card__cta--link:focus-visible i {
  transform: translateX(0.2rem);
}

.cms-c-product-card__cta--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: var(--color-surface);
  font-size: 1.05rem;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.cms-c-product-card__cta--icon:hover, .cms-c-product-card__cta--icon:focus-visible {
  background: var(--color-primary-hover, var(--color-primary));
  transform: translateY(-2px);
}

.cms-c-product-cards--elevated .cms-c-product-card {
  box-shadow: 0 18px 42px -28px rgba(15, 23, 42, 0.55);
}

.cms-c-product-cards--outline .cms-c-product-card {
  border-color: color-mix(in srgb, var(--color-border) 80%, transparent);
  box-shadow: none;
}

.cms-c-product-cards--minimal .cms-c-product-card {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.cms-c-product-cards--minimal .cms-c-product-card .cms-c-product-card__media {
  border-radius: var(--layout-radius, 12px);
}
.cms-c-product-cards--minimal .cms-c-product-card .cms-c-product-card__body {
  padding-inline: 0;
  padding-bottom: 0;
}

.cms-c-product-cards--overlay .cms-c-product-card {
  min-height: clamp(18rem, 34vw, 24rem);
  color: #fff;
}
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__media {
  position: absolute;
  inset: 0;
}
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__image {
  aspect-ratio: auto;
  height: 100%;
}
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__body {
  position: relative;
  z-index: 1;
  justify-content: flex-end;
  margin-top: auto;
  padding-top: 4rem;
  background: linear-gradient(to top, rgba(8, 12, 16, 0.86) 0%, rgba(8, 12, 16, 0.45) 55%, transparent 100%);
}
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__subtitle,
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__text,
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__meta-item,
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__rating,
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__price-note,
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__price-old {
  color: rgba(255, 255, 255, 0.82);
}
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__title a,
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__price-value,
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__rating-value,
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__meta-item i,
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__stars {
  color: #fff;
}
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__footer {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}
.cms-c-product-cards--overlay .cms-c-product-card .cms-c-product-card__cta--link {
  color: #fff;
}

.cms-c-product-card:hover,
.cms-c-product-card:focus-within {
  transform: translateY(-4px);
}
.cms-c-product-card:hover .cms-c-product-card__image,
.cms-c-product-card:focus-within .cms-c-product-card__image {
  transform: scale(1.05);
}

.cms-c-product-cards--elevated .cms-c-product-card:hover,
.cms-c-product-cards--elevated .cms-c-product-card:focus-within {
  box-shadow: 0 26px 54px -26px rgba(15, 23, 42, 0.6);
}

.cms-c-product-cards--outline .cms-c-product-card:hover,
.cms-c-product-cards--outline .cms-c-product-card:focus-within {
  border-color: color-mix(in srgb, var(--color-primary) 45%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .cms-c-product-card,
  .cms-c-product-card__image,
  .cms-c-product-card__cta--icon,
  .cms-c-product-card__cta--link i {
    transition: none;
  }
  .cms-c-product-card:hover,
  .cms-c-product-card:focus-within {
    transform: none;
  }
  .cms-c-product-card:hover .cms-c-product-card__image,
  .cms-c-product-card:focus-within .cms-c-product-card__image {
    transform: none;
  }
}
.cms-c-photo-stats {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
}

.cms-c-photo-stats__media {
  position: relative;
  min-width: 0;
}

.cms-c-photo-stats__frame {
  overflow: hidden;
  border-radius: var(--cms-photo-stats-radius, 1.5rem);
  background: var(--color-surface-soft);
}

.cms-c-photo-stats__image {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: var(--cms-photo-stats-ratio, 4/5);
  object-fit: cover;
}

.cms-c-photo-stats--radius-sm {
  --cms-photo-stats-radius: 0.5rem;
}

.cms-c-photo-stats--radius-md {
  --cms-photo-stats-radius: 1rem;
}

.cms-c-photo-stats--radius-lg {
  --cms-photo-stats-radius: 1.5rem;
}

.cms-c-photo-stats--radius-pill {
  --cms-photo-stats-radius: 999px;
}

.cms-c-photo-stats__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 0.65rem;
}

.cms-c-photo-stats__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 0.95rem;
  border-radius: var(--layout-radius, 12px);
  background: var(--color-surface, #fff);
  color: var(--color-text, #1a2332);
  box-shadow: 0 16px 34px -22px rgba(15, 23, 42, 0.55);
  max-width: 100%;
}

.cms-c-photo-stats__badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-primary) 14%, transparent);
  color: var(--color-primary);
  font-size: 1.1rem;
}

.cms-c-photo-stats__badge-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.cms-c-photo-stats__badge-value {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--color-text);
}

.cms-c-photo-stats__badge-label {
  font-size: 0.78rem;
  color: var(--color-text-muted);
}

.cms-c-photo-stats--badge-glass .cms-c-photo-stats__badge {
  border: 1px solid color-mix(in srgb, var(--color-surface) 55%, transparent);
  background: color-mix(in srgb, var(--color-surface) 66%, transparent);
  backdrop-filter: blur(12px);
}

.cms-c-photo-stats--badge-solid .cms-c-photo-stats__badge {
  background: var(--color-surface);
}

.cms-c-photo-stats--badge-outline .cms-c-photo-stats__badge {
  border: 1px solid var(--color-border);
  background: color-mix(in srgb, var(--color-surface) 92%, transparent);
  box-shadow: none;
}

.cms-c-photo-stats__body {
  min-width: 0;
}

.cms-c-photo-stats__eyebrow {
  margin: 0 0 0.6rem;
  color: var(--color-primary);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.cms-c-photo-stats__title {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-size: clamp(1.6rem, 3.6vw, 2.6rem);
  line-height: 1.14;
  text-wrap: balance;
}

.cms-c-photo-stats__lead {
  margin: 1rem 0 0;
  color: var(--color-text-muted);
  font-size: 1.02rem;
  line-height: 1.6;
}

.cms-c-photo-stats__text {
  margin: 0.9rem 0 0;
  color: var(--color-text-muted);
  line-height: 1.6;
}

.cms-c-photo-stats__bullets {
  display: grid;
  gap: 0.6rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.cms-c-photo-stats__bullet {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  color: var(--color-text);
  line-height: 1.5;
}
.cms-c-photo-stats__bullet i {
  flex-shrink: 0;
  margin-top: 0.15rem;
  color: var(--color-primary);
  font-size: 1.05rem;
}

.cms-c-photo-stats__actions {
  margin-top: 1.5rem;
}

@media (min-width: 992px) {
  .cms-c-photo-stats {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .cms-c-photo-stats--media-end .cms-c-photo-stats__media {
    order: 2;
  }
  .cms-c-photo-stats__badges {
    position: absolute;
    inset: 0;
    display: block;
    margin: 0;
    pointer-events: none;
  }
  .cms-c-photo-stats__badge {
    position: absolute;
    pointer-events: auto;
  }
  .cms-c-photo-stats__badge--top-start {
    inset-block-start: clamp(0.75rem, 2vw, 1.5rem);
    inset-inline-start: clamp(0.75rem, 2vw, 1.5rem);
  }
  .cms-c-photo-stats__badge--top-end {
    inset-block-start: clamp(0.75rem, 2vw, 1.5rem);
    inset-inline-end: clamp(0.75rem, 2vw, 1.5rem);
  }
  .cms-c-photo-stats__badge--bottom-start {
    inset-block-end: clamp(0.75rem, 2vw, 1.5rem);
    inset-inline-start: clamp(0.75rem, 2vw, 1.5rem);
  }
  .cms-c-photo-stats__badge--bottom-end {
    inset-block-end: clamp(0.75rem, 2vw, 1.5rem);
    inset-inline-end: clamp(0.75rem, 2vw, 1.5rem);
  }
  .cms-c-photo-stats__badge--middle-end {
    inset-block-start: 50%;
    inset-inline-end: clamp(0.75rem, 2vw, 1.5rem);
    transform: translateY(-50%);
  }
}
.cms-c-faq {
  width: 100%;
}

.cms-c-faq__lead {
  margin: 0 0 1rem;
  color: var(--color-text-muted, #6c757d);
  font-size: 0.95rem;
}

.cms-c-faq__accordion {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cms-c-faq__item {
  border: 1px solid var(--color-border, #dee2e6);
  border-radius: 0.5rem;
  background: var(--color-surface, #fff);
}

.cms-c-faq__summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  cursor: pointer;
  list-style: none;
  font-weight: 600;
  line-height: 1.35;
  min-height: 44px;
}

.cms-c-faq__summary::-webkit-details-marker {
  display: none;
}

.cms-c-faq__icon {
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.cms-c-faq__item[open] .cms-c-faq__icon {
  transform: rotate(180deg);
}

.cms-c-faq__answer {
  padding: 0 1rem 1rem;
  color: var(--color-text, #212529);
  font-size: 0.95rem;
  line-height: 1.55;
}

.cms-c-reviews {
  width: 100%;
}
.cms-c-reviews__title {
  margin: 0 0 1rem;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
  color: var(--theme-comp-reviews-title-color, var(--color-h3, inherit));
}
.cms-c-reviews__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.cms-c-reviews__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 16.5rem), 1fr));
  gap: 0.875rem;
}
.cms-c-reviews__tile {
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.cms-c-reviews--carousel .cms-c-reviews__carousel {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.cms-c-reviews__carousel-shell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem;
}
.cms-c-reviews__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--color-secondary, #b89a61);
  border-radius: 50%;
  background: var(--color-surface, #fff);
  color: var(--color-text, #1e293b);
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}
.cms-c-reviews__nav .ti {
  font-size: 1.15rem;
  line-height: 1;
}
.cms-c-reviews__nav:hover:not(:disabled), .cms-c-reviews__nav:focus-visible:not(:disabled) {
  background: var(--color-surface-soft, #f8fafc);
  border-color: color-mix(in srgb, var(--color-secondary, #b89a61) 72%, var(--color-border));
}
.cms-c-reviews__nav:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}
.cms-c-reviews--carousel .cms-c-reviews__track {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-block: 0.15rem 0.35rem;
  scrollbar-width: none;
}
.cms-c-reviews--carousel .cms-c-reviews__track::-webkit-scrollbar {
  display: none;
}
.cms-c-reviews__pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 1.25rem;
}
.cms-c-reviews__dot {
  width: 0.55rem;
  height: 0.55rem;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-text-muted, #64748b) 38%, transparent);
  cursor: pointer;
  transition: transform 0.15s ease, background-color 0.15s ease, opacity 0.15s ease;
}
.cms-c-reviews__dot.is-active {
  background: var(--color-secondary, #b89a61);
  transform: scale(1.15);
}
.cms-c-reviews__dot:hover, .cms-c-reviews__dot:focus-visible {
  background: color-mix(in srgb, var(--color-secondary, #b89a61) 72%, var(--color-text-muted));
  outline: none;
}
.cms-c-reviews__slide {
  flex: 0 0 min(88vw, 20rem);
  scroll-snap-align: start;
}
.cms-c-reviews .cms-c-review-card {
  margin: 0;
  padding: var(--theme-comp-reviews-card-padding, 1rem);
  border: 1px solid var(--theme-comp-reviews-card-border, color-mix(in srgb, var(--color-border, #dee2e6) 88%, transparent));
  border-radius: var(--theme-comp-reviews-card-radius, var(--layout-radius, 0.65rem));
  background: var(--theme-comp-reviews-card-bg, var(--color-surface, #fff));
  height: 100%;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--color-text, #0f172a) 4%, transparent);
}
.cms-c-reviews .cms-c-review-card__rating {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.14rem 0.45rem;
  margin: 0 0 0.55rem;
  line-height: 1;
}
.cms-c-reviews .cms-c-review-card__star {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: var(--theme-comp-reviews-star-size, 1rem);
  line-height: 1;
}
.cms-c-reviews .cms-c-review-card__star .ti,
.cms-c-reviews .cms-c-review-card__star .tabler-star-icon {
  display: block;
  font-size: inherit;
  line-height: 1;
  color: inherit;
}
.cms-c-reviews .cms-c-review-card__star--filled {
  color: var(--theme-comp-reviews-star-filled, var(--color-secondary, var(--color-primary, #c9a227)));
}
.cms-c-reviews .cms-c-review-card__star--empty {
  color: var(--theme-comp-reviews-star-empty, color-mix(in srgb, var(--color-text-muted, #64748b) 72%, var(--color-secondary, var(--color-border, #cbd5e1)) 28%));
  opacity: 0.88;
}
.cms-c-reviews .cms-c-review-card__rating-value {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--theme-comp-reviews-meta-color, var(--color-text-muted, #64748b));
}
.cms-c-reviews .cms-c-review-card__body {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--theme-comp-reviews-body-color, var(--color-text, inherit));
}
.cms-c-reviews .cms-c-review-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  font-size: 0.82rem;
  color: var(--theme-comp-reviews-meta-color, var(--color-text-muted, #6c757d));
}
.cms-c-reviews .cms-c-review-card__author {
  font-style: normal;
  font-weight: 600;
  color: var(--theme-comp-reviews-author-color, var(--color-text, #212529));
}
.cms-c-reviews .cms-c-review-card__source {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--theme-comp-reviews-meta-color, var(--color-text-muted, #6c757d));
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: var(--theme-comp-reviews-source-bg, rgba(0, 0, 0, 0.06));
}
.cms-c-reviews .cms-c-review-card__room-link {
  color: var(--theme-comp-reviews-room-link-color, var(--color-primary, #0d6efd));
  font-weight: 500;
  text-decoration: none;
}
.cms-c-reviews .cms-c-review-card__room-link:hover, .cms-c-reviews .cms-c-review-card__room-link:focus-visible {
  text-decoration: underline;
}
.cms-c-reviews .cms-c-review-card__room-label {
  font-weight: 500;
  color: var(--theme-comp-reviews-meta-color, var(--color-text-muted, #6c757d));
}
.cms-c-reviews .cms-c-review-card__date {
  color: var(--theme-comp-reviews-meta-color, var(--color-text-muted, #6c757d));
}

.cms-builder-page .cms-c-reviews__title {
  color: var(--theme-comp-reviews-title-color, var(--color-h3, inherit));
}

@media (max-width: 767.98px) {
  .cms-c-reviews__carousel-shell {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
  .cms-c-reviews__nav {
    display: none;
  }
  .cms-c-reviews__pagination {
    gap: 0.55rem;
    margin-top: 0.15rem;
  }
  .cms-c-reviews__dot {
    width: 0.72rem;
    height: 0.72rem;
  }
  .cms-c-reviews__dot.is-active {
    transform: scale(1.2);
  }
}
@media (min-width: 768px) {
  .cms-c-reviews--carousel .cms-c-reviews__slide {
    flex: 0 0 min(42%, 18rem);
  }
  .cms-c-reviews--tiles .cms-c-reviews__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1100px) {
  .cms-c-reviews--carousel .cms-c-reviews__slide {
    flex: 0 0 calc((100% - 2.25rem) / 3);
    max-width: 22rem;
  }
}
.cms-c-reviews--setup-hint {
  padding: 1rem 1.1rem;
  border: 1px dashed color-mix(in srgb, var(--color-border, #d6d3d1) 85%, var(--color-primary, #6f5a49));
  border-radius: 12px;
  background: color-mix(in srgb, var(--color-surface-soft, #f5f3f0) 88%, transparent);
}

.cms-c-reviews__setup-hint {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--color-text-muted, #57534e);
}

.cms-c-google-reviews {
  --cms-swiper-chrome-nav-border: var(--theme-comp-reviews-star-filled, var(--color-secondary, #b89a61));
  --cms-swiper-chrome-nav-bg: var(--theme-comp-reviews-card-bg, var(--color-surface, #fff));
  --cms-swiper-chrome-nav-color: var(--theme-comp-reviews-author-color, var(--color-text, #1e293b));
  --cms-swiper-chrome-nav-hover-bg: var(--theme-comp-reviews-star-filled, var(--color-secondary, #b89a61));
  --cms-swiper-chrome-nav-hover-color: var(--color-on-secondary, #fff);
  --cms-swiper-chrome-bullet-active: var(--theme-comp-reviews-star-filled, var(--color-secondary, #b89a61));
  width: 100%;
}
.cms-c-google-reviews__head {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.cms-c-google-reviews__title {
  margin: 0;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
  color: var(--theme-comp-reviews-title-color, var(--color-h3, inherit));
}
.cms-c-google-reviews__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem 0.85rem;
}
.cms-c-google-reviews__google-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--color-surface, #fff);
  border: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 85%, transparent);
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}
.cms-c-google-reviews__summary-body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.cms-c-google-reviews__place {
  font-size: 0.95rem;
  color: var(--color-text, #1e293b);
}
.cms-c-google-reviews__rating {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9rem;
  color: var(--color-text-muted, #64748b);
}
.cms-c-google-reviews__rating-value {
  font-size: 1.05rem;
  color: var(--color-text, #1e293b);
}
.cms-c-google-reviews__stars {
  display: inline-flex;
  gap: 0.1rem;
  color: #fbbc05;
  font-size: 0.95rem;
}
.cms-c-google-reviews__count {
  white-space: nowrap;
}
.cms-c-google-reviews__all-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-left: auto;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--color-link, var(--color-primary, #2563eb));
  text-decoration: none;
}
.cms-c-google-reviews__all-link:hover, .cms-c-google-reviews__all-link:focus-visible {
  text-decoration: underline;
}
.cms-c-google-reviews__grid {
  --gr-cols-d: 3;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 768px) {
  .cms-c-google-reviews__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-google-reviews__grid {
    grid-template-columns: repeat(var(--gr-cols-d), minmax(0, 1fr));
  }
}
.cms-c-google-reviews__tile {
  min-width: 0;
  display: flex;
}
.cms-c-google-reviews__tile > .cms-c-google-review-card {
  width: 100%;
}
.cms-c-google-reviews__slider {
  position: relative;
}
.cms-c-google-reviews__slider .swiper-slide {
  height: auto;
  display: flex;
}
.cms-c-google-reviews__slider .swiper-slide > .cms-c-google-review-card {
  width: 100%;
}
.cms-c-google-reviews__slider-chrome {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  margin-top: 0.9rem;
}
.cms-c-google-reviews__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--cms-swiper-chrome-nav-border, var(--color-secondary, #b89a61));
  border-radius: 50%;
  background: var(--cms-swiper-chrome-nav-bg, var(--color-surface, #fff));
  color: var(--cms-swiper-chrome-nav-color, var(--color-text, #1e293b));
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease;
}
.cms-c-google-reviews__nav:hover, .cms-c-google-reviews__nav:focus-visible {
  background: var(--cms-swiper-chrome-nav-hover-bg, var(--color-secondary, #b89a61));
  color: var(--cms-swiper-chrome-nav-hover-color, var(--color-on-secondary, #fff));
}
.cms-c-google-reviews__nav.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.cms-c-google-reviews__pagination {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.cms-c-google-reviews__pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-text-muted, #64748b) 45%, transparent);
  opacity: 1;
  transition: background-color 0.18s ease, transform 0.18s ease;
}
.cms-c-google-reviews__pagination .swiper-pagination-bullet-active {
  background: var(--cms-swiper-chrome-bullet-active, var(--color-secondary, #b89a61));
  transform: scale(1.25);
}

.cms-c-google-review-card {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin: 0;
  padding: 1.1rem 1.15rem 1.2rem;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 85%, transparent);
  background: var(--color-surface, #fff);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
.cms-c-google-review-card__head {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}
.cms-c-google-review-card__avatar {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  border-radius: 50%;
  object-fit: cover;
}
.cms-c-google-review-card__avatar--fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-on-secondary, #fff);
  background: var(--color-secondary, #b89a61);
}
.cms-c-google-review-card__author-box {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
}
.cms-c-google-review-card__author {
  font-style: normal;
  font-weight: 650;
  font-size: 0.92rem;
  color: var(--color-text, #1e293b);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cms-c-google-review-card__author a {
  color: inherit;
  text-decoration: none;
}
.cms-c-google-review-card__author a:hover, .cms-c-google-review-card__author a:focus-visible {
  text-decoration: underline;
}
.cms-c-google-review-card__date {
  font-size: 0.78rem;
  color: var(--color-text-muted, #64748b);
}
.cms-c-google-review-card__g {
  margin-left: auto;
  flex-shrink: 0;
  display: inline-flex;
  opacity: 0.9;
}
.cms-c-google-review-card__rating {
  display: inline-flex;
  gap: 0.12rem;
  margin: 0;
  font-size: 0.95rem;
  color: color-mix(in srgb, var(--color-text-muted, #64748b) 45%, transparent);
}
.cms-c-google-review-card__star.is-filled {
  color: #fbbc05;
}
.cms-c-google-review-card__body {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--color-text, #1e293b);
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.cms-c-hotres-reviews {
  --hr-star-filled: var(
    --theme-comp-reviews-star-filled,
    var(--color-secondary, var(--color-primary, #c9a227))
  );
  --hr-star-empty: var(
    --theme-comp-reviews-star-empty,
    color-mix(
      in srgb,
      var(--color-text-muted, #64748b) 72%,
      var(--color-border, #cbd5e1) 28%
    )
  );
  --hr-card-bg: var(--theme-comp-reviews-card-bg, var(--color-surface, #fff));
  --hr-card-border: var(
    --theme-comp-reviews-card-border,
    1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 82%, transparent)
  );
  --hr-title-color: var(--theme-comp-reviews-title-color, var(--color-heading, var(--color-h3, inherit)));
  --hr-body-color: var(--theme-comp-reviews-body-color, var(--color-text, #1e293b));
  --hr-author-color: var(
    --theme-comp-reviews-author-color,
    var(--color-heading, var(--color-text, #1e293b))
  );
  --hr-meta-color: var(--theme-comp-reviews-meta-color, var(--color-text-muted, #64748b));
  --hr-card-shadow: 0 10px 28px
    color-mix(in srgb, var(--color-heading, var(--color-text, #0f172a)) 6%, transparent);
  --hr-stats-bg: linear-gradient(
    135deg,
    color-mix(in srgb, var(--hr-star-filled) 9%, var(--hr-card-bg)),
    var(--hr-card-bg)
  );
  --hr-stats-kpi-bg: color-mix(in srgb, var(--hr-card-bg) 90%, var(--hr-star-filled));
  --hr-stats-kpi-border: color-mix(in srgb, var(--color-border, #e2e8f0) 78%, var(--hr-star-filled));
  --hr-stats-kpi-pad-y: var(--theme-comp-reviews-stats-kpi-pad-y, 0.55rem);
  --hr-stats-kpi-pad-x: var(--theme-comp-reviews-stats-kpi-pad-x, 0.95rem);
  --hr-ring-track: color-mix(in srgb, var(--hr-star-empty) 70%, var(--color-border, #e2e8f0));
  --hr-bar-track: color-mix(in srgb, var(--color-border, #e2e8f0) 68%, transparent);
  --hr-bar-fill: linear-gradient(
    90deg,
    color-mix(in srgb, var(--hr-star-filled) 82%, var(--color-primary, var(--hr-star-filled))),
    var(--hr-star-filled)
  );
  --hr-badge-shadow: 0 4px 14px
    color-mix(in srgb, var(--color-heading, var(--color-text, #0f172a)) 7%, transparent);
  --hr-quote-mark: color-mix(in srgb, var(--hr-star-filled) 48%, transparent);
  --cms-swiper-chrome-nav-border: var(--hr-star-filled);
  --cms-swiper-chrome-nav-bg: var(--hr-card-bg);
  --cms-swiper-chrome-nav-color: var(--hr-author-color);
  --cms-swiper-chrome-nav-hover-bg: var(--hr-star-filled);
  --cms-swiper-chrome-nav-hover-color: var(--color-on-secondary, #fff);
  --cms-swiper-chrome-bullet-active: var(--hr-star-filled);
  width: 100%;
}
.cms-c-hotres-reviews__title {
  margin: 0 0 1.1rem;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
  color: var(--hr-title-color);
}
.cms-c-hotres-reviews__loader {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  min-height: 140px;
  padding: 1.5rem 1rem;
  color: var(--hr-meta-color);
}
.cms-c-hotres-reviews__loader-spinner {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 3px solid color-mix(in srgb, var(--color-border, #e2e8f0) 70%, transparent);
  border-top-color: var(--hr-star-filled);
  animation: cms-hotres-reviews-spin 0.85s linear infinite;
}
.cms-c-hotres-reviews__loader-text {
  font-size: 0.9rem;
}
.cms-c-hotres-reviews__error {
  padding: 0.85rem 1rem;
  border-radius: var(--theme-comp-reviews-card-radius, 10px);
  border: 1px solid color-mix(in srgb, #dc2626 32%, var(--color-border, #e2e8f0));
  background: color-mix(in srgb, #dc2626 7%, var(--hr-card-bg));
  color: color-mix(in srgb, #991b1b 88%, var(--hr-body-color));
  font-size: 0.9rem;
}
.cms-c-hotres-reviews.is-loaded .cms-c-hotres-reviews__loader {
  display: none;
}
.cms-c-hotres-reviews.is-error .cms-c-hotres-reviews__loader {
  display: none;
}
.cms-c-hotres-reviews__stats {
  margin-bottom: 1.25rem;
  padding: 1.15rem 1.25rem 1.2rem;
  border-radius: var(--theme-comp-reviews-card-radius, 16px);
  border: var(--hr-card-border);
  background: var(--hr-stats-bg);
  box-shadow: var(--hr-card-shadow);
}
@media (max-width: 991.98px) {
  .cms-c-hotres-reviews__stats {
    margin-bottom: 0.85rem;
    padding: 0.75rem 0.9rem 0.85rem;
  }
  .cms-c-hotres-reviews__stats .cms-c-hotres-reviews__stats-bars {
    display: none;
  }
  .cms-c-hotres-reviews__stats .cms-c-hotres-reviews__stats-foot {
    display: none;
  }
  .cms-c-hotres-reviews__stats .cms-c-hotres-reviews__stats-score-ring {
    width: 3.75rem;
    height: 3.75rem;
  }
  .cms-c-hotres-reviews__stats .cms-c-hotres-reviews__stats-score-value {
    font-size: 1.15rem;
  }
  .cms-c-hotres-reviews__stats .cms-c-hotres-reviews__stats-kpis {
    gap: 0.4rem;
  }
  .cms-c-hotres-reviews__stats .cms-c-hotres-reviews__stats-kpi {
    min-width: 0;
    min-height: 0;
    padding-block: 0.35rem;
    padding-inline: 0.65rem;
  }
  .cms-c-hotres-reviews__stats .cms-c-hotres-reviews__stats-meta {
    display: none;
  }
}
.cms-c-hotres-reviews__stats-main {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.25rem;
}
.cms-c-hotres-reviews__stats-score-ring {
  --hr-score-pct: 90;
  position: relative;
  width: 5.5rem;
  height: 5.5rem;
  flex-shrink: 0;
  border-radius: 50%;
  background: conic-gradient(var(--hr-star-filled) calc(var(--hr-score-pct) * 1%), var(--hr-ring-track) 0);
  display: grid;
  place-items: center;
}
.cms-c-hotres-reviews__stats-score-inner {
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border-radius: 50%;
  background: var(--hr-card-bg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.05;
}
.cms-c-hotres-reviews__stats-score-value {
  font-size: 1.45rem;
  font-weight: 700;
  color: var(--hr-author-color);
}
.cms-c-hotres-reviews__stats-score-max {
  font-size: 0.72rem;
  color: var(--hr-meta-color);
}
.cms-c-hotres-reviews__stats-copy {
  flex: 1;
  min-width: min(100%, 220px);
}
.cms-c-hotres-reviews__stats-headline {
  margin: 0 0 0.55rem;
  font-size: 0.95rem;
  color: var(--hr-body-color);
}
.cms-c-hotres-reviews__stats-shown {
  color: var(--hr-meta-color);
}
.cms-c-hotres-reviews__stats-kpis {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 0.85rem;
}
.cms-c-hotres-reviews__stats-kpis > .cms-c-hotres-reviews__stats-kpi,
.cms-c-hotres-reviews li.cms-c-hotres-reviews__stats-kpi {
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.12rem;
  min-height: 2.45rem;
  min-width: 5.5rem;
  padding-block: var(--hr-stats-kpi-pad-y);
  padding-inline: var(--hr-stats-kpi-pad-x);
  border-radius: 999px;
  background: var(--hr-stats-kpi-bg);
  border: 1px solid var(--hr-stats-kpi-border);
}
.cms-c-hotres-reviews__stats-kpi-value {
  display: block;
  width: 100%;
  padding-inline: 0.05rem;
  line-height: 1.15;
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--hr-author-color);
}
.cms-c-hotres-reviews__stats-kpi-label {
  display: block;
  width: 100%;
  padding-inline: 0.05rem;
  line-height: 1.2;
  font-size: 0.72rem;
  color: var(--hr-meta-color);
}
.cms-c-hotres-reviews__stats-meta {
  margin: 0.55rem 0 0;
  font-size: 0.82rem;
  color: var(--hr-meta-color);
}
.cms-c-hotres-reviews__stats-bars {
  margin-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.cms-c-hotres-reviews__stats-bar-row {
  display: grid;
  grid-template-columns: 1.1rem 1fr 1.6rem;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.78rem;
  color: var(--hr-meta-color);
}
.cms-c-hotres-reviews__stats-bar-label {
  font-weight: 700;
  color: var(--hr-author-color);
}
.cms-c-hotres-reviews__stats-bar-track {
  display: block;
  height: 7px;
  border-radius: 999px;
  background: var(--hr-bar-track);
  overflow: hidden;
}
.cms-c-hotres-reviews__stats-bar-fill {
  display: block;
  height: 100%;
  width: max(4px, var(--hr-bar-pct, 0) * 1%);
  border-radius: inherit;
  background: var(--hr-bar-fill);
}
.cms-c-hotres-reviews__stats-bar-count {
  text-align: right;
}
.cms-c-hotres-reviews__stats-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 0.85rem;
}
.cms-c-hotres-reviews__stats-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.28rem 0.6rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background: var(--hr-card-bg);
  border: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 82%, transparent);
  color: var(--hr-meta-color);
}
.cms-c-hotres-reviews__stats--compact {
  padding: 0.85rem 1rem;
}
.cms-c-hotres-reviews__stats--compact .cms-c-hotres-reviews__stats-main {
  gap: 0.75rem;
}
.cms-c-hotres-reviews__stats--compact .cms-c-hotres-reviews__stats-score-ring {
  width: 4.2rem;
  height: 4.2rem;
}
.cms-c-hotres-reviews__stats--compact .cms-c-hotres-reviews__stats-bars {
  display: none;
}
.cms-c-hotres-reviews__stats--quote {
  text-align: center;
}
.cms-c-hotres-reviews__stats--quote .cms-c-hotres-reviews__stats-main {
  flex-direction: column;
  align-items: center;
}
.cms-c-hotres-reviews__stats--quote .cms-c-hotres-reviews__stats-kpis {
  justify-content: center;
}
.cms-c-hotres-reviews__stats--quote .cms-c-hotres-reviews__stats-foot {
  justify-content: center;
}
.cms-c-hotres-reviews__stats--list .cms-c-hotres-reviews__stats-bars {
  max-width: 320px;
}
.cms-c-hotres-reviews__head {
  margin-bottom: 1.1rem;
}
.cms-c-hotres-reviews__head--simple {
  margin-bottom: 1rem;
}
.cms-c-hotres-reviews__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.85rem;
}
.cms-c-hotres-reviews__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  background: var(--hr-card-bg);
  border: var(--hr-card-border);
  color: var(--hr-star-filled);
  box-shadow: var(--hr-badge-shadow);
  font-size: 1.15rem;
}
.cms-c-hotres-reviews__rating {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  font-size: 0.92rem;
  color: var(--hr-meta-color);
}
.cms-c-hotres-reviews__rating-value {
  font-size: 1.15rem;
  color: var(--hr-author-color);
}
.cms-c-hotres-reviews__count {
  white-space: nowrap;
}
.cms-c-hotres-reviews__grid {
  --hr-cols-m: 1;
  --hr-cols-t: 2;
  --hr-cols-d: 3;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(var(--hr-cols-m), minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px) {
  .cms-c-hotres-reviews__grid {
    grid-template-columns: repeat(var(--hr-cols-t), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-hotres-reviews__grid {
    grid-template-columns: repeat(var(--hr-cols-d), minmax(0, 1fr));
  }
}
.cms-c-hotres-reviews__tile, .cms-c-hotres-reviews__quote-item {
  min-width: 0;
  display: flex;
  align-items: stretch;
}
.cms-c-hotres-reviews__tile > .cms-c-hotres-review-card, .cms-c-hotres-reviews__quote-item > .cms-c-hotres-review-card {
  width: 100%;
  height: 100%;
}
.cms-c-hotres-reviews__quotes {
  --hr-cols-m: 1;
  --hr-cols-t: 2;
  --hr-cols-d: 2;
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(var(--hr-cols-m), minmax(0, 1fr));
  gap: 1rem;
}
@media (min-width: 768px) {
  .cms-c-hotres-reviews__quotes {
    grid-template-columns: repeat(var(--hr-cols-t), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-hotres-reviews__quotes {
    grid-template-columns: repeat(var(--hr-cols-d), minmax(0, 1fr));
  }
}
.cms-c-hotres-reviews__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.cms-c-hotres-reviews__list-item {
  border-bottom: var(--hr-card-border);
}
.cms-c-hotres-reviews__list-item:last-child {
  border-bottom: 0;
}
.cms-c-hotres-reviews__compact {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}
.cms-c-hotres-reviews__slider {
  position: relative;
}
.cms-c-hotres-reviews__slider .swiper-slide {
  height: auto;
  display: flex;
}
.cms-c-hotres-reviews__slider .swiper-slide > .cms-c-hotres-review-card {
  width: 100%;
}
.cms-c-hotres-reviews__slider-chrome {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  margin-top: 0.9rem;
}
.cms-c-hotres-reviews__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--cms-swiper-chrome-nav-border, var(--color-secondary, #b89a61));
  border-radius: 50%;
  background: var(--cms-swiper-chrome-nav-bg, var(--color-surface, #fff));
  color: var(--cms-swiper-chrome-nav-color, var(--color-text, #1e293b));
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease;
}
.cms-c-hotres-reviews__nav:hover, .cms-c-hotres-reviews__nav:focus-visible {
  background: var(--cms-swiper-chrome-nav-hover-bg, var(--color-secondary, #b89a61));
  color: var(--cms-swiper-chrome-nav-hover-color, var(--color-on-secondary, #fff));
}
.cms-c-hotres-reviews__nav.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}
.cms-c-hotres-reviews__pagination {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.cms-c-hotres-reviews__pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-text-muted, #64748b) 45%, transparent);
  opacity: 1;
  transition: background-color 0.18s ease, transform 0.18s ease;
}
.cms-c-hotres-reviews__pagination .swiper-pagination-bullet-active {
  background: var(--cms-swiper-chrome-bullet-active, var(--color-secondary, #b89a61));
  transform: scale(1.25);
}

.cms-c-hotres-review-card {
  --hr-star-filled: var(
    --theme-comp-reviews-star-filled,
    var(--color-secondary, var(--color-primary, #c9a227))
  );
  --hr-star-empty: var(
    --theme-comp-reviews-star-empty,
    color-mix(
      in srgb,
      var(--color-text-muted, #64748b) 72%,
      var(--color-border, #cbd5e1) 28%
    )
  );
  --hr-card-bg: var(--theme-comp-reviews-card-bg, var(--color-surface, #fff));
  --hr-card-border: var(
    --theme-comp-reviews-card-border,
    1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 85%, transparent)
  );
  --hr-body-color: var(--theme-comp-reviews-body-color, var(--color-text, #1e293b));
  --hr-author-color: var(
    --theme-comp-reviews-author-color,
    var(--color-heading, var(--color-text, #1e293b))
  );
  --hr-meta-color: var(--theme-comp-reviews-meta-color, var(--color-text-muted, #64748b));
  --hr-ring-track: color-mix(in srgb, var(--hr-star-empty) 70%, var(--color-border, #e2e8f0));
  --hr-quote-mark: color-mix(in srgb, var(--hr-star-filled) 48%, transparent);
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  margin: 0;
  padding: var(--theme-comp-reviews-card-padding, 1.1rem 1.15rem 1.2rem);
  border-radius: var(--theme-comp-reviews-card-radius, 14px);
  border: var(--hr-card-border);
  background: var(--hr-card-bg);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--color-heading, var(--color-text, #0f172a)) 6%, transparent);
}
.cms-c-hotres-review-card__rating {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.15rem 0.35rem;
  margin: 0;
  font-size: var(--theme-comp-reviews-star-size, 0.95rem);
}
.cms-c-hotres-review-card__star {
  color: var(--hr-star-empty);
}
.cms-c-hotres-review-card__star.is-filled {
  color: var(--hr-star-filled);
}
.cms-c-hotres-review-card__score-ring {
  --hr-review-score-pct: 80;
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 2.85rem;
  height: 2.85rem;
  flex-shrink: 0;
  margin-left: 0.15rem;
  border-radius: 50%;
  background: conic-gradient(var(--hr-star-filled) calc(var(--hr-review-score-pct) * 1%), var(--hr-ring-track) 0);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--hr-star-filled) 16%, transparent);
}
.cms-c-hotres-review-card__score-inner {
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  border-radius: 50%;
  background: var(--hr-card-bg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-align: center;
}
.cms-c-hotres-review-card__score-value {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--hr-author-color);
}
.cms-c-hotres-review-card__score-max {
  font-size: 0.58rem;
  font-weight: 600;
  color: var(--hr-meta-color);
}
.cms-c-hotres-review-card__body-wrap {
  --hr-clamp-lines: 3;
  --hr-body-lh: 1.55;
  position: relative;
  margin: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
@media (min-width: 992px) {
  .cms-c-hotres-review-card__body-wrap {
    --hr-clamp-lines: 4;
  }
}
.cms-c-hotres-review-card__body {
  margin: 0;
  font-size: 0.95rem;
  line-height: var(--hr-body-lh, 1.55);
  color: var(--hr-body-color);
  white-space: pre-line;
}
.cms-c-hotres-review-card .js-hotres-review-clamp.is-clamped .cms-c-hotres-review-card__body {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--hr-clamp-lines);
  overflow: hidden;
  height: calc(1em * var(--hr-body-lh) * var(--hr-clamp-lines));
  max-height: calc(1em * var(--hr-body-lh) * var(--hr-clamp-lines));
}
.cms-c-hotres-review-card .js-hotres-review-clamp.is-clamped.is-truncated::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.65rem;
  height: 1.85rem;
  pointer-events: none;
  background: linear-gradient(to bottom, color-mix(in srgb, var(--hr-card-bg) 0%, transparent), var(--hr-card-bg));
}
.cms-c-hotres-review-card .js-hotres-review-clamp.is-clamped.is-truncated .cms-c-hotres-review-card__expand {
  display: inline-flex;
}
@media (max-width: 991.98px) {
  .cms-c-hotres-review-card {
    padding: 0.9rem 0.95rem 1rem;
    gap: 0.4rem;
  }
  .cms-c-hotres-review-card .cms-c-hotres-review-card__rating {
    gap: 0.1rem 0.25rem;
    font-size: 0.85rem;
  }
  .cms-c-hotres-review-card .cms-c-hotres-review-card__score-ring {
    width: 2.45rem;
    height: 2.45rem;
  }
  .cms-c-hotres-review-card .cms-c-hotres-review-card__body-wrap {
    --hr-body-lh: 1.5;
  }
  .cms-c-hotres-review-card .cms-c-hotres-review-card__body {
    font-size: 0.9rem;
  }
  .cms-c-hotres-review-card .cms-c-hotres-review-card__expand {
    margin-top: 0.3rem;
    font-size: 0.82rem;
    min-height: 2.25rem;
    align-items: center;
  }
}
.cms-c-hotres-review-card__expand {
  display: none;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.35rem;
  align-self: flex-start;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-primary, #0f766e);
  font: inherit;
  font-size: 0.86rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.cms-c-hotres-review-card__expand:hover, .cms-c-hotres-review-card__expand:focus-visible {
  color: var(--color-primary-dark, var(--color-primary, #0f766e));
}
.cms-c-hotres-review-card__expand:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary, #0f766e) 55%, transparent);
  outline-offset: 2px;
}
.cms-c-hotres-review-card__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.65rem;
  margin-top: auto;
  font-size: 0.82rem;
}
.cms-c-hotres-review-card__author {
  font-style: normal;
  font-weight: 600;
  color: var(--hr-author-color);
}
.cms-c-hotres-review-card__date, .cms-c-hotres-review-card__source, .cms-c-hotres-review-card__account {
  color: var(--hr-meta-color);
}
.cms-c-hotres-review-card__source--primary {
  font-style: normal;
  font-weight: 600;
  color: var(--hr-author-color);
}
.cms-c-hotres-review-card--list {
  flex-direction: row;
  align-items: flex-start;
  gap: 0.85rem;
  padding: var(--theme-comp-reviews-card-padding, 1rem 0);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.cms-c-hotres-review-card--list .cms-c-hotres-review-card__rating {
  flex-direction: column;
  align-items: center;
  min-width: 3rem;
}
.cms-c-hotres-review-card--list .cms-c-hotres-review-card__star {
  display: none;
}
.cms-c-hotres-review-card--list .cms-c-hotres-review-card__score-ring {
  margin-left: 0;
}
.cms-c-hotres-review-card--list .cms-c-hotres-review-card__body-wrap {
  flex: 1;
  min-width: 0;
}
.cms-c-hotres-review-card--compact {
  flex-direction: row;
  align-items: flex-start;
  gap: 0.75rem;
  padding: var(--theme-comp-reviews-card-padding, 0.75rem 0.95rem);
  border-radius: var(--theme-comp-reviews-card-radius, 10px);
  border: var(--hr-card-border);
  background: var(--hr-card-bg);
}
.cms-c-hotres-review-card--compact .cms-c-hotres-review-card__rating {
  flex-direction: column;
  align-items: center;
  min-width: 3.2rem;
}
.cms-c-hotres-review-card--compact .cms-c-hotres-review-card__star {
  display: none;
}
.cms-c-hotres-review-card--compact .cms-c-hotres-review-card__score-ring {
  margin-left: 0;
}
.cms-c-hotres-review-card--compact .cms-c-hotres-review-card__body-wrap {
  flex: 1;
  min-width: 0;
}
.cms-c-hotres-review-card--compact .cms-c-hotres-review-card__body {
  font-size: 0.88rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cms-c-hotres-review-card--compact .cms-c-hotres-review-card__foot {
  display: none;
}
.cms-c-hotres-review-card--quote {
  position: relative;
  padding-top: 1.35rem;
}
.cms-c-hotres-review-card--quote .cms-c-hotres-review-card__quote-mark {
  position: absolute;
  top: 0.35rem;
  left: 0.85rem;
  font-size: 2.4rem;
  line-height: 1;
  color: var(--hr-quote-mark);
  font-family: Georgia, "Times New Roman", serif;
}
.cms-c-hotres-review-card--quote .cms-c-hotres-review-card__body {
  font-size: 1.02rem;
  font-style: italic;
}

@keyframes cms-hotres-reviews-spin {
  to {
    transform: rotate(360deg);
  }
}
html.hotres-review-modal-open,
body.hotres-review-modal-open {
  overflow: hidden;
}

.hotres-review-modal[hidden] {
  display: none !important;
}

.hotres-review-modal.is-open {
  position: fixed;
  inset: 0;
  z-index: 12050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.hotres-review-modal__backdrop {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, #0f172a 52%, transparent);
  border: 0;
  padding: 0;
  cursor: pointer;
}

.hotres-review-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(34rem, 100%);
  max-height: min(85vh, 40rem);
  overflow: auto;
  margin: 0;
  padding: 1.35rem 1.25rem 1.2rem;
  border-radius: var(--theme-comp-reviews-card-radius, 16px);
  border: var(--theme-comp-reviews-card-border, 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 85%, transparent));
  background: var(--theme-comp-reviews-card-bg, var(--color-surface, #fff));
  box-shadow: 0 24px 60px color-mix(in srgb, #0f172a 28%, transparent);
  color: var(--theme-comp-reviews-body-color, var(--color-text, #1e293b));
}

.hotres-review-modal__close {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  display: inline-grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-border, #e2e8f0) 55%, transparent);
  color: var(--color-heading, var(--color-text, #0f172a));
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1;
}
.hotres-review-modal__close:hover, .hotres-review-modal__close:focus-visible {
  background: color-mix(in srgb, var(--color-border, #e2e8f0) 85%, transparent);
}
.hotres-review-modal__close:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary, #0f766e) 55%, transparent);
  outline-offset: 2px;
}

.hotres-review-modal__rating {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.55rem;
  margin: 0 2rem 0.85rem 0;
  font-size: 0.95rem;
}

.hotres-review-modal__stars {
  display: inline-flex;
  gap: 0.1rem;
  color: var(--theme-comp-reviews-star-empty, #94a3b8);
}
.hotres-review-modal__stars .is-filled {
  color: var(--theme-comp-reviews-star-filled, var(--color-secondary, var(--color-primary, #c9a227)));
}

.hotres-review-modal__score {
  font-weight: 700;
  color: var(--theme-comp-reviews-author-color, var(--color-heading, #0f172a));
}

.hotres-review-modal__body {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6;
  white-space: pre-line;
  color: var(--theme-comp-reviews-body-color, var(--color-text, #1e293b));
}

.hotres-review-modal__foot {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  margin-top: 1rem;
  font-size: 0.85rem;
  color: var(--theme-comp-reviews-meta-color, var(--color-text-muted, #64748b));
}

.hotres-review-modal__source {
  font-weight: 600;
  color: var(--theme-comp-reviews-author-color, var(--color-heading, #0f172a));
}

@media (max-width: 575.98px) {
  .hotres-review-modal.is-open {
    align-items: flex-end;
    padding: 0;
  }
  .hotres-review-modal__dialog {
    width: 100%;
    max-height: 88vh;
    border-radius: 16px 16px 0 0;
    padding: 1.2rem 1rem 1.35rem;
  }
}
@keyframes cms-map-placeholder-shimmer {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: -100% 0;
  }
}
.cms-c-mapx {
  --cms-mapx-accent: var(--color-primary, #206bc4);
}
.cms-c-mapx--accent-secondary {
  --cms-mapx-accent: var(--color-secondary, #4263eb);
}
.cms-c-mapx--accent-text {
  --cms-mapx-accent: var(--color-text, #1f2933);
}
.cms-c-mapx {
  display: block;
}

.cms-c-mapx__head {
  margin-bottom: 1rem;
  text-align: center;
}

.cms-c-mapx__title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.4rem, 3.6vw, 2rem);
  line-height: 1.15;
}

.cms-c-mapx__lead {
  margin: 0 auto;
  max-width: 60ch;
  color: var(--color-text-muted, #647084);
}

.cms-c-mapx__shell {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: var(--cms-mapx-max-width, none);
  margin-inline: auto;
  height: var(--cms-mapx-height, 440px);
  min-height: 220px;
  border-radius: var(--cms-mapx-radius, 16px);
  border: var(--cms-mapx-border-w, 0px) solid var(--cms-mapx-border-color, var(--color-border, #e2e6ea));
  overflow: hidden;
  background: var(--color-surface-soft, #f1f3f7);
  box-shadow: var(--cms-mapx-shadow, var(--cms-map-shell-shadow, 0 10px 34px rgba(var(--color-shadow-rgb, 15, 23, 42), 0.12)));
  z-index: 0;
}
.cms-c-mapx__shell--ratio {
  height: auto;
  aspect-ratio: var(--cms-mapx-ratio, 16/9);
}
.cms-c-mapx__shell:fullscreen, .cms-c-mapx__shell:-webkit-full-screen {
  height: 100%;
  max-height: none;
  max-width: none;
  border-radius: 0;
}
.cms-c-mapx__shell:fullscreen .cms-c-mapx__canvas, .cms-c-mapx__shell:-webkit-full-screen .cms-c-mapx__canvas {
  min-height: 0;
  flex: 1;
  height: 100%;
}

.cms-c-mapx__fullscreen {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  z-index: 450;
}

@media (max-width: 640px) {
  .cms-c-mapx__fullscreen-label {
    display: none;
  }
}
.cms-c-mapx__canvas {
  width: 100%;
  flex: 1;
  min-height: 220px;
  height: 100%;
  position: relative;
}
.cms-c-mapx__canvas .leaflet-container {
  width: 100%;
  height: 100%;
  font: inherit;
  background: #dfe7ed;
}
.cms-c-mapx__canvas .leaflet-bar {
  border: 0;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.25);
}
.cms-c-mapx__canvas .leaflet-bar a,
.cms-c-mapx__canvas .leaflet-bar a:hover,
.cms-c-mapx__canvas .leaflet-bar a:focus {
  width: 32px;
  height: 32px;
  line-height: 32px;
  background-color: #ffffff !important;
  color: #1f2933 !important;
  border: 0 !important;
  border-bottom: 1px solid #e2e6ea !important;
  text-decoration: none;
  font-size: 1.15rem;
}
.cms-c-mapx__canvas .leaflet-bar a:last-child {
  border-bottom: 0 !important;
}
.cms-c-mapx__canvas .leaflet-bar a:hover {
  background-color: #f1f3f7 !important;
  color: #0b0f14 !important;
}
.cms-c-mapx__canvas .leaflet-bar a.leaflet-disabled {
  background-color: #f4f4f4 !important;
  color: #b6bdc6 !important;
}
.cms-c-mapx__canvas .leaflet-control-attribution {
  background: rgba(255, 255, 255, 0.85);
  color: #4b5563;
  font-size: 0.66rem;
}
.cms-c-mapx__canvas .leaflet-control-attribution a {
  color: #2563eb !important;
  text-decoration: none;
}
.cms-c-mapx__canvas .leaflet-popup-content-wrapper,
.cms-c-mapx__canvas .leaflet-popup-tip {
  background: #ffffff;
  color: #1f2933;
  box-shadow: 0 8px 26px rgba(15, 23, 42, 0.28);
}
.cms-c-mapx__canvas .leaflet-popup-content-wrapper {
  border-radius: 12px;
}
.cms-c-mapx__canvas .leaflet-popup-close-button {
  color: #6b7280 !important;
}
.cms-c-mapx__canvas .leaflet-popup-close-button:hover {
  color: #111827 !important;
}
.cms-c-mapx__canvas .leaflet-marker-icon,
.cms-c-mapx__canvas .leaflet-marker-shadow {
  filter: none;
}
.cms-c-mapx__canvas .cms-mapx-pin {
  background: none;
  border: 0;
  color: var(--cms-mapx-accent, #206bc4);
}
.cms-c-mapx__canvas .cms-mapx-pin svg {
  display: block;
  filter: drop-shadow(0 4px 8px rgba(15, 23, 42, 0.35));
}
.cms-c-mapx__canvas[data-cms-map-error]::after {
  content: "Nie udało się załadować mapy. Odśwież stronę.";
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 1rem;
  text-align: center;
  font-size: 0.92rem;
  color: var(--color-text-muted, #647084);
  animation: none;
  background: transparent;
}
.cms-c-mapx__canvas:not([data-cms-map-ready])::after {
  content: "";
  display: block;
  height: 100%;
  background: linear-gradient(110deg, color-mix(in srgb, var(--color-surface-soft, #f5f3f0) 88%, var(--color-surface, #fff)) 8%, var(--color-surface, #fff) 18%, color-mix(in srgb, var(--color-surface-soft, #f5f3f0) 88%, var(--color-surface, #fff)) 33%);
  background-size: 200% 100%;
  animation: cms-map-placeholder-shimmer 1.4s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .cms-c-mapx__canvas:not([data-cms-map-ready])::after {
    animation: none;
  }
}
.cms-mapx-pop {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 150px;
}

.cms-mapx-pop__title {
  font-size: 1rem;
  font-weight: 700;
  color: #1f2933;
}

.cms-mapx-pop__desc {
  font-size: 0.88rem;
  color: #647084;
}

.cms-mapx-pop__link {
  align-self: flex-start;
  margin-top: 0.15rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--cms-mapx-accent, #206bc4) !important;
  text-decoration: none;
}
.cms-mapx-pop__link:hover {
  background: none !important;
  text-decoration: underline;
}

.cms-c-lodging-map {
  --cms-lodging-map-accent: var(--color-primary, #206bc4);
}
.cms-c-lodging-map--accent-secondary {
  --cms-lodging-map-accent: var(--color-secondary, #4263eb);
}
.cms-c-lodging-map--accent-text {
  --cms-lodging-map-accent: var(--color-text, #1f2933);
}

.cms-c-lodging-map__head {
  margin-bottom: 1.25rem;
  max-width: 52rem;
}

.cms-c-lodging-map__title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  line-height: 1.2;
}

.cms-c-lodging-map__lead {
  margin: 0 0 0.65rem;
  color: var(--color-text-muted, #5c6670);
}

.cms-c-lodging-map__count {
  margin: 0;
  font-size: 0.875rem;
  color: var(--color-text-muted, #5c6670);
}

.cms-c-lodging-map__count-value {
  font-weight: 700;
  color: var(--cms-lodging-map-accent);
}

.cms-c-lodging-map__shell {
  position: relative;
  max-width: var(--cms-lodging-map-max-width, none);
  margin-inline: auto;
  border-radius: var(--cms-lodging-map-radius, 16px);
  overflow: hidden;
  border: var(--cms-lodging-map-border-w, 0) solid var(--cms-lodging-map-border-color, var(--color-border, #e2e6ea));
  box-shadow: var(--cms-lodging-map-shadow, var(--cms-map-shell-shadow, 0 10px 34px rgba(var(--color-shadow-rgb, 15, 23, 42), 0.12)));
}

.cms-c-lodging-map__shell.ui-map-skin {
  overflow: hidden;
}

.cms-c-lodging-map__root {
  position: relative;
  min-height: var(--cms-lodging-map-height, 520px);
  overflow: hidden;
}

.cms-c-lodging-map__shell--ratio .cms-c-lodging-map__root {
  min-height: 0;
  aspect-ratio: var(--cms-lodging-map-ratio, 16/9);
}

.cms-c-lodging-map__canvas {
  width: 100%;
  height: 100%;
  min-height: inherit;
  overflow: hidden;
  position: relative;
  isolation: isolate;
}

.cms-c-lodging-map__root:not([data-cms-lodging-map-ready]) .cms-c-lodging-map__canvas {
  background: linear-gradient(110deg, color-mix(in srgb, var(--color-surface-soft, #f5f3f0) 88%, var(--color-surface, #fff)) 8%, var(--color-surface, #fff) 18%, color-mix(in srgb, var(--color-surface-soft, #f5f3f0) 88%, var(--color-surface, #fff)) 33%);
  background-size: 200% 100%;
  animation: cms-map-placeholder-shimmer 1.4s ease-in-out infinite;
}

.cms-c-lodging-map__root[data-cms-lodging-map-error] .cms-c-lodging-map__canvas {
  animation: none;
  background: var(--color-surface-soft, #f5f3f0);
}

.cms-c-lodging-map .marker-cluster-small,
.cms-c-lodging-map .marker-cluster-medium,
.cms-c-lodging-map .marker-cluster-large {
  background-color: var(--cms-lodging-map-cluster-halo, color-mix(in srgb, var(--cms-lodging-map-cluster-bg, var(--cms-lodging-map-accent)) 28%, transparent));
}
.cms-c-lodging-map .marker-cluster-small div,
.cms-c-lodging-map .marker-cluster-medium div,
.cms-c-lodging-map .marker-cluster-large div {
  background-color: var(--cms-lodging-map-cluster-bg, var(--cms-lodging-map-accent));
  color: var(--cms-lodging-map-cluster-text, var(--color-on-primary, #fff));
  font-weight: 700;
  font-size: 0.8125rem;
}
.cms-c-lodging-map .leaflet-container {
  overflow: hidden;
  font-family: inherit;
  z-index: 1;
}
.cms-c-lodging-map .leaflet-popup-pane {
  z-index: 900;
}
.cms-c-lodging-map .leaflet-popup.ui-map-popup-leaflet--lodging {
  margin-bottom: 6px;
}
.cms-c-lodging-map .leaflet-popup.ui-map-popup-leaflet--lodging .leaflet-popup-content-wrapper {
  border-color: color-mix(in srgb, var(--color-border, #e7e5e4) 92%, var(--cms-lodging-map-accent));
}
.cms-c-lodging-map .leaflet-popup.ui-map-popup-leaflet--lodging .leaflet-popup-content {
  margin: 0;
  min-width: 220px;
  line-height: 1.4;
}
.cms-c-lodging-map .leaflet-popup.ui-map-popup-leaflet--lodging .leaflet-popup-tip {
  border-color: color-mix(in srgb, var(--color-border, #e7e5e4) 92%, var(--cms-lodging-map-accent));
}
.cms-c-lodging-map .leaflet-control-attribution {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .cms-c-lodging-map__root:not([data-cms-lodging-map-ready]) .cms-c-lodging-map__canvas {
    animation: none;
  }
}
.cms-c-attract-map {
  --cms-attract-map-accent: var(--color-primary, #206bc4);
}
.cms-c-attract-map--accent-secondary {
  --cms-attract-map-accent: var(--color-secondary, #4263eb);
}
.cms-c-attract-map--accent-text {
  --cms-attract-map-accent: var(--color-text, #1f2933);
}

.cms-c-attract-map__head {
  margin-bottom: 1.25rem;
  max-width: 52rem;
}

.cms-c-attract-map__title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  line-height: 1.2;
}

.cms-c-attract-map__lead {
  margin: 0 0 0.65rem;
  color: var(--color-text-muted, #5c6670);
}

.cms-c-attract-map__count {
  margin: 0;
  font-size: 0.875rem;
  color: var(--color-text-muted, #5c6670);
}

.cms-c-attract-map__count-value {
  font-weight: 700;
  color: var(--color-text, #1c1917);
}

.cms-c-attract-map__shell {
  box-shadow: var(--cms-map-shell-shadow, 0 10px 34px rgba(var(--color-shadow-rgb, 15, 23, 42), 0.12));
  border-radius: var(--cms-attract-map-radius, 16px);
  overflow: hidden;
  border: var(--cms-attract-map-border-w, 0) solid var(--cms-attract-map-border-color, transparent);
  box-shadow: var(--cms-attract-map-shadow, var(--cms-map-shell-shadow, 0 10px 34px rgba(15, 23, 42, 0.12)));
  max-width: var(--cms-attract-map-max-width, none);
  margin-inline: auto;
}

.cms-c-attract-map__shell--ratio {
  aspect-ratio: var(--cms-attract-map-ratio, 16/9);
  height: auto;
}

.cms-c-attract-map__shell:not(.cms-c-attract-map__shell--ratio) {
  height: var(--cms-attract-map-height, 520px);
}

.cms-c-attract-map__root {
  width: 100%;
  height: 100%;
  min-height: inherit;
  overflow: hidden;
  position: relative;
  isolation: isolate;
}

.cms-c-attract-map__root:not([data-cms-attract-map-ready]) .cms-c-attract-map__canvas {
  background: linear-gradient(110deg, color-mix(in srgb, var(--color-surface-soft, #f5f3f0) 88%, var(--color-surface, #fff)) 8%, var(--color-surface, #fff) 18%, color-mix(in srgb, var(--color-surface-soft, #f5f3f0) 88%, var(--color-surface, #fff)) 33%);
  background-size: 200% 100%;
  animation: cms-map-placeholder-shimmer 1.4s ease-in-out infinite;
}

.cms-c-attract-map__root[data-cms-attract-map-error] .cms-c-attract-map__canvas {
  animation: none;
  background: var(--color-surface-soft, #f5f3f0);
}

.cms-c-attract-map__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.cms-c-attract-map__filters--buttons {
  gap: 0.65rem;
}

.cms-c-attract-map__filter {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--attract-filter-color, var(--color-border, #e7e5e4)) 55%, var(--color-border, #e7e5e4));
  background: var(--color-surface, #fff);
  color: var(--color-text, #1c1917);
  font-size: 0.875rem;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.cms-c-attract-map__filters--buttons .cms-c-attract-map__filter {
  border-radius: 10px;
}

.cms-c-attract-map__filter:hover {
  border-color: color-mix(in srgb, var(--attract-filter-color, var(--color-primary, #2563eb)) 45%, var(--color-border, #e7e5e4));
}

.cms-c-attract-map__filter.is-active {
  background: color-mix(in srgb, var(--attract-filter-color, var(--color-primary, #2563eb)) 14%, var(--color-surface, #fff));
  border-color: color-mix(in srgb, var(--attract-filter-color, var(--color-primary, #2563eb)) 55%, var(--color-border, #e7e5e4));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--attract-filter-color, var(--color-primary, #2563eb)) 18%, transparent);
}

.cms-c-attract-map__filter[data-category-slug=__all].is-active {
  background: color-mix(in srgb, var(--cms-attract-map-accent, var(--color-primary, #2563eb)) 12%, var(--color-surface, #fff));
  border-color: color-mix(in srgb, var(--cms-attract-map-accent, var(--color-primary, #2563eb)) 45%, var(--color-border, #e7e5e4));
}

.cms-c-attract-map__filter-dot {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: var(--attract-filter-color, var(--color-primary, #2563eb));
  flex-shrink: 0;
}

.cms-c-attract-map__filter-count {
  opacity: 0.72;
  font-size: 0.8125rem;
}

.cms-c-attract-map__legend {
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  border-radius: 12px;
  background: var(--color-surface-soft, #f8fafc);
  border: 1px solid var(--color-border, #e7e5e4);
}

.cms-c-attract-map__legend-title {
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-muted, #5c6670);
  margin-bottom: 0.55rem;
}

.cms-c-attract-map__legend-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
}

.cms-c-attract-map__legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.875rem;
  color: var(--color-text, #1c1917);
}

.cms-c-attract-map__legend-swatch {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  border: 1px solid rgba(15, 23, 42, 0.12);
  flex-shrink: 0;
}

.cms-c-attract-map__legend-count {
  opacity: 0.7;
  font-size: 0.8125rem;
}

.cms-c-attract-map .cms-attract-map-pin__inner {
  background: radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.38) 0%, transparent 52%), linear-gradient(152deg, color-mix(in srgb, var(--cms-attract-map-pin-fill, #e11d48) 92%, #fff), color-mix(in srgb, var(--cms-attract-map-pin-fill, #e11d48) 48%, #0f172a));
  border-color: var(--color-surface, #fff);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--cms-attract-map-pin-fill, #e11d48) 45%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
.cms-c-attract-map .marker-cluster-small,
.cms-c-attract-map .marker-cluster-medium,
.cms-c-attract-map .marker-cluster-large {
  background-color: var(--cms-attract-map-cluster-halo, color-mix(in srgb, var(--cms-attract-map-cluster-bg, var(--cms-attract-map-accent, var(--color-primary, #2563eb))) 28%, transparent));
}
.cms-c-attract-map .marker-cluster-small div,
.cms-c-attract-map .marker-cluster-medium div,
.cms-c-attract-map .marker-cluster-large div {
  background-color: var(--cms-attract-map-cluster-bg, var(--cms-attract-map-accent, var(--color-primary, #2563eb)));
  color: var(--cms-attract-map-cluster-text, var(--color-on-primary, #fff));
  font-weight: 700;
  font-size: 0.8125rem;
}
.cms-c-attract-map .leaflet-container {
  overflow: hidden;
  font-family: inherit;
  z-index: 1;
}
.cms-c-attract-map .leaflet-popup-pane {
  z-index: 900;
}
.cms-c-attract-map .leaflet-popup.ui-map-popup-leaflet--attract {
  margin-bottom: 6px;
}
.cms-c-attract-map .leaflet-popup.ui-map-popup-leaflet--attract .leaflet-popup-content-wrapper {
  border-color: color-mix(in srgb, var(--color-border, #e7e5e4) 92%, var(--cms-attract-map-accent, var(--color-primary, #2563eb)));
}
.cms-c-attract-map .leaflet-popup.ui-map-popup-leaflet--attract .leaflet-popup-content {
  margin: 0;
  min-width: 220px;
  line-height: 1.4;
}
.cms-c-attract-map .leaflet-popup.ui-map-popup-leaflet--attract .leaflet-popup-tip {
  border-color: color-mix(in srgb, var(--color-border, #e7e5e4) 92%, var(--cms-attract-map-accent, var(--color-primary, #2563eb)));
}
.cms-c-attract-map .ui-map-popup-card__meta--category::before {
  content: "";
  display: inline-block;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  margin-right: 0.35rem;
  vertical-align: 0.05em;
  background: var(--attract-popup-cat-color, var(--cms-attract-map-accent, var(--color-primary, #2563eb)));
}
.cms-c-attract-map .leaflet-control-attribution {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .cms-c-attract-map__root:not([data-cms-attract-map-ready]) .cms-c-attract-map__canvas {
    animation: none;
  }
}
.cms-c-gallery-pick {
  display: block;
}
.cms-c-gallery-pick .media-gallery {
  margin: 1.25rem 0 0;
  width: 100%;
}
.cms-c-gallery-pick .media-gallery.media-gallery--collage .media-gallery__collage {
  min-height: clamp(280px, 48vw, 520px);
}

.cms-c-gallery-pick__head {
  margin-bottom: 1rem;
  text-align: center;
}

.cms-c-gallery-pick__title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.4rem, 3.6vw, 2rem);
  line-height: 1.15;
}

.cms-c-gallery-pick__lead {
  margin: 0 auto;
  max-width: 60ch;
  color: var(--color-text-muted, #647084);
}

.cms-c-gallery-pick__empty {
  padding: 1.25rem;
  border: 1px dashed var(--color-border, #d7dce5);
  border-radius: 12px;
  color: var(--color-text-muted, #647084);
  text-align: center;
}

.cms-c-mgt {
  --mgt-tab-gap: var(--theme-comp-mgt-tab-gap, 0.5rem);
  --mgt-tab-pad-x: var(--theme-comp-mgt-tab-padding-x, 1rem);
  --mgt-tab-pad-y: var(--theme-comp-mgt-tab-padding-y, 0.625rem);
  --mgt-tab-font-size: var(--theme-comp-mgt-tab-font-size, 0.9375rem);
  --mgt-tab-font-size-mobile: var(--theme-comp-mgt-tab-font-size-mobile, 0.875rem);
  --mgt-tab-font-weight: var(--theme-comp-mgt-tab-font-weight, 600);
  --mgt-tab-color: var(--theme-comp-mgt-tab-color, var(--bs-body-color, #334155));
  --mgt-tab-color-hover: var(--theme-comp-mgt-tab-color-hover, var(--bs-primary, #2563eb));
  --mgt-tab-color-active: var(--theme-comp-mgt-tab-color-active, var(--bs-primary, #2563eb));
  --mgt-tab-bg-hover: var(--theme-comp-mgt-tab-bg-hover, rgba(37, 99, 235, 0.06));
  --mgt-tab-bg-active: var(--theme-comp-mgt-tab-bg-active, rgba(37, 99, 235, 0.1));
  --mgt-tab-border-active: var(--theme-comp-mgt-tab-border-active, var(--bs-primary, #2563eb));
  --mgt-tab-radius: var(--theme-comp-mgt-tab-radius, 0.5rem);
  --mgt-panel-gap: var(--theme-comp-mgt-panel-gap, 1.25rem);
}
.cms-c-mgt__head {
  margin-bottom: 1.25rem;
}
.cms-c-mgt__title {
  margin: 0 0 0.5rem;
}
.cms-c-mgt__lead {
  color: var(--bs-secondary-color, #64748b);
}
.cms-c-mgt__tabs-wrap {
  margin-bottom: var(--mgt-panel-gap);
  overflow: hidden;
}
.cms-c-mgt__tabs-scroll {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--mgt-tab-gap);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-bottom: 0.25rem;
}
@media (min-width: 768px) {
  .cms-c-mgt__tabs-scroll {
    flex-wrap: wrap;
    overflow-x: visible;
  }
}
.cms-c-mgt__tab {
  flex: 0 0 auto;
  appearance: none;
  border: 1px solid transparent;
  background: transparent;
  color: var(--mgt-tab-color);
  font-size: var(--mgt-tab-font-size-mobile);
  font-weight: var(--mgt-tab-font-weight);
  line-height: 1.25;
  padding: var(--mgt-tab-pad-y) var(--mgt-tab-pad-x);
  border-radius: var(--mgt-tab-radius);
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .cms-c-mgt__tab {
    font-size: var(--mgt-tab-font-size);
  }
}
.cms-c-mgt__tab:hover, .cms-c-mgt__tab:focus-visible {
  color: var(--mgt-tab-color-hover);
  background: var(--mgt-tab-bg-hover);
  outline: none;
}
.cms-c-mgt__tab.is-active {
  color: var(--mgt-tab-color-active);
  background: var(--mgt-tab-bg-active);
}
.cms-c-mgt--tabs .cms-c-mgt__tab.is-active {
  border-color: color-mix(in srgb, var(--mgt-tab-border-active) 35%, transparent);
  box-shadow: inset 0 -2px 0 var(--mgt-tab-border-active);
}
.cms-c-mgt--underline .cms-c-mgt__tab {
  border-radius: 0;
  border-bottom: 2px solid transparent;
}
.cms-c-mgt--underline .cms-c-mgt__tab.is-active {
  background: transparent;
  border-bottom-color: var(--mgt-tab-border-active);
  box-shadow: none;
}
.cms-c-mgt--pills .cms-c-mgt__tab.is-active {
  border-color: color-mix(in srgb, var(--mgt-tab-border-active) 25%, transparent);
}
.cms-c-mgt__panels {
  position: relative;
}
.cms-c-mgt__panel[hidden] {
  display: none !important;
}
.cms-c-mgt__panel.is-loading .cms-c-mgt__lazy-placeholder {
  display: flex;
}
.cms-c-mgt__lazy-placeholder {
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 12rem;
  color: var(--bs-secondary-color, #64748b);
}
.cms-c-mgt__lazy-spinner {
  width: 2rem;
  height: 2rem;
  border: 2px solid color-mix(in srgb, currentColor 25%, transparent);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: cms-mgt-spin 0.8s linear infinite;
}
.cms-c-mgt__error {
  margin: 1rem 0;
  color: var(--bs-danger, #dc3545);
}

.cms-c-mgt-panel__intro {
  margin-bottom: 1rem;
}
.cms-c-mgt-panel__intro:empty {
  display: none;
}

.cms-c-mgt-panel__gallery .media-gallery {
  width: 100%;
}

@keyframes cms-mgt-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 639.98px) {
  .cms-c-mgt__tabs-scroll {
    margin-inline: calc(var(--cms-section-content-padding-x-sm, 0px) * -0.5);
    padding-inline: calc(var(--cms-section-content-padding-x-sm, 0px) * 0.5);
  }
}
.section-gallery {
  --section-gallery-gap: clamp(0.4rem, 1.1cqw, 0.72rem);
  --section-gallery-radius: var(--mg-img-radius, var(--theme-comp-tile-media-radius, var(--layout-radius, 8px)));
  --section-gallery-shadow: var(--mg-shadow-soft, 0 12px 28px rgba(var(--color-shadow-rgb, 15 23 42), 0.14));
  --section-gallery-min-h: clamp(260px, 36cqw, 520px);
  container-type: inline-size;
  container-name: section-gallery;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  min-height: var(--section-gallery-min-h);
}

.section-gallery__grid {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: inherit;
  min-width: 0;
  gap: var(--section-gallery-gap);
}

.section-gallery__item {
  min-width: 0;
  min-height: 0;
  position: relative;
  overflow: hidden;
  border-radius: var(--section-gallery-radius);
  box-shadow: var(--section-gallery-shadow);
  transition: transform 0.24s ease, box-shadow 0.24s ease;
}

.section-gallery__item .media-gallery__figure,
.section-gallery__item .media-gallery__hit {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  border-radius: inherit;
  overflow: hidden;
}

.section-gallery__item picture {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.section-gallery__item img,
.section-gallery__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: var(--mg-img-object, cover);
  border-radius: inherit;
}

.section-gallery__item .media-shortcode-figure--video .cms-video-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.section-gallery.media-gallery--tile-height-custom .section-gallery__item .media-shortcode-figure--video {
  height: auto;
  min-height: var(--mg-tile-cell-h-mobile, clamp(120px, 28vw, 180px));
  aspect-ratio: auto;
}

@container section-gallery (min-width: 520px) {
  .section-gallery.media-gallery--tile-height-custom .section-gallery__item .media-shortcode-figure--video {
    min-height: var(--mg-tile-cell-h-tablet, var(--mg-tile-cell-h-mobile, clamp(120px, 28vw, 180px)));
    height: var(--mg-tile-cell-h-tablet, var(--mg-tile-cell-h-mobile, auto));
  }
}
@container section-gallery (min-width: 820px) {
  .section-gallery.media-gallery--tile-height-custom .section-gallery__item .media-shortcode-figure--video {
    min-height: var(--mg-tile-cell-h-desktop, var(--mg-tile-cell-h-tablet, var(--mg-tile-cell-h-mobile, clamp(120px, 28vw, 180px))));
    height: var(--mg-tile-cell-h-desktop, var(--mg-tile-cell-h-tablet, var(--mg-tile-cell-h-mobile, auto)));
  }
}
.media-gallery.media-gallery--hover-lift .section-gallery__item:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(var(--color-shadow-rgb, 15 23 42), 0.16);
}

.section-gallery--layout-1 .section-gallery__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1.35fr) minmax(0, 1fr);
}

.section-gallery--layout-1 .section-gallery__item--0 {
  grid-column: 1/-1;
}

.section-gallery--layout-1 .section-gallery__item--1,
.section-gallery--layout-1 .section-gallery__item--2 {
  aspect-ratio: auto;
}

.section-gallery--layout-1 .section-gallery__item:nth-child(n+4) {
  display: none;
}

.section-gallery__overflow-btn,
.section-gallery__overflow-badge {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0.75rem;
  border: 0;
  border-radius: inherit;
  background: color-mix(in srgb, var(--color-text, #111) 52%, transparent);
  color: #fff;
  text-align: center;
  cursor: pointer;
  backdrop-filter: blur(2px);
}

.section-gallery__overflow-badge {
  pointer-events: none;
  font-size: 0.95rem;
  font-weight: 700;
}

.section-gallery__overflow-count {
  font-size: clamp(1.05rem, 2.4cqw, 1.35rem);
  font-weight: 800;
  line-height: 1.15;
}

.section-gallery__overflow-cta {
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.92;
}

.section-gallery__overflow-btn:hover,
.section-gallery__overflow-btn:focus-visible {
  background: color-mix(in srgb, var(--color-text, #111) 62%, transparent);
}

.section-gallery--layout-2 .section-gallery__grid {
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.74fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.section-gallery--layout-2 .section-gallery__item--0 {
  grid-column: 1;
  grid-row: 1/span 2;
}

.section-gallery--layout-2 .section-gallery__item--1 {
  grid-column: 2;
  grid-row: 1;
}

.section-gallery--layout-2 .section-gallery__item--2 {
  grid-column: 2;
  grid-row: 2;
}

.section-gallery--layout-2 .section-gallery__item:nth-child(n+4) {
  display: none;
}

.section-gallery--layout-3 .section-gallery__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.section-gallery--layout-3 .section-gallery__item:nth-child(n+5) {
  display: none;
}

.section-gallery--layout-4 .section-gallery__grid {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}

.section-gallery--layout-4 .section-gallery__item:nth-child(n+2) {
  display: none;
}

.section-gallery--layout-5 .section-gallery__grid {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  position: relative;
}

.section-gallery--layout-5 .section-gallery__item--0 {
  grid-column: 1;
  grid-row: 1;
}

.section-gallery--layout-5 .section-gallery__item--1 {
  position: absolute;
  right: clamp(0.35rem, 3cqw, 0.85rem);
  bottom: clamp(0.35rem, 3cqw, 0.85rem);
  width: clamp(34%, 11cqw, 42%);
  aspect-ratio: 4/3;
  z-index: 2;
  box-shadow: 0 14px 32px rgba(var(--color-shadow-rgb, 15 23 42), 0.22);
}

.section-gallery--layout-5 .section-gallery__item:nth-child(n+3) {
  display: none;
}

.section-gallery--layout-6 .section-gallery__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
}

.section-gallery--layout-6 .section-gallery__item {
  aspect-ratio: 3/4;
}

.section-gallery--layout-6 .section-gallery__item:nth-child(n+4) {
  display: none;
}

.section-gallery--layout-7 .section-gallery__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: repeat(6, minmax(0, 1fr));
}

.section-gallery--layout-7 .section-gallery__item--0 {
  grid-column: 1/span 4;
  grid-row: 1/span 4;
}

.section-gallery--layout-7 .section-gallery__item--1 {
  grid-column: 4/span 3;
  grid-row: 3/span 3;
  z-index: 2;
  margin-top: calc(var(--section-gallery-gap) * -0.5);
}

.section-gallery--layout-7 .section-gallery__item--2 {
  grid-column: 2/span 3;
  grid-row: 5/span 2;
  z-index: 1;
  margin-left: calc(var(--section-gallery-gap) * 0.35);
}

.section-gallery--layout-7 .section-gallery__item:nth-child(n+4) {
  display: none;
}

.section-gallery--layout-8 .section-gallery__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1fr) minmax(0, 0.28fr);
}

.section-gallery--layout-8 .section-gallery__item--0 {
  grid-column: 1/-1;
  grid-row: 1;
}

.section-gallery--layout-8 .section-gallery__item--1 {
  grid-column: 1/span 2;
  grid-row: 2;
}

.section-gallery--layout-8 .section-gallery__item--2 {
  grid-column: 3/span 2;
  grid-row: 2;
}

.section-gallery--layout-8 .section-gallery__item--3 {
  grid-column: 5/span 2;
  grid-row: 2;
}

.section-gallery--layout-8 .section-gallery__item:nth-child(n+5) {
  display: none;
}

.section-gallery--layout-9 .section-gallery__grid {
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  grid-template-rows: minmax(0, 1.1fr) minmax(0, 0.9fr);
}

.section-gallery--layout-9 .section-gallery__item--0 {
  grid-column: 1;
  grid-row: 1/span 2;
  aspect-ratio: 3/4;
}

.section-gallery--layout-9 .section-gallery__item--1 {
  grid-column: 2;
  grid-row: 1;
  aspect-ratio: 16/10;
}

.section-gallery--layout-9 .section-gallery__item--2 {
  grid-column: 2;
  grid-row: 2;
  aspect-ratio: 16/9;
}

.section-gallery--layout-9 .section-gallery__item:nth-child(n+4) {
  display: none;
}

.section-gallery--layout-10 .section-gallery__grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.72fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  isolation: isolate;
  padding: 2px 10px 6px 2px;
}

.section-gallery--layout-10 .section-gallery__item--0 {
  grid-column: 1;
  grid-row: 1/span 2;
  z-index: 3;
  transform: rotate(-1.6deg);
  margin-right: calc(var(--section-gallery-gap) * -1.8);
}

.section-gallery--layout-10 .section-gallery__item--1 {
  grid-column: 2;
  grid-row: 1;
  z-index: 2;
  transform: rotate(1.4deg);
  margin-top: calc(var(--section-gallery-gap) * -0.6);
  margin-left: calc(var(--section-gallery-gap) * -0.4);
}

.section-gallery--layout-10 .section-gallery__item--2 {
  grid-column: 2;
  grid-row: 2;
  z-index: 1;
  transform: rotate(-1deg);
  margin-top: calc(var(--section-gallery-gap) * -1.2);
  margin-left: calc(var(--section-gallery-gap) * -0.8);
}

.section-gallery--layout-10 .section-gallery__item:hover {
  z-index: 5;
  transform: rotate(0deg) scale(1.015);
}

.section-gallery--layout-10 .section-gallery__item:nth-child(n+4) {
  display: none;
}

.intro-section .photo-stack .section-gallery,
.cms-section--intro-split .photo-stack .section-gallery,
.cms-section--split-40-60 .cms-section__slot:first-child .section-gallery,
.cms-section--split-60-40 .cms-section__slot:first-child .section-gallery {
  flex: 1 1 auto;
  min-height: clamp(300px, 40cqw, 560px);
}

.intro-section .photo-stack .media-gallery.media-gallery--section-gallery,
.cms-section--intro-split .photo-stack .media-gallery.media-gallery--section-gallery {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}

@container section-gallery (max-width: 420px) {
  .section-gallery--layout-2 .section-gallery__grid,
  .section-gallery--layout-9 .section-gallery__grid,
  .section-gallery--layout-10 .section-gallery__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto;
  }
  .section-gallery--layout-2 .section-gallery__item--0,
  .section-gallery--layout-10 .section-gallery__item--0 {
    grid-row: auto;
    grid-column: 1;
    min-height: clamp(180px, 52cqw, 280px);
    margin-right: 0;
    transform: none;
  }
  .section-gallery--layout-2 .section-gallery__item--1,
  .section-gallery--layout-2 .section-gallery__item--2,
  .section-gallery--layout-10 .section-gallery__item--1,
  .section-gallery--layout-10 .section-gallery__item--2 {
    grid-column: 1;
    min-height: clamp(120px, 34cqw, 200px);
    margin: 0;
    transform: none;
  }
  .section-gallery--layout-6 .section-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .section-gallery--layout-7 .section-gallery__grid {
    grid-template-rows: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 767.98px) {
  .section-gallery {
    --section-gallery-min-h: auto;
    min-height: 0;
  }
  .section-gallery__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    height: auto;
    min-height: 0;
  }
  .section-gallery__item,
  .section-gallery__item--0,
  .section-gallery__item--1,
  .section-gallery__item--2,
  .section-gallery__item--3 {
    grid-column: 1 !important;
    grid-row: auto !important;
    position: relative !important;
    width: 100% !important;
    min-height: clamp(160px, 42vw, 260px);
    aspect-ratio: auto;
    margin: 0 !important;
    transform: none !important;
  }
  .section-gallery--layout-5 .section-gallery__item--1 {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    margin-top: var(--section-gallery-gap);
  }
  .section-gallery--layout-6 .section-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .section-gallery--layout-6 .section-gallery__item {
    aspect-ratio: 3/4;
    min-height: 140px;
  }
  .section-gallery--layout-8 .section-gallery__grid {
    grid-template-rows: auto auto !important;
  }
  .section-gallery--layout-8 .section-gallery__item--1,
  .section-gallery--layout-8 .section-gallery__item--2,
  .section-gallery--layout-8 .section-gallery__item--3 {
    grid-column: span 1 !important;
    min-height: 100px;
  }
  .section-gallery--layout-3 .section-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 479.98px) {
  .section-gallery--layout-6 .section-gallery__grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
.cms-c-pgt {
  --pgt-cols-mobile: 1;
  --pgt-cols-tablet: 2;
  --pgt-cols-desktop: 3;
  --pgt-gap: 1rem;
  display: block;
}
.cms-c-pgt--gap-sm {
  --pgt-gap: 0.6rem;
}
.cms-c-pgt--gap-md {
  --pgt-gap: 1rem;
}
.cms-c-pgt--gap-lg {
  --pgt-gap: 1.5rem;
}
.cms-c-pgt--gap-xl {
  --pgt-gap: 2rem;
}

.cms-c-pgt__head {
  margin-bottom: 1rem;
  text-align: center;
}

.cms-c-pgt__title {
  margin: 0 0 0.35rem;
  font-size: clamp(1.4rem, 3.6vw, 2rem);
  line-height: 1.15;
}

.cms-c-pgt__lead {
  margin: 0 auto;
  max-width: 60ch;
  color: var(--color-text-muted, #647084);
}

.cms-c-pgt__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--color-surface, #fff);
  border: 1px solid var(--color-border, #e6e9ef);
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.cms-c-pgt__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.14);
}

.cms-c-pgt__media {
  aspect-ratio: 16/10;
  background: var(--color-surface-soft, #f1f3f7);
  overflow: hidden;
}
.cms-c-pgt__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cms-c-pgt__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--color-text-muted, #98a2b3);
  font-size: 0.85rem;
}

.cms-c-pgt__body {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.85rem 1rem 1.1rem;
}

.cms-c-pgt__name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.25;
}

.cms-c-pgt__desc {
  margin: 0;
  font-size: 0.9rem;
  color: var(--color-text-muted, #647084);
}

.cms-c-pgt--grid .cms-c-pgt__items {
  display: grid;
  gap: var(--pgt-gap);
  grid-template-columns: repeat(var(--pgt-cols-mobile), minmax(0, 1fr));
}

@media (min-width: 640px) {
  .cms-c-pgt--grid .cms-c-pgt__items {
    grid-template-columns: repeat(var(--pgt-cols-tablet), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-pgt--grid .cms-c-pgt__items {
    grid-template-columns: repeat(var(--pgt-cols-desktop), minmax(0, 1fr));
  }
}
.cms-c-pgt--slider .cms-c-pgt__items {
  display: grid;
  grid-auto-flow: column;
  gap: var(--pgt-gap);
  grid-auto-columns: minmax(78%, 1fr);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.5rem;
  scrollbar-width: thin;
}
.cms-c-pgt--slider .cms-c-pgt__items > .cms-c-pgt__card {
  scroll-snap-align: start;
}

@media (min-width: 640px) {
  .cms-c-pgt--slider .cms-c-pgt__items {
    grid-auto-columns: minmax(46%, 1fr);
  }
}
@media (min-width: 992px) {
  .cms-c-pgt--slider .cms-c-pgt__items {
    grid-auto-columns: calc((100% - (var(--pgt-cols-desktop) - 1) * var(--pgt-gap)) / var(--pgt-cols-desktop));
  }
}
.cms-c-pgt--list .cms-c-pgt__items {
  display: flex;
  flex-direction: column;
  gap: var(--pgt-gap);
}

.cms-c-pgt--list .cms-c-pgt__card {
  flex-direction: row;
  align-items: stretch;
}

.cms-c-pgt--list .cms-c-pgt__media {
  flex: 0 0 38%;
  max-width: 220px;
  aspect-ratio: auto;
}

.cms-c-pgt--list .cms-c-pgt__body {
  justify-content: center;
}

.cms-c-ctc {
  --ctc-cols-mobile: 1;
  --ctc-rows-mobile: 1;
  --ctc-cols-tablet: 2;
  --ctc-rows-tablet: 2;
  --ctc-cols-desktop: 3;
  --ctc-rows-desktop: 2;
  --ctc-cols: var(--ctc-cols-mobile);
  --ctc-rows: var(--ctc-rows-mobile);
  --ctc-gap: 1rem;
  width: 100%;
}
.cms-c-ctc--gap-sm {
  --ctc-gap: 0.65rem;
}
.cms-c-ctc--gap-md {
  --ctc-gap: 1rem;
}
.cms-c-ctc--gap-lg {
  --ctc-gap: 1.35rem;
}
@media (min-width: 768px) {
  .cms-c-ctc {
    --ctc-cols: var(--ctc-cols-tablet);
    --ctc-rows: var(--ctc-rows-tablet);
  }
}
@media (min-width: 992px) {
  .cms-c-ctc {
    --ctc-cols: var(--ctc-cols-desktop);
    --ctc-rows: var(--ctc-rows-desktop);
  }
}

.cms-c-ctc__head {
  margin-bottom: 1.1rem;
  text-align: center;
}

.cms-c-ctc__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--theme-comp-category-tile-carousel-eyebrow-color, var(--color-primary, #206bc4));
}

.cms-c-ctc__title {
  margin: 0 0 0.4rem;
  font-size: clamp(1.35rem, 3.5vw, 2rem);
  line-height: 1.15;
  color: var(--theme-comp-category-tile-carousel-head-title-color, var(--color-text, #1e293b));
}

.cms-c-ctc__lead {
  margin: 0 auto;
  max-width: 58ch;
  color: var(--theme-comp-category-tile-carousel-head-lead-color, var(--color-text-muted, #64748b));
  font-size: 1rem;
  line-height: 1.5;
}

.cms-c-ctc__carousel {
  position: relative;
  display: flex;
  flex-direction: column;
}

.cms-c-ctc__shell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
}

.cms-c-ctc__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--theme-comp-category-tile-carousel-nav-border, var(--color-secondary, #b89a61));
  border-radius: var(--theme-comp-category-tile-carousel-nav-radius, 50%);
  background: var(--theme-comp-category-tile-carousel-nav-bg, var(--color-surface, #fff));
  color: var(--theme-comp-category-tile-carousel-nav-color, var(--color-text, #1e293b));
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}
.cms-c-ctc__nav .ti {
  font-size: 1.15rem;
  line-height: 1;
}
.cms-c-ctc__nav:hover:not(:disabled), .cms-c-ctc__nav:focus-visible:not(:disabled) {
  background: var(--color-surface-soft, #f8fafc);
  border-color: color-mix(in srgb, var(--color-secondary, #b89a61) 72%, var(--color-border));
}
.cms-c-ctc__nav:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.cms-c-ctc__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.cms-c-ctc__viewport::-webkit-scrollbar {
  display: none;
}
.cms-c-ctc__viewport {
  container-type: inline-size;
}

.cms-c-ctc__track {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(var(--ctc-rows), auto);
  grid-auto-columns: calc((100cqw - (var(--ctc-cols) - 1) * var(--ctc-gap)) / var(--ctc-cols));
  gap: var(--ctc-gap);
  width: max-content;
  min-width: 100%;
  padding-block: 0.1rem 0.25rem;
}

.cms-c-ctc__cell {
  min-width: 0;
  display: flex;
}

.cms-c-ctc--split-embed {
  --ctc-vibe-tile-min-h: clamp(9.5rem, 22cqh, 14rem);
}
.cms-c-ctc--split-embed .cms-c-ctc__track {
  grid-template-rows: repeat(var(--ctc-rows), minmax(var(--ctc-vibe-tile-min-h), 1fr));
}

.cms-c-ctc__tile {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.cms-c-ctc__pagination {
  position: absolute;
  left: 50%;
  bottom: 0.75rem;
  z-index: 4;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 1.25rem;
  margin: 0;
  transform: translateX(-50%);
  pointer-events: none;
}
.cms-c-ctc__pagination .cms-c-ctc__dot {
  pointer-events: auto;
}

.cms-c-ctc__dot {
  width: 0.55rem;
  height: 0.55rem;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: var(--theme-comp-category-tile-carousel-dot-color, color-mix(in srgb, var(--color-text-muted, #64748b) 38%, transparent));
  cursor: pointer;
  transition: transform 0.15s ease, background-color 0.15s ease;
}
.cms-c-ctc__dot.is-active {
  transform: scale(1.2);
  background: var(--theme-comp-category-tile-carousel-dot-active-color, var(--color-primary, #206bc4));
}

.cms-c-ctc .category-tile-card:hover,
.cms-c-ctc .category-tile-card:focus-visible {
  transform: var(--theme-comp-category-tile-hover-transform, translateY(-2px));
}

.cms-c-ctc .category-tile-card:not(.category-tile-card--no-media) {
  --theme-comp-category-tile-scrim-gradient: linear-gradient(
    180deg,
    rgb(15 23 42 / 0) 10%,
    rgb(15 23 42 / 0.2) 46%,
    rgb(15 23 42 / 0.82) 100%
  );
  --theme-comp-category-tile-title-color: #fff;
  --theme-comp-category-tile-desc-color: rgb(255 255 255 / 0.92);
  --theme-comp-category-tile-hover-title-color: #fff;
  --theme-comp-category-tile-hover-desc-color: rgb(255 255 255 / 0.96);
  --theme-comp-category-tile-title-shadow: 0 1px 12px rgb(0 0 0 / 0.45);
  --theme-comp-category-tile-media-hover-transform: scale(1.05);
  --theme-comp-category-tile-media-hover-transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.cms-c-ctc .category-tile-card:not(.category-tile-card--no-media) .category-tile-card__title {
  color: var(--theme-comp-category-tile-title-color);
  text-shadow: var(--theme-comp-category-tile-title-shadow);
}
.cms-c-ctc .category-tile-card:not(.category-tile-card--no-media) .category-tile-card__desc,
.cms-c-ctc .category-tile-card:not(.category-tile-card--no-media) .category-tile-card__desc p,
.cms-c-ctc .category-tile-card:not(.category-tile-card--no-media) .category-tile-card__desc span,
.cms-c-ctc .category-tile-card:not(.category-tile-card--no-media) .category-tile-card__desc li,
.cms-c-ctc .category-tile-card:not(.category-tile-card--no-media) .category-tile-card__desc a {
  color: var(--theme-comp-category-tile-desc-color);
}
.cms-c-ctc .category-tile-card:not(.category-tile-card--no-media):hover .category-tile-card__title, .cms-c-ctc .category-tile-card:not(.category-tile-card--no-media):focus-visible .category-tile-card__title {
  color: var(--theme-comp-category-tile-hover-title-color);
}
.cms-c-ctc .category-tile-card:not(.category-tile-card--no-media):hover .category-tile-card__desc, .cms-c-ctc .category-tile-card:not(.category-tile-card--no-media):focus-visible .category-tile-card__desc, .cms-c-ctc .category-tile-card:not(.category-tile-card--no-media):hover .category-tile-card__desc p, .cms-c-ctc .category-tile-card:not(.category-tile-card--no-media):focus-visible .category-tile-card__desc p {
  color: var(--theme-comp-category-tile-hover-desc-color);
}

@media (max-width: 767.98px) {
  .cms-c-ctc__shell {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.35rem;
  }
  .cms-c-ctc__nav {
    display: none;
  }
}
.cms-c-rtc {
  --cms-rtc-nav-size: 2.5rem;
  --cms-rtc-gap: 1rem;
  --cms-rtc-shadow-inset-y: clamp(10px, 1.4vw, 18px);
  --cms-rtc-shadow-inset-x: clamp(6px, 1vw, 12px);
  --cms-rtc-card-aspect: 4 / 3;
  --cms-rtc-lead-lines: 2;
  width: 100%;
  overflow: visible;
}

.cms-c-rtc__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  margin-block-end: clamp(1.25rem, 2.5vw, 2rem);
}

.cms-c-rtc__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--theme-comp-rtc-eyebrow, var(--color-text-muted, #6b7280));
}

.cms-c-rtc__title {
  margin: 0;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.2;
  color: var(--theme-comp-rtc-title, inherit);
}

.cms-c-rtc__lead {
  margin-block-start: 0.5rem;
  max-width: 42rem;
  color: var(--theme-comp-rtc-lead, var(--color-text-muted, #6b7280));
}

.cms-c-rtc__index-link {
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  color: var(--theme-comp-rtc-link, var(--color-primary, #0f766e));
}
.cms-c-rtc__index-link:hover, .cms-c-rtc__index-link:focus-visible {
  text-decoration: underline;
}

.cms-c-rtc__stage {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: visible;
}

.cms-c-rtc__carousel {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.35rem;
  overflow: visible;
}

.cms-c-rtc__carousel--no-nav {
  grid-template-columns: minmax(0, 1fr);
}

.cms-c-rtc__swiper {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  padding-block: var(--cms-rtc-shadow-inset-y);
  padding-inline: var(--cms-rtc-shadow-inset-x);
  margin-block: calc(-1 * var(--cms-rtc-shadow-inset-y));
  margin-inline: calc(-1 * var(--cms-rtc-shadow-inset-x));
}

.cms-c-rtc__swiper .swiper-wrapper {
  align-items: stretch;
}

.cms-c-rtc__slide {
  display: flex;
  height: auto;
  box-sizing: border-box;
}

.cms-c-rtc__nav {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--cms-rtc-nav-size);
  height: var(--cms-rtc-nav-size);
  border-radius: var(--theme-comp-rtc-nav-radius, 999px);
  border: 1px solid var(--theme-comp-rtc-nav-border, rgba(15, 23, 42, 0.12));
  background: var(--theme-comp-rtc-nav-bg, #fff);
  color: var(--theme-comp-rtc-nav-color, inherit);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}
.cms-c-rtc__nav:hover:not(:disabled), .cms-c-rtc__nav:focus-visible:not(:disabled) {
  background: var(--theme-comp-rtc-nav-bg-hover, #f8fafc);
}
.cms-c-rtc__nav:disabled {
  opacity: 0.35;
  cursor: default;
}
.cms-c-rtc__nav .ti {
  font-size: 1.25rem;
}

.cms-c-rtc__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block-start: calc(var(--cms-rtc-shadow-inset-y) + 1.35rem);
  padding-block: 0.15rem 0.25rem;
  min-height: 1.25rem;
}
.cms-c-rtc__pagination .swiper-pagination-bullet {
  width: 0.55rem;
  height: 0.55rem;
  margin: 0 !important;
  opacity: 1;
  background: var(--theme-comp-rtc-dot, rgba(15, 23, 42, 0.25));
}
.cms-c-rtc__pagination .swiper-pagination-bullet-active {
  background: var(--theme-comp-rtc-dot-active, var(--color-primary, #0f766e));
}

.cms-c-rtc__card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 100%;
  background: var(--theme-comp-rtc-card-bg, var(--color-surface, #fff));
  border: 1px solid color-mix(in srgb, var(--color-border, #e5e7eb) 55%, transparent);
  border-radius: var(--theme-comp-rtc-card-radius, var(--layout-radius, 12px));
  padding: var(--theme-comp-rtc-card-padding, 0.85rem);
  box-shadow: 0 1px 1px rgba(var(--color-shadow-rgb, 17, 24, 39), 0.03), 0 12px 28px rgba(var(--color-shadow-rgb, 17, 24, 39), var(--theme-comp-tile-shadow-alpha, 0.08));
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.32s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.24s ease;
}
.cms-c-rtc__card:hover, .cms-c-rtc__card:focus-within {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, rgb(var(--color-primary-rgb, 15, 118, 110)) 28%, var(--color-border, #e5e7eb));
  box-shadow: 0 1px 1px rgba(var(--color-shadow-rgb, 17, 24, 39), 0.04), 0 18px 36px rgba(var(--color-shadow-rgb, 17, 24, 39), 0.12), 0 0 0 1px color-mix(in srgb, rgb(var(--color-primary-rgb, 15, 118, 110)) 10%, transparent);
}

.cms-c-rtc__card-media {
  flex: 0 0 auto;
}

.cms-c-rtc__media-link {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: var(--cms-rtc-card-aspect);
  border-radius: var(--theme-comp-rtc-media-radius, calc(var(--layout-radius, 12px) - 2px));
}
.cms-c-rtc__media-link img,
.cms-c-rtc__media-link picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.32s ease, filter 0.32s ease;
}

.cms-c-rtc__card:hover .cms-c-rtc__media-link img,
.cms-c-rtc__card:focus-within .cms-c-rtc__media-link img {
  transform: scale(1.045);
  filter: brightness(1.04) saturate(1.06);
}

.cms-c-rtc__card .ui-tile__no-img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 12rem;
  background: rgba(15, 23, 42, 0.06);
  color: rgba(15, 23, 42, 0.35);
  font-size: 2rem;
}

.cms-c-rtc__card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding-top: 0.85rem;
  gap: 0.35rem;
}

.cms-c-rtc__card-title {
  margin: 0;
  font-size: clamp(1rem, 1.6vw, 1.125rem);
  font-weight: 700;
  line-height: 1.3;
}
@media (min-width: 880px) {
  .cms-c-rtc__card-title {
    min-height: 2.6em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}

.cms-c-rtc__card-lead {
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--cms-rtc-lead-lines);
  overflow: hidden;
  line-height: 1.45;
}
@media (min-width: 880px) {
  .cms-c-rtc__card-lead {
    min-height: calc(1.45em * var(--cms-rtc-lead-lines));
  }
}

.cms-c-rtc__card-footer {
  margin-top: auto;
  padding-top: 0.65rem;
}

.cms-c-rtc__card-cta {
  width: 100%;
  justify-content: center;
  text-align: center;
}

@media (max-width: 575.98px) {
  .cms-c-rtc__stage {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 0.65rem;
    row-gap: 0.85rem;
  }
  .cms-c-rtc__carousel {
    display: contents;
  }
  .cms-c-rtc__swiper {
    grid-column: 1/-1;
  }
  .cms-c-rtc__nav {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    transform: none;
    z-index: 1;
  }
  .cms-c-rtc__nav--prev {
    grid-column: 1;
    grid-row: 2;
  }
  .cms-c-rtc__nav--next {
    grid-column: 3;
    grid-row: 2;
  }
  .cms-c-rtc__pagination {
    grid-column: 2;
    grid-row: 2;
    margin-block-start: 0;
    min-height: var(--cms-rtc-nav-size);
  }
}
.home-section--locations-ribbon .section-head {
  margin-bottom: clamp(1.75rem, 3.5vw, 2.75rem);
}

.cms-builder-page .cms-section__component:has(.cms-c-section-header):has(+ .cms-section__component .home-section--locations-ribbon) .cms-c-section-header {
  margin-block-end: clamp(2rem, 4vw, 3.25rem);
}

.cms-c-atg {
  --atg-cols-mobile: 1;
  --atg-cols-tablet: 2;
  --atg-cols-desktop: 3;
  --atg-rows-mobile: 1;
  --atg-rows-tablet: 2;
  --atg-rows-desktop: 2;
  --atg-cols: var(--atg-cols-mobile);
  --atg-rows: var(--atg-rows-mobile);
  --atg-gap: 1rem;
  --atg-card-aspect: 16 / 10;
  --atg-list-media-width: 38%;
  width: 100%;
}
.cms-c-atg--gap-sm {
  --atg-gap: 0.65rem;
}
.cms-c-atg--gap-md {
  --atg-gap: 1rem;
}
.cms-c-atg--gap-lg {
  --atg-gap: 1.35rem;
}
@media (min-width: 768px) {
  .cms-c-atg {
    --atg-cols: var(--atg-cols-tablet);
    --atg-rows: var(--atg-rows-tablet);
  }
}
@media (min-width: 992px) {
  .cms-c-atg {
    --atg-cols: var(--atg-cols-desktop);
    --atg-rows: var(--atg-rows-desktop);
  }
}

.cms-c-atg__head {
  margin-bottom: 1.1rem;
  text-align: center;
}

.cms-c-atg__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--theme-comp-atg-eyebrow-color, var(--color-primary, #4b310d));
}

.cms-c-atg__title {
  margin: 0 0 0.4rem;
  font-size: clamp(1.35rem, 3.5vw, 2rem);
  line-height: 1.15;
  color: var(--theme-comp-atg-head-title-color, var(--color-text, #1c1917));
}

.cms-c-atg__lead {
  margin: 0 auto;
  max-width: 58ch;
  color: var(--theme-comp-atg-head-lead-color, var(--color-text-muted, #57534e));
  font-size: 1rem;
  line-height: 1.5;
}

.cms-c-atg__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
  text-decoration: none;
  color: inherit;
  background: var(--theme-comp-atg-card-bg, var(--color-surface, #fff));
  border: var(--theme-comp-atg-card-border-width, 1px) solid color-mix(in srgb, var(--color-border, #ebe8e4) var(--theme-comp-atg-border-mix-pct, 92%), var(--color-primary, #4b310d));
  border-radius: var(--theme-comp-atg-card-radius, 12px);
  box-shadow: 0 10px 28px rgb(28, 25, 23, var(--theme-comp-atg-shadow-alpha, 0.06));
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.cms-c-atg__card:hover {
  transform: var(--theme-comp-atg-hover-transform, translate3d(0, -4px, 0));
  box-shadow: 0 16px 36px rgb(28, 25, 23, calc(var(--theme-comp-atg-shadow-alpha, 0.06) + 0.06));
  border-color: color-mix(in srgb, var(--color-secondary, #a29061) 35%, var(--color-border, #ebe8e4));
}
.cms-c-atg__card--has-pictogram {
  overflow: visible;
}

.cms-c-atg__media {
  position: relative;
  display: block;
  aspect-ratio: var(--atg-card-aspect);
  overflow: hidden;
  background: var(--theme-comp-atg-media-bg, var(--color-surface-soft, #fafaf8));
  border-radius: var(--theme-comp-atg-card-radius, 12px) var(--theme-comp-atg-card-radius, 12px) 0 0;
}
.cms-c-atg__media img {
  width: 100%;
  height: 100%;
  object-fit: var(--theme-comp-atg-media-object-fit, cover);
  display: block;
}

.cms-c-atg__card--has-pictogram .cms-c-atg__media {
  overflow: visible;
  z-index: 2;
}
.cms-c-atg__card--has-pictogram .cms-c-atg__media img,
.cms-c-atg__card--has-pictogram .cms-c-atg__media picture,
.cms-c-atg__card--has-pictogram .cms-c-atg__media .cms-c-atg__placeholder {
  border-radius: var(--theme-comp-atg-card-radius, 12px) var(--theme-comp-atg-card-radius, 12px) 0 0;
  overflow: hidden;
}

.cms-c-atg__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 8rem;
  color: var(--theme-comp-atg-placeholder-color, var(--color-text-muted, #57534e));
  font-size: 0.9rem;
}

.cms-c-atg__body {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: var(--theme-comp-atg-body-padding, 0.85rem 1rem 1rem);
  position: relative;
  z-index: 1;
  background: var(--theme-comp-atg-card-bg, var(--color-surface, #fff));
  border-radius: 0 0 var(--theme-comp-atg-card-radius, 12px) var(--theme-comp-atg-card-radius, 12px);
}

.cms-c-atg__card--has-pictogram .cms-c-atg__body {
  overflow: visible;
  padding-top: calc(var(--theme-comp-atg-body-padding, 0.85rem) + 1.35rem);
}

.cms-c-atg__category {
  margin: 0;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--theme-comp-atg-category-color, var(--color-primary, #4b310d));
}

.cms-c-atg__name {
  margin: 0;
  font-size: var(--theme-comp-atg-title-font-size, 1.05rem);
  font-weight: var(--theme-comp-atg-title-font-weight, 700);
  line-height: 1.25;
  color: var(--theme-comp-atg-title-color, var(--color-text, #1c1917));
}

.cms-c-atg__excerpt {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--theme-comp-atg-excerpt-color, var(--color-text-muted, #57534e));
}

.cms-c-atg--grid .cms-c-atg__items {
  display: grid;
  gap: var(--atg-gap);
  grid-template-columns: repeat(var(--atg-cols-mobile), minmax(0, 1fr));
}

@media (min-width: 768px) {
  .cms-c-atg--grid .cms-c-atg__items {
    grid-template-columns: repeat(var(--atg-cols-tablet), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-atg--grid .cms-c-atg__items {
    grid-template-columns: repeat(var(--atg-cols-desktop), minmax(0, 1fr));
  }
}
.cms-c-atg--tiles .cms-c-atg__items {
  display: grid;
  gap: var(--atg-gap);
  grid-template-columns: repeat(var(--atg-cols-mobile), minmax(0, 1fr));
}

@media (min-width: 768px) {
  .cms-c-atg--tiles .cms-c-atg__items {
    grid-template-columns: repeat(var(--atg-cols-tablet), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-atg--tiles .cms-c-atg__items {
    grid-template-columns: repeat(var(--atg-cols-desktop), minmax(0, 1fr));
  }
}
.cms-c-atg--tiles .cms-c-atg__card {
  position: relative;
  border: none;
  min-height: clamp(12rem, 28vw, 18rem);
}

.cms-c-atg--tiles .cms-c-atg__media {
  position: absolute;
  inset: 0;
  aspect-ratio: auto;
  border-radius: var(--theme-comp-atg-card-radius, 12px);
}

.cms-c-atg--tiles .cms-c-atg__media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--theme-comp-atg-tile-scrim, linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.72) 100%));
  pointer-events: none;
}

.cms-c-atg--tiles .cms-c-atg__card--has-pictogram .cms-c-atg__media {
  overflow: visible;
  z-index: 2;
}
.cms-c-atg--tiles .cms-c-atg__card--has-pictogram .cms-c-atg__media img,
.cms-c-atg--tiles .cms-c-atg__card--has-pictogram .cms-c-atg__media picture,
.cms-c-atg--tiles .cms-c-atg__card--has-pictogram .cms-c-atg__media .cms-c-atg__placeholder {
  border-radius: var(--theme-comp-atg-card-radius, 12px);
}

.cms-c-atg--tiles .cms-c-atg__body {
  position: relative;
  z-index: 1;
  margin-top: auto;
  padding: var(--theme-comp-atg-tile-overlay-padding, 1rem 1.1rem 1.15rem);
  color: #fff;
  background: transparent;
  border-radius: 0 0 var(--theme-comp-atg-card-radius, 12px) var(--theme-comp-atg-card-radius, 12px);
}

.cms-c-atg--tiles .cms-c-atg__card--has-pictogram .cms-c-atg__body {
  overflow: visible;
  padding-top: calc(var(--theme-comp-atg-tile-overlay-padding, 1rem) + 1.35rem);
}

.cms-c-atg--tiles .cms-c-atg__category {
  color: color-mix(in srgb, #fff 82%, var(--color-secondary, #a29061));
}

.cms-c-atg--tiles .cms-c-atg__name {
  color: #fff;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.cms-c-atg--tiles .cms-c-atg__excerpt {
  color: rgba(255, 255, 255, 0.88);
}

.cms-c-atg--list .cms-c-atg__items {
  display: flex;
  flex-direction: column;
  gap: var(--atg-gap);
}

.cms-c-atg--list .cms-c-atg__card {
  flex-direction: row;
  align-items: stretch;
}

.cms-c-atg--list .cms-c-atg__media {
  flex: 0 0 var(--atg-list-media-width);
  max-width: 280px;
  aspect-ratio: 4/3;
  border-radius: var(--theme-comp-atg-card-radius, 12px) 0 0 var(--theme-comp-atg-card-radius, 12px);
}

.cms-c-atg--list .cms-c-atg__card--has-pictogram .cms-c-atg__media {
  z-index: 2;
  overflow: visible;
}
.cms-c-atg--list .cms-c-atg__card--has-pictogram .cms-c-atg__media img,
.cms-c-atg--list .cms-c-atg__card--has-pictogram .cms-c-atg__media picture,
.cms-c-atg--list .cms-c-atg__card--has-pictogram .cms-c-atg__media .cms-c-atg__placeholder {
  border-radius: var(--theme-comp-atg-card-radius, 12px) 0 0 var(--theme-comp-atg-card-radius, 12px);
}

.cms-c-atg--list .cms-c-atg__body {
  justify-content: center;
  border-radius: 0 var(--theme-comp-atg-card-radius, 12px) var(--theme-comp-atg-card-radius, 12px) 0;
}

.cms-c-atg--list .cms-c-atg__card--has-pictogram .cms-c-atg__body {
  overflow: visible;
  padding-top: var(--theme-comp-atg-body-padding, 0.85rem);
  padding-bottom: calc(var(--theme-comp-atg-body-padding, 1rem) + 0.65rem);
  padding-left: calc(var(--theme-comp-atg-body-padding, 1rem) + 0.5rem);
}

@media (max-width: 575.98px) {
  .cms-c-atg--list .cms-c-atg__card {
    flex-direction: column;
  }
  .cms-c-atg--list .cms-c-atg__media {
    flex: none;
    max-width: none;
    width: 100%;
    border-radius: var(--theme-comp-atg-card-radius, 12px) var(--theme-comp-atg-card-radius, 12px) 0 0;
  }
  .cms-c-atg--list .cms-c-atg__card--has-pictogram .cms-c-atg__media img,
  .cms-c-atg--list .cms-c-atg__card--has-pictogram .cms-c-atg__media picture,
  .cms-c-atg--list .cms-c-atg__card--has-pictogram .cms-c-atg__media .cms-c-atg__placeholder {
    border-radius: var(--theme-comp-atg-card-radius, 12px) var(--theme-comp-atg-card-radius, 12px) 0 0;
  }
  .cms-c-atg--list .cms-c-atg__body {
    border-radius: 0 0 var(--theme-comp-atg-card-radius, 12px) var(--theme-comp-atg-card-radius, 12px);
  }
  .cms-c-atg--list .cms-c-atg__card--has-pictogram .cms-c-atg__body {
    overflow: visible;
    padding-top: calc(var(--theme-comp-atg-body-padding, 0.85rem) + 1.35rem);
    padding-bottom: var(--theme-comp-atg-body-padding, 1rem);
    padding-left: var(--theme-comp-atg-body-padding, 1rem);
  }
}
.cms-c-atg__carousel {
  position: relative;
  display: flex;
  flex-direction: column;
}

.cms-c-atg__shell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
}

.cms-c-atg__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--theme-comp-atg-nav-border, var(--color-secondary, #a29061));
  border-radius: var(--theme-comp-atg-nav-radius, 50%);
  background: var(--theme-comp-atg-nav-bg, var(--color-surface, #fff));
  color: var(--theme-comp-atg-nav-color, var(--color-text, #1c1917));
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}
.cms-c-atg__nav .ti {
  font-size: 1.15rem;
  line-height: 1;
}
.cms-c-atg__nav:hover:not(:disabled), .cms-c-atg__nav:focus-visible:not(:disabled) {
  background: var(--color-surface-soft, #fafaf8);
  border-color: color-mix(in srgb, var(--color-secondary, #a29061) 72%, var(--color-border));
}
.cms-c-atg__nav:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.cms-c-atg__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.cms-c-atg__viewport::-webkit-scrollbar {
  display: none;
}
.cms-c-atg__viewport {
  container-type: inline-size;
}

.cms-c-atg__track {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(var(--atg-rows), auto);
  grid-auto-columns: calc((100cqw - (var(--atg-cols) - 1) * var(--atg-gap)) / var(--atg-cols));
  gap: var(--atg-gap);
  width: max-content;
  min-width: 100%;
  padding-block: 0.35rem 0.5rem;
}

.cms-c-atg__cell {
  min-width: 0;
  display: flex;
  overflow: visible;
}

.cms-c-atg__pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 0.75rem;
}

.cms-c-atg__dot {
  width: 0.55rem;
  height: 0.55rem;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: var(--theme-comp-atg-dot-color, rgba(28, 25, 23, 0.22));
  cursor: pointer;
  transition: transform 0.15s ease, background-color 0.15s ease;
}
.cms-c-atg__dot.is-active {
  transform: scale(1.2);
  background: var(--theme-comp-atg-dot-active-color, var(--color-primary, #4b310d));
}

.cms-c-atg__card--has-pictogram .attractions-card__pictogram {
  position: absolute;
  left: 10px;
  bottom: 0;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 10px;
  background: var(--color-secondary, var(--color-surface-soft));
  box-shadow: 0 6px 18px rgba(var(--color-shadow-rgb, 15, 23, 42), 0.14);
  transform: translateY(50%);
  pointer-events: none;
}

.cms-c-atg--tiles .cms-c-atg__card--has-pictogram .attractions-card__pictogram {
  bottom: auto;
  top: calc(100% - 3.25rem);
  z-index: 3;
  transform: translateY(-50%);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

.cms-c-atg__card--has-pictogram .attractions-card__pictogram-glyph {
  display: block;
  width: 1.35rem;
  height: 1.35rem;
  flex-shrink: 0;
}
.cms-c-atg__card--has-pictogram .attractions-card__pictogram-glyph--icon {
  font-size: 1.35rem;
  line-height: 1;
  color: var(--color-primary);
}
.cms-c-atg__card--has-pictogram .attractions-card__pictogram-glyph--svg {
  background-color: var(--color-primary);
  mask-image: var(--attraction-pictogram-mask);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: var(--attraction-pictogram-mask);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}

.cms-c-atg--animated .cms-c-atg__item,
.cms-c-atg--animated .cms-c-atg__cell {
  transition: opacity var(--cms-feature-enter-duration, 0.55s) var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--cms-feature-enter-delay, 0s), transform var(--cms-feature-enter-duration, 0.55s) var(--cms-feature-enter-easing, cubic-bezier(0.22, 1, 0.36, 1)) var(--cms-feature-enter-delay, 0s), filter var(--cms-feature-enter-duration, 0.55s) ease var(--cms-feature-enter-delay, 0s);
  will-change: opacity, transform, filter;
}

.cms-c-atg--animated:not(.cms-c-atg--visible) .cms-c-atg__item,
.cms-c-atg--animated:not(.cms-c-atg--visible) .cms-c-atg__cell {
  opacity: 0;
}

.cms-c-atg--animated.cms-c-atg--visible .cms-c-atg__item,
.cms-c-atg--animated.cms-c-atg--visible .cms-c-atg__cell {
  opacity: 1;
  transform: none;
  filter: none;
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(1),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(1) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 0 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(2),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(2) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 1 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(3),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(3) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 2 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(4),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(4) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 3 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(5),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(5) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 4 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(6),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(6) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 5 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(7),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(7) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 6 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(8),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(8) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 7 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(9),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(9) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 8 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(10),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(10) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 9 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(11),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(11) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 10 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(12),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(12) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 11 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(13),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(13) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 12 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(14),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(14) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 13 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(15),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(15) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 14 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(16),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(16) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 15 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(17),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(17) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 16 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(18),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(18) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 17 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(19),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(19) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 18 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(20),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(20) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 19 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(21),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(21) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 20 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(22),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(22) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 21 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(23),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(23) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 22 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(24),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(24) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 23 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(25),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(25) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 24 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(26),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(26) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 25 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(27),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(27) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 26 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(28),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(28) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 27 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(29),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(29) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 28 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(30),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(30) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 29 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(31),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(31) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 30 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(32),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(32) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 31 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(33),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(33) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 32 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(34),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(34) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 33 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(35),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(35) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 34 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(36),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(36) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 35 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(37),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(37) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 36 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(38),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(38) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 37 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(39),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(39) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 38 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(40),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(40) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 39 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(41),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(41) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 40 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(42),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(42) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 41 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(43),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(43) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 42 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(44),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(44) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 43 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(45),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(45) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 44 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(46),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(46) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 45 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(47),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(47) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 46 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--animated .cms-c-atg__item:nth-child(48),
.cms-c-atg--animated .cms-c-atg__cell:nth-child(48) {
  transition-delay: calc(var(--cms-feature-enter-delay, 0s) + 47 * var(--cms-feature-enter-stagger, 85ms));
}

.cms-c-atg--scroll-fade-up:not(.cms-c-atg--visible) .cms-c-atg__item,
.cms-c-atg--scroll-fade-up:not(.cms-c-atg--visible) .cms-c-atg__cell {
  transform: translate3d(0, var(--cms-feature-enter-distance, 28px), 0);
}

.cms-c-atg--scroll-fade-in:not(.cms-c-atg--visible) .cms-c-atg__item,
.cms-c-atg--scroll-fade-in:not(.cms-c-atg--visible) .cms-c-atg__cell {
  opacity: 0;
}

.cms-c-atg--scroll-zoom-in:not(.cms-c-atg--visible) .cms-c-atg__item,
.cms-c-atg--scroll-zoom-in:not(.cms-c-atg--visible) .cms-c-atg__cell {
  transform: scale(var(--cms-feature-enter-scale, 0.96));
}

.cms-c-atg--hover-lift-glow .cms-c-atg__card:hover {
  transform: translate3d(0, -0.45rem, 0) scale(var(--cms-feature-hover-scale, 1.02));
  box-shadow: 0 14px 36px rgba(36, 48, 43, 0.12);
}

@media (prefers-reduced-motion: reduce) {
  .cms-c-atg--animated .cms-c-atg__item,
  .cms-c-atg--animated .cms-c-atg__cell {
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}
.cms-c-quote {
  margin: 0;
  padding: 1.25rem 1.5rem;
  border-inline-start: 4px solid var(--color-primary, #2563eb);
  background: color-mix(in srgb, var(--color-surface, #fff) 92%, var(--color-primary, #2563eb) 8%);
  border-radius: var(--radius-md, 0.5rem);
}

.cms-c-quote__text {
  margin: 0;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.55;
  font-style: italic;
}

.cms-c-quote__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
}

.cms-c-quote__avatar {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  object-fit: cover;
}

.cms-c-quote__byline {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.cms-c-quote__role {
  color: var(--color-text-muted, #64748b);
  font-size: 0.9rem;
}

.cms-c-quote--align-center {
  text-align: center;
  border-inline-start: none;
  border-top: 4px solid var(--color-primary, #2563eb);
}

.cms-c-quote--align-center .cms-c-quote__meta {
  justify-content: center;
}

.cms-c-iframe__title {
  margin: 0 0 0.75rem;
}

.cms-c-iframe__wrap {
  width: 100%;
  min-height: 12rem;
  border-radius: var(--radius-md, 0.5rem);
  overflow: hidden;
  background: var(--color-surface-muted, #f1f5f9);
}

.cms-c-iframe__frame {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.cms-c-pricing__title,
.cms-c-team__title {
  margin: 0 0 0.5rem;
}

.cms-c-pricing__lead,
.cms-c-team__lead {
  margin: 0 0 1.25rem;
  color: var(--color-text-muted, #64748b);
}

.cms-c-pricing__grid--b1-md2-lg3 {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-pricing__grid--b1-md2-lg3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-pricing__grid--b1-md2-lg3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.cms-c-team__grid--b1-md2-lg3 {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-team__grid--b1-md2-lg3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-team__grid--b1-md2-lg3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.cms-c-pricing__card,
.cms-c-team__card {
  padding: 1.25rem;
  border: 1px solid color-mix(in srgb, var(--color-text, #0f172a) 12%, transparent);
  border-radius: var(--radius-md, 0.5rem);
  background: var(--color-surface, #fff);
}

.cms-c-pricing__card--highlight {
  border-color: var(--color-primary, #2563eb);
  box-shadow: 0 0 0 1px var(--color-primary, #2563eb);
}

.cms-c-pricing__price {
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0.5rem 0;
}

.cms-c-pricing__btn {
  display: inline-flex;
  margin-top: 1rem;
}

.cms-c-team__photo {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--radius-md, 0.5rem);
  margin-bottom: 0.75rem;
}

.cms-c-team__role {
  color: var(--color-text-muted, #64748b);
  margin: 0 0 0.5rem;
}

.cms-c-custom-fallback {
  padding: 1rem;
  border: 1px dashed color-mix(in srgb, var(--color-text, #0f172a) 25%, transparent);
  border-radius: var(--radius-md, 0.5rem);
}

.cms-c-pricing__features {
  --cms-pricing-features-bullet: var(--color-primary, #2563eb);
  --cms-pricing-features-text: var(--color-text, #1e293b);
  --cms-pricing-features-gap: 0.45rem;
  --cms-pricing-features-fs: 0.95rem;
  --cms-pricing-features-indent: 1.4rem;
  margin: 0.9rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--cms-pricing-features-gap);
  counter-reset: cms-pricing-feature;
}
.cms-c-pricing__features > li {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  padding-left: var(--cms-pricing-features-indent);
  color: var(--cms-pricing-features-text);
  font-size: var(--cms-pricing-features-fs);
  line-height: 1.45;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}
.cms-c-pricing__features .cms-c-pricing__feature-text {
  min-width: 0;
  flex: 1 1 auto;
}

.cms-c-pricing__features--gap-sm {
  --cms-pricing-features-gap: 0.28rem;
}

.cms-c-pricing__features--gap-md {
  --cms-pricing-features-gap: 0.45rem;
}

.cms-c-pricing__features--gap-lg {
  --cms-pricing-features-gap: 0.7rem;
}

.cms-c-pricing__features--size-sm {
  --cms-pricing-features-fs: 0.875rem;
  --cms-pricing-features-indent: 1.25rem;
}

.cms-c-pricing__features--size-md {
  --cms-pricing-features-fs: 0.95rem;
  --cms-pricing-features-indent: 1.4rem;
}

.cms-c-pricing__features--size-lg {
  --cms-pricing-features-fs: 1.05rem;
  --cms-pricing-features-indent: 1.55rem;
}

.cms-builder-page .cms-c-pricing__features--style-check > li::before,
.cms-c-pricing__features--style-check > li::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: 0.22em;
  width: 1em;
  height: 1em;
  margin: 0;
  border-radius: 999px;
  background-color: var(--cms-pricing-features-bullet);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.55 18.2 3.8 12.45l1.4-1.4 4.35 4.35L18.8 5.95l1.4 1.4z'/%3E%3C/svg%3E") center/0.78em no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9.55 18.2 3.8 12.45l1.4-1.4 4.35 4.35L18.8 5.95l1.4 1.4z'/%3E%3C/svg%3E") center/0.78em no-repeat;
}

.cms-builder-page .cms-c-pricing__features--style-dot > li::before,
.cms-c-pricing__features--style-dot > li::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0.2rem;
  top: 0.5em;
  width: 0.5em;
  height: 0.5em;
  margin: 0;
  border-radius: 50%;
  background: var(--cms-pricing-features-bullet);
}

.cms-builder-page .cms-c-pricing__features--style-disc > li::before,
.cms-c-pricing__features--style-disc > li::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0.12rem;
  top: 0.38em;
  width: 0.7em;
  height: 0.7em;
  margin: 0;
  border-radius: 50%;
  border: 2px solid var(--cms-pricing-features-bullet);
  background: transparent;
}

.cms-builder-page .cms-c-pricing__features--style-dash > li::before,
.cms-c-pricing__features--style-dash > li::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0.1rem;
  top: 0.72em;
  width: 0.7em;
  height: 0.16em;
  margin: 0;
  border-radius: 999px;
  background: var(--cms-pricing-features-bullet);
}

.cms-builder-page .cms-c-pricing__features--style-number > li,
.cms-c-pricing__features--style-number > li {
  counter-increment: cms-pricing-feature;
  padding-left: 1.75rem;
}
.cms-builder-page .cms-c-pricing__features--style-number > li::before,
.cms-c-pricing__features--style-number > li::before {
  content: counter(cms-pricing-feature) !important;
  display: inline-flex !important;
  position: absolute;
  left: 0;
  top: 0.1em;
  min-width: 1.35em;
  height: 1.35em;
  margin: 0;
  padding: 0 0.2em;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cms-pricing-features-bullet) 14%, transparent);
  color: var(--cms-pricing-features-bullet);
  font-size: 0.78em;
  font-weight: 700;
  line-height: 1;
}

.cms-builder-page .cms-c-pricing__features--style-pill > li,
.cms-c-pricing__features--style-pill > li {
  padding: 0.4rem 0.7rem 0.4rem 0.55rem;
  padding-left: 0.55rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cms-pricing-features-bullet) 10%, var(--color-surface, #fff));
  border: 1px solid color-mix(in srgb, var(--cms-pricing-features-bullet) 28%, transparent);
}
.cms-builder-page .cms-c-pricing__features--style-pill > li::before,
.cms-c-pricing__features--style-pill > li::before {
  content: "" !important;
  display: block !important;
  position: static;
  flex: 0 0 auto;
  width: 0.45em;
  height: 0.45em;
  margin: 0.4em 0 0;
  border-radius: 50%;
  background: var(--cms-pricing-features-bullet);
}

.cms-builder-page .cms-c-pricing__features--style-none > li,
.cms-c-pricing__features--style-none > li {
  padding-left: 0;
}
.cms-builder-page .cms-c-pricing__features--style-none > li::before,
.cms-c-pricing__features--style-none > li::before {
  content: none !important;
  display: none !important;
}

.cms-c-instagram__grid--b1,
.cms-c-trust-badges__grid--b1,
.cms-c-nearby-restaurants__grid--b1 {
  --cms-cols-base: 1;
  --cms-cols-md: 1;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1,
  .cms-c-trust-badges__grid--b1,
  .cms-c-nearby-restaurants__grid--b1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1,
  .cms-c-trust-badges__grid--b1,
  .cms-c-nearby-restaurants__grid--b1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2,
.cms-c-trust-badges__grid--b2,
.cms-c-nearby-restaurants__grid--b2 {
  --cms-cols-base: 2;
  --cms-cols-md: 2;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2,
  .cms-c-trust-badges__grid--b2,
  .cms-c-nearby-restaurants__grid--b2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2,
  .cms-c-trust-badges__grid--b2,
  .cms-c-nearby-restaurants__grid--b2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3,
.cms-c-trust-badges__grid--b3,
.cms-c-nearby-restaurants__grid--b3 {
  --cms-cols-base: 3;
  --cms-cols-md: 3;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3,
  .cms-c-trust-badges__grid--b3,
  .cms-c-nearby-restaurants__grid--b3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3,
  .cms-c-trust-badges__grid--b3,
  .cms-c-nearby-restaurants__grid--b3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4,
.cms-c-trust-badges__grid--b4,
.cms-c-nearby-restaurants__grid--b4 {
  --cms-cols-base: 4;
  --cms-cols-md: 4;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4,
  .cms-c-trust-badges__grid--b4,
  .cms-c-nearby-restaurants__grid--b4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4,
  .cms-c-trust-badges__grid--b4,
  .cms-c-nearby-restaurants__grid--b4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b5,
.cms-c-trust-badges__grid--b5,
.cms-c-nearby-restaurants__grid--b5 {
  --cms-cols-base: 5;
  --cms-cols-md: 5;
  --cms-cols-lg: 5;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b5,
  .cms-c-trust-badges__grid--b5,
  .cms-c-nearby-restaurants__grid--b5 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b5,
  .cms-c-trust-badges__grid--b5,
  .cms-c-nearby-restaurants__grid--b5 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b6,
.cms-c-trust-badges__grid--b6,
.cms-c-nearby-restaurants__grid--b6 {
  --cms-cols-base: 6;
  --cms-cols-md: 6;
  --cms-cols-lg: 6;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b6,
  .cms-c-trust-badges__grid--b6,
  .cms-c-nearby-restaurants__grid--b6 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b6,
  .cms-c-trust-badges__grid--b6,
  .cms-c-nearby-restaurants__grid--b6 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md1-lg1,
.cms-c-trust-badges__grid--b1-md1-lg1,
.cms-c-nearby-restaurants__grid--b1-md1-lg1 {
  --cms-cols-base: 1;
  --cms-cols-md: 1;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md1-lg1,
  .cms-c-trust-badges__grid--b1-md1-lg1,
  .cms-c-nearby-restaurants__grid--b1-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md1-lg1,
  .cms-c-trust-badges__grid--b1-md1-lg1,
  .cms-c-nearby-restaurants__grid--b1-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md1-lg2,
.cms-c-trust-badges__grid--b1-md1-lg2,
.cms-c-nearby-restaurants__grid--b1-md1-lg2 {
  --cms-cols-base: 1;
  --cms-cols-md: 1;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md1-lg2,
  .cms-c-trust-badges__grid--b1-md1-lg2,
  .cms-c-nearby-restaurants__grid--b1-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md1-lg2,
  .cms-c-trust-badges__grid--b1-md1-lg2,
  .cms-c-nearby-restaurants__grid--b1-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md1-lg3,
.cms-c-trust-badges__grid--b1-md1-lg3,
.cms-c-nearby-restaurants__grid--b1-md1-lg3 {
  --cms-cols-base: 1;
  --cms-cols-md: 1;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md1-lg3,
  .cms-c-trust-badges__grid--b1-md1-lg3,
  .cms-c-nearby-restaurants__grid--b1-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md1-lg3,
  .cms-c-trust-badges__grid--b1-md1-lg3,
  .cms-c-nearby-restaurants__grid--b1-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md1-lg4,
.cms-c-trust-badges__grid--b1-md1-lg4,
.cms-c-nearby-restaurants__grid--b1-md1-lg4 {
  --cms-cols-base: 1;
  --cms-cols-md: 1;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md1-lg4,
  .cms-c-trust-badges__grid--b1-md1-lg4,
  .cms-c-nearby-restaurants__grid--b1-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md1-lg4,
  .cms-c-trust-badges__grid--b1-md1-lg4,
  .cms-c-nearby-restaurants__grid--b1-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md2-lg1,
.cms-c-trust-badges__grid--b1-md2-lg1,
.cms-c-nearby-restaurants__grid--b1-md2-lg1 {
  --cms-cols-base: 1;
  --cms-cols-md: 2;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md2-lg1,
  .cms-c-trust-badges__grid--b1-md2-lg1,
  .cms-c-nearby-restaurants__grid--b1-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md2-lg1,
  .cms-c-trust-badges__grid--b1-md2-lg1,
  .cms-c-nearby-restaurants__grid--b1-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md2-lg2,
.cms-c-trust-badges__grid--b1-md2-lg2,
.cms-c-nearby-restaurants__grid--b1-md2-lg2 {
  --cms-cols-base: 1;
  --cms-cols-md: 2;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md2-lg2,
  .cms-c-trust-badges__grid--b1-md2-lg2,
  .cms-c-nearby-restaurants__grid--b1-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md2-lg2,
  .cms-c-trust-badges__grid--b1-md2-lg2,
  .cms-c-nearby-restaurants__grid--b1-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md2-lg3,
.cms-c-trust-badges__grid--b1-md2-lg3,
.cms-c-nearby-restaurants__grid--b1-md2-lg3 {
  --cms-cols-base: 1;
  --cms-cols-md: 2;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md2-lg3,
  .cms-c-trust-badges__grid--b1-md2-lg3,
  .cms-c-nearby-restaurants__grid--b1-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md2-lg3,
  .cms-c-trust-badges__grid--b1-md2-lg3,
  .cms-c-nearby-restaurants__grid--b1-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md2-lg4,
.cms-c-trust-badges__grid--b1-md2-lg4,
.cms-c-nearby-restaurants__grid--b1-md2-lg4 {
  --cms-cols-base: 1;
  --cms-cols-md: 2;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md2-lg4,
  .cms-c-trust-badges__grid--b1-md2-lg4,
  .cms-c-nearby-restaurants__grid--b1-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md2-lg4,
  .cms-c-trust-badges__grid--b1-md2-lg4,
  .cms-c-nearby-restaurants__grid--b1-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md3-lg1,
.cms-c-trust-badges__grid--b1-md3-lg1,
.cms-c-nearby-restaurants__grid--b1-md3-lg1 {
  --cms-cols-base: 1;
  --cms-cols-md: 3;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md3-lg1,
  .cms-c-trust-badges__grid--b1-md3-lg1,
  .cms-c-nearby-restaurants__grid--b1-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md3-lg1,
  .cms-c-trust-badges__grid--b1-md3-lg1,
  .cms-c-nearby-restaurants__grid--b1-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md3-lg2,
.cms-c-trust-badges__grid--b1-md3-lg2,
.cms-c-nearby-restaurants__grid--b1-md3-lg2 {
  --cms-cols-base: 1;
  --cms-cols-md: 3;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md3-lg2,
  .cms-c-trust-badges__grid--b1-md3-lg2,
  .cms-c-nearby-restaurants__grid--b1-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md3-lg2,
  .cms-c-trust-badges__grid--b1-md3-lg2,
  .cms-c-nearby-restaurants__grid--b1-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md3-lg3,
.cms-c-trust-badges__grid--b1-md3-lg3,
.cms-c-nearby-restaurants__grid--b1-md3-lg3 {
  --cms-cols-base: 1;
  --cms-cols-md: 3;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md3-lg3,
  .cms-c-trust-badges__grid--b1-md3-lg3,
  .cms-c-nearby-restaurants__grid--b1-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md3-lg3,
  .cms-c-trust-badges__grid--b1-md3-lg3,
  .cms-c-nearby-restaurants__grid--b1-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md3-lg4,
.cms-c-trust-badges__grid--b1-md3-lg4,
.cms-c-nearby-restaurants__grid--b1-md3-lg4 {
  --cms-cols-base: 1;
  --cms-cols-md: 3;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md3-lg4,
  .cms-c-trust-badges__grid--b1-md3-lg4,
  .cms-c-nearby-restaurants__grid--b1-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md3-lg4,
  .cms-c-trust-badges__grid--b1-md3-lg4,
  .cms-c-nearby-restaurants__grid--b1-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md4-lg1,
.cms-c-trust-badges__grid--b1-md4-lg1,
.cms-c-nearby-restaurants__grid--b1-md4-lg1 {
  --cms-cols-base: 1;
  --cms-cols-md: 4;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md4-lg1,
  .cms-c-trust-badges__grid--b1-md4-lg1,
  .cms-c-nearby-restaurants__grid--b1-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md4-lg1,
  .cms-c-trust-badges__grid--b1-md4-lg1,
  .cms-c-nearby-restaurants__grid--b1-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md4-lg2,
.cms-c-trust-badges__grid--b1-md4-lg2,
.cms-c-nearby-restaurants__grid--b1-md4-lg2 {
  --cms-cols-base: 1;
  --cms-cols-md: 4;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md4-lg2,
  .cms-c-trust-badges__grid--b1-md4-lg2,
  .cms-c-nearby-restaurants__grid--b1-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md4-lg2,
  .cms-c-trust-badges__grid--b1-md4-lg2,
  .cms-c-nearby-restaurants__grid--b1-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md4-lg3,
.cms-c-trust-badges__grid--b1-md4-lg3,
.cms-c-nearby-restaurants__grid--b1-md4-lg3 {
  --cms-cols-base: 1;
  --cms-cols-md: 4;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md4-lg3,
  .cms-c-trust-badges__grid--b1-md4-lg3,
  .cms-c-nearby-restaurants__grid--b1-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md4-lg3,
  .cms-c-trust-badges__grid--b1-md4-lg3,
  .cms-c-nearby-restaurants__grid--b1-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b1-md4-lg4,
.cms-c-trust-badges__grid--b1-md4-lg4,
.cms-c-nearby-restaurants__grid--b1-md4-lg4 {
  --cms-cols-base: 1;
  --cms-cols-md: 4;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b1-md4-lg4,
  .cms-c-trust-badges__grid--b1-md4-lg4,
  .cms-c-nearby-restaurants__grid--b1-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b1-md4-lg4,
  .cms-c-trust-badges__grid--b1-md4-lg4,
  .cms-c-nearby-restaurants__grid--b1-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md1-lg1,
.cms-c-trust-badges__grid--b2-md1-lg1,
.cms-c-nearby-restaurants__grid--b2-md1-lg1 {
  --cms-cols-base: 2;
  --cms-cols-md: 1;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md1-lg1,
  .cms-c-trust-badges__grid--b2-md1-lg1,
  .cms-c-nearby-restaurants__grid--b2-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md1-lg1,
  .cms-c-trust-badges__grid--b2-md1-lg1,
  .cms-c-nearby-restaurants__grid--b2-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md1-lg2,
.cms-c-trust-badges__grid--b2-md1-lg2,
.cms-c-nearby-restaurants__grid--b2-md1-lg2 {
  --cms-cols-base: 2;
  --cms-cols-md: 1;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md1-lg2,
  .cms-c-trust-badges__grid--b2-md1-lg2,
  .cms-c-nearby-restaurants__grid--b2-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md1-lg2,
  .cms-c-trust-badges__grid--b2-md1-lg2,
  .cms-c-nearby-restaurants__grid--b2-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md1-lg3,
.cms-c-trust-badges__grid--b2-md1-lg3,
.cms-c-nearby-restaurants__grid--b2-md1-lg3 {
  --cms-cols-base: 2;
  --cms-cols-md: 1;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md1-lg3,
  .cms-c-trust-badges__grid--b2-md1-lg3,
  .cms-c-nearby-restaurants__grid--b2-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md1-lg3,
  .cms-c-trust-badges__grid--b2-md1-lg3,
  .cms-c-nearby-restaurants__grid--b2-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md1-lg4,
.cms-c-trust-badges__grid--b2-md1-lg4,
.cms-c-nearby-restaurants__grid--b2-md1-lg4 {
  --cms-cols-base: 2;
  --cms-cols-md: 1;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md1-lg4,
  .cms-c-trust-badges__grid--b2-md1-lg4,
  .cms-c-nearby-restaurants__grid--b2-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md1-lg4,
  .cms-c-trust-badges__grid--b2-md1-lg4,
  .cms-c-nearby-restaurants__grid--b2-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md2-lg1,
.cms-c-trust-badges__grid--b2-md2-lg1,
.cms-c-nearby-restaurants__grid--b2-md2-lg1 {
  --cms-cols-base: 2;
  --cms-cols-md: 2;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md2-lg1,
  .cms-c-trust-badges__grid--b2-md2-lg1,
  .cms-c-nearby-restaurants__grid--b2-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md2-lg1,
  .cms-c-trust-badges__grid--b2-md2-lg1,
  .cms-c-nearby-restaurants__grid--b2-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md2-lg2,
.cms-c-trust-badges__grid--b2-md2-lg2,
.cms-c-nearby-restaurants__grid--b2-md2-lg2 {
  --cms-cols-base: 2;
  --cms-cols-md: 2;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md2-lg2,
  .cms-c-trust-badges__grid--b2-md2-lg2,
  .cms-c-nearby-restaurants__grid--b2-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md2-lg2,
  .cms-c-trust-badges__grid--b2-md2-lg2,
  .cms-c-nearby-restaurants__grid--b2-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md2-lg3,
.cms-c-trust-badges__grid--b2-md2-lg3,
.cms-c-nearby-restaurants__grid--b2-md2-lg3 {
  --cms-cols-base: 2;
  --cms-cols-md: 2;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md2-lg3,
  .cms-c-trust-badges__grid--b2-md2-lg3,
  .cms-c-nearby-restaurants__grid--b2-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md2-lg3,
  .cms-c-trust-badges__grid--b2-md2-lg3,
  .cms-c-nearby-restaurants__grid--b2-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md2-lg4,
.cms-c-trust-badges__grid--b2-md2-lg4,
.cms-c-nearby-restaurants__grid--b2-md2-lg4 {
  --cms-cols-base: 2;
  --cms-cols-md: 2;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md2-lg4,
  .cms-c-trust-badges__grid--b2-md2-lg4,
  .cms-c-nearby-restaurants__grid--b2-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md2-lg4,
  .cms-c-trust-badges__grid--b2-md2-lg4,
  .cms-c-nearby-restaurants__grid--b2-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md3-lg1,
.cms-c-trust-badges__grid--b2-md3-lg1,
.cms-c-nearby-restaurants__grid--b2-md3-lg1 {
  --cms-cols-base: 2;
  --cms-cols-md: 3;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md3-lg1,
  .cms-c-trust-badges__grid--b2-md3-lg1,
  .cms-c-nearby-restaurants__grid--b2-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md3-lg1,
  .cms-c-trust-badges__grid--b2-md3-lg1,
  .cms-c-nearby-restaurants__grid--b2-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md3-lg2,
.cms-c-trust-badges__grid--b2-md3-lg2,
.cms-c-nearby-restaurants__grid--b2-md3-lg2 {
  --cms-cols-base: 2;
  --cms-cols-md: 3;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md3-lg2,
  .cms-c-trust-badges__grid--b2-md3-lg2,
  .cms-c-nearby-restaurants__grid--b2-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md3-lg2,
  .cms-c-trust-badges__grid--b2-md3-lg2,
  .cms-c-nearby-restaurants__grid--b2-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md3-lg3,
.cms-c-trust-badges__grid--b2-md3-lg3,
.cms-c-nearby-restaurants__grid--b2-md3-lg3 {
  --cms-cols-base: 2;
  --cms-cols-md: 3;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md3-lg3,
  .cms-c-trust-badges__grid--b2-md3-lg3,
  .cms-c-nearby-restaurants__grid--b2-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md3-lg3,
  .cms-c-trust-badges__grid--b2-md3-lg3,
  .cms-c-nearby-restaurants__grid--b2-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md3-lg4,
.cms-c-trust-badges__grid--b2-md3-lg4,
.cms-c-nearby-restaurants__grid--b2-md3-lg4 {
  --cms-cols-base: 2;
  --cms-cols-md: 3;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md3-lg4,
  .cms-c-trust-badges__grid--b2-md3-lg4,
  .cms-c-nearby-restaurants__grid--b2-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md3-lg4,
  .cms-c-trust-badges__grid--b2-md3-lg4,
  .cms-c-nearby-restaurants__grid--b2-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md4-lg1,
.cms-c-trust-badges__grid--b2-md4-lg1,
.cms-c-nearby-restaurants__grid--b2-md4-lg1 {
  --cms-cols-base: 2;
  --cms-cols-md: 4;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md4-lg1,
  .cms-c-trust-badges__grid--b2-md4-lg1,
  .cms-c-nearby-restaurants__grid--b2-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md4-lg1,
  .cms-c-trust-badges__grid--b2-md4-lg1,
  .cms-c-nearby-restaurants__grid--b2-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md4-lg2,
.cms-c-trust-badges__grid--b2-md4-lg2,
.cms-c-nearby-restaurants__grid--b2-md4-lg2 {
  --cms-cols-base: 2;
  --cms-cols-md: 4;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md4-lg2,
  .cms-c-trust-badges__grid--b2-md4-lg2,
  .cms-c-nearby-restaurants__grid--b2-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md4-lg2,
  .cms-c-trust-badges__grid--b2-md4-lg2,
  .cms-c-nearby-restaurants__grid--b2-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md4-lg3,
.cms-c-trust-badges__grid--b2-md4-lg3,
.cms-c-nearby-restaurants__grid--b2-md4-lg3 {
  --cms-cols-base: 2;
  --cms-cols-md: 4;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md4-lg3,
  .cms-c-trust-badges__grid--b2-md4-lg3,
  .cms-c-nearby-restaurants__grid--b2-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md4-lg3,
  .cms-c-trust-badges__grid--b2-md4-lg3,
  .cms-c-nearby-restaurants__grid--b2-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b2-md4-lg4,
.cms-c-trust-badges__grid--b2-md4-lg4,
.cms-c-nearby-restaurants__grid--b2-md4-lg4 {
  --cms-cols-base: 2;
  --cms-cols-md: 4;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b2-md4-lg4,
  .cms-c-trust-badges__grid--b2-md4-lg4,
  .cms-c-nearby-restaurants__grid--b2-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b2-md4-lg4,
  .cms-c-trust-badges__grid--b2-md4-lg4,
  .cms-c-nearby-restaurants__grid--b2-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md1-lg1,
.cms-c-trust-badges__grid--b3-md1-lg1,
.cms-c-nearby-restaurants__grid--b3-md1-lg1 {
  --cms-cols-base: 3;
  --cms-cols-md: 1;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md1-lg1,
  .cms-c-trust-badges__grid--b3-md1-lg1,
  .cms-c-nearby-restaurants__grid--b3-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md1-lg1,
  .cms-c-trust-badges__grid--b3-md1-lg1,
  .cms-c-nearby-restaurants__grid--b3-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md1-lg2,
.cms-c-trust-badges__grid--b3-md1-lg2,
.cms-c-nearby-restaurants__grid--b3-md1-lg2 {
  --cms-cols-base: 3;
  --cms-cols-md: 1;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md1-lg2,
  .cms-c-trust-badges__grid--b3-md1-lg2,
  .cms-c-nearby-restaurants__grid--b3-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md1-lg2,
  .cms-c-trust-badges__grid--b3-md1-lg2,
  .cms-c-nearby-restaurants__grid--b3-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md1-lg3,
.cms-c-trust-badges__grid--b3-md1-lg3,
.cms-c-nearby-restaurants__grid--b3-md1-lg3 {
  --cms-cols-base: 3;
  --cms-cols-md: 1;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md1-lg3,
  .cms-c-trust-badges__grid--b3-md1-lg3,
  .cms-c-nearby-restaurants__grid--b3-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md1-lg3,
  .cms-c-trust-badges__grid--b3-md1-lg3,
  .cms-c-nearby-restaurants__grid--b3-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md1-lg4,
.cms-c-trust-badges__grid--b3-md1-lg4,
.cms-c-nearby-restaurants__grid--b3-md1-lg4 {
  --cms-cols-base: 3;
  --cms-cols-md: 1;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md1-lg4,
  .cms-c-trust-badges__grid--b3-md1-lg4,
  .cms-c-nearby-restaurants__grid--b3-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md1-lg4,
  .cms-c-trust-badges__grid--b3-md1-lg4,
  .cms-c-nearby-restaurants__grid--b3-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md2-lg1,
.cms-c-trust-badges__grid--b3-md2-lg1,
.cms-c-nearby-restaurants__grid--b3-md2-lg1 {
  --cms-cols-base: 3;
  --cms-cols-md: 2;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md2-lg1,
  .cms-c-trust-badges__grid--b3-md2-lg1,
  .cms-c-nearby-restaurants__grid--b3-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md2-lg1,
  .cms-c-trust-badges__grid--b3-md2-lg1,
  .cms-c-nearby-restaurants__grid--b3-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md2-lg2,
.cms-c-trust-badges__grid--b3-md2-lg2,
.cms-c-nearby-restaurants__grid--b3-md2-lg2 {
  --cms-cols-base: 3;
  --cms-cols-md: 2;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md2-lg2,
  .cms-c-trust-badges__grid--b3-md2-lg2,
  .cms-c-nearby-restaurants__grid--b3-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md2-lg2,
  .cms-c-trust-badges__grid--b3-md2-lg2,
  .cms-c-nearby-restaurants__grid--b3-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md2-lg3,
.cms-c-trust-badges__grid--b3-md2-lg3,
.cms-c-nearby-restaurants__grid--b3-md2-lg3 {
  --cms-cols-base: 3;
  --cms-cols-md: 2;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md2-lg3,
  .cms-c-trust-badges__grid--b3-md2-lg3,
  .cms-c-nearby-restaurants__grid--b3-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md2-lg3,
  .cms-c-trust-badges__grid--b3-md2-lg3,
  .cms-c-nearby-restaurants__grid--b3-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md2-lg4,
.cms-c-trust-badges__grid--b3-md2-lg4,
.cms-c-nearby-restaurants__grid--b3-md2-lg4 {
  --cms-cols-base: 3;
  --cms-cols-md: 2;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md2-lg4,
  .cms-c-trust-badges__grid--b3-md2-lg4,
  .cms-c-nearby-restaurants__grid--b3-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md2-lg4,
  .cms-c-trust-badges__grid--b3-md2-lg4,
  .cms-c-nearby-restaurants__grid--b3-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md3-lg1,
.cms-c-trust-badges__grid--b3-md3-lg1,
.cms-c-nearby-restaurants__grid--b3-md3-lg1 {
  --cms-cols-base: 3;
  --cms-cols-md: 3;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md3-lg1,
  .cms-c-trust-badges__grid--b3-md3-lg1,
  .cms-c-nearby-restaurants__grid--b3-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md3-lg1,
  .cms-c-trust-badges__grid--b3-md3-lg1,
  .cms-c-nearby-restaurants__grid--b3-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md3-lg2,
.cms-c-trust-badges__grid--b3-md3-lg2,
.cms-c-nearby-restaurants__grid--b3-md3-lg2 {
  --cms-cols-base: 3;
  --cms-cols-md: 3;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md3-lg2,
  .cms-c-trust-badges__grid--b3-md3-lg2,
  .cms-c-nearby-restaurants__grid--b3-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md3-lg2,
  .cms-c-trust-badges__grid--b3-md3-lg2,
  .cms-c-nearby-restaurants__grid--b3-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md3-lg3,
.cms-c-trust-badges__grid--b3-md3-lg3,
.cms-c-nearby-restaurants__grid--b3-md3-lg3 {
  --cms-cols-base: 3;
  --cms-cols-md: 3;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md3-lg3,
  .cms-c-trust-badges__grid--b3-md3-lg3,
  .cms-c-nearby-restaurants__grid--b3-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md3-lg3,
  .cms-c-trust-badges__grid--b3-md3-lg3,
  .cms-c-nearby-restaurants__grid--b3-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md3-lg4,
.cms-c-trust-badges__grid--b3-md3-lg4,
.cms-c-nearby-restaurants__grid--b3-md3-lg4 {
  --cms-cols-base: 3;
  --cms-cols-md: 3;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md3-lg4,
  .cms-c-trust-badges__grid--b3-md3-lg4,
  .cms-c-nearby-restaurants__grid--b3-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md3-lg4,
  .cms-c-trust-badges__grid--b3-md3-lg4,
  .cms-c-nearby-restaurants__grid--b3-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md4-lg1,
.cms-c-trust-badges__grid--b3-md4-lg1,
.cms-c-nearby-restaurants__grid--b3-md4-lg1 {
  --cms-cols-base: 3;
  --cms-cols-md: 4;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md4-lg1,
  .cms-c-trust-badges__grid--b3-md4-lg1,
  .cms-c-nearby-restaurants__grid--b3-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md4-lg1,
  .cms-c-trust-badges__grid--b3-md4-lg1,
  .cms-c-nearby-restaurants__grid--b3-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md4-lg2,
.cms-c-trust-badges__grid--b3-md4-lg2,
.cms-c-nearby-restaurants__grid--b3-md4-lg2 {
  --cms-cols-base: 3;
  --cms-cols-md: 4;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md4-lg2,
  .cms-c-trust-badges__grid--b3-md4-lg2,
  .cms-c-nearby-restaurants__grid--b3-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md4-lg2,
  .cms-c-trust-badges__grid--b3-md4-lg2,
  .cms-c-nearby-restaurants__grid--b3-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md4-lg3,
.cms-c-trust-badges__grid--b3-md4-lg3,
.cms-c-nearby-restaurants__grid--b3-md4-lg3 {
  --cms-cols-base: 3;
  --cms-cols-md: 4;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md4-lg3,
  .cms-c-trust-badges__grid--b3-md4-lg3,
  .cms-c-nearby-restaurants__grid--b3-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md4-lg3,
  .cms-c-trust-badges__grid--b3-md4-lg3,
  .cms-c-nearby-restaurants__grid--b3-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b3-md4-lg4,
.cms-c-trust-badges__grid--b3-md4-lg4,
.cms-c-nearby-restaurants__grid--b3-md4-lg4 {
  --cms-cols-base: 3;
  --cms-cols-md: 4;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b3-md4-lg4,
  .cms-c-trust-badges__grid--b3-md4-lg4,
  .cms-c-nearby-restaurants__grid--b3-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b3-md4-lg4,
  .cms-c-trust-badges__grid--b3-md4-lg4,
  .cms-c-nearby-restaurants__grid--b3-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md1-lg1,
.cms-c-trust-badges__grid--b4-md1-lg1,
.cms-c-nearby-restaurants__grid--b4-md1-lg1 {
  --cms-cols-base: 4;
  --cms-cols-md: 1;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md1-lg1,
  .cms-c-trust-badges__grid--b4-md1-lg1,
  .cms-c-nearby-restaurants__grid--b4-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md1-lg1,
  .cms-c-trust-badges__grid--b4-md1-lg1,
  .cms-c-nearby-restaurants__grid--b4-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md1-lg2,
.cms-c-trust-badges__grid--b4-md1-lg2,
.cms-c-nearby-restaurants__grid--b4-md1-lg2 {
  --cms-cols-base: 4;
  --cms-cols-md: 1;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md1-lg2,
  .cms-c-trust-badges__grid--b4-md1-lg2,
  .cms-c-nearby-restaurants__grid--b4-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md1-lg2,
  .cms-c-trust-badges__grid--b4-md1-lg2,
  .cms-c-nearby-restaurants__grid--b4-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md1-lg3,
.cms-c-trust-badges__grid--b4-md1-lg3,
.cms-c-nearby-restaurants__grid--b4-md1-lg3 {
  --cms-cols-base: 4;
  --cms-cols-md: 1;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md1-lg3,
  .cms-c-trust-badges__grid--b4-md1-lg3,
  .cms-c-nearby-restaurants__grid--b4-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md1-lg3,
  .cms-c-trust-badges__grid--b4-md1-lg3,
  .cms-c-nearby-restaurants__grid--b4-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md1-lg4,
.cms-c-trust-badges__grid--b4-md1-lg4,
.cms-c-nearby-restaurants__grid--b4-md1-lg4 {
  --cms-cols-base: 4;
  --cms-cols-md: 1;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md1-lg4,
  .cms-c-trust-badges__grid--b4-md1-lg4,
  .cms-c-nearby-restaurants__grid--b4-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md1-lg4,
  .cms-c-trust-badges__grid--b4-md1-lg4,
  .cms-c-nearby-restaurants__grid--b4-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md2-lg1,
.cms-c-trust-badges__grid--b4-md2-lg1,
.cms-c-nearby-restaurants__grid--b4-md2-lg1 {
  --cms-cols-base: 4;
  --cms-cols-md: 2;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md2-lg1,
  .cms-c-trust-badges__grid--b4-md2-lg1,
  .cms-c-nearby-restaurants__grid--b4-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md2-lg1,
  .cms-c-trust-badges__grid--b4-md2-lg1,
  .cms-c-nearby-restaurants__grid--b4-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md2-lg2,
.cms-c-trust-badges__grid--b4-md2-lg2,
.cms-c-nearby-restaurants__grid--b4-md2-lg2 {
  --cms-cols-base: 4;
  --cms-cols-md: 2;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md2-lg2,
  .cms-c-trust-badges__grid--b4-md2-lg2,
  .cms-c-nearby-restaurants__grid--b4-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md2-lg2,
  .cms-c-trust-badges__grid--b4-md2-lg2,
  .cms-c-nearby-restaurants__grid--b4-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md2-lg3,
.cms-c-trust-badges__grid--b4-md2-lg3,
.cms-c-nearby-restaurants__grid--b4-md2-lg3 {
  --cms-cols-base: 4;
  --cms-cols-md: 2;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md2-lg3,
  .cms-c-trust-badges__grid--b4-md2-lg3,
  .cms-c-nearby-restaurants__grid--b4-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md2-lg3,
  .cms-c-trust-badges__grid--b4-md2-lg3,
  .cms-c-nearby-restaurants__grid--b4-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md2-lg4,
.cms-c-trust-badges__grid--b4-md2-lg4,
.cms-c-nearby-restaurants__grid--b4-md2-lg4 {
  --cms-cols-base: 4;
  --cms-cols-md: 2;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md2-lg4,
  .cms-c-trust-badges__grid--b4-md2-lg4,
  .cms-c-nearby-restaurants__grid--b4-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md2-lg4,
  .cms-c-trust-badges__grid--b4-md2-lg4,
  .cms-c-nearby-restaurants__grid--b4-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md3-lg1,
.cms-c-trust-badges__grid--b4-md3-lg1,
.cms-c-nearby-restaurants__grid--b4-md3-lg1 {
  --cms-cols-base: 4;
  --cms-cols-md: 3;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md3-lg1,
  .cms-c-trust-badges__grid--b4-md3-lg1,
  .cms-c-nearby-restaurants__grid--b4-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md3-lg1,
  .cms-c-trust-badges__grid--b4-md3-lg1,
  .cms-c-nearby-restaurants__grid--b4-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md3-lg2,
.cms-c-trust-badges__grid--b4-md3-lg2,
.cms-c-nearby-restaurants__grid--b4-md3-lg2 {
  --cms-cols-base: 4;
  --cms-cols-md: 3;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md3-lg2,
  .cms-c-trust-badges__grid--b4-md3-lg2,
  .cms-c-nearby-restaurants__grid--b4-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md3-lg2,
  .cms-c-trust-badges__grid--b4-md3-lg2,
  .cms-c-nearby-restaurants__grid--b4-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md3-lg3,
.cms-c-trust-badges__grid--b4-md3-lg3,
.cms-c-nearby-restaurants__grid--b4-md3-lg3 {
  --cms-cols-base: 4;
  --cms-cols-md: 3;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md3-lg3,
  .cms-c-trust-badges__grid--b4-md3-lg3,
  .cms-c-nearby-restaurants__grid--b4-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md3-lg3,
  .cms-c-trust-badges__grid--b4-md3-lg3,
  .cms-c-nearby-restaurants__grid--b4-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md3-lg4,
.cms-c-trust-badges__grid--b4-md3-lg4,
.cms-c-nearby-restaurants__grid--b4-md3-lg4 {
  --cms-cols-base: 4;
  --cms-cols-md: 3;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md3-lg4,
  .cms-c-trust-badges__grid--b4-md3-lg4,
  .cms-c-nearby-restaurants__grid--b4-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md3-lg4,
  .cms-c-trust-badges__grid--b4-md3-lg4,
  .cms-c-nearby-restaurants__grid--b4-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md4-lg1,
.cms-c-trust-badges__grid--b4-md4-lg1,
.cms-c-nearby-restaurants__grid--b4-md4-lg1 {
  --cms-cols-base: 4;
  --cms-cols-md: 4;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md4-lg1,
  .cms-c-trust-badges__grid--b4-md4-lg1,
  .cms-c-nearby-restaurants__grid--b4-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md4-lg1,
  .cms-c-trust-badges__grid--b4-md4-lg1,
  .cms-c-nearby-restaurants__grid--b4-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md4-lg2,
.cms-c-trust-badges__grid--b4-md4-lg2,
.cms-c-nearby-restaurants__grid--b4-md4-lg2 {
  --cms-cols-base: 4;
  --cms-cols-md: 4;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md4-lg2,
  .cms-c-trust-badges__grid--b4-md4-lg2,
  .cms-c-nearby-restaurants__grid--b4-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md4-lg2,
  .cms-c-trust-badges__grid--b4-md4-lg2,
  .cms-c-nearby-restaurants__grid--b4-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md4-lg3,
.cms-c-trust-badges__grid--b4-md4-lg3,
.cms-c-nearby-restaurants__grid--b4-md4-lg3 {
  --cms-cols-base: 4;
  --cms-cols-md: 4;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md4-lg3,
  .cms-c-trust-badges__grid--b4-md4-lg3,
  .cms-c-nearby-restaurants__grid--b4-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md4-lg3,
  .cms-c-trust-badges__grid--b4-md4-lg3,
  .cms-c-nearby-restaurants__grid--b4-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid--b4-md4-lg4,
.cms-c-trust-badges__grid--b4-md4-lg4,
.cms-c-nearby-restaurants__grid--b4-md4-lg4 {
  --cms-cols-base: 4;
  --cms-cols-md: 4;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-instagram__grid--b4-md4-lg4,
  .cms-c-trust-badges__grid--b4-md4-lg4,
  .cms-c-nearby-restaurants__grid--b4-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-instagram__grid--b4-md4-lg4,
  .cms-c-trust-badges__grid--b4-md4-lg4,
  .cms-c-nearby-restaurants__grid--b4-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-instagram__grid,
.cms-c-trust-badges__grid,
.cms-c-nearby-restaurants__grid {
  display: grid;
  gap: var(--theme-comp-cms-slot-gap, var(--theme-comp-cms-component-slot-gap, 1rem));
}

.cms-c-instagram__title,
.cms-c-weather__title,
.cms-c-gift-voucher__title,
.cms-c-floor-plan__title,
.cms-c-trust-badges__title,
.cms-c-nearby-restaurants__title,
.cms-c-pet-policy__title,
.cms-c-check-in-guide__title {
  margin: 0 0 0.75rem;
  font-family: var(--font-family-heading, inherit);
}

.cms-c-instagram__item {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: var(--layout-radius, 12px);
  aspect-ratio: 1;
}
.cms-c-instagram__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}
.cms-c-instagram__item:hover img {
  transform: scale(1.04);
}

.cms-c-instagram__caption {
  position: absolute;
  inset: auto 0 0;
  padding: 0.5rem 0.65rem;
  font-size: 0.8125rem;
  color: #fff;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.65));
}

.cms-c-instagram__profile {
  margin: 1rem 0 0;
}
.cms-c-instagram__profile a {
  font-weight: 600;
}

.cms-c-instagram__item--link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem;
  text-align: center;
  text-decoration: none;
  color: inherit;
  background: linear-gradient(145deg, #fdf4ff 0%, #f8fafc 55%, #eef2ff 100%);
  border: 1px solid rgba(0, 0, 0, 0.08);
}

.cms-c-instagram__link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af);
  color: #fff;
  font-size: 1.35rem;
}

.cms-c-instagram__link-label {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
}

.cms-c-instagram__item--embed {
  aspect-ratio: auto;
  min-height: 0;
  border-radius: var(--layout-radius, 12px);
  overflow: hidden;
  background: #fff;
}
.cms-c-instagram__item--embed .instagram-media {
  margin: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
}

.cms-c-instagram--strip .cms-c-instagram__grid {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 0.75rem;
}
.cms-c-instagram--strip .cms-c-instagram__grid .cms-c-instagram__item {
  flex: 0 0 min(72vw, 280px);
  scroll-snap-align: start;
}
.cms-c-instagram--strip .cms-c-instagram__grid .cms-c-instagram__item--embed {
  flex: 0 0 min(85vw, 320px);
}

.cms-c-weather__card {
  padding: 1.25rem 1.5rem;
  border-radius: var(--layout-radius, 12px);
  background: var(--color-surface-soft, rgba(0, 0, 0, 0.04));
}

.cms-c-weather__location {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  opacity: 0.75;
}

.cms-c-weather__current {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem 1rem;
}

.cms-c-weather__temp {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  line-height: 1.1;
}

.cms-c-weather__forecast {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}
.cms-c-weather__forecast li {
  flex: 1 1 5rem;
  min-width: 4.5rem;
  padding: 0.5rem;
  text-align: center;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.5);
  font-size: 0.8125rem;
}

.cms-c-gift-voucher {
  display: grid;
  gap: 1.25rem;
  padding: 1.5rem;
  border-radius: var(--layout-radius, 12px);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
@media (min-width: 768px) {
  .cms-c-gift-voucher {
    grid-template-columns: minmax(0, 220px) 1fr;
    align-items: center;
  }
}
.cms-c-gift-voucher--highlight {
  border-color: var(--color-primary, #2d6a4f);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.cms-c-gift-voucher__media img {
  width: 100%;
  border-radius: calc(var(--layout-radius, 12px) - 4px);
  object-fit: cover;
}

.cms-c-gift-voucher__amount {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0.5rem 0;
}

.cms-c-gift-voucher__btn {
  display: inline-flex;
  margin-top: 1rem;
  padding: 0.65rem 1.25rem;
  border-radius: 999px;
  background: var(--color-primary, #2d6a4f);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

.cms-c-floor-plan--max .cms-c-floor-plan__frame {
  max-width: var(--cms-floor-plan-max, 100%);
  margin-inline: auto;
}

.cms-c-floor-plan__frame {
  aspect-ratio: var(--cms-floor-plan-aspect, 16/9);
  overflow: hidden;
  border-radius: var(--layout-radius, 12px);
  background: rgba(0, 0, 0, 0.04);
}

.cms-c-floor-plan__img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.cms-c-trust-badges__item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 1rem;
  border-radius: var(--layout-radius, 12px);
  background: var(--color-surface-soft, rgba(0, 0, 0, 0.04));
  text-decoration: none;
  color: inherit;
}

.cms-c-trust-badges__icon {
  flex-shrink: 0;
  font-size: 1.5rem;
  color: var(--color-primary, #2d6a4f);
}

.cms-c-trust-badges__name {
  display: block;
}

.cms-c-trust-badges__text {
  display: block;
  font-size: 0.875rem;
  opacity: 0.8;
  margin-top: 0.15rem;
}

.cms-c-trust-badges--row .cms-c-trust-badges__grid {
  display: flex;
  flex-wrap: wrap;
}
.cms-c-trust-badges--row .cms-c-trust-badges__grid .cms-c-trust-badges__item {
  flex: 1 1 12rem;
}

.cms-c-nearby-restaurants__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--layout-radius, 12px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  text-decoration: none;
  color: inherit;
  background: var(--color-surface, #fff);
}

.cms-c-nearby-restaurants__img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

.cms-c-nearby-restaurants__body {
  padding: 1rem;
}

.cms-c-nearby-restaurants__name {
  margin: 0 0 0.25rem;
  font-size: 1.05rem;
}

.cms-c-nearby-restaurants__meta {
  display: flex;
  gap: 0.75rem;
  font-size: 0.875rem;
  opacity: 0.85;
  margin: 0.35rem 0 0;
}

.cms-c-pet-policy__status {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 1rem 0;
}

.cms-c-pet-policy__icon {
  font-size: 2rem;
  color: var(--color-primary, #2d6a4f);
}

.cms-c-pet-policy--denied .cms-c-pet-policy__icon {
  color: #b42318;
}

.cms-c-pet-policy__facts {
  display: grid;
  gap: 0.5rem;
  margin: 0 0 1rem;
}
.cms-c-pet-policy__facts div {
  display: flex;
  gap: 0.5rem;
}
.cms-c-pet-policy__facts div dt {
  font-weight: 600;
  min-width: 6rem;
}
.cms-c-pet-policy__facts div dd {
  margin: 0;
}

.cms-c-pet-policy__rules {
  margin: 0;
  padding-left: 1.25rem;
}
.cms-c-pet-policy__rules li + li {
  margin-top: 0.35rem;
}

.cms-c-check-in-guide__times {
  display: grid;
  gap: 0.5rem;
  margin: 0 0 1.25rem;
}
.cms-c-check-in-guide__times div {
  display: flex;
  gap: 0.75rem;
}
.cms-c-check-in-guide__times div dt {
  font-weight: 600;
  min-width: 9rem;
}
.cms-c-check-in-guide__times div dd {
  margin: 0;
}

.cms-c-check-in-guide__block {
  margin-bottom: 1rem;
}
.cms-c-check-in-guide__block h4 {
  margin: 0 0 0.35rem;
  font-size: 0.9375rem;
}
.cms-c-check-in-guide__block p {
  margin: 0;
}

.cms-c-check-in-guide__code {
  padding: 0.2rem 0.5rem;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.06);
  font-size: 1.05rem;
}

.cms-c-check-in-guide__steps {
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
  counter-reset: checkin;
}

.cms-c-check-in-guide__step {
  display: flex;
  gap: 0.75rem;
  counter-increment: checkin;
  padding: 0.75rem 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.cms-c-check-in-guide__step::before {
  content: counter(checkin, decimal-leading-zero);
  font-weight: 700;
  color: var(--color-primary, #2d6a4f);
  min-width: 2rem;
}
.cms-c-check-in-guide__step p {
  margin: 0.25rem 0 0;
  font-size: 0.9375rem;
  opacity: 0.9;
}

.cms-c-check-in-guide__icon {
  color: var(--color-primary, #2d6a4f);
  font-size: 1.25rem;
}

.cms-c-price-compare__grid--b1-md1-lg1 {
  --cms-cols-base: 1;
  --cms-cols-md: 1;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md1-lg2 {
  --cms-cols-base: 1;
  --cms-cols-md: 1;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md1-lg3 {
  --cms-cols-base: 1;
  --cms-cols-md: 1;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md1-lg4 {
  --cms-cols-base: 1;
  --cms-cols-md: 1;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md2-lg1 {
  --cms-cols-base: 1;
  --cms-cols-md: 2;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md2-lg2 {
  --cms-cols-base: 1;
  --cms-cols-md: 2;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md2-lg3 {
  --cms-cols-base: 1;
  --cms-cols-md: 2;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md2-lg4 {
  --cms-cols-base: 1;
  --cms-cols-md: 2;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md3-lg1 {
  --cms-cols-base: 1;
  --cms-cols-md: 3;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md3-lg2 {
  --cms-cols-base: 1;
  --cms-cols-md: 3;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md3-lg3 {
  --cms-cols-base: 1;
  --cms-cols-md: 3;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md3-lg4 {
  --cms-cols-base: 1;
  --cms-cols-md: 3;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md4-lg1 {
  --cms-cols-base: 1;
  --cms-cols-md: 4;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md4-lg2 {
  --cms-cols-base: 1;
  --cms-cols-md: 4;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md4-lg3 {
  --cms-cols-base: 1;
  --cms-cols-md: 4;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b1-md4-lg4 {
  --cms-cols-base: 1;
  --cms-cols-md: 4;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b1-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b1-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md1-lg1 {
  --cms-cols-base: 2;
  --cms-cols-md: 1;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md1-lg2 {
  --cms-cols-base: 2;
  --cms-cols-md: 1;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md1-lg3 {
  --cms-cols-base: 2;
  --cms-cols-md: 1;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md1-lg4 {
  --cms-cols-base: 2;
  --cms-cols-md: 1;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md2-lg1 {
  --cms-cols-base: 2;
  --cms-cols-md: 2;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md2-lg2 {
  --cms-cols-base: 2;
  --cms-cols-md: 2;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md2-lg3 {
  --cms-cols-base: 2;
  --cms-cols-md: 2;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md2-lg4 {
  --cms-cols-base: 2;
  --cms-cols-md: 2;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md3-lg1 {
  --cms-cols-base: 2;
  --cms-cols-md: 3;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md3-lg2 {
  --cms-cols-base: 2;
  --cms-cols-md: 3;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md3-lg3 {
  --cms-cols-base: 2;
  --cms-cols-md: 3;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md3-lg4 {
  --cms-cols-base: 2;
  --cms-cols-md: 3;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md4-lg1 {
  --cms-cols-base: 2;
  --cms-cols-md: 4;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md4-lg2 {
  --cms-cols-base: 2;
  --cms-cols-md: 4;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md4-lg3 {
  --cms-cols-base: 2;
  --cms-cols-md: 4;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b2-md4-lg4 {
  --cms-cols-base: 2;
  --cms-cols-md: 4;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b2-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b2-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md1-lg1 {
  --cms-cols-base: 3;
  --cms-cols-md: 1;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md1-lg2 {
  --cms-cols-base: 3;
  --cms-cols-md: 1;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md1-lg3 {
  --cms-cols-base: 3;
  --cms-cols-md: 1;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md1-lg4 {
  --cms-cols-base: 3;
  --cms-cols-md: 1;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md2-lg1 {
  --cms-cols-base: 3;
  --cms-cols-md: 2;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md2-lg2 {
  --cms-cols-base: 3;
  --cms-cols-md: 2;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md2-lg3 {
  --cms-cols-base: 3;
  --cms-cols-md: 2;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md2-lg4 {
  --cms-cols-base: 3;
  --cms-cols-md: 2;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md3-lg1 {
  --cms-cols-base: 3;
  --cms-cols-md: 3;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md3-lg2 {
  --cms-cols-base: 3;
  --cms-cols-md: 3;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md3-lg3 {
  --cms-cols-base: 3;
  --cms-cols-md: 3;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md3-lg4 {
  --cms-cols-base: 3;
  --cms-cols-md: 3;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md4-lg1 {
  --cms-cols-base: 3;
  --cms-cols-md: 4;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md4-lg2 {
  --cms-cols-base: 3;
  --cms-cols-md: 4;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md4-lg3 {
  --cms-cols-base: 3;
  --cms-cols-md: 4;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b3-md4-lg4 {
  --cms-cols-base: 3;
  --cms-cols-md: 4;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b3-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b3-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md1-lg1 {
  --cms-cols-base: 4;
  --cms-cols-md: 1;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md1-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md1-lg2 {
  --cms-cols-base: 4;
  --cms-cols-md: 1;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md1-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md1-lg3 {
  --cms-cols-base: 4;
  --cms-cols-md: 1;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md1-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md1-lg4 {
  --cms-cols-base: 4;
  --cms-cols-md: 1;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md1-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md2-lg1 {
  --cms-cols-base: 4;
  --cms-cols-md: 2;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md2-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md2-lg2 {
  --cms-cols-base: 4;
  --cms-cols-md: 2;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md2-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md2-lg3 {
  --cms-cols-base: 4;
  --cms-cols-md: 2;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md2-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md2-lg4 {
  --cms-cols-base: 4;
  --cms-cols-md: 2;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md2-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md3-lg1 {
  --cms-cols-base: 4;
  --cms-cols-md: 3;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md3-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md3-lg2 {
  --cms-cols-base: 4;
  --cms-cols-md: 3;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md3-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md3-lg3 {
  --cms-cols-base: 4;
  --cms-cols-md: 3;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md3-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md3-lg4 {
  --cms-cols-base: 4;
  --cms-cols-md: 3;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md3-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md4-lg1 {
  --cms-cols-base: 4;
  --cms-cols-md: 4;
  --cms-cols-lg: 1;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md4-lg1 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md4-lg2 {
  --cms-cols-base: 4;
  --cms-cols-md: 4;
  --cms-cols-lg: 2;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md4-lg2 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md4-lg3 {
  --cms-cols-base: 4;
  --cms-cols-md: 4;
  --cms-cols-lg: 3;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md4-lg3 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-price-compare__grid--b4-md4-lg4 {
  --cms-cols-base: 4;
  --cms-cols-md: 4;
  --cms-cols-lg: 4;
  grid-template-columns: repeat(var(--cms-cols-base), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .cms-c-price-compare__grid--b4-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-md), minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cms-c-price-compare__grid--b4-md4-lg4 {
    grid-template-columns: repeat(var(--cms-cols-lg), minmax(0, 1fr));
  }
}

.cms-c-availability__title,
.cms-c-price-compare__title,
.cms-c-compare-rooms__title,
.cms-c-last-minute__title,
.cms-c-last-minute__lead,
.cms-c-seasonal__title,
.cms-c-virtual-tour__title,
.cms-c-before-after__title,
.cms-c-photo-story__title,
.cms-c-ski__title,
.cms-c-transport__title,
.cms-c-events__title,
.cms-c-parking__title,
.cms-c-awards__title,
.cms-c-press__title,
.cms-c-arrive__title,
.cms-c-newsletter__title,
.cms-c-callback__title,
.cms-c-pdf-gate__title {
  margin: 0 0 0.75rem;
  font-family: var(--font-family-heading, inherit);
}

.cms-c-availability__lead {
  margin: 0 0 1rem;
  color: var(--color-text-muted, #65706a);
}

.cms-c-availability__calendar {
  padding: 2rem 1.5rem;
  border-radius: var(--layout-radius, 12px);
  background: var(--color-surface-soft, rgba(0, 0, 0, 0.04));
  text-align: center;
}

.cms-c-availability__icon {
  font-size: 2.5rem;
  color: var(--color-primary, #2d6a4f);
}

.cms-c-availability__hint {
  margin: 0.75rem 0 0;
  font-size: 0.9375rem;
  opacity: 0.85;
  max-width: 36rem;
}

.cms-c-availability__note {
  margin-top: 1rem;
  font-size: 0.875rem;
  opacity: 0.85;
}

.cms-c-availability__object {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  color: var(--color-text-muted, #65706a);
}

.cms-c-availability__object-label {
  font-weight: 600;
  margin-right: 0.35rem;
}

.cms-c-availability__panel {
  margin-top: 1rem;
}

.cms-c-availability__guest-hint {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  color: var(--color-text-muted, #65706a);
}

.cms-c-availability__error {
  margin-bottom: 0.75rem;
  font-size: 0.875rem;
  color: var(--color-danger, #b42318);
}

.cms-c-availability__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  align-items: stretch;
  width: 100%;
}
@media (max-width: 420px) {
  .cms-c-availability__actions {
    grid-template-columns: 1fr;
  }
}

.cms-c-availability--actions-stack .cms-c-availability__actions {
  grid-template-columns: 1fr;
}

.cms-c-availability__btn {
  width: 100%;
  margin: 0;
  box-sizing: border-box;
  text-decoration: none;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  gap: var(--theme-comp-btn-gap, 0.4rem);
}
.cms-c-availability__btn .ti {
  flex-shrink: 0;
}
.cms-c-availability__btn:only-child {
  grid-column: 1/-1;
}
.cms-c-availability__btn:nth-child(3):last-child {
  grid-column: 1/-1;
}

.cms-c-availability__actions--fallback {
  margin-top: 1rem;
  max-width: 24rem;
}

.cms-c-availability__calendar--fallback {
  min-height: 12rem;
  display: grid;
  place-items: center;
}

.cms-c-sticky-booking {
  position: fixed;
  inset: auto 0 0;
  z-index: 90;
  padding: 0.75rem 1rem;
  background: var(--color-surface, #fff);
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(100%);
  transition: transform 0.25s ease, visibility 0.25s ease;
  visibility: hidden;
}
.cms-c-sticky-booking.is-visible {
  transform: translateY(0);
  visibility: visible;
}
.cms-c-sticky-booking[hidden]:not(.is-visible) {
  display: block;
}

.cms-c-sticky-booking__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  max-width: var(--layout-max-width, 1600px);
  margin-inline: auto;
}

.cms-c-sticky-booking__title {
  margin: 0;
  font-weight: 600;
  font-size: 0.9375rem;
}

.cms-c-sticky-booking__search {
  flex: 1 1 16rem;
  min-width: 0;
}

.cms-c-sticky-booking__cta {
  flex: 0 0 auto;
  padding: 0.55rem 1rem;
  border: 0;
  border-radius: 999px;
  background: var(--color-primary, #2d6a4f);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.cms-c-price-compare__grid {
  display: grid;
  gap: var(--theme-comp-cms-slot-gap, var(--theme-comp-cms-component-slot-gap, 1rem));
}

.cms-c-price-compare__card {
  padding: 1.25rem 1.5rem;
  border-radius: var(--layout-radius, 12px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: var(--color-surface, #fff);
}
.cms-c-price-compare__card--highlight {
  border-color: var(--color-primary, #2d6a4f);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

.cms-c-price-compare__name {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
}

.cms-c-price-compare__price {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
}

.cms-c-price-compare__period {
  margin: 0.25rem 0 0;
  font-size: 0.875rem;
  opacity: 0.8;
}

.cms-c-price-compare__note {
  margin: 0.75rem 0 0;
  font-size: 0.875rem;
  opacity: 0.85;
}

.cms-c-compare-rooms__grid {
  display: grid;
  gap: var(--theme-comp-cms-slot-gap, var(--theme-comp-cms-component-slot-gap, 1rem));
}
@media (min-width: 768px) {
  .cms-c-compare-rooms__grid {
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  }
}

.cms-c-compare-rooms__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--layout-radius, 12px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: var(--color-surface, #fff);
}

.cms-c-compare-rooms__media img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}

.cms-c-compare-rooms__body {
  padding: 1rem;
}

.cms-c-compare-rooms__name {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}
.cms-c-compare-rooms__name a {
  color: inherit;
  text-decoration: none;
}

.cms-c-compare-rooms__price {
  margin: 0 0 0.5rem;
  font-weight: 700;
  color: var(--color-primary, #2d6a4f);
}

.cms-c-compare-rooms__amenities {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 0.875rem;
  opacity: 0.9;
}
.cms-c-compare-rooms__amenities li + li {
  margin-top: 0.2rem;
}

.cms-c-last-minute__lead {
  margin: 0 0 1rem;
  color: var(--color-text-muted, #65706a);
}

.cms-c-seasonal {
  position: relative;
  display: grid;
  gap: 1.25rem;
  padding: 1.5rem;
  border-radius: var(--layout-radius, 12px);
  overflow: hidden;
}
@media (min-width: 768px) {
  .cms-c-seasonal {
    grid-template-columns: minmax(0, 280px) 1fr;
    align-items: center;
  }
}
.cms-c-seasonal--dark {
  background: var(--color-surface-strong, #1a1a1a);
  color: #fff;
}
.cms-c-seasonal--light {
  background: var(--color-surface-soft, rgba(0, 0, 0, 0.04));
}
.cms-c-seasonal--primary {
  background: var(--color-primary, #2d6a4f);
  color: #fff;
}

.cms-c-seasonal__media img {
  width: 100%;
  border-radius: calc(var(--layout-radius, 12px) - 4px);
  object-fit: cover;
}

.cms-c-seasonal__countdown {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
  margin: 1rem 0;
}

.cms-c-seasonal__countdown-value {
  font-size: 1.25rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.cms-c-seasonal__btn {
  display: inline-flex;
  margin-top: 0.5rem;
  padding: 0.65rem 1.25rem;
  border-radius: 999px;
  background: #fff;
  color: var(--color-primary, #2d6a4f);
  text-decoration: none;
  font-weight: 600;
}

.cms-c-seasonal--dark .cms-c-seasonal__btn,
.cms-c-seasonal--primary .cms-c-seasonal__btn {
  background: #fff;
  color: var(--color-primary, #2d6a4f);
}

.cms-c-virtual-tour__embed {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--layout-radius, 12px);
  background: rgba(0, 0, 0, 0.04);
}
.cms-c-virtual-tour__embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.cms-c-before-after__frame {
  position: relative;
  overflow: hidden;
  border-radius: var(--layout-radius, 12px);
  aspect-ratio: 16/9;
  user-select: none;
}

.cms-c-before-after__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cms-c-before-after__after {
  position: absolute;
  inset: 0;
  width: 50%;
  overflow: hidden;
}

.cms-c-before-after__img--after {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
}

.cms-c-before-after__range {
  position: absolute;
  inset: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: ew-resize;
}

.cms-c-before-after__label {
  position: absolute;
  top: 0.75rem;
  z-index: 2;
  padding: 0.25rem 0.5rem;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
}
.cms-c-before-after__label--before {
  left: 0.75rem;
}
.cms-c-before-after__label--after {
  right: 0.75rem;
}

.cms-c-photo-story__stack {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  max-height: clamp(28rem, 72vh, 42rem);
  overflow-y: auto;
  scroll-snap-type: y proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-inline: 2px;
}

.cms-c-photo-story__block {
  margin: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.cms-c-photo-story__img {
  width: 100%;
  min-height: clamp(16rem, 42vw, 24rem);
  max-height: clamp(20rem, 58vh, 36rem);
  border-radius: var(--layout-radius, 12px);
  object-fit: cover;
}

.cms-c-photo-story__caption {
  margin-top: 0.65rem;
  font-size: 0.9375rem;
  color: var(--color-text-muted, #65706a);
}

.cms-c-ski__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
}

.cms-c-ski__item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 1rem;
  border-radius: var(--layout-radius, 12px);
  background: var(--color-surface-soft, rgba(0, 0, 0, 0.04));
}

.cms-c-ski__icon {
  flex-shrink: 0;
  font-size: 1.5rem;
  color: var(--color-primary, #2d6a4f);
}

.cms-c-ski__text {
  margin: 0.2rem 0 0;
  font-size: 0.9375rem;
  opacity: 0.9;
}

.cms-c-ski__updated {
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  opacity: 0.7;
}

.cms-c-transport__table {
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: var(--layout-radius, 12px);
  overflow: hidden;
}

.cms-c-transport__row {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 1fr;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.cms-c-transport__row:first-child {
  border-top: 0;
}
.cms-c-transport__row--head {
  background: var(--color-surface-soft, rgba(0, 0, 0, 0.04));
  font-weight: 600;
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

@media (max-width: 639px) {
  .cms-c-transport__row {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }
  .cms-c-transport__row--head {
    display: none;
  }
  .cms-c-transport__cell--route {
    font-weight: 600;
  }
}
.cms-c-events__timeline {
  margin: 0;
  padding: 0 0 0 1.25rem;
  list-style: none;
  border-left: 2px solid rgba(0, 0, 0, 0.1);
}

.cms-c-events__item {
  position: relative;
  padding: 0 0 1.5rem 1.25rem;
}
.cms-c-events__item::before {
  content: "";
  position: absolute;
  left: -1.35rem;
  top: 0.35rem;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: var(--color-primary, #2d6a4f);
}

.cms-c-events__date {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--color-primary, #2d6a4f);
  margin-bottom: 0.25rem;
}

.cms-c-events__name {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
}

.cms-c-events__text {
  margin: 0;
  font-size: 0.9375rem;
  opacity: 0.9;
}

.cms-c-parking__layout {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .cms-c-parking__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-c-parking__map-img img,
.cms-c-parking__iframe {
  width: 100%;
  border-radius: var(--layout-radius, 12px);
  border: 0;
}

.cms-c-parking__embed {
  aspect-ratio: 16/10;
  overflow: hidden;
  border-radius: var(--layout-radius, 12px);
}

.cms-c-parking__iframe {
  height: 100%;
  min-height: 240px;
}

.cms-c-parking__instructions {
  margin-top: 1rem;
}

.cms-c-awards__title {
  text-align: center;
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-text-muted, #65706a);
}

.cms-c-awards__lead {
  margin: 0 0 1rem;
  text-align: center;
  font-size: 0.9375rem;
  color: var(--color-text-muted, #65706a);
}

.cms-c-awards__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.5rem 2.5rem;
}

.cms-c-awards__item img {
  height: 2.75rem;
  width: auto;
  max-width: 160px;
  object-fit: contain;
}

.cms-c-awards--grayscale .cms-c-awards__item img {
  filter: grayscale(1);
  opacity: 0.75;
  transition: filter 0.2s ease, opacity 0.2s ease;
}

.cms-c-awards--grayscale .cms-c-awards__item:hover img {
  filter: grayscale(0);
  opacity: 1;
}

.cms-c-press__grid {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .cms-c-press__grid {
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  }
}

.cms-c-press__card {
  margin: 0;
  padding: 1.25rem;
  border-radius: var(--layout-radius, 12px);
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: var(--color-surface, #fff);
}

.cms-c-press__logo img {
  height: 2rem;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  margin-bottom: 0.75rem;
}

.cms-c-press__quote {
  margin: 0;
  font-style: italic;
  line-height: 1.5;
}

.cms-c-press__outlet {
  display: block;
  margin-top: 0.75rem;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 600;
  opacity: 0.8;
}

.cms-c-arrive__steps {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: arrive;
}

.cms-c-arrive__step {
  display: flex;
  gap: 0.75rem;
  counter-increment: arrive;
  padding: 0.85rem 0;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.cms-c-arrive__step:first-child {
  border-top: 0;
}

.cms-c-arrive__icon {
  flex-shrink: 0;
  font-size: 1.35rem;
  color: var(--color-primary, #2d6a4f);
}

.cms-c-arrive__text {
  margin: 0.25rem 0 0;
  font-size: 0.9375rem;
  opacity: 0.9;
}

.cms-c-arrive__map-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1rem;
  font-weight: 600;
  color: var(--color-primary, #2d6a4f);
}

.cms-c-newsletter__form,
.cms-c-callback__form,
.cms-c-pdf-gate__form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1rem;
}

.cms-c-newsletter__input,
.cms-c-callback__input,
.cms-c-pdf-gate__input {
  flex: 1 1 12rem;
  min-width: 0;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: var(--layout-radius, 8px);
}

.cms-c-newsletter__btn,
.cms-c-callback__btn,
.cms-c-pdf-gate__btn {
  flex: 0 0 auto;
  padding: 0.65rem 1.15rem;
  border: 0;
  border-radius: var(--layout-radius, 8px);
  background: var(--color-primary, #2d6a4f);
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.cms-c-newsletter__privacy {
  margin: 0.65rem 0 0;
  font-size: 0.8125rem;
  opacity: 0.75;
}

.cms-c-pdf-gate__btn {
  display: inline-flex;
  margin-top: 1rem;
}

.cms-c-chat-slot {
  width: 100%;
}

body.cms-callback-modal-open {
  overflow: hidden;
}

.cms-c-callback-modal {
  position: fixed;
  inset: 0;
  z-index: calc(var(--theme-comp-mobile-action-bar-z, 1040) + 20);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.cms-c-callback-modal[hidden] {
  display: none;
}
.cms-c-callback-modal.is-open {
  display: flex;
}

.cms-c-callback-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  background: rgba(15, 23, 42, 0.55);
  cursor: pointer;
}

.cms-c-callback-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 28rem);
  padding: 1.35rem 1.35rem 1.5rem;
  border-radius: var(--layout-radius, 12px);
  background: var(--color-surface, #fff);
  box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
}

.cms-c-callback-modal__close {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 999px;
  background: var(--color-surface-soft, #f8fafc);
  color: var(--color-text-muted, #64748b);
  cursor: pointer;
}

.cms-c-callback-modal__title {
  margin: 0 2rem 0.5rem 0;
  font-size: 1.2rem;
}

.cms-c-callback-modal__lead {
  margin: 0 0 0.75rem;
  color: var(--color-text-muted, #64748b);
}

.cms-c-callback-modal__form {
  margin-top: 0.75rem;
}

.cms-c-grid-cols {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(var(--cms-cols-base, 1), minmax(0, 1fr));
}

@media (min-width: 768px) {
  .cms-c-grid-cols {
    grid-template-columns: repeat(var(--cms-cols-md, 2), minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-grid-cols {
    grid-template-columns: repeat(var(--cms-cols-lg, 3), minmax(0, 1fr));
  }
}
.cms-c-map__frame-wrap {
  position: relative;
  width: 100%;
  height: var(--cms-map-height, 320px);
  border-radius: 0.65rem;
  overflow: hidden;
  border: 1px solid var(--color-border, #dee2e6);
}

.cms-c-map__frame {
  width: 100%;
  height: 100%;
  border: 0;
}

.cms-c-contact-form__grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1fr;
}

@media (min-width: 576px) {
  .cms-c-contact-form__grid {
    grid-template-columns: 1fr 1fr;
  }
  .cms-c-contact-form__full {
    grid-column: 1/-1;
  }
}
.cms-c-contact-form__inner {
  max-width: 40rem;
}

.cms-c-listing-embed__search {
  margin-bottom: 1rem;
}

.cms-c-listing-embed__title {
  margin: 0 0 0.75rem;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
}

.cms-c-blog-grid__title,
.cms-c-attractions-grid__title,
.cms-c-seo-tiles__title {
  margin: 0 0 1rem;
  font-size: clamp(1.2rem, 4vw, 1.45rem);
}

.cms-c-blog-card__title {
  font-size: 1.05rem;
  margin: 0.35rem 0 0;
}

.cms-c-seo-tiles__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}

@media (min-width: 576px) {
  .cms-c-seo-tiles__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 992px) {
  .cms-c-seo-tiles__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.news-feed {
  --news-cols-desktop: 3;
  --news-cols-mobile: 1;
  --news-accent: #0f766e;
  width: 100%;
}

.news-feed__header {
  margin-bottom: 1.5rem;
}

.news-feed__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--news-accent);
}

.news-feed__title {
  margin: 0 0 0.5rem;
}

.news-feed__lead {
  margin: 0;
  max-width: 42rem;
  opacity: 0.85;
}

.news-feed__grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(var(--news-cols-mobile), minmax(0, 1fr));
}
@media (min-width: 768px) {
  .news-feed__grid {
    grid-template-columns: repeat(var(--news-cols-desktop), minmax(0, 1fr));
  }
}

.news-card {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border: 1px solid transparent;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s ease, background-color 0.3s ease, box-shadow 0.35s ease;
}
.news-card:hover, .news-card:focus-within {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--news-accent) 28%, currentColor 8%);
  background: color-mix(in srgb, var(--news-accent) 6%, transparent);
  box-shadow: 0 14px 36px color-mix(in srgb, var(--news-accent) 14%, transparent);
}
.news-card:hover .news-card__media img, .news-card:focus-within .news-card__media img {
  transform: scale(1.04);
}
.news-card:hover .news-card__cta, .news-card:focus-within .news-card__cta {
  gap: 0.4rem;
  color: color-mix(in srgb, var(--news-accent) 82%, #000 18%);
}
.news-card:hover .news-card__cta::after, .news-card:focus-within .news-card__cta::after {
  transform: translateX(3px);
  opacity: 1;
}

.news-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  flex: 1 1 auto;
  padding: var(--theme-comp-news-card-body-pad, 0.9rem 1rem 1.1rem);
}

.news-card__media {
  overflow: hidden;
  isolation: isolate;
}

.news-card__media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/10;
  object-fit: cover;
  transform: scale(1);
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.news-card__badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--news-accent);
}

.news-card__title {
  margin: 0.25rem 0;
  font-size: 1.15rem;
  transition: color 0.25s ease;
}

.news-card:hover .news-card__title,
.news-card:focus-within .news-card__title {
  color: color-mix(in srgb, var(--news-accent) 55%, currentColor);
}

.news-card__title a,
.news-card__title-btn {
  color: inherit;
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.news-card__excerpt,
.news-card__author,
.news-card__date {
  margin: 0;
  font-size: 0.95rem;
  opacity: 0.85;
}

.news-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 0.5rem;
  font-weight: 600;
  color: var(--news-accent);
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: color 0.25s ease, gap 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.news-card__cta::after {
  content: "→";
  display: inline-block;
  opacity: 0.55;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.25s ease;
}

.news-feed__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.news-feed__list-row .news-card {
  display: grid;
  grid-template-columns: minmax(0, 180px) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
}
@media (max-width: 639px) {
  .news-feed__list-row .news-card {
    grid-template-columns: 1fr;
  }
}
.news-feed__list-row .news-card .news-card__media img {
  height: 100%;
  min-height: 8.5rem;
  aspect-ratio: auto;
}

.news-feed__list-row--alt .news-card {
  direction: rtl;
}
.news-feed__list-row--alt .news-card > * {
  direction: ltr;
}

.news-feed__featured-split {
  display: grid;
  gap: 1.25rem;
}
@media (min-width: 900px) {
  .news-feed__featured-split {
    grid-template-columns: 1.4fr 1fr;
  }
}

.news-feed__featured-side {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.news-feed__slider-track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 0.5rem;
}

.news-feed__slider-slide {
  flex: 0 0 min(85%, 320px);
  scroll-snap-align: start;
}

.news-feed__slider-nav {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.news-feed__timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: 2px solid color-mix(in srgb, var(--news-accent) 35%, transparent);
}

.news-feed__timeline-item {
  position: relative;
  padding: 0 0 1.5rem 1.25rem;
}

.news-feed__timeline-marker {
  position: absolute;
  left: -0.4rem;
  top: 0.35rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: var(--news-accent);
}

.news-feed__masonry {
  columns: 1;
  column-gap: 1.25rem;
}
@media (min-width: 700px) {
  .news-feed__masonry {
    columns: 2;
  }
}
@media (min-width: 1100px) {
  .news-feed__masonry {
    columns: 3;
  }
}

.news-feed__masonry-item {
  break-inside: avoid;
  margin-bottom: 1.25rem;
}

.news-feed__announcement {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.75rem 2.5rem 0.75rem 1rem;
  background: color-mix(in srgb, var(--news-accent) 12%, transparent);
}

.news-feed__announcement-dismiss {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
}

.news-feed__ticker-toggle {
  flex-shrink: 0;
  margin-left: 0.5rem;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  font-size: 0.75rem;
  padding: 0.2rem 0.55rem;
  cursor: pointer;
}

.news-feed__announcement-controls {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}

.news-feed__announcement-prev,
.news-feed__announcement-next {
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 1.25rem;
  line-height: 1;
  padding: 0.15rem 0.4rem;
  cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
  .news-feed__ticker-track {
    animation: none !important;
  }
}
.news-feed__ticker {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border-block: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}

.news-feed__ticker-label {
  flex: 0 0 auto;
  padding: 0.6rem 0.9rem;
  font-weight: 700;
  background: var(--news-accent);
  color: #fff;
}

.news-feed__ticker-viewport {
  overflow: hidden;
  flex: 1;
}

.news-feed__ticker-track {
  display: flex;
  gap: 2rem;
  width: max-content;
  padding: 0.6rem 0;
  animation: news-ticker-scroll 28s linear infinite;
}

.news-feed__ticker.is-paused .news-feed__ticker-track,
.news-feed__ticker.is-paused-manual .news-feed__ticker-track {
  animation-play-state: paused;
}

@keyframes news-ticker-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.news-feed__hero {
  min-height: clamp(18rem, 55vh, 28rem);
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.35), rgba(15, 23, 42, 0.7)), var(--news-hero-image, none) center/cover no-repeat;
  color: #fff;
  display: flex;
  align-items: flex-end;
}

.news-feed__hero-overlay {
  padding: clamp(1.25rem, 4vw, 2.5rem);
  max-width: 40rem;
}

.news-feed__hero-cta {
  display: inline-flex;
  margin-top: 1rem;
  padding: 0.65rem 1.1rem;
  background: #fff;
  color: #111;
  text-decoration: none;
  font-weight: 600;
}

.news-feed__minimal {
  list-style: none;
  margin: 0;
  padding: 0;
}

.news-feed__minimal-item {
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  padding: 0.65rem 0;
  border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
}

.news-feed__calendar-day + .news-feed__calendar-day {
  margin-top: 1.5rem;
}

.news-feed__gallery {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}

.news-feed__gallery-item {
  position: relative;
  display: block;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  aspect-ratio: 1;
}

.news-feed__gallery-item img,
.news-feed__gallery-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background: #334155;
}

.news-feed__gallery-caption {
  position: absolute;
  inset: auto 0 0;
  padding: 0.75rem;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.75));
  opacity: 0;
  transition: opacity 0.2s ease;
}

.news-feed__gallery-item:hover .news-feed__gallery-caption,
.news-feed__gallery-item:focus-visible .news-feed__gallery-caption {
  opacity: 1;
}

.news-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
}

.news-modal[hidden] {
  display: none !important;
}

.news-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.55);
}

.news-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(640px, 100vw - 2rem);
  max-height: min(80vh, 720px);
  overflow: auto;
  background: #fff;
  color: #111;
  padding: 1.5rem;
}

.news-modal__close {
  position: absolute;
  top: 0.5rem;
  right: 0.75rem;
  border: 0;
  background: transparent;
  font-size: 1.5rem;
  cursor: pointer;
}

body.news-modal-open {
  overflow: hidden;
}

.news-page__hero {
  margin-bottom: 1.75rem;
}

.news-page__threads {
  --news-threads-gap: 0.5rem;
  margin: 0 0 clamp(1.35rem, 2.8vw, 2rem);
}

.news-page__threads-label {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.62;
}

.news-page__threads-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--news-threads-gap);
}

.news-page__threads-item {
  min-width: 0;
}

.news-page__thread {
  --news-thread-color: var(--news-accent, #0f766e);
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  max-width: 100%;
  padding: 0.5rem 0.85rem;
  color: inherit;
  text-decoration: none;
  border: 1px solid color-mix(in srgb, var(--news-thread-color) 32%, currentColor 10%);
  background: color-mix(in srgb, var(--news-thread-color) 8%, transparent);
  transition: border-color 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}
.news-page__thread:hover, .news-page__thread:focus-visible {
  border-color: color-mix(in srgb, var(--news-thread-color) 58%, currentColor 8%);
  background: color-mix(in srgb, var(--news-thread-color) 16%, transparent);
  outline: none;
}
.news-page__thread:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--news-thread-color) 70%, transparent);
  outline-offset: 2px;
}

.news-page__thread-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  line-height: 1;
  color: var(--news-thread-color);
}

.news-page__thread-name {
  min-width: 0;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.news-page__thread-count {
  flex: 0 0 auto;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1;
  padding: 0.22rem 0.4rem;
  color: var(--news-thread-color);
  background: color-mix(in srgb, var(--news-thread-color) 12%, transparent);
}

.news-page__threads--compact {
  margin-bottom: 1rem;
}
.news-page__threads--compact .news-page__threads-label {
  margin-bottom: 0.4rem;
}
.news-page__threads--compact .news-page__thread {
  padding: 0.4rem 0.7rem;
}
.news-page__threads--compact .news-page__thread-name {
  font-size: 0.88rem;
}
.news-page__threads--compact .news-page__thread-count {
  display: none;
}

.news-page--thread .news-page__hero {
  padding-block: 0.25rem 0.35rem;
  border-left: 4px solid var(--news-thread-color, var(--news-accent, #0f766e));
  padding-left: 1rem;
}

.news-page__inner,
.news-article__inner {
  max-width: var(--theme-comp-news-content-max-width, min(var(--layout-max-width, 1600px), 94%));
}

.news-article {
  padding-block: clamp(1.5rem, 4vw, 3rem) clamp(2.5rem, 6vw, 4.5rem);
}

.news-article__back {
  display: inline-flex;
  margin-bottom: 1rem;
  text-decoration: none;
}

.news-article__figure {
  margin: 1.25rem 0 1.75rem;
}

.news-article__figure img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-lg, 12px);
}

.news-article__figure figcaption {
  margin-top: 0.5rem;
  font-size: 0.9rem;
  opacity: 0.75;
}

.news-article__meta {
  display: flex;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  opacity: 0.8;
}

.news-article__lead {
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.news-article__event {
  display: grid;
  gap: 0.75rem;
  margin: 0 0 1.75rem;
  padding: 1.1rem 1.35rem;
  border-left: 3px solid var(--news-accent, currentColor);
  background: color-mix(in srgb, currentColor 5%, transparent);
  border-radius: var(--radius-md, 10px);
}

.news-article__event-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
}
.news-article__event-row dt {
  min-width: 6rem;
  font-weight: 600;
  opacity: 0.75;
  margin: 0;
}
.news-article__event-row dd {
  margin: 0;
}

.news-article__body {
  line-height: 1.7;
}
.news-article__body > * + * {
  margin-top: 1rem;
}
.news-article__body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-md, 10px);
}

.news-article__related {
  margin-top: clamp(2.5rem, 6vw, 4rem);
  padding-top: clamp(1.5rem, 4vw, 2.5rem);
  border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
}

.news-article__related-heading {
  margin: 0 0 1.25rem;
}

.cms-in-page-nav {
  width: 100%;
  z-index: 45;
  background: color-mix(in srgb, var(--color-surface, #fff) 94%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 85%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.cms-in-page-nav--sticky {
  position: sticky;
  top: var(--cms-in-page-nav-offset, var(--site-header-height, 0px));
}

.home-page--cms-builder .cms-in-page-nav {
  margin-bottom: 0.25rem;
}

.cms-in-page-nav__inner {
  padding: 0.65rem 0;
}

.cms-in-page-nav__list {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.45rem;
  margin: 0;
  padding: 0 0 0.2rem;
  list-style: none;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}

.cms-in-page-nav__item {
  flex-shrink: 0;
  scroll-snap-align: start;
}

.cms-in-page-nav__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.95rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--color-nav-link, var(--color-text-muted, #64748b));
  border: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 70%, transparent);
  background-color: var(--color-nav-link-bg, var(--color-surface, #fff));
  white-space: nowrap;
  transition: var(--theme-comp-nav-d-link-transition, color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease);
  pointer-events: auto;
}
.cms-in-page-nav__link:hover {
  color: var(--color-nav-link-hover, var(--color-secondary));
  background-color: var(--color-nav-link-hover-bg, color-mix(in srgb, var(--color-secondary) 8%, var(--color-surface)));
  background-image: var(--theme-comp-nav-d-link-bg-gradient-hover, none);
  border-color: color-mix(in srgb, var(--color-secondary) 22%, transparent);
  transform: translateY(-1px);
}
.cms-in-page-nav__link:focus-visible {
  color: var(--color-nav-link-hover, var(--color-secondary));
  background-color: var(--color-nav-link-hover-bg, color-mix(in srgb, var(--color-secondary) 10%, var(--color-surface)));
  background-image: var(--theme-comp-nav-d-link-bg-gradient-hover, none);
  outline: 2px solid color-mix(in srgb, var(--color-secondary) 32%, transparent);
  outline-offset: 2px;
  border-color: color-mix(in srgb, var(--color-secondary) 24%, transparent);
}

.cms-in-page-nav__link.is-active {
  color: var(--color-nav-link-active, var(--color-secondary));
  font-weight: 650;
  letter-spacing: 0.01em;
  background-color: var(--color-nav-link-active-bg, color-mix(in srgb, var(--color-secondary) 11%, var(--color-surface)));
  background-image: none;
  border-color: color-mix(in srgb, var(--color-secondary) 24%, transparent);
  box-shadow: inset 0 1px 0 color-mix(in srgb, #fff 12%, transparent);
}

.cms-in-page-nav__link.is-active:hover,
.cms-in-page-nav__link.is-active:focus-visible {
  color: var(--color-nav-link-active, var(--color-secondary));
  background-color: var(--color-nav-link-active-bg, color-mix(in srgb, var(--color-secondary) 14%, var(--color-surface)));
  background-image: none;
  border-color: color-mix(in srgb, var(--color-secondary) 28%, transparent);
}

.cms-in-page-nav__icon {
  font-size: 1rem;
  line-height: 1;
  color: var(--color-nav-link-icon, currentColor);
}

.cms-in-page-nav--tabs .cms-in-page-nav__link {
  border-radius: 0.45rem;
}

.cms-in-page-nav--bottom_bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: auto;
  border-top: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 85%, transparent);
  border-bottom: none;
  padding-bottom: env(safe-area-inset-bottom, 0);
  z-index: 200;
  box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08);
}

.cms-in-page-nav--bottom_bar .cms-in-page-nav__inner {
  padding: 0.45rem 0;
}

@media (min-width: 992px) {
  .cms-in-page-nav--sidebar {
    position: sticky;
    top: var(--cms-in-page-nav-offset, var(--site-header-height, 0px));
    max-width: 15rem;
    margin-bottom: 1rem;
    border: 1px solid color-mix(in srgb, var(--color-border, #e2e8f0) 70%, transparent);
    border-radius: var(--layout-radius, 12px);
    padding-inline: 0.35rem;
  }
  .cms-in-page-nav--sidebar .cms-in-page-nav__list {
    flex-direction: column;
    overflow: visible;
    flex-wrap: wrap;
    padding: 0.35rem;
  }
  .cms-in-page-nav--sidebar .cms-in-page-nav__link {
    width: 100%;
    border-radius: 0.55rem;
    justify-content: flex-start;
  }
}
.cms-page--theme-default {
  --cms-section-gap: var(--theme-comp-cms-section-gap, 0);
}

.cms-page--theme-editorial {
  --cms-section-gap: var(--theme-comp-cms-section-gap, 0);
}
.cms-page--theme-editorial .cms-c-tile__title {
  font-size: clamp(1.15rem, 2.5vw, 1.35rem);
  letter-spacing: -0.02em;
}
.cms-page--theme-editorial .cms-section__ai {
  font-size: 1.02rem;
  line-height: 1.65;
}

.cms-page--theme-rentilo {
  --cms-section-gap: var(--theme-comp-cms-section-gap, 0);
}
.cms-page--theme-rentilo .cms-section-header__eyebrow,
.cms-page--theme-rentilo .cms-c-section-header__eyebrow {
  color: var(--color-primary);
}
.cms-page--theme-rentilo .cms-c-stats__value,
.cms-page--theme-rentilo .cms-c-stats--accent-bar .cms-c-stats__value {
  color: var(--color-primary);
}
.cms-page--theme-rentilo .cms-c-stats--hero-rail .cms-c-stat__value {
  color: var(--color-secondary, #f7cf39);
}
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-section-header__title,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-feature__title,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-feature__text,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-vhero__title,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-hero__title {
  color: rgba(255, 255, 255, 0.94);
}
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-section-header__lead,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-feature__text,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-vhero__lead,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-vhero__lead p,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-hero__lead,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-hero__lead p,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-rich-text,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-rich-text p {
  color: rgba(255, 255, 255, 0.78);
}
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-section-header__eyebrow,
.cms-page--theme-rentilo .cms-section--tone-dark .cms-c-vhero__eyebrow {
  color: var(--color-secondary, #f7cf39);
}
.cms-page--theme-rentilo .cms-c-btn--primary {
  background-color: var(--theme-comp-btn-primary-bg, var(--color-primary));
  color: var(--theme-comp-btn-primary-color, var(--color-on-primary));
}
.cms-page--theme-rentilo .cms-c-btn--primary:hover, .cms-page--theme-rentilo .cms-c-btn--primary:focus-visible {
  background-color: var(--theme-comp-btn-primary-bg-hover, var(--color-primary-hover));
  color: var(--theme-comp-btn-primary-color-hover, var(--color-on-primary));
  transform: var(--theme-comp-btn-transform-hover, translateY(-2px));
  box-shadow: var(--theme-comp-btn-shadow-hover, var(--theme-comp-btn-shadow, none));
}

.cms-home__hero.cms-section,
.home-page--cms-builder #hero-start.cms-home__hero,
.rentilo-home__hero.cms-section,
.home-page--cms-builder #hero-start.rentilo-home__hero {
  --cms-home-search-max: min(1180px, calc(100% - 1rem));
  --cms-home-hero-shell-pad-x: clamp(0.75rem, 2.5vw, 1.5rem);
  position: relative;
  isolation: isolate;
  margin-top: var(--cms-section-spacing-mt, 0);
  margin-right: var(--cms-section-spacing-mr, 0);
  margin-bottom: var(--cms-section-spacing-mb, clamp(2rem, 4vw, 3.25rem));
  margin-left: var(--cms-section-spacing-ml, 0);
  padding-top: var(--cms-section-spacing-pt, 0);
  padding-right: var(--cms-section-spacing-pr, 0);
  padding-bottom: var(--cms-section-spacing-pb, 0);
  padding-left: var(--cms-section-spacing-pl, 0);
  min-height: var(--cms-section-spacing-min-h, auto);
  overflow: visible;
  background: var(--color-bg);
  width: 100%;
}
.cms-home__hero.cms-section .cms-section__content,
.cms-home__hero.cms-section .cms-section__wrap,
.cms-home__hero.cms-section .cms-section__grid,
.cms-home__hero.cms-section .cms-section__slot,
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__content,
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__wrap,
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__grid,
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__slot,
.rentilo-home__hero.cms-section .cms-section__content,
.rentilo-home__hero.cms-section .cms-section__wrap,
.rentilo-home__hero.cms-section .cms-section__grid,
.rentilo-home__hero.cms-section .cms-section__slot,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__content,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__wrap,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__grid,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__slot {
  margin: 0;
  width: 100%;
  max-width: none;
  overflow: visible;
}
.cms-home__hero.cms-section .cms-section__grid,
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__grid,
.rentilo-home__hero.cms-section .cms-section__grid,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__grid {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}
.cms-home__hero.cms-section .cms-section__slot-content,
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__slot-content,
.rentilo-home__hero.cms-section .cms-section__slot-content,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__slot-content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 clamp(2rem, 4vw, 3rem);
  overflow: visible;
}
.cms-home__hero.cms-section .cms-section__component,
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__component,
.rentilo-home__hero.cms-section .cms-section__component,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__component {
  display: block !important;
  width: 100%;
}
.cms-home__hero.cms-section .cms-section__component:has(.cms-c-hero),
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__component:has(.cms-c-hero),
.rentilo-home__hero.cms-section .cms-section__component:has(.cms-c-hero),
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__component:has(.cms-c-hero) {
  order: 1;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin: 0;
}
.cms-home__hero.cms-section .cms-c-hero--layout-portal,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero--layout-portal,
.rentilo-home__hero.cms-section .cms-c-hero--layout-portal,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero--layout-portal {
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
}
.cms-home__hero.cms-section .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg,
.rentilo-home__hero.cms-section .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg {
  width: 100%;
  margin: 0;
  border-radius: 0;
  overflow: hidden;
  padding-bottom: clamp(3.25rem, 6vw, 4.75rem);
  min-height: var(--cms-section-spacing-min-h, unset);
}
.cms-home__hero.cms-section .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-sm,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-sm,
.rentilo-home__hero.cms-section .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-sm,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-sm {
  min-height: clamp(18rem, 38vh, 26rem);
}
.cms-home__hero.cms-section .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-md,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-md,
.rentilo-home__hero.cms-section .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-md,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-md {
  min-height: clamp(20rem, 46vh, 32rem);
}
.cms-home__hero.cms-section .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-lg,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-lg,
.rentilo-home__hero.cms-section .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-lg,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-lg {
  min-height: clamp(24rem, 56vh, 40rem);
}
.cms-home__hero.cms-section .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-xl,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-xl,
.rentilo-home__hero.cms-section .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-xl,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero--layout-portal.cms-c-hero--has-portal-bg.cms-c-hero--h-xl {
  min-height: clamp(28rem, 68vh, 48rem);
}
.cms-home__hero.cms-section .cms-c-hero__inner--portal,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero__inner--portal,
.rentilo-home__hero.cms-section .cms-c-hero__inner--portal,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero__inner--portal {
  max-width: min(46rem, 100%);
  margin-inline: auto;
  padding-inline: var(--cms-home-hero-shell-pad-x);
}
.cms-home__hero.cms-section .cms-c-hero__title,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero__title,
.rentilo-home__hero.cms-section .cms-c-hero__title,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero__title {
  font-size: clamp(2rem, 5.2vw, 3.15rem);
  line-height: 1.06;
  letter-spacing: -0.035em;
}
.cms-home__hero.cms-section .cms-c-hero__lead,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero__lead,
.rentilo-home__hero.cms-section .cms-c-hero__lead,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero__lead {
  margin-top: 0.85rem;
  font-size: clamp(1.02rem, 1.65vw, 1.12rem);
  line-height: 1.62;
}
.cms-home__hero.cms-section .cms-c-hero__tags,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero__tags,
.rentilo-home__hero.cms-section .cms-c-hero__tags,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero__tags {
  margin-top: 1rem;
  gap: 0.45rem;
}
.cms-home__hero.cms-section .cms-section__component:has(.cms-c-social-rail),
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__component:has(.cms-c-social-rail),
.rentilo-home__hero.cms-section .cms-section__component:has(.cms-c-social-rail),
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__component:has(.cms-c-social-rail) {
  display: none !important;
}
.cms-home__hero.cms-section .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
.rentilo-home__hero.cms-section .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)) {
  order: 2;
  position: relative;
  z-index: 6;
  width: 100%;
  max-width: var(--cms-home-search-max);
  margin-inline: auto;
  margin-top: clamp(-2.5rem, -4vw, -1.5rem);
  padding-inline: var(--cms-home-hero-shell-pad-x);
}
.cms-home__hero.cms-section .cms-section__component:has(.cms-c-booking--place-custom),
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__component:has(.cms-c-booking--place-custom),
.rentilo-home__hero.cms-section .cms-section__component:has(.cms-c-booking--place-custom),
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__component:has(.cms-c-booking--place-custom) {
  order: 2;
  width: 100%;
  max-width: var(--cms-home-search-max);
  margin-inline: auto;
  padding-inline: var(--cms-home-hero-shell-pad-x);
}
.cms-home__hero.cms-section .cms-c-hero--has-portal-bg + .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
.cms-home__hero.cms-section .cms-section__component:has(.cms-c-hero--has-portal-bg) ~ .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero--has-portal-bg + .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__component:has(.cms-c-hero--has-portal-bg) ~ .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
.rentilo-home__hero.cms-section .cms-c-hero--has-portal-bg + .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
.rentilo-home__hero.cms-section .cms-section__component:has(.cms-c-hero--has-portal-bg) ~ .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero--has-portal-bg + .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__component:has(.cms-c-hero--has-portal-bg) ~ .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)) {
  margin-top: clamp(-4.75rem, -7vw, -3.25rem);
}
.cms-home__hero.cms-section .cms-c-booking--live,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-booking--live,
.rentilo-home__hero.cms-section .cms-c-booking--live,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-booking--live {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.cms-home__hero.cms-section .cms-c-booking__intro,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-booking__intro,
.rentilo-home__hero.cms-section .cms-c-booking__intro,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-booking__intro {
  display: none;
}
.cms-home__hero.cms-section .cms-c-booking__search-shell,
.cms-home__hero.cms-section .hero-search-bar-wrap.searchbar,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-booking__search-shell,
.home-page--cms-builder #hero-start.cms-home__hero .hero-search-bar-wrap.searchbar,
.rentilo-home__hero.cms-section .cms-c-booking__search-shell,
.rentilo-home__hero.cms-section .hero-search-bar-wrap.searchbar,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-booking__search-shell,
.home-page--cms-builder #hero-start.rentilo-home__hero .hero-search-bar-wrap.searchbar {
  width: 100%;
  margin: 0;
  --searchbar-surface-max-width: var(--cms-home-search-max);
}
.cms-home__hero.cms-section .hero-search-bar-wrap.searchbar.searchbar--full-width,
.home-page--cms-builder #hero-start.cms-home__hero .hero-search-bar-wrap.searchbar.searchbar--full-width,
.rentilo-home__hero.cms-section .hero-search-bar-wrap.searchbar.searchbar--full-width,
.home-page--cms-builder #hero-start.rentilo-home__hero .hero-search-bar-wrap.searchbar.searchbar--full-width {
  width: min(100%, var(--cms-home-search-max));
  max-width: min(100%, var(--cms-home-search-max));
  margin-inline: auto;
}
.cms-home__hero.cms-section .searchbar__strip,
.home-page--cms-builder #hero-start.cms-home__hero .searchbar__strip,
.rentilo-home__hero.cms-section .searchbar__strip,
.home-page--cms-builder #hero-start.rentilo-home__hero .searchbar__strip {
  min-height: clamp(4.5rem, 7.5vw, 5.15rem);
  padding: clamp(0.45rem, 0.9vw, 0.65rem);
  border: 1px solid color-mix(in srgb, var(--color-primary) 14%, var(--color-border));
  border-radius: calc(var(--cms-home-radius, 16px) + 4px);
  background: var(--color-surface);
  box-shadow: 0 22px 55px color-mix(in srgb, var(--color-heading) 16%, transparent), 0 4px 14px color-mix(in srgb, var(--color-heading) 8%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.85);
}
.cms-home__hero.cms-section .searchbar__col,
.home-page--cms-builder #hero-start.cms-home__hero .searchbar__col,
.rentilo-home__hero.cms-section .searchbar__col,
.home-page--cms-builder #hero-start.rentilo-home__hero .searchbar__col {
  min-height: clamp(3.65rem, 6.8vw, 4.15rem);
}
.cms-home__hero.cms-section .searchbar__input-wrap,
.cms-home__hero.cms-section .flat-tag,
.cms-home__hero.cms-section button.flat-tag,
.home-page--cms-builder #hero-start.cms-home__hero .searchbar__input-wrap,
.home-page--cms-builder #hero-start.cms-home__hero .flat-tag,
.home-page--cms-builder #hero-start.cms-home__hero button.flat-tag,
.rentilo-home__hero.cms-section .searchbar__input-wrap,
.rentilo-home__hero.cms-section .flat-tag,
.rentilo-home__hero.cms-section button.flat-tag,
.home-page--cms-builder #hero-start.rentilo-home__hero .searchbar__input-wrap,
.home-page--cms-builder #hero-start.rentilo-home__hero .flat-tag,
.home-page--cms-builder #hero-start.rentilo-home__hero button.flat-tag {
  padding-inline: clamp(1rem, 1.85vw, 1.4rem);
}
.cms-home__hero.cms-section .searchbar-location-display__caption,
.cms-home__hero.cms-section .searchbar-dates-display__caption,
.cms-home__hero.cms-section .searchbar-guests-display__caption,
.home-page--cms-builder #hero-start.cms-home__hero .searchbar-location-display__caption,
.home-page--cms-builder #hero-start.cms-home__hero .searchbar-dates-display__caption,
.home-page--cms-builder #hero-start.cms-home__hero .searchbar-guests-display__caption,
.rentilo-home__hero.cms-section .searchbar-location-display__caption,
.rentilo-home__hero.cms-section .searchbar-dates-display__caption,
.rentilo-home__hero.cms-section .searchbar-guests-display__caption,
.home-page--cms-builder #hero-start.rentilo-home__hero .searchbar-location-display__caption,
.home-page--cms-builder #hero-start.rentilo-home__hero .searchbar-dates-display__caption,
.home-page--cms-builder #hero-start.rentilo-home__hero .searchbar-guests-display__caption {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}
.cms-home__hero.cms-section .searchbar-location-display__value,
.cms-home__hero.cms-section .searchbar-dates-display__range,
.cms-home__hero.cms-section .searchbar-guests-display__value,
.home-page--cms-builder #hero-start.cms-home__hero .searchbar-location-display__value,
.home-page--cms-builder #hero-start.cms-home__hero .searchbar-dates-display__range,
.home-page--cms-builder #hero-start.cms-home__hero .searchbar-guests-display__value,
.rentilo-home__hero.cms-section .searchbar-location-display__value,
.rentilo-home__hero.cms-section .searchbar-dates-display__range,
.rentilo-home__hero.cms-section .searchbar-guests-display__value,
.home-page--cms-builder #hero-start.rentilo-home__hero .searchbar-location-display__value,
.home-page--cms-builder #hero-start.rentilo-home__hero .searchbar-dates-display__range,
.home-page--cms-builder #hero-start.rentilo-home__hero .searchbar-guests-display__value {
  font-size: clamp(1.02rem, 1.55vw, 1.1rem);
  font-weight: 600;
  color: var(--color-heading);
}
.cms-home__hero.cms-section .searchbar__search-btn,
.home-page--cms-builder #hero-start.cms-home__hero .searchbar__search-btn,
.rentilo-home__hero.cms-section .searchbar__search-btn,
.home-page--cms-builder #hero-start.rentilo-home__hero .searchbar__search-btn {
  min-width: clamp(13rem, 20vw, 16rem);
  min-height: clamp(3.25rem, 6vw, 3.75rem);
  padding-inline: clamp(1.4rem, 2.5vw, 2rem);
  font-size: clamp(1rem, 1.45vw, 1.08rem);
  font-weight: 700;
  border-radius: calc(var(--cms-home-radius, 16px));
  box-shadow: 0 16px 40px color-mix(in srgb, var(--color-primary) 36%, transparent);
}
.cms-home__hero.cms-section .cms-section__component:has(.cms-c-stats),
.home-page--cms-builder #hero-start.cms-home__hero .cms-section__component:has(.cms-c-stats),
.rentilo-home__hero.cms-section .cms-section__component:has(.cms-c-stats),
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__component:has(.cms-c-stats) {
  order: 3;
  width: 100%;
  max-width: min(72rem, 100%);
  margin-inline: auto;
  margin-top: clamp(1rem, 2.2vw, 1.35rem);
  padding-inline: var(--cms-home-hero-shell-pad-x);
}
.cms-home__hero.cms-section .cms-c-stats--hero-rail,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-stats--hero-rail,
.rentilo-home__hero.cms-section .cms-c-stats--hero-rail,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-stats--hero-rail {
  width: 100%;
  margin: 0;
  padding: 0.45rem 0.55rem;
  border-radius: calc(var(--cms-home-radius, 16px) + 4px);
  border: 1px solid var(--color-border);
  background: color-mix(in srgb, var(--color-surface) 90%, var(--color-bg));
  box-shadow: 0 10px 28px color-mix(in srgb, var(--color-heading) 6%, transparent);
}
.cms-home__hero.cms-section .cms-c-stats--hero-rail .cms-c-stats__grid,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-stats--hero-rail .cms-c-stats__grid,
.rentilo-home__hero.cms-section .cms-c-stats--hero-rail .cms-c-stats__grid,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-stats--hero-rail .cms-c-stats__grid {
  gap: 0.35rem;
  align-items: stretch;
}
.cms-home__hero.cms-section .cms-c-stats--hero-rail .cms-c-stat,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-stats--hero-rail .cms-c-stat,
.rentilo-home__hero.cms-section .cms-c-stats--hero-rail .cms-c-stat,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-stats--hero-rail .cms-c-stat {
  min-height: 100%;
  justify-content: center;
  padding: 0.55rem 0.45rem;
  background: transparent;
  border: none;
}
.cms-home__hero.cms-section .cms-c-stats--hero-rail .cms-c-stat + .cms-c-stat,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-stats--hero-rail .cms-c-stat + .cms-c-stat,
.rentilo-home__hero.cms-section .cms-c-stats--hero-rail .cms-c-stat + .cms-c-stat,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-stats--hero-rail .cms-c-stat + .cms-c-stat {
  border-inline-start: 1px solid color-mix(in srgb, var(--color-border) 85%, transparent);
}
.cms-home__hero.cms-section .cms-c-stats--hero-rail .cms-c-stat__value,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-stats--hero-rail .cms-c-stat__value,
.rentilo-home__hero.cms-section .cms-c-stats--hero-rail .cms-c-stat__value,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-stats--hero-rail .cms-c-stat__value {
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight: 800;
  color: var(--color-primary);
  font-variant-numeric: tabular-nums;
}
.cms-home__hero.cms-section .cms-c-stats--hero-rail .cms-c-stat__label,
.home-page--cms-builder #hero-start.cms-home__hero .cms-c-stats--hero-rail .cms-c-stat__label,
.rentilo-home__hero.cms-section .cms-c-stats--hero-rail .cms-c-stat__label,
.home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-stats--hero-rail .cms-c-stat__label {
  margin-top: 0.2rem;
  min-height: 2.4em;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-wrap: balance;
}

@media (max-width: 767.98px) {
  .cms-home__hero.cms-section .cms-section__slot-content,
  .home-page--cms-builder #hero-start.cms-home__hero .cms-section__slot-content,
  .rentilo-home__hero.cms-section .cms-section__slot-content,
  .home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__slot-content {
    width: 100%;
    padding-inline: 0;
  }
  .cms-home__hero.cms-section .cms-c-hero__title,
  .home-page--cms-builder #hero-start.cms-home__hero .cms-c-hero__title,
  .rentilo-home__hero.cms-section .cms-c-hero__title,
  .home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-hero__title {
    font-size: clamp(1.85rem, 8.5vw, 2.35rem);
  }
  .cms-home__hero.cms-section .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
  .cms-home__hero.cms-section .cms-section__component:has(.cms-c-hero--has-portal-bg) ~ .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
  .home-page--cms-builder #hero-start.cms-home__hero .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
  .home-page--cms-builder #hero-start.cms-home__hero .cms-section__component:has(.cms-c-hero--has-portal-bg) ~ .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
  .rentilo-home__hero.cms-section .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
  .rentilo-home__hero.cms-section .cms-section__component:has(.cms-c-hero--has-portal-bg) ~ .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
  .home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)),
  .home-page--cms-builder #hero-start.rentilo-home__hero .cms-section__component:has(.cms-c-hero--has-portal-bg) ~ .cms-section__component:has(.cms-c-booking--live):not(:has(.cms-c-booking--place-custom)) {
    margin-top: clamp(-3.25rem, -8vw, -2rem);
  }
  .cms-home__hero.cms-section .searchbar__search-btn,
  .home-page--cms-builder #hero-start.cms-home__hero .searchbar__search-btn,
  .rentilo-home__hero.cms-section .searchbar__search-btn,
  .home-page--cms-builder #hero-start.rentilo-home__hero .searchbar__search-btn {
    min-width: 0;
    width: 100%;
  }
  .cms-home__hero.cms-section .cms-c-stats--hero-rail,
  .home-page--cms-builder #hero-start.cms-home__hero .cms-c-stats--hero-rail,
  .rentilo-home__hero.cms-section .cms-c-stats--hero-rail,
  .home-page--cms-builder #hero-start.rentilo-home__hero .cms-c-stats--hero-rail {
    border-radius: calc(var(--cms-home-radius, 16px) + 2px);
    padding: 0.65rem 0.75rem;
  }
}
.home-page--cms-builder.home-flow {
  --cms-home-radius: var(--theme-comp-cms-section-radius, var(--layout-radius, 16px));
  --cms-home-shadow: 0 14px 40px color-mix(in srgb, var(--color-heading) 8%, transparent);
  --cms-home-shadow-hover: 0 22px 50px color-mix(in srgb, var(--color-heading) 12%, transparent);
  background: var(--color-bg);
}
.home-page--cms-builder.home-flow .cms-section:not(#hero-start):not(.cms-home__hero):not(.cms-home__offers):not(.cms-home__deals):not(.rentilo-home__offers):not(.rentilo-home__deals):not(:has(.home-section--room-catalog)):not(:has(.home-section--room-catalog-carousel)):not(:has(.home-section--apartments-carousel)):not(:has(.home-section--featured)) {
  overflow: clip;
}
.home-page--cms-builder.home-flow .cms-section#hero-start.cms-home__hero,
.home-page--cms-builder.home-flow .cms-section.cms-home__hero {
  overflow: visible;
}
.home-page--cms-builder.home-flow .cms-section.cms-home__offers,
.home-page--cms-builder.home-flow .cms-section.cms-home__deals,
.home-page--cms-builder.home-flow .cms-section.rentilo-home__offers,
.home-page--cms-builder.home-flow .cms-section.rentilo-home__deals,
.home-page--cms-builder.home-flow .cms-section:has(.home-section--room-catalog),
.home-page--cms-builder.home-flow .cms-section:has(.home-section--room-catalog-carousel),
.home-page--cms-builder.home-flow .cms-section:has(.home-section--apartments-carousel),
.home-page--cms-builder.home-flow .cms-section:has(.home-section--featured) {
  overflow: visible;
}
.home-page--cms-builder.home-flow .cms-c-section-header--align-center,
.home-page--cms-builder.home-flow .cms-c-section-header--align-m-center {
  margin-inline: auto;
  text-align: center;
  align-items: center;
}
.home-page--cms-builder.home-flow .cms-c-section-header--align-center .cms-c-section-header__title,
.home-page--cms-builder.home-flow .cms-c-section-header--align-center .cms-c-section-header__lead,
.home-page--cms-builder.home-flow .cms-c-section-header--align-m-center .cms-c-section-header__title,
.home-page--cms-builder.home-flow .cms-c-section-header--align-m-center .cms-c-section-header__lead {
  margin-inline: auto;
}
.home-page--cms-builder.home-flow .cms-c-section-header__title,
.home-page--cms-builder.home-flow .cms-c-features__title,
.home-page--cms-builder.home-flow .cms-c-hotres-reviews__title {
  max-width: 23ch;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.home-page--cms-builder.home-flow .cms-c-section-header__lead,
.home-page--cms-builder.home-flow .cms-c-features__lead {
  max-width: 44rem;
  line-height: 1.65;
}
.home-page--cms-builder.home-flow .cms-c-section-header__eyebrow {
  color: var(--color-primary);
  letter-spacing: 0.11em;
}

.site-body--header-context-hero .home-page--cms-builder .cms-home__hero.cms-section,
.site-body--header-context-hero .home-page--cms-builder #hero-start.cms-home__hero,
.site-body--header-context-hero .home-page--cms-builder .rentilo-home__hero.cms-section,
.site-body--header-context-hero .home-page--cms-builder #hero-start.rentilo-home__hero {
  margin-top: 0;
}

.seo-cms-page--header-overlay.home-page--cms-builder .cms-home__hero.cms-section,
.seo-cms-page--header-overlay.home-page--cms-builder #hero-start.cms-home__hero,
.seo-cms-page--header-overlay.home-page--cms-builder .rentilo-home__hero.cms-section,
.seo-cms-page--header-overlay.home-page--cms-builder #hero-start.rentilo-home__hero {
  scroll-margin-top: 0;
}

.home-page--cms-builder .cms-home__categories .cms-c-ctc__head,
.home-page--cms-builder .rentilo-home__categories .cms-c-ctc__head {
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem);
  text-align: center;
}
.home-page--cms-builder .cms-home__categories .cms-c-ctc__eyebrow,
.home-page--cms-builder .rentilo-home__categories .cms-c-ctc__eyebrow {
  color: var(--color-primary);
  letter-spacing: 0.11em;
}
.home-page--cms-builder .cms-home__categories .cms-c-ctc__title,
.home-page--cms-builder .rentilo-home__categories .cms-c-ctc__title {
  max-width: 20ch;
  margin-inline: auto;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
.home-page--cms-builder .cms-home__categories .cms-c-ctc__lead,
.home-page--cms-builder .rentilo-home__categories .cms-c-ctc__lead {
  max-width: 42rem;
  line-height: 1.65;
}
.home-page--cms-builder .cms-home__categories .cms-c-ctc__tile,
.home-page--cms-builder .cms-home__categories .category-tile-card,
.home-page--cms-builder .rentilo-home__categories .cms-c-ctc__tile,
.home-page--cms-builder .rentilo-home__categories .category-tile-card {
  min-height: clamp(11rem, 22vw, 14rem);
  border: 1px solid var(--color-border);
  border-radius: var(--cms-home-radius);
  box-shadow: var(--cms-home-shadow);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.28s ease, box-shadow 0.28s ease;
}
.home-page--cms-builder .cms-home__categories .category-tile-card--no-media,
.home-page--cms-builder .rentilo-home__categories .category-tile-card--no-media {
  background: linear-gradient(145deg, color-mix(in srgb, var(--color-primary) 8%, var(--color-surface)) 0%, var(--color-surface) 55%);
}
.home-page--cms-builder .cms-home__categories .category-tile-card__placeholder--pictogram,
.home-page--cms-builder .rentilo-home__categories .category-tile-card__placeholder--pictogram {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.5rem;
  color: var(--color-primary);
  font-size: 2.25rem;
  background: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));
}
.home-page--cms-builder .cms-home__categories .category-tile-card__title,
.home-page--cms-builder .rentilo-home__categories .category-tile-card__title {
  font-size: clamp(1.05rem, 1.8vw, 1.2rem);
  font-weight: 700;
  color: var(--color-heading);
}
.home-page--cms-builder .cms-home__categories .cms-c-ctc .category-tile-card:not(.category-tile-card--no-media) .category-tile-card__title,
.home-page--cms-builder .rentilo-home__categories .cms-c-ctc .category-tile-card:not(.category-tile-card--no-media) .category-tile-card__title {
  color: #fff;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}
.home-page--cms-builder .cms-home__categories .category-tile-card__desc,
.home-page--cms-builder .rentilo-home__categories .category-tile-card__desc {
  margin-top: 0.35rem;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--color-text-muted);
}
.home-page--cms-builder .cms-home__categories .cms-c-ctc .category-tile-card:not(.category-tile-card--no-media) .category-tile-card__desc,
.home-page--cms-builder .rentilo-home__categories .cms-c-ctc .category-tile-card:not(.category-tile-card--no-media) .category-tile-card__desc {
  color: rgba(255, 255, 255, 0.92);
}
@media (hover: hover) and (pointer: fine) {
  .home-page--cms-builder .cms-home__categories .cms-c-category-carousel__card:hover,
  .home-page--cms-builder .cms-home__categories .cms-c-category-tile:hover,
  .home-page--cms-builder .cms-home__categories .category-tile-card:hover,
  .home-page--cms-builder .rentilo-home__categories .cms-c-category-carousel__card:hover,
  .home-page--cms-builder .rentilo-home__categories .cms-c-category-tile:hover,
  .home-page--cms-builder .rentilo-home__categories .category-tile-card:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--color-primary) 34%, var(--color-border));
    box-shadow: var(--cms-home-shadow-hover);
  }
}

.home-page--cms-builder .cms-home__offers .room-card,
.home-page--cms-builder .cms-home__offers .apartment-card,
.home-page--cms-builder .cms-home__offers .lodging-card,
.home-page--cms-builder .cms-home__offers .lodging-catalog-card,
.home-page--cms-builder .cms-home__offers .ui-tile,
.home-page--cms-builder .cms-home__deals .room-card,
.home-page--cms-builder .cms-home__deals .apartment-card,
.home-page--cms-builder .cms-home__deals .lodging-card,
.home-page--cms-builder .cms-home__deals .lodging-catalog-card,
.home-page--cms-builder .cms-home__deals .ui-tile,
.home-page--cms-builder .rentilo-home__offers .room-card,
.home-page--cms-builder .rentilo-home__offers .apartment-card,
.home-page--cms-builder .rentilo-home__offers .lodging-card,
.home-page--cms-builder .rentilo-home__offers .lodging-catalog-card,
.home-page--cms-builder .rentilo-home__offers .ui-tile,
.home-page--cms-builder .rentilo-home__deals .room-card,
.home-page--cms-builder .rentilo-home__deals .apartment-card,
.home-page--cms-builder .rentilo-home__deals .lodging-card,
.home-page--cms-builder .rentilo-home__deals .lodging-catalog-card,
.home-page--cms-builder .rentilo-home__deals .ui-tile {
  border-color: var(--color-border);
  border-radius: var(--theme-comp-tile-card-radius, var(--theme-comp-room-catalog-card-radius, var(--cms-home-radius, var(--layout-radius, 14px))));
  box-shadow: 0 8px 28px color-mix(in srgb, var(--color-heading) 7%, transparent);
  overflow: hidden;
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease;
}
.home-page--cms-builder .cms-home__offers .lodging-catalog-card__media,
.home-page--cms-builder .cms-home__offers .ui-tile__media,
.home-page--cms-builder .cms-home__offers .ui-tile__media-link,
.home-page--cms-builder .cms-home__deals .lodging-catalog-card__media,
.home-page--cms-builder .cms-home__deals .ui-tile__media,
.home-page--cms-builder .cms-home__deals .ui-tile__media-link,
.home-page--cms-builder .rentilo-home__offers .lodging-catalog-card__media,
.home-page--cms-builder .rentilo-home__offers .ui-tile__media,
.home-page--cms-builder .rentilo-home__offers .ui-tile__media-link,
.home-page--cms-builder .rentilo-home__deals .lodging-catalog-card__media,
.home-page--cms-builder .rentilo-home__deals .ui-tile__media,
.home-page--cms-builder .rentilo-home__deals .ui-tile__media-link {
  border-radius: inherit;
}
.home-page--cms-builder .cms-home__offers .lodging-catalog-card__media,
.home-page--cms-builder .cms-home__deals .lodging-catalog-card__media,
.home-page--cms-builder .rentilo-home__offers .lodging-catalog-card__media,
.home-page--cms-builder .rentilo-home__deals .lodging-catalog-card__media {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
@media (hover: hover) and (pointer: fine) {
  .home-page--cms-builder .cms-home__offers .room-card:hover,
  .home-page--cms-builder .cms-home__offers .apartment-card:hover,
  .home-page--cms-builder .cms-home__offers .lodging-card:hover,
  .home-page--cms-builder .cms-home__offers .lodging-catalog-card:hover,
  .home-page--cms-builder .cms-home__offers .ui-tile--interactive:hover,
  .home-page--cms-builder .cms-home__offers .ui-tile--interactive:focus-within,
  .home-page--cms-builder .cms-home__deals .room-card:hover,
  .home-page--cms-builder .cms-home__deals .apartment-card:hover,
  .home-page--cms-builder .cms-home__deals .lodging-card:hover,
  .home-page--cms-builder .cms-home__deals .lodging-catalog-card:hover,
  .home-page--cms-builder .cms-home__deals .ui-tile--interactive:hover,
  .home-page--cms-builder .cms-home__deals .ui-tile--interactive:focus-within,
  .home-page--cms-builder .rentilo-home__offers .room-card:hover,
  .home-page--cms-builder .rentilo-home__offers .apartment-card:hover,
  .home-page--cms-builder .rentilo-home__offers .lodging-card:hover,
  .home-page--cms-builder .rentilo-home__offers .lodging-catalog-card:hover,
  .home-page--cms-builder .rentilo-home__offers .ui-tile--interactive:hover,
  .home-page--cms-builder .rentilo-home__offers .ui-tile--interactive:focus-within,
  .home-page--cms-builder .rentilo-home__deals .room-card:hover,
  .home-page--cms-builder .rentilo-home__deals .apartment-card:hover,
  .home-page--cms-builder .rentilo-home__deals .lodging-card:hover,
  .home-page--cms-builder .rentilo-home__deals .lodging-catalog-card:hover,
  .home-page--cms-builder .rentilo-home__deals .ui-tile--interactive:hover,
  .home-page--cms-builder .rentilo-home__deals .ui-tile--interactive:focus-within {
    transform: translateY(-4px);
    box-shadow: var(--cms-home-shadow-hover);
  }
}

.home-page--cms-builder .cms-home__locations .cms-c-section-header,
.home-page--cms-builder .rentilo-home__locations .cms-c-section-header {
  margin-block-end: var(--theme-comp-cms-section-header-margin-bottom, 1.25rem);
}
.home-page--cms-builder .cms-home__locations .home-section--locations-ribbon .section-head,
.home-page--cms-builder .rentilo-home__locations .home-section--locations-ribbon .section-head {
  margin-bottom: clamp(1.75rem, 3.5vw, 2.75rem);
}
.home-page--cms-builder .cms-home__locations .location-card,
.home-page--cms-builder .cms-home__locations .cms-c-location-card,
.home-page--cms-builder .rentilo-home__locations .location-card,
.home-page--cms-builder .rentilo-home__locations .cms-c-location-card {
  border-radius: var(--cms-home-radius);
  box-shadow: var(--cms-home-shadow);
}

.home-page--cms-builder .cms-home__editorial .cms-c-editorial__row,
.home-page--cms-builder .rentilo-home__editorial .cms-c-editorial__row {
  gap: clamp(1.5rem, 4vw, 4.5rem);
  align-items: center;
  border-radius: 0;
  background: transparent;
}
.home-page--cms-builder .cms-home__editorial .cms-c-editorial__figure,
.home-page--cms-builder .rentilo-home__editorial .cms-c-editorial__figure {
  overflow: hidden;
  border-radius: var(--cms-home-radius);
  box-shadow: var(--cms-home-shadow);
}
.home-page--cms-builder .cms-home__editorial .cms-c-editorial__content,
.home-page--cms-builder .rentilo-home__editorial .cms-c-editorial__content {
  border: 0;
  background: transparent;
  box-shadow: none;
}
.home-page--cms-builder .cms-home__editorial .cms-c-editorial__body .eyebrow,
.home-page--cms-builder .rentilo-home__editorial .cms-c-editorial__body .eyebrow {
  margin-bottom: 0.8rem;
  color: var(--color-primary);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
.home-page--cms-builder .cms-home__editorial .cms-c-editorial__body h2,
.home-page--cms-builder .rentilo-home__editorial .cms-c-editorial__body h2 {
  max-width: 18ch;
  color: var(--color-heading);
  letter-spacing: -0.03em;
  text-wrap: balance;
}

.home-page--cms-builder .cms-home__benefits,
.home-page--cms-builder .rentilo-home__benefits {
  background: color-mix(in srgb, var(--color-surface-soft) 84%, var(--color-bg));
}
.home-page--cms-builder .cms-home__benefits .cms-c-features__head,
.home-page--cms-builder .rentilo-home__benefits .cms-c-features__head {
  max-width: 48rem;
  margin-inline: 0;
  text-align: start;
}
.home-page--cms-builder .cms-home__benefits .cms-c-feature,
.home-page--cms-builder .cms-home__benefits .cms-c-feature:nth-child(3n),
.home-page--cms-builder .rentilo-home__benefits .cms-c-feature,
.home-page--cms-builder .rentilo-home__benefits .cms-c-feature:nth-child(3n) {
  min-height: 16rem;
  padding: clamp(1.35rem, 2.5vw, 1.9rem);
  border: 1px solid var(--color-border);
  border-radius: var(--cms-home-radius);
  background: var(--color-surface);
  box-shadow: 0 8px 26px color-mix(in srgb, var(--color-heading) 6%, transparent);
}
.home-page--cms-builder .cms-home__benefits .cms-c-feature .cms-c-feature__title,
.home-page--cms-builder .cms-home__benefits .cms-c-feature:nth-child(3n) .cms-c-feature__title,
.home-page--cms-builder .rentilo-home__benefits .cms-c-feature .cms-c-feature__title,
.home-page--cms-builder .rentilo-home__benefits .cms-c-feature:nth-child(3n) .cms-c-feature__title {
  color: var(--color-heading);
}
.home-page--cms-builder .cms-home__benefits .cms-c-feature .cms-c-feature__text,
.home-page--cms-builder .cms-home__benefits .cms-c-feature:nth-child(3n) .cms-c-feature__text,
.home-page--cms-builder .rentilo-home__benefits .cms-c-feature .cms-c-feature__text,
.home-page--cms-builder .rentilo-home__benefits .cms-c-feature:nth-child(3n) .cms-c-feature__text {
  color: var(--color-text-muted);
}
.home-page--cms-builder .cms-home__benefits .cms-c-feature .cms-c-feature__icon,
.home-page--cms-builder .cms-home__benefits .cms-c-feature:nth-child(3n) .cms-c-feature__icon,
.home-page--cms-builder .rentilo-home__benefits .cms-c-feature .cms-c-feature__icon,
.home-page--cms-builder .rentilo-home__benefits .cms-c-feature:nth-child(3n) .cms-c-feature__icon {
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));
}

.home-page--cms-builder .cms-home__special-offers .special-offers-showcase,
.home-page--cms-builder .rentilo-home__special-offers .special-offers-showcase {
  padding-block: 0;
}
.home-page--cms-builder .cms-home__special-offers .special-offers-showcase__head,
.home-page--cms-builder .rentilo-home__special-offers .special-offers-showcase__head {
  margin-bottom: var(--theme-comp-cms-section-header-margin-bottom, 1rem);
}
.home-page--cms-builder .cms-home__special-offers .special-offer-premium-card,
.home-page--cms-builder .rentilo-home__special-offers .special-offer-premium-card {
  --so-radius: var(--cms-home-radius);
  border-radius: var(--cms-home-radius);
  box-shadow: var(--cms-home-shadow);
}
.home-page--cms-builder .cms-home__special-offers .special-offers-showcase__tab.is-active,
.home-page--cms-builder .rentilo-home__special-offers .special-offers-showcase__tab.is-active {
  background: var(--theme-comp-so-tab-active-bg, var(--color-primary));
  border-color: var(--theme-comp-so-tab-active-bg, var(--color-primary));
  color: var(--theme-comp-so-tab-active-color, var(--color-on-primary, #fff));
}
@media (hover: hover) and (pointer: fine) {
  .home-page--cms-builder .cms-home__special-offers .special-offer-premium-card:hover,
  .home-page--cms-builder .rentilo-home__special-offers .special-offer-premium-card:hover {
    box-shadow: var(--cms-home-shadow-hover);
  }
}

.home-page--cms-builder .cms-home__reviews .cms-c-section-header,
.home-page--cms-builder .rentilo-home__reviews .cms-c-section-header {
  margin-block-end: var(--theme-comp-cms-section-header-margin-bottom, 1.25rem);
  text-align: center;
}
.home-page--cms-builder .cms-home__reviews .cms-c-hotres-reviews,
.home-page--cms-builder .rentilo-home__reviews .cms-c-hotres-reviews {
  --hr-stats-bg: linear-gradient(
    145deg,
    color-mix(in srgb, var(--color-primary) 5%, var(--color-surface)) 0%,
    var(--color-surface) 58%
  );
  --hr-card-shadow: var(--cms-home-shadow);
  --hr-badge-shadow: 0 6px 18px color-mix(in srgb, var(--color-heading) 7%, transparent);
}
.home-page--cms-builder .cms-home__reviews .cms-c-hotres-reviews__title,
.home-page--cms-builder .rentilo-home__reviews .cms-c-hotres-reviews__title {
  margin-inline: auto;
  text-align: center;
  color: var(--color-heading);
}
.home-page--cms-builder .cms-home__reviews .cms-c-hotres-reviews__stats,
.home-page--cms-builder .rentilo-home__reviews .cms-c-hotres-reviews__stats {
  border-color: var(--color-border);
}
.home-page--cms-builder .cms-home__reviews .cms-c-hotres-reviews__stats-headline,
.home-page--cms-builder .rentilo-home__reviews .cms-c-hotres-reviews__stats-headline {
  color: var(--color-heading);
}
.home-page--cms-builder .cms-home__reviews .cms-c-hotres-reviews__stats-kpi,
.home-page--cms-builder .rentilo-home__reviews .cms-c-hotres-reviews__stats-kpi {
  padding-block: var(--hr-stats-kpi-pad-y, 0.55rem);
  padding-inline: var(--hr-stats-kpi-pad-x, 0.95rem);
}
.home-page--cms-builder .cms-home__reviews .cms-c-hotres-reviews__stats-kpi-value,
.home-page--cms-builder .rentilo-home__reviews .cms-c-hotres-reviews__stats-kpi-value {
  color: var(--color-primary);
}
.home-page--cms-builder .cms-home__reviews .cms-c-hotres-review-card,
.home-page--cms-builder .rentilo-home__reviews .cms-c-hotres-review-card {
  border-color: var(--color-border);
  box-shadow: var(--cms-home-shadow);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.28s ease, border-color 0.28s ease;
}
@media (hover: hover) and (pointer: fine) {
  .home-page--cms-builder .cms-home__reviews .cms-c-hotres-review-card:hover,
  .home-page--cms-builder .rentilo-home__reviews .cms-c-hotres-review-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--color-primary) 28%, var(--color-border));
    box-shadow: var(--cms-home-shadow-hover);
  }
}
.home-page--cms-builder .cms-home__reviews .cms-c-trust-strip,
.home-page--cms-builder .rentilo-home__reviews .cms-c-trust-strip {
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  border-color: var(--color-border);
  background: var(--color-surface);
}

.home-page--cms-builder .cms-home__cta .cms-c-cta:not(.cms-c-cta--fill-section):not(.cms-c-cta--parallax-scroll),
.home-page--cms-builder .rentilo-home__cta .cms-c-cta:not(.cms-c-cta--fill-section):not(.cms-c-cta--parallax-scroll) {
  border-radius: var(--cms-home-radius);
  box-shadow: var(--cms-home-shadow);
}
.home-page--cms-builder .cms-home__cta .cms-c-cta--fill-section,
.home-page--cms-builder .cms-home__cta .cms-c-cta--parallax-scroll,
.home-page--cms-builder .rentilo-home__cta .cms-c-cta--fill-section,
.home-page--cms-builder .rentilo-home__cta .cms-c-cta--parallax-scroll {
  border-radius: 0;
  box-shadow: none;
}
.home-page--cms-builder .cms-home__cta .cms-c-cta__inner,
.home-page--cms-builder .rentilo-home__cta .cms-c-cta__inner {
  width: min(42rem, 100%);
}

.home-page--cms-builder .cms-home__faq .cms-c-faq,
.home-page--cms-builder .rentilo-home__faq .cms-c-faq {
  max-width: 58rem;
  margin-inline: auto;
}

.home-page--cms-builder .site-shell-footer {
  margin-top: 0;
  border-top-color: color-mix(in srgb, var(--color-footer-border) 72%, transparent);
}

.cms-page--theme-smrekowy {
  --cms-section-gap: var(--theme-comp-cms-section-gap, 0);
}
.cms-page--theme-smrekowy .cms-section {
  padding-block: var(--cms-section-spacing-py, var(--theme-comp-cms-section-padding-y, 0));
}
.cms-page--theme-smrekowy .intro-section.cms-section {
  padding-inline: var(--cms-section-spacing-px, var(--theme-comp-cms-section-padding-x, 0));
}
.cms-page--theme-smrekowy .cms-section--full-bleed-media:not(#hero-start) {
  padding-block: var(--cms-section-spacing-py, 0);
  padding-inline: var(--cms-section-spacing-px, 0);
}
.cms-page--theme-smrekowy .cms-section__wrap.container {
  max-width: min(var(--cms-section-content-max, var(--layout-max-width, 1600px)), 100%);
}
.cms-page--theme-smrekowy .cms-c-reviews--carousel .cms-c-reviews__track {
  gap: 1.125rem;
  scrollbar-width: none;
}
.cms-page--theme-smrekowy .cms-c-reviews--carousel .cms-c-reviews__track::-webkit-scrollbar {
  display: none;
}
.cms-page--theme-smrekowy .cms-c-reviews--carousel .cms-c-reviews__slide {
  flex: 0 0 min(86vw, 20rem);
}
@media (max-width: 639px) {
  .cms-page--theme-smrekowy .cms-c-features__grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
    scrollbar-width: none;
  }
  .cms-page--theme-smrekowy .cms-c-features__grid::-webkit-scrollbar {
    display: none;
  }
}
@media (max-width: 639px) {
  .cms-page--theme-smrekowy .cms-c-feature {
    flex: 0 0 82%;
    scroll-snap-align: start;
  }
}
.cms-page--theme-smrekowy .home-page--cms-builder.seo-cms-page .seo-page-hero-booking.seo-page-hero-booking--flush {
  width: 100%;
  max-width: none;
  margin: -2rem auto 0;
  position: relative;
  z-index: 12;
}
.cms-page--theme-smrekowy .cms-slider-overlay--middle-left .cms-slider-overlay-inner {
  text-align: start;
  max-width: min(760px, 92vw);
}
.cms-page--theme-smrekowy .cms-slider-overlay-inner .cms-c-hero__eyebrow {
  margin-bottom: 1.125rem;
  color: var(--color-secondary, #b89a61);
  font-size: 0.86rem;
  font-weight: 700;
  text-transform: uppercase;
}
.cms-page--theme-smrekowy .cms-slider-overlay-inner h1 {
  font-family: var(--font-family-heading, Georgia, serif);
  font-weight: 400;
  line-height: 1.12;
  font-size: clamp(2.25rem, 5vw, 4rem);
  max-width: 760px;
  color: #fff;
}
.cms-page--theme-smrekowy #rezerwacja-cta .cms-c-cta--dark {
  border-radius: 0;
  background: var(--color-surface-strong, #2f2f2f);
}
.cms-page--theme-smrekowy #apartamenty .home-section {
  padding-block: 0;
}

.cms-builder-page h1,
.cms-builder-page .h1,
.cms-builder-page h1.cms-c-heading {
  color: var(--color-h1);
}
.cms-builder-page h2,
.cms-builder-page .h2,
.cms-builder-page h2.cms-c-heading {
  color: var(--color-h2);
}
.cms-builder-page h3,
.cms-builder-page .h3,
.cms-builder-page h3.cms-c-heading {
  color: var(--color-h3);
}
.cms-builder-page h4,
.cms-builder-page .h4,
.cms-builder-page h4.cms-c-heading,
.cms-builder-page h5,
.cms-builder-page h6 {
  color: var(--color-heading);
}
.cms-builder-page .cms-c-hero__title,
.cms-builder-page .cms-c-vhero__title,
.cms-builder-page .cms-slider-overlay-inner h1 {
  font-family: var(--font-family-h1, var(--font-family-heading, var(--font-family-base)));
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-heading, 700);
  letter-spacing: var(--letter-spacing-heading, normal);
  color: var(--color-h1);
}
.cms-builder-page .cms-c-hero__lead {
  font-size: var(--theme-comp-cms-hero-lead-font-size, var(--font-size-lead, var(--font-size-base)));
}
.cms-builder-page .cms-c-vhero__lead {
  font-size: var(--theme-comp-cms-hero-lead-font-size, var(--font-size-lead, var(--font-size-base)));
}
.cms-builder-page .cms-c-cta__title {
  font-family: var(--font-family-h2, var(--font-family-heading, var(--font-family-base)));
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-heading, 700);
  letter-spacing: var(--letter-spacing-heading, normal);
  color: var(--cms-cta-ink, inherit);
}
.cms-builder-page .cms-c-features__title,
.cms-builder-page .cms-c-stats__title,
.cms-builder-page .cms-c-steps__title,
.cms-builder-page .cms-c-story__title,
.cms-builder-page .cms-c-vslider__title,
.cms-builder-page .cms-c-vgal__title,
.cms-builder-page .cms-c-mapx__title,
.cms-builder-page .cms-c-pgt__title,
.cms-builder-page .cms-c-gallery-pick__title,
.cms-builder-page .cms-c-pricing__title,
.cms-builder-page .cms-c-team__title {
  font-family: var(--font-family-h2, var(--font-family-heading, var(--font-family-base)));
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-heading, 700);
  letter-spacing: var(--letter-spacing-heading, normal);
  color: var(--color-h2);
}
.cms-builder-page .cms-c-faq__title,
.cms-builder-page .cms-c-listing-embed__title,
.cms-builder-page .cms-c-blog-grid__title,
.cms-builder-page .cms-c-attractions-grid__title,
.cms-builder-page .cms-c-seo-tiles__title,
.cms-builder-page .cms-c-checklist__title,
.cms-builder-page .cms-c-logos__title,
.cms-builder-page .cms-c-pictogram__title,
.cms-builder-page .pg-shortcode__title,
.cms-builder-page .cms-shortcode-placeholder__title {
  font-family: var(--font-family-h3, var(--font-family-heading, var(--font-family-base)));
  font-size: var(--font-size-h3);
  font-weight: var(--font-weight-heading, 700);
  color: var(--color-h3);
}
.cms-builder-page .cms-c-tile__title,
.cms-builder-page .cms-c-tile--card-magazine .cms-c-tile__title,
.cms-builder-page .cms-c-step__title,
.cms-builder-page .cms-c-feature__title,
.cms-builder-page .cms-c-blog-card__title,
.cms-builder-page .cms-c-universal-block__title,
.cms-builder-page .cms-c-iframe__title {
  font-family: var(--font-family-h4, var(--font-family-heading, var(--font-family-base)));
  font-size: var(--font-size-h4);
  font-weight: var(--font-weight-heading, 700);
  color: var(--color-heading);
}
.cms-builder-page .cms-c-stats__value {
  font-family: var(--font-family-h1, var(--font-family-heading, var(--font-family-base)));
  font-size: var(--font-size-h1);
  font-weight: var(--font-weight-heading, 700);
  color: var(--color-h1);
}
.cms-builder-page .cms-c-hero:not(.cms-c-hero--light) h1,
.cms-builder-page .cms-c-hero:not(.cms-c-hero--light) h2,
.cms-builder-page .cms-c-hero:not(.cms-c-hero--light) h3,
.cms-builder-page .cms-c-hero:not(.cms-c-hero--light) .cms-c-hero__title,
.cms-builder-page .cms-c-hero:not(.cms-c-hero--light) .cms-c-vhero__title,
.cms-builder-page .cms-c-vhero h1,
.cms-builder-page .cms-c-vhero h2,
.cms-builder-page .cms-c-vhero h3,
.cms-builder-page .cms-c-vhero .cms-c-hero__title,
.cms-builder-page .cms-c-vhero .cms-c-vhero__title,
.cms-builder-page .cms-slider-overlay-inner h1,
.cms-builder-page .cms-slider-overlay-inner h2,
.cms-builder-page .cms-slider-overlay-inner h3,
.cms-builder-page .cms-slider-overlay-inner .cms-c-hero__title,
.cms-builder-page .cms-slider-overlay-inner .cms-c-vhero__title {
  color: inherit;
}
.cms-builder-page .cms-section--tone-dark .cms-section__content h1:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark .cms-section__content h2:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark .cms-section__content h3:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark .cms-section__content h4:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark .cms-section__content h5:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark .cms-section__content h6:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-features__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-stats__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-steps__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-story__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-vslider__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-vgal__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-mapx__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-pgt__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-gallery-pick__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-pricing__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-team__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-faq__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-listing-embed__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-blog-grid__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-attractions-grid__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-seo-tiles__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-checklist__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-logos__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-pictogram__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .pg-shortcode__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-shortcode-placeholder__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-tile__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-step__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-feature__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-blog-card__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-universal-block__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-iframe__title,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-stats__value,
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-section-header__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h1:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h2:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h3:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h4:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h5:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content h6:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-features__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-stats__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-steps__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-story__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-vslider__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-vgal__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-mapx__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-pgt__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-gallery-pick__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-pricing__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-team__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-faq__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-listing-embed__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-blog-grid__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-attractions-grid__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-seo-tiles__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-checklist__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-logos__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-pictogram__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .pg-shortcode__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-shortcode-placeholder__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-tile__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-step__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-feature__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-blog-card__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-universal-block__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-iframe__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-stats__value,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-section-header__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h1:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h2:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h3:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h4:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h5:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content h6:not([class*=cms-c-heading--tone-]),
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-features__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-stats__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-steps__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-story__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-vslider__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-vgal__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-mapx__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-pgt__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-gallery-pick__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-pricing__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-team__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-faq__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-listing-embed__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-blog-grid__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-attractions-grid__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-seo-tiles__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-checklist__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-logos__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-pictogram__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .pg-shortcode__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-shortcode-placeholder__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-tile__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-step__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-feature__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-blog-card__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-universal-block__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-iframe__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-stats__value,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-section-header__title {
  color: var(--cms-tone-ink, #fff);
}
.cms-builder-page .cms-section--tone-dark .cms-section__content .cms-c-cta--soft .cms-c-cta__title,
.cms-builder-page .cms-section--heading-tone-dark .cms-section__content .cms-c-cta--soft .cms-c-cta__title,
.cms-builder-page .cms-section--heading-tone-on-image .cms-section__content .cms-c-cta--soft .cms-c-cta__title {
  color: var(--color-h2);
}

.cms-page--theme-editorial .cms-c-tile__title {
  font-size: var(--font-size-h4);
}

.cms-page--theme-smrekowy .cms-slider-overlay-inner h1 {
  font-size: var(--font-size-h1);
}

.home-flow .intro-section .inner,
.home-page--cms-builder.seo-cms-page .intro-section .inner,
.seo-cms-page .intro-section .inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}
.home-flow .intro-section .intro-grid,
.home-page--cms-builder.seo-cms-page .intro-section .intro-grid,
.seo-cms-page .intro-section .intro-grid {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 54px;
  align-items: stretch;
}
.home-flow .intro-section .photo-stack,
.home-page--cms-builder.seo-cms-page .intro-section .photo-stack,
.seo-cms-page .intro-section .photo-stack {
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
}
.home-flow .intro-section .photo-stack .cms-c-gallery-pick,
.home-page--cms-builder.seo-cms-page .intro-section .photo-stack .cms-c-gallery-pick,
.seo-cms-page .intro-section .photo-stack .cms-c-gallery-pick {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.home-flow .intro-section .photo-stack .media-gallery,
.home-page--cms-builder.seo-cms-page .intro-section .photo-stack .media-gallery,
.seo-cms-page .intro-section .photo-stack .media-gallery {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
.home-flow .intro-section .intro-copy,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy,
.seo-cms-page .intro-section .intro-copy {
  min-width: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.home-flow .intro-section .intro-copy .eyebrow,
.home-flow .intro-section .intro-copy .cms-c-story__eyebrow,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy .eyebrow,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy .cms-c-story__eyebrow,
.seo-cms-page .intro-section .intro-copy .eyebrow,
.seo-cms-page .intro-section .intro-copy .cms-c-story__eyebrow {
  margin: 0 0 18px;
  color: var(--color-secondary, #b89a61);
  font-size: 0.86rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}
.home-flow .intro-section .intro-copy .cms-c-heading,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy .cms-c-heading,
.seo-cms-page .intro-section .intro-copy .cms-c-heading {
  margin: 0;
  font-family: var(--font-family-heading, Georgia, serif);
  font-weight: 400;
  line-height: 1.12;
  font-size: 2.8rem;
  color: var(--color-h2, var(--color-heading, var(--color-text)));
}
.home-flow .intro-section .intro-copy .cms-c-rich-text p,
.home-flow .intro-section .intro-copy .rte-content > p,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy .cms-c-rich-text p,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy .rte-content > p,
.seo-cms-page .intro-section .intro-copy .cms-c-rich-text p,
.seo-cms-page .intro-section .intro-copy .rte-content > p {
  margin: 18px 0 0;
  color: var(--color-text-muted, #65706a);
  font-size: 1.02rem;
}
.home-flow .intro-section .intro-copy .cms-c-rich-text p:first-child,
.home-flow .intro-section .intro-copy .rte-content > p:first-child,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy .cms-c-rich-text p:first-child,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy .rte-content > p:first-child,
.seo-cms-page .intro-section .intro-copy .cms-c-rich-text p:first-child,
.seo-cms-page .intro-section .intro-copy .rte-content > p:first-child {
  margin-top: 0;
}
.home-flow .intro-section .intro-copy .cms-c-checklist,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy .cms-c-checklist,
.seo-cms-page .intro-section .intro-copy .cms-c-checklist {
  margin: 28px 0 32px;
}
.home-flow .intro-section .intro-copy .cms-c-checklist__list,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy .cms-c-checklist__list,
.seo-cms-page .intro-section .intro-copy .cms-c-checklist__list {
  gap: 12px;
}
.home-flow .intro-section .intro-copy .cms-c-checklist__icon,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy .cms-c-checklist__icon,
.seo-cms-page .intro-section .intro-copy .cms-c-checklist__icon {
  margin-top: 2px;
  color: var(--color-secondary, #b89a61);
}
.home-flow .intro-section .intro-copy .cms-c-btn-row,
.home-page--cms-builder.seo-cms-page .intro-section .intro-copy .cms-c-btn-row,
.seo-cms-page .intro-section .intro-copy .cms-c-btn-row {
  margin-top: 0;
}
@media (max-width: 980px) {
  .home-flow .intro-section .intro-grid,
  .home-page--cms-builder.seo-cms-page .intro-section .intro-grid,
  .seo-cms-page .intro-section .intro-grid {
    grid-template-columns: 1fr;
  }
  .home-flow .intro-section .intro-copy .cms-c-heading,
  .home-page--cms-builder.seo-cms-page .intro-section .intro-copy .cms-c-heading,
  .seo-cms-page .intro-section .intro-copy .cms-c-heading {
    font-size: 2.2rem;
  }
}
@media (max-width: 640px) {
  .home-flow .intro-section .intro-copy .cms-c-heading,
  .home-page--cms-builder.seo-cms-page .intro-section .intro-copy .cms-c-heading,
  .seo-cms-page .intro-section .intro-copy .cms-c-heading {
    font-size: 1.85rem;
  }
}

.cms-section.category-vibe-split {
  --category-vibe-split-height: var(
    --cms-section-spacing-min-h,
    clamp(28rem, 58dvh, 44rem)
  );
  min-height: var(--cms-section-spacing-min-h, auto);
}
.cms-section.category-vibe-split .cms-section__wrap,
.cms-section.category-vibe-split .cms-section__content {
  padding-inline: 0;
}
.cms-section.category-vibe-split .cms-section__grid.row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin-inline: 0;
  align-items: stretch;
  min-height: var(--category-vibe-split-height);
}
.cms-section.category-vibe-split .cms-section__grid.row > [class*=col-] {
  display: flex;
  flex-direction: column;
  padding-inline: 0;
  min-height: 0;
}
@media (min-width: 992px) {
  .cms-section.category-vibe-split .cms-section__grid.row {
    height: var(--category-vibe-split-height);
    max-height: var(--category-vibe-split-height);
  }
}
.cms-section.category-vibe-split .cms-section__slot {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
}
.cms-section.category-vibe-split .cms-section__slot-content,
.cms-section.category-vibe-split .cms-section__component {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  width: 100%;
}
.cms-section.category-vibe-split .cms-c-cta {
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 0;
  padding: clamp(2rem, 4.5vw, 3.25rem) clamp(1.5rem, 3.5vw, 2.75rem);
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.cms-section.category-vibe-split .cms-c-cta__inner {
  width: min(22rem, 100%);
  margin-inline: 0;
  text-align: left;
}
.cms-section.category-vibe-split .cms-c-cta__title {
  text-transform: uppercase;
  font-family: var(--font-family-heading, Georgia, "Times New Roman", serif);
  font-size: clamp(2rem, 4.2vw, 3.15rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.05;
}
.cms-section.category-vibe-split .cms-c-cta__lead {
  margin-top: 1.15rem;
  max-width: 28ch;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(0.95rem, 1.8vw, 1.05rem);
  line-height: 1.55;
}
.cms-section.category-vibe-split .cms-c-cta .cms-c-btn-row {
  margin-top: 1.65rem;
  justify-content: flex-start;
}
.cms-section.category-vibe-split .cms-c-cta .cms-c-btn--primary {
  background: #111;
  border-color: #111;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.95rem 1.35rem;
  border-radius: 0;
}
.cms-section.category-vibe-split .cms-c-cta .cms-c-btn--primary:hover, .cms-section.category-vibe-split .cms-c-cta .cms-c-btn--primary:focus-visible {
  background: #000;
  border-color: #000;
  color: #fff;
}
@media (max-width: 991.98px) {
  .cms-section.category-vibe-split .cms-section__grid.row {
    height: auto;
    max-height: none;
    min-height: 0;
  }
  .cms-section.category-vibe-split .cms-section__slot,
  .cms-section.category-vibe-split .cms-section__slot-content,
  .cms-section.category-vibe-split .cms-section__component,
  .cms-section.category-vibe-split .cms-c-cta {
    height: auto;
  }
  .cms-section.category-vibe-split .cms-c-cta {
    min-height: clamp(18rem, 52dvh, 26rem);
  }
}

.cms-c-ctc--split-embed {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
.cms-c-ctc--split-embed .cms-c-ctc__carousel {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  gap: 0;
}
.cms-c-ctc--split-embed .cms-c-ctc__shell {
  position: relative;
  flex: 1 1 auto;
  display: block;
  min-height: 0;
  height: 100%;
}
.cms-c-ctc--split-embed .cms-c-ctc__viewport {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  container-type: inline-size;
}
.cms-c-ctc--split-embed .cms-c-ctc__viewport::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: clamp(1.25rem, 2.5vw, 2rem);
  pointer-events: none;
  background: linear-gradient(90deg, rgba(15, 23, 42, 0.22), transparent);
}
.cms-c-ctc--split-embed .cms-c-ctc__nav {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 3;
  width: clamp(2.75rem, 5vw, 3.75rem);
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  opacity: 1;
  box-shadow: none;
}
.cms-c-ctc--split-embed .cms-c-ctc__nav .ti {
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 1;
  filter: none;
}
.cms-c-ctc--split-embed .cms-c-ctc__nav:hover:not(:disabled), .cms-c-ctc--split-embed .cms-c-ctc__nav:focus-visible:not(:disabled) {
  background: transparent;
  opacity: 1;
}
.cms-c-ctc--split-embed .cms-c-ctc__nav:disabled {
  opacity: 0;
  pointer-events: none;
}
.cms-c-ctc--split-embed .cms-c-ctc__nav--prev {
  left: 0;
  justify-content: flex-start;
  padding-left: 0.35rem;
}
.cms-c-ctc--split-embed .cms-c-ctc__nav--prev[hidden] {
  display: none !important;
}
.cms-c-ctc--split-embed .cms-c-ctc__nav--next {
  right: 0;
  justify-content: flex-end;
  padding-right: 0.55rem;
}
.cms-c-ctc--split-embed .cms-c-ctc__pagination {
  display: none !important;
}
.cms-c-ctc--split-embed .cms-c-ctc__track {
  --ctc-gap: 1px;
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(var(--ctc-rows), minmax(0, 1fr));
  grid-auto-columns: calc((100cqw - (var(--ctc-cols) - 1) * var(--ctc-gap)) / var(--ctc-cols));
  gap: var(--ctc-gap);
  width: max-content;
  min-width: 100%;
  min-height: 100%;
  height: 100%;
  padding: 0;
  background: #fff;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.cms-c-ctc--split-embed .cms-c-ctc__track:hover, .cms-c-ctc--split-embed .cms-c-ctc__track:focus-visible {
  transform: none;
  box-shadow: none;
}
.cms-c-ctc--split-embed .cms-c-ctc__cell {
  display: flex;
  min-height: 0;
  height: 100%;
}
.cms-c-ctc--split-embed .cms-c-ctc__tile,
.cms-c-ctc--split-embed .category-tile-card {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  height: 100%;
  border-radius: 0;
  box-shadow: none;
}
.cms-c-ctc--split-embed .cms-c-ctc__tile:hover, .cms-c-ctc--split-embed .cms-c-ctc__tile:focus-visible,
.cms-c-ctc--split-embed .category-tile-card:hover,
.cms-c-ctc--split-embed .category-tile-card:focus-visible {
  transform: none;
  box-shadow: none;
}
.cms-c-ctc--split-embed .category-tile-card__media {
  flex: 1 1 auto;
  position: relative;
  aspect-ratio: auto;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}
.cms-c-ctc--split-embed .category-tile-card__media img,
.cms-c-ctc--split-embed .category-tile-card__media video,
.cms-c-ctc--split-embed .category-tile-card__media picture {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cms-c-ctc--split-embed .category-tile-card__media picture img {
  position: absolute;
  inset: 0;
}
.cms-c-ctc--split-embed .category-tile-card:not(.category-tile-card--no-media) {
  --theme-comp-category-tile-title-color: #fff;
  --theme-comp-category-tile-desc-color: #fff;
  --theme-comp-category-tile-hover-title-color: #fff;
  --theme-comp-category-tile-hover-desc-color: #fff;
  --theme-comp-category-tile-content-align-items: flex-start;
  --theme-comp-category-tile-content-justify: flex-end;
  --theme-comp-category-tile-content-text-align: left;
  --theme-comp-category-tile-title-font-family: var(--font-family-heading, Georgia, "Times New Roman", serif);
  --theme-comp-category-tile-title-shadow: 0 1px 12px rgb(0 0 0 / 0.45);
  --theme-comp-category-tile-scrim-gradient: linear-gradient(
    180deg,
    rgb(15 23 42 / 0) 10%,
    rgb(15 23 42 / 0.2) 46%,
    rgb(15 23 42 / 0.82) 100%
  );
  --theme-comp-category-tile-media-hover-transform: scale(1.05);
  --theme-comp-category-tile-media-hover-transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.cms-c-ctc--split-embed .category-tile-card--has-desc:not(.category-tile-card--no-media) .category-tile-card__overlay {
  align-items: flex-start;
  justify-content: flex-end;
  text-align: left;
}
.cms-c-ctc--split-embed .category-tile-card__scrim {
  background: var(--theme-comp-category-tile-scrim-gradient, linear-gradient(180deg, rgba(15, 23, 42, 0) 28%, rgba(15, 23, 42, 0.035) 58%, rgba(15, 23, 42, 0.2) 100%));
}
.cms-c-ctc--split-embed .category-tile-card__overlay {
  align-items: flex-start;
  justify-content: flex-end;
  text-align: left;
  padding: clamp(1rem, 2.2vw, 1.5rem);
  gap: 0.3rem;
}
.cms-c-ctc--split-embed .category-tile-card__title {
  text-transform: uppercase;
  font-family: var(--font-family-heading, Georgia, "Times New Roman", serif);
  font-size: clamp(1rem, 2.1vw, 1.45rem);
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.1;
  max-width: 16ch;
  color: #fff;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}
.cms-c-ctc--split-embed .category-tile-card__desc {
  font-family: var(--font-family-body, inherit);
  font-size: clamp(0.78rem, 1.5vw, 0.9rem);
  line-height: 1.4;
  max-width: 24ch;
  color: #fff;
  margin-top: 0.15rem;
  text-align: left;
}
.cms-c-ctc--split-embed .category-tile-card__desc p,
.cms-c-ctc--split-embed .category-tile-card__desc span,
.cms-c-ctc--split-embed .category-tile-card__desc a,
.cms-c-ctc--split-embed .category-tile-card__desc li {
  color: #fff;
  text-align: left;
}
.cms-c-ctc--split-embed .category-tile-card__cta-arrow {
  display: inline-flex;
  margin-top: 0.4rem;
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: #fff;
}
.cms-c-ctc--split-embed .category-tile-card__pictogram-badge {
  top: clamp(0.65rem, 1.5vw, 1rem);
  right: clamp(0.65rem, 1.5vw, 1rem);
  background: transparent;
  box-shadow: none;
  color: #fff;
  width: auto;
  height: auto;
}
.cms-c-ctc--split-embed .category-tile-card__pictogram-badge img,
.cms-c-ctc--split-embed .category-tile-card__pictogram-badge .ti {
  filter: none;
}
@media (max-width: 991.98px) {
  .cms-c-ctc--split-embed .cms-c-ctc__shell,
  .cms-c-ctc--split-embed .cms-c-ctc__viewport {
    height: auto;
    min-height: clamp(22rem, 58dvh, 32rem);
  }
}

.home-page--cms-builder .section-head:not(.section-head--promo) {
  border-bottom: none;
  padding-bottom: 0;
}
.home-page--cms-builder .home-section--content-split .section-head h2 {
  border-bottom: none;
  padding-bottom: 0;
}
.home-page--cms-builder .home-section--featured .section-head h2::before {
  display: none;
}

.home-flow .section-head {
  max-width: 680px;
  margin: 0 auto 2.75rem;
  text-align: center;
}
.home-flow .section-head__eyebrow {
  margin: 0 0 1.125rem;
  color: var(--color-primary);
  font-size: 0.86rem;
  font-weight: 700;
  text-transform: uppercase;
}
.home-flow .section-head h2 {
  margin: 0;
  font-family: var(--font-family-base, inherit);
  font-weight: var(--font-weight-bold-max, 700);
  line-height: 1.15;
  letter-spacing: -0.025em;
  font-size: var(--font-size-h2, clamp(1.45rem, 2.8vw, 1.85rem));
  color: var(--color-h2, var(--color-heading, var(--color-text)));
}
.home-flow .section-head__lead {
  margin: 1rem 0 0;
  color: var(--color-text-muted);
  font-size: 1.02rem;
}
.home-flow .apartments-section.cms-section,
.home-flow .features-section.cms-section,
.home-flow .story-section.cms-section,
.home-flow .reviews-section.cms-section,
.home-flow .faq-section.cms-section {
  padding-inline: 0;
}
.home-flow .features-section .cms-c-features__grid {
  gap: 0.875rem;
}
@media (max-width: 639px) {
  .home-flow .features-section .cms-c-features__grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 0.5rem;
    scrollbar-width: none;
  }
  .home-flow .features-section .cms-c-features__grid::-webkit-scrollbar {
    display: none;
  }
  .home-flow .features-section .cms-c-feature {
    flex: 0 0 82%;
    scroll-snap-align: start;
  }
}

.home-section--apartments-carousel {
  --room-types-tile-shadow-inset-y: clamp(8px, 1.2vw, 14px);
  --room-types-tile-shadow-inset-x: clamp(6px, 1vw, 12px);
  padding: 0;
  background: transparent;
  border: 0;
  overflow: visible;
}
.home-section--apartments-carousel .section-head--carousel {
  margin-bottom: 0;
}

.home-apartments-carousel__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 0 0.5rem;
}

.home-apartments-carousel__hint {
  margin: 0;
  color: var(--color-text-muted);
  font-size: 0.9rem;
}

.home-apartments-carousel__controls {
  display: flex;
  gap: 0.5rem;
  margin-left: auto;
}

.home-apartments-carousel__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--color-secondary, #b89a61);
  border-radius: 50%;
  background: var(--color-surface, #fff);
  color: var(--color-text);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.home-apartments-carousel__btn:hover, .home-apartments-carousel__btn:focus-visible {
  background: var(--color-surface-soft);
}

.home-apartments-carousel__track {
  --home-carousel-gap: 1.125rem;
  display: flex;
  gap: var(--home-carousel-gap);
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-block: var(--room-types-tile-shadow-inset-y);
  margin-block: calc(-1 * var(--room-types-tile-shadow-inset-y));
  scroll-padding-block: var(--room-types-tile-shadow-inset-y);
  scrollbar-width: none;
}
.home-apartments-carousel__track::-webkit-scrollbar {
  display: none;
}
.home-apartments-carousel__track {
  -webkit-overflow-scrolling: touch;
}

.home-apartments-carousel__slide {
  flex: 0 0 calc((100% - (var(--home-carousel-columns, 3) - 1) * var(--home-carousel-gap)) / var(--home-carousel-columns, 3));
  min-width: min(100%, 260px);
  scroll-snap-align: start;
  padding-inline: var(--room-types-tile-shadow-inset-x);
  box-sizing: border-box;
}
.home-apartments-carousel__slide .ui-tile {
  height: 100%;
  overflow: hidden;
  border-radius: var(--theme-comp-tile-card-radius, var(--theme-comp-room-catalog-card-radius, var(--layout-radius, 12px)));
}
.home-apartments-carousel__slide .ui-tile__media,
.home-apartments-carousel__slide .ui-tile__media-link {
  border-radius: inherit;
}
.home-apartments-carousel__slide .ui-tile__body {
  min-height: auto;
}

.home-section--featured {
  --room-types-tile-shadow-inset-y: clamp(8px, 1.2vw, 14px);
  --room-types-tile-shadow-inset-x: clamp(6px, 1vw, 12px);
  overflow: visible;
}
.home-section--featured .cards-grid {
  overflow: visible;
  padding-block: var(--room-types-tile-shadow-inset-y);
  margin-block: calc(-1 * var(--room-types-tile-shadow-inset-y));
}
.home-section--featured .cards-grid > * {
  padding-inline: var(--room-types-tile-shadow-inset-x);
}
.home-section--featured .cards-grid > .ui-tile,
.home-section--featured .cards-grid > article.ui-tile {
  overflow: hidden;
  border-radius: var(--theme-comp-tile-card-radius, var(--theme-comp-room-catalog-card-radius, var(--layout-radius, 12px)));
}
.home-section--featured .cards-grid .ui-tile__body {
  min-height: auto;
}

.home-apartments-carousel__more {
  display: flex;
  justify-content: center;
  margin-top: 1.25rem;
}

.cms-builder-page .cms-section__component:has(.cms-c-section-header):has(+ .cms-section__component .home-section--apartments-carousel) .cms-c-section-header,
.cms-builder-page .cms-section__component:has(.cms-c-section-header):has(+ .cms-section__component .home-section--room-catalog) .cms-c-section-header,
.cms-builder-page .cms-section__component:has(.cms-c-section-header):has(+ .cms-section__component .home-section--room-catalog-carousel) .cms-c-section-header,
.cms-builder-page .cms-section__component:has(.cms-c-section-header):has(+ .cms-section__component .home-section--featured) .cms-c-section-header {
  margin-block-end: clamp(0.75rem, 1.5vw, 1.15rem);
}

@media (max-width: 767px) {
  .home-apartments-carousel__slide {
    flex-basis: calc((100% - var(--home-carousel-gap)) / 2);
  }
}
@media (max-width: 640px) {
  .home-apartments-carousel__top {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 0.4rem;
  }
  .home-apartments-carousel__controls {
    margin-left: 0;
  }
  .home-apartments-carousel__slide {
    flex-basis: 86%;
    min-width: 86%;
  }
}
.seo-cms-page,
.home-page--cms-builder {
  --cms-home-section-head-mb: var(--theme-comp-cms-home-section-head-mb, 0);
  --cms-section-gap: var(--theme-comp-cms-section-gap, 0);
}
@media (max-width: 991.98px) {
  .seo-cms-page,
  .home-page--cms-builder {
    --cms-home-section-head-mb: var(
      --theme-comp-cms-home-section-head-mb-mobile,
      var(--theme-comp-cms-home-section-head-mb, 0)
    );
  }
}
.seo-cms-page .section-head,
.seo-cms-page .home-flow .section-head,
.home-page--cms-builder .section-head,
.home-page--cms-builder .home-flow .section-head {
  margin-bottom: var(--cms-home-section-head-mb);
}
@media (max-width: 991.98px) {
  .seo-cms-page .cms-c-features__grid,
  .seo-cms-page .cms-c-reviews--carousel .cms-c-reviews__track,
  .seo-cms-page .home-apartments-carousel__track,
  .home-page--cms-builder .cms-c-features__grid,
  .home-page--cms-builder .cms-c-reviews--carousel .cms-c-reviews__track,
  .home-page--cms-builder .home-apartments-carousel__track {
    margin-inline: calc(-1 * var(--cms-section-spacing-content-px-md, var(--cms-section-spacing-content-px, 1rem)));
    padding-inline: var(--cms-section-spacing-content-px-md, var(--cms-section-spacing-content-px, 1rem));
    scroll-padding-inline: var(--cms-section-spacing-content-px-md, var(--cms-section-spacing-content-px, 1rem));
  }
  .seo-cms-page .intro-section .photo-stack .media-gallery__collage,
  .seo-cms-page .intro-section .photo-stack .section-gallery,
  .home-page--cms-builder .intro-section .photo-stack .media-gallery__collage,
  .home-page--cms-builder .intro-section .photo-stack .section-gallery {
    margin-inline: calc(-1 * var(--cms-section-spacing-content-px-md, var(--cms-section-spacing-content-px, 1rem)));
    padding-inline: var(--cms-section-spacing-content-px-md, var(--cms-section-spacing-content-px, 1rem));
    scroll-padding-inline: var(--cms-section-spacing-content-px-md, var(--cms-section-spacing-content-px, 1rem));
  }
}

main.home-page.home-page--cms-builder .section-head,
main.home-page.home-page--cms-builder .home-flow .section-head,
.seo-cms-page .section-head,
.seo-cms-page .home-flow .section-head {
  margin-bottom: var(--cms-home-section-head-mb, 0);
}

.seo-cms-page.gallery-page, .seo-cms-page:has(.gallery-spread) {
  --gallery-spread-py: clamp(2.5rem, 5vw, 4rem);
  --gallery-spread-gap: clamp(0.45rem, 1vw, 0.75rem);
}

.seo-cms-page .gallery-spread {
  padding-block: var(--gallery-spread-py, clamp(2.5rem, 5vw, 4rem));
  scroll-margin-top: calc(var(--cms-in-page-nav-offset, var(--site-header-height, 0px)) + 3.5rem);
}
.seo-cms-page .gallery-spread.cms-section {
  padding-block: var(--gallery-spread-py, clamp(2.5rem, 5vw, 4rem));
}
.seo-cms-page .gallery-spread .cms-section__wrap {
  max-width: min(1140px, 100%);
}
.seo-cms-page .gallery-spread .cms-section__slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.25rem, 2.2vw, 1.85rem);
}
.seo-cms-page .gallery-spread {
  /* --- Nagłówek sekcji (zawsze center) --- */
}
.seo-cms-page .gallery-spread .gallery-spread__head {
  width: 100%;
  max-width: 38rem;
  margin-inline: auto;
  text-align: center;
}
.seo-cms-page .gallery-spread .gallery-spread__eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-secondary);
}
.seo-cms-page .gallery-spread .gallery-spread__title {
  margin: 0;
  font-family: var(--font-family-heading, var(--font-family-base));
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  font-weight: var(--font-weight-heading, 600);
  letter-spacing: var(--letter-spacing-heading, -0.02em);
  line-height: 1.14;
  color: var(--color-heading, var(--color-text));
}
.seo-cms-page .gallery-spread .gallery-spread__lead {
  margin: 0.75rem auto 0;
  max-width: 34rem;
  font-size: clamp(0.98rem, 1.6vw, 1.05rem);
  line-height: 1.62;
  color: var(--color-text-muted);
}
.seo-cms-page .gallery-spread .gallery-spread__meta {
  margin: 0.65rem 0 0;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--color-text-muted) 88%, transparent);
}
.seo-cms-page .gallery-spread .gallery-spread__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.65rem;
  height: 1.65rem;
  margin-inline-end: 0.35rem;
  padding-inline: 0.35rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-secondary) 16%, var(--color-surface-soft));
  color: var(--color-secondary);
  font-size: 0.75rem;
  font-weight: 700;
  vertical-align: middle;
}
.seo-cms-page .gallery-spread {
  /* --- Galeria bez obudowy --- */
}
.seo-cms-page .gallery-spread .cms-c-gallery-pick {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.seo-cms-page .gallery-spread .media-gallery {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.seo-cms-page .gallery-spread {
  /* --- Siatka responsywna (container queries - dopasowanie do szerokości galerii) --- */
}
.seo-cms-page .gallery-spread .media-gallery {
  container-type: inline-size;
  container-name: mg;
}
.seo-cms-page .gallery-spread .media-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gallery-spread-gap, 0.65rem);
  width: 100%;
}
@container mg (min-width: 520px) {
  .seo-cms-page .gallery-spread .gallery-spread .media-gallery__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@container mg (min-width: 820px) {
  .seo-cms-page .gallery-spread .gallery-spread .media-gallery__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--gallery-spread-gap, 0.75rem);
  }
}
.seo-cms-page .gallery-spread .media-gallery__cell {
  border-radius: var(--mg-img-radius, var(--theme-comp-tile-media-radius, var(--layout-radius, 0)));
  overflow: hidden;
  background: transparent;
  box-shadow: none;
  transition: box-shadow 0.28s ease, transform 0.28s ease;
  min-height: 0;
}
.seo-cms-page .gallery-spread .media-gallery__cell--collapsed {
  display: none;
}
.seo-cms-page .gallery-spread .media-gallery.is-expanded .media-gallery__cell--collapsed {
  display: block;
}
.seo-cms-page .gallery-spread .media-gallery__figure,
.seo-cms-page .gallery-spread .media-gallery__hit,
.seo-cms-page .gallery-spread .media-gallery__link {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  border-radius: inherit;
}
.seo-cms-page .gallery-spread .media-gallery__hit:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
  outline-offset: 2px;
}
.seo-cms-page .gallery-spread .media-gallery__hit picture,
.seo-cms-page .gallery-spread .media-gallery__figure picture,
.seo-cms-page .gallery-spread .media-gallery__link picture {
  display: block;
  height: 100%;
  min-height: 0;
}
.seo-cms-page .gallery-spread .media-gallery__cell img {
  width: 100%;
  height: 100%;
  min-height: clamp(130px, 42vw, 180px);
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  border-radius: inherit;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.seo-cms-page .gallery-spread {
  /* Wyróżnione pierwsze zdjęcie */
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--featured-first .media-gallery__grid {
  grid-auto-flow: dense;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--featured-first .media-gallery__cell:first-child {
  grid-column: 1/-1;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--featured-first .media-gallery__cell:first-child img {
  min-height: clamp(200px, 52cqw, 280px);
  aspect-ratio: 16/10;
}
@container mg (min-width: 520px) {
  .seo-cms-page .gallery-spread .media-gallery.media-gallery--featured-first .media-gallery__cell:first-child {
    grid-column: span 2;
    grid-row: span 2;
  }
  .seo-cms-page .gallery-spread .media-gallery.media-gallery--featured-first .media-gallery__cell:first-child img {
    min-height: clamp(240px, 34cqw, 360px);
    aspect-ratio: auto;
  }
  .seo-cms-page .gallery-spread .media-gallery__cell img {
    min-height: clamp(150px, 22cqw, 200px);
    aspect-ratio: 1/1;
  }
}
@container mg (min-width: 820px) {
  .seo-cms-page .gallery-spread .media-gallery.media-gallery--featured-first .media-gallery__cell:first-child img {
    min-height: clamp(280px, 28cqw, 400px);
  }
}
.seo-cms-page .gallery-spread {
  /* Hover / tap feedback */
}
.seo-cms-page .gallery-spread .media-gallery:not(.media-gallery--hover-none) .media-gallery__cell:hover {
  box-shadow: 0 12px 32px rgba(var(--color-shadow-rgb, 15 23 42), 0.1);
  transform: translateY(-2px);
}
.seo-cms-page .gallery-spread .media-gallery:not(.media-gallery--hover-none) .media-gallery__hit:hover img,
.seo-cms-page .gallery-spread .media-gallery:not(.media-gallery--hover-none) .media-gallery__link:hover img {
  transform: scale(1.04);
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--hover-glow .media-gallery__cell:hover {
  box-shadow: 0 12px 32px rgba(var(--color-shadow-rgb, 15 23 42), 0.08), 0 0 0 2px color-mix(in srgb, var(--color-secondary) 36%, transparent);
}
.seo-cms-page .gallery-spread {
  /* Przycisk „pokaż więcej” */
}
.seo-cms-page .gallery-spread .media-gallery__expand {
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: clamp(0.85rem, 2vw, 1.25rem);
}
.seo-cms-page .gallery-spread .media-gallery__expand-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 2.75rem;
  padding: 0.65rem 1.35rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--color-border) 75%, transparent);
  background: var(--color-surface, #fff);
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s, background 0.2s, transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 16px rgba(var(--color-shadow-rgb, 15 23 42), 0.05);
}
.seo-cms-page .gallery-spread .media-gallery__expand-btn:hover {
  color: var(--color-primary);
  border-color: color-mix(in srgb, var(--color-primary) 35%, transparent);
  transform: translateY(-1px);
}
.seo-cms-page .gallery-spread .media-gallery__expand-btn:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 45%, transparent);
  outline-offset: 2px;
}
.seo-cms-page .gallery-spread .media-gallery__expand-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding-inline: 0.35rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-primary) 12%, var(--color-surface-soft));
  color: var(--color-primary);
  font-size: 0.75rem;
  font-weight: 700;
}
.seo-cms-page .gallery-spread {
  /* Delikatne wejście kafli */
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell {
  animation: gallerySpreadFade 0.5s ease forwards;
  opacity: 0;
  transform: translateY(6px);
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(1) {
  animation-delay: 0s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(2) {
  animation-delay: 0.025s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(3) {
  animation-delay: 0.05s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(4) {
  animation-delay: 0.075s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(5) {
  animation-delay: 0.1s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(6) {
  animation-delay: 0.125s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(7) {
  animation-delay: 0.15s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(8) {
  animation-delay: 0.175s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(9) {
  animation-delay: 0.2s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(10) {
  animation-delay: 0.225s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(11) {
  animation-delay: 0.25s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(12) {
  animation-delay: 0.275s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(13) {
  animation-delay: 0.3s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(14) {
  animation-delay: 0.325s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(15) {
  animation-delay: 0.35s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(16) {
  animation-delay: 0.375s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(17) {
  animation-delay: 0.4s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(18) {
  animation-delay: 0.425s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(19) {
  animation-delay: 0.45s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(20) {
  animation-delay: 0.475s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(21) {
  animation-delay: 0.5s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(22) {
  animation-delay: 0.525s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(23) {
  animation-delay: 0.55s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(24) {
  animation-delay: 0.575s;
}
.seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell:nth-child(25) {
  animation-delay: 0.6s;
}

.seo-cms-page .gallery-page-apartments {
  padding-block: clamp(2.5rem, 5vw, 3.75rem);
}

@keyframes gallerySpreadFade {
  to {
    opacity: 1;
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .seo-cms-page .gallery-spread .media-gallery.media-gallery--anim-fade .media-gallery__cell {
    animation: none;
    opacity: 1;
    transform: none;
  }
  .seo-cms-page .gallery-spread .media-gallery__cell,
  .seo-cms-page .gallery-spread .media-gallery__cell img,
  .seo-cms-page .gallery-spread .media-gallery__expand-btn {
    transition: none;
  }
}
.cms-c-rich-text .ql-font-serif {
  font-family: Georgia, "Times New Roman", serif;
}
.cms-c-rich-text .ql-font-monospace {
  font-family: Monaco, "Courier New", monospace;
}
.cms-c-rich-text .ql-size-small {
  font-size: 0.75em;
}
.cms-c-rich-text .ql-size-large {
  font-size: 1.5em;
}
.cms-c-rich-text .ql-size-huge {
  font-size: 2.5em;
}
.cms-c-rich-text .ql-direction-rtl {
  direction: rtl;
  text-align: inherit;
}
.cms-c-rich-text .ql-align-center {
  text-align: center;
}
.cms-c-rich-text .ql-align-justify {
  text-align: justify;
}
.cms-c-rich-text .ql-align-right {
  text-align: right;
}
.cms-c-rich-text .ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3em;
}
.cms-c-rich-text li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5em;
}
.cms-c-rich-text .ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 3em;
}
.cms-c-rich-text li.ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 4.5em;
}
.cms-c-rich-text .ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6em;
}
.cms-c-rich-text li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5em;
}
.cms-c-rich-text .ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 6em;
}
.cms-c-rich-text li.ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 7.5em;
}
.cms-c-rich-text .ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 9em;
}
.cms-c-rich-text li.ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 10.5em;
}
.cms-c-rich-text .ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 9em;
}
.cms-c-rich-text li.ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 10.5em;
}
.cms-c-rich-text .ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 12em;
}
.cms-c-rich-text li.ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 13.5em;
}
.cms-c-rich-text .ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 12em;
}
.cms-c-rich-text li.ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 13.5em;
}
.cms-c-rich-text .ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 15em;
}
.cms-c-rich-text li.ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 16.5em;
}
.cms-c-rich-text .ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 15em;
}
.cms-c-rich-text li.ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 16.5em;
}
.cms-c-rich-text .ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 18em;
}
.cms-c-rich-text li.ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 19.5em;
}
.cms-c-rich-text .ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 18em;
}
.cms-c-rich-text li.ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 19.5em;
}
.cms-c-rich-text .ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 21em;
}
.cms-c-rich-text li.ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 22.5em;
}
.cms-c-rich-text .ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 21em;
}
.cms-c-rich-text li.ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 22.5em;
}
.cms-c-rich-text .ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 24em;
}
.cms-c-rich-text li.ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 25.5em;
}
.cms-c-rich-text .ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 24em;
}
.cms-c-rich-text li.ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 25.5em;
}
.cms-c-rich-text .ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 27em;
}
.cms-c-rich-text li.ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 28.5em;
}
.cms-c-rich-text .ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 27em;
}
.cms-c-rich-text li.ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 28.5em;
}
.cms-c-rich-text .ql-video {
  display: block;
  max-width: 100%;
}
.cms-c-rich-text .ql-video.ql-align-center {
  margin-inline: auto;
}
.cms-c-rich-text .ql-video.ql-align-right {
  margin: 0 0 0 auto;
}
.cms-c-rich-text .ql-bg-black {
  background-color: #000;
}
.cms-c-rich-text .ql-bg-red {
  background-color: #e60000;
}
.cms-c-rich-text .ql-bg-orange {
  background-color: #f90;
}
.cms-c-rich-text .ql-bg-yellow {
  background-color: #ff0;
}
.cms-c-rich-text .ql-bg-green {
  background-color: #008a00;
}
.cms-c-rich-text .ql-bg-blue {
  background-color: #06c;
}
.cms-c-rich-text .ql-bg-purple {
  background-color: #93f;
}
.cms-c-rich-text .ql-color-white {
  color: #fff;
}
.cms-c-rich-text .ql-color-red {
  color: #e60000;
}
.cms-c-rich-text .ql-color-orange {
  color: #f90;
}
.cms-c-rich-text .ql-color-yellow {
  color: #ff0;
}
.cms-c-rich-text .ql-color-green {
  color: #008a00;
}
.cms-c-rich-text .ql-color-blue {
  color: #06c;
}
.cms-c-rich-text .ql-color-purple {
  color: #93f;
}
.cms-c-rich-text blockquote {
  border-left: 4px solid color-mix(in srgb, var(--color-border, #e2e8f0) 88%, transparent);
  margin: 0.75em 0;
  padding: 0.35em 0 0.35em 1em;
}
.cms-c-rich-text pre,
.cms-c-rich-text pre.ql-syntax {
  background-color: color-mix(in srgb, var(--color-surface-soft, #f8fafc) 92%, #0f172a);
  border-radius: 0.35rem;
  font-family: Monaco, "Courier New", monospace;
  font-size: 0.9em;
  margin: 0.75em 0;
  overflow-x: auto;
  padding: 0.75em 1em;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.rte-content .ql-font-serif {
  font-family: Georgia, "Times New Roman", serif;
}
.rte-content .ql-font-monospace {
  font-family: Monaco, "Courier New", monospace;
}
.rte-content .ql-size-small {
  font-size: 0.75em;
}
.rte-content .ql-size-large {
  font-size: 1.5em;
}
.rte-content .ql-size-huge {
  font-size: 2.5em;
}
.rte-content .ql-direction-rtl {
  direction: rtl;
  text-align: inherit;
}
.rte-content .ql-align-center {
  text-align: center;
}
.rte-content .ql-align-justify {
  text-align: justify;
}
.rte-content .ql-align-right {
  text-align: right;
}
.rte-content .ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3em;
}
.rte-content li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5em;
}
.rte-content .ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 3em;
}
.rte-content li.ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 4.5em;
}
.rte-content .ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6em;
}
.rte-content li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5em;
}
.rte-content .ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 6em;
}
.rte-content li.ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 7.5em;
}
.rte-content .ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 9em;
}
.rte-content li.ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 10.5em;
}
.rte-content .ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 9em;
}
.rte-content li.ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 10.5em;
}
.rte-content .ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 12em;
}
.rte-content li.ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 13.5em;
}
.rte-content .ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 12em;
}
.rte-content li.ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 13.5em;
}
.rte-content .ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 15em;
}
.rte-content li.ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 16.5em;
}
.rte-content .ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 15em;
}
.rte-content li.ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 16.5em;
}
.rte-content .ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 18em;
}
.rte-content li.ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 19.5em;
}
.rte-content .ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 18em;
}
.rte-content li.ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 19.5em;
}
.rte-content .ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 21em;
}
.rte-content li.ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 22.5em;
}
.rte-content .ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 21em;
}
.rte-content li.ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 22.5em;
}
.rte-content .ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 24em;
}
.rte-content li.ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 25.5em;
}
.rte-content .ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 24em;
}
.rte-content li.ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 25.5em;
}
.rte-content .ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 27em;
}
.rte-content li.ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 28.5em;
}
.rte-content .ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 27em;
}
.rte-content li.ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 28.5em;
}
.rte-content .ql-video {
  display: block;
  max-width: 100%;
}
.rte-content .ql-video.ql-align-center {
  margin-inline: auto;
}
.rte-content .ql-video.ql-align-right {
  margin: 0 0 0 auto;
}
.rte-content .ql-bg-black {
  background-color: #000;
}
.rte-content .ql-bg-red {
  background-color: #e60000;
}
.rte-content .ql-bg-orange {
  background-color: #f90;
}
.rte-content .ql-bg-yellow {
  background-color: #ff0;
}
.rte-content .ql-bg-green {
  background-color: #008a00;
}
.rte-content .ql-bg-blue {
  background-color: #06c;
}
.rte-content .ql-bg-purple {
  background-color: #93f;
}
.rte-content .ql-color-white {
  color: #fff;
}
.rte-content .ql-color-red {
  color: #e60000;
}
.rte-content .ql-color-orange {
  color: #f90;
}
.rte-content .ql-color-yellow {
  color: #ff0;
}
.rte-content .ql-color-green {
  color: #008a00;
}
.rte-content .ql-color-blue {
  color: #06c;
}
.rte-content .ql-color-purple {
  color: #93f;
}
.rte-content blockquote {
  border-left: 4px solid color-mix(in srgb, var(--color-border, #e2e8f0) 88%, transparent);
  margin: 0.75em 0;
  padding: 0.35em 0 0.35em 1em;
}
.rte-content pre,
.rte-content pre.ql-syntax {
  background-color: color-mix(in srgb, var(--color-surface-soft, #f8fafc) 92%, #0f172a);
  border-radius: 0.35rem;
  font-family: Monaco, "Courier New", monospace;
  font-size: 0.9em;
  margin: 0.75em 0;
  overflow-x: auto;
  padding: 0.75em 1em;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.residence-show__prose .ql-font-serif {
  font-family: Georgia, "Times New Roman", serif;
}
.residence-show__prose .ql-font-monospace {
  font-family: Monaco, "Courier New", monospace;
}
.residence-show__prose .ql-size-small {
  font-size: 0.75em;
}
.residence-show__prose .ql-size-large {
  font-size: 1.5em;
}
.residence-show__prose .ql-size-huge {
  font-size: 2.5em;
}
.residence-show__prose .ql-direction-rtl {
  direction: rtl;
  text-align: inherit;
}
.residence-show__prose .ql-align-center {
  text-align: center;
}
.residence-show__prose .ql-align-justify {
  text-align: justify;
}
.residence-show__prose .ql-align-right {
  text-align: right;
}
.residence-show__prose .ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3em;
}
.residence-show__prose li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5em;
}
.residence-show__prose .ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 3em;
}
.residence-show__prose li.ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 4.5em;
}
.residence-show__prose .ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6em;
}
.residence-show__prose li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5em;
}
.residence-show__prose .ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 6em;
}
.residence-show__prose li.ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 7.5em;
}
.residence-show__prose .ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 9em;
}
.residence-show__prose li.ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 10.5em;
}
.residence-show__prose .ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 9em;
}
.residence-show__prose li.ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 10.5em;
}
.residence-show__prose .ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 12em;
}
.residence-show__prose li.ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 13.5em;
}
.residence-show__prose .ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 12em;
}
.residence-show__prose li.ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 13.5em;
}
.residence-show__prose .ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 15em;
}
.residence-show__prose li.ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 16.5em;
}
.residence-show__prose .ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 15em;
}
.residence-show__prose li.ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 16.5em;
}
.residence-show__prose .ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 18em;
}
.residence-show__prose li.ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 19.5em;
}
.residence-show__prose .ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 18em;
}
.residence-show__prose li.ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 19.5em;
}
.residence-show__prose .ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 21em;
}
.residence-show__prose li.ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 22.5em;
}
.residence-show__prose .ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 21em;
}
.residence-show__prose li.ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 22.5em;
}
.residence-show__prose .ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 24em;
}
.residence-show__prose li.ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 25.5em;
}
.residence-show__prose .ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 24em;
}
.residence-show__prose li.ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 25.5em;
}
.residence-show__prose .ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 27em;
}
.residence-show__prose li.ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 28.5em;
}
.residence-show__prose .ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 27em;
}
.residence-show__prose li.ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 28.5em;
}
.residence-show__prose .ql-video {
  display: block;
  max-width: 100%;
}
.residence-show__prose .ql-video.ql-align-center {
  margin-inline: auto;
}
.residence-show__prose .ql-video.ql-align-right {
  margin: 0 0 0 auto;
}
.residence-show__prose .ql-bg-black {
  background-color: #000;
}
.residence-show__prose .ql-bg-red {
  background-color: #e60000;
}
.residence-show__prose .ql-bg-orange {
  background-color: #f90;
}
.residence-show__prose .ql-bg-yellow {
  background-color: #ff0;
}
.residence-show__prose .ql-bg-green {
  background-color: #008a00;
}
.residence-show__prose .ql-bg-blue {
  background-color: #06c;
}
.residence-show__prose .ql-bg-purple {
  background-color: #93f;
}
.residence-show__prose .ql-color-white {
  color: #fff;
}
.residence-show__prose .ql-color-red {
  color: #e60000;
}
.residence-show__prose .ql-color-orange {
  color: #f90;
}
.residence-show__prose .ql-color-yellow {
  color: #ff0;
}
.residence-show__prose .ql-color-green {
  color: #008a00;
}
.residence-show__prose .ql-color-blue {
  color: #06c;
}
.residence-show__prose .ql-color-purple {
  color: #93f;
}
.residence-show__prose blockquote {
  border-left: 4px solid color-mix(in srgb, var(--color-border, #e2e8f0) 88%, transparent);
  margin: 0.75em 0;
  padding: 0.35em 0 0.35em 1em;
}
.residence-show__prose pre,
.residence-show__prose pre.ql-syntax {
  background-color: color-mix(in srgb, var(--color-surface-soft, #f8fafc) 92%, #0f172a);
  border-radius: 0.35rem;
  font-family: Monaco, "Courier New", monospace;
  font-size: 0.9em;
  margin: 0.75em 0;
  overflow-x: auto;
  padding: 0.75em 1em;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.about-prose .ql-font-serif {
  font-family: Georgia, "Times New Roman", serif;
}
.about-prose .ql-font-monospace {
  font-family: Monaco, "Courier New", monospace;
}
.about-prose .ql-size-small {
  font-size: 0.75em;
}
.about-prose .ql-size-large {
  font-size: 1.5em;
}
.about-prose .ql-size-huge {
  font-size: 2.5em;
}
.about-prose .ql-direction-rtl {
  direction: rtl;
  text-align: inherit;
}
.about-prose .ql-align-center {
  text-align: center;
}
.about-prose .ql-align-justify {
  text-align: justify;
}
.about-prose .ql-align-right {
  text-align: right;
}
.about-prose .ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3em;
}
.about-prose li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5em;
}
.about-prose .ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 3em;
}
.about-prose li.ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 4.5em;
}
.about-prose .ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6em;
}
.about-prose li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5em;
}
.about-prose .ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 6em;
}
.about-prose li.ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 7.5em;
}
.about-prose .ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 9em;
}
.about-prose li.ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 10.5em;
}
.about-prose .ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 9em;
}
.about-prose li.ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 10.5em;
}
.about-prose .ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 12em;
}
.about-prose li.ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 13.5em;
}
.about-prose .ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 12em;
}
.about-prose li.ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 13.5em;
}
.about-prose .ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 15em;
}
.about-prose li.ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 16.5em;
}
.about-prose .ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 15em;
}
.about-prose li.ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 16.5em;
}
.about-prose .ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 18em;
}
.about-prose li.ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 19.5em;
}
.about-prose .ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 18em;
}
.about-prose li.ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 19.5em;
}
.about-prose .ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 21em;
}
.about-prose li.ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 22.5em;
}
.about-prose .ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 21em;
}
.about-prose li.ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 22.5em;
}
.about-prose .ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 24em;
}
.about-prose li.ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 25.5em;
}
.about-prose .ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 24em;
}
.about-prose li.ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 25.5em;
}
.about-prose .ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 27em;
}
.about-prose li.ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 28.5em;
}
.about-prose .ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 27em;
}
.about-prose li.ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 28.5em;
}
.about-prose .ql-video {
  display: block;
  max-width: 100%;
}
.about-prose .ql-video.ql-align-center {
  margin-inline: auto;
}
.about-prose .ql-video.ql-align-right {
  margin: 0 0 0 auto;
}
.about-prose .ql-bg-black {
  background-color: #000;
}
.about-prose .ql-bg-red {
  background-color: #e60000;
}
.about-prose .ql-bg-orange {
  background-color: #f90;
}
.about-prose .ql-bg-yellow {
  background-color: #ff0;
}
.about-prose .ql-bg-green {
  background-color: #008a00;
}
.about-prose .ql-bg-blue {
  background-color: #06c;
}
.about-prose .ql-bg-purple {
  background-color: #93f;
}
.about-prose .ql-color-white {
  color: #fff;
}
.about-prose .ql-color-red {
  color: #e60000;
}
.about-prose .ql-color-orange {
  color: #f90;
}
.about-prose .ql-color-yellow {
  color: #ff0;
}
.about-prose .ql-color-green {
  color: #008a00;
}
.about-prose .ql-color-blue {
  color: #06c;
}
.about-prose .ql-color-purple {
  color: #93f;
}
.about-prose blockquote {
  border-left: 4px solid color-mix(in srgb, var(--color-border, #e2e8f0) 88%, transparent);
  margin: 0.75em 0;
  padding: 0.35em 0 0.35em 1em;
}
.about-prose pre,
.about-prose pre.ql-syntax {
  background-color: color-mix(in srgb, var(--color-surface-soft, #f8fafc) 92%, #0f172a);
  border-radius: 0.35rem;
  font-family: Monaco, "Courier New", monospace;
  font-size: 0.9em;
  margin: 0.75em 0;
  overflow-x: auto;
  padding: 0.75em 1em;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.cms-c-rich-text ol,
.cms-c-rich-text ul {
  padding-left: 1.5em;
}
.cms-c-rich-text ol > li,
.cms-c-rich-text ul > li {
  list-style-type: none;
}
.cms-c-rich-text ul > li::before {
  content: "•";
}
.cms-c-rich-text ul[data-checked=true],
.cms-c-rich-text ul[data-checked=false] {
  pointer-events: none;
}
.cms-c-rich-text ul[data-checked=true] > li *,
.cms-c-rich-text ul[data-checked=false] > li * {
  pointer-events: all;
}
.cms-c-rich-text ul[data-checked=true] > li::before,
.cms-c-rich-text ul[data-checked=false] > li::before {
  color: #777;
  cursor: pointer;
  pointer-events: all;
}
.cms-c-rich-text ul[data-checked=true] > li::before {
  content: "☑";
}
.cms-c-rich-text ul[data-checked=false] > li::before {
  content: "☐";
}
.cms-c-rich-text li::before {
  display: inline-block;
  white-space: nowrap;
  width: 1.2em;
}
.cms-c-rich-text li:not(.ql-direction-rtl)::before {
  margin-left: -1.5em;
  margin-right: 0.3em;
  text-align: right;
}
.cms-c-rich-text li.ql-direction-rtl::before {
  margin-left: 0.3em;
  margin-right: -1.5em;
}
.cms-c-rich-text ol li:not(.ql-direction-rtl),
.cms-c-rich-text ul li:not(.ql-direction-rtl) {
  padding-left: 1.5em;
}
.cms-c-rich-text ol li.ql-direction-rtl,
.cms-c-rich-text ul li.ql-direction-rtl {
  padding-right: 1.5em;
}
.cms-c-rich-text ol li {
  counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  counter-increment: list-0;
}
.cms-c-rich-text ol li::before {
  content: counter(list-0, decimal) ". ";
}
.cms-c-rich-text ol li.ql-indent-1 {
  counter-increment: list-1;
  counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.cms-c-rich-text ol li.ql-indent-1::before {
  content: counter(list-1, lower-alpha) ". ";
}
.cms-c-rich-text ol li.ql-indent-2 {
  counter-increment: list-2;
  counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
}
.cms-c-rich-text ol li.ql-indent-2::before {
  content: counter(list-2, lower-roman) ". ";
}
.cms-c-rich-text ol li.ql-indent-3 {
  counter-increment: list-3;
  counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
}
.cms-c-rich-text ol li.ql-indent-3::before {
  content: counter(list-3, decimal) ". ";
}
.cms-c-rich-text ol li.ql-indent-4 {
  counter-increment: list-4;
  counter-reset: list-5 list-6 list-7 list-8 list-9;
}
.cms-c-rich-text ol li.ql-indent-4::before {
  content: counter(list-4, lower-alpha) ". ";
}
.cms-c-rich-text ol li.ql-indent-5 {
  counter-increment: list-5;
  counter-reset: list-6 list-7 list-8 list-9;
}
.cms-c-rich-text ol li.ql-indent-5::before {
  content: counter(list-5, lower-roman) ". ";
}
.cms-c-rich-text ol li.ql-indent-6 {
  counter-increment: list-6;
  counter-reset: list-7 list-8 list-9;
}
.cms-c-rich-text ol li.ql-indent-6::before {
  content: counter(list-6, decimal) ". ";
}
.cms-c-rich-text ol li.ql-indent-7 {
  counter-increment: list-7;
  counter-reset: list-8 list-9;
}
.cms-c-rich-text ol li.ql-indent-7::before {
  content: counter(list-7, lower-alpha) ". ";
}
.cms-c-rich-text ol li.ql-indent-8 {
  counter-increment: list-8;
  counter-reset: list-9;
}
.cms-c-rich-text ol li.ql-indent-8::before {
  content: counter(list-8, lower-roman) ". ";
}
.cms-c-rich-text ol li.ql-indent-9 {
  counter-increment: list-9;
  counter-reset: list-10 list-9;
}
.cms-c-rich-text ol li.ql-indent-9::before {
  content: counter(list-9, decimal) ". ";
}

.rte-content ol:not(.hero-stats):not([class*=cms-c-]),
.rte-content ul:not(.hero-stats):not([class*=cms-c-]) {
  margin: 0.5em 0;
  padding-left: 0;
  list-style: none;
}
.rte-content ol:not(.hero-stats):not([class*=cms-c-]) > li,
.rte-content ul:not(.hero-stats):not([class*=cms-c-]) > li {
  list-style: none;
  list-style-type: none;
}
.rte-content :where(ul, ol):not(.hero-stats):not([class*=cms-c-]) > li::before {
  content: none;
  display: none;
  margin: 0;
  width: auto;
}

.residence-show__prose ol:not(.hero-stats):not([class*=cms-c-]),
.residence-show__prose ul:not(.hero-stats):not([class*=cms-c-]) {
  margin: 0.5em 0;
  padding-left: 0;
  list-style: none;
}
.residence-show__prose ol:not(.hero-stats):not([class*=cms-c-]) > li,
.residence-show__prose ul:not(.hero-stats):not([class*=cms-c-]) > li {
  list-style: none;
  list-style-type: none;
}
.residence-show__prose :where(ul, ol):not(.hero-stats):not([class*=cms-c-]) > li::before {
  content: none;
  display: none;
  margin: 0;
  width: auto;
}

.about-prose ol:not(.hero-stats):not([class*=cms-c-]),
.about-prose ul:not(.hero-stats):not([class*=cms-c-]) {
  margin: 0.5em 0;
  padding-left: 0;
  list-style: none;
}
.about-prose ol:not(.hero-stats):not([class*=cms-c-]) > li,
.about-prose ul:not(.hero-stats):not([class*=cms-c-]) > li {
  list-style: none;
  list-style-type: none;
}
.about-prose :where(ul, ol):not(.hero-stats):not([class*=cms-c-]) > li::before {
  content: none;
  display: none;
  margin: 0;
  width: auto;
}

.cms-builder-page {
  width: 100%;
}

.seo-cms-page .cms-builder-page {
  display: flex;
  flex-direction: column;
  gap: var(--cms-section-gap, 0);
}

/* Strona główna: rytm wyłącznie z paddingów sekcji (bez stackowania gap). */
.home-page--cms-builder.seo-cms-page .cms-builder-page {
  gap: 0;
}

.cms-section {
  position: relative;
  scroll-margin-top: calc(var(--cms-in-page-nav-offset, 4rem) + 1rem);
}

.cms-section__wrap {
  width: 100%;
}

.cms-builder-page,
.seo-cms-page,
.home-page--cms-builder {
  --cms-section-content-max: var(
    --theme-comp-cms-content-max-width,
    min(var(--layout-max-width, 1600px), 100%)
  );
}

.cms-builder-page .cms-section__wrap.container,
.cms-builder-page .cms-section__wrap.container-sm,
.cms-builder-page .cms-section__wrap.container-md,
.cms-builder-page .cms-section__wrap.container-lg,
.cms-builder-page .cms-section__wrap.container-xl,
.cms-builder-page .cms-section__wrap.container-xxl,
.cms-builder-page .cms-in-page-nav__inner.container,
.seo-cms-page .cms-section__wrap.container,
.seo-cms-page .cms-section__wrap.container-sm,
.seo-cms-page .cms-section__wrap.container-md,
.seo-cms-page .cms-section__wrap.container-lg,
.seo-cms-page .cms-section__wrap.container-xl,
.seo-cms-page .cms-section__wrap.container-xxl,
.seo-cms-page .cms-in-page-nav__inner.container,
.home-page--cms-builder .cms-section__wrap.container,
.home-page--cms-builder .cms-section__wrap.container-sm,
.home-page--cms-builder .cms-section__wrap.container-md,
.home-page--cms-builder .cms-section__wrap.container-lg,
.home-page--cms-builder .cms-section__wrap.container-xl,
.home-page--cms-builder .cms-section__wrap.container-xxl,
.home-page--cms-builder .cms-in-page-nav__inner.container {
  width: min(var(--cms-section-content-max), 94%);
  max-width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}

.cms-builder-page .intro-section .inner,
.seo-cms-page .intro-section .inner,
.home-page--cms-builder .intro-section .inner {
  width: min(var(--cms-section-content-max), 94%);
  max-width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
}

.cms-section__wrap.container-fluid {
  max-width: none;
  width: 100%;
  margin-inline: 0;
  padding-inline: 0;
}
.cms-section__wrap.container-fluid .cms-section__grid.row {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
  margin-inline: 0;
}
.cms-section__wrap.container-fluid .cms-section__grid.row > [class*=col-] {
  padding-inline: 0;
}

.cms-builder-page .cms-section__slot .home-section {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.cms-builder-page .cms-section__slot .home-section > .container,
.cms-builder-page .cms-section__slot .home-section > .container-sm,
.cms-builder-page .cms-section__slot .home-section > .container-md,
.cms-builder-page .cms-section__slot .home-section > .container-lg,
.cms-builder-page .cms-section__slot .home-section > .container-xl,
.cms-builder-page .cms-section__slot .home-section > .container-xxl,
.cms-builder-page .cms-section__slot .home-section > .container-fluid {
  max-width: none;
  width: 100%;
  padding-inline: 0;
}
.cms-builder-page .cms-section__slot .home-section--band,
.cms-builder-page .cms-section__slot .home-section--alt,
.cms-builder-page .cms-section__slot .home-section--day-offer,
.cms-builder-page .cms-section__slot .home-section--featured,
.cms-builder-page .cms-section__slot .home-section--recent,
.cms-builder-page .cms-section__slot .home-section--locations-ribbon,
.cms-builder-page .cms-section__slot .home-section--special-offers-seo,
.cms-builder-page .cms-section__slot .home-section--content-split,
.cms-builder-page .cms-section__slot .home-section--quick-cats,
.cms-builder-page .cms-section__slot .home-section--trust-strip,
.cms-builder-page .cms-section__slot .cta-band--home {
  padding-block: 0;
  background: transparent !important;
  border-block: none !important;
}
.cms-builder-page .cms-section__slot .home-section--band::before, .cms-builder-page .cms-section__slot .home-section--band::after,
.cms-builder-page .cms-section__slot .home-section--alt::before,
.cms-builder-page .cms-section__slot .home-section--alt::after,
.cms-builder-page .cms-section__slot .home-section--day-offer::before,
.cms-builder-page .cms-section__slot .home-section--day-offer::after,
.cms-builder-page .cms-section__slot .home-section--featured::before,
.cms-builder-page .cms-section__slot .home-section--featured::after,
.cms-builder-page .cms-section__slot .home-section--recent::before,
.cms-builder-page .cms-section__slot .home-section--recent::after,
.cms-builder-page .cms-section__slot .home-section--locations-ribbon::before,
.cms-builder-page .cms-section__slot .home-section--locations-ribbon::after,
.cms-builder-page .cms-section__slot .home-section--special-offers-seo::before,
.cms-builder-page .cms-section__slot .home-section--special-offers-seo::after,
.cms-builder-page .cms-section__slot .home-section--content-split::before,
.cms-builder-page .cms-section__slot .home-section--content-split::after,
.cms-builder-page .cms-section__slot .home-section--quick-cats::before,
.cms-builder-page .cms-section__slot .home-section--quick-cats::after,
.cms-builder-page .cms-section__slot .home-section--trust-strip::before,
.cms-builder-page .cms-section__slot .home-section--trust-strip::after,
.cms-builder-page .cms-section__slot .cta-band--home::before,
.cms-builder-page .cms-section__slot .cta-band--home::after {
  display: none;
}
.cms-builder-page .cms-section__slot .home-section--cms-embed {
  padding-block: 0;
}
.cms-builder-page .cms-section__slot .home-section--cms-embed > .home-section__inner,
.cms-builder-page .cms-section__slot .home-section--cms-embed > .container {
  max-width: none;
  width: 100%;
  padding-inline: 0;
}

.cms-builder-page .cms-section.cms-section--bg-none,
.seo-cms-page .cms-section.cms-section--bg-none,
.home-page--cms-builder .cms-section.cms-section--bg-none {
  background: transparent;
}

.cms-builder-page .cms-section.cms-section--bg-soft:not(.cms-section--bg-fill-glass),
.seo-cms-page .cms-section.cms-section--bg-soft:not(.cms-section--bg-fill-glass),
.home-page--cms-builder .cms-section.cms-section--bg-soft:not(.cms-section--bg-fill-glass) {
  background: var(--color-surface-soft);
}

.cms-builder-page .cms-section.cms-section--bg-strong:not(.cms-section--bg-fill-glass),
.seo-cms-page .cms-section.cms-section--bg-strong:not(.cms-section--bg-fill-glass),
.home-page--cms-builder .cms-section.cms-section--bg-strong:not(.cms-section--bg-fill-glass) {
  background: var(--color-surface-strong, var(--color-surface-soft));
  color: var(--color-on-surface-strong, inherit);
}

.cms-section__grid.row {
  margin-inline: 0;
}

.cms-section--full-bleed-media .cms-section__slot .cms-c-hero,
.cms-section--full-bleed-media .cms-section__slot .cms-c-cta {
  border-radius: var(--cms-cta-radius, var(--cms-section-cta-radius, var(--cms-section-spacing-radius, 0)));
  min-height: clamp(16rem, 42vw, 28rem);
}

.cms-section--full-bleed-media .cms-section__slot .cms-c-cta--fill-section,
.cms-section--full-bleed-media .cms-section__slot .cms-c-cta--parallax-scroll,
.cms-section:has(.cms-c-cta--fill-section) .cms-section__slot .cms-c-cta {
  border-radius: 0;
}

.home-page--cms-builder .cms-c-hero:not(.cms-c-hero--stage) {
  border-radius: var(--layout-radius, 8px);
}

.home-page--cms-builder .cms-section__wrap.container-fluid .cms-c-hero,
.home-page--cms-builder .cms-c-hero--stage {
  border-radius: 0;
}

.cms-section__ai + .cms-section__grid {
  margin-top: 0;
}

.cms-c-heading--align-center {
  text-align: center;
}

.cms-c-heading--align-end {
  text-align: end;
}

/* Szerokość treści wyznaczają kolumny sekcji (layoutKey) - bez własnego max-width. */
.cms-c-rich-text p:first-child {
  margin-top: 0;
}
.cms-c-rich-text p:last-child {
  margin-bottom: 0;
}

.cms-c-pictogram {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  text-align: center;
}

.cms-c-pictogram--align-start {
  text-align: start;
  align-items: flex-start;
}

.cms-c-pictogram--align-end {
  text-align: end;
  align-items: flex-end;
}

.cms-c-pictogram__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-primary, #206bc4);
}

.cms-c-pictogram--sm .cms-c-pictogram__icon {
  font-size: 1.5rem;
}

.cms-c-pictogram--lg .cms-c-pictogram__icon {
  font-size: 2.75rem;
}

.cms-c-pictogram__title {
  margin: 0;
  font-weight: 600;
}

.cms-c-pictogram__desc {
  margin: 0;
  font-size: 0.92rem;
  color: var(--color-text-muted);
}

.cms-c-language-switcher {
  display: inline-flex;
}

.home-page--cms-builder.seo-cms-page .cms-c-reviews--carousel .cms-c-reviews__track {
  gap: 1.125rem;
  scrollbar-width: none;
}
.home-page--cms-builder.seo-cms-page .cms-c-reviews--carousel .cms-c-reviews__track::-webkit-scrollbar {
  display: none;
}
.home-page--cms-builder.seo-cms-page .cms-c-reviews--carousel .cms-c-reviews__slide {
  flex: 0 0 min(86vw, 20rem);
}
.home-page--cms-builder.seo-cms-page .cms-c-reviews--tiles .cms-c-reviews__grid {
  gap: 1rem;
}
@media (min-width: 992px) {
  .home-page--cms-builder.seo-cms-page .cms-c-reviews--carousel .cms-c-reviews__slide {
    flex: 0 0 calc((100% - 2.25rem) / 3);
    max-width: 22rem;
  }
}
@media (max-width: 639px) {
  .home-page--cms-builder.seo-cms-page .cms-c-features__grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
    scrollbar-width: none;
  }
  .home-page--cms-builder.seo-cms-page .cms-c-features__grid::-webkit-scrollbar {
    display: none;
  }
  .home-page--cms-builder.seo-cms-page .cms-c-feature {
    flex: 0 0 82%;
    scroll-snap-align: start;
  }
}
.home-page--cms-builder.seo-cms-page .cms-c-hero-slider .cms-slider {
  border-radius: var(--theme-comp-cms-slider-border-radius, 0);
}
.home-page--cms-builder.seo-cms-page .cms-slider-overlay--middle-left .cms-slider-overlay-inner {
  text-align: start;
  max-width: min(760px, 92vw);
}
.home-page--cms-builder.seo-cms-page #rezerwacja-cta .cms-c-cta--dark {
  border-radius: 0;
  background: var(--color-surface-strong);
}
.home-page--cms-builder.seo-cms-page #apartamenty .home-section {
  padding-block: 0;
}

/*# sourceMappingURL=cms-builder.css.map */
