/*
Theme: Seaside global spacing system
Purpose: Central editable CSS file for global layout spacing, image proportions,
responsive behavior, and reusable Seaside content modules.

Workflow:
- Use this file in Chrome DevTools Workspaces.
- Keep reusable rules global.
- Keep page-only transition fixes inside clearly marked body.page-id-* blocks.
- Do not paste generated Impreza/WPBakery framework CSS here.
*/

/* ==========================================================================
   01. Design Tokens / Breakpoints
   ========================================================================== */

:root {
  --seaside-radius: 6.2px;
  --seaside-gap-xs: 0.7rem;
  --seaside-gap-sm: 1.4rem;
  --seaside-gap-md: 2.8rem;
  --seaside-gap-lg: 4.2rem;

  --seaside-mobile-edge: 0.7rem;
  --seaside-mobile-text-inset: 2.5rem;

  --seaside-desktop-edge: 170px;
  --seaside-laptop-edge: 120px;
  --seaside-desktop-gap: 110px;
  --seaside-laptop-gap: 70px;

  --seaside-desktop-wide: min(1866px, calc(100vw - 54px));
  --seaside-desktop-content: min(1648px, calc(100vw - 272px));
  --seaside-desktop-narrow: min(1320px, calc(100vw - 600px));
}

/*
Breakpoints used on the Seaside project:
- Desktop: 1920px and up / primary PDF desktop reference
- Laptop: 1181px to 1470px
- Tablet landscape: 769px to 1180px
- Stacking: around 769px
- Smartphone: up to 768px / primary check at 390px
*/

/* ==========================================================================
   02. Base Helpers
   ========================================================================== */

body.admin-bar #wpadminbar {
  z-index: 9999999 !important;
}

body.admin-bar #wpadminbar .ab-sub-wrapper,
body.admin-bar #wpadminbar .ab-submenu {
  z-index: 10000000 !important;
}

@media (max-width: 768px) {
  body:not(.home) main#page-content {
    --seaside-mobile-hero-text-offset: 1rem;
  }

  body:not(.home) main#page-content > section.l-section:first-of-type h5,
  body:not(.home) main#page-content > section.l-section:first-of-type h1,
  body:not(.home) main#page-content .us_custom_b984e396 h5,
  body:not(.home) main#page-content .us_custom_b984e396 h1 {
    transform: translateY(var(--seaside-mobile-hero-text-offset)) !important;
  }

  main#page-content .g-cols.via_flex.valign_middle > div > .vc_column-inner,
  main#page-content .g-cols.via_grid.valign_middle > .vc_column_container {
    justify-content: flex-start !important;
  }
}

main#page-content .seaside-section,
main#page-content .sc-section,
main#page-content .sc-hero,
main#page-content .custom-2col,
main#page-content .custom-2col-right-image,
main#page-content .custom-2col-left-image {
  box-sizing: border-box;
}

main#page-content .seaside-section *,
main#page-content .sc-section *,
main#page-content .sc-hero *,
main#page-content .custom-2col *,
main#page-content .custom-2col-right-image *,
main#page-content .custom-2col-left-image * {
  box-sizing: border-box;
}

main#page-content .sc-section img,
main#page-content .sc-media-text img,
main#page-content .sc-gallery-5 img,
main#page-content .sc-feature-mosaic img,
main#page-content .sc-location-mosaic img,
main#page-content .custom-2col img,
main#page-content .custom-2col-right-image img,
main#page-content .custom-2col-left-image img {
  display: block;
}

main#page-content .sc-section .w-image-h,
main#page-content .sc-section .custom-image,
main#page-content .sc-section .custom-left-image,
main#page-content .sc-section .custom-right-image,
main#page-content .sc-section .sc-brand-story__media,
main#page-content .sc-section .img-bg-hover,
main#page-content .sc-section .has_bg_color,
main#page-content .custom-image,
main#page-content .custom-left-image,
main#page-content .custom-right-image,
main#page-content .image-form {
  border-radius: var(--seaside-radius) !important;
  overflow: hidden !important;
}

/* ==========================================================================
   03. WPBakery Grid / Gallery Gap System
   ========================================================================== */

.g-cols.via_grid {
  gap: var(--columns-gap, var(--seaside-gap-xs));
}

.g-cols.via_grid.cols_1-2,
.g-cols.via_grid.cols_2-1,
.g-cols.via_grid.cols_2-3,
.g-cols.via_grid.cols_3-2,
.g-cols.via_grid.cols_3-1,
.g-cols.via_grid.cols_1-3 {
  gap: var(--seaside-gap-xs) !important;
}

.g-cols.via_grid.cols_1-2[style*="--columns-gap:0"],
.g-cols.via_grid.cols_2-1[style*="--columns-gap:0"],
.g-cols.via_grid.cols_2-3[style*="--columns-gap:0"],
.g-cols.via_grid.cols_3-2[style*="--columns-gap:0"],
.g-cols.via_grid.cols_3-1[style*="--columns-gap:0"],
.g-cols.via_grid.cols_1-3[style*="--columns-gap:0"] {
  gap: 0 !important;
}

.g-cols.via_grid + .g-cols.via_grid {
  margin-top: var(--seaside-gap-xs);
}

.l-section.us_custom_986d8fcd {
  margin-top: var(--seaside-gap-xs) !important;
  margin-bottom: var(--seaside-gap-xs) !important;
}

.l-section.us_custom_ce9b68ab {
  margin-top: var(--seaside-gap-xs) !important;
}

.l-section:has(.g-cols.via_grid:is(.cols_2, .cols_3, .cols_1-2, .cols_2-1, .cols_2-3, .cols_3-2, .cols_3-1, .cols_1-3))
+ .l-section:not(.section-2col-wide):not(.abstand-45):has(.g-cols.via_grid:is(.cols_2, .cols_3, .cols_1-2, .cols_2-1, .cols_2-3, .cols_3-2, .cols_3-1, .cols_1-3)) {
  margin-top: var(--seaside-gap-xs) !important;
}

.l-section:has(.g-cols.via_grid:is(.cols_2, .cols_3, .cols_1-2, .cols_2-1, .cols_2-3, .cols_3-2, .cols_3-1, .cols_1-3)):has(+ .l-section:not(.section-2col-wide):not(.abstand-45):has(.g-cols.via_grid:is(.cols_2, .cols_3, .cols_1-2, .cols_2-1, .cols_2-3, .cols_3-2, .cols_3-1, .cols_1-3))) {
  margin-bottom: var(--seaside-gap-xs) !important;
}

@media (min-width: 769px) {
  .l-section:has(.g-cols.via_grid.cols_2) .g-cols.via_grid.cols_2 {
    align-items: stretch !important;
  }

  .l-section:has(.g-cols.via_grid.cols_2) .wpb_column.has_bg_color:not(.img-bg-hover):has(.wpb_text_column) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    height: auto !important;
  }
}

@media (max-width: 768px) {
  .l-section:has(.g-cols.via_grid.cols_2)
  .wpb_column.has_bg_color:not(.img-bg-hover):has(.wpb_text_column):not(.hide_on_default) {
    display: none !important;
  }
}

/* ==========================================================================
   04. Reusable Image Forms
   ========================================================================== */

.image-form,
.custom-left-image,
.custom-right-image {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--seaside-radius);
}

.image-form img,
.custom-left-image img,
.custom-right-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  display: block;
  border-radius: var(--seaside-radius);
}

/* ==========================================================================
   05. Photo + Text Intro Block (.custom-2col)
   Used for employee/intro sections.
   ========================================================================== */

.custom-2col h1,
.custom-2col h2,
.custom-2col h3,
.custom-2col h4,
.custom-2col h5,
.custom-2col h6,
.custom-2col-tablet-portrait h1,
.custom-2col-tablet-portrait h2,
.custom-2col-tablet-portrait h3,
.custom-2col-tablet-portrait h4,
.custom-2col-tablet-portrait h5,
.custom-2col-tablet-portrait h6 {
  padding-top: 0;
}

.custom-2col {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 3.5rem;
  align-items: start;
  max-width: 1300px;
  margin: 0 auto;
}

.custom-image img {
  width: clamp(380px, 20vw, 380px);
  aspect-ratio: 1 / 1;
  object-fit: cover;
  margin-top: 2.2rem;
  border-radius: var(--seaside-radius);
  display: block;
}

.custom-text h5 {
  margin: 0 0 10px 0;
}

.custom-text h2 {
  margin: 0 0 20px 0;
}

.custom-body p {
  margin: 0 0 10px 0;
}

.custom-body h6 {
  margin-top: 20px;
}

@media (min-width: 1471px) {
  .custom-text h5 {
    margin-bottom: 15px;
  }

  .custom-text h2 {
    margin-bottom: 25px;
  }

  .custom-body p {
    margin-bottom: 16px;
  }

  .custom-body h6 {
    margin-top: 30px;
  }
}

@media (min-width: 1181px) and (max-width: 1470px) {
  .custom-2col {
    width: min(1000px, calc(100% - 9rem));
    margin-left: auto;
    margin-right: auto;
    column-gap: 75px;
  }

  .custom-image {
    width: 292px;
  }
}

