/* Original design, with accessible controls and resilient content sizing. */
html { scroll-behavior: smooth; }
[hidden] { display:none !important; }
.skip-link { position:fixed; top:8px; left:8px; z-index:10000; padding:12px 18px; background:#fff; color:#254a49; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
:focus-visible { outline:3px solid #285c5a; outline-offset:4px; }
#main:focus { outline:none; }
.preview-banner { padding:12px; text-align:center; background:#fff3c6; color:#44350b; }
.navbar-brand .logo { height:auto; }
.nav-dropdown { background:transparent; border:0; font:inherit; color:inherit; padding:15px; line-height:20px; }
.dropdown.open > .dropdown-menu { display:block; }
.navbar-collapse { max-height:none; }
iframe { border:0; max-width:100%; }
.map-directions { display:inline-block; margin-top:6px; font-size:12px; }
.mca-notice-row { margin-top:20px; }
.choose-icon .fa { font-size:400%; }
.services-grid { display:flex; flex-wrap:wrap; }
.services-grid > div { margin-bottom:0; }
.mca-slide-caption { padding:10px; }
.carousel-controls { position:absolute; top:12px; right:16px; z-index:2; display:flex; gap:6px; }
.carousel-controls button { border:1px solid #ffffff99; background:#315b59; color:#fff; padding:4px 10px; border-radius:3px; font-size:12px; }
#slider-section { position:relative; }
.carousel-inner > .item { display:block; }
.mca-page-banner { position:relative; isolation:isolate; overflow:hidden; background:none; }
.banner-image { position:absolute; inset:0; width:100%; height:100%; object-fit:none; z-index:-1; }
.mca-page-banner h1.caption { margin-bottom:0; }
.mca-team-grid { display:flex; flex-wrap:wrap; row-gap:30px; }
.mca-team-grid > div { display:flex; }
.mca-team-grid .item-box { width:100%; margin-bottom:0; }
.mca-team-grid .item-box-body { min-height:270px; height:auto; }
.member-description { height:auto; min-height:100px; }
.member-description.has-calendar { height:auto; min-height:140px; }
.member-image img,.doctor-image img { width:100%; height:395px; min-height:0; object-fit:cover; }
.mca-team-section { padding:0; }
.mca-team-section + .mca-team-section { padding-top:60px; }
.mca-team-section:last-child { padding-bottom:160px; }
.mca-duty { padding-bottom:35px; }
.mca-duty-grid { display:grid; grid-template-columns:2fr 1fr; gap:30px; margin-top:15px; }
.mca-duty-grid .contact-info + .contact-info { border-top:1px solid #eee; padding-top:20px; margin-top:20px; }
.mca-map { margin-bottom:60px; }
.mca-image { padding-top:25px; padding-bottom:25px; }
.service-detail img { max-width:100%; height:auto; }
.service-detail a { overflow-wrap:anywhere; }
.section-footer p { overflow-wrap:anywhere; }
html:not(.js) .navbar-collapse.collapse { display:block; }
html:not(.js) .dropdown-menu { display:block; position:static; }
@media(max-width:992px) { .nav-dropdown { width:100%; text-align:left; } .dropdown-menu { position:static; float:none; } }
@media(max-width:767px) {
 .mca-team-grid > div { width:100%; }
 .mca-team-grid .item-box { max-width:420px; margin-left:auto; margin-right:auto; }
 .member-image img,.doctor-image img { height:auto; max-height:580px; object-fit:cover; }
 .mca-duty-grid { grid-template-columns:1fr; }
 .section-footer .widget { margin-bottom:30px; }
 .carousel-controls { top:8px; right:8px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
.slider-section .carousel-caption .mca-hero-title { color:#fff; }
.quotes .hotline { display:block; font-family:Montserrat,sans-serif; font-weight:400; line-height:1.1; }
.nav-dropdown { text-transform:uppercase; font-family:Montserrat,sans-serif; }

.mca-duty-grid > div:first-child { padding-left:40px; }

.mca-marker-map { width:100%; height:600px; background:#eee; }

.mca-marker-map img { width:auto; max-width:none; }

/* Subtle polish: preserve the design while aligning actions and easing interaction. */
.mca-team-grid .item-box { display:flex; flex-direction:column; }
.mca-team-grid .item-box .item-box-body { display:flex; flex-direction:column; flex:1 0 auto; height:auto; }
.mca-member-appointment { margin-top:auto; }
.mca-member-appointment:empty { display:none; }
.mca-member-appointment .appointment-selection { margin-bottom:0; }
.appointment-selection { display:flex; flex-wrap:wrap; gap:5px 8px; }
.appointment-selection .medical-button { margin:0; }
.service-detail p,.frm-register p,.corona-block p { line-height:1.85; }
.service-detail p + p,.frm-register p + p,.corona-block p + p { margin-top:16px; }
.service-detail a:not(.btn):hover,.section-footer a:not(.btn):hover { text-decoration:underline; text-underline-offset:3px; }
.medical-button,.carousel-controls button,.navbar-toggle,.nav-dropdown {
 transition:background-color 140ms ease,color 140ms ease,box-shadow 140ms ease,transform 100ms ease;
 touch-action:manipulation;
}
.medical-button:focus-visible { background-color:#569a98; color:#fff; }
.medical-button:active,.carousel-controls button:active {
 transform:translateY(1px);
 box-shadow:inset 0 2px 3px rgba(0,0,0,.12);
}
@media(max-width:767px) {
 .medical-button-xs { min-height:36px; display:inline-flex; align-items:center; justify-content:center; }
 .navbar-toggle { min-width:44px; min-height:44px; }
 .dropdown-menu > li > a { min-height:44px; display:flex; align-items:center; }
}
@media(prefers-reduced-motion:reduce) {
 .medical-button,.carousel-controls button,.navbar-toggle,.nav-dropdown { transition:none; }
 .medical-button:active,.carousel-controls button:active { transform:none; }
}
