/* Mobile readability layer loaded after component styles. */
@media (max-width: 767.98px) {
  .page .container,
  .page section > .container,
  .page .pre-footer-corporate > .container,
  .page .footer-corporate > .container {
    width: calc(100% - 12px) !important;
    max-width: none !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
  }

  .page .wellness-feature > .container,
  .page .summer-camp-feature > .container,
  .page .agriasilo-feature > .container,
  .page .babysitting-feature > .container,
  .page .home-story > .container,
  .page .home-project > .container,
  .page .pricing-feature > .container,
  .page .property-video-feature > .container,
  .page .location-feature > .container,
  .page .modern-section--reviews > .container {
    width: calc(100% - 8px) !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .page .modern-section--centered.section-md:not(.modern-section--reviews) > .container {
    width: calc(100% - 8px) !important;
  }

  .page .modern-section--split:not(.modern-section--media):not(.modern-section--map):not(.modern-section--reviews):not(.wellness-feature) > .container > .row > [class*="col-"],
  .page .modern-section--split:not(.modern-section--media):not(.modern-section--map):not(.modern-section--reviews):not(.wellness-feature) > .container > .row > .modern-copy-card {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }

  .page .modern-section p:not(.cite):not([class*="__eyebrow"]):not(.home-story__location):not(.dance-event__kicker),
  .page .modern-section li,
  .page .home-story p:not([class*="__eyebrow"]):not(.home-story__location),
  .page .home-project p:not([class*="__eyebrow"]) {
    font-size: clamp(15.75px, 4.2vw, 16.5px) !important;
    line-height: 1.68 !important;
  }

  .page .modern-hero p:not([class*="__eyebrow"]),
  .page .apartment-hero p {
    font-size: clamp(16px, 4.25vw, 17px) !important;
    line-height: 1.65 !important;
  }

  .page .modern-hero h6,
  .page .modern-section h6,
  .page .modern-section [class*="__eyebrow"],
  .page .modern-section [class*="__kicker"],
  .page .modern-section [class*="__availability"],
  .page .modern-section [class*="__gallery-count"],
  .page .modern-section [class*="__poster-action"],
  .page .modern-section [class*="__map-cta"],
  .page .modern-section [class*="__coordinates"],
  .page .modern-section [class*="__place"],
  .page .modern-section [class*="__badge"],
  .page .contact-hero__eyebrow,
  .page .contact-section-kicker,
  .page .contact-primary-card__eyebrow,
  .page .apartment-fact__label,
  .page .home-story__location,
  .page .home-story__facts span,
  .page .home-project__place,
  .page .summer-camp-feature__tags span,
  .page .home-project__values span,
  .page .property-video-feature__media figcaption span,
  .page .location-feature__fact > span {
    font-size: clamp(12px, 3.25vw, 13px) !important;
    line-height: 1.45 !important;
    letter-spacing: .09em !important;
  }

  .page .farm-story__facts li strong {
    font-size: clamp(14px, 3.8vw, 15px) !important;
    line-height: 1.4 !important;
  }

  .page .button,
  .page button.external-media-consent__button,
  .page .dance-event__button {
    min-height: 48px;
    font-size: clamp(13px, 3.55vw, 14px) !important;
    line-height: 1.35 !important;
    white-space: normal;
  }

  .page .modern-section small,
  .page .modern-section .cite,
  .page .modern-section .quote-review .cite {
    font-size: clamp(12.5px, 3.35vw, 13.25px) !important;
    line-height: 1.5 !important;
  }

  .page .location-feature__fact strong {
    font-size: clamp(18px, 5vw, 20px) !important;
    line-height: 1.3 !important;
  }

  .page .location-feature .location-feature__coordinates,
  .page .location-feature .location-feature__fact > span,
  .page .location-feature .location-feature__map-eyebrow {
    font-size: clamp(13px, 3.6vw, 14px) !important;
    line-height: 1.4 !important;
  }

  .page .location-feature__fact small {
    font-size: clamp(15px, 4vw, 16px) !important;
    line-height: 1.5 !important;
  }

  .page .pricing-period__range span {
    font-size: clamp(13px, 3.55vw, 14px) !important;
    line-height: 1.4 !important;
  }

  .page .pricing-booking__iban span {
    font-size: 12px !important;
  }

  .page .pricing-booking__iban strong {
    font-size: clamp(12.5px, 3.3vw, 13.25px) !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
  }

  .page .table-custom th,
  .page .table-custom td {
    font-size: clamp(14px, 3.75vw, 14.75px) !important;
    line-height: 1.5 !important;
  }

  .page .contact-map-address {
    font-size: clamp(15.5px, 4.1vw, 16.5px) !important;
    line-height: 1.65 !important;
  }

  .page .contact-property-data dt {
    font-size: 12px !important;
  }

  .page-dintorni .modern-section p > u,
  .page-dintorni .modern-section p > strong {
    font-size: clamp(15.5px, 4.1vw, 16.25px) !important;
    line-height: 1.55 !important;
  }

  .page .dance-event__time {
    font-size: 14px !important;
  }

  .page .pre-footer-corporate .row > [class*="col-"] {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .page .pre-footer-corporate h6 {
    font-size: clamp(13px, 3.5vw, 14px) !important;
    line-height: 1.45 !important;
  }

  .page .pre-footer-corporate .row > [class*="col-"]:first-child::before {
    font-size: 11.5px !important;
  }

  .page .footer-corporate .footer-legal,
  .page .footer-corporate .footer-legal a,
  .page .footer-corporate .footer-credit,
  .page .footer-corporate .footer-credit a,
  .page .cookie-technical-notice {
    font-size: clamp(13px, 3.45vw, 13.75px) !important;
    line-height: 1.6 !important;
  }
}

@media (max-width: 359.98px) {
  .page .modern-section--reviews .quote-review,
  html[lang="de"] .page .modern-section--reviews .quote-review {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }
}

/* Keep the repeated location copy comfortably wide on phones and small tablets. */
@media (max-width: 767.98px) {
  .page .home-location-feature {
    width: calc(100% - 12px) !important;
  }

  .page .home-location-feature > .section-lg {
    padding-right: clamp(12px, 3vw, 18px) !important;
    padding-left: clamp(12px, 3vw, 18px) !important;
  }

  .page .home-location-feature > .section-lg > .container {
    width: 100% !important;
    max-width: none !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  .page .home-location-feature > .section-lg p {
    padding: 18px clamp(12px, 2.6vw, 16px) !important;
  }
}

/*
 * Privacy-first video posters need more vertical room than the 16:9 iframe.
 * Keep every control inside the image while consent is visible; once the
 * panel is removed by modern-ui.js, the wrapper naturally returns to 16:9.
 */
@media (max-width: 991.98px) {
  .page .videoWrapper:not(.property-video-poster__player):not(.property-video-feature__player):has(> .external-media-consent--video) {
    height: auto !important;
    min-height: clamp(360px, 45vw, 410px) !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    aspect-ratio: 16 / 9 !important;
  }

  .page .videoWrapper:not(.property-video-poster__player):not(.property-video-feature__player) > .external-media-consent--video {
    box-sizing: border-box;
    padding: clamp(22px, 4vw, 32px) 16px !important;
  }

  .page .videoWrapper:not(.property-video-poster__player):not(.property-video-feature__player) > .external-media-consent--video h3 {
    width: 100%;
    max-width: 18ch;
    margin: 0;
    font-size: clamp(1.45rem, 4vw, 1.85rem) !important;
    line-height: 1.14 !important;
  }

  .page .videoWrapper:not(.property-video-poster__player):not(.property-video-feature__player) > .external-media-consent--video h3::before {
    width: clamp(52px, 6vw, 60px);
    height: clamp(52px, 6vw, 60px);
    margin-bottom: 14px;
  }

  .page .videoWrapper:not(.property-video-poster__player):not(.property-video-feature__player) > .external-media-consent--video h3::after {
    top: clamp(19px, 2.25vw, 22px);
    border-top-width: 8px;
    border-bottom-width: 8px;
    border-left-width: 12px;
  }

  .page .videoWrapper:not(.property-video-poster__player):not(.property-video-feature__player) > .external-media-consent--video p {
    width: 100%;
    max-width: 34ch;
    margin: 14px 0 0;
    font-size: clamp(14px, 2vw, 15.5px) !important;
    line-height: 1.48 !important;
  }

  .page .videoWrapper:not(.property-video-poster__player):not(.property-video-feature__player) > .external-media-consent--video .external-media-consent__button {
    width: min(100%, 280px);
    min-height: 48px;
    margin-top: 16px;
    padding: 12px 18px;
    font-size: clamp(12.5px, 1.8vw, 13px) !important;
    line-height: 1.35 !important;
    overflow-wrap: normal;
    -webkit-hyphens: none;
    hyphens: none;
  }
}

@media (max-width: 767.98px) {
  .page .videoWrapper:not(.property-video-poster__player):not(.property-video-feature__player):has(> .external-media-consent--video) {
    min-height: clamp(390px, 112vw, 430px) !important;
    aspect-ratio: auto !important;
  }
}
