/* Modais partilhados DentalSul — WhatsApp + Agendamento (para blog, faq, artigos) */
.dm-overlay{position:fixed;inset:0;z-index:9000;display:none;align-items:center;justify-content:center;padding:20px;
  background:rgba(15,36,56,.55);backdrop-filter:blur(4px);opacity:0;transition:opacity .28s ease}
.dm-overlay.dm-open{display:flex;opacity:1}
.dm-modal{background:#fff;border-radius:20px;width:100%;max-width:460px;max-height:92vh;overflow-y:auto;
  box-shadow:0 30px 80px rgba(0,0,0,.3);transform:translateY(16px) scale(.98);transition:transform .3s cubic-bezier(.22,.61,.36,1);position:relative}
.dm-overlay.dm-open .dm-modal{transform:translateY(0) scale(1)}
.dm-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:1.8rem;line-height:1;color:#8a97a3;cursor:pointer;z-index:2}
.dm-close:hover{color:var(--dark,#0f2438)}
.dm-body{padding:34px 30px 30px}
.dm-body h3{font-family:var(--serif,"Cormorant Garamond",serif);color:var(--dark,#0f2438);font-size:1.7rem;margin:0 0 6px}
.dm-body .dm-sub{color:#5c6b78;font-size:.95rem;margin:0 0 20px}
.dm-field{margin-bottom:16px}
.dm-field label{display:block;font-family:var(--sans,Barlow),sans-serif;font-weight:600;font-size:.85rem;color:var(--dark,#0f2438);margin-bottom:6px}
.dm-field input,.dm-field select{width:100%;padding:13px 15px;border:1.5px solid #dbe4ec;border-radius:12px;font-size:1rem;font-family:inherit;background:#fff;color:#1f2d3a;transition:border-color .2s}
.dm-field input:focus,.dm-field select:focus{outline:none;border-color:var(--brand,#1a5f8f)}
.dm-field.dm-err input{border-color:#e0453a;background:#fdf2f1}
.dm-clinics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.dm-pill{padding:12px;border:1.5px solid #dbe4ec;border-radius:12px;background:#fff;cursor:pointer;text-align:left;font-family:inherit;transition:.2s}
.dm-pill strong{display:block;color:var(--dark,#0f2438);font-size:.95rem}
.dm-pill span{font-size:.78rem;color:#8a97a3}
.dm-pill.dm-sel{border-color:var(--brand,#1a5f8f);background:#eef6fb}
.dm-btn{width:100%;border:none;border-radius:100px;padding:15px;font-family:var(--sans,Barlow),sans-serif;font-weight:600;font-size:1rem;cursor:pointer;transition:.2s}
.dm-btn-wa{background:#25d366;color:#fff}
.dm-btn-wa:hover{background:#1fb955}
.dm-btn-book{background:var(--dark,#0f2438);color:#fff}
.dm-btn-book:hover{background:var(--brand,#1a5f8f)}
.dm-success{text-align:center;padding:10px 0}
.dm-success .dm-check{font-size:2.6rem;color:var(--brand,#1a5f8f);line-height:1}
.dm-steps{display:flex;gap:6px;margin-bottom:18px}
.dm-steps span{flex:1;height:4px;border-radius:2px;background:#e3ebf2}
.dm-steps span.on{background:var(--brand,#1a5f8f)}
.dm-slots{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.dm-slot{padding:9px 14px;border:1.5px solid #dbe4ec;border-radius:10px;background:#fff;cursor:pointer;font-size:.9rem;font-family:inherit}
.dm-slot.dm-sel{border-color:var(--brand,#1a5f8f);background:#eef6fb;color:var(--brand,#1a5f8f);font-weight:600}
.dm-note{font-size:.8rem;color:#8a97a3;margin:4px 0 0}
