html { font-size: 14px; }
@media (min-width: 768px) { html { font-size: 16px; } }

:root {
    --rtv-rot: #c0392b;
    --rtv-rot-dunkel: #96281b;
    --rtv-rot-hell: #e74c3c;
}

html { position: relative; min-height: 100%; }
body { margin-bottom: 0; }

/* Navbar */
.navbar-rtv { background-color: var(--rtv-rot); }
.navbar-rtv .navbar-brand,
.navbar-rtv .nav-link { color: #fff !important; }
.navbar-rtv .nav-link:hover,
.navbar-rtv .nav-link.active { color: #ffd0cc !important; }
.navbar-rtv .dropdown-menu { border-top: 3px solid var(--rtv-rot); }

/* Buttons */
.btn-rtv { background-color: var(--rtv-rot); color: #fff; border: none; }
.btn-rtv:hover { background-color: var(--rtv-rot-dunkel); color: #fff; }
.btn-outline-rtv { color: var(--rtv-rot); border-color: var(--rtv-rot); }
.btn-outline-rtv:hover { background-color: var(--rtv-rot); color: #fff; }

/* Accent */
.text-rtv { color: var(--rtv-rot); }
.bg-rtv { background-color: var(--rtv-rot); color: #fff; }
.border-rtv { border-color: var(--rtv-rot) !important; }

/* Cards */
.card-rtv .card-header { background-color: var(--rtv-rot); color: #fff; }

/* Badge Status */
.status-gruen { color: #27ae60; font-size: 1.2rem; }
.status-gelb  { color: #f39c12; font-size: 1.2rem; }
.status-rot   { color: var(--rtv-rot); font-size: 1.2rem; }

/* Footer */
footer { background-color: #343a40; color: #adb5bd; padding: 1.5rem 0; margin-top: 3rem; }
footer a { color: #adb5bd; }
footer a:hover { color: #fff; }

/* Logo */
.navbar-brand img { height: 40px; margin-right: 8px; }

/* Hero */
.hero-banner {
    background: linear-gradient(135deg, var(--rtv-rot) 0%, var(--rtv-rot-dunkel) 100%);
    color: #fff;
    padding: 3rem 0;
    margin-bottom: 2rem;
}

/* Tables */
.table thead.table-rtv th { background-color: var(--rtv-rot); color: #fff; }

/* Forum */
.forum-thema-gesperrt { opacity: 0.6; }
.forum-beitrag { border-left: 3px solid var(--rtv-rot); padding-left: 1rem; }

/* Turnier Kapazität */
.kapazitaet-voll  { color: var(--rtv-rot); font-weight: bold; }
.kapazitaet-knapp { color: #f39c12; }
.kapazitaet-ok    { color: #27ae60; }

/* Quill Editor */
.ql-container { min-height: 200px; }

/* Focus */
.btn:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--rtv-rot-hell);
}
