/* =========================================================
   v63 – dynamische Viewport-Höhen für Desktop
   =========================================================
   Mobile/Tablet bleiben vollständig bei den v61-Regeln.
   ========================================================= */
@media (min-width:1181px){
  body:not(.reader-mode) .page-main{
    height:100% !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  body:not(.reader-mode) .subpage{
    height:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    overflow:hidden !important;
  }
  body:not(.reader-mode) .page-grid{
    height:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    grid-template-rows:auto minmax(0,1fr) !important;
    align-content:stretch !important;
  }
  body:not(.reader-mode) .page-grid > .page-title{min-height:0}
  body:not(.reader-mode) .page-grid > :not(.page-title){
    min-height:0 !important;
    max-height:100% !important;
    align-self:stretch !important;
  }
  body:not(.reader-mode) .content-scroll,
  body:not(.reader-mode) .legal-document,
  body:not(.reader-mode) .audio-detail,
  body:not(.reader-mode) .contact-main-card,
  body:not(.reader-mode) .seo-event-card-v62{
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    align-self:stretch !important;
  }
  body:not(.reader-mode) .content-scroll,
  body:not(.reader-mode) .legal-document,
  body:not(.reader-mode) .seo-event-card-v62{
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
  }
  body:not(.reader-mode) .services-columns,
  body:not(.reader-mode) .services-columns-v19,
  body:not(.reader-mode) .landing-grid,
  body:not(.reader-mode) .offers-wrap,
  body:not(.reader-mode) .offer-columns,
  body:not(.reader-mode) .church-duo,
  body:not(.reader-mode) .brief-layout,
  body:not(.reader-mode) .brief-layout-v8,
  body:not(.reader-mode) .contact-layout{
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    align-self:stretch !important;
  }
  body:not(.reader-mode) .brief-layout-v8{align-items:stretch !important}
  body:not(.reader-mode) .brief-layout-v8 > .surface,
  body:not(.reader-mode) .brief-current-v8,
  body:not(.reader-mode) .archive-panel-v8{
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
  }
  body:not(.reader-mode) .archive-panel-v8{
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
  }
  body:not(.reader-mode) .service-venue-panel{
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
  }
  body:not(.reader-mode) .service-venue-scroll{
    min-height:0 !important;
    max-height:none !important;
  }
  body:not(.reader-mode) .archive-grid{
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    align-content:start !important;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:4px;
    scrollbar-gutter:stable;
  }
  body:not(.reader-mode) .landing-grid{grid-auto-rows:minmax(0,1fr)}
  body:not(.reader-mode) .church-duo > .church-feature,
  body:not(.reader-mode) .offer-columns > .offer-card,
  body:not(.reader-mode) .landing-grid > .landing-card{
    min-height:0 !important;
    height:auto !important;
  }
  body:not(.reader-mode) .offers-wrap{grid-template-rows:minmax(0,1fr) auto auto !important}
  body:not(.reader-mode) .audio-detail{overflow:hidden !important}
  body:not(.reader-mode) .audio-detail-list{
    min-height:0 !important;
    max-height:none !important;
    overflow-y:auto !important;
  }
  body:not(.reader-mode) .seo-event-card-v62{overflow:hidden}

  @media (min-width:2200px), (min-height:1150px){
    body:not(.reader-mode) .services-columns,
    body:not(.reader-mode) .services-columns-v19,
    body:not(.reader-mode) .landing-grid,
    body:not(.reader-mode) .offers-wrap,
    body:not(.reader-mode) .offer-columns,
    body:not(.reader-mode) .church-duo,
    body:not(.reader-mode) .contact-layout,
    body:not(.reader-mode) .content-scroll,
    body:not(.reader-mode) .brief-layout,
    body:not(.reader-mode) .brief-layout-v8,
    body:not(.reader-mode) .legal-document,
    body:not(.reader-mode) .audio-detail,
    body:not(.reader-mode) .seo-event-card-v62{
      height:100% !important;
      min-height:0 !important;
      max-height:none !important;
      align-self:stretch !important;
    }
  }
}
@media (min-width:2560px){
  .frame,.nav-shell,.footer-shell{width:min(1700px,88vw)}
}
