/* ============================================================
   TRI-COUNTY HOLDINGS & TRUST — CUSTOM THEME OVERRIDE
   Navy: #0B1F3A  |  Gold: #C9A84C  |  Cream: #FAF7F2
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Jost:wght@300;400;500;600&display=swap');

:root {
  --navy:    #0B1F3A;
  --navy-md: #112b52;
  --navy-lt: #1a3a6b;
  --gold:    #C9A84C;
  --gold-lt: #e2c47a;
  --gold-pl: #f5e9c8;
  --cream:   #FAF7F2;
}

/* ── GLOBAL ── */
body { font-family: 'Jost', sans-serif !important; background: #f4f1ec !important; }

/* ── NAVBAR ── */
.navbar,
.header-container,
.navbar-expand-sm,
.topbar-nav,
#topbar {
  background: var(--navy) !important;
  border-bottom: 1px solid rgba(201,168,76,.2) !important;
}
.navbar .nav-link,
.navbar .navbar-brand,
.topbar-nav a,
#topbar a {
  color: rgba(255,255,255,.75) !important;
}
.navbar .nav-link:hover { color: var(--gold) !important; }
.navbar-brand span, .brand-name {
  font-family: 'Playfair Display', serif !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
  letter-spacing: .04em !important;
}

/* ── SIDEBAR ── */
#sidebar,
.sidebar,
.main-sidebar,
.sidebar-wrapper {
  background: var(--navy-md) !important;
  border-right: 1px solid rgba(201,168,76,.1) !important;
}
.sidebar .nav-link,
.sidebar a,
#sidebar a,
.sidebar-item a {
  color: rgba(255,255,255,.55) !important;
  font-size: .78rem !important;
  letter-spacing: .04em !important;
  transition: color .2s, padding-left .2s !important;
}
.sidebar .nav-link:hover,
.sidebar a:hover,
#sidebar a:hover {
  color: var(--gold) !important;
  padding-left: 5px !important;
  background: rgba(201,168,76,.06) !important;
}
.sidebar .nav-link.active,
.sidebar a.active,
#sidebar a.active {
  color: var(--gold) !important;
  border-left: 2px solid var(--gold) !important;
  background: rgba(201,168,76,.08) !important;
}
.sidebar .menu-heading,
.sidebar-section-title {
  color: rgba(255,255,255,.25) !important;
  font-size: .6rem !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
}

