/* Eigener Style für den Clear-Button */
.btn-clear-hover {
    /* Standard-Zustand (schon im Makro, aber zur Sicherheit) */
    background-color: white !important; 
    color: #6c757d; /* Bootstrap 'secondary' Grau */
}

.btn-clear-hover:hover {
    /* HOVER-Zustand: */
    background-color: white !important; /* Hintergrund BLEIBT weiß */
    border-color: #dee2e6 !important;   /* Rahmen BLEIBT grau (Bootstrap standard border) */
    color: #dc3545 !important;          /* Nur das Icon wird ROT (Bootstrap 'danger') */
}

/*Button CSS
button:hover {
    transform: scale(1.1);
    transition: transform 0.2s ease;
}
a:hover{
    transform: scale(1.1);
    transition: transform 0.2s ease;
}*/
/* ffp */
/* für gültig von und bis und Timestamps. Bei Nicht-Bedarf einfach ausblenden*/
.validfrom {
  display: block;
}
.validto {
  display: block;
}
.created {
  display: block;
}
.modified {
  display: block;
}

/* Farbanpassungen */
.bi-trash {
    color: #D61500;
}
.btn-edit { color: #3b0303; }
.btn-del { color: #dc3545; }

.adresse-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
}
.adresse-tile {
  display: block;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 0.8rem;
  text-decoration: none;
  color: #333;
  background-color: #fff;
  transition: 0.2s;
}
.adresse-tile:hover {
  background-color: #f8f9fa;
  border-color: #007bff;
}

/* Basis-Stile – unverändert */
body {
    font-family: Arial, sans-serif;
    background-color: #f5f5f5;
    margin: 0;
    padding: 0;
}

h2, h1 {
    color: #333;
}

a {
    text-decoration: none;
    color: #290204;
}

a:hover {
    text-decoration: underline;
}

/* Bearbeiten */
.modal-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#fff;border:1px solid var(--border);padding:1rem;border-radius:.5rem}
.modal-form-full{grid-column: span 2}
.modal-form label{display:flex;flex-direction:column}
.modal-form-column {
    flex: 2; /* Hauptformular größer */
}

/* Login-Form */
.login-form {
    max-width: 400px;
    margin: 50px auto;
    padding: 30px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.login-form h2 {
    margin-bottom: 20px;
    text-align: center;
}

.login-form input[type="text"],
.login-form input[type="password"] {
    width: 100%;
    padding: 8px 10px;
    margin-bottom: 15px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

.login-form button {
    width: 100%;
    padding: 10px;
    border-radius: 4px;
    border: none;
    background-color: #007bff;
    color: white;
    font-size: 1em;
    cursor: pointer;
}

.login-form button:hover {
    background-color: #0056b3;
}

.flash-message {
    margin-bottom: 15px;
    padding: 8px 10px;
    border-radius: 4px;
}

.flash-message.success {
    background-color: #d4edda;
    color: #155724;
}

.flash-message.danger {
    background-color: #f8d7da;
    color: #721c24;
}

.flash-message.info {
    background-color: #cce5ff;
    color: #004085;
}

/* -------------------- */
/* Haupt-Layout */
.main-container {
    display: flex;
    gap: 20px;
}

/* Links: Hauptinhalt */
.content {
    flex: 3; /* nimmt 3/4 der Breite */
}

/* Rechts: Sidebar */
.sidebar {
    flex: 1; /* nimmt 1/4 der Breite */
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.sidebar-box {
    background-color: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}

/* Überschriften Sidebar */
.sidebar-box h2 {
    margin-top: 0;
    font-size: 1.1em;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
}

.person-edit-container {
    display: flex;
    gap: 20px;
}


.person-sidebar {
    flex: 1; /* Sidebar kleiner */
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.sidebar-box {
    background-color: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}

.sidebar-box h3 {
    margin-top: 0;
    font-size: 1.1em;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
}

/* ----------------------- */
/* Site header / Navigation */
/* ----------------------- */
.site-header {
    background-color: #0b3d91;
    color: #fff;
}
.site-header .nav-container {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px 0;
}
.brand {
    font-size: 1.25rem;
    font-weight: 600;
    color: #fff;
}
.brand:hover { opacity: 0.95 }

.nav-toggle {
    margin-left: auto;
    background: transparent;
    border: none;
    color: #fff;
    font-size: 1.4rem;
    cursor: pointer;
    display: none; /* shown on small screens */
}
.nav-toggle:focus { outline: 2px solid rgba(255,255,255,0.25) }


.nav { list-style: none; display: flex; gap: 18px; margin: 0; padding: 0; }
.nav li a { color: #f11010; padding: 8px 6px; border-radius: 4px; }
.nav li a:hover { background: rgba(255,255,255,0.08); }

.nav .btn-main {
    padding: 8px 12px 8px 12px;
    margin: 0px 8px 2px 8px;
    font-size: 1.2em;
    border-radius: 6%;
    border: none;
    cursor: pointer;
    background-color: #007bff;
    color: white;
}