/* modern.css — Reise-Thema: Dunkelblau / Sand / Weiss
   Geladen als letzter <link> im <head> => gewinnt Kaskade ueber style.css
   Kein externer Font-Load (Performance + Datenschutz)
   ============================================================ */

/* ===== Design-Tokens ===== */
:root {
  --blue-deep:   #1e3a5f;
  --blue-mid:    #2c5f8a;
  --sand:        #c4956a;
  --sand-dark:   #a87a52;
  --sand-light:  #f5efe6;
  --white:       #ffffff;
  --bg:          #fafaf8;
  --text:        #2d3748;
  --text-muted:  #5a6a7a;
  --border:      #d8e0ea;
}

/* ===== Base / Typografie ===== */
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
               "Helvetica Neue", Arial, sans-serif;
  background-color: var(--bg);
  color: var(--text);
  line-height: 1.75;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--blue-deep);
  font-weight: 700;
  line-height: 1.3;
}

h1 { font-size: clamp(1.6rem, 3.5vw, 2.4rem); margin-bottom: 1rem; border-bottom: 2px solid var(--sand); padding-bottom: 0.5rem; }
h2 { font-size: clamp(1.2rem, 2.5vw, 1.65rem); margin-top: 2rem; margin-bottom: 0.75rem; }
h3 { font-size: clamp(1.05rem, 2vw, 1.3rem); color: var(--blue-mid); }

p { margin-bottom: 1.25rem; }

a { color: var(--blue-mid); text-decoration: none; }
a:hover { color: var(--sand-dark); text-decoration: underline; }

/* ===== Navbar ===== */
.navbar {
  background-color: var(--blue-deep) !important;
  border-bottom: 3px solid var(--sand) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.22);
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
}

.navbar-brand {
  color: var(--white) !important;
  font-family: Georgia, serif;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.navbar-brand:hover { color: var(--sand) !important; text-decoration: none; }

/* Alle nav-links weiss – Override fuer !important in style.css nicht noetig (weiss bleibt) */
.nav-link {
  color: var(--white) !important;
  font-weight: 500;
  padding: 0.45rem 0.9rem !important;
  border-radius: 4px;
  transition: background-color .15s ease, color .15s ease;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
  background-color: var(--sand) !important;
  color: var(--white) !important;
}

/* Mobile Toggler */
.navbar-toggler {
  border-color: rgba(255,255,255,.45);
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C255%2C255%2C0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ===== Dropdown ===== */
.dropdown-menu {
  border: 2px solid var(--sand) !important;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,.13);
  padding: 0.4rem 0;
  min-width: 200px;
}

.dropdown-item {
  color: var(--text);
  font-size: 0.9rem;
  padding: 0.45rem 1.2rem;
  transition: background-color .12s ease;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--sand-light);
  color: var(--blue-deep);
}

/* ===== Haupt-Content-Bereich ===== */
.container {
  max-width: 880px;
}

.container.mt-4 {
  background: var(--white);
  border-radius: 8px;
  padding: 2rem 2.25rem 1.75rem;
  box-shadow: 0 2px 20px rgba(30,58,95,.08);
  border: 1px solid var(--border);
  margin-bottom: 2rem;
}

/* ===== Footer ===== */
footer {
  background-color: var(--blue-deep) !important;
  border-top: 3px solid var(--sand) !important;
  color: var(--white) !important;
  padding: 1.4rem 1rem !important;
  margin-top: 0 !important;
}

footer a {
  color: var(--sand) !important;
  font-weight: 500;
}

footer a:hover {
  color: var(--white) !important;
  text-decoration: underline;
}

/* ===== Cookie-Banner ===== */
#cookie-banner {
  background-color: rgba(30,58,95,.97) !important;
  border-top: 3px solid var(--sand);
  color: var(--white);
  padding: 1.1rem 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  z-index: 9999;
}

#cookie-banner p {
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto;
  font-size: 0.9rem;
}

/* ===== Buttons ===== */
.btn-luxus {
  background-color: var(--sand) !important;
  color: var(--white) !important;
  border: none;
  border-radius: 4px;
  padding: 0.55rem 1.4rem;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}

.btn-luxus:hover {
  background-color: var(--sand-dark) !important;
  color: var(--white) !important;
}

/* ===== Responsive ===== */
@media (max-width: 767.98px) {
  .container.mt-4 {
    padding: 1.25rem 1rem 1rem;
    border-radius: 0;
    box-shadow: none;
    border-left: none;
    border-right: none;
  }

  .navbar-brand { font-size: 1.05rem; }

  h1 { font-size: 1.45rem; }
  h2 { font-size: 1.15rem; margin-top: 1.5rem; }
  h3 { font-size: 1.05rem; }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .container.mt-4 { padding: 1.75rem 1.5rem; }
}