@media (min-width: 769px) and (max-width: 1180px) {
  .custom-2col-tablet-portrait {
    width: min(900px, calc(100% - 6rem));
    margin: 0 auto;
  }

  .custom-2col-tablet-portrait .tablet-top {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 2.5rem;
    align-items: start;
  }

  .custom-2col-tablet-portrait .tablet-image {
    width: clamp(240px, 30vw, 300px);
    height: clamp(240px, 30vw, 300px);
    aspect-ratio: 1 / 1;
    margin-top: 2.4rem;
    position: relative;
    border-radius: var(--seaside-radius);
    overflow: hidden;
  }

  .custom-2col-tablet-portrait .tablet-image img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 768px) {
  .custom-2col {
    width: calc(100% - 3.2rem);
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: var(--seaside-gap-sm);
  }

  .custom-image {
    width: min(285px, 75%);
    margin: 0 auto;
  }

  .custom-image img {
    width: 100%;
    margin-top: 0;
  }

  .custom-2col .custom-text,
  .custom-2col .custom-body {
    text-align: left;
  }

  .custom-text h5,
  .custom-text h2 {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

/* ==========================================================================
   06. Reusable Media/Text Blocks
   Text left / image right and image left / text right.
   ========================================================================== */

.custom-2col-right-image,
.custom-2col-left-image {
  display: grid;
  align-items: center;
  margin-inline: auto;
  box-sizing: border-box;
}

.custom-2col-right-image {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  column-gap: clamp(2rem, 3vw, 4rem);
  width: min(1590px, calc(100% - 10rem));
  padding-left: clamp(1.5rem, 4vw, 3rem);
  padding-right: clamp(1.5rem, 4vw, 3rem);
}

.custom-2col-left-image {
  grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.72fr);
  column-gap: clamp(2rem, 3vw, 4rem);
  max-width: 1650px;
  padding-left: clamp(1.5rem, 4vw, 3rem);
  padding-right: clamp(1.5rem, 4vw, 3rem);
}

.custom-left-text h1,
.custom-left-text h2,
.custom-left-text h3,
.custom-left-text h4,
.custom-left-text h5,
.custom-left-text h6,
.custom-right-text h1,
.custom-right-text h2,
.custom-right-text h3,
.custom-right-text h4,
.custom-right-text h5,
.custom-right-text h6 {
  margin-top: 0;
  padding-top: 0;
}

.custom-left-text h5,
.custom-right-text h5 {
  margin: 0 0 var(--seaside-gap-xs) 0;
}

.custom-left-text h2,
.custom-right-text h2 {
  margin: 0 0 1.4rem 0;
}

.custom-left-text p,
.custom-right-text p {
  margin: 0 0 1.4rem 0;
  max-width: 34rem;
}

.custom-right-image,
.custom-left-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.custom-right-image {
  justify-self: end;
}

.custom-left-image {
  max-width: 940px;
  justify-self: start;
}

@media (min-width: 1471px) {
  .custom-2col-right-image {
    width: min(1650px, calc(100% - (var(--seaside-desktop-edge) * 2)));
    grid-template-columns: minmax(0, 603px) minmax(0, 951px);
    column-gap: var(--seaside-desktop-gap);
    padding-left: 0;
    padding-right: 0;
  }

  .custom-2col-left-image {
    width: min(1650px, calc(100% - (var(--seaside-desktop-edge) * 2)));
    grid-template-columns: minmax(0, 951px) minmax(0, 604px);
    column-gap: var(--seaside-desktop-gap);
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 1181px) and (max-width: 1470px) {
  .custom-2col-right-image,
  .custom-2col-left-image {
    width: min(1230px, calc(100% - (var(--seaside-laptop-edge) * 2)));
    column-gap: var(--seaside-laptop-gap);
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 769px) and (max-width: 1180px) {
  .custom-2col-right-image,
  .custom-2col-left-image {
    grid-template-columns: 1fr 1fr;
    width: calc(100% - 5rem);
    column-gap: 2rem;
    align-items: start;
    padding-left: 0;
    padding-right: 0;
  }

  .custom-left-text p,
  .custom-right-text p {
    max-width: none;
  }
}

@media (max-width: 768px) {
  .custom-2col-right-image,
  .custom-2col-left-image {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    padding: 0 !important;
    row-gap: 1.25rem;
  }

  .custom-right-image,
  .custom-left-image {
    order: 1;
    width: calc(100vw - (var(--seaside-mobile-edge) * 2)) !important;
    max-width: none !important;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    align-self: center;
  }

  .custom-left-text,
  .custom-right-text {
    order: 2;
    text-align: left !important;
    width: calc(100% - (var(--seaside-mobile-text-inset) * 2)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .custom-left-text h5,
  .custom-left-text h2,
  .custom-left-text p,
  .custom-right-text h5,
  .custom-right-text h2,
  .custom-right-text p {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .custom-left-text h2,
  .custom-right-text h2 {
    margin-bottom: 1rem !important;
  }

  .custom-left-text .w-btn,
  .custom-right-text .w-btn {
    display: inline-flex !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* ==========================================================================
   07. Owl Carousel Defaults
   ========================================================================== */

.owl-prev::after,
.owl-next::after {
  display: none !important;
}

.owl-prev,
.owl-next {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  width: 70px !important;
  height: 70px !important;
  background-color: transparent !important;
}

@media (max-width: 768px) {
  .owl-carousel .owl-nav button.owl-prev::after,
  .owl-carousel .owl-nav button.owl-next::after {
    display: none !important;
    content: none !important;
  }

  .w-grid-list.owl-carousel {
    overflow: visible !important;
  }

  .w-grid-list.owl-carousel .owl-stage-outer {
    overflow: hidden !important;
  }

  .w-grid-list.owl-carousel .owl-nav {
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    right: 0 !important;
    transform: translateY(-50%) !important;
    pointer-events: none;
  }

  .w-grid-list.owl-carousel .owl-prev,
  .w-grid-list.owl-carousel .owl-next {
    position: absolute !important;
    pointer-events: auto;
    z-index: 10;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: 2.2rem !important;
    height: 2.2rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .w-grid-list.owl-carousel .owl-prev::before,
  .w-grid-list.owl-carousel .owl-next::before {
    font-family: fontawesome !important;
    font-weight: 900 !important;
    font-size: 1.6rem !important;
    color: rgba(40, 40, 40, 0.75) !important;
    -webkit-font-smoothing: antialiased !important;
  }

  .w-grid-list.owl-carousel .owl-prev::before {
    content: "\f053" !important;
  }

  .w-grid-list.owl-carousel .owl-next::before {
    content: "\f054" !important;
  }

  .w-grid-list.owl-carousel .owl-prev {
    left: 0.4rem !important;
  }

  .w-grid-list.owl-carousel .owl-next {
    right: 0.4rem !important;
  }
}

/* ==========================================================================
   08. Discover Component Classes
   These classes are reusable, but currently tested primarily on Discover.
   ========================================================================== */

@media (min-width: 1471px) {
  main#page-content .sc-media-text--brand,
  main#page-content #Nachhaltigkeit.sc-media-text--wide,
  main#page-content section[id="Grüne Zukunft"].sc-media-text--tall,
  main#page-content .sc-map-card,
  main#page-content .sc-text-columns {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  main#page-content .sc-media-text--brand > .l-section-h,
  main#page-content #Nachhaltigkeit.sc-media-text--wide > .l-section-h,
  main#page-content section[id="Grüne Zukunft"].sc-media-text--tall > .l-section-h {
    width: var(--seaside-desktop-content) !important;
    max-width: var(--seaside-desktop-content) !important;
    margin-inline: auto !important;
  }

  main#page-content .sc-gallery-5 > .l-section-h {
    width: var(--seaside-desktop-wide) !important;
    max-width: var(--seaside-desktop-wide) !important;
  }

  main#page-content .sc-gallery-5 > .l-section-h > .g-cols {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 13px !important;
    width: 100% !important;
  }

  main#page-content .sc-gallery-5 .w-image {
    width: 100% !important;
    aspect-ratio: 0.968 / 1 !important;
  }

  main#page-content .sc-gallery-5 .w-image-h,
  main#page-content .sc-gallery-5 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  main#page-content .sc-media-text--brand .sc-brand-story {
    width: var(--seaside-desktop-content) !important;
    max-width: var(--seaside-desktop-content) !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: 951px 590px !important;
    column-gap: 105px !important;
    align-items: center !important;
  }

  main#page-content .sc-media-text--brand .sc-brand-story__media {
    width: 951px !important;
    aspect-ratio: 950.7 / 692.2 !important;
  }

  main#page-content .sc-media-text--brand .sc-brand-story__copy {
    width: 590px !important;
    max-width: 590px !important;
  }

  main#page-content .sc-feature-mosaic > .l-section-h {
    width: var(--seaside-desktop-content) !important;
    max-width: var(--seaside-desktop-content) !important;
  }

  main#page-content .sc-feature-mosaic > .l-section-h > .g-cols.via_grid {
    width: var(--seaside-desktop-content) !important;
    max-width: var(--seaside-desktop-content) !important;
    display: grid !important;
    grid-template-columns: 603px 67px 590px 347px !important;
    gap: 13px !important;
    align-items: start !important;
  }

  main#page-content .sc-feature-mosaic .us_custom_eec93ce2 {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 603px !important;
    max-width: 603px !important;
  }

  main#page-content .sc-feature-mosaic .us_custom_eec93ce2 > .vc_column-inner {
    padding: 88px 0 0 !important;
  }

  main#page-content .sc-feature-mosaic .us_custom_1fac2af8 {
    grid-column: 3 !important;
    grid-row: 1 !important;
    width: 590px !important;
    height: 907px !important;
    min-height: 907px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  main#page-content .sc-feature-mosaic > .l-section-h > .g-cols.via_grid > .wpb_column:nth-child(3) {
    grid-column: 4 !important;
    grid-row: 1 !important;
    width: 347px !important;
    max-width: 347px !important;
  }

  main#page-content .sc-feature-mosaic > .l-section-h > .g-cols.via_grid > .wpb_column:nth-child(3) > .vc_column-inner {
    display: block !important;
    height: auto !important;
    padding: 0 !important;
  }

  main#page-content .sc-feature-mosaic .us_custom_0df7041b.w-image {
    width: 347px !important;
    height: 519px !important;
    min-height: 519px !important;
    max-height: 519px !important;
    margin: 0 !important;
  }

  main#page-content .sc-feature-mosaic .us_custom_fb93e742.w-image {
    width: 347px !important;
    height: 375px !important;
    min-height: 375px !important;
    max-height: 375px !important;
    margin: 13px 0 0 !important;
  }

  main#page-content .sc-feature-mosaic .us_custom_0df7041b .w-image-h,
  main#page-content .sc-feature-mosaic .us_custom_fb93e742 .w-image-h,
  main#page-content .sc-feature-mosaic .us_custom_0df7041b img,
  main#page-content .sc-feature-mosaic .us_custom_fb93e742 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  main#page-content .sc-map-card > .l-section-h {
    width: calc(100vw - 54px) !important;
    max-width: calc(100vw - 54px) !important;
    margin-inline: auto !important;
  }

  main#page-content .sc-map-card > .l-section-h > .g-cols {
    width: 1781px !important;
    max-width: 1781px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    display: grid !important;
    grid-template-columns: 1084px 590px !important;
    column-gap: 107px !important;
    align-items: center !important;
  }

  main#page-content .sc-text-columns > .l-section-h {
    width: 1320px !important;
    max-width: 1320px !important;
    margin-inline: auto !important;
  }

  main#page-content .sc-text-columns .g-cols.wpb_row.cols_2 {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 625px) minmax(0, 625px) !important;
    column-gap: 70px !important;
  }

  main#page-content .sc-media-text .custom-left-text h2,
  main#page-content .sc-media-text .custom-right-text h2,
  main#page-content .sc-media-text--brand .sc-brand-story h2 {
    margin-bottom: 22px !important;
  }

  main#page-content .sc-media-text .custom-left-text p,
  main#page-content .sc-media-text .custom-right-text p {
    margin-bottom: 22px !important;
  }
}

