/* ============================================================
   HolyMove — GLOBAL THEME. Loaded on every page (via footer, before
   mobile.css) so all inner pages match the homepage's clean style.
   Brand: navy #1f3a5f, gold #E9B11C, cream #fbf1d6.
   ============================================================ */

body { color: #2b3640; background: #fff; }
main { background: #f7f8fa; }

/* ---------- generic content card (forms, partners "myBox") ---------- */
.myBox {
    background: #fff !important;
    border: 1px solid #eef0f3;
    border-radius: 16px;
    box-shadow: 0 12px 38px rgba(31,58,95,.10);
    padding: 30px !important;
    max-width: 680px;
    margin: 34px auto !important;
}
.myBox h3 { color: #1f3a5f; font-weight: 800; }
.myBox h5 { color: #5a6675; font-weight: 500; }
.customBox h2 { color: #1f3a5f; font-weight: 700; font-size: 22px; }
.customBox h5 { color: #5a6675; }

/* ---------- inputs (form pages) ---------- */
.my-custom-control {
    border: 1px solid #d7dde5 !important;
    border-radius: 10px !important;
    height: 46px;
    padding: 0 14px;
    font-size: 15px;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
}
.my-custom-control:focus { outline: none; border-color: #1f3a5f; box-shadow: 0 0 0 3px rgba(31,58,95,.12); }

/* ---------- buttons (consistent) ---------- */
.btn-custom { background: linear-gradient(135deg,#E9B11C,#C98F08) !important; color:#1b2430 !important; font-weight:700; border:none !important; border-radius:10px !important; padding:12px 26px; box-shadow:0 6px 18px rgba(31,58,95,.16); transition: transform .15s ease; }
.btn-custom:hover { transform: translateY(-1px); color:#1b2430 !important; }
.btn-default, .btn-white { border-radius:10px !important; border:1px solid #d7dde5 !important; background:#fff !important; color:#1f3a5f !important; font-weight:600; padding:11px 22px; }
.btn-default:hover, .btn-white:hover { background:#f4f6f9 !important; }

/* ---------- DIRECTORY ---------- */
.directory-head { text-align:center; padding: 38px 16px 4px; }
.directory-head h1 { color:#1f3a5f; font-weight:800; font-size:clamp(26px,4vw,38px); margin:0 0 8px; }
.directory-head p { color:#6b7682; font-size:16px; margin:0 0 8px; }

#companies { max-width: 900px; margin: 0 auto; }
#companies .card {
    border: 1px solid #eef0f3 !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 16px rgba(31,58,95,.07) !important;
    margin-bottom: 14px !important;
    transition: transform .15s ease, box-shadow .15s ease;
}
#companies .card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(31,58,95,.14) !important; }
#companies .card-body { padding: 16px 22px !important; }
#companies .card-body .row { align-items: center; }
#companies .card-body .col-3 { display:flex; align-items:center; justify-content:center; }
#companies .card-body .col-3 img { max-height: 52px !important; opacity:.85; }
#companies .card-title { color:#1f3a5f; font-weight:700; font-size:18px; margin-bottom:4px; }
#companies .card-text { color:#5a6675; font-size:14px; margin:0; }
#companies .card-text .btn-default { background: linear-gradient(135deg,#E9B11C,#C98F08) !important; color:#1b2430 !important; border:none !important; font-weight:700; }

/* directory search bar */
#search { border-radius: 10px 0 0 10px !important; height: 46px; border:1px solid #d7dde5; }
.input-group .btn-white { border-radius: 0 10px 10px 0 !important; height: 46px; }

/* pagination */
.pagination .page-link { color:#1f3a5f; border-radius:8px; margin:0 3px; border:1px solid #e5e9ef; }
.pagination .page-item.active .page-link { background:#1f3a5f; border-color:#1f3a5f; color:#fff; }

/* ══════════════════════════════════════════════════
   DARK MODE OVERRIDES — html[data-theme="dark"]
   Variables set early in head.php (prevents FOUC).
   ══════════════════════════════════════════════════ */
html[data-theme="dark"] body { color:#cdd9ea; background:#0d1c2e; }
html[data-theme="dark"] main { background:#0d1c2e; }

/* Header */
html[data-theme="dark"] header.hm-header { box-shadow:0 2px 8px rgba(0,0,0,.3); }
html[data-theme="dark"] .hm-word { color:#fff !important; }
html[data-theme="dark"] .hm-nav a { color:#cdd9ea !important; }
html[data-theme="dark"] .hm-right a:not(.hm-cta) { color:#cdd9ea !important; }
html[data-theme="dark"] .hm-right a:not(.hm-cta):hover { background:rgba(255,255,255,.08) !important; }
html[data-theme="dark"] .hm-burger { color:#cdd9ea; }
html[data-theme="dark"] #hmMobileMenu { background:#142640; border-top-color:rgba(255,255,255,.08); }
html[data-theme="dark"] #hmMobileMenu a { color:#cdd9ea; border-top-color:rgba(255,255,255,.06); }

/* Typography */
html[data-theme="dark"] h1,html[data-theme="dark"] h2,html[data-theme="dark"] h3,
html[data-theme="dark"] h4,html[data-theme="dark"] h5,html[data-theme="dark"] h6 { color:#e8f0fa; }
html[data-theme="dark"] p { color:#cdd9ea; }
html[data-theme="dark"] label { color:#cdd9ea; }
html[data-theme="dark"] .text-muted { color:#7a93b0 !important; }
html[data-theme="dark"] a:not(.btn):not([class*="hm-"]):not([class*="btn-"]) { color:#8cb4d8; }

/* Cards / boxes */
html[data-theme="dark"] .myBox { background:#142640 !important; border-color:rgba(255,255,255,.09) !important; box-shadow:0 12px 38px rgba(0,0,0,.25) !important; }
html[data-theme="dark"] .myBox h3 { color:#e8f0fa !important; }
html[data-theme="dark"] .myBox h5 { color:#7a93b0 !important; }
html[data-theme="dark"] .customBox h2 { color:#e8f0fa; }
html[data-theme="dark"] .customBox h5 { color:#7a93b0; }
html[data-theme="dark"] .card { background:#142640 !important; border-color:rgba(255,255,255,.09) !important; }
html[data-theme="dark"] #companies .card { box-shadow:0 4px 16px rgba(0,0,0,.2) !important; }
html[data-theme="dark"] #companies .card:hover { box-shadow:0 12px 28px rgba(0,0,0,.3) !important; }
html[data-theme="dark"] #companies .card-title { color:#fff; }
html[data-theme="dark"] #companies .card-text { color:#7a93b0; }

/* Directory */
html[data-theme="dark"] .directory-head h1 { color:#fff; }
html[data-theme="dark"] .directory-head p { color:#7a93b0; }

/* Forms / inputs */
html[data-theme="dark"] .my-custom-control { background:#1a2e44 !important; border-color:rgba(255,255,255,.15) !important; color:#cdd9ea !important; }
html[data-theme="dark"] .form-control { background:#1a2e44 !important; border-color:rgba(255,255,255,.15) !important; color:#cdd9ea !important; }
html[data-theme="dark"] .form-control::placeholder { color:#4a6080; }
html[data-theme="dark"] #search { background:#1a2e44; border-color:rgba(255,255,255,.15); color:#cdd9ea; }
html[data-theme="dark"] select { background:#1a2e44; border-color:rgba(255,255,255,.15); color:#cdd9ea; }

/* Buttons */
html[data-theme="dark"] .btn-default,html[data-theme="dark"] .btn-white { background:rgba(255,255,255,.07) !important; border-color:rgba(255,255,255,.15) !important; color:#cdd9ea !important; }
html[data-theme="dark"] .btn-default:hover,html[data-theme="dark"] .btn-white:hover { background:rgba(255,255,255,.12) !important; }

/* Modals */
html[data-theme="dark"] .modal-content { background:#142640; color:#cdd9ea; border-color:rgba(255,255,255,.09); }
html[data-theme="dark"] .modal-header { border-bottom-color:rgba(255,255,255,.09); }
html[data-theme="dark"] .modal-footer { border-top-color:rgba(255,255,255,.09); }
html[data-theme="dark"] .modal-title { color:#e8f0fa; }

/* Tables */
html[data-theme="dark"] .table { color:#cdd9ea; }
html[data-theme="dark"] .table td,html[data-theme="dark"] .table th { border-color:rgba(255,255,255,.09); }

/* Pagination */
html[data-theme="dark"] .pagination .page-link { background:#142640; border-color:rgba(255,255,255,.09); color:#cdd9ea; }
html[data-theme="dark"] .pagination .page-item.active .page-link { background:#E9B11C; border-color:#E9B11C; color:#142640; }
