/* =========================================================================
   RESPONSIVE OVERRIDES — mobile-first refinements
   Bootstrap handles the grid; this file tunes spacing, type, and
   component behavior at each breakpoint for the custom components in
   style.css.
   ========================================================================= */

/* -------- Large desktops (>=1400px): a little extra breathing room -------- */
@media (min-width: 1400px) {
  .hero-banner h1 { font-size: 3.6rem; }
}

/* -------- Tablets / small desktops (<=1199.98px) -------- */
@media (max-width: 1199.98px) {
  :root { --header-height: 80px; }
  .main-nav .nav-link { padding: 1.5rem 0.75rem; font-size: 0.925rem; }
  .hero-stat-card { padding: 0.85rem 1rem; }
}

/* -------- Tablets (<=991.98px): nav collapses to offcanvas -------- */
@media (max-width: 991.98px) {
  :root { --header-height: 72px; }

  .topbar { font-size: 0.78rem; }
  .navbar-brand-custom img { height: 38px; }
  .navbar-brand-custom .brand-text strong { font-size: 1rem; }

  .header-phone span.d-lg-block { display: none !important; }

  .hero-banner { padding-top: 48px; padding-bottom: 56px; text-align: center; }
  .hero-banner .hero-content { margin-bottom: 2.5rem; }
  .hero-banner .hero-cta-row { justify-content: center; }
  .hero-stat-card { position: static; margin-top: 1rem; display: inline-flex; }

  .page-hero { padding-block: 48px 64px; text-align: center; }
  .breadcrumb-custom { justify-content: center; }

  .floating-cta { right: 16px; bottom: 16px; }
  .floating-cta .fab { width: 52px; height: 52px; font-size: 1.2rem; }
  .floating-cta .fab-book span { display: none; }
  .floating-cta .fab-book { width: 52px; height: 52px; padding: 0; }
  .back-to-top { right: 16px; bottom: 82px; }

  .section-pad { padding-block: 56px; }

  .content-with-sidebar { flex-direction: column-reverse; }
  
  i.bi.bi-fire {
	margin-right: 5px;
}

.accordion-collapse .accordion-body a {
	display:block;
}
}

/* -------- Mobile (<=767.98px) -------- */
@media (max-width: 767.98px) {
  html { scroll-padding-top: calc(var(--header-height) + 8px); }

  h1 { font-size: 2rem !important; }
  .hero-banner h1 { font-size: 2.1rem; }
  .page-hero h1 { font-size: 1.85rem; }

  .eyebrow { font-size: 0.72rem; padding: 6px 12px; }

  .cta-banner { padding: 2rem 1.25rem; text-align: center; }
  .cta-banner .cta-btn-row { justify-content: center; margin-top: 1rem; }

  .doctor-card .doctor-photo { aspect-ratio: 4/3; }

  .footer-brand-row { justify-content: center; text-align: left; }
  .site-footer .col-lg-3, .site-footer .col-lg-2 { text-align: center; }
  .site-footer .footer-links { display: inline-block; text-align: left; }
  .footer-social { justify-content: center; }

  .form-card { padding: 1.5rem; }

  .trust-item { justify-content: center; text-align: center; flex-direction: column; gap: 6px; font-size: 0.8rem; }
}

/* -------- Small mobile (<=575.98px) -------- */
@media (max-width: 575.98px) {
  .container, .container-fluid.px-custom { padding-inline: 1.1rem; }
  .btn { padding: 0.75rem 1.4rem; font-size: 0.925rem; }
  .card-brand .card-body-custom { padding: 2rem 1.25rem 1.25rem; }
  .stat-counter .num { font-size: 1.75rem; }
  .hero-banner .hero-media img { border-radius: var(--radius-md); }
}

/* -------- Print -------- */
@media print {
  .site-header, .floating-cta, .back-to-top, .site-footer, .gut-divider, video, iframe { display: none !important; }
  body { background: #fff; }
  a { color: #000; text-decoration: underline; }
}
