/* Zweck: Seitenrahmen, globale Dokumentgeometrie und Footer | Schicht: Shell | Ladende Seiten: alle Shell-Seiten */
*,
*::before,
*::after{box-sizing:border-box}
html{min-height:100%;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth}
body{min-width:0;min-height:100vh;margin:0;overflow-x:hidden;overflow-y:auto;background:var(--amg-mint);color:var(--amg-ink);font-family:var(--book-sans);font-size:17px;line-height:1.58}

.site-shell{display:grid;grid-template-columns:minmax(0,1fr) var(--site-ad-width,320px);gap:var(--site-shell-gap);align-items:start;width:min(100%,var(--site-canvas-width));min-width:0;max-width:var(--site-canvas-width);min-height:100vh;margin:0 auto;overflow:visible;padding:12px 0 0}
.site-content-frame{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:auto;min-width:0;max-width:none;min-height:0;overflow:visible;flex:1}
.site-main{min-width:0;min-height:0;overflow:visible}

/* Werbeslot-Geometrie; die Gestaltung der Anzeigen gehoert ad.css. */
.site-shell>.ad-column{width:var(--ad);flex:0 0 var(--ad)}
.site-ad-column{position:relative;width:var(--site-ad-width,320px);min-width:0;min-height:1px;overflow:visible}
.ad-column.site-ad-column{width:var(--site-ad-width,320px);min-width:var(--site-ad-width,320px);flex:0 0 var(--site-ad-width,320px)}

.site-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;min-height:116px;padding:2.1rem var(--site-content-inset-right) 2.1rem var(--site-content-inset-left);border-top:1px solid rgba(22,94,94,.16);background:var(--amg-mint);color:#284c4d;font-family:var(--book-sans)}
.site-footer__identity{min-width:0}
.site-footer__brand{font-size:.9rem;font-weight:850}
.site-footer__copy{margin:.5rem 0 0;color:#7a8d8b;font-size:.78rem;letter-spacing:.08em}
.site-footer__links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:clamp(1rem,2vw,1.9rem)}
.site-footer__links a{color:#385c5d;font-size:.8rem;font-weight:700;text-decoration:none}

html[data-theme="dark"] body{background:var(--amg-mint);color:var(--amg-ink)}
html[data-theme="dark"] .site-footer{border-color:rgba(206,235,232,.18);background-color:rgba(18,39,42,.96);color:var(--amg-ink)}

@media(max-width:960px){
  .site-shell{grid-template-columns:1fr}
  .site-ad-column{position:static;width:100%}
}

@media(max-width:820px){
  .site-shell{width:min(100vw - 24px,1020px);max-width:1020px;align-items:stretch}
  .site-content-frame{width:100%}
  .site-shell>.ad-column,.ad-column.site-ad-column{width:100%;min-width:0;order:99}
}

@media(max-width:760px){
  .site-footer{grid-template-columns:1fr;align-items:start;padding-right:1.25rem;padding-left:1.25rem}
  .site-footer__links{justify-content:flex-start}
}

@media(max-width:620px){body{font-size:16px}}