@media (min-width: 769px) and (max-width: 1470px) {
  main#page-content {
    --seaside-desktop-content: min(1230px, calc(100vw - 140px));
    --seaside-desktop-wide: calc(100vw - 54px);
  }
}

@media (max-width: 768px) {
  main#page-content {
    --seaside-mobile-edge: 0.7rem;
    --seaside-mobile-text-inset: clamp(2.1rem, 10vw, 2.5rem);
  }

  main#page-content .sc-hero {
    padding-left: var(--seaside-mobile-edge) !important;
    padding-right: var(--seaside-mobile-edge) !important;
  }

  main#page-content .sc-media-text--brand .sc-brand-story,
  main#page-content .sc-media-text .custom-2col,
  main#page-content .sc-media-text .custom-2col-right-image,
  main#page-content .sc-media-text .custom-2col-left-image {
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 1.4rem !important;
    padding: 0 !important;
    margin-inline: 0 !important;
  }

  main#page-content .sc-media-text .custom-image,
  main#page-content .sc-media-text .custom-left-image,
  main#page-content .sc-media-text .custom-right-image,
  main#page-content .sc-media-text--brand .sc-brand-story__media {
    width: calc(100vw - (var(--seaside-mobile-edge) * 2)) !important;
    max-width: none !important;
    order: 1 !important;
  }

  main#page-content .sc-media-text .custom-text,
  main#page-content .sc-media-text .custom-left-text,
  main#page-content .sc-media-text .custom-right-text,
  main#page-content .sc-media-text--brand .sc-brand-story__copy {
    width: calc(100% - (var(--seaside-mobile-text-inset) * 2)) !important;
    max-width: none !important;
    margin-inline: auto !important;
    padding: 0 !important;
    order: 2 !important;
    text-align: left !important;
  }

  main#page-content .sc-gallery-5 > .l-section-h,
  main#page-content .sc-map-card > .l-section-h,
  main#page-content .sc-feature-mosaic > .l-section-h,
  main#page-content .sc-post-teaser-row > .l-section-h,
  main#page-content .sc-location-mosaic > .l-section-h {
    width: calc(100% - (var(--seaside-mobile-edge) * 2)) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  main#page-content .sc-section-heading > .l-section-h,
  main#page-content .sc-text-columns > .l-section-h {
    width: calc(100vw - (var(--seaside-mobile-text-inset) * 2)) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }
}

/* ==========================================================================
   09. Temporary Page Fixes
   Keep these narrow. Move rules upward when they prove reusable.
   ========================================================================== */

@media (min-width: 1471px) {
  body.page-id-199 main#page-content .sc-staff-intro .custom-2col {
    width: 1416px !important;
    max-width: none !important;
    margin-left: -13px !important;
    margin-right: 0 !important;
    grid-template-columns: 380px 951px !important;
    column-gap: 85px !important;
  }

  body.page-id-199 main#page-content .sc-staff-intro .custom-image {
    width: 380px !important;
    max-width: 380px !important;
    transform: none !important;
  }

  body.page-id-199 main#page-content .sc-staff-intro .custom-text {
    width: 951px !important;
    max-width: 951px !important;
    transform: none !important;
  }

  body.page-id-199 main#page-content .sc-feature-mosaic {

    margin-bottom: 2rem;
  }

  body.page-id-199 main#page-content .sc-feature-mosaic.abstand-45 .us_custom_fb93e742.w-image {
    margin-top: 0 !important;
  }

  body.page-id-199 main#page-content section[id="Grüne Zukunft"].sc-media-text--tall {
    margin-top: -185px !important;
  }
}
/* Discover / Mitarbeiterinfo: Abstand nach unten zur folgenden Bilderreihe 
body.page-id-199 .l-section:has(.custom-2col .custom-body h6),
body.page-id-199 .l-section:has(.custom-2col-tablet-portrait .tablet-body h6) {
  padding-top: 90px !important;
  padding-bottom: clamp(64px, 9vw, 90px) !important;
}
.us_custom_503d46ae {
    margin-top: 1rem !important;
    margin-bottom: 5.5rem !important;
}*/

/* Discover / UNESCO mobile-tablet mosaic: prevent the visible tablet module from reserving empty right columns. */
@media (min-width: 769px) and (max-width: 1180px) {
  html body.page-id-1300 main#page-content .w-html.hide_on_default.hide_on_laptops.hide_on_mobiles .tablet-headings h5,
  html body.page-id-1300 main#page-content .w-html.hide_on_default.hide_on_laptops.hide_on_mobiles .tablet-headings h2,
  html body.page-id-1300 main#page-content .w-html.hide_on_default.hide_on_laptops.hide_on_mobiles .tablet-body h6 {
    padding-top: 0 !important;
  }

  body.page-id-199 main#page-content section:not(.sc-media-text--brand):has(.us_custom_0545c274):has(.us_custom_d2e42800) > .l-section-h,
  body.page-id-199 main#page-content section:not(.sc-media-text--brand):has(.us_custom_0545c274):has(.us_custom_d2e42800) > .l-section-h > .g-cols.cols_custom {
    width: calc(100vw - 54px) !important;
    max-width: calc(100vw - 54px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page-id-199 main#page-content section:not(.sc-media-text--brand):has(.us_custom_0545c274):has(.us_custom_d2e42800) > .l-section-h > .g-cols.cols_custom {
    grid-template-columns: 1fr !important;
  }

  body.page-id-199 main#page-content section:not(.sc-media-text--brand):has(.us_custom_0545c274):has(.us_custom_d2e42800) > .l-section-h > .g-cols.cols_custom > .wpb_column {
    width: 100% !important;
    max-width: none !important;
  }
}

/* Discover: late hard guard for old fixed WPBakery rows in the desktop-to-laptop transition. */
@media (min-width: 1471px) and (max-width: 1919px) {
  body.page-id-199 main#page-content section.sc-gallery-5.l-section > .l-section-h.i-cf,
  body.page-id-199 main#page-content section.sc-post-teaser-row.l-section > .l-section-h.i-cf,
  body.page-id-199 main#page-content section.sc-location-mosaic.l-section > .l-section-h.i-cf {
    width: calc(100vw - 54px) !important;
    max-width: calc(100vw - 54px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page-id-199 main#page-content section.sc-gallery-5.l-section > .l-section-h.i-cf > .g-cols.via_grid.cols_5 {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 13px !important;
  }

  body.page-id-199 main#page-content section.sc-gallery-5.l-section .wpb_column,
  body.page-id-199 main#page-content section.sc-gallery-5.l-section .vc_column-inner,
  body.page-id-199 main#page-content section.sc-gallery-5.l-section .w-image {
    width: auto !important;
    max-width: none !important;
  }

  body.page-id-199 main#page-content section.sc-post-teaser-row.l-section > .l-section-h.i-cf > .g-cols.via_grid {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)) !important;
    gap: 13px !important;
  }

  body.page-id-199 main#page-content section.sc-post-teaser-row.l-section .wpb_column,
  body.page-id-199 main#page-content section.sc-post-teaser-row.l-section .vc_column-inner {
    width: auto !important;
    max-width: none !important;
  }

  body.page-id-199 main#page-content section.sc-post-teaser-row.l-section .w-image {
    width: 100% !important;
    max-width: none !important;
  }

  body.page-id-199 main#page-content section.sc-post-teaser-row.l-section .w-image.us_custom_07693502,
  body.page-id-199 main#page-content section.sc-post-teaser-row.l-section .w-image.us_custom_07693502 .w-image-h,
  body.page-id-199 main#page-content section.sc-post-teaser-row.l-section .w-image.us_custom_07693502 img {
    width: 100% !important;
    max-width: none !important;
  }

  body.page-id-199 main#page-content section.sc-location-mosaic.l-section > .l-section-h.i-cf > .g-cols.via_grid {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0, 1125fr) minmax(0, 728fr) !important;
    gap: 13px !important;
  }

  body.page-id-199 main#page-content section.sc-location-mosaic.l-section .g-cols.cols_2-1 {
    grid-template-columns: minmax(0, 650fr) minmax(0, 462fr) !important;
    gap: 13px !important;
  }

  body.page-id-199 main#page-content section.sc-location-mosaic.l-section .g-cols.cols_1-2 {
    grid-template-columns: minmax(0, 494fr) minmax(0, 615fr) !important;
    gap: 13px !important;
  }

  body.page-id-199 main#page-content section.sc-location-mosaic.l-section .wpb_column,
  body.page-id-199 main#page-content section.sc-location-mosaic.l-section .vc_column-inner,
  body.page-id-199 main#page-content section.sc-location-mosaic.l-section .img-bg-hover {
    width: auto !important;
    max-width: none !important;
  }
}

/* Discover: fluid guard between full desktop and laptop.
   Prevents fixed 1920px module grids from being clipped on the right while
   narrowing the browser from desktop down to the 1470px laptop breakpoint. */
