/* Shared responsive hardening across Dr. Surajit Hazra pages */
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{min-width:0}
img,video,iframe,svg,canvas{max-width:100%}
iframe{width:100%}
input,select,textarea,button{max-width:100%}
p,li,h1,h2,h3,h4,h5,h6,a,span,strong{overflow-wrap:break-word;word-break:normal}
pre,code{white-space:pre-wrap;overflow-wrap:anywhere}

@media (max-width:1160px){
  .site-header .nav{position:relative!important;min-height:76px;gap:14px}
  .site-header .logo{flex:0 1 auto}
  .site-header .logo img{width:min(210px,56vw)!important;max-width:100%!important;height:auto!important}
  .site-header .menu-btn{display:grid!important;place-items:center;flex:0 0 44px}
  .site-header .nav-links{
    display:none!important;position:absolute!important;z-index:150;left:0!important;right:0!important;
    top:calc(100% + 6px)!important;width:auto!important;max-width:none!important;margin:0!important;
    padding:14px!important;background:#fff!important;border:1px solid var(--line,#d8e7e3)!important;
    border-radius:14px!important;box-shadow:0 18px 55px rgba(8,58,55,.14)!important;
    flex-direction:column!important;align-items:stretch!important;gap:3px!important;
    max-height:calc(100vh - 145px)!important;max-height:calc(100dvh - 145px)!important;
    overflow-y:auto!important;overscroll-behavior:contain;
  }
  .site-header .nav-links.open{display:flex!important}
  .site-header .nav-links>a:not(.btn),.site-header .nav-dropdown-toggle{
    width:100%!important;min-height:44px!important;padding:10px 12px!important;text-align:left!important;
    justify-content:space-between!important;white-space:normal!important;
  }
  .site-header .nav-links>.btn{width:100%!important;margin-top:7px!important}
  .site-header .nav-dropdown{display:block!important;width:100%!important}
  .site-header .nav-dropdown-menu,
  .site-header .nav-dropdown:hover .nav-dropdown-menu,
  .site-header .nav-dropdown:focus-within .nav-dropdown-menu{
    display:none!important;position:static!important;left:auto!important;top:auto!important;transform:none!important;
    width:100%!important;max-width:none!important;grid-template-columns:1fr!important;opacity:1!important;
    visibility:visible!important;pointer-events:auto!important;box-shadow:none!important;border-radius:10px!important;
    margin:4px 0 0!important;padding:7px 8px 9px!important;
  }
  .site-header .nav-dropdown.open .nav-dropdown-menu{display:grid!important;transform:none!important}
  .site-header .nav-dropdown-menu a{white-space:normal!important;min-height:42px!important}
}