/* ── BUTTONS ── */
.btn-primary,
.btn-success,
.theme-btn,
.btn-style-one {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--navy) !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
}
.btn-primary:hover,
.btn-success:hover,
.theme-btn:hover {
  background: var(--gold-lt) !important;
  border-color: var(--gold-lt) !important;
  color: var(--navy) !important;
}
.btn-danger { background: #c0392b !important; border-color: #c0392b !important; }
.btn-outline-primary {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  background: transparent !important;
}
.btn-outline-primary:hover {
  background: var(--gold) !important;
  color: var(--navy) !important;
}

/* ── CARDS ── */
.card {
  border: 1px solid rgba(11,31,58,.08) !important;
  border-radius: 0 !important;
  box-shadow: 0 2px 12px rgba(11,31,58,.05) !important;
}
.card-header {
  background: var(--navy) !important;
  border-bottom: 1px solid rgba(201,168,76,.2) !important;
  color: var(--white) !important;
}
.card-header h5, .card-header h4, .card-header .card-title {
  color: var(--gold) !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 600 !important;
}

/* ── WIDGETS / STAT BOXES ── */
.widget,
.widget-three,
.info-box,
.summary-box {
  background: var(--white) !important;
  border: 1px solid rgba(11,31,58,.08) !important;
}
.widget-heading h5,
.widget-heading h4 {
  font-family: 'Playfair Display', serif !important;
  color: var(--navy) !important;
}

/* ── BALANCE / AMOUNT HIGHLIGHTS ── */
.balance-amount,
.acct-balance,
.summary-count,
.total-amount {
  font-family: 'Playfair Display', serif !important;
  color: var(--gold) !important;
  font-weight: 700 !important;
}

/* ── TABLES ── */
.table th {
  background: #f9f7f4 !important;
  font-size: .62rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #5a6a7e !important;
  font-weight: 500 !important;
  border-bottom: 2px solid rgba(11,31,58,.08) !important;
}
.table td { font-size: .84rem !important; }
.table tbody tr:hover td { background: #faf8f4 !important; }

/* ── BADGES / STATUS ── */
.badge-success  { background: #e6f5ec !important; color: #1a7a4a !important; }
.badge-danger   { background: #fdecea !important; color: #c0392b !important; }
.badge-warning  { background: #fef6e4 !important; color: #a07020 !important; }
.badge-primary  { background: rgba(201,168,76,.15) !important; color: var(--gold) !important; }
.badge-info     { background: #eaf0fb !important; color: #2550a0 !important; }

/* ── FORMS ── */
.form-control {
  border: 1px solid rgba(11,31,58,.15) !important;
  background: #faf8f4 !important;
  font-family: 'Jost', sans-serif !important;
  font-size: .88rem !important;
  border-radius: 0 !important;
}
.form-control:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,.1) !important;
}
label {
  font-size: .63rem !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #5a6a7e !important;
  font-weight: 500 !important;
}

/* ── LOGIN / AUTH PAGES ── */
.auth-section,
.form-form,
.form-container {
  background: var(--navy) !important;
}
.form-form .form-form-wrap {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(201,168,76,.2) !important;
}
.form-form h1,
.form-form .brand-name {
  font-family: 'Playfair Display', serif !important;
  color: var(--gold) !important;
}
.form-form label { color: rgba(255,255,255,.45) !important; }
.form-form .form-control {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(201,168,76,.2) !important;
  color: white !important;
}
.form-form .form-control::placeholder { color: rgba(255,255,255,.22) !important; }

/* ── PAGE TITLE / BREADCRUMB ── */
.page-header h3,
.page-title,
.breadcrumb-style-two h2 {
  font-family: 'Playfair Display', serif !important;
  color: var(--navy) !important;
  font-weight: 600 !important;
}
.breadcrumb-item.active { color: var(--gold) !important; }

/* ── FOOTER ── */
.footer-wrapper,
.main-footer,
footer {
  background: var(--navy) !important;
  border-top: 1px solid rgba(201,168,76,.15) !important;
  color: rgba(255,255,255,.35) !important;
  font-size: .72rem !important;
}

/* ── ALERTS / TOAST ── */
.alert-success { background: #e6f5ec !important; border-color: #1a7a4a !important; color: #1a7a4a !important; }
.alert-danger  { background: #fdecea !important; border-color: #c0392b !important; color: #c0392b !important; }
.alert-warning { background: #fef6e4 !important; border-color: #a07020 !important; color: #a07020 !important; }
.alert-info    { background: #eaf0fb !important; border-color: #2550a0 !important; color: #2550a0 !important; }

/* ── PAGINATION ── */
.page-item.active .page-link {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--navy) !important;
}
.page-link { color: var(--navy) !important; }
.page-link:hover { background: var(--gold-pl) !important; color: var(--navy) !important; }

/* ── MODAL ── */
.modal-header {
  background: var(--navy) !important;
  border-bottom: 1px solid rgba(201,168,76,.2) !important;
}
.modal-title {
  font-family: 'Playfair Display', serif !important;
  color: var(--gold) !important;
  font-weight: 600 !important;
}
.modal-footer { border-top: 1px solid rgba(11,31,58,.08) !important; }

/* ── FRONT HOMEPAGE ── */
.header-upper,
.main-header,
.header-inner {
  background: var(--navy) !important;
}
.main-header .logo { font-family: 'Playfair Display', serif !important; }
.main-menu .navigation > li > a {
  color: rgba(255,255,255,.7) !important;
  font-family: 'Jost', sans-serif !important;
  letter-spacing: .06em !important;
  font-size: .82rem !important;
  text-transform: uppercase !important;
}
.main-menu .navigation > li > a:hover,
.main-menu .navigation > li.current > a {
  color: var(--gold) !important;
}
.banner-section .content-column h1 span {
  color: var(--gold) !important;
  font-family: 'Playfair Display', serif !important;
}
.cta-section { background: var(--navy-md) !important; }
.about-section { background: var(--cream) !important; }
.services-section-two .service-block .inner-box:hover {
  background: var(--navy) !important;
  border-color: var(--gold) !important;
}

/* ===== MOBILE FIXES ===== */
@media (max-width: 767px) {
  /* Ensure banking button visible on mobile header */
  .main-header .header-upper .outer-box .search-box-btn {
    display: block !important;
  }
  .main-header .header-upper .outer-box {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }
  /* Mobile menu box styling */
  .mobile-menu .menu-box {
    background: #0B1F3A !important;
  }
  .mobile-menu .navigation li a {
    color: rgba(255,255,255,0.85) !important;
    border-color: rgba(201,168,76,0.15) !important;
  }
  .mobile-menu .navigation li a:hover {
    color: #C9A84C !important;
  }
  /* Logo size on mobile */
  .main-header .logo img {
    max-height: 60px !important;
    width: auto !important;
  }
  /* Fix banner text on mobile */
  .banner-section .content-column h1 {
    font-size: 1.8rem !important;
  }
  .banner-section .content-column .text {
    font-size: 0.9rem !important;
  }
}

@media (max-width: 480px) {
  .banner-section .content-column h1 {
    font-size: 1.4rem !important;
  }
  .main-header .header-upper .outer-box .theme-btn {
    padding: 7px 12px !important;
    font-size: 11px !important;
  }
}

/* ===== LOGIN & ADMIN INPUT TEXT COLOR FIX ===== */
.form-control,
.form-form .form-form-wrap form .field-wrapper input,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"],
textarea {
  color: #1a1a2e !important;
  background-color: #ffffff !important;
  -webkit-text-fill-color: #1a1a2e !important;
}
/* Fix autofill color override by browser */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-text-fill-color: #1a1a2e !important;
  -webkit-box-shadow: 0 0 0px 1000px #ffffff inset !important;
  background-color: #ffffff !important;
}

/* ===== MOBILE NAVBAR LAYOUT FIX ===== */
@media (max-width: 767px) {
  /* Hide banking button from top navbar on mobile - it's in the mobile menu instead */
  .main-header .header-upper .outer-box .search-box-btn {
    display: none !important;
  }
  /* Make logo smaller so it fits properly */
  .main-header .logo img {
    max-height: 55px !important;
    max-width: 200px !important;
    width: auto !important;
  }
  /* Fix mobile nav toggler position */
  .main-header .header-upper .outer-box {
    display: flex !important;
    align-items: center !important;
  }
  /* Fix banner headline color on mobile */
  .banner-section .content-column h1,
  .banner-section .content-column h2,
  .banner-section .content-column .text,
  .banner-section .content-column p {
    color: #ffffff !important;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.8) !important;
  }
  /* Fix banner button visibility */
  .banner-section .content-column .btn-box {
    margin-top: 20px !important;
  }
}

/* ── TCHT Font Consistency Override ── */
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');

*, *::before, *::after,
p, span, td, li, a, label, input, select, textarea,
.w-value, .s-chart, .wallet-card, .summary-list,
.widget-content, .widget-heading, .nav-link,
.menu-categories, .card-body, .list-group-item {
    font-family: 'Jost', sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.card-title, .page-header, .layout-heading,
.widget-title, .t-item, .summary h5,
.wallet-user-name {
    font-family: 'Playfair Display', serif !important;
}
