/* Local font faces (hosted with the site) */
@font-face {
  font-family: 'Anta';
  src: local('Anta Regular'), local('Anta-Regular'), url('../fonts/Anta-Regular.ttf') format('truetype');
  font-weight: 360;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Fjalla One';
  src: url('../fonts/FjallaOne-Regular.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* Global typography rules */
:root {
  --bg: #ffffff;
  --text: #111111;
  --muted: #6c757d;
  --border: #e5e5e5;
  --orange: #FF6A00;
  --orange-dark: #e65a00;
  --gray-50: #fafafa;
  --gray-100: #f8f9fa;
  --shadow: 0 1px 2px rgba(0,0,0,.05), 0 2px 6px rgba(0,0,0,.04);
}

.bg-orange { background-color: var(--orange) !important; }
.text-orange { color: var(--orange) !important; }
.bg-purple { background-color: #8b5cf6 !important; }
.text-purple { color: #8b5cf6 !important; }
.bg-pink { background-color: #ec4899 !important; }
.text-pink { color: #ec4899 !important; }
.bg-teal { background-color: #14b8a6 !important; }
.text-teal { color: #14b8a6 !important; }

html, body {
  height: 100%;
}
body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  font-family: 'Fjalla One', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  color: var(--text);
}

/* Global color overrides to avoid blue anywhere */
a, a:visited {
  color: #111; /* dark text by default for all links to avoid blue */
  text-decoration: none;
}
a:hover, a:focus {
  color: var(--orange);
  text-decoration: underline;
}
/* Headings use Anta per requirement */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Anta', sans-serif;
  color: #111;
}
.hero-title, .hero-title b, .hero-title strong {
  font-family: 'Anta', sans-serif;
}
.hero-title { font-weight: 700; }
.hero-subtitle { font-family: 'Anta', sans-serif; font-weight: 400; }

/* Navbar tweaks */
.site-header .nav-link { font-family: 'Fjalla One', sans-serif; font-size: 0.95rem; color: var(--text); }

/* Ensure dropdown links do not render blue */
.dropdown-menu a { color: #111; text-decoration: none; }
/* CSS-only dropdown: show on hover or focus-within for desktop/mobile usability */
.dropdown:hover > .dropdown-menu, .dropdown:focus-within > .dropdown-menu { display: block; }

/* Orange button */
.btn-orange {
  background: var(--orange);
  color: #fff;
  border: 1px solid var(--orange);
}
.btn-orange:hover, .btn-orange:focus {
  background: var(--orange);
  border-color: var(--orange);
  color: #fff;
}
.btn-outline-dark {
  color: var(--text);
}

/* Hero visual uses Fjalla One for body but headings (hero title) use Anta */
.hero { padding-top: 4rem; padding-bottom: 4rem; }
.hero-visual {
  border-radius: 12px;
}

/* Cards */
.module-title { font-family: 'Fjalla One', sans-serif; font-size: 1.2rem; }
.card { border: 1px solid var(--orange) !important; }

.cookie-bar {
  /* Ensure cookie bar inherits fonts/colors cleanly */
  font-family: 'Fjalla One', sans-serif;
}
.cookie-bar { font-family: 'Fjalla One', sans-serif; }

/* Accessibility helpers */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0;
}

/* Ensure login and language selector share the same shape (no blue) */
.shape-btn {
  display: inline-block;
  height: 38px;
  padding: 0 12px;
  border-radius: 6px;
  border: 1px solid #37474f;
  background: #fff;
  color: #111;
  font-family: 'Fjalla One', sans-serif;
}

/* Normalize header control heights so Login (btn-lg) matches Language select visually */
.header-controls .btn-lg, .header-controls a.btn-lg {
  height: 40px; /* match approximate height of select */
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.header-controls a.btn-lg, .header-controls a.btn-lg:hover, .header-controls a.btn-lg:visited {
  text-decoration: none !important;
}
.header-controls select.form-select {
  height: 40px;
}

/* Footer link styling to match site look */
.site-footer { background: #fff; box-shadow: var(--shadow); }
.footer-links { display: inline-flex; gap: 8px; justify-content: center; align-items: center; }
.footer-link { color: #111; text-decoration: none; }
.footer-link:hover { color: var(--orange); text-decoration: none; }

/* FAQ accordion */
.faq-item { cursor: pointer; transition: background-color 0.2s; }
.faq-item:hover { background-color: #f0f0f0 !important; }
.faq-item.faq-open { background-color: var(--gray-100) !important; }
.faq-question { font-family: 'Anta', sans-serif; color: #111; }
.faq-toggle { font-size: 1.25rem; color: var(--orange); }

/* Contact form buttons */
.dept-btn.active { background: var(--orange); border-color: var(--orange); color: #fff; }

/* Documents cards */
.card-hover { transition: transform 0.2s, box-shadow 0.2s; cursor: pointer; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important; }
.card-hover .doc-thumb { transition: filter 0.2s; }
.card-hover:hover .doc-thumb { filter: brightness(1.1); }
.aff-thumb { transition: filter 0.2s; }
.card-hover:hover .aff-thumb { filter: brightness(1.1); }

/* Cookie settings checkboxes - no blue */
.form-check-input:checked { background-color: #6b7280; border-color: #6b7280; }
.form-check-input:focus { border-color: #6b7280; box-shadow: 0 0 0 0.25rem rgba(107,114,128,0.25); }

/* Enforce no-blue, no-underline on all links, even after merging Bootstrap CSS */
a, a:visited { color: #111 !important; text-decoration: none !important; }
a:hover, a:focus { color: var(--orange) !important; text-decoration: none !important; }
/* Mobile spacing: distance from edges when menu opens */
@media (max-width: 991.98px) {
  .site-header .container { padding-left: 12px; padding-right: 12px; }
  #navbars { padding-left: 12px; padding-right: 12px; }
  #navbars.show { padding-left: 12px; padding-right: 12px; }
  .shape-btn { height: 40px; padding: 0 14px; }
  .header-controls { gap: 8px; margin-left: 6px; margin-right: 6px; }
}
/* Ensure login and language selector share the same shape (no blue) */
.shape-btn {
  display: inline-block;
  height: 38px;
  padding: 0 12px;
  border-radius: 6px;
  border: 1px solid #37474f;
  background: #fff;
  color: #111;
  font-family: 'Fjalla One', sans-serif;
}
