@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');


:root {
  --brand-primary: #1e22aa;
  --brand-cream: #f2f0e2;
  --brand-dark: #0e1030;
  --bs-font-sans-serif: "Roboto", sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
}

html, body {
  font-family: 'Roboto', sans-serif !important;
}

.btn-primary {
  --bs-btn-bg: var(--brand-primary);
  --bs-btn-border-color: var(--brand-primary);
  --bs-btn-hover-bg: #15188a;
  --bs-btn-hover-border-color: #15188a;
  --bs-btn-focus-shadow-rgb: 30, 34, 170;
}
.text-primary {
  color: var(--brand-primary) !important;
}
.bg-cream {
  background-color: var(--brand-cream);
}
.bg-darkish {
  background-color: var(--brand-dark);
}

/* Navbar */
.navbar-brand {
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* Hero */
.hero-carousel .carousel-item {
  height: 70vh;
  min-height: 520px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.45) 0%,
    rgba(0, 0, 0, 0.25) 40%,
    rgba(0, 0, 0, 0.55) 100%
  );
}
.hero-caption {
  position: absolute;
  left: 50%;
  bottom: 10%;
  transform: translateX(-50%);
  color: #fff;
  text-align: center;
  max-width: 1100px;
  padding: 0 1rem;
}
.hero-title {
  font-size: clamp(1.75rem, 3vw, 3rem);
  font-weight: 800;
  line-height: 1.15;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}
.hero-subtitle {
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  opacity: 0.95;
}

/* Section headings */
.section-title {
  font-weight: 800;
  letter-spacing: 0.3px;
}

/* Icon list */
.icon-bullet {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e9e9f9;
  color: var(--brand-primary);
  margin-right: 0.75rem;
  flex: 0 0 auto;
}

/* News cards */
.news-card .card-title {
  font-weight: 700;
}
.news-card .card-text {
  color: #4b4b57;
}
.news-card .stretched-link {
  color: var(--brand-primary);
  text-decoration: none;
}

/* EU strip */
.eu-strip {
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

/* Footer */
.footer-link {
  color: #d9dbff;
  text-decoration: none;
}
.footer-link:hover {
  text-decoration: underline;
}
