@import url("https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap");

:root {
  --bs-body-font-family: "Rubik", sans-serif;
  --bs-success-rgb: 65, 178, 122;
  --color-brand-orange: #ee751b;
  --color-brand-blue: #163961;
  --color-brand-orange-light: #fff3eb;
  --bs-primary-rgb: 238, 117, 27;
  --bs-heading-color: #163961;
  --bs-dark-rgb: 17, 24, 39;
  --bs-border-color-translucent: rgb(0 0 0 / 18%);
  --bs-light-rgb: 245, 243, 240;
}

.shadow-lg {
  box-shadow: 0px 3px 9px rgb(0 0 0 / 18%) !important;
}

.text-brand-orange {
  color: var(--color-brand-orange) !important;
}

.text-brand-blue {
  color: var(--color-brand-blue) !important;
}

.bg-brand-orange {
  background-color: var(--color-brand-orange) !important;
}

.bg-brand-blue {
  background-color: var(--color-brand-blue) !important;
}

.bg-brand-orange-light {
  background-color: var(--color-brand-orange-light) !important;
}

.border-brand-orange {
  border-color: var(--color-brand-orange) !important;
}

/* ===== Buttons ===== */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--color-brand-orange);
  --bs-btn-border-color: var(--color-brand-orange);
  --bs-btn-hover-bg: #d46918;
  --bs-btn-hover-border-color: #d46918;
}

.btn-outline-primary {
  --bs-btn-color: var(--color-brand-orange);
  --bs-btn-border-color: var(--color-brand-orange);
}

.btn-outline-primary:hover {
  --bs-btn-bg: var(--color-brand-orange);
  --bs-btn-color: #fff;
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--color-brand-blue);
  --bs-btn-border-color: var(--color-brand-blue);
}

.btn-secondary:hover {
  --bs-btn-bg: #0f2a4a;
  --bs-btn-border-color: #0f2a4a;
}

.btn-outline-secondary {
  --bs-btn-color: var(--color-brand-blue);
  --bs-btn-border-color: var(--color-brand-blue);
    --bs-btn-hover-bg: var(--color-brand-blue);
    --bs-btn-hover-border-color: var(--color-brand-blue);
}

.btn-outline-secondary:hover {
  --bs-btn-bg: var(--color-brand-blue);
  --bs-btn-color: #fff;
}
/* ===== Navbar ===== */
.navbar-brand {
  font-size: 1.5rem;
  line-height: 1.1;
}

.nav-link {
  font-size: 0.9rem;
  padding: 0.5rem 1rem !important;
}

.nav-link.active {
  position: relative;
}

.nav-link.active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 3px;
  background-color: var(--color-brand-orange);
  border-radius: 2px;
}

/* ===== Hero Section ===== */
.hero-section {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  min-height: 600px;
}


/* ===== Tabs custom ===== */
.nav-tabs .nav-link {
  border: none;
  border-bottom: 3px solid transparent;
  background: transparent;
}

.nav-tabs .nav-link.active {
  border-bottom-color: var(--color-brand-orange);
  color: var(--color-brand-orange);
  font-weight: 600;
}

/* ===== Stats card ===== */
.bg-brand-blue .rounded-circle {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

/* ===== Responsive adjustments ===== */
@media (max-width: 768px) {
  .hero-section {
    min-height: auto;
    padding: 2rem 0;
  }

  .display-4 {
    font-size: 2rem;
  }
}

/* ===== Mascot animations ===== */
.ant-mascot-hero svg {
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

.card {
  box-shadow: 0 2px 3px -1px #0d001a0d;
  border-color: #e6e6e6;
}
/* ===== Badge colors ===== */
.badge.bg-light.text-success {
  color: #198754 !important;
}

.badge.bg-light.text-warning {
  color: #ffc107 !important;
}

.badge.bg-light.text-brand-blue {
  color: var(--color-brand-blue) !important;
}

/* ===== Input group focus ===== */
.input-group:focus-within {
  box-shadow: 0 0 0 0.2rem rgba(238, 117, 27, 0.25);
  border-radius: 0.375rem;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--color-brand-orange);
  box-shadow: 0 0 0 0.2rem rgba(238, 117, 27, 0.25);
}
