/* ==========================================================================
   Sunshine Health Care - Responsive Stylesheet (Mobile First)
   ========================================================================== */

/* ---------- Small devices (up to 575.98px) - default mobile-first ---------- */
@media (max-width: 767.98px) {
  section { padding: 3.5rem 0; }

  .hero {
    min-height: auto;
    padding: 6rem 0 3.5rem;
    text-align: center;
  }
  .hero .lead { margin-left: auto; margin-right: auto; }
  .hero-buttons { justify-content: center; }
  .hero-stats { justify-content: center; text-align: center; gap: 1.25rem; }
  .hero-stat { flex: 1 1 33%; min-width: 90px; }
  .hero-stat h3 { font-size: 1.5rem; }

  .hero-image-wrap { margin-top: 2.5rem; }
  .hero-carousel { max-width: 420px; margin-left: auto; margin-right: auto; }
  .hero-float { position: static; display: inline-flex; margin: 0.5rem; }
  .hero-float-1, .hero-float-2 { position: static; }

  .page-header { padding: 6rem 0 3rem; }

  /* Timeline: full-width single column on mobile */
  .timeline::before { left: 20px; }
  .timeline-item {
    width: 100%;
    padding: 1rem 1rem 1rem 3rem;
    text-align: left !important;
  }
  .timeline-item:nth-child(odd),
  .timeline-item:nth-child(even) {
    left: 0;
    text-align: left;
  }
  .timeline-item:nth-child(odd)::before,
  .timeline-item:nth-child(even)::before {
    left: 11px;
    right: auto;
  }

  .contact-form { padding: 1.5rem; }

  .float-btn { width: 52px; height: 52px; font-size: 1.4rem; }
  .float-call { left: 15px; bottom: 15px; }
  .float-whatsapp { right: 15px; bottom: 15px; }

  .navbar-brand .brand-name { font-size: 1rem; }
  .navbar-brand .brand-sub { font-size: 0.6rem; }
  .navbar-brand .logo-icon { width: 36px; height: 36px; font-size: 1.2rem; }

  .navbar-collapse {
    padding: 1rem 0;
    margin-top: 0.75rem;
    border-top: 1px solid var(--border);
  }
  .navbar-nav .nav-link { padding: 0.75rem 1rem !important; }
  .nav-cta { margin: 0.5rem 0 0 !important; text-align: center; }

  .pricing-amount { font-size: 2rem; }
  .cta-section h2 { font-size: 1.65rem; }
}

/* ---------- Small tablets (576px+) ---------- */
@media (min-width: 576px) {
  section { padding: 4rem 0; }
}

/* ---------- Tablets (768px+) ---------- */
@media (min-width: 768px) {
  section { padding: 5rem 0; }
  .hero { padding: 8rem 0 5rem; }
}

/* ---------- Desktops (992px+) ---------- */
@media (min-width: 992px) {
  section { padding: 6rem 0; }
  .navbar-nav .nav-link { padding: 0.5rem 1rem !important; }
}

/* ---------- Large desktops (1200px+) ---------- */
@media (min-width: 1200px) {
  .container { max-width: 1200px; }
}

/* ---------- Print ---------- */
@media print {
  .navbar, .float-btn, .cta-section, .footer, .contact-form { display: none !important; }
  body { color: #000; background: #fff; }
  a { color: #000; text-decoration: underline; }
}