@media (min-width: 1471px) and (max-width: 1919px) {
  body.page-id-199 main#page-content {
    --seaside-transition-wide: calc(100vw - 54px);
    --seaside-transition-content: min(1648px, calc(100vw - 272px));
    --seaside-transition-gap: clamp(70px, 5.5vw, 105px);
  }

  body.page-id-199 main#page-content .sc-media-text--brand .sc-brand-story,
  body.page-id-199 main#page-content #Nachhaltigkeit.sc-media-text--wide .custom-2col-right-image,
  body.page-id-199 main#page-content section[id="Grüne Zukunft"].sc-media-text--tall .custom-2col-left-image {
    width: var(--seaside-transition-content) !important;
    max-width: var(--seaside-transition-content) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page-id-199 main#page-content .sc-media-text--brand .sc-brand-story {
    grid-template-columns: minmax(0, 951fr) minmax(0, 590fr) !important;
    column-gap: var(--seaside-transition-gap) !important;
  }

  body.page-id-199 main#page-content .sc-media-text--brand .sc-brand-story__media,
  body.page-id-199 main#page-content .sc-media-text--brand .sc-brand-story__copy {
    width: 100% !important;
    max-width: none !important;
  }

  body.page-id-199 main#page-content #Nachhaltigkeit.sc-media-text--wide .custom-2col-right-image {
    grid-template-columns: minmax(0, 603fr) minmax(0, 67fr) minmax(0, 951fr) !important;
    column-gap: 0 !important;
  }

  body.page-id-199 main#page-content #Nachhaltigkeit.sc-media-text--wide .custom-left-text,
  body.page-id-199 main#page-content #Nachhaltigkeit.sc-media-text--wide .custom-right-image {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  body.page-id-199 main#page-content #Nachhaltigkeit.sc-media-text--wide .custom-left-text {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.page-id-199 main#page-content #Nachhaltigkeit.sc-media-text--wide .custom-right-image {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  body.page-id-199 main#page-content section[id="Grüne Zukunft"].sc-media-text--tall .custom-2col-left-image {
    grid-template-columns: minmax(0, 951fr) minmax(0, 91fr) minmax(0, 604fr) !important;
    column-gap: 0 !important;
  }

  body.page-id-199 main#page-content section[id="Grüne Zukunft"].sc-media-text--tall .custom-left-image,
  body.page-id-199 main#page-content section[id="Grüne Zukunft"].sc-media-text--tall .custom-right-text {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  body.page-id-199 main#page-content section[id="Grüne Zukunft"].sc-media-text--tall .custom-left-image {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.page-id-199 main#page-content section[id="Grüne Zukunft"].sc-media-text--tall .custom-right-text {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  body.page-id-199 main#page-content section[id="Grüne Zukunft"].sc-media-text--tall .custom-right-text h2 {
    max-width: 100% !important;
    overflow-wrap: normal !important;
  }

  body.page-id-199 main#page-content .sc-staff-intro .custom-2col {
    width: min(1416px, calc(100vw - 180px)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    grid-template-columns: minmax(280px, 380fr) minmax(0, 951fr) !important;
    column-gap: clamp(60px, 5vw, 85px) !important;
  }

  body.page-id-199 main#page-content .sc-staff-intro .custom-image,
  body.page-id-199 main#page-content .sc-staff-intro .custom-text {
    width: 100% !important;
    max-width: none !important;
  }
}
@media (min-width: 1471px) {
  body.page-id-199 main#page-content .sc-location-mosaic .g-cols.cols_1-2 {
    grid-template-columns: 494px 615px !important;
    gap: 13px !important;
    margin-top: 0;
  }
}

/* ==========================================================================
   Stay Villa Detail Pages / Mobile System
   Applies the tested Lagoon Villa mobile layout to all 10 Stay villa detail pages.
   Page IDs:
   1353 Lagoon Villa
   1356 Beach Villa
   1358 Private Pool Villa
   1360 Ocean Pool Villa
   1362 Beach Pool Villa
   1364 Two Bedroom Interconnecting Beach Villa
   1367 Three Bedroom Interconnecting Beach Pool Villa
   1369 Two Bedroom Water Villa with Pool
   1371 Two Bedroom Beach Villa with Pool
   1373 Two Bedroom Rockstar Villa
   ========================================================================== */

