/* Preserve the approved layout.css geometry; only accommodate CMS content and staging interactions. */
html{scroll-behavior:smooth}
.docs-stack>a{display:contents}
.doctor-viewport{overflow-x:auto;scrollbar-width:none}
.doctor-viewport::-webkit-scrollbar{display:none}
.doctor-grid{transform:none!important}
.doctor-card h3{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.doctor-card p{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.review-card>p{overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.news-card h3{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.news-card p{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.accordion details[open]{height:auto;min-height:211px}
.cms-test-message{padding:10px 0;color:#a56a00;font:14px/20px Manrope,Arial,sans-serif}
.stage-appointment-dialog{width:min(580px,90vw);border:0;border-radius:24px;padding:36px;background:#fff;color:var(--ui-ink)}.stage-appointment-dialog::backdrop{background:#002e3baa}.stage-close{position:absolute;right:14px;top:8px;border:0;background:none;font-size:32px;cursor:pointer}.stage-appointment-dialog .appointment-form{display:flex;flex-direction:column;gap:16px}.stage-appointment-dialog input{border:1px solid #bdd5d7;border-radius:8px;padding:12px;width:100%}.stage-appointment-dialog h2{margin:0 0 12px}.stage-appointment-dialog form button{background:var(--ui-teal);color:white;border:0;border-radius:8px;padding:14px}.stage-appointment-dialog label>span{display:block;margin-bottom:6px}

/* Shared appointment form: same font, readable fields, stable layout on all templates. */
.stage-appointment-dialog{font-family:Manrope,Arial,sans-serif;width:min(640px,calc(100vw - 32px));padding:40px;border-radius:28px}
.stage-appointment-dialog h2{font-size:28px;line-height:36px;color:var(--ui-ink)}
.stage-appointment-dialog .appointment-form{width:auto;padding:0;margin:24px 0 0;gap:16px;display:flex;flex-direction:column;background:transparent;border:0;border-radius:0}
.stage-appointment-dialog .appointment-form label{height:auto;width:100%}
.stage-appointment-dialog .appointment-form input{height:56px;width:100%;padding:14px 18px;font:400 16px/24px Manrope,Arial,sans-serif;color:var(--ui-ink);background:#fff}
.stage-appointment-dialog .appointment-form button{height:56px;width:100%;font:500 16px/24px Manrope,Arial,sans-serif;border-radius:12px;background:var(--ui-teal);color:#fff}
.stage-appointment-dialog .cms-test-message{margin:0;font-family:Manrope,Arial,sans-serif}
.stage-appointment-dialog :is(input,button):focus-visible{outline:2px solid var(--ui-teal);outline-offset:3px}

.stage-appointment-dialog .appointment-form label>span{position:static;clip:auto;width:auto;height:auto;overflow:visible;display:block;margin:0 0 8px;font:400 14px/20px Manrope,Arial,sans-serif;color:var(--ui-muted)}
