/* Gut Rechetsberg – mobile-only refinement layer. Desktop intentionally untouched. */
@media (max-width: 700px) {
  html { overflow-x: hidden; scroll-padding-top: 78px; }
  body { overflow-x: hidden; -webkit-text-size-adjust: 100%; }
  img, video, iframe, svg { max-width: 100%; }
  button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
  input, select, textarea { font-size: 16px !important; }

  /* Shared mobile header/navigation */
  .site-header { min-height: 68px; }
  .header-inner { min-height: 68px; padding-left: 18px !important; padding-right: 18px !important; }
  .site-logo, .brand, .logo { max-width: min(54vw, 220px); }
  .mobile-menu-toggle { width: 46px !important; height: 46px !important; min-width: 46px; display: grid; place-items: center; }
  .mobile-panel { max-height: calc(100dvh - 68px); overflow-y: auto; overscroll-behavior: contain; padding-bottom: max(26px, env(safe-area-inset-bottom)); }
  .mobile-panel a { min-height: 46px; display: flex; align-items: center; }

  /* Shared typography / rhythm */
  .accom-page h1, .accom-page h2,
  .glh-title, .ksa-title, .section-title,
  .prx-page h1, .prx-page h2,
  .parkx-page h1, .parkx-page h2,
  .region-page h1, .region-page h2,
  .request-page h1, .route-page h1 {
    overflow-wrap: normal; word-break: normal; -webkit-hyphens:auto;hyphens:auto;
  }
  .accom-page p, .glh-copy, .ksa-copy, .section-text,
  .prx-page p, .parkx-page p, .region-page p,
  .request-page p, .route-page p { max-width: 100%; }

  /* Accommodation hero – consistent on every lodging page */
  .accom-hero { min-height: 0 !important; height: auto !important; display: flex !important; flex-direction: column !important; }
  .accom-hero-copy { order: 2; width: 100% !important; min-height: 0 !important; padding: 34px 20px 44px !important; }
  .accom-hero-image { order: 1; width: 100% !important; height: min(72vw, 500px) !important; min-height: 310px !important; }
  .accom-hero-image img { width: 100%; height: 100%; object-fit: cover; }
  .accom-hero-inner { width: 100% !important; max-width: none !important; padding: 0 !important; }
  .accom-home { margin-bottom: 25px !important; }
  .accom-eyebrow { margin-bottom: 12px !important; }
  .accom-hero h1 { font-size: clamp(42px, 13vw, 66px) !important; line-height: .98 !important; margin-bottom: 22px !important; }
  .accom-lead { font-size: 16px !important; line-height: 1.72 !important; }
  .accom-facts { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 8px !important; margin-top: 28px !important; }
  .accom-fact { min-width: 0; padding: 11px 10px !important; text-align: center; }
  .accom-actions, .glh-links { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; width: 100%; }
  .accom-btn { width: 100% !important; min-height: 50px; display: inline-flex !important; align-items: center; justify-content: center; padding-left: 18px !important; padding-right: 18px !important; }

  /* Landhaus I + II */
  .glh .glh-sec { padding: 66px 18px !important; }
  .glh .glh-inner { width: 100% !important; }
  .glh .glh-head, .lh2-head { margin-bottom: 34px !important; gap: 20px !important; }
  .glh .glh-title { font-size: clamp(38px, 11vw, 54px) !important; margin: 10px 0 18px !important; }
  .glh .glh-copy { font-size: 16px !important; line-height: 1.72 !important; letter-spacing: .025em !important; }
  .glh .glh-grid-2, .glh .glh-grid-3, .lh2-grid-2 { gap: 12px !important; }
  .glh .glh-media, .lh2-media { border-radius: 15px !important; }
  .glh .glh-living .glh-grid-2 .glh-media,
  .glh .glh-kitchen-detail,
  .glh .glh-bath .glh-grid-2 .glh-media,
  .glh .glh-bath-detail,
  .glh .glh-well .glh-grid-2 .glh-media,
  .lh2-grid-2 .lh2-media { aspect-ratio: 3 / 2 !important; min-height: 0 !important; }
  .glh .glh-kitchen-portrait { aspect-ratio: 4 / 5 !important; max-height: 600px; }
  .glh .glh-kitchen-side { gap: 12px !important; }
  .glh .glh-note { border-radius: 15px !important; padding: 30px 24px !important; }
  .glh .glh-note strong { font-size: 30px !important; }
  .glh .glh-bath-detail { margin-top: 12px !important; }
  .glh .glh-caption { padding-top: 10px !important; font-size: 10px !important; }
  .glh .glh-featgrid { gap: 0 !important; }
  .glh .glh-feat { padding: 30px 24px !important; min-height: 0 !important; }
  .glh .glh-cta-box { border-radius: 20px !important; padding: 34px 24px !important; gap: 28px !important; }

  /* Small apartment II */
  .ksa-section { padding-left: 18px !important; padding-right: 18px !important; }
  .ksa-inner { width: 100% !important; }
  .ksa-title { font-size: clamp(38px, 11vw, 54px) !important; line-height: 1.03 !important; }
  .ksa-copy { font-size: 16px !important; line-height: 1.72 !important; }
  .ksa-grid, .ksa-card-grid, .ksa-practical-grid, .ksa-context-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .ksa-media { min-height: 0 !important; border-radius: 15px !important; }
  .ksa-media img { min-height: 0 !important; }
  .ksa-amenities-grid { grid-template-columns: 1fr !important; }
  .ksa-amenity { min-height: 0 !important; padding: 26px 22px !important; }

  /* Large apartment I */
  .section-shell, .accom-story, .accom-service, .accom-final, .accom-photo-moment { padding-left: 18px !important; padding-right: 18px !important; }
  .section-inner { width: 100% !important; }
  .apt-grid, .bedroom-grid, .practical-grid, .lounge-grid, .accom-service-grid, .accom-final-inner { grid-template-columns: 1fr !important; gap: 14px !important; }
  .apt-media, .soft-card, .lounge-card { border-radius: 15px !important; }
  .apt-media { min-height: 0 !important; }
  .accom-photo-moment { min-height: 0 !important; height: auto !important; }
  .accom-photo-moment img { min-height: 330px; max-height: 560px; object-fit: cover; }

  /* Homepage */
  .hero { min-height: 100svh !important; height: auto !important; }
  .hero-content, .hero-inner { padding-left: 20px !important; padding-right: 20px !important; }
  .intro { padding-left: 20px !important; padding-right: 20px !important; }
  .intro h2 { font-size: clamp(38px, 11vw, 54px) !important; }
  .forest-section { min-height: 75svh !important; }
  .story-section { min-height: 0 !important; display: flex !important; flex-direction: column !important; }
  .story-visual, .story-copy { width: 100% !important; position: relative !important; inset: auto !important; }
  .story-visual { height: min(82vw, 520px) !important; min-height: 330px !important; }
  .story-copy { padding: 42px 20px 64px !important; min-height: 0 !important; }
  .story-copy-inner { max-width: none !important; }
  .story-title { font-size: clamp(36px, 10vw, 52px) !important; line-height: 1.03 !important; }
  .story-text { font-size: 16px !important; line-height: 1.7 !important; }
  .story-cta { min-height: 48px; display: inline-flex; align-items: center; }

  /* Prices */
  .prx-page { overflow-x: hidden; }
  .prx-hero, .prx-rates, .prx-conditions, .prx-events, .prx-extras, .prx-cancel, .prx-final { padding-left: 18px !important; padding-right: 18px !important; }
  .prx-rate-grid, .prx-rate-card, .prx-v48-grid, .prx-v48-layout, .prx-final-inner { grid-template-columns: 1fr !important; }
  .prx-rate-card { gap: 18px !important; }
  .prx-image-shell, .prx-rate-image { width: 100% !important; min-width: 0 !important; }
  .prx-rate-image { height: min(68vw, 420px) !important; }
  .prx-price-line { flex-wrap: wrap; gap: 8px 14px; }
  .prx-card-link { min-height: 46px; display: inline-flex; align-items: center; }

  /* Region */
  .region-hero, .region-intro, .region-gallery, .region-cta { padding-left: 18px !important; padding-right: 18px !important; }
  .region-hero { min-height: 76svh !important; }
  .region-slide { min-height: 76svh !important; }
  .region-card { grid-template-columns: 1fr !important; }
  .region-card img { min-height: 300px; max-height: 520px; object-fit: cover; }
  .region-card-copy { padding: 28px 22px !important; }
  .region-arrows { gap: 8px; }
  .region-arrow { width: 48px !important; height: 48px !important; }

  /* Park */
  .parkx-section:not(.parkx-hero) { padding-left: 18px !important; padding-right: 18px !important; }
  .parkx-shell, .parkx-shell.wide { width: 100% !important; }
  .parkx-title { font-size: clamp(38px, 11vw, 54px) !important; line-height: 1.02 !important; }
  .parkx-copy { font-size: 16px !important; line-height: 1.72 !important; }
  .parkx-grid, .parkx-panel-grid, .parkx-stats, .parkx-gallery-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .parkx-panel, .parkx-gallery-item { min-height: 0 !important; }
  .parkx-gallery-item img { aspect-ratio: 3/2; object-fit: cover; }
  .parkx-pin { min-height: 0 !important; height: auto !important; }
  .parkx-pin-stage { position: relative !important; height: auto !important; min-height: 0 !important; }
  .parkx-scroll-title { position: relative !important; opacity: 1 !important; transform: none !important; margin: 18px 0 !important; }
  .parkx-video-panel, .parkx-intro-video { min-height: 0 !important; }

  /* Request form */
  .request-hero, .request-intro, .request-form-section { padding-left: 18px !important; padding-right: 18px !important; }
  .request-form, .request-form-grid, .form-grid, .request-grid { grid-template-columns: 1fr !important; }
  .form-field { min-width: 0; }
  .date-field, .date-fields { width: 100% !important; }
  .request-form-section input, .request-form-section select, .request-form-section textarea { width: 100%; min-height: 48px; }
  .request-form-section textarea { min-height: 150px; }
  .request-form-section button[type="submit"] { width: 100%; min-height: 52px; }

  /* Directions */
  .route-hero, .route-intro, .drive-film, .route-details { padding-left: 18px !important; padding-right: 18px !important; }
  .route-cards, .route-details-grid, .route-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .route-card { padding: 26px 22px !important; }
  .route-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
  .drive-film video, .drive-film iframe { width: 100%; aspect-ratio: 16/9; height: auto !important; }

  /* Footer */
  .site-footer { padding-left: 20px !important; padding-right: 20px !important; }
  .footer-inner, .footer-grid, .footer-main { grid-template-columns: 1fr !important; gap: 34px !important; }
  .footer-column { min-width: 0; }
  .footer-links a, .footer-contact-line a { min-height: 38px; display: inline-flex; align-items: center; }
  .footer-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }

  /* Legal pages */
  .legal-header__inner, .legal-hero__inner, .legal-wrap, .legal-footer__inner { padding-left: 18px !important; padding-right: 18px !important; }
  .legal-nav { display: none !important; }
  .legal-grid { grid-template-columns: 1fr !important; }
  .legal-copy { overflow-wrap: anywhere; }
}

