.dental-service-modal[hidden]{display:none}
.dental-service-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:18px;background:rgba(3,30,28,.68);backdrop-filter:blur(6px)}
.dental-service-dialog{position:relative;width:min(620px,100%);max-height:min(720px,calc(100vh - 36px));overflow:auto;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.dental-service-dialog-head{display:grid;grid-template-columns:64px 1fr auto;gap:15px;align-items:center;padding:24px 26px 18px;border-bottom:1px solid #dcebe5;background:linear-gradient(145deg,#f4fbf8,#fff)}
.dental-service-dialog-head img{width:64px;height:64px;object-fit:contain;border-radius:18px;background:#e5f4ef;padding:8px}
.dental-service-modal-photo{display:block;width:100%;height:180px;object-fit:cover;object-position:center 42%;border-bottom:1px solid #dcebe5}
.dental-service-modal-photo[hidden]{display:none}
.dental-service-dialog-head h2{margin:0;color:#0a3f3a;font-size:1.35rem;line-height:1.15}
.dental-service-dialog-head p{margin:5px 0 0;color:#60746f;font-size:.86rem;line-height:1.45}
.dental-service-modal-close{display:grid;place-items:center;width:38px;height:38px;border:1px solid #cfe4df;border-radius:50%;background:#fff;color:#0a3f3a;font-size:1.5rem;cursor:pointer}
.dental-service-dialog-body{padding:22px 26px 26px}.dental-service-info{display:grid;gap:14px;margin-bottom:20px}.dental-service-info p,.dental-service-info ul{margin:0;color:#526963;line-height:1.5;font-size:.9rem}.dental-service-info ul{padding-left:18px;display:grid;grid-template-columns:1fr 1fr;gap:3px 18px}
.dental-service-booking{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dental-service-booking label{display:grid;gap:5px;color:#264a43;font-size:.76rem;font-weight:800}.dental-service-booking label.full{grid-column:1/-1}.dental-service-booking input,.dental-service-booking select{width:100%;padding:11px 12px;border:1px solid #cfe4df;border-radius:10px;background:#fff;color:#193d36;font:inherit}.dental-service-booking button{grid-column:1/-1;border:0;border-radius:11px;padding:13px 16px;background:#e85a3b;color:#fff;font-weight:800;cursor:pointer}.dental-service-booking button:disabled{opacity:.65;cursor:wait}.dental-service-form-status{grid-column:1/-1;margin:0;color:#0f5a52;font-size:.82rem;font-weight:700}
@media(max-width:560px){.dental-service-dialog-head{grid-template-columns:52px 1fr auto;padding:20px 18px 15px}.dental-service-dialog-head img{width:52px;height:52px}.dental-service-dialog-head h2{font-size:1.1rem}.dental-service-dialog-body{padding:18px}.dental-service-info ul{grid-template-columns:1fr}.dental-service-booking{grid-template-columns:1fr}.dental-service-booking label.full{grid-column:auto}.dental-service-booking button,.dental-service-form-status{grid-column:auto}}
@media(max-width:560px){.dental-service-modal-photo{height:145px}}

/* Keep service-card booking dialogs compact and fully visible on phones. */
html body .dental-service-dialog{max-height:calc(100vh - 20px);border-radius:16px}
html body .dental-service-dialog-head{padding:16px 18px 12px;gap:10px}
html body .dental-service-dialog-head h2{font-size:1.08rem}
html body .dental-service-dialog-head p{font-size:.74rem;line-height:1.35}
html body .dental-service-dialog-body{padding:14px 18px 16px}
html body .dental-service-info{gap:8px;margin-bottom:13px}
html body .dental-service-info p,html body .dental-service-info ul{font-size:.76rem;line-height:1.38}
html body .dental-service-booking{gap:8px}
html body .dental-service-booking label{gap:3px;font-size:.68rem}
html body .dental-service-booking input,html body .dental-service-booking select{padding:8px 9px;font-size:.72rem;border-radius:8px}
html body .dental-service-booking button{padding:10px 12px;font-size:.78rem}
@media(max-width:560px){
  html body .dental-service-modal{padding:10px;background:rgba(3,30,28,.52)}
  html body .dental-service-dialog{width:100%;max-height:calc(100vh - 20px);border-radius:14px}
  html body .dental-service-dialog-head{grid-template-columns:42px 1fr auto;padding:12px 13px 10px}
  html body .dental-service-dialog-head img{width:42px;height:42px;border-radius:12px;padding:5px}
  html body .dental-service-dialog-head h2{font-size:.92rem}
  html body .dental-service-dialog-head p{font-size:.66rem}
  html body .dental-service-modal-photo{height:112px}
  html body .dental-service-dialog-body{padding:11px 13px 13px}
  html body .dental-service-info ul{grid-template-columns:1fr 1fr;gap:2px 10px}
  html body .dental-service-booking{grid-template-columns:1fr 1fr;gap:7px}
  html body .dental-service-booking label.full{grid-column:1/-1}
  html body .dental-service-booking input,html body .dental-service-booking select{min-height:34px;padding:7px 8px;font-size:.68rem}
  html body .dental-service-booking button,html body .dental-service-form-status{grid-column:1/-1}
}
