
/* Sai Neelkanth Hospital — mobile UX finish.
   Overrides only layout, navigation and typography; preserves hospital assets and palette. */
.consent-compact{
 display:flex;align-items:flex-start;gap:12px;width:100%;
 margin:10px 0 5px;padding:0;min-width:0;color:#1D472F;
}
.consent-compact>input{
 width:18px!important;height:18px!important;min-width:18px!important;
 flex:0 0 18px!important;margin:2px 0 0!important;accent-color:#2D6143;
 cursor:pointer;
}
.consent-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.consent-copy>label{
 cursor:pointer;display:block;font-weight:650;font-size:13px;line-height:1.4;
 color:#1D472F;
}
.consent-explainer{display:block;max-width:100%}
.consent-explainer>summary{
 display:inline-flex;align-items:center;font-size:11px;font-weight:700;
 line-height:1.4;color:#2D6143;cursor:pointer;list-style:none;
 text-decoration:underline;text-underline-offset:2px;
}
.consent-explainer>summary::-webkit-details-marker{display:none}
.consent-explainer>summary::after{content:' ▾'}
.consent-explainer[open]>summary::after{content:' ▴'}
.consent-explainer>p{
 font-size:11px!important;line-height:1.5!important;margin:6px 0 4px!important;
 color:#567661!important
}
.consent-compact :is(input,summary):focus-visible{outline:3px solid #9DAF9F;outline-offset:3px}
/* Reuse the real floating chatbot launcher, instead of a fourth navigation tile. */
@media(max-width:760px){
 nav.mobile-actions,.mobile-actions{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:auto!important;align-items:stretch!important;
  gap:6px!important;padding:8px 9px calc(8px + env(safe-area-inset-bottom,0px))!important;
 }
 .mobile-actions>.mobile-action{min-height:55px!important;grid-row:1!important;min-width:0!important}
 .chat-launch.chatbot-launch{
  display:grid!important;place-items:center!important;
  right:14px!important;bottom:calc(86px + env(safe-area-inset-bottom,0px))!important;
  width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;
  border-radius:50%!important;z-index:85!important;
  padding:0!important;line-height:1!important;
  background:#1D472F!important;color:#FFFFFF!important;
  box-shadow:0 6px 24px rgba(29,71,47,.23)!important;
 }
 .chat-launch.chatbot-launch::after{display:none!important;content:none!important}
 .chat-launch.chatbot-launch svg{display:block!important;width:24px!important;height:24px!important}
 .chat-launch.chatbot-launch span{display:none!important}
 .chatbot-panel{
   bottom:calc(148px + env(safe-area-inset-bottom,0px))!important;
   max-height:calc(100dvh - 163px - env(safe-area-inset-bottom,0px))!important;
   height:min(475px,calc(100dvh - 163px - env(safe-area-inset-bottom,0px)))!important
 }
 /* Patient contact details: use the whole card width instead of manually wrapped lines. */
 #contact .contact-information{width:100%!important;max-width:none!important;min-width:0!important}
 #contact .hospital-address{
  display:block!important;width:100%!important;max-width:none!important;
  font-size:12px!important;line-height:1.47!important;letter-spacing:-.12px!important;
  margin-block:13px 18px!important;
 }
 #contact .hospital-address strong{
  display:block!important;margin:0 0 5px!important;font-size:13px!important;
  line-height:1.35!important
 }
 #contact .hospital-address span{display:block!important;width:100%!important}
 /* Compact rhythm without sacrificing readable body text. */
 #home .hero-grid{gap:12px!important}
 #home .hero-side .actions{margin:13px 0!important}
 #home .hero-side .intro{line-height:1.48!important}
 #doctors .doctor-card .doctor-content{padding:13px!important}
 #doctors .doctor-intro{
  position:relative!important;z-index:3!important;
  width:57%!important;min-height:286px!important;
 }
 #doctors .doctor-card .doctor-photo-rail{
  top:0!important;right:0!important;bottom:auto!important;
  width:61%!important;max-width:61%!important;height:294px!important;
  overflow:hidden!important;z-index:1!important;background:transparent!important;
 }
 #doctors .doctor-card .doctor-photo-rail img{
  position:absolute!important;bottom:0!important;top:auto!important;right:-3%!important;
  height:100%!important;width:110%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:right bottom!important;
  transform:none!important;filter:drop-shadow(0 5px 10px rgba(29,71,47,.10))!important;
 }
 #doctors .doctor-card:hover .doctor-photo-rail img,
 #doctors .doctor-card:focus-within .doctor-photo-rail img{transform:none!important}
 #doctors .doctor-topline{margin-bottom:8px!important}
 #doctors .doctor-role{line-height:1.25!important;margin-bottom:6px!important}
 #doctors .doctor-card h3{line-height:1.1!important;margin-bottom:6px!important}
 #doctors .doctor-credentials{line-height:1.27!important;font-size:10.5px!important}
 #doctors .doctor-mobile-summary{gap:6px!important;margin-top:9px!important}
 #doctors .doctor-mobile-specialties{line-height:1.32!important}
 #doctors .doctor-mobile-book{position:relative!important;z-index:4!important;line-height:1.23!important}
 #doctors .doctor-details{
  position:relative!important;z-index:3!important;background:transparent!important;
  margin-top:0!important;padding-top:10px!important;
 }
 #doctors .doctor-details .mobile-profile-toggle{line-height:1.3!important;min-height:31px!important}
 #doctors .doctor-card{isolation:isolate!important}
 .section-head h2,.purpose-heading h2{line-height:1.13!important}
 .section-head>p,.section-head p:not(.eyebrow){line-height:1.42!important}
 #about .about-clean p:not(.eyebrow){line-height:1.48!important}
 #appointment .appointment-short-head p:not(.eyebrow){line-height:1.42!important}
 #appointment #booking h3{margin:0 0 10px!important}
 #appointment form#booking{padding:16px!important}
 #appointment .privacyhint{font-size:11px!important;line-height:1.4!important;margin:10px 0!important}
 #appointment .consent-compact{gap:10px!important;margin:9px 0!important}
 #appointment .consent-copy>label{
  font-size:11.5px!important;line-height:1.35!important;max-width:100%!important;
 }
 #appointment .consent-explainer summary{font-size:10.5px!important}
 #appointment #review{display:none!important}
 #mission .purpose-card{padding-block:17px!important}
 #gallery .hospital-gallery-heading>p{font-size:11.5px!important;line-height:1.4!important}
 #gallery .hospital-gallery-note{display:none!important}
}
@media(max-width:400px){
 #doctors .doctor-intro{min-height:288px!important}
 #doctors .doctor-card .doctor-photo-rail{height:295px!important}
 #doctors .doctor-card .doctor-content{padding:12px!important}
 #doctors .doctor-card .doctor-photo-rail img{width:112%!important}
}
@media(max-width:350px){
 #doctors .doctor-intro{min-height:310px!important}
 #doctors .doctor-card .doctor-photo-rail{height:318px!important}
 #doctors .doctor-card h3{font-size:18px!important}
 #doctors .doctor-card .doctor-photo-rail img{width:114%!important}
}
@media(prefers-reduced-motion:reduce){
 #doctors .doctor-card .doctor-photo-rail img{transition:none!important}
}