@media (max-width: 430px) {
  .accom-facts { grid-template-columns: 1fr 1fr !important; }
  .accom-fact { font-size: 11px !important; }
  .accom-hero-image { min-height: 280px !important; height: 76vw !important; }
  .glh .glh-sec { padding-top: 56px !important; padding-bottom: 56px !important; }
  .glh .glh-title { font-size: clamp(36px, 11.5vw, 48px) !important; }
  .story-copy { padding-bottom: 54px !important; }
}

/* =====================================================================
   V86 — FINAL MOBILE ACCOMMODATION POLISH
   Mobile-only refinements; desktop accommodation layouts remain unchanged.
   ===================================================================== */
@media (max-width: 700px) {
  /* Shared lodging rhythm: true safe gutters, no clipped headings or controls. */
  body[data-page="grosses-apartment-i"] .accom-hero-copy,
  body[data-page="kleines-apartment-ii"] .accom-hero-copy,
  body[data-page="grosses-landhaus-i"] .accom-hero-copy,
  body.page-kleines-landhaus-ii .accom-hero-copy {
    padding-left: max(22px, env(safe-area-inset-left)) !important;
    padding-right: max(22px, env(safe-area-inset-right)) !important;
  }
  body[data-page="grosses-apartment-i"] .accom-hero h1,
  body[data-page="kleines-apartment-ii"] .accom-hero h1,
  body[data-page="grosses-landhaus-i"] .accom-hero h1,
  body.page-kleines-landhaus-ii .accom-hero h1 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    -webkit-hyphens:manual !important;hyphens:manual !important;
  }

  /* Small Apartment II — rebuild “Einfach hier sein” as a calm editorial block.
     No overlay, no sticky remnants, no text sitting on the photograph. */
  body[data-page="kleines-apartment-ii"] .accom-photo-moment.ksa-moment {
    padding: 58px 18px 64px !important;
    background: #f7f2eb !important;
    overflow: hidden !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-sticky {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    align-items: stretch !important;
    overflow: visible !important;
    background: transparent !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-frame {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    -webkit-clip-path:none !important;clip-path:none !important;
    box-shadow: 0 18px 44px rgba(49,39,29,.09) !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-frame img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center 52% !important;
    transform: none !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment-copy {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 30px 4px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    display: block !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 590px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    color: #28251f !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption small {
    display: block !important;
    margin: 0 0 12px !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
    letter-spacing: .20em !important;
    color: #777267 !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption h2 {
    margin: 0 0 18px !important;
    font-size: clamp(40px, 11.5vw, 54px) !important;
    line-height: 1.02 !important;
    letter-spacing: .005em !important;
    font-weight: 250 !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption p {
    margin: 0 !important;
    max-width: 40ch !important;
    font-size: 16px !important;
    line-height: 1.72 !important;
    letter-spacing: .025em !important;
    color: #474039 !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment-link {
    margin-top: 24px !important;
  }

  /* Small Country House II & Grosses Landhaus I: keep hero truly edge-to-edge on narrow browsers. */
  body.page-kleines-landhaus-ii .accom-hero,
  body.page-kleines-landhaus-ii .accom-hero-image,
  body[data-page="grosses-landhaus-i"] .accom-hero,
  body[data-page="grosses-landhaus-i"] .accom-hero-image {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border: 0 !important;
  }
  body.page-kleines-landhaus-ii .accom-hero-image,
  body[data-page="grosses-landhaus-i"] .accom-hero-image {
    overflow: hidden !important;
    background: #292f33 !important;
  }
  body.page-kleines-landhaus-ii .accom-hero-image img,
  body[data-page="grosses-landhaus-i"] .accom-hero-image img {
    left: -2px !important;
    right: auto !important;
    top: -2px !important;
    width: calc(100% + 4px) !important;
    height: calc(100% + 4px) !important;
    max-width: none !important;
    transform: none !important;
    object-fit: cover !important;
  }

  /* Small Country House / Grosses Landhaus I menu: guarantee the close icon has its full hit area. */
  body.page-kleines-landhaus-ii .site-header,
  body.page-kleines-landhaus-ii .header-inner,
  body[data-page="grosses-landhaus-i"] .site-header,
  body[data-page="grosses-landhaus-i"] .header-inner {
    overflow: visible !important;
  }
  body.page-kleines-landhaus-ii .mobile-menu-toggle,
  body[data-page="grosses-landhaus-i"] .mobile-menu-toggle {
    left: max(20px, env(safe-area-inset-left)) !important;
    width: 48px !important;
    height: 48px !important;
    padding: 10px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  body.page-kleines-landhaus-ii .mobile-menu-toggle span,
  body[data-page="grosses-landhaus-i"] .mobile-menu-toggle span {
    width: 28px !important;
    flex: 0 0 auto !important;
  }
  body.page-kleines-landhaus-ii .mobile-panel,
  body[data-page="grosses-landhaus-i"] .mobile-panel {
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 430px) {
  body[data-page="kleines-apartment-ii"] .accom-photo-moment.ksa-moment {
    padding: 50px 18px 58px !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption h2 {
    font-size: clamp(38px, 11.2vw, 48px) !important;
  }
  body.page-kleines-landhaus-ii .accom-hero-copy {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}


/* V89 — Small Apartment II: final mobile correction for “Einfach hier sein / Simply be here”.
   Desktop remains untouched. */
@media (max-width: 700px){
  body[data-page="kleines-apartment-ii"] .accom-photo-moment.ksa-moment{
    height:auto !important;
    min-height:0 !important;
    padding:58px 18px 72px !important;
    overflow:visible !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-sticky{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-frame{
    width:100% !important;
    height:clamp(255px,48vw,340px) !important;
    min-height:255px !important;
    aspect-ratio:auto !important;
    flex:none !important;
    overflow:hidden !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-frame img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center 54% !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment-copy{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    padding:34px 8px 0 !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption p{
    display:block !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-context{
    position:relative !important;
    margin-top:0 !important;
    clear:both !important;
  }
}


/* V90 — ONLY Small Apartment II / mobile “Einfach hier sein”.
   Keep image and copy as two normal document-flow blocks; no overlap with following cards. */
@media (max-width: 700px){
  body[data-page="kleines-apartment-ii"] .accom-photo-moment.ksa-moment{
    position:relative !important;
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    padding:56px 18px 68px !important;
    overflow:visible !important;
    background:#f7f2eb !important;
  }

  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-sticky{
    position:relative !important;
    top:auto !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    overflow:visible !important;
    background:transparent !important;
  }

  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-frame{
    position:relative !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    height:clamp(300px,72vw,430px) !important;
    min-height:300px !important;
    margin:0 !important;
    aspect-ratio:auto !important;
    border-radius:24px !important;
    overflow:hidden !important;
    -webkit-clip-path:none !important;clip-path:none !important;
  }

  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-frame img{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center 54% !important;
    transform:none !important;
    filter:none !important;
  }

  body[data-page="kleines-apartment-ii"] .ksa-moment-copy{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:38px 8px 0 !important;
    overflow:visible !important;
    background:transparent !important;
  }

  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption{
    position:static !important;
    inset:auto !important;
    display:block !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
    opacity:1 !important;
    transform:none !important;
    color:#28251f !important;
  }

  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption small{
    display:block !important;
    margin:0 0 18px !important;
    color:#777267 !important;
    font-size:10px !important;
    line-height:1.5 !important;
    letter-spacing:.20em !important;
  }

  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption h2{
    display:block !important;
    max-width:8ch !important;
    margin:0 0 24px !important;
    font-size:clamp(48px,13.5vw,68px) !important;
    line-height:.98 !important;
    letter-spacing:.005em !important;
    font-weight:250 !important;
  }

  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption p{
    display:block !important;
    width:100% !important;
    max-width:32em !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    overflow:visible !important;
    font-size:17px !important;
    line-height:1.72 !important;
    letter-spacing:.035em !important;
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
  }

  body[data-page="kleines-apartment-ii"] .ksa-moment-link{
    position:static !important;
    display:inline-flex !important;
    margin:28px 0 0 !important;
    padding-bottom:7px !important;
  }

  body[data-page="kleines-apartment-ii"] .ksa-context{
    position:relative !important;
    z-index:auto !important;
    clear:both !important;
    margin-top:0 !important;
  }
}

@media (max-width:430px){
  body[data-page="kleines-apartment-ii"] .accom-photo-moment.ksa-moment{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-frame{
    height:clamp(285px,78vw,350px) !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment-copy{
    padding-left:4px !important;
    padding-right:4px !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption h2{
    font-size:clamp(46px,14vw,60px) !important;
  }
}


/* ================================================================
   V91 — NAVIGATION LOCKED TO THE ORIGINAL V83 MOBILE NAVIGATION
   Applies on every page. No desktop values are changed.
   ================================================================ */
@media (max-width: 700px){
  :root{--header-h:64px !important}
  .site-header{
    height:var(--header-h) !important;
    min-height:0 !important;
    z-index:5000 !important;
    pointer-events:auto !important;
    overflow:visible !important;
  }
  .site-header::after{
    background:linear-gradient(to bottom,rgba(16,18,20,.28),rgba(16,18,20,0)) !important;
  }
  .site-header.scrolled::after,
  .site-header.menu-open::after{
    background:rgba(39,45,50,.90) !important;
    -webkit-backdrop-filter:blur(16px) !important;backdrop-filter:blur(16px) !important;
  }
  .header-inner{
    display:block !important;
    height:var(--header-h) !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:visible !important;
    pointer-events:auto !important;
  }
  .header-inner .nav-link{display:none !important}
  .nav-accommodation,.accommodation-dropdown{display:none !important}
  .sticky-mark{
    left:50% !important;top:50% !important;width:54px !important;height:58px !important;
    z-index:4 !important;max-width:none !important;
  }
  .sticky-mark img{height:46px !important;width:auto !important;max-width:none !important}
  .site-header.menu-open .sticky-mark{
    opacity:1 !important;transform:translate(-50%,-50%) scale(1) !important;
  }
  .mobile-menu-toggle{
    position:absolute !important;
    left:max(16px,env(safe-area-inset-left)) !important;
    top:50% !important;z-index:8 !important;
    width:44px !important;height:44px !important;min-width:0 !important;
    transform:translateY(-50%) !important;
    display:flex !important;flex-direction:column !important;justify-content:center !important;
    place-items:initial !important;gap:5px !important;
    border:0 !important;padding:10px 8px !important;background:transparent !important;
    color:#fff !important;cursor:pointer !important;overflow:visible !important;
    box-sizing:border-box !important;touch-action:manipulation !important;
  }
  .mobile-menu-toggle span{
    display:block !important;width:25px !important;height:1px !important;flex:0 0 auto !important;
    background:currentColor !important;transform-origin:center !important;
    transition:transform .28s ease,opacity .2s ease,width .28s ease !important;
  }
  .site-header.menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg) !important}
  .site-header.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0 !important;width:0 !important}
  .site-header.menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg) !important}
  .utility{
    right:max(10px,env(safe-area-inset-right)) !important;
    height:var(--header-h) !important;padding:0 !important;gap:11px !important;
    background:transparent !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;
    z-index:7 !important;pointer-events:auto !important;
  }
  .site-header.scrolled .utility,.site-header.menu-open .utility{background:transparent !important}
  .utility-link:nth-child(1),.utility-link:nth-child(2),.utility-link:nth-child(3){display:none !important}
  .utility-link:nth-child(4){display:inline-grid !important;width:38px !important;height:44px !important}
  .utility-link svg{width:20px !important;height:20px !important}
  .language{margin-left:0 !important;pointer-events:auto !important}
  .language-button{
    min-width:55px !important;width:auto !important;height:40px !important;gap:6px !important;
    font-size:13px !important;letter-spacing:.13em !important;pointer-events:auto !important;
  }
  .language-menu{top:47px !important;right:0 !important;min-width:92px !important}
  .mobile-panel{
    position:fixed !important;top:var(--header-h) !important;left:0 !important;right:0 !important;
    width:auto !important;max-width:none !important;z-index:4999 !important;display:block !important;
    max-height:calc(100svh - var(--header-h)) !important;overflow-y:auto !important;
    padding:24px max(22px,env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left)) !important;
    background:rgba(39,45,50,.96) !important;color:#fff !important;
    opacity:0 !important;visibility:hidden !important;transform:translateY(-12px) !important;
    pointer-events:none !important;overscroll-behavior:contain !important;
    transition:opacity .28s ease,transform .32s ease,visibility .28s ease !important;
    box-sizing:border-box !important;
  }
  .site-header.menu-open .mobile-panel{
    opacity:1 !important;visibility:visible !important;transform:translateY(0) !important;pointer-events:auto !important;
  }
  .mobile-nav{display:grid !important}
  .mobile-nav a{
    display:flex !important;align-items:center !important;min-height:54px !important;
    border-bottom:1px solid rgba(255,255,255,.16) !important;color:#fff !important;
    text-decoration:none !important;font-size:19px !important;font-weight:300 !important;letter-spacing:.10em !important;
  }
}

/* ================================================================
   V91 — Kleines Apartment II: completely clean mobile rebuild of
   “Einfach hier sein / Simply be here” + the following discovery block.
   Desktop is intentionally untouched.
   ================================================================ */
@media (max-width: 700px){
  body[data-page="kleines-apartment-ii"] .accom-photo-moment.ksa-moment{
    position:relative !important;display:block !important;height:auto !important;min-height:0 !important;
    margin:0 !important;padding:58px 18px 66px !important;overflow:visible !important;
    background:#f7f2eb !important;isolation:isolate !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-sticky{
    display:contents !important;position:static !important;width:auto !important;height:auto !important;
    min-height:0 !important;margin:0 !important;padding:0 !important;overflow:visible !important;
    background:transparent !important;transform:none !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-frame{
    position:relative !important;display:block !important;width:100% !important;
    height:clamp(330px,74vw,460px) !important;min-height:330px !important;aspect-ratio:auto !important;
    margin:0 !important;border-radius:24px !important;overflow:hidden !important;
    -webkit-clip-path:none !important;clip-path:none !important;background:#ded4c8 !important;
    box-shadow:0 18px 46px rgba(49,39,29,.08) !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-frame img{
    position:absolute !important;inset:0 !important;display:block !important;width:100% !important;height:100% !important;
    min-height:0 !important;max-height:none !important;object-fit:cover !important;object-position:center 52% !important;
    transform:none !important;filter:none !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment-copy{
    position:relative !important;display:block !important;width:100% !important;height:auto !important;min-height:0 !important;
    margin:0 !important;padding:38px 6px 0 !important;overflow:visible !important;background:transparent !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption{
    position:static !important;display:block !important;width:100% !important;max-width:none !important;
    height:auto !important;min-height:0 !important;max-height:none !important;margin:0 !important;padding:0 !important;
    overflow:visible !important;opacity:1 !important;visibility:visible !important;transform:none !important;color:#28251f !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption small{
    display:block !important;margin:0 0 16px !important;color:#777267 !important;font-size:10px !important;
    line-height:1.5 !important;letter-spacing:.20em !important;text-transform:uppercase !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption h2{
    display:block !important;max-width:10ch !important;margin:0 0 22px !important;
    font-size:clamp(44px,12vw,62px) !important;line-height:.98 !important;letter-spacing:0 !important;font-weight:250 !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption p{
    display:block !important;width:100% !important;max-width:34em !important;height:auto !important;max-height:none !important;
    margin:0 !important;overflow:visible !important;font-size:17px !important;line-height:1.72 !important;
    letter-spacing:.02em !important;-webkit-line-clamp:unset !important;line-clamp:unset !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-moment-link{
    position:static !important;display:inline-flex !important;margin:27px 0 0 !important;padding:0 0 7px !important;
    font-size:10px !important;letter-spacing:.16em !important;border-bottom:1px solid #2b2723 !important;
  }

  body[data-page="kleines-apartment-ii"] .ksa-context{
    position:relative !important;z-index:0 !important;clear:both !important;margin:0 !important;
    padding:62px 18px 72px !important;background:#f1ece5 !important;overflow:visible !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-context .ksa-inner{
    width:100% !important;margin:0 !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-context-grid{
    display:grid !important;grid-template-columns:1fr !important;gap:16px !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-context-card{
    position:relative !important;inset:auto !important;display:flex !important;min-height:0 !important;
    padding:30px 26px !important;border-radius:22px !important;overflow:hidden !important;
    opacity:1 !important;visibility:visible !important;transform:none !important;
    box-shadow:0 15px 38px rgba(47,39,31,.07) !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-context-card:first-child{background:#fff !important;color:#28251f !important}
  body[data-page="kleines-apartment-ii"] .ksa-context-card:nth-child(2){background:#242622 !important;color:#fff !important}
  body[data-page="kleines-apartment-ii"] .ksa-context-card .ksa-kicker{
    margin:0 0 15px !important;font-size:10px !important;line-height:1.45 !important;letter-spacing:.17em !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-context-card h3{
    margin:0 !important;font-size:clamp(34px,9.7vw,46px) !important;line-height:1.03 !important;font-weight:250 !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-context-card p{
    margin:22px 0 0 !important;font-size:15px !important;line-height:1.68 !important;letter-spacing:.025em !important;
  }
  body[data-page="kleines-apartment-ii"] .ksa-context-arrow{
    margin-top:28px !important;padding-top:16px !important;font-size:10px !important;letter-spacing:.14em !important;
  }
}
@media (max-width:430px){
  body[data-page="kleines-apartment-ii"] .accom-photo-moment.ksa-moment{padding-left:16px !important;padding-right:16px !important}
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-frame{height:clamp(300px,82vw,360px) !important;min-height:300px !important}
  body[data-page="kleines-apartment-ii"] .ksa-moment-copy{padding-left:3px !important;padding-right:3px !important}
  body[data-page="kleines-apartment-ii"] .ksa-moment .accom-photo-caption h2{font-size:clamp(42px,12.4vw,54px) !important}
  body[data-page="kleines-apartment-ii"] .ksa-context{padding-left:16px !important;padding-right:16px !important}
  body[data-page="kleines-apartment-ii"] .ksa-context-card{padding:27px 22px !important}
}
