/* Brand theme overrides */
:root {
  /* Palette */
  --brand-ink: #223257;          /* Brand navy (headings) */
  --brand-primary: #2F80ED;      /* Sky blue (primary actions) */
  --brand-primary-600: #1E6FE0;  /* Hover shade */
  --brand-primary-700: #195fbe;  /* Active */
  --brand-accent: #8B5CF6;       /* Purple accent */
  --brand-accent-600: #7C3AED;   /* Accent hover */
  --surface: #F6F8FC;            /* Light gray surface */
  --brand-white: #ffffff;

  /* Bootstrap theme variables */
  --bs-primary: var(--brand-primary);
  --bs-secondary: var(--brand-accent);
  --bs-link-color: var(--brand-primary);
  --bs-link-hover-color: var(--brand-primary-600);
}

/* Base */
body { color: #1f2937; }
h1,h2,h3,h4,h5,h6 { color: var(--brand-ink); }
.bg-surface { background: var(--surface); }

/* Buttons */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--brand-primary-600);
  --bs-btn-hover-border-color: var(--brand-primary-600);
  --bs-btn-focus-shadow-rgb: 47, 128, 237;
  --bs-btn-active-bg: var(--brand-primary-700);
  --bs-btn-active-border-color: var(--brand-primary-700);
}
.btn-outline-primary {
  --bs-btn-color: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--brand-primary);
  --bs-btn-hover-border-color: var(--brand-primary);
  --bs-btn-focus-shadow-rgb: 47, 128, 237;
}
.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--brand-accent);
  --bs-btn-border-color: var(--brand-accent);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--brand-accent-600);
  --bs-btn-hover-border-color: var(--brand-accent-600);
  --bs-btn-focus-shadow-rgb: 139, 92, 246;
}
.btn-outline-secondary {
  --bs-btn-color: var(--brand-accent);
  --bs-btn-border-color: var(--brand-accent);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--brand-accent);
  --bs-btn-hover-border-color: var(--brand-accent);
  --bs-btn-focus-shadow-rgb: 139, 92, 246;
}

/* Text, backgrounds, borders */
.text-primary { color: var(--brand-primary) !important; }
.bg-primary { background-color: var(--brand-primary) !important; }
.border-primary { border-color: var(--brand-primary) !important; }
.link-primary { color: var(--brand-primary) !important; }
.link-primary:hover { color: var(--brand-primary-600) !important; }

/* Form focus */
.form-control:focus, .form-select:focus {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 .25rem rgba(47, 128, 237, .15);
}

/* Navbar active link */
.navbar .nav-link.active, .navbar .dropdown-item.active { color: var(--brand-primary) !important; }
.navbar .dropdown-item:hover { color: var(--brand-primary); }

/* Pagination */
.pagination .page-link { color: var(--brand-primary); }
.pagination .page-item.active .page-link { background-color: var(--brand-primary); border-color: var(--brand-primary); }

/* Badges */
.badge.bg-primary { background-color: var(--brand-primary) !important; }
.badge.bg-secondary { background-color: var(--brand-accent) !important; }

/* Image helpers */
.img-cover { width: 100%; height: 100%; object-fit: cover; }
.img-ar-16x9 { aspect-ratio: 16/9; }
.img-ar-4x3 { aspect-ratio: 4/3; }
.img-ar-1x1 { aspect-ratio: 1/1; }

/* Reusable feature cards (used across pages) */
.feature-card { border: 0; box-shadow: 0 8px 24px rgba(0,0,0,.08); transition: transform .2s ease, box-shadow .2s ease; border-radius: 12px; }
.feature-card:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0,0,0,.12); }
.feature-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 12px; background:#eef2ff; color:var(--brand-primary); }

/* Simple page hero */
.hero-simple { position:relative; min-height: 48vh; height:48vh; background-size:cover; background-position:center; }
@media (min-width: 992px){ .hero-simple{ min-height:62vh; height:62vh; } }
.hero-simple::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(20,24,50,.50),rgba(20,24,50,.25)); }
.hero-simple .container{ position:relative; z-index:2; }

/* Footer brand */
.footer-brand img{ height:28px; width:auto; }