@media (max-width:680px){
  .wrap{width:min(100% - 28px,var(--max,1180px))!important}
  .topbar-inner{min-height:auto!important;justify-content:center!important;text-align:center!important;flex-wrap:wrap!important;padding:8px 0!important;gap:3px 12px!important}
  .topbar-inner>span:nth-child(2){display:none!important}
  .site-header .nav{min-height:68px!important}
  .site-header .logo img{width:min(184px,60vw)!important}

  h1,.hero h1,.ct-page h1,.ab-page h1{font-size:clamp(30px,9vw,40px)!important;line-height:1.12!important;letter-spacing:-.025em!important}
  h2,.ct-page h2,.ab-page h2{font-size:clamp(26px,7.5vw,33px)!important;line-height:1.16!important}
  h3{line-height:1.25!important}
  .lead,.hero-copy .lead{font-size:16px!important;line-height:1.58!important;max-width:none!important}
  .section,.ab-section,.ct-section{padding-top:54px!important;padding-bottom:54px!important}
  .section-head{margin-bottom:28px!important}

  .hero{background:linear-gradient(180deg,#f4fbf9 0%,#f4fbf9 62%,#0b5550 62%,#073f3c 100%)!important}
  .hero-inner{grid-template-columns:1fr!important;min-height:0!important;gap:26px!important;padding:42px 0 56px!important}
  .hero-copy,.hero-visual{width:100%!important;max-width:100%!important}
  .hero-copy{padding-bottom:0!important}
  .hero-title{gap:5px!important;margin-bottom:16px!important}
  .hero-title-service{font-size:clamp(20px,6.2vw,25px)!important;white-space:normal!important}
  .hero-title-doctor{font-size:clamp(28px,8.4vw,36px)!important;white-space:normal!important;line-height:1.08!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:20px!important}
  .hero-actions .btn{width:100%!important;min-height:48px!important}
  .hero-meta{display:flex!important;gap:8px!important;margin-top:17px!important}
  .hero-chip{font-size:12px!important;max-width:100%!important;white-space:normal!important}
  .hero-visual{min-height:0!important;padding-top:0!important;align-self:auto!important}
  .hero-visual::before,.hero:after{max-width:80vw!important;max-height:80vw!important}
  .hero-picture{width:min(320px,100%)!important;max-width:100%!important;margin-inline:auto!important;padding:10px!important}
  .hero-visual>img{width:min(360px,100%)!important;max-height:none!important;height:auto!important;margin-inline:auto!important}
  .hero-note{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;transform:none!important;width:calc(100% - 20px)!important;max-width:340px!important;margin:-18px auto 0!important;padding:14px 16px!important}

  .breadcrumbs .wrap{min-height:auto!important;padding:12px 0!important;flex-wrap:wrap!important;line-height:1.4!important}

  .split,.intro-grid,.feature,.feature.reverse,.why-grid,.clinic-wrap,.location-grid,.doctor-strip .split,
  .trust-grid,.care-grid,.timeline,.concerns-grid,.faq-grid,.other-services,.related-services-head,
  .footer-grid,.footer-grid-optimized,.core-care,.clinical-grid,
  .ab-hero-grid,.ab-profile-grid,.ab-degree-grid,.ab-exp-head,.ab-stat-grid,.ab-focus-grid,.ab-training-grid,.ab-membership-grid,.ab-contact-grid,
  .ct-hero-grid,.ct-form-row,.ct-location-shell,.ct-faq-grid,.ct-prepare-grid,.ct-channels{
    grid-template-columns:1fr!important;
  }
  .split,.intro-grid,.feature,.why-grid,.location-grid{gap:28px!important}
  .photo-card img,.doctor-portrait img{height:auto!important;max-height:none!important;object-fit:contain!important}
  .service-pill,.trust-card,.care-card,.phase,.concern-card{min-height:0!important}

  .cta-inner,.ct-close-inner{grid-template-columns:1fr!important;display:grid!important;gap:18px!important}
  .cta-inner .btn,.ct-close .btn{width:100%!important;justify-self:stretch!important}
  .review-top{grid-template-columns:1fr!important}
  .media-masonry{columns:1!important}

  .footer{padding-bottom:86px!important}
  .footer-grid-optimized,.footer-grid{gap:28px!important}
  .footer-services ul{grid-template-columns:1fr!important}
  .footer-logo{width:min(235px,100%)!important}
  .footer-contact-actions{grid-template-columns:1fr!important;display:grid!important}
  .footer-bottom{display:flex!important;flex-direction:column!important;gap:10px!important;padding-bottom:82px!important}
  .footer-credit{white-space:normal!important;text-align:left!important}

  .mobile-bar{grid-template-columns:1fr 1fr!important}

  /* About page */
  .ab-hero-grid{padding:28px 0 38px!important;gap:28px!important}
  .ab-portrait{max-width:330px!important;margin-inline:auto!important}
  .ab-focus-grid{grid-template-columns:1fr!important}
  .ab-stat{grid-template-columns:92px 1fr!important;padding:20px 16px!important}
  .ab-stat .ab-stat-value{font-size:32px!important}
  .ab-degree{display:block!important}
  .ab-contact-card{padding:22px 18px!important}

  /* Contact page */
  .ct-hero{padding:22px 0 40px!important}
  .ct-form-card{padding:22px 18px!important}
  .ct-form-row{grid-template-columns:1fr!important}
  .ct-location-shell{grid-template-columns:1fr!important}
  .ct-map{min-height:320px!important;border-left:0!important;border-top:1px solid #d8e6df!important}
  .ct-address-actions{display:grid!important;grid-template-columns:1fr!important}
  .ct-address-actions .btn,.ct-copy-btn{width:100%!important;justify-content:center!important}
}

@media (max-width:380px){
  .wrap{width:calc(100% - 22px)!important}
  .site-header .logo img{width:min(165px,58vw)!important}
  .site-header .menu-btn{width:42px!important;height:42px!important}
  h1,.hero h1,.ct-page h1,.ab-page h1{font-size:30px!important}
  h2,.ct-page h2,.ab-page h2{font-size:26px!important}
  .eyebrow{font-size:10px!important;letter-spacing:.10em!important}
  .hero-inner{padding-top:34px!important}
  .hero-picture{width:min(286px,100%)!important}
  .ab-stat{grid-template-columns:1fr!important}
  .ab-stat .ab-stat-value{grid-row:auto!important}
}