@media (max-width: 768px) {
  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content {
    --villa-mobile-edge: 0.95rem;
    --villa-mobile-gap: 0.7rem;
    --villa-mobile-radius: 6.2px;
    --villa-card-text-x: 1.9rem;
    --villa-card-text-width: min(263px, calc(100% - (2 * var(--villa-card-text-x))));
    --villa-card-min: 338px;
    --villa-carousel-card-width: min(285px, calc(100vw - 5.16rem));
    --villa-carousel-pad: 2rem;
    --villa-carousel-outer-width: calc(var(--villa-carousel-card-width) + (2 * var(--villa-carousel-pad)));
    --villa-carousel-text-x: 1.5rem;
    --villa-carousel-image-height: calc(var(--villa-carousel-card-width) * 4 / 3);
    --villa-mobile-heading-width: min(305px, 100%);
    /* --villa-copy-size: 17px; */
    /* --villa-copy-line: 25.5px; */
    /* --villa-title-size: 22.374px; */
    /* --villa-title-line: 26.8488px; */
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(3) {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: var(--villa-mobile-gap) !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(3) > .l-section-h {
    width: calc(100vw - (2 * var(--villa-mobile-edge))) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(3) .g-cols.via_grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    --columns-gap: 0 !important;
    gap: 0 !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(3) .wpb_text_column {
    width: var(--villa-mobile-heading-width) !important;
    max-width: var(--villa-mobile-heading-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(3) .wpb_text_column:has(p) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(3) h5,
  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(3) h2,
  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(3) p {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: center !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(3) p {
    /* font-size: var(--villa-copy-size) !important; */
    /* line-height: var(--villa-copy-line) !important; */
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(n+4) {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: var(--villa-mobile-gap) !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(n+4) > .l-section-h {
    width: calc(100vw - (2 * var(--villa-mobile-edge))) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(n+4) .g-cols.via_grid {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    --columns-gap: var(--villa-mobile-gap) !important;
    gap: var(--villa-mobile-gap) !important;
    row-gap: var(--villa-mobile-gap) !important;
    column-gap: var(--villa-mobile-gap) !important;
    grid-row-gap: var(--villa-mobile-gap) !important;
    grid-column-gap: var(--villa-mobile-gap) !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(n+4) .wpb_column.has_bg_color {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
    border-radius: var(--villa-mobile-radius) !important;
    overflow: hidden !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(n+4) .g-cols.via_grid > .wpb_column.has_bg_color + .wpb_column.has_bg_color {
    margin-top: -0.09rem !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(n+4):not(:nth-of-type(6)) .wpb_column.has_bg_color:not(.sticky-footer-column) {
    min-height: var(--villa-card-min) !important;
    height: var(--villa-card-min) !important;
    padding: 0 !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content .sticky-footer-column.has_bg_color {
    min-height: var(--villa-card-min) !important;
    height: auto !important;
    padding: 0 !important;
    display: flex !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content .sticky-footer-column.has_bg_color > .vc_column-inner {
    width: 100% !important;
    min-height: var(--villa-card-min) !important;
    padding: 49px 0 35px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content .sticky-footer-column > .vc_column-inner > .wpb_text_column {
    position: static !important;
    inset: auto !important;
    width: var(--villa-card-text-width) !important;
    max-width: none !important;
    margin-left: var(--villa-card-text-x) !important;
    margin-right: var(--villa-card-text-x) !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content .sticky-footer-column > .vc_column-inner > .wpb_text_column:first-of-type {
    order: 1 !important;
    margin-top: 0 !important;
    margin-bottom: 1.25rem !important;
    /* font-size: var(--villa-copy-size) !important; */
    /* line-height: var(--villa-copy-line) !important; */
    /* font-weight: 400 !important; */
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content .sticky-footer-column > .vc_column-inner > .wpb_text_column:first-of-type p {
    margin: 0 !important;
    /* font-size: var(--villa-copy-size) !important; */
    /* line-height: var(--villa-copy-line) !important; */
    /* font-weight: 400 !important; */
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content .sticky-footer-column > .vc_column-inner > .wpb_text_column:last-of-type {
    order: 2 !important;
    margin-top: auto !important;
    margin-bottom: 0 !important;
    /* font-size: var(--villa-title-size) !important; */
    /* line-height: var(--villa-title-line) !important; */
    /* font-weight: 700 !important; */
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content .sticky-footer-column > .vc_column-inner > .wpb_text_column:last-of-type h3 {
    margin: 0 !important;
    /* font-size: var(--villa-title-size) !important; */
    /* line-height: var(--villa-title-line) !important; */
    /* font-weight: 700 !important; */
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color {
    padding: 0 !important;
    height: auto !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color > .vc_column-inner {
    padding: 49px 0 35px !important;
    box-sizing: border-box !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color > .vc_column-inner > .wpb_text_column:first-of-type,
  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color .g-cols.wpb_row {
    width: var(--villa-card-text-width) !important;
    max-width: none !important;
    margin-left: var(--villa-card-text-x) !important;
    margin-right: var(--villa-card-text-x) !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color > .vc_column-inner > .wpb_text_column:first-of-type {
    margin-top: 0 !important;
    margin-bottom: 1.25rem !important;
    /* font-size: var(--villa-title-size) !important; */
    /* line-height: var(--villa-title-line) !important; */
    /* font-weight: 700 !important; */
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color > .vc_column-inner > .wpb_text_column:first-of-type h3 {
    margin: 0 !important;
    /* font-size: var(--villa-title-size) !important; */
    /* line-height: var(--villa-title-line) !important; */
    /* font-weight: 700 !important; */
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color .g-cols.wpb_row {
    row-gap: 0.7rem !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color .g-cols.wpb_row .wpb_text_column,
  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color .g-cols.wpb_row ul,
  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color .g-cols.wpb_row li {
    /* font-size: var(--villa-copy-size) !important; */
    /* line-height: var(--villa-copy-line) !important; */
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color .g-cols.wpb_row ul {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: 1.1rem !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section:nth-of-type(6) .wpb_column.has_bg_color .g-cols.wpb_row li {
    margin-bottom: 0.1rem !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 4.2rem !important;
    padding-bottom: 0 !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .wpb_text_column h5,
  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .wpb_text_column h2 {
    width: var(--villa-mobile-heading-width) !important;
    max-width: var(--villa-mobile-heading-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .w-grid-list {
    position: relative !important;
    width: var(--villa-carousel-outer-width) !important;
    max-width: var(--villa-carousel-outer-width) !important;
    margin: calc(-1 * var(--villa-carousel-pad)) !important;
    overflow: visible !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .owl-stage-outer {
    width: var(--villa-carousel-outer-width) !important;
    max-width: var(--villa-carousel-outer-width) !important;
    overflow: hidden !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .owl-item,
  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .w-grid-item {
    width: var(--villa-carousel-outer-width) !important;
    max-width: var(--villa-carousel-outer-width) !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .w-grid-item {
    padding: var(--villa-carousel-pad) !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .w-separator + .w-grid {
    width: var(--villa-carousel-card-width) !important;
    max-width: var(--villa-carousel-card-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 2.4rem !important;
    overflow: visible !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .w-grid-item-h,
  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .w-vwrapper.usg_vwrapper_1 {
    width: var(--villa-carousel-card-width) !important;
    max-width: var(--villa-carousel-card-width) !important;
    border-radius: var(--villa-mobile-radius) !important;
    overflow: hidden !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .w-post-elm.post_image,
  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .w-post-elm.post_image img {
    width: 100% !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .w-post-elm.post_image {
    height: var(--villa-carousel-image-height) !important;
  }

  body:is(.page-id-1353, .page-id-1356, .page-id-1358, .page-id-1360, .page-id-1362, .page-id-1364, .page-id-1367, .page-id-1369, .page-id-1371, .page-id-1373) main#page-content > section.l-section.width_custom .w-post-elm.post_title.fix-title-2 {
    width: calc(100% - (2 * var(--villa-carousel-text-x))) !important;
    margin: 0px var(--villa-carousel-text-x) 100px !important;
    /* font-size: var(--villa-title-size) !important; */
    /* line-height: var(--villa-title-line) !important; */
    /* font-weight: 700 !important; */
  }

  /* Globale OWL-Navigation – einheitliche Pfeile */
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next {
  display: flex !important;
  position: absolute !important;
  width: 70px !important;
  height: 70px !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 70px 70px !important;
  background-color: transparent !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px !important;
  z-index: 5 !important;
}

/* Pfeil links */
.owl-carousel .owl-nav .owl-prev {
  background-image: url("/wp-content/uploads/2026/02/Pfeil-links.svg") !important;
}

/* Pfeil rechts */
.owl-carousel .owl-nav .owl-next {
  background-image: url("/wp-content/uploads/2026/02/Pfeil-rechts.svg") !important;
}

/* Alte Icons ausblenden */
.owl-carousel .owl-nav .owl-prev::before,
.owl-carousel .owl-nav .owl-next::before,
.owl-carousel .owl-nav .owl-prev::after,
.owl-carousel .owl-nav .owl-next::after,
.owl-carousel .owl-nav .owl-prev i,
.owl-carousel .owl-nav .owl-next i,
.owl-carousel .owl-nav .owl-prev span,
.owl-carousel .owl-nav .owl-next span {
  content: none !important;
  display: none !important;
}
/* Abstand der Pfeile vom Carousel */
.owl-carousel .owl-nav .owl-prev {
  left: -17px !important;
}

.owl-carousel .owl-nav .owl-next {
  right: -17px !important;
}
}
/* =========================================================
   STAY / VILLA CAROUSEL – DESKTOP PFEILE AUSSERHALB
   Smartphone bleibt unverändert.
   ========================================================= */

@media (min-width: 769px) {

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content .w-grid.us_post_carousel .w-grid-list.owl-carousel {
		overflow: visible !important;
	}

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content .w-grid.us_post_carousel .owl-stage-outer {
		overflow: hidden !important;
	}

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content .w-grid.us_post_carousel .owl-nav button.owl-prev {
		left: -7px !important;
	}

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content .w-grid.us_post_carousel .owl-nav button.owl-next {
		right: -7px !important;
	}
}
/* =========================================================
   STAY / VILLA CAROUSEL – MOBILE EINHEITLICHE TITELHÖHE
   ========================================================= */

@media (max-width: 768px) {

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content {
		--villa-carousel-title-height: 190px;
		--villa-carousel-title-top: 1.6rem;
		--villa-carousel-title-bottom: 1.4rem;
	}

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content > section.l-section.width_custom .w-grid.us_post_carousel .w-vwrapper.usg_vwrapper_1 {
		display: grid !important;
		grid-template-rows: var(--villa-carousel-image-height) var(--villa-carousel-title-height) !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content > section.l-section.width_custom .w-grid.us_post_carousel .w-post-elm.post_image,
	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content > section.l-section.width_custom .w-grid.us_post_carousel .w-post-elm.post_image img {
		border-radius: var(--villa-mobile-radius, 6.2px) !important;
		overflow: hidden !important;
	}

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content > section.l-section.width_custom .w-grid.us_post_carousel .w-post-elm.post_title.fix-title-2 {
		display: block !important;
		width: calc(100% - (2 * var(--villa-carousel-text-x))) !important;
		height: var(--villa-carousel-title-height) !important;
		min-height: var(--villa-carousel-title-height) !important;
		max-height: var(--villa-carousel-title-height) !important;

		margin: 0 var(--villa-carousel-text-x) !important;
		padding-top: var(--villa-carousel-title-top) !important;
		padding-bottom: var(--villa-carousel-title-bottom) !important;

		box-sizing: border-box !important;
		overflow: visible !important;
	}
}
/* =========================================================
   STAY / VILLA CAROUSEL – MOBILE FINAL:
   lange Titel + sichtbare Navi-Pfeile
   ========================================================= */

@media (max-width: 768px) {

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content {
		--villa-carousel-title-height: 190px;
		--villa-carousel-title-top: 2rem;
		--villa-carousel-title-bottom: 1.3rem;
		--villa-carousel-mobile-arrow-size: 100px;
        --villa-carousel-mobile-arrow-offset: 40px;
	}

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content > section.l-section.width_custom .w-grid.us_post_carousel .w-vwrapper.usg_vwrapper_1 {
		display: grid !important;
		grid-template-rows: var(--villa-carousel-image-height) var(--villa-carousel-title-height) !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content > section.l-section.width_custom .w-grid.us_post_carousel .w-post-elm.post_title.fix-title-2 {
		display: block !important;
		width: calc(100% - (2 * var(--villa-carousel-text-x))) !important;
		height: var(--villa-carousel-title-height) !important;
		min-height: var(--villa-carousel-title-height) !important;
		max-height: var(--villa-carousel-title-height) !important;

		margin: 0 var(--villa-carousel-text-x) !important;
		padding-top: var(--villa-carousel-title-top) !important;
		padding-bottom: var(--villa-carousel-title-bottom) !important;

		box-sizing: border-box !important;
		overflow: hidden !important;

		font-size: 27px !important;
		line-height: 1.12 !important;
	}

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content > section.l-section.width_custom .w-grid.us_post_carousel .owl-nav button.owl-prev,
	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content > section.l-section.width_custom .w-grid.us_post_carousel .owl-nav button.owl-next {
		width: var(--villa-carousel-mobile-arrow-size) !important;
		height: var(--villa-carousel-mobile-arrow-size) !important;
		background-size: var(--villa-carousel-mobile-arrow-size) var(--villa-carousel-mobile-arrow-size) !important;
	}

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content > section.l-section.width_custom .w-grid.us_post_carousel .owl-nav button.owl-prev {
		left: var(--villa-carousel-mobile-arrow-offset) !important;
	}

	body:is(
		.page-id-202,
		.parent-pageid-202,
		.page-id-7737,
		.parent-pageid-7737,
		.page-id-1353,
		.page-id-1356,
		.page-id-1358,
		.page-id-1360,
		.page-id-1362,
		.page-id-1364,
		.page-id-1367,
		.page-id-1369,
		.page-id-1371,
		.page-id-1373
	) main#page-content > section.l-section.width_custom .w-grid.us_post_carousel .owl-nav button.owl-next {
		right: var(--villa-carousel-mobile-arrow-offset) !important;
	}
}

/* ==========================================================================
   Happenings page polish
   Scope: only /happenings/ (body.page-id-210)
   ========================================================================== */

/* Restore the first offer row: WPBakery background columns had collapsed to 0px height. */
body.page-id-210 main#page-content > section.l-section:nth-of-type(4) .img-bg-hover {
  aspect-ratio: 1.525 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Keep the first and second offer rows visually connected with the PDF-like small gap. */
body.page-id-210 main#page-content > section.l-section:nth-of-type(5) {
  margin-top: 0.7rem !important;
}

/* Smartphone: offer cards should not collapse into shallow strips. */
@media (max-width: 768px) {
  body.page-id-210 main#page-content > section.l-section:nth-of-type(4) .img-bg-hover,
  body.page-id-210 main#page-content > section.l-section:nth-of-type(5) .img-bg-hover {
    width: 100% !important;
    aspect-ratio: 1.525 / 1 !important;
    height: auto !important;
    min-height: 0 !important;
    margin-top: 0 !important;
  }

  body.page-id-210 main#page-content > section.l-section:nth-of-type(4) .g-cols.via_grid,
  body.page-id-210 main#page-content > section.l-section:nth-of-type(5) .g-cols.via_grid {
    row-gap: 0.7rem !important;
  }

  /* Let the final image/text section use the normal mobile content width. */
  body.page-id-210 main#page-content .section-2col-wide.width_custom {
    width: calc(100vw - 1.4rem) !important;
    max-width: calc(100vw - 1.4rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 2.8rem !important;
    padding-bottom: 2.8rem !important;
  }

  body.page-id-210 main#page-content .section-2col-wide.width_custom > .l-section-h {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-210 main#page-content .section-2col-wide.width_custom .g-cols.via_grid {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: 1fr !important;
    row-gap: 1.4rem !important;
  }

  body.page-id-210 main#page-content .section-2col-wide.width_custom .wpb_column,
  body.page-id-210 main#page-content .section-2col-wide.width_custom .vc_column-inner,
  body.page-id-210 main#page-content .section-2col-wide.width_custom .w-image,
  body.page-id-210 main#page-content .section-2col-wide.width_custom .w-image-h {
    width: 100% !important;
    max-width: none !important;
  }

  body.page-id-210 main#page-content .section-2col-wide.width_custom .us_custom_c10dabff {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-id-210 main#page-content .section-2col-wide.width_custom .w-image-h {
    display: block !important;
    overflow: hidden !important;
    border-radius: var(--seaside-radius) !important;
  }

  body.page-id-210 main#page-content .section-2col-wide.width_custom .w-image img,
  body.page-id-210 main#page-content .section-2col-wide.width_custom .w-image.has_ratio img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.page-id-210 main#page-content .section-2col-wide.width_custom .us_custom_c10dabff > .vc_column-inner {
    padding-left: 1.4rem !important;
    padding-right: 1.4rem !important;
  }
}

/* ==========================================================================
   Experiences page polish
   Scope: only /experiences/ (body.page-id-208)
   ========================================================================== */

@media (max-width: 768px) {
  /* The final wedding block uses WPBakery width_custom values that make it too narrow on phones. */
  body.page-id-208 main#page-content .section-2col-wide.width_custom {
    width: calc(100vw - 1.4rem) !important;
    max-width: calc(100vw - 1.4rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-top: 2.8rem !important;
    padding-bottom: 2.8rem !important;
  }

  /* Keep the image/text wedding module on the same mobile content grid as the image tiles above. */
  body.page-id-208 main#page-content .section-2col-wide.width_custom > .l-section-h,
  body.page-id-208 main#page-content .section-2col-wide.width_custom .g-cols.via_grid,
  body.page-id-208 main#page-content .section-2col-wide.width_custom .wpb_column,
  body.page-id-208 main#page-content .section-2col-wide.width_custom .vc_column-inner,
  body.page-id-208 main#page-content .section-2col-wide.width_custom .w-image,
  body.page-id-208 main#page-content .section-2col-wide.width_custom .w-image-h {
    width: 100% !important;
    max-width: none !important;
  }

  body.page-id-208 main#page-content .section-2col-wide.width_custom > .l-section-h {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-208 main#page-content .section-2col-wide.width_custom .g-cols.via_grid {
    grid-template-columns: 1fr !important;
    row-gap: 1.4rem !important;
  }

  body.page-id-208 main#page-content .section-2col-wide.width_custom .us_custom_c10dabff {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-id-208 main#page-content .section-2col-wide.width_custom .us_custom_c10dabff > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-208 main#page-content .section-2col-wide.width_custom .w-image-h {
    display: block !important;
    overflow: hidden !important;
    border-radius: var(--seaside-radius) !important;
  }

  body.page-id-208 main#page-content .section-2col-wide.width_custom .w-image img,
  body.page-id-208 main#page-content .section-2col-wide.width_custom .w-image.has_ratio img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.page-id-208 main#page-content .section-2col-wide.width_custom .wpb_text_column {
    width: calc(100% - 2.8rem) !important;
    max-width: calc(100% - 2.8rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ==========================================================================
   Activities Dive Butler page polish
   Scope: only /experiences/activities-dive-butler/ (body.page-id-1316)
   ========================================================================== */

@media (max-width: 768px) {
  /* Keep WPBakery custom-width content sections from becoming narrow text strips on phones. */
  body.page-id-1316 main#page-content .abstand-45.width_custom,
  body.page-id-1316 main#page-content .us_custom_7588493b.width_custom,
  body.page-id-1316 main#page-content .section-2col-wide.width_custom {
    width: calc(100vw - 1.4rem) !important;
    max-width: calc(100vw - 1.4rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Remove inherited inner offsets so the image/text modules align with the mobile image grid. */
  body.page-id-1316 main#page-content .abstand-45.width_custom > .l-section-h,
  body.page-id-1316 main#page-content .us_custom_7588493b.width_custom > .l-section-h,
  body.page-id-1316 main#page-content .section-2col-wide.width_custom > .l-section-h {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-id-1316 main#page-content .abstand-45.width_custom .g-cols.via_grid,
  body.page-id-1316 main#page-content .us_custom_7588493b.width_custom .g-cols.via_grid,
  body.page-id-1316 main#page-content .section-2col-wide.width_custom .g-cols.via_grid {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: 1fr !important;
    row-gap: 1.4rem !important;
  }

  body.page-id-1316 main#page-content .abstand-45.width_custom .wpb_column,
  body.page-id-1316 main#page-content .abstand-45.width_custom .vc_column-inner,
  body.page-id-1316 main#page-content .section-2col-wide.width_custom .wpb_column,
  body.page-id-1316 main#page-content .section-2col-wide.width_custom .vc_column-inner {
    width: 100% !important;
    max-width: none !important;
  }

  /* The second image/text block overlapped the previous text on mobile; give it a clean section break. */
  body.page-id-1316 main#page-content .us_custom_f6b9c1a7.abstand-45 {
    margin-top: 2.1rem !important;
  }

  /* Keep mobile image containers full-width and unwarped inside the text/image modules. */
  body.page-id-1316 main#page-content .abstand-45.width_custom .has_bg_color,
  body.page-id-1316 main#page-content .section-2col-wide.width_custom .w-image,
  body.page-id-1316 main#page-content .section-2col-wide.width_custom .w-image-h {
    width: 100% !important;
    max-width: none !important;
    border-radius: var(--seaside-radius) !important;
    overflow: hidden !important;
  }

  /* The final manta image should keep the PDF-like landscape crop, not a square mobile crop. */
  body.page-id-1316 main#page-content .us_custom_70e3ebad.section-2col-wide .w-image,
  body.page-id-1316 main#page-content .us_custom_70e3ebad.section-2col-wide .w-image-h {
    aspect-ratio: 1.5 / 1 !important;
    height: auto !important;
  }

  body.page-id-1316 main#page-content .section-2col-wide.width_custom .w-image img,
  body.page-id-1316 main#page-content .section-2col-wide.width_custom .w-image.has_ratio img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Keep long recommendation and manta texts readable, but still slightly inset like the mobile PDFs. */
  body.page-id-1316 main#page-content .us_custom_7588493b.width_custom .wpb_text_column,
  body.page-id-1316 main#page-content .section-2col-wide.width_custom .wpb_text_column {
    width: calc(100% - 2.8rem) !important;
    max-width: calc(100% - 2.8rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ==========================================================================
   Global mobile left-aligned text inset
   Reference: marked mobile PDF line, about 56px on a 392px viewport.
   Applies only to content text blocks, not header, footer, or colored tiles.
   ========================================================================== */

@media (max-width: 768px) {
  main#page-content {
    --seaside-mobile-text-line: clamp(2.9rem, 14.3vw, 3.55rem);
  }

  main#page-content :is(
    .seaside-media-block,
    .custom-2col,
    .custom-2col-right-image,
    .custom-2col-left-image,
    .sc-brand-story
  ) {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    align-items: flex-start !important;
  }

  main#page-content .seaside-media-block .seaside-media-image {
    width: calc(100vw - (2 * var(--seaside-mobile-edge))) !important;
    max-width: calc(100vw - (2 * var(--seaside-mobile-edge))) !important;
    margin-left: var(--seaside-mobile-edge) !important;
    margin-right: var(--seaside-mobile-edge) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  main#page-content .seaside-media-block .seaside-media-image img {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  main#page-content :is(
    .seaside-media-text,
    .custom-left-text,
    .custom-right-text,
    .custom-text,
    .sc-media-text__content,
    .sc-brand-story__copy,
    .section-2col-wide.width_custom .wpb_text_column,
    .abstand-45.width_custom .wpb_text_column
  ):not(.has_bg_color *):not(.sticky-footer-column *):not(.l-footer *) {
    width: calc(100vw - (2 * var(--seaside-mobile-text-line))) !important;
    max-width: calc(100vw - (2 * var(--seaside-mobile-text-line))) !important;
    margin-left: calc(50% - 50vw + var(--seaside-mobile-text-line)) !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  main#page-content :is(
    .seaside-media-text,
    .custom-left-text,
    .custom-right-text,
    .custom-text,
    .sc-media-text__content,
    .sc-brand-story__copy,
    .section-2col-wide.width_custom .wpb_text_column,
    .abstand-45.width_custom .wpb_text_column
  ):not(.has_bg_color *):not(.sticky-footer-column *):not(.l-footer *) :is(h1, h2, h3, h4, h5, h6, p, ul, ol) {
    max-width: none !important;
    margin-left: -14px !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  /* Temporarily disabled: Typography should come from Impreza/Pagebuilder.

  html body main#page-content section.l-section.l-section h2:not(.seaside-global-h2):not(.seaside-global-h2),
  html body main#page-content h2:not(.seaside-global-h2),
  html body > section.l-section h2:not(.seaside-global-h2) {
    font-size: clamp(2.1rem, 6.5vw, 2.4rem) !important;
    line-height: 1.15 !important;
  }
  */

  body.page-id-199 main#page-content .sc-staff-intro .w-html.hide_on_tablets .custom-2col {
    width: calc(100vw - (2 * var(--seaside-mobile-edge))) !important;
    max-width: calc(100vw - (2 * var(--seaside-mobile-edge))) !important;
    margin-left: var(--seaside-mobile-edge) !important;
    margin-right: var(--seaside-mobile-edge) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Discover mobile: restore UNESCO three-image mosaic proportions. */
@media (max-width: 768px) {
  body.page-id-199 main#page-content section[id="Tablet, Smartphone"] > .l-section-h {
    width: calc(100vw - 1.4rem) !important;
    max-width: calc(100vw - 1.4rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page-id-199 main#page-content section[id="Tablet, Smartphone"] .g-cols.cols_2-1 {
    display: grid !important;
    grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr) !important;
    --columns-gap: 6.2px !important;
    gap: 6.2px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.page-id-199 main#page-content section[id="Tablet, Smartphone"] .g-cols.cols_2-1 > .wpb_column {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.page-id-199 main#page-content section[id="Tablet, Smartphone"] .g-cols.cols_2-1 .us_custom_f8ae5be4.has_bg_color {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    align-self: stretch !important;
    padding: 0 !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  body.page-id-199 main#page-content section[id="Tablet, Smartphone"] .g-cols.cols_2-1 > .wpb_column:nth-child(2) > .vc_column-inner {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    padding: 0 !important;
  }

  body.page-id-199 main#page-content section[id="Tablet, Smartphone"] .g-cols.cols_2-1 .w-separator {
    height: 6.2px !important;
    min-height: 6.2px !important;
    flex: 0 0 6.2px !important;
  }

  body.page-id-199 main#page-content section[id="Tablet, Smartphone"] .g-cols.cols_2-1 .us_custom_c8000c05 {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 0.667 / 1 !important;
    flex: 0 0 auto !important;
  }

  body.page-id-199 main#page-content section[id="Tablet, Smartphone"] .g-cols.cols_2-1 .us_custom_9901b73b {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 0.93 / 1 !important;
    flex: 0 0 auto !important;
  }

  body.page-id-199 main#page-content section[id="Tablet, Smartphone"] .g-cols.cols_2-1 .w-image-h,
  body.page-id-199 main#page-content section[id="Tablet, Smartphone"] .g-cols.cols_2-1 .w-image img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
  }
}

/* Dine overview mobile: prevent negative tile offsets from causing side overflow. */
@media (max-width: 768px) {
  body.page-id-204 main#page-content .img-bg-hover.has_bg_color {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Dine overview: custom square images must align flush at the top. */
body.page-id-204 main#page-content .custom-image img {
  margin-top: 0 !important;
}

/* Dine pages: keep staff-block spacing consistent with the generated Impreza rule. */
body:is(.page-id-204, .parent-pageid-204) main#page-content .l-section:has(.custom-2col .custom-body h6),
body:is(.page-id-204, .parent-pageid-204) main#page-content .l-section:has(.custom-2col-tablet-portrait .tablet-body h6),
body:is(.page-id-204, .parent-pageid-204) main#page-content .l-section:has(.w-html.hide_on_default.hide_on_laptops.hide_on_mobiles .tablet-body h6) {
  padding-top: 90px !important;
  padding-bottom: 70px !important;
}

@media (max-width: 768px) {
  body:is(.page-id-204, .parent-pageid-204) main#page-content .l-section:has(.custom-2col .custom-body h6),
  body:is(.page-id-204, .parent-pageid-204) main#page-content .l-section:has(.custom-2col-tablet-portrait .tablet-body h6),
  body:is(.page-id-204, .parent-pageid-204) main#page-content .l-section:has(.w-html.hide_on_default.hide_on_laptops.hide_on_mobiles .tablet-body h6) {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* Dine pages mobile: keep image-left-mobile-bottom media text aligned to the left edge. */
@media (max-width: 768px) {
  body.parent-pageid-204 main#page-content .seaside-media-block--image-left-mobile-bottom .seaside-media-text {
    margin-left: var(--seaside-mobile-edge) !important;
    margin-right: 0 !important;
    text-align: left !important;
  }
}

/* Mobile header: keep the burger icon dark on all subpages. */
@media (max-width: 768px) {
  body:not(.home) .l-header .ush_popup_1 .w-popup-trigger.type_icon,
  body:not(.home) .l-header:not(.sticky):not(.menu-force-solid) .ush_popup_1 .w-popup-trigger.type_icon,
  body:not(.home) .l-header.sticky .ush_popup_1 .w-popup-trigger.type_icon,
  body:not(.home) .l-header.menu-force-solid .ush_popup_1 .w-popup-trigger.type_icon,
  body:not(.home) .l-header .ush_popup_1 .w-popup-trigger.type_icon i,
  body:not(.home) .l-header:not(.sticky):not(.menu-force-solid) .ush_popup_1 .w-popup-trigger.type_icon i,
  body:not(.home) .l-header.sticky .ush_popup_1 .w-popup-trigger.type_icon i,
  body:not(.home) .l-header.menu-force-solid .ush_popup_1 .w-popup-trigger.type_icon i {
    color: #555657 !important;
    border-color: #555657 !important;
  }

  body:not(.home) .l-header .ush_popup_1 .w-popup-trigger.type_icon i,
  body:not(.home) .l-header:not(.sticky):not(.menu-force-solid) .ush_popup_1 .w-popup-trigger.type_icon i,
  body:not(.home) .l-header.sticky .ush_popup_1 .w-popup-trigger.type_icon i,
  body:not(.home) .l-header.menu-force-solid .ush_popup_1 .w-popup-trigger.type_icon i {
    background-image: url("/wp-content/uploads/2026/04/Menu-Burger-schwarz.svg") !important;
  }

  body:not(.home) .l-header .w-nav-icon,
  body:not(.home) .l-header .w-nav-icon div,
  body:not(.home) .l-header.sticky .w-nav-icon,
  body:not(.home) .l-header.sticky .w-nav-icon div,
  body:not(.home) .l-header.menu-force-solid .w-nav-icon,
  body:not(.home) .l-header.menu-force-solid .w-nav-icon div {
    color: #555657 !important;
    border-color: #555657 !important;
  }

  body:not(.home) .l-header .w-nav-icon div,
  body:not(.home) .l-header.sticky .w-nav-icon div,
  body:not(.home) .l-header.menu-force-solid .w-nav-icon div {
    background: #555657 !important;
  }
}

/* Dine overview: keep tile sections full-width if WPBakery outputs them outside main. */
body.page-id-204 > section.l-section:has(.img-bg-hover) {
  width: 100% !important;
  align-self: stretch !important;
}

/* Dine overview: keep escaped media-text sections full-width too. */
body.page-id-204 > section.l-section:has(.seaside-media-block) {
  width: 100% !important;
  align-self: stretch !important;
}

/* Dine subpages: keep WPBakery sections full-width if raw HTML outputs them outside main. */
body.parent-pageid-204 > section.l-section {
  width: 100% !important;
  align-self: stretch !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Dine subpages mobile: final image-left media block should sit 0.7rem above the footer. */
@media (max-width: 768px) {
  body.parent-pageid-204 > section.l-section:has(.seaside-media-block--image-left-bottom),
  body.parent-pageid-204 main#page-content section.l-section:has(.seaside-media-block--image-left-bottom) {
    margin-top: 0 !important;
    padding-bottom: var(--seaside-gap-xs) !important;
    margin-bottom: 0 !important;
  }

  body.parent-pageid-204 > section.l-section:has(.seaside-media-block--image-left-bottom) > .l-section-h,
  body.parent-pageid-204 main#page-content section.l-section:has(.seaside-media-block--image-left-bottom) > .l-section-h {
    padding-bottom: 0 !important;
  }

  body.parent-pageid-204 .seaside-media-block--image-left-bottom,
  body.parent-pageid-204 .seaside-media-block--image-left-bottom .seaside-media-image {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width: 600px) {
  body .l-section:is(.height_small, .height_medium):has(.seaside-media-block--image-left-bottom) {
    margin-top: 0 !important;
    padding-bottom: 0 !important;
  }

  html body .l-section.us_custom_5754041a {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* Custom staff image crop: only blocks with this explicit helper class use crop variables. */
.custom-image.custom-image-adjust-beni {
  aspect-ratio: var(--media-aspect, 1 / 1) !important;
  position: relative !important;
  overflow: hidden !important;
  margin-top: 2.2rem !important;
}

.custom-image.custom-image-adjust-beni img {
  position: static !important;
  object-fit: cover !important;
  object-position: var(--media-focus-x, 50%) var(--media-focus-y, 50%) !important;
  transform: scale(var(--media-zoom, 1)) !important;
  transform-origin: var(--media-focus-x, 50%) var(--media-focus-y, 50%) !important;
}

@media (max-width: 768px) {
  .custom-image.custom-image-adjust-beni {
    margin-top: 0 !important;
  }
}



/* Mobile PDF buttons: keep 4-button groups as 2x2 with connector lines behind buttons */
@media (max-width: 768px) {
  .pdf-button-line.four {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(2, 160px) !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 28px 34px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .pdf-button-line.four::before,
  .pdf-button-line.four::after {
    content: "" !important;
    position: absolute !important;
    left: calc(50% - 97px) !important;
    width: 194px !important;
    height: 1px !important;
    background: #000 !important;
    transform: none !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  .pdf-button-line.four::before {
    top: 80px !important;
  }

  .pdf-button-line.four::after {
    top: 268px !important;
  }

  .pdf-button-line.four .pdf-btn {
    position: relative !important;
    z-index: 1 !important;
    width: 160px !important;
    height: 160px !important;
    min-width: 160px !important;
    min-height: 160px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.15 !important;
    box-sizing: border-box !important;
  }
}


/* Happenings mobile: place image-left-mobile-bottom media images below text before footer */
@media (max-width: 768px) {
  main#page-content .seaside-media-block--image-left-mobile-bottom {
    display: flex !important;
    flex-direction: column-reverse !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    row-gap: 1.4rem !important;
  }

  main#page-content .seaside-media-block--image-left-mobile-bottom > .seaside-media-image {
    order: 2 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  main#page-content .seaside-media-block--image-left-mobile-bottom > .seaside-media-text {
    order: 1 !important;
  }
}

/* Happenings mobile: keep column-reverse as the only source of media/text order */
@media (max-width: 768px) {
  main#page-content .seaside-media-block--image-left-mobile-bottom > .seaside-media-image,
  main#page-content .seaside-media-block--image-left-mobile-bottom > .seaside-media-text {
    order: 0 !important;
  }
}

/* Happenings mobile: keep the final image 0.7rem above the footer */
@media (max-width: 768px) {
  body.page-id-210 main#page-content > section.l-section:last-of-type {
    padding-bottom: 0.7rem !important;
  }
}
/* =========================================================
   DINE PDF BUTTONS – MOBILE FINAL
   4 Buttons: 2x2
   3 Buttons: 2 oben, 1 mittig unten
   Korrigiert auch WPML-Fall: .four mit nur 3 Buttons
   ========================================================= */

@media (max-width: 768px) {

	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line br {
		display: none !important;
	}

	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line {
		position: relative !important;
		margin: 0 auto !important;
		padding: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		text-align: center !important;
	}

	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line .pdf-btn {
		position: relative !important;
		z-index: 2 !important;
		width: 160px !important;
		height: 160px !important;
		min-width: 160px !important;
		min-height: 160px !important;
		border-radius: 50% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		line-height: 1.15 !important;
		box-sizing: border-box !important;
		margin: 0 !important;
	}

	/* 4 Buttons: 2 oben, 2 unten */
	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.four:has(a.pdf-btn:nth-of-type(4)) {
		display: grid !important;
		grid-template-columns: repeat(2, 160px) !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 28px 34px !important;
	}

	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.four:has(a.pdf-btn:nth-of-type(4))::before,
	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.four:has(a.pdf-btn:nth-of-type(4))::after {
		content: "" !important;
		position: absolute !important;
		left: calc(50% - 97px) !important;
		width: 194px !important;
		height: 1px !important;
		background: #000 !important;
		transform: none !important;
		z-index: 1 !important;
		pointer-events: none !important;
	}

	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.four:has(a.pdf-btn:nth-of-type(4))::before {
		top: 80px !important;
	}

	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.four:has(a.pdf-btn:nth-of-type(4))::after {
		top: 268px !important;
	}

	/* 3 Buttons: 2 oben, 1 mittig unten */
	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.three,
	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.four:not(:has(a.pdf-btn:nth-of-type(4))) {
		display: grid !important;
		grid-template-columns: repeat(2, 160px) !important;
		justify-content: center !important;
		align-items: center !important;
		gap: 34px 34px !important;
	}

	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.three .pdf-btn:nth-of-type(3),
	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.four:not(:has(a.pdf-btn:nth-of-type(4))) .pdf-btn:nth-of-type(3) {
		grid-column: 1 / -1 !important;
		justify-self: center !important;
	}

	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.three::before,
	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.four:not(:has(a.pdf-btn:nth-of-type(4)))::before {
		content: "" !important;
		position: absolute !important;
		top: 80px !important;
		left: calc(50% - 97px) !important;
		width: 194px !important;
		height: 1px !important;
		background: #000 !important;
		z-index: 1 !important;
		pointer-events: none !important;
	}

	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.three::after,
	body:is(.page-id-204, .parent-pageid-204, .page-id-7785, .parent-pageid-7785) main#page-content .pdf-button-line.four:not(:has(a.pdf-btn:nth-of-type(4)))::after {
		content: "" !important;
		position: absolute !important;
		top: 80px !important;
		left: 50% !important;
		width: 1px !important;
		height: 194px !important;
		background: #000 !important;
		transform: translateX(-50%) !important;
		z-index: 1 !important;
		pointer-events: none !important;
	}
}
/* =========================================================
   SEASIDE DINE PDF BUTTONS – 3ER MOBILE FIX
   2 Buttons oben, 1 Button mittig unten
   Fix für WPML + falsche .four-Klasse bei 3 Buttons
   ========================================================= */

@media (max-width: 768px) {

	html body[class] main#page-content .pdf-button-line.three,
	html body[class] main#page-content .pdf-button-line.four:has(a.pdf-btn:nth-of-type(3):last-of-type) {
		--pdf-btn-size: 160px !important;
		--pdf-btn-gap-x: 34px !important;
		--pdf-btn-gap-y: 34px !important;

		position: relative !important;
		display: grid !important;
		grid-template-columns: repeat(2, var(--pdf-btn-size)) !important;
		justify-content: center !important;
		align-items: center !important;
		gap: var(--pdf-btn-gap-y) var(--pdf-btn-gap-x) !important;

		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	html body[class] main#page-content .pdf-button-line.three .pdf-btn,
	html body[class] main#page-content .pdf-button-line.four:has(a.pdf-btn:nth-of-type(3):last-of-type) .pdf-btn {
		width: var(--pdf-btn-size) !important;
		height: var(--pdf-btn-size) !important;
		min-width: var(--pdf-btn-size) !important;
		min-height: var(--pdf-btn-size) !important;
		max-width: var(--pdf-btn-size) !important;
		max-height: var(--pdf-btn-size) !important;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		margin: 0 !important;
		position: relative !important;
		z-index: 2 !important;

		grid-column: auto !important;
		justify-self: auto !important;
		box-sizing: border-box !important;
	}

	html body[class] main#page-content .pdf-button-line.three a.pdf-btn:nth-of-type(3),
	html body[class] main#page-content .pdf-button-line.four:has(a.pdf-btn:nth-of-type(3):last-of-type) a.pdf-btn:nth-of-type(3) {
		grid-column: 1 / -1 !important;
		justify-self: center !important;
	}

	html body[class] main#page-content .pdf-button-line.three::before,
	html body[class] main#page-content .pdf-button-line.four:has(a.pdf-btn:nth-of-type(3):last-of-type)::before {
		content: "" !important;
		position: absolute !important;
		top: calc(var(--pdf-btn-size) / 2) !important;
		left: 50% !important;
		width: calc(var(--pdf-btn-size) + var(--pdf-btn-gap-x)) !important;
		height: 1px !important;
		background: #000 !important;
		transform: translateX(-50%) !important;
		z-index: 1 !important;
		pointer-events: none !important;
	}

	html body[class] main#page-content .pdf-button-line.three::after,
	html body[class] main#page-content .pdf-button-line.four:has(a.pdf-btn:nth-of-type(3):last-of-type)::after {
		content: "" !important;
		position: absolute !important;
		top: calc(var(--pdf-btn-size) / 2) !important;
		left: 50% !important;
		width: 1px !important;
		height: calc(var(--pdf-btn-size) + var(--pdf-btn-gap-y)) !important;
		background: #000 !important;
		transform: translateX(-50%) !important;
		z-index: 1 !important;
		pointer-events: none !important;
	}
}
/* PDF Button: nur äußere BR entfernen, Button-Umbrüche behalten */
@media (max-width: 768px) {

	html body[class] main#page-content .pdf-button-line > br {
		display: none !important;
	}

	html body[class] main#page-content .pdf-button-line .pdf-btn br {
		display: block !important;
	}
}
/* =========================================================
   SEASIDE DINE PDF BUTTONS – MOBILE TYPO FIX
   Einheitliche Schriftgröße wie Beach Club
   ========================================================= */

@media (max-width: 768px) {

	html body[class] main#page-content .pdf-button-line .pdf-btn,
	html body[class] main#page-content .pdf-button-line.three .pdf-btn,
	html body[class] main#page-content .pdf-button-line.four .pdf-btn {
		font-size: 15px !important;
		line-height: 1.2 !important;
		letter-spacing: 0.14em !important;
		font-weight: 400 !important;
		text-align: center !important;
		text-transform: uppercase !important;
	}
}
/* =========================================================
   SEASIDE PDF BUTTONS – BR FIX DESKTOP + GLOBAL
   Entfernt nur äußere Umbrüche, erhält Button-Textumbrüche
   ========================================================= */

html body[class] main#page-content .pdf-button-line > br {
	display: none !important;
}

html body[class] main#page-content .pdf-button-line .pdf-btn br {
	display: block !important;
}
/* =========================================================
   SEASIDE PDF BUTTONS – MOBILE SAFE SIDE MARGIN
   Sichert mindestens 7px Rand links/rechts bei 2er-Reihen
   ========================================================= */

@media (max-width: 768px) {

	html body[class].parent-pageid-204 main#page-content .w-html .pdf-button-line.pdf-button-line.three,
	html body[class].parent-pageid-204 main#page-content .w-html .pdf-button-line.pdf-button-line.four,
	html body[class].parent-pageid-7785 main#page-content .w-html .pdf-button-line.pdf-button-line.three,
	html body[class].parent-pageid-7785 main#page-content .w-html .pdf-button-line.pdf-button-line.four {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 14px !important;
		padding-right: 14px !important;
		justify-content: center !important;
	}
}

/* Sehr schmale Smartphones: Button minimal verkleinern */
@media (min-width: 341px) and (max-width: 370px) {

	html body[class].parent-pageid-204 main#page-content .w-html .pdf-button-line.pdf-button-line.three,
	html body[class].parent-pageid-204 main#page-content .w-html .pdf-button-line.pdf-button-line.four,
	html body[class].parent-pageid-7785 main#page-content .w-html .pdf-button-line.pdf-button-line.three,
	html body[class].parent-pageid-7785 main#page-content .w-html .pdf-button-line.pdf-button-line.four {
		--pdf-btn-size: 156px !important;
		grid-template-columns: repeat(2, 156px) !important;
	}

	html body[class].parent-pageid-204 main#page-content .w-html .pdf-button-line.pdf-button-line.three .pdf-btn.pdf-btn,
	html body[class].parent-pageid-204 main#page-content .w-html .pdf-button-line.pdf-button-line.four .pdf-btn.pdf-btn,
	html body[class].parent-pageid-7785 main#page-content .w-html .pdf-button-line.pdf-button-line.three .pdf-btn.pdf-btn,
	html body[class].parent-pageid-7785 main#page-content .w-html .pdf-button-line.pdf-button-line.four .pdf-btn.pdf-btn {
		width: 156px !important;
		height: 156px !important;
		min-width: 156px !important;
		min-height: 156px !important;
		max-width: 156px !important;
		max-height: 156px !important;
	}
}

/* Kleine Smartphones ca. 320px */
@media (max-width: 340px) {

	html body[class].parent-pageid-204 main#page-content .w-html .pdf-button-line.pdf-button-line.three,
	html body[class].parent-pageid-204 main#page-content .w-html .pdf-button-line.pdf-button-line.four,
	html body[class].parent-pageid-7785 main#page-content .w-html .pdf-button-line.pdf-button-line.three,
	html body[class].parent-pageid-7785 main#page-content .w-html .pdf-button-line.pdf-button-line.four {
		--pdf-btn-size: 136px !important;
		grid-template-columns: repeat(2, 136px) !important;
	}

	html body[class].parent-pageid-204 main#page-content .w-html .pdf-button-line.pdf-button-line.three .pdf-btn.pdf-btn,
	html body[class].parent-pageid-204 main#page-content .w-html .pdf-button-line.pdf-button-line.four .pdf-btn.pdf-btn,
	html body[class].parent-pageid-7785 main#page-content .w-html .pdf-button-line.pdf-button-line.three .pdf-btn.pdf-btn,
	html body[class].parent-pageid-7785 main#page-content .w-html .pdf-button-line.pdf-button-line.four .pdf-btn.pdf-btn {
		width: 136px !important;
		height: 136px !important;
		min-width: 136px !important;
		min-height: 136px !important;
		max-width: 136px !important;
		max-height: 136px !important;
	}
}
/* =========================================================
   SEASIDE DINE CAROUSEL – WPML IMAGE RATIO FIX
   Fix für EN-Raster nach Übersetzung / Button-Text-Änderung
   ========================================================= */

body:is(.parent-pageid-204, .parent-pageid-7785) main#page-content .w-grid.us_post_carousel.layout_225 .w-post-elm.post_image.usg_post_image_1 {
	width: 100% !important;
	aspect-ratio: 3 / 4 !important;
	height: auto !important;
	min-height: 20rem !important;
	margin-bottom: 1rem !important;
	overflow: hidden !important;
	border-radius: 6.2px !important;
	border-width: 0 !important;
}

body:is(.parent-pageid-204, .parent-pageid-7785) main#page-content .w-grid.us_post_carousel.layout_225 .w-post-elm.post_image.usg_post_image_1 img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

