/* ==========================================================================
   AD SOLACE HEALTHCARE — RESPONSIVE
   Breakpoints: 1600 / 1440 / 1366 / 1200 / 1024 / 992 / 768 / 600 / 480 / 390 / 375 / 320
   ========================================================================== */

/* ---------- ≤1600px ---------- */
@media (max-width: 1600px) {
  :root {
    --container-w: 1200px;
  }
}

/* ---------- ≤1440px ---------- */
@media (max-width: 1440px) {
  :root {
    --container-w: 1120px;
  }

  .hero-visual {
    height: 500px;
  }
}

/* ---------- ≤1366px ---------- */
@media (max-width: 1366px) {
  .services-bento {
    grid-auto-rows: 175px;
  }
}

/* ---------- ≤1200px ---------- */
@media (max-width: 1200px) {
  :root {
    --container-w: 96%;
    --space-9: 7.2rem;
  }

  .treatments-grid, .doctors-grid, .destinations-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .services-bento {
    grid-template-columns: repeat(3, 1fr);
  }

  .svc-card.large {
    grid-column: span 2;
  }
}

/* ---------- ≤1024px ---------- */
@media (max-width: 1024px) {
  .hero .container {
    gap: var(--space-5);
  }

  .hero-slide p {
    max-width: 100%;
  }

  .hero-visual {
    height: 440px;
  }

  .consult-wrap {
    grid-template-columns: 1fr;
  }

  .consult-info, .consult-form {
    padding: var(--space-6);
  }

  .story-feature {
    grid-template-columns: 1fr;
  }

  .story-media {
    min-height: 300px;
  }
}

/* ---------- ≤992px (tablet) ---------- */
@media (max-width: 992px) {
  :root {
    --header-h: 110px;
    --marquee-h: 32px;
  }

  .nav-desktop {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .hero .container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero-slide p {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-ctas {
    justify-content: center;
  }

  .hero-dots {
    justify-content: center;
  }

  .trust-strip {
    justify-content: center;
    grid-template-columns: repeat(2, auto);
  }

  .hero-visual {
    order: -1;
    height: 380px;
    margin-bottom: var(--space-4);
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    row-gap: var(--space-5);
  }

  .stat-item:nth-child(2) {
    border-right: none;
  }

  .journey-track {
    grid-template-columns: repeat(3, 1fr);
    row-gap: var(--space-6);
  }

  .journey-track::before {
    display: none;
  }

  .treatments-grid, .doctors-grid, .hospitals-grid, .team-grid, .destinations-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .services-detail-grid, .story-list, .detail-overview, .contact-grid, .about-story {
    grid-template-columns: 1fr;
  }

  .detail-sidebar {
    position: static;
  }

  .featured-treatment {
    grid-template-columns: 1fr;
  }

  .featured-badge {
    right: var(--space-3);
  }

  .why-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .services-bento {
    grid-template-columns: repeat(2, 1fr);
  }

  .svc-card.large {
    grid-column: span 2;
  }

  .destinations-wrap {
    grid-template-columns: 1fr;
  }

  .hospital-card {
    flex: 0 0 calc(50% - 1.2rem);
  }

  .footer-top {
    grid-template-columns: 1fr 1fr;
    row-gap: var(--space-6);
  }
}

/* ---------- ≤768px (mobile landscape / small tablet) ---------- */
@media (max-width: 768px) {
  html {
    font-size: 58%;
  }

  .section {
    padding: var(--space-7) 0;
  }

  .journey-track {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .journey-step {
    display: flex;
    gap: var(--space-3);
    align-items: flex-start;
  }

  .journey-num {
    margin-bottom: 0;
    flex-shrink: 0;
  }

  .treatments-grid, .doctors-grid, .hospitals-grid, .team-grid, .destinations-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-3);
  }

  .page-hero h1 {
    font-size: clamp(3rem, 6vw, 4.4rem);
  }

  .filter-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: var(--space-2);
    -webkit-overflow-scrolling: touch;
  }

  .filter-tab {
    flex-shrink: 0;
  }

  .services-bento {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 160px;
  }

  .svc-card.large {
    grid-column: span 2;
    grid-row: span 1;
    min-height: 220px;
  }

  .hospital-card {
    flex: 0 0 100%;
  }

  .consult-info, .consult-form {
    padding: var(--space-5);
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: var(--space-5);
    padding-bottom: var(--space-5);
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .mobile-cta-bar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 950;
    background: var(--white);
    box-shadow: 0 -4px 20px rgba(11, 31, 51, 0.12);
    padding: var(--space-2) var(--space-3);
    gap: var(--space-2);
  }

  .mobile-cta-bar .btn {
    flex: 1;
    font-size: 1.3rem;
    padding: 1.3rem 1.2rem;
  }

  body {
    padding-bottom: 74px;
  }

  /* room for mobile CTA bar */

  .whatsapp-float {
    bottom: 88px;
    width: 52px;
    height: 52px;
    font-size: 2.2rem;
  }

  .back-to-top {
    bottom: 152px;
  }

  .whatsapp-float .wa-tip {
    display: none;
  }
}

/* ---------- ≤600px ---------- */
@media (max-width: 600px) {
  .why-grid {
    grid-template-columns: 1fr;
  }

  .stats-grid {
    grid-template-columns: 1fr 1fr;
  }

  .destination-panel {
    padding: var(--space-4);
  }

  .story-content {
    padding: var(--space-5);
  }

  .cta-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-ctas {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-ctas .btn {
    width: 100%;
  }
}

/* ---------- ≤480px ---------- */
@media (max-width: 480px) {
  .treatments-grid, .doctors-grid, .hospitals-grid, .team-grid, .story-list, .destinations-grid {
    grid-template-columns: 1fr;
  }

  .services-bento {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }

  .svc-card, .svc-card.large {
    grid-column: span 1 !important;
    min-height: 180px;
  }

  .stats-grid {
    grid-template-columns: 1fr 1fr;
  }

  .trust-strip {
    grid-template-columns: 1fr;
  }

  .hero-visual {
    height: 320px;
  }

  .container {
    padding: 0 var(--space-3);
  }
}

/* ---------- ≤390px ---------- */
@media (max-width: 390px) {
  h1 {
    font-size: 3.4rem;
  }

  .hero-visual {
    height: 280px;
  }

  .node, .info-card {
    transform: scale(0.85);
  }
}

/* ---------- ≤375px ---------- */
@media (max-width: 375px) {
  .container {
    padding: 0 var(--space-2);
  }

  .card-body, .consult-info, .consult-form {
    padding: var(--space-3);
  }
}

/* ---------- ≤320px ---------- */
@media (max-width: 320px) {
  html {
    font-size: 54%;
  }

  .info-card {
    padding: 1rem 1.2rem;
  }

  .stats-grid {
    grid-template-columns: 1fr;
  }

  .stat-item {
    border-right: none;
    border-bottom: 1px solid var(--border-dark);
    padding-bottom: var(--space-3);
  }
}

/* ---------- Touch devices: disable mouse-based tilt ---------- */
@media (hover: none) and (pointer: coarse) {
  .treatment-card, .doctor-card {
    transform: none !important;
  }

  .med-cursor {
    display: none !important;
  }
}

/* ---------- No horizontal scroll safeguard ---------- */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}