/* Minimal Bootstrap overrides for branding */
:root {
  /* Brand primary color */
  --bs-primary: #00A3B7;
  --bs-primary-rgb: 0, 163, 183;
  --bs-link-color: #00A3B7;
  --bs-link-hover-color: #008fa0;
}

/* Ensure primary variants pick up our brand color */
.btn-primary,
.bg-primary { background-color: var(--bs-primary) !important; }
.text-primary { color: var(--bs-primary) !important; }
.border-primary { border-color: var(--bs-primary) !important; }

body { font-feature-settings: 'liga' 1; }

.form-required::after {
  content: ' *';
  color: var(--bs-danger);
}

.card-title small { color: var(--bs-secondary); font-weight: 400; }

/* Subtle Animations */
@keyframes fadeIn { from {opacity:0; transform: translateY(4px);} to {opacity:1; transform: none;} }
@keyframes riseIn { from {opacity:.4; transform: translateY(8px);} to {opacity:1; transform: none;} }
@keyframes pulse { 0% { transform: scale(1); opacity: .9;} 50% { transform: scale(1.2); opacity: .6;} 100% { transform: scale(1); opacity: .9;} }

.animate-fade-in { animation: fadeIn .35s ease-out both; }
.animate-rise    { animation: riseIn .45s cubic-bezier(.2,.8,.2,1) both; }
.pulse-dot { animation: pulse 1.6s ease-in-out infinite; }

/* Table row hover lift */
table.table tbody tr { transition: background-color .15s ease, transform .12s ease; }
table.table tbody tr:hover { transform: translateY(-1px); }

/* Badges/Buttons smooth color transition */
.badge, .btn { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
/* Responsive sticky helpers */
@media (min-width: 768px){
  .sticky-md-top{ position: sticky !important; }
}
@media (min-width: 992px){
  .sticky-lg-top{ position: sticky !important; }
}
@media (min-width: 1200px){
  .sticky-xl-top{ position: sticky !important; }
}
.sticky-top-12{ top: 12px !important; }
.sticky-elevated{ z-index: 2; }

/* Make long navs scrollable on small screens */
.nav-pills.nav-scroll{
  overflow-x: auto; white-space: nowrap; flex-wrap: nowrap;
}

/* Responsive utilities */
img, svg { max-width: 100%; height: auto; }
.table-wrap { width: 100%; overflow-x: auto; }

/* Improve form controls touch targets */
@media (max-width: 576px){
  .form-control, .form-select, .btn{ font-size: 1rem; }
}
