/* Native behavior and CMS integration surfaces. */
[hidden] { display: none !important; }
.header { position: relative; }
.cms-mobile-menu { position:absolute;left:0;right:0;top:100%;z-index:40;display:grid;gap:12px;padding:22px;background:white;border:1px solid #e5dce3;border-radius:20px;box-shadow:0 12px 30px #2b202918; }
.cms-mobile-menu a { padding:8px;color:#60154d; }
.cms-booking { margin:28px 0; }
.cms-booking h2 { margin-bottom:12px; }
.cms-booking .dialog-actions { margin-top:20px; }
.cms-search-empty { padding:24px 0;color:#6b5b67; }
.ui-dialog { position:fixed;inset:0;box-sizing:border-box;width:calc(100% - 32px);max-width:560px;max-height:calc(100dvh - 40px);margin:auto;padding:32px;border:1px solid #e5dce3;border-radius:28px;background:white;color:#2b2029;font:inherit;overflow:auto; }
.ui-dialog::backdrop { background:#2b202966;backdrop-filter:blur(3px); }
.ui-dialog:not([open]) { display:none; }
.ui-dialog[open] { display:flex;flex-direction:column;gap:18px; }
.ui-dialog-close { align-self:flex-end;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#f5edf3;color:#60154d;font-size:28px;cursor:pointer; }
.ui-dialog .contact-choices { display:flex;flex-wrap:wrap;gap:10px; }
.ui-gallery { max-width:900px; }
.ui-gallery>img { display:block;max-width:100%;max-height:65dvh;object-fit:contain;border-radius:16px; }
.ui-gallery .dialog-actions { display:flex;gap:12px;justify-content:space-between; }
.cms-toast { position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;display:flex;align-items:center;gap:20px;max-width:calc(100% - 32px);padding:16px 22px;border-radius:18px;background:#60154d;color:#fff;box-shadow:0 8px 28px #2b20292b;font-size:14px; }
.cms-toast button { color:#fff;background:transparent;border:0;text-decoration:underline;cursor:pointer;font:inherit; }
.site-header .favorites-nav { margin-left:8px; }
.favorite-doctor-host { position:relative; }
.favorite-corner { z-index:3; }
.cms-phone-icon { display:inline-block;vertical-align:middle;flex-shrink:0;margin-right:5px; }
@media(max-width:720px) {
  .ui-dialog { padding:22px; }
  .ui-dialog .contact-choices { display:grid;grid-template-columns:1fr; }
  .cms-toast { bottom:90px;font-size:13px;gap:12px; }
  .cms-booking .dialog-actions { display:grid;grid-template-columns:1fr; }
}
