/* P01-K2W-J contact experience: cohesive responsive editorial layout. */
.mw-contact-container { padding-top:32px; }
.mw-contact-hero { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch;gap:0;min-height:410px;border-radius:28px;overflow:hidden;background:linear-gradient(112deg,#f0faff 0%,#e1f3ff 100%); }
.mw-contact-hero-copy { display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(34px,5vw,76px);position:relative;z-index:1; }
.mw-contact-hero h1 { font-size:clamp(2.6rem,5vw,4.9rem);max-width:12ch;margin:10px 0 18px;line-height:1.08; }
.mw-contact-hero-copy > p:not(.mw-kicker) { max-width:51ch;line-height:1.7;color:#4f6b82;font-size:1.03rem; }
.mw-contact-hero-actions { display:flex;gap:12px;flex-wrap:wrap;margin-top:24px; }
.mw-contact-whatsapp,.mw-contact-secondary,.mw-contact-submit {display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;text-decoration:none;font-weight:750;padding:14px 22px;border:1px solid transparent;}
.mw-contact-whatsapp {background:#168c66;color:#fff!important;border-color:#168c66;}
.mw-contact-whatsapp:hover {background:#0c7656;}
.mw-contact-secondary {background:#fff;color:#2175a7!important;border-color:#c3dfef;}
.mw-contact-hero-visual {min-width:0;position:relative;overflow:hidden;background:linear-gradient(135deg,#c5eafa,#77bcdd);}
.mw-contact-hero-visual img {display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
.mw-contact-visual-fallback {position:absolute;inset:0;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:#fff;font-weight:700;letter-spacing:-.05em;font-size:clamp(2rem,4vw,4rem);}
.mw-contact-visual-fallback small {font-size:.95rem;letter-spacing:.15em;text-transform:uppercase;}
.mw-contact-form-wrap {display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(30px,6vw,90px);align-items:start;margin:42px 0 46px;}
.mw-contact-form-wrap > div:first-child h2 {font-size:clamp(2rem,3.8vw,3.8rem);margin:12px 0 16px;}
.mw-contact-form-wrap > div:first-child p {line-height:1.7;color:#527086;}
.mw-contact-privacy-note {font-size:.87rem;border-left:3px solid #9ed8ee;padding-left:14px;margin-top:22px;}
.mw-contact-form {background:#fff;border:1px solid #d7e9f3;box-shadow:0 22px 60px rgba(30,87,125,.07);border-radius:25px;padding:clamp(23px,3.5vw,42px);display:grid;gap:18px;min-width:0;}
.mw-contact-form-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.mw-contact-form label {display:flex;flex-direction:column;gap:8px;font-size:.92rem;color:#2b536c;font-weight:700;min-width:0;}
.mw-contact-form label > input:not([type=checkbox]),.mw-contact-form textarea,.mw-contact-form select {width:100%;min-width:0;box-sizing:border-box;border:1px solid #cbdfea;border-radius:11px;background:#fbfeff;color:#263f56;padding:12px 14px;font:inherit;font-weight:400;}
.mw-contact-form :focus-visible {outline:3px solid #5eb7e8;outline-offset:2px;}
.mw-contact-form textarea {resize:vertical;}
.mw-contact-form .mw-contact-consent {display:flex;flex-direction:row;align-items:flex-start;gap:12px;font-size:.87rem;font-weight:500;color:#426179;}
.mw-contact-consent input {width:18px;height:18px;margin-top:1px;flex-shrink:0;}
.mw-contact-submit {cursor:pointer;background:#247fb9;color:#fff;border:0;justify-self:start;font:inherit;font-weight:740;}
.mw-contact-submit:hover {background:#146ba5;}
.mw-contact-honeypot {position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.mw-contact-alert {padding:12px 16px;border-radius:10px;font-size:.9rem;}
.mw-contact-success {background:#e2f5eb;color:#226246;}
.mw-contact-error {background:#fff2ef;color:#842f22;}
.mw-contact-error ul {padding-left:18px;list-style:disc;}
.mw-contact-branches {padding-bottom:34px;}
.mw-contact-branches .mw-section-heading {margin-bottom:22px;}
.mw-contact-branches .mw-section-heading h2 {font-size:clamp(2rem,3.8vw,3.7rem);}
.mw-contact-branch-card {padding:25px;border:1px solid #dbe9f1;overflow:hidden;}
.mw-contact-branch-card a {color:#197aad;}
.mw-contact-branch-card .mw-google-map {margin-top:20px;}
.mw-contact-branch-card .mw-clinic-meta {overflow-wrap:anywhere;}
@media(max-width:900px) { .mw-contact-hero {grid-template-columns:1fr;}.mw-contact-hero-visual{min-height:230px;}.mw-contact-form-wrap{grid-template-columns:1fr;gap:22px;margin:34px 0 38px;}}
@media(max-width:620px) {.mw-contact-container{padding-top:15px;}.mw-contact-hero{border-radius:18px;}.mw-contact-hero h1{font-size:clamp(2.4rem,10vw,3.6rem);}.mw-contact-hero-copy{padding:30px 22px;}.mw-contact-form-row{grid-template-columns:1fr;}.mw-contact-whatsapp,.mw-contact-secondary{flex:1 1 auto;}.mw-contact-form{border-radius:18px;padding:23px 18px;}}

/* Owner K2W-K: show a CMS-selected doctor/patient photograph, never blue monogram when approved media exists. */
.mw-contact-hero-visual img.mw-contact-hero-photo{object-fit:cover;object-position:center 38%;}
.mw-fa-whatsapp{display:inline-block;flex:0 0 20px;vertical-align:middle;filter:brightness(0) invert(1);}

/* P01-K2W-L: denser contact rhythm and consistently aligned branch maps. */
.mw-contact-container { padding-top:clamp(12px,1.9vw,24px); }
.mw-contact-container .mw-contact-form-wrap { margin-block:clamp(30px,3.6vw,48px); }
.mw-contact-container .mw-contact-branches { padding-bottom:clamp(24px,3.2vw,44px); }
.mw-contact-container .mw-contact-branches .mw-section-heading { margin-bottom:clamp(18px,2vw,25px); }
.mw-contact-container .mw-contact-branch-card { display:flex;flex-direction:column;height:100%;box-sizing:border-box; }
.mw-contact-container .mw-contact-branch-card .mw-google-map { margin-top:auto; }
.mw-contact-container .mw-contact-branch-card .mw-clinic-meta:first-of-type { min-height:3.2em;margin-bottom:14px; }
/* Don't crop the dentist/patient consultation at its sides when rendered in square hero panels. */
.mw-contact-hero-visual img.mw-contact-hero-photo { object-position:50% 45%; }
@media(min-width:760px) { body:has(.mw-contact-container) .mw-footer-redesign .mw-footer-shell { padding-top:32px; } }
@media(max-width:700px) {
 .mw-contact-container .mw-contact-form-wrap { margin-block:30px 34px; }
 .mw-contact-container .mw-contact-branches { padding-bottom:24px; }
 .mw-contact-container .mw-contact-branch-card .mw-clinic-meta:first-of-type { min-height:0; }
}
