/* RSUD AMS Phase 13 — shared visual system. Load after the existing style.css. */
:root {
  --ams-brand: #087f8c;
  --ams-brand-dark: #075c68;
  --ams-brand-soft: #e8f6f7;
  --ams-ink: #183247;
  --ams-muted: #667985;
  --ams-line: #e2ebef;
  --ams-surface: #ffffff;
  --ams-page: #f6fafb;
  --ams-radius-sm: 10px;
  --ams-radius: 18px;
  --ams-radius-lg: 26px;
  --ams-shadow: 0 10px 30px rgba(22, 58, 75, .08);
  --ams-shadow-hover: 0 18px 42px rgba(22, 58, 75, .14);
}

html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { color: var(--ams-ink); }
::selection { color: #fff; background: var(--ams-brand); }

/* Keep existing Bootstrap/FTCO layout intact; refine shared components only. */
a { transition: color .2s ease, background-color .2s ease; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid rgba(8, 127, 140, .4);
  outline-offset: 3px;
}

.btn, button.btn, input[type="submit"] {
  border-radius: 999px;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.btn-primary, .btn.btn-primary {
  background-color: var(--ams-brand);
  border-color: var(--ams-brand);
}
.btn-primary:hover, .btn.btn-primary:hover {
  background-color: var(--ams-brand-dark);
  border-color: var(--ams-brand-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(8, 127, 140, .2);
}

/* Navbar: visual refinement without changing its markup or links. */
.navbar, .ftco-navbar-light {
  transition: box-shadow .25s ease, background-color .25s ease;
}
.navbar.ams-nav-scrolled, .ftco-navbar-light.ams-nav-scrolled {
  background-color: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 8px 26px rgba(19, 57, 73, .1);
  backdrop-filter: blur(12px);
}
.navbar .nav-link, .ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
  transition: color .2s ease;
}
.navbar .nav-link:hover, .ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover {
  color: var(--ams-brand) !important;
}

/* Shared card language for service, news and doctor areas. */
.ftco-services .services, .services-wrap, .blog-entry, .staff, .doctor-card,
.ams-doctor-card, .ams-news-card, .card {
  border-radius: var(--ams-radius);
}
.blog-entry, .ftco-services .services, .services-wrap, .card,
.ams-news-card, .ams-doctor-card {
  overflow: hidden;
  box-shadow: 0 5px 22px rgba(22, 58, 75, .055);
  transition: transform .25s ease, box-shadow .25s ease;
}
.blog-entry:hover, .ftco-services .services:hover, .services-wrap:hover,
.card:hover, .ams-news-card:hover, .ams-doctor-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ams-shadow-hover);
}
.blog-entry .text, .card-body { overflow-wrap: anywhere; }
.blog-entry .heading a, .heading-section h2 { color: var(--ams-ink); }
.blog-entry .heading a:hover { color: var(--ams-brand); }

/* Forms and search fields. */
.form-control, select.form-control, textarea.form-control,
input[type="text"], input[type="email"], input[type="search"], input[type="tel"] {
  border-radius: var(--ams-radius-sm);
  border-color: #d7e4e9;
  min-height: 44px;
}
.form-control:focus, select.form-control:focus, textarea.form-control:focus {
  border-color: var(--ams-brand);
  box-shadow: 0 0 0 .2rem rgba(8, 127, 140, .12);
}

/* More consistent section spacing while retaining existing section backgrounds. */
.heading-section .subheading, .subheading {
  color: var(--ams-brand);
  letter-spacing: .08em;
}
.ftco-section { scroll-margin-top: 86px; }

/* Footer refinement. */
.ftco-footer { color: rgba(255, 255, 255, .82); }
.ftco-footer a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ftco-footer a:hover { color: #fff; }

@media (max-width: 767.98px) {
  :root { --ams-radius: 15px; --ams-radius-lg: 21px; }
  html { scroll-padding-top: 76px; }
  .ftco-section { padding-top: 3.25rem; padding-bottom: 3.25rem; }
  .heading-section h2 { line-height: 1.25; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
