/* ============================================================
   Responsive Styles — Dr. Srikanth Munna
   Breakpoints: 320–480, 768, 1024, 1280, 1440+
   ============================================================ */

/* Large desktop refinements */
@media (min-width: 1440px) {
  :root { --container: 1240px; }
}

/* Tablet landscape / small desktop */
@media (max-width: 1100px) {
  .nav__link { padding: 0.45rem 0.5rem; font-size: 0.82rem; }
  .header__phone { display: none; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .proc-grid { grid-template-columns: repeat(3, 1fr); }
  .oncology-grid { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .footer-panel__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .footer-panel__tagline { text-align: left; width: 100%; }
  .svc-detail__layout { grid-template-columns: 1fr; }
  .svc-detail__aside {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
  }
  .svc-prevent__grid,
  .svc-steps { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1024px) {
  .svc-tile { width: min(100%, 180px); }
  .svc-tile__media img { height: 120px; }
  .svc-features__grid { grid-template-columns: 1fr; }
  .contact-ways__grid { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
  .contact-way {
    min-height: 440px;
    padding: 12rem 1.25rem 2.35rem;
  }
  .meet-doctor__grid {
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
  }
  .meet-doctor__intro { grid-column: 1 / -1; }
  .meet-doctor__stat { max-width: none; }
  .meet-doctor__location { max-width: 40ch; }
  .meet-doctor__title { max-width: 28ch; }
  .meet-doctor__media {
    max-width: 360px;
    margin-inline: auto;
    width: 100%;
  }
  .hero__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .hero-banner__compose-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .hero-banner__copy--compose {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .hero-banner__specialties { max-width: 520px; }
  .hero-banner__cta-wrap,
  .hero-slide[data-slide="0"] .hero-banner__cta-wrap {
    position: static;
    transform: none;
    display: flex;
    justify-content: center;
    padding: 1.25rem 1rem 2.75rem;
    background: #f7f9fb;
  }
  .hero-banner__img {
    max-height: none;
  }
  .hero-banner--compose {
    min-height: 0;
    padding-bottom: 3.5rem;
  }
  .hero__visual {
    min-height: 400px;
    order: -1;
    max-width: 420px;
    margin-inline: auto;
  }
  .hero h1 { font-size: clamp(2rem, 5vw, 2.6rem); }
  .hero__title { font-size: clamp(2rem, 5vw, 2.6rem); }
  .hero-slider__controls { bottom: 0.65rem; }
  .about__grid,
  .mens-grid,
  .feature-split,
  .contact-grid,
  .service-detail-grid,
  .doctor-layout,
  .svc-detail__layout,
  .svc-detail__split {
    grid-template-columns: 1fr;
  }
  .svc-detail__aside {
    position: static;
    max-width: 480px;
    width: 100%;
    grid-template-columns: 1fr;
  }
  .svc-prevent__grid,
  .svc-steps {
    grid-template-columns: 1fr;
  }
  .svc-trust__list {
    grid-template-columns: 1fr;
  }
  .doctor-aside {
    position: static;
    max-width: 420px;
    margin-inline: auto;
    width: 100%;
  }
  .doctor-facts__row {
    grid-template-columns: minmax(6.5rem, 8rem) 1fr;
  }
  .feature-split--reverse .feature-split__content,
  .feature-split--reverse .feature-split__media { order: unset; }
  .about__media { max-width: 420px; margin-inline: auto; }
  .about__accent { display: none; }
  .highlights__services { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .mosaic { grid-template-columns: repeat(2, 1fr); }
  .faq-layout { grid-template-columns: 1fr; gap: 2rem; }
  .faq-visual { max-width: 420px; margin-inline: auto; width: 100%; }
  .stats__grid { grid-template-columns: repeat(2, 1fr); }
  .stats-banner__grid { grid-template-columns: repeat(2, 1fr); gap: 1.75rem 1rem; }
  .stat-card:nth-child(2) { border-right: none; }
  .stat-card:nth-child(1),
  .stat-card:nth-child(2) {
    border-bottom: 1px solid var(--border-light);
  }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .prostate-cards { grid-template-columns: repeat(2, 1fr); }
  .journey {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
  .journey::before { display: none; }
  .video-grid { grid-template-columns: repeat(2, 1fr); }
  .locations-grid { grid-template-columns: 1fr; }
  .sidebar-card { position: static; }
}

/* Tablet */
@media (max-width: 900px) {
  .topbar__locations { display: none; }
  .nav {
    position: fixed;
    top: var(--header-h);
    left: 0;
    right: 0;
    background: #062a38;
    flex-direction: column;
    align-items: stretch;
    padding: 1rem;
    gap: 0.15rem;
    box-shadow: var(--shadow-lg);
    border-bottom: 1px solid rgba(255,255,255,0.08);
    max-height: calc(100vh - var(--header-h));
    overflow-y: auto;
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
    z-index: 999;
  }
  .site-header:not(:has(.topbar)) .nav,
  body:not(:has(.topbar)) .nav {
    top: var(--header-h);
    max-height: calc(100vh - var(--header-h));
  }
  .nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .nav__link {
    padding: 0.85rem 1rem;
    font-size: 1rem;
    border-radius: var(--radius-sm);
  }
  .site-header--bar .nav__link {
    color: rgba(255,255,255,0.92);
  }
  .nav__link.is-active::after { display: none; }
  .nav__link.is-active { background: rgba(255,255,255,0.1); color: var(--white); }
  .site-header--bar .nav__link.is-active {
    background: rgba(255,255,255,0.12);
    color: var(--white);
  }
  .site-header--bar .logo--bar { max-width: calc(100% - 56px); }
  .logo__img--bar { height: 48px; max-width: min(280px, 68vw); }
  .nav__dropdown-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: none;
    border: none;
    padding: 0 0 0 0.75rem;
    min-width: 0;
    display: none;
  }
  .nav__dropdown.is-expanded .nav__dropdown-menu { display: block; }
  .menu-toggle { display: inline-flex; }
  .header__actions .btn--primary { display: none; }
  .spec-grid { grid-template-columns: 1fr; }
  .proc-grid { grid-template-columns: repeat(2, 1fr); }
  .form-row { grid-template-columns: 1fr; }
}

/* Mobile landscape / large phones */
@media (max-width: 768px) {
  .svc-catalog__grid { gap: 0.85rem; }
  .svc-tile { width: calc(50% - 0.45rem); }
  .svc-tile__title {
    font-size: 0.72rem;
    min-height: 3.1em;
    padding: 0.55rem 0.4rem 0.35rem;
  }
  .svc-tile__media img { height: 110px; }
  .svc-tile__bar { height: 12px; }
  .meet-doctor__grid {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .meet-doctor__intro { grid-column: auto; }
  .meet-doctor__media {
    max-width: 320px;
    order: 0;
  }
  .meet-doctor__panel { padding: 1.35rem 1.15rem; }
  .meet-doctor__title { max-width: none; }
  .meet-doctor__cta { width: 100%; }
  .highlights__services { grid-template-columns: 1fr; }
  .highlights__media { aspect-ratio: 16 / 10; }
  .highlights__play i { width: 58px; height: 58px; }
  .mosaic { grid-template-columns: 1fr; }
  .mosaic__card,
  .mosaic__card--media img { min-height: 240px; }
  .yt-slider {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }
  .yt-slider__btn {
    position: absolute;
    top: 28%;
    z-index: 2;
    width: 38px;
    height: 38px;
  }
  .yt-slider__btn--prev { left: 0.25rem; }
  .yt-slider__btn--next { right: 0.25rem; }
  :root {
    --header-h: 68px;
    --section-pad: clamp(3rem, 10vw, 4rem);
  }
  .container { width: min(100% - 1.5rem, var(--container)); }
  .topbar { display: none; }
  .nav { top: var(--header-h); max-height: calc(100vh - var(--header-h)); }
  .logo__mark { width: 42px; height: 42px; font-size: 1rem; }
  .logo__img { height: 44px; max-width: min(180px, 48vw); }
  .logo__text strong { font-size: 0.82rem; }
  .logo__text span { font-size: 0.65rem; }
  .doctor-banner { padding-top: 1rem; }
  .doctor-banner__img { max-height: 200px; }
  .doctor-banner__img--page {
    max-height: 200px;
    min-height: 180px;
  }
  .doctor-banner__page-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 1rem 1.15rem 0.9rem;
  }
  .doctor-banner__page-title { font-size: 1.45rem; }
  .doctor-banner__hero--services {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .doctor-banner__hero--services .doctor-banner__copy {
    padding: 2rem 1.25rem 2.5rem;
  }
  .doctor-banner__photo--banner {
    min-height: 180px;
    max-height: 200px;
  }
  .doctor-banner__bar {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.15rem 1.25rem;
  }
  .doctor-banner__crumb {
    right: 0.75rem;
    bottom: 0.55rem;
    font-size: 0.72rem;
  }
  .svc-features__grid { grid-template-columns: 1fr; }
  .contact-ways__grid { grid-template-columns: 1fr; }
  .contact-way {
    min-height: 420px;
    padding: 11.5rem 1.25rem 2.25rem;
  }
  .svc-success__row { flex-direction: column; align-items: flex-start; }
  .doctor-facts__row {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }
  .hero { padding-top: 0; padding-bottom: 0; }
  .hero__visual { min-height: 340px; max-width: 320px; }
  .hero-banner__script { font-size: clamp(1.85rem, 8vw, 2.5rem); }
  .hero-banner__name { font-size: clamp(1.65rem, 7vw, 2.2rem); }
  .hero-banner__photo { max-height: 360px; width: min(100%, 300px); }
  .btn--banner { width: 100%; max-width: 280px; }
  .hero__photo { width: min(100%, 280px); }
  .float-card--exp { top: 6%; left: -4%; padding: 0.7rem 0.9rem; }
  .float-card--proc { bottom: 14%; right: -4%; padding: 0.7rem 0.9rem; }
  .float-card__num { font-size: 1.35rem; }
  .trust-badge { left: 0; bottom: 2%; font-size: 0.7rem; padding: 0.5rem 0.75rem; }
  .hero__credentials { gap: 0.5rem; }
  .hero__cred { font-size: 0.78rem; padding: 0.45rem 0.75rem; }
  .btn-group { width: 100%; }
  .btn-group .btn { flex: 1; min-width: 140px; }
  .stats { margin-top: -1rem; }
  .stats__grid { padding: 1rem; gap: 0; }
  .stats-banner { padding: 2.25rem 0; }
  .stats-banner__label { max-width: 16ch; }
  .services-grid { grid-template-columns: 1fr; }
  .filter-bar {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.35rem;
  }
  .filter-bar::-webkit-scrollbar { display: none; }
  .filter-btn { flex-shrink: 0; }
  .why-grid { grid-template-columns: 1fr; }
  .prostate-cards { grid-template-columns: 1fr; }
  .video-grid { grid-template-columns: 1fr; }
  .oncology-grid { grid-template-columns: 1fr; }
  .journey { grid-template-columns: 1fr; gap: 1.5rem; }
  .journey-step { display: grid; grid-template-columns: 72px 1fr; gap: 1rem; text-align: left; align-items: center; }
  .journey-step__num { margin: 0; }
  .journey-step p { margin: 0; max-width: none; }
  .testimonial { padding: 1.75rem 1.35rem; }
  .footer__grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .footer__bottom { flex-direction: column; text-align: center; }
  .footer__links { justify-content: center; }
  .footer-panel__grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .footer-panel__top { flex-direction: column; align-items: flex-start; }
  .footer-logo__img { height: 48px; }
  .footer-col__phone { font-size: 1.2rem; }
  .float-actions { display: none; }
  .mobile-cta { display: grid; }
  body { padding-bottom: calc(var(--mobile-cta-h) + env(safe-area-inset-bottom)); }
  .modal__dialog { padding: 1.5rem; }
  .page-hero { padding: 2.25rem 0 2rem; }
}

/* Small phones */
@media (max-width: 480px) {
  .hero h1 { font-size: 1.85rem; }
  .hero__lead { font-size: 0.98rem; }
  .section-title { font-size: 1.65rem; }
  .stat-card__num { font-size: 1.85rem; }
  .proc-grid { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
  .proc-card { aspect-ratio: 3 / 3.6; }
  .proc-card__overlay { padding: 1rem; }
  .proc-card h3 { font-size: 0.95rem; }
  .proc-card p { display: none; }
  .mens-panel { padding: 1.5rem; }
  .mens-tags { gap: 0.45rem; }
  .mens-tag { font-size: 0.8rem; padding: 0.45rem 0.75rem; }
  .spec-card { padding: 1.5rem; }
  .contact-form-wrap { padding: 1.35rem; }
  .cta-band .btn-group { flex-direction: column; align-items: stretch; }
  .location-card__actions { flex-direction: column; }
  .location-card__actions .btn { width: 100%; }
}

/* Extra small */
@media (max-width: 360px) {
  .container { width: min(100% - 1.15rem, var(--container)); }
  .logo__text span { display: none; }
  .hero__cred span { display: none; }
  .btn { padding: 0.8rem 1.2rem; font-size: 0.85rem; }
}

/* Prevent horizontal overflow */
@media (max-width: 1024px) {
  .hero__blob { width: 90%; }
  .float-card { max-width: 150px; }
}

/* Print */
@media print {
  .site-header, .topbar, .float-actions, .mobile-cta, .back-to-top, .modal { display: none !important; }
  body { padding: 0; color: #000; }
}
