/* Global visual polish: spacing, consistency and responsive behavior */
:root{
  --site-max:1180px;
  --space-1:.5rem;
  --space-2:.75rem;
  --space-3:1rem;
  --space-4:1.5rem;
  --space-5:2rem;
  --space-6:3rem;
  --radius-sm:12px;
  --radius-md:18px;
  --radius-lg:24px;
  --line:#e5e9e4;
}
html{scroll-padding-top:92px}
body{line-height:1.6;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}
.container,.page-container,.content-container{width:min(var(--site-max),92%);margin-inline:auto}
main{min-height:45vh}
section,.section{scroll-margin-top:92px}
.section{padding-block:clamp(42px,6vw,78px)}
.section+.section{padding-top:0}
.page-hero,.hero{padding-block:clamp(58px,8vw,108px)}
.page-hero h1,.hero h1{margin-bottom:clamp(14px,2vw,24px)}
.page-hero p,.hero p{max-width:760px}
h1,h2,h3,h4{line-height:1.15;text-wrap:balance}
p{margin-top:0}
p:last-child{margin-bottom:0}
.card,.panel,.box,.content-card,.dashboard-card,.admin-card,.feature-card,.stat-card,.quick-card{
  border-radius:var(--radius-md);
}
.card,.panel,.box,.content-card{padding:clamp(18px,2.5vw,30px)}
.card+.card,.panel+.panel,.box+.box{margin-top:var(--space-4)}
.grid,.cards,.card-grid,.feature-grid,.dashboard-grid,.stats-grid,.quick-grid{
  gap:clamp(16px,2vw,26px);
}
form{max-width:100%}
.form,.form-grid,.field-grid{gap:18px}
label{line-height:1.35}
input,select,textarea,button{font:inherit}
input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{
  min-height:46px;padding:11px 13px;border-radius:11px;
}
textarea{min-height:130px;resize:vertical}
button,.btn,.button,a.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:999px;line-height:1.2}
.actions,.button-row,.form-actions,.toolbar,.admin-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.table-wrap,.table-responsive,.responsive-table{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius-md)}
table{width:100%;border-collapse:separate;border-spacing:0}
th,td{padding:13px 14px;vertical-align:middle}
th{white-space:nowrap}
.notice,.alert,.message{padding:14px 17px;border-radius:12px;margin-bottom:20px}
.badge,.pill,.status{display:inline-flex;align-items:center;gap:6px;line-height:1.2}
.navbar{gap:18px}
.navbar nav,.main-nav{min-width:0}
.global-site-footer{margin-top:clamp(48px,7vw,84px)!important}
.global-site-footer__inner{gap:clamp(22px,4vw,46px)!important}
.global-site-footer__links{align-items:center}
/* Legacy page footers */
.footer{margin-top:clamp(48px,7vw,84px)}
.footer-content{gap:clamp(24px,4vw,48px)}
.footer-links{gap:10px 18px}
/* Admin consistency */
.admin-shell,.admin-layout{min-height:100vh}
.admin-main,.admin-content{padding:clamp(20px,3vw,42px)}
.admin-header,.admin-page-header{margin-bottom:clamp(22px,3vw,36px)}
.admin-grid,.admin-card-grid{gap:clamp(16px,2vw,24px)}
.admin-card{padding:clamp(18px,2.3vw,28px)}
/* Email builder */
.builder-layout,.email-builder-grid{gap:24px}
.builder-panel,.preview-panel{padding:clamp(18px,2.5vw,30px)}
/* Volleyball */
.match-card,.game-card,.team-card,.round-card{padding:clamp(16px,2vw,24px);border-radius:var(--radius-md)}
.round-section+.round-section{margin-top:32px}
.scoreboard,.live-score{gap:clamp(12px,2vw,24px)}
/* Legal text */
.legal-content{max-width:860px;margin-inline:auto}
.legal-content h2{margin-top:2.1em;margin-bottom:.65em}
.legal-content h3{margin-top:1.6em;margin-bottom:.55em}
.legal-content ul,.legal-content ol{padding-left:1.35rem}
@media (max-width:900px){
  .section{padding-block:46px}
  .navbar{min-height:70px}
  .admin-main,.admin-content{padding:22px 16px 34px}
  .builder-layout,.email-builder-grid{grid-template-columns:1fr!important}
}
@media (max-width:700px){
  :root{--radius-md:15px}
  .container,.page-container,.content-container{width:min(100% - 28px,var(--site-max))}
  .page-hero,.hero{padding-block:48px}
  .section{padding-block:38px}
  .card,.panel,.box,.content-card{padding:18px}
  .grid,.cards,.card-grid,.feature-grid,.dashboard-grid,.stats-grid,.quick-grid{grid-template-columns:1fr!important}
  .actions,.button-row,.form-actions,.toolbar,.admin-actions{align-items:stretch}
  .actions>* ,.button-row>* ,.form-actions>*{width:100%}
  button,.btn,.button,a.btn{width:100%}
  th,td{padding:11px 12px}
  .global-site-footer__links{grid-template-columns:1fr 1fr!important}
}
@media (max-width:430px){
  .container,.page-container,.content-container{width:min(100% - 22px,var(--site-max))}
  .global-site-footer__links{grid-template-columns:1fr!important}
  h1{font-size:clamp(1.8rem,9vw,2.45rem)}
  h2{font-size:clamp(1.4rem,7vw,1.95rem)}
}

