/*
  Anpassung: Farbschema & Stil angelehnt an www.burg-gretesch.de
  Annahmen:
   - Hauptmarke ist ein kräftiges TSG-Grün (approx. #00683C)
   - Akzentfarbe ein warmes Gelb/Gold (approx. #FFD34D)
   - System-/Webfont-Fallbacks verwendet (keine externe Font eingebunden)
*/
:root{
  --brand: #001383;      /* Hauptgrün (TSG-ähnlich) */
  --brand-dark: #53668d; /* dunklere Variante für Hover */
  --accent: #FFD34D;     /* warmes Gelb/Gold */
  --muted: #6b6b6b;
  --page-bg: #e5e7eb;    /* leichtes Grau für ruhigen Hintergrund */
  --card-bg: #FFFFFF;
  --border: #e6e6e6;
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:"Segoe UI",Roboto,Inter,Arial,Helvetica,sans-serif;background:var(--page-bg);color:#111;line-height:1.45}

.container{max-width:1100px;margin:0 auto;padding:0 18px}

/* Header */
.site-header{background:var(--brand);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,0.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;text-decoration:none;color:inherit}
.logo{width:64px;height:64px;object-fit:contain;margin-right:14px;border-radius:6px;background:rgba(255,255,255,0.06);padding:6px}
.brand-text h1{font-size:20px;margin:0;font-weight:600}
.brand-text .tag{font-size:12px;margin:0;opacity:.95}

.main-nav{position:relative}
.nav-list{list-style:none;margin:0;padding:0;display:flex;gap:14px;align-items:center}
.nav-list a{color:#fff;text-decoration:none;padding:10px 12px;border-radius:6px;font-weight:600;font-size:14px;transition:background .18s,transform .12s}
.nav-list a:hover{background:rgba(255,255,255,.08);transform:translateY(-1px)}
.nav-toggle{display:none;background:transparent;border:0;color:#fff;font-size:20px}

/* Active / current nav item */
.nav-list a.active, .nav-list a[aria-current="page"]{
  background:rgba(255,255,255,0.12);
  box-shadow:inset 0 -3px 0 rgba(0,0,0,0.06);
  transform:none;
}
.nav-list a:focus{
  outline:2px solid rgba(255,255,255,0.12);
  outline-offset:2px;
}

/* Frame area */
.frame-area{padding:28px 0}
.frame-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.open-new{font-size:14px;color:var(--brand);text-decoration:none;padding:8px 12px;border-radius:6px;background:transparent;border:1px solid var(--brand);font-weight:600}
.open-new:hover{background:var(--brand);color:#fff;border-color:var(--brand-dark)}

.frame-wrapper{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--card-bg);box-shadow:0 4px 14px rgba(4,4,4,0.03)}
iframe#content-frame{width:100%;height:70vh;border:0;display:block}
.frame-fallback{padding:20px;background:var(--card-bg);color:var(--muted)}

/* Buttons */
.btn{display:inline-block;padding:10px 14px;border-radius:8px;text-decoration:none;font-weight:700}
.btn-primary{background:var(--brand);color:#fff;border:1px solid var(--brand)}
.btn-primary:hover{background:var(--brand-dark)}
.btn-accent{background:var(--accent);color:#122; border:1px solid rgba(0,0,0,0.06)}

/* Footer */
.site-footer{padding:22px 0;border-top:1px solid var(--border);font-size:14px;color:var(--muted);background:transparent}
.site-footer a{color:var(--brand);text-decoration:none}

/* Responsive */
@media (max-width:920px){
  .logo{width:56px;height:56px}
  .brand-text h1{font-size:18px}
}

@media (max-width:720px){
  .nav-list{display:none;position:absolute;right:8px;top:64px;background:var(--brand);flex-direction:column;padding:8px;border-radius:8px;min-width:160px;box-shadow:0 6px 18px rgba(0,0,0,0.12)}
  .nav-toggle{display:inline-block}
}

/* Utility helpers */
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}

/* End of custom styles */

/* Theme palette variants — benutze `body.theme-default` oder `body.theme-alt` zum Umschalten */
body.theme-default{
  --brand: #001383;
  --brand-dark: #53668d;
  --accent: #FFD34D;
  --page-bg: #e5e7eb;
  --card-bg: #FFFFFF;
  --border: #e6e6e6;
}

body.theme-alt{
  /* alternative Variante, etwas dunkler/grüner */
  --brand: #001383;
  --brand-dark: #53668d;
  --accent: #F0C75E;
  --page-bg: #FFFFFF;
  --card-bg: #FFFFFF;
  --border: #eeeeee;
}

/* Tipp: im HTML <body class="theme-alt"> setzen, um die alternative Palette zu aktivieren */

/* Styles for include container and iframe handling */
.include-container{padding:18px;background:var(--card-bg);min-height:60vh}
iframe#content-frame{width:100%;height:70vh;border:0;display:block}
.frame-wrapper iframe[hidden]{display:none}
/* hide include container when hidden attribute present */
.include-container[hidden]{display:none}
