/* ============================================================
   Odd Fellow Logesystem — theme layer for oflo.dk
   Royal blue · heraldic crimson · white · restrained gold.
   Layered over Bootstrap 5 + main.css (loads AFTER main.css).
   CSS ONLY — no markup or logic changes; unlink this file to revert.
   ============================================================ */
:root{
  --of-blue:#2a5091; --of-blue-bright:#4c7bc4; --of-blue-deep:#21406f;
  --of-red:#b21e35; --of-red-deep:#8f1728; --of-gold:#d4af37; --of-gold-deep:#b8912b;
  --of-ink:#152439; --of-muted:#5a6b84; --of-faint:#93a2ba;
  --of-line:#dbe2ee; --of-line-soft:#e8edf5; --of-paper:#eaeef5; --of-surface:#fff;
  --of-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --of-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --of-shadow:0 1px 2px rgba(22,40,80,.05),0 14px 30px -18px rgba(22,40,80,.22);
  /* remap main.css's inconsistent tokens (it had a stray magenta primary) */
  --odd-fellow-blue:#2a5091; --primary-color:#2a5091; --primary-hover:#21406f;
  --bg-light:#eaeef5; --bg-panel:#eef2f8; --text-color:#152439; --text-muted:#5a6b84;
  --border-color:#dbe2ee;
  /* Bootstrap 5 variable overrides → OF royal blue is primary everywhere */
  --bs-primary:#2a5091; --bs-primary-rgb:42,80,145;
  --bs-link-color:#4c7bc4; --bs-link-color-rgb:76,123,196; --bs-link-hover-color:#21406f;
  --bs-body-color:#152439; --bs-body-bg:#eaeef5; --bs-border-color:#dbe2ee;
  --bs-danger:#b21e35; --bs-danger-rgb:178,30,53;
  --bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
body{background:var(--of-paper);color:var(--of-ink);font-family:var(--of-sans)}
.content-wrapper{background:var(--of-paper)}
::selection{background:color-mix(in srgb,var(--of-blue) 26%,transparent)}

/* headings — serif gravitas */
h1,h2,h3,.h1,.h2,.h3,.card-title,.navbar-brand{font-family:var(--of-serif)}
h1{color:var(--of-blue);letter-spacing:-.01em}
h2{color:var(--of-ink)}
a{color:var(--of-blue-bright)}
a:hover{color:var(--of-blue-deep)}

/* navbar — deep royal + gold hairline */
.navbar{background:linear-gradient(135deg,var(--of-blue-deep),var(--of-blue)) !important;
  border-bottom:3px solid var(--of-gold);
  box-shadow:0 3px 0 0 color-mix(in srgb,var(--of-gold) 35%,transparent),0 6px 16px -8px rgba(0,0,0,.4)}
.navbar-brand{color:#fff !important;font-weight:600;letter-spacing:.05em}
.navbar .nav-link{color:rgba(255,255,255,.82) !important;font-weight:600;border-radius:8px;padding:.45rem .75rem !important;transition:.14s}
.navbar .nav-link:hover,.navbar .nav-link:focus{color:#fff !important;background:rgba(255,255,255,.10)}
.navbar .nav-link.active,.navbar .show>.nav-link{color:#fff !important;background:rgba(255,255,255,.14);box-shadow:inset 0 -3px 0 var(--of-gold)}
.navbar-brand{border-bottom:none}
.navbar-brand::after{content:"";display:block;height:2px;width:100%;margin-top:2px;background:linear-gradient(90deg,var(--of-gold),transparent)}
.navbar-text{color:rgba(255,255,255,.75) !important}
.navbar-toggler{border-color:rgba(255,255,255,.3)}
.dropdown-menu{border:1px solid var(--of-line);border-radius:12px;box-shadow:var(--of-shadow);padding:.35rem}
.dropdown-item{border-radius:8px;padding:.5rem .7rem;font-weight:500}
.dropdown-item:hover{background:var(--of-paper);color:var(--of-blue)}
.dropdown-item.active,.dropdown-item:active{background:var(--of-blue);color:#fff}

/* containers / cards */
.container{border-radius:14px;box-shadow:var(--of-shadow);border:1px solid var(--of-line)}
.card{border:1px solid var(--of-line) !important;border-radius:14px;box-shadow:var(--of-shadow)}
.card-header{background:linear-gradient(135deg,var(--of-blue-deep),var(--of-blue)) !important;color:#fff !important;
  font-family:var(--of-serif);border-bottom:3px solid var(--of-gold)}

/* buttons — retire the magenta; royal blue default, crimson for danger */
button,.btn{border-radius:9px;font-weight:600}
button{background:var(--of-blue);border:1px solid var(--of-blue);color:#fff}
button:hover{background:var(--of-blue-deep);border-color:var(--of-blue-deep);color:#fff}
.btn{background:var(--of-blue);border:1px solid var(--of-blue);color:#fff}
.btn:hover{background:var(--of-blue-deep);border-color:var(--of-blue-deep);color:#fff}
.btn-primary{background:var(--of-blue) !important;border-color:var(--of-blue) !important;color:#fff !important}
.btn-primary:hover{background:var(--of-blue-deep) !important;border-color:var(--of-blue-deep) !important}
.btn-outline-primary{color:var(--of-blue) !important;border-color:var(--of-blue) !important;background:transparent}
.btn-outline-primary:hover{background:var(--of-blue) !important;color:#fff !important}
.btn-secondary{background:#5a6b84;border-color:#5a6b84}
.btn-secondary:hover{background:#495568;border-color:#495568}
.btn-danger{background:var(--of-red);border-color:var(--of-red)}
.btn-danger:hover{background:var(--of-red-deep);border-color:var(--of-red-deep)}
.btn-success{background:#2f855a;border-color:#2f855a}
.btn-success:hover{background:#276749;border-color:#276749}
.btn-warning{background:#c8992b;border-color:#c8992b;color:#fff}
.btn-warning:hover{background:#a97f1f;border-color:#a97f1f;color:#fff}
.btn-light{background:#fff;border-color:var(--of-line);color:var(--of-ink)}
.btn-close,.navbar-toggler{background-color:transparent;border-radius:8px}

/* tables */
.table>thead th,.table th{background:var(--of-paper);color:var(--of-muted);
  text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;border-bottom:2px solid var(--of-line)}
.table td{vertical-align:middle}
.table-hover>tbody>tr:hover>*{background:var(--of-paper)}

/* forms */
.form-control,.form-select,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=date],textarea,select{
  border:1px solid var(--of-line);border-radius:9px}
.form-control:focus,.form-select:focus,input:focus,textarea:focus,select:focus{
  border-color:var(--of-blue-bright);box-shadow:0 0 0 3px color-mix(in srgb,var(--of-blue) 18%,transparent);outline:none}
.form-check-input:checked{background-color:var(--of-blue);border-color:var(--of-blue)}
label{color:var(--of-ink)}

/* badges / alerts / pills */
.badge{border-radius:999px;font-weight:600;letter-spacing:.02em}
.badge.bg-primary,.badge-default{background:var(--of-blue) !important;color:#fff}
.badge.bg-danger,.badge-christmas{background:var(--of-red) !important;color:#fff}
.badge.bg-secondary,.badge-general,.badge-inactive{background:#5a6b84 !important;color:#fff}
.alert{border-radius:11px}
.alert-primary,.message{border-radius:11px}
.nav-pills .nav-link.active{background:var(--of-blue)}
.page-link{color:var(--of-blue-bright)}
.page-item.active .page-link{background:var(--of-blue);border-color:var(--of-blue)}
.progress-bar{background:var(--of-blue)}
.spinner-border,.text-primary{color:var(--of-blue) !important}

/* footer — restrained motto */
footer{background:var(--of-surface) !important;border-top:1px solid var(--of-line)}