/* Unterseiten: ruhiger Wallpaper-Hero ohne Text-Overlay. Die Landingpage bleibt bewusst ausgenommen. */
body:not(.landing-final) .hero,
body:not(.landing-final) .page-hero,
body:not(.landing-final) .live-hero,
body:not(.landing-final) .chronik-hero{
  min-height:clamp(360px,52vh,620px)!important;
  padding:0!important;
  background:url('../Images/hero.jpg') center/cover no-repeat!important;
  color:transparent!important;
}
body:not(.landing-final) .hero::before,
body:not(.landing-final) .hero::after,
body:not(.landing-final) .page-hero::before,
body:not(.landing-final) .page-hero::after,
body:not(.landing-final) .live-hero::before,
body:not(.landing-final) .live-hero::after,
body:not(.landing-final) .chronik-hero::before,
body:not(.landing-final) .chronik-hero::after{display:none!important;}
body:not(.landing-final) .hero > *,
body:not(.landing-final) .page-hero > *,
body:not(.landing-final) .live-hero > *,
body:not(.landing-final) .chronik-hero > *{
     visibility:hidden!important;
     pointer-events:none!important;
   }

/* Vorstand cards intentionally remain open and editorial, without panel styling. */
.board-card,
.board-card:hover{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
}


/* === 10/10 Premium-Finish Upgrade === */
:root{--green-dark:#10281a;--green:#17613a;--green-2:#24824e;--green-light:#e8f3eb;--gold:#c99a2e;--gold-light:#f4ddb0;--dark:#111812;--text:#243028;--muted:#65746a;--light:#f4f7f2;--white:#fff;--line:rgba(20,60,36,.13);--shadow:0 22px 70px rgba(16,40,26,.14);--shadow-soft:0 10px 34px rgba(16,40,26,.08);--radius:26px;--radius-md:18px;--site-max:1180px}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 15% 0%,#edf8f0 0,#f7f7f2 34%,#f3f6f2 100%);color:var(--text);-webkit-font-smoothing:antialiased}.header{background:rgba(255,255,255,.86)!important;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);border-bottom:1px solid rgba(20,60,36,.11);box-shadow:0 8px 35px rgba(16,40,26,.08)!important}.navbar{min-height:82px}.logo img{filter:drop-shadow(0 8px 16px rgba(16,40,26,.16))}.hero{background:linear-gradient(115deg,rgba(8,31,18,.94) 0%,rgba(16,75,43,.80) 48%,rgba(15,45,29,.58) 100%),url('../Images/hero.jpg') center/cover no-repeat!important}.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(201,154,46,.31),transparent 25%),radial-gradient(circle at 18% 90%,rgba(255,255,255,.12),transparent 24%);pointer-events:none}.hero h1{font-size:clamp(2.35rem,5.4vw,5.35rem)!important;font-weight:1000!important;letter-spacing:-.055em}.hero p{font-size:clamp(1.06rem,1.8vw,1.26rem)!important}.hero-badge,.section-label{box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}.section h2{font-weight:1000!important;letter-spacing:-.04em}.card,.panel,.box,.festival-main-card,.festival-program-card,.news-card,.feature-card,.program-day,.member-card,.contact-card,.download-card,.king-card,.board-card,.timeline-card,.form-card,.application-card{background:rgba(255,255,255,.9)!important;border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow-soft)!important}.festival-main-card:hover,.festival-program-card:hover,.news-card:hover,.feature-card:hover,.program-day:hover,.board-card:hover,.king-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)!important;border-color:rgba(23,97,58,.24)!important}.btn-primary,.primary-button,.admin-btn:not(.secondary):not(.danger):not(.ghost),.cookie-btn.primary{background:linear-gradient(135deg,var(--gold),#efc763)!important;color:#17140b!important;box-shadow:0 14px 34px rgba(201,154,46,.28)!important}.btn-secondary{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important}input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea{border-radius:14px!important;border:1px solid #cddbd1!important}input:focus,select:focus,textarea:focus{border-color:var(--green)!important;box-shadow:0 0 0 4px rgba(23,97,58,.13)!important}.global-site-footer,.footer{background:linear-gradient(135deg,#0e2317,#12351f)!important}.admin-hero{background:linear-gradient(135deg,#10281a,#17613a 58%,#24824e)!important;border-radius:34px!important}.admin-card,.admin-panel{border-radius:26px!important;box-shadow:var(--shadow-soft)!important}.admin-card:hover{transform:translateY(-5px)!important;box-shadow:var(--shadow)!important}.table-wrap,.admin-table-scroll{border-radius:20px!important}.cookie-popup{border:1px solid rgba(23,97,58,.12);box-shadow:0 30px 90px rgba(0,0,0,.28)!important}@media(max-width:900px){.navbar{min-height:72px}.section{text-align:left}.section p{margin-left:0}.hero{min-height:auto!important;padding:72px 0!important}.hero-buttons .btn{width:100%}.festival-overview,.festival-info-grid,.news-grid,.features-grid,.cards-grid,.admin-grid{grid-template-columns:1fr!important}}@media(max-width:520px){.card,.panel,.box,.festival-main-card,.festival-program-card{border-radius:20px!important;padding:22px!important}.section{padding-block:44px}.btn,.button,a.btn{width:100%}}
/* Vorstand cards intentionally remain open and editorial, without panel styling. */
.board-card,
.board-card:hover{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transform:none!important;
}
