/* === SPIELPLATZVEREIN ALTENBERGE – custom.css === */
/* Hochladen unter: Einstellungen > Web-Dateien > Eigene Dateien */

/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;700&family=Montserrat:wght@400;500;600;700&display=swap');

/* Base */
body {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 400 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  color: #3a3a3a !important;
  -webkit-font-smoothing: antialiased;
}

/* Headings */
h1, .cd-title h1 { font-family: 'Caveat', cursive !important; color: #3d8abf !important; font-size: 42px !important; font-weight: 700 !important; }
h2, .cd-title h2 { font-family: 'Caveat', cursive !important; color: #3d8abf !important; font-size: 32px !important; font-weight: 700 !important; }
h3 { font-family: 'Montserrat', sans-serif !important; font-weight: 700 !important; color: #2c2c2c !important; }
h4 { font-family: 'Montserrat', sans-serif !important; font-weight: 600 !important; color: #2c2c2c !important; }
h5 { font-family: 'Montserrat', sans-serif !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: 0.04em; }
h6 { font-family: 'Caveat', cursive !important; color: #3d8abf !important; font-weight: 700 !important; }

/* Taglines */
.cd-tagline-1 { font-family: 'Caveat', cursive !important; color: #3d8abf !important; }
.cd-tagline-2 { font-family: 'Caveat', cursive !important; color: #4a9e3f !important; }

/* Links */
a { color: #4a9e3f !important; text-decoration: none !important; transition: color 0.2s; }
a:hover { color: #3a7e32 !important; text-decoration: underline !important; }

/* Body text */
.cd-text, .cd-text p, .cd-block p {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

/* --- NAV BAR --- */
.cd-navigation-bar-content {
  padding: 14px 24px !important;
  background: #fff !important;
  border-bottom: 1px solid #eee !important;
}

a.cd-club-name, a.cd-club-name:visited, a.cd-club-name:hover {
  font-family: 'Caveat', cursive !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  color: #3d8abf !important;
  text-decoration: none !important;
}

.cd-club-logo { height: 44px !important; }
.cd-club-logo-and-name { gap: 10px; }

a.cd-link-login, .cd-login-link-desktop a.cd-link-login {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #999 !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
a.cd-link-login:hover { color: #4a9e3f !important; opacity: 1 !important; }

/* --- DESKTOP MENÜ --- */
.cd-menubar .cd-menu-level-1 > ul {
  background: #fff !important;
  border-bottom: 3px solid #4a9e3f !important;
}

.cd-menubar .cd-menu-level-1 > ul a.cd-menu-item {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #3a3a3a !important;
  padding: 14px 16px !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -3px !important;
  transition: color 0.2s, border-color 0.2s !important;
}

.cd-menubar .cd-menu-level-1 > ul a.cd-menu-item:hover {
  color: #4a9e3f !important;
  text-decoration: none !important;
}

.cd-menubar .cd-menu-level-1 > ul .cd-menu-selected { background: transparent !important; }
.cd-menubar .cd-menu-level-1 > ul a.cd-menu-selected {
  color: #4a9e3f !important;
  border-bottom-color: #4a9e3f !important;
}

.cd-menubar .cd-menu-level-2 > ul {
  background: #f7faf6 !important;
  border-bottom: 1px solid #e8f0e6 !important;
}

.cd-menubar .cd-menu-level-2 > ul a.cd-menu-item {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #555 !important;
  padding: 10px 16px !important;
  text-transform: none !important;
}

.cd-menubar .cd-menu-level-2 > ul a.cd-menu-selected,
.cd-menubar .cd-menu-level-2 > ul a.cd-menu-item:hover { color: #4a9e3f !important; }
.cd-menubar .cd-menu-level-2 > ul .cd-menu-selected { background: transparent !important; }

.cd-menubar .cd-menu-level-3 > ul { background: #f0f5ef !important; }
.cd-menubar .cd-menu-level-3 > ul a.cd-menu-item {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #666 !important;
  padding: 8px 16px !important;
}
.cd-menubar .cd-menu-level-3 > ul a.cd-menu-selected,
.cd-menubar .cd-menu-level-3 > ul a.cd-menu-item:hover { color: #4a9e3f !important; }
.cd-menubar .cd-menu-level-3 > ul .cd-menu-selected { background: transparent !important; }

/* --- MOBILE MENÜ --- */
.cd-mobile-menu-bar-content {
  background: #fff !important;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08) !important;
  padding: 10px 16px !important;
}

.cd-mobile-menu-button .menu-label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #4a9e3f !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.cd-mobile-menu-button .nav-icon span { background: #4a9e3f !important; height: 2px !important; }
.cd-mobile-menu-button .nav-icon.open span { background: #4a9e3f !important; }
.cd-mobile-menu-button:hover { opacity: 0.8 !important; }
.cd-mobile-menu-button:focus { outline: 3px solid rgba(74,158,63,0.4); border-radius: 4px; }

.cd-mobile-menu .cd-mobile-menu-level-1 { background: #fff !important; }
.cd-mobile-menu .cd-mobile-menu-background { background: rgba(255,255,255,0.98) !important; }

.cd-mobile-menu .cd-mobile-menu-level-1 a.cd-menu-item {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #3a3a3a !important;
  border-bottom: 1px solid #e8f5e4 !important;
}

.cd-mobile-menu .cd-mobile-menu-level-2 { background: #f5faf4 !important; }
.cd-mobile-menu .cd-mobile-menu-level-2 a.cd-menu-item {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #555 !important;
  border-bottom: 1px solid #dde8db !important;
}

.cd-mobile-menu .cd-mobile-menu-level-3 { background: #eef5ec !important; }
.cd-mobile-menu .cd-mobile-menu-level-3 a.cd-menu-item {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  color: #666 !important;
}

.cd-mobile-menu .cd-menu-selected { font-weight: 600 !important; font-style: normal !important; }
.cd-mobile-menu .cd-mobile-menu-level-1 > ul > li > .cd-menu-selected,
.cd-mobile-menu .cd-mobile-menu-level-1 > ul > li > .cd-menu-active { color: #4a9e3f !important; background: #f5faf4 !important; }
.cd-mobile-menu .cd-mobile-menu-level-2 > ul > li > .cd-menu-selected,
.cd-mobile-menu .cd-mobile-menu-level-2 > ul > li > .cd-menu-active { color: #4a9e3f !important; }
.cd-mobile-menu .cd-mobile-menu-level-3 a.cd-menu-active { color: #4a9e3f !important; }
.cd-mobile-menu .cd-menu-expander { color: #4a9e3f !important; }

/* Border styles mobile selection */
.cd-mobile-menu .cd-mobile-menu-level-1 > ul > li > .cd-menu-selected {
  border: 2px solid #4a9e3f !important;
  border-radius: 4px !important;
}

/* --- TO-TOP BUTTON --- */
.cd-totop-button {
  background: #4a9e3f !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 42px !important;
  height: 42px !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.12) !important;
  border: none !important;
}
.cd-totop-button:hover { background: #3a7e32 !important; }

/* --- BUTTONS --- */
.cd-button-primary, a.cd-button-primary {
  background: #4a9e3f !important;
  color: #fff !important;
  border: 1px solid #4a9e3f !important;
  border-radius: 4px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}
.cd-button-primary:hover, a.cd-button-primary:hover {
  background: #3a7e32 !important;
  color: #fff !important;
  text-decoration: none !important;
}

.cd-button-secondary, a.cd-button-secondary {
  background: transparent !important;
  color: #4a9e3f !important;
  border: 1px solid #4a9e3f !important;
  border-radius: 4px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
}
.cd-button-secondary:hover, a.cd-button-secondary:hover {
  background: #f5faf4 !important;
  text-decoration: none !important;
}

/* --- HORIZONTALE LINIE --- */
hr, .cd-horizontal-ruler { border-color: #4a9e3f !important; }

/* --- SIDEBAR --- */
.sidebar-wrapper { border-left-color: #e8f5e4 !important; }

/* --- COOKIE CONSENT --- */
.cc-window, .cc-revoke {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  background: #f7f9f7 !important;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.06) !important;
  color: #3a3a3a !important;
}
a.cc-link, a.cc-link:active, a.cc-link:visited { color: #4a9e3f !important; }
a.cc-link:hover { color: #3a7e32 !important; text-decoration: underline !important; }
.cc-btn { background: #4a9e3f !important; color: #fff !important; border-radius: 4px !important; }
.cc-btn:first-child { background: transparent !important; color: #666 !important; }

/* --- TABELLEN --- */
.cd-table th, .cd-data-table th {
  background: #4a9e3f !important;
  color: #fff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 600 !important;
}

/* --- BILDER --- */
.cd-block img { border-radius: 4px; }

/* --- FORMULARE --- */
.cd-form input, .cd-form textarea, .cd-form select {
  font-family: 'Montserrat', sans-serif !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  padding: 8px 12px !important;
}
.cd-form input:focus, .cd-form textarea:focus, .cd-form select:focus {
  border-color: #4a9e3f !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(74,158,63,0.15) !important;
}

/* --- FOOTER --- */
footer { font-family: 'Montserrat', sans-serif !important; }