/* Utvist Medieval Theme Overrides
   - Works on top of Bootstrap 5
   - No CDN required (Cinzel will fall back to Times if not loaded)
*/

/* cinzel-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/cinzel-v26-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* cinzel-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/cinzel-v26-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


:root{
  --bg:#0e0d0a; --panel:#1b1a16; --panel-2:#14130f; --line:#2a281f; --text:#eee;
  --muted:#b7a27a; --accent:#c9a227; --accent-2:#836a2b; --danger:#b43f3f; --success:#6da34d;
}

/* Base */
html,body{height:100%}
body{
  background:var(--bg); color:var(--text);
  font-family:"Cinzel","Times New Roman",serif;
  display:flex; flex-direction:column;
}
a{color:var(--accent)}
a:hover{color:#e9c85e}

/* Navbar & Footer */
.navbar{background:#111;border-bottom:1px solid var(--line)}
.footer{margin-top:auto;background:#111;border-top:1px solid var(--line);color:#ccc}

/* Cards */
.card{background:var(--panel);border:1px solid var(--line);border-radius:1rem;overflow:hidden}
.card-header{background:var(--panel-2);border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.04em}

/* Buttons */
.btn{
  border:1px solid var(--line);
  background:linear-gradient(180deg,#1f1d16 0%, #13120e 100%);
  color:var(--text);
  border-radius:.75rem;
  box-shadow:0 2px 0 0 #000 inset, 0 0 0 1px #000;
}
.btn:hover{background:linear-gradient(180deg,#242219 0%, #15140f 100%)}
.btn:active{transform:none}
.btn-outline-light{color:var(--accent);border-color:var(--accent-2)}
.btn-outline-light:hover{background:rgba(201,162,39,.08);color:var(--accent)}
.btn-danger{border-color:#5a2323;background:linear-gradient(180deg,#3b1c1c, #1d0f0f)}
.btn-success{border-color:#2b3b22;background:linear-gradient(180deg,#233018,#141b0e)}

/* Tables */
.table{color:var(--text)}
.table thead th{background:var(--panel-2);color:var(--muted);position:sticky;top:0}
.table tbody tr:nth-child(odd){background:#181712}
.table tbody tr:hover{background:#201f18}

/* Hero */
.hero{
  background: radial-gradient(ellipse at center, rgba(201,162,39,.12) 0%, rgba(0,0,0,0) 70%);
  padding:3rem 1rem; text-align:center;
}
.hero h1{font-variant: small-caps; letter-spacing:.08em}

/* Avatars */
.avatar{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--line)}

/* Badges */
.badge{background:var(--accent);color:#000;border-radius:.5rem}

/* Forms */
label{color:var(--muted)}
.form-control, .form-select, textarea, input[type="text"], input[type="email"], input[type="date"], input[type="password"]{
  background:#12110d; color:var(--text); border:1px solid var(--line); border-radius:.7rem;
}
.form-control:focus, .form-select:focus, textarea:focus, input:focus{
  background:#15130f; color:var(--text); border-color:var(--accent-2);
  box-shadow:0 0 0 .2rem rgba(201,162,39,.2);
}
::placeholder{color:#8e7b56; opacity:1}

/* Gallery grid */
.gallery-grid{display:grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap:1rem;}

/* Spacing for fixed navbar */
main{padding-top:70px}

/* Bessere Lesbarkeit für Standardtext */
body, p, .card-body, .card-text {
  color: #f5f5f5; /* sehr hell, guter Kontrast */
}

/* Card-Titel (z. B. Heerlager-Namen) */
.card-title, .member-name {
  color: #fffbe6; /* fast weiß, leicht warm */
  font-weight: 700;
}

/* News-Überschriften */
.news-title, .card-header h5, h2, h3 {
  color: #ffe27a; /* goldener Ton */
}

/* News-Content oder Artikeltext */
.news-content, .article-text {
  color: #f5f5f5;
  line-height: 1.5;
}

/* Tabellen-Inhalte lesbarer */
.table td, .table th {
  color: #f0f0f0;
}

/* Links im Content */
.card-body a, .news-content a {
  color: #c9a227;
}
.card-body a:hover, .news-content a:hover {
  color: #e9c85e;
}

/* -------- Fix für News-Datum -------- */
.text-muted,
.news-date,
.card-subtitle {
  color: #bbb !important; /* hellgrau, gut lesbar auf dunkel */
  font-size: 0.9rem;
}

/* -------- Fix für Kalender-Tabelle -------- */
.table,
.table td,
.table th {
  background: transparent !important; /* kein weißer Hintergrund */
  color: #f0f0f0; /* heller Text */
  border-color: var(--line);
}

/* Tabellen-Header etwas absetzen */
.table thead th {
  background: var(--panel-2) !important;
  color: var(--muted) !important;
}

/* Heerlager-Mitgliederkarten */
.card .card-title,
.member-name,
.user-name {
  color: #ffe27a !important;   /* hell-goldener Ton */
  font-weight: 700;
  text-align: center;
  margin-top: 0.5rem;
}

/* Heerlager: Namen in Karten gut lesbar machen */
.card .card-title,
.card .card-title a,
.card .member-name,
.card .user-name,
.card .card-body > h5,
.card .card-body > h4,
.card .card-title.text-muted,
.card .card-title .text-muted {
  color: #fffbe6 !important;           /* sehr hell, warm */
  text-shadow: 0 1px 0 rgba(0,0,0,.6); /* leichter Kontrast-Schub */
}

/* Falls Namen als Link gesetzt sind */
.card .card-title a:hover {
  color: #ffe79a !important;
  text-decoration: none;
}

/* Sicherheitshalber: alles .text-muted IN Cards etwas heller */
.card .text-muted {
  color: #c8c8c8 !important;
}
/* Heerlager-Namen in Cards */
.card .card-body h3,
.card .card-body h4,
.card .card-body h5,
.card .card-body h6 {
  color: #fffbe6 !important;           /* hell, warm */
  font-weight: 700;
  text-align: center;
  text-shadow: 0 1px 0 rgba(0,0,0,.6); /* Kontrast verstärkt */
}
/* --- Heerlager: Name-Fix (stärkerer Selektor, exakt für <h3 class="h5 mb-1">...) --- */
.card h3.h5.mb-1,
.card .card-body h3.h5.mb-1,
.card h3.h5,
.card .card-body h3.h5 {
  color: #fffbe6 !important;            /* sehr hell, warm */
  font-weight: 700;
  text-align: center;
  text-shadow: 0 1px 0 rgba(0,0,0,.6);
}
