/* Compatibilidade com versão antiga do form (table.hdm-search__layout = 2 linhas × 2 colunas) */
form.hdm-form.hdm-search table.hdm-search__layout{
  width:100% !important;
  border-collapse:collapse !important;
  border:0 !important;
  background:#fff !important;
  background-color:#fff !important;
  box-shadow:none !important;
  outline:0 !important;
}
form.hdm-form.hdm-search table.hdm-search__layout tr{
  background:#fff !important;
  background-color:#fff !important;
}
form.hdm-form.hdm-search table.hdm-search__layout td{
  width:50% !important;
  padding:5px 6px !important;
  border:0 !important;
  background:#fff !important;
  background-color:#fff !important;
  box-shadow:none !important;
  vertical-align:top !important;
}
/* Cartão padrão (inclui busca — mesma moldura arredondada) */
.hdm-form:not(.hdm-search),.hdm-section-card,.hdm-hero-card,.hdm-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.hdm-single-wrap,.hdm-archive-wrap{padding:32px 16px;background:#f8fafc}
.hdm-single-container{max-width:1100px;margin:0 auto}
.hdm-cover{max-width:1100px;margin:0 auto 24px;border-radius:24px;overflow:hidden}
.hdm-cover img{display:block;width:100%;height:320px;object-fit:cover}
.hdm-hero-card{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:24px;margin-bottom:24px}
.hdm-profile-photo img{width:220px;height:220px;object-fit:cover;border-radius:20px}
.hdm-section-card{padding:24px;margin-bottom:24px}
.hdm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
/* Pesquisa: mesmo cartão que os outros .hdm-form (borda arredondada + sombra) */
form.hdm-form.hdm-search{
  padding:20px 18px 18px !important;
  margin-top:0;
  border-radius:18px !important;
  overflow:visible;
  background:#fff !important;
  border:1px solid #e5e7eb !important;
  box-shadow:0 8px 24px rgba(0,0,0,.05) !important;
  outline:none !important;
  box-sizing:border-box;
}
form.hdm-form.hdm-search .hdm-search__fieldwrap{
  margin:0 !important;
  min-width:0 !important;
}
.hdm-form.hdm-search label{
  font-size:15px;
  line-height:1.35;
  font-weight:600;
  color:#0f172a;
}
/* Campos: fundo branco + borda visível (Elementor costuma remover borda) */
form.hdm-form.hdm-search input[type=text]{
  margin-top:6px;
  padding:10px 12px;
  border-radius:10px;
  font-size:16px;
  line-height:1.35;
  box-sizing:border-box;
  width:100%;
  border:1px solid #cbd5e1 !important;
  box-shadow:none !important;
  outline:none;
  background:#fff !important;
  background-color:#fff !important;
  color:#0f172a !important;
}
form.hdm-form.hdm-search input[type=text]:focus{
  outline:none;
  border-color:#64748b !important;
  box-shadow:0 0 0 1px rgba(100,116,139,.35) !important;
  background:#fff !important;
  background-color:#fff !important;
}
/* Espaço acima do botão: reforço (o PHP também envia padding inline !important) */
form.hdm-form.hdm-search .hdm-search__actions,
.elementor-widget-html form.hdm-form.hdm-search .hdm-search__actions,
.e-con .elementor-widget-html form.hdm-form.hdm-search .hdm-search__actions{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:1.25em 0 0 !important;
  padding-top:1.25em !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  clear:both;
}
form.hdm-form.hdm-search .hdm-search__actions .hdm-button,
form.hdm-form.hdm-search button.hdm-search__submit{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding:14px 28px !important;
  min-height:48px !important;
  font-size:17px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  border-radius:12px !important;
}
/* Uma linha de espaço entre o formulário e os resultados (cartões ou mensagem “nenhum médico”) */
form.hdm-form.hdm-search + .hdm-search-results,
.elementor-widget-html form.hdm-form.hdm-search + .hdm-search-results,
.e-con .elementor-widget-html form.hdm-form.hdm-search + .hdm-search-results{
  margin-top:1.25em !important;
  display:block;
}
.hdm-search-results .hdm-cards{
  margin-top:0;
}
p.hdm-search-empty{
  margin:0 !important;
  padding:0 !important;
  color:#334155 !important;
  font-size:1rem !important;
  line-height:1.5 !important;
  font-weight:500 !important;
}
/* Grelha 2×2 sem table — evita bordas/td que o Elementor pinta; reforço além do inline no PHP */
form.hdm-form.hdm-search .hdm-search__grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:10px 12px !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  background-color:#fff !important;
}
form.hdm-form.hdm-search .hdm-search__grid > .hdm-search__cell{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:#fff !important;
  background-color:#fff !important;
  min-width:0 !important;
}
form.hdm-form.hdm-search .hdm-search__grid .hdm-search__fieldwrap{
  background:#fff !important;
  background-color:#fff !important;
}
@media (max-width:640px){
  form.hdm-form.hdm-search .hdm-search__grid{
    gap:8px 10px !important;
  }
}
/* Listas Estado/Cidade/Procedimento: fundo cinza (form. reforça especificidade) */
form.hdm-form.hdm-search .hdm-search__fieldwrap .hdm-search__suggestions,
form.hdm-form[data-hdm-estado-cidade] .hdm-search__fieldwrap .hdm-search__suggestions{
  list-style:none;
  margin:4px 0 0;
  padding:0;
  position:absolute;
  top:100%;
  left:0;
  right:0;
  z-index:50;
  max-height:240px;
  overflow:auto;
  background:#e5e7eb !important;
  background-color:#e5e7eb !important;
  border:1px solid #cbd5e1 !important;
  border-radius:8px;
  box-shadow:0 4px 12px rgba(15,23,42,.08) !important;
}
form.hdm-form.hdm-search .hdm-search__suggestions li,
form.hdm-form[data-hdm-estado-cidade] .hdm-search__suggestions li{
  margin:0;
  padding:0;
  background:transparent !important;
}
form.hdm-form.hdm-search .hdm-search__suggest-item,
form.hdm-form[data-hdm-estado-cidade] .hdm-search__suggest-item{
  display:block;
  width:100%;
  text-align:left;
  padding:10px 14px;
  border:none !important;
  font-size:14px;
  color:#334155 !important;
  cursor:pointer;
  -webkit-appearance:none !important;
  appearance:none !important;
  background:#e5e7eb !important;
  background-color:#e5e7eb !important;
  box-shadow:none !important;
}
form.hdm-form.hdm-search .hdm-search__suggest-item:hover,
form.hdm-form.hdm-search .hdm-search__suggest-item:focus,
form.hdm-form.hdm-search .hdm-search__suggest-item:active,
form.hdm-form[data-hdm-estado-cidade] .hdm-search__suggest-item:hover,
form.hdm-form[data-hdm-estado-cidade] .hdm-search__suggest-item:focus,
form.hdm-form[data-hdm-estado-cidade] .hdm-search__suggest-item:active{
  background:#d1d5db !important;
  background-color:#d1d5db !important;
  outline:none !important;
}
.hdm-grid .full{grid-column:1/-1}
.hdm-form{padding:24px}
.hdm-form label{display:block;font-weight:600;font-size:14px;color:#0f172a}
.hdm-form__hint{display:block;margin:0;font-size:13px;font-weight:500;color:#64748b;line-height:1.45}
.hdm-form input,.hdm-form textarea{width:100%;margin-top:6px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}
.hdm-search__fieldwrap{position:relative}
.hdm-search input[disabled]{opacity:.65;cursor:not-allowed;background:#f1f5f9}
.hdm-form textarea{min-height:120px}
.hdm-form fieldset.hdm-procedimentos{border:1px solid #cbd5e1;border-radius:12px;padding:16px 16px 8px;margin:0;background:#fafafa}
.hdm-form fieldset.hdm-procedimentos legend{padding:0 8px}
.hdm-procedimentos__legend{font-weight:600;font-size:14px;color:#0f172a}
.hdm-procedimentos__hint{margin:0 0 12px;font-size:13px;font-weight:500;color:#64748b}
.hdm-procedimentos__empty{margin:0;font-size:14px;color:#b45309}
.hdm-procedimentos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px 18px}
.hdm-procedimentos__item{display:flex;align-items:flex-start;gap:10px;font-weight:500;font-size:14px;color:#334155;cursor:pointer;margin:0}
.hdm-procedimentos__item input[type=checkbox]{width:auto;min-width:18px;height:18px;margin-top:2px;flex-shrink:0;accent-color:#0d9488}
.hdm-procedimentos__item span{line-height:1.35}
.hdm-especialista-login{margin:0}
.hdm-especialista-login__head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px 16px;
  margin:0 0 8px;
}
.hdm-especialista-login__head .hdm-especialista-login__title{
  margin:0;
  font-size:1.25rem;
  color:#0f172a;
  flex:1;
  min-width:min(100%,12ch);
}
.hdm-especialista-login__head .hdm-especialista-login__register{margin:0;padding:0}
/**
 * Link «Fazer cadastro» = mesmo preenchimento que <button class="hdm-button"> (temas pintam <a> de outra cor).
 */
.hdm-especialista-login a.hdm-button.hdm-especialista-login__action-btn{
  text-decoration:none !important;
  background:#111827 !important;
  background-color:#111827 !important;
  color:#fff !important;
  border:none !important;
  box-shadow:none !important;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}
.hdm-especialista-login a.hdm-button.hdm-especialista-login__action-btn:hover,
.hdm-especialista-login a.hdm-button.hdm-especialista-login__action-btn:focus,
.hdm-especialista-login a.hdm-button.hdm-especialista-login__action-btn:visited,
.hdm-especialista-login a.hdm-button.hdm-especialista-login__action-btn:active{
  color:#fff !important;
  background:#111827 !important;
  background-color:#111827 !important;
}
.hdm-especialista-login a.hdm-button.hdm-especialista-login__action-btn:hover{filter:brightness(1.06)}
.hdm-especialista-login__title{margin:0 0 8px;font-size:1.25rem;color:#0f172a}
.hdm-especialista-login__intro{margin:0 0 16px;font-size:14px;color:#64748b;line-height:1.5}
.hdm-especialista-login #hdm-especialista-login-form p{margin:0 0 12px}
.hdm-especialista-login #hdm-especialista-login-form .login-username label,
.hdm-especialista-login #hdm-especialista-login-form .login-password label{display:block;font-weight:600;font-size:14px;color:#0f172a}
.hdm-especialista-login #hdm-especialista-login-form input[type=text],
.hdm-especialista-login #hdm-especialista-login-form input[type=email],
.hdm-especialista-login #hdm-especialista-login-form input[type=password]{width:100%;margin-top:6px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;box-sizing:border-box}
.hdm-especialista-login #hdm-especialista-login-form .login-remember,
.hdm-especialista-login #hdm-especialista-login-form .forgetmenot{text-align:left}
.hdm-especialista-login #hdm-especialista-login-form .login-remember label,
.hdm-especialista-login #hdm-especialista-login-form .forgetmenot label{display:inline-flex;align-items:center;gap:8px;font-weight:500;width:auto}
.hdm-especialista-login #hdm-especialista-login-form .login-remember input,
.hdm-especialista-login #hdm-especialista-login-form .forgetmenot input{width:auto;margin:0;flex-shrink:0}
.hdm-especialista-login #hdm-especialista-login-form input[type=submit],
.hdm-especialista-login #hdm-especialista-login-form button[type=submit]{margin-top:8px}
/* Botões compactos (login + recuperação de senha) — evita largura 100% de temas */
.hdm-especialista-login .hdm-especialista-login__action-btn{
  box-sizing:border-box;
  width:auto;
  max-width:100%;
  min-height:0;
  padding:8px 18px;
  border-radius:10px;
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  display:inline-block;
  vertical-align:middle;
}
.hdm-especialista-login button.hdm-button.hdm-especialista-login__action-btn:hover{filter:brightness(1.06)}
.hdm-especialista-login__lost{margin:16px 0 0;font-size:14px}
.hdm-especialista-login__lost a{color:#312e81;font-weight:600}
.hdm-especialista-login--logged .hdm-especialista-login__greeting{margin:0 0 12px;font-size:1.1rem;font-weight:600;color:#0f172a}
.hdm-especialista-login--logged .hdm-button{margin-top:8px}
.hdm-button,.hdm-link{display:inline-block;padding:12px 16px;border-radius:12px;text-decoration:none;font-weight:700}
.hdm-button{border:none;cursor:pointer;background:#111827;color:#fff}
.hdm-link{background:#eef2ff;color:#312e81}
.hdm-alert{padding:14px 16px;border-radius:12px;margin-bottom:16px}
.hdm-alert.success{background:#ecfdf5;color:#166534}
.hdm-alert.error{background:#fef2f2;color:#991b1b}
.hdm-alert.hdm-alert--pagamento-pendente{background:#eff6ff;color:#1e3a8a}
.hdm-alert.hdm-alert--pagamento-pendente .hdm-button{margin-top:4px}
.hdm-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hdm-card{overflow:hidden}
.hdm-card-image img{display:block;width:100%;height:220px;object-fit:cover}
.hdm-card-body{padding:20px}
.hdm-card .hdm-card-body h3{margin:0 0 8px;text-align:center!important}
.hdm-meta{font-weight:700;color:#334155;margin:0 0 6px}
.hdm-location{color:#64748b;margin:0 0 10px}
.hdm-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.hdm-tags{list-style:none;padding:0;margin:0;display:flex;gap:10px;flex-wrap:wrap}
.hdm-tags li a{display:inline-block;padding:10px 12px;background:#f1f5f9;border-radius:999px;text-decoration:none}
.hdm-pagination{margin-top:24px}
@media (max-width: 900px){.hdm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.hdm-hero-card{grid-template-columns:1fr}.hdm-profile-photo img{width:160px;height:160px}}
@media (max-width: 640px){.hdm-cards,.hdm-grid{grid-template-columns:1fr}.hdm-cover img{height:220px}}

/* Página do médico (perfil) */
.hdm-profile-page{
  --hdm-ink:#0f172a;
  --hdm-muted:#64748b;
  --hdm-line:#e2e8f0;
  --hdm-surface:#fff;
  --hdm-page:#f1f5f9;
  --hdm-accent:#0d9488;
  --hdm-accent-ink:#042f2e;
  font-family:"DM Sans",system-ui,-apple-system,sans-serif;
  color:var(--hdm-ink);
  background:var(--hdm-page);
  padding:0 0 48px;
}
.hdm-profile-page .hdm-single-container{max-width:1120px}
.hdm-profile-page--no-cover{padding-top:24px}
.hdm-profile-page--no-cover .hdm-profile-page__inner{margin-top:0}
.hdm-profile-cover{
  position:relative;
  max-width:1120px;
  margin:0 auto;
  border-radius:0 0 28px 28px;
  overflow:hidden;
  min-height:200px;
  max-height:340px;
}
.hdm-profile-cover img{
  display:block;
  width:100%;
  height:clamp(180px,28vw,340px);
  object-fit:cover;
}
.hdm-profile-cover__scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(15,23,42,.12) 0%,rgba(15,23,42,.55) 100%);
  pointer-events:none;
}
.hdm-profile-page__inner{
  position:relative;
  margin-top:-72px;
  z-index:1;
}
.hdm-profile-header{
  display:grid;
  grid-template-columns:minmax(0,280px) 1fr;
  gap:clamp(20px,4vw,40px);
  align-items:start;
  padding:clamp(20px,3vw,32px);
  background:var(--hdm-surface);
  border:1px solid var(--hdm-line);
  border-radius:24px;
  box-shadow:0 25px 50px -12px rgba(15,23,42,.12);
  margin-bottom:28px;
}
.hdm-profile-header__visual{align-self:center}
.hdm-profile-header__photo{
  margin:0;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 12px 32px rgba(15,23,42,.15);
  aspect-ratio:1;
  max-width:280px;
}
.hdm-profile-header__photo img{display:block;width:100%;height:100%;object-fit:cover}
.hdm-profile-header__photo--placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:280px;
  aspect-ratio:1;
  background:linear-gradient(145deg,#ccfbf1,#99f6e4);
  border:1px solid var(--hdm-line);
}
.hdm-profile-header__initial{
  font-family:"DM Serif Display",Georgia,serif;
  font-size:4.5rem;
  line-height:1;
  color:var(--hdm-accent);
}
.hdm-profile-header__eyebrow{
  margin:0 0 8px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--hdm-accent);
}
.hdm-profile-header__title{
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(1.75rem,4vw,2.5rem);
  font-weight:600;
  line-height:1.15;
  margin:0 0 10px;
  letter-spacing:-.02em;
}
.hdm-profile-header__specialty{
  margin:0 0 14px;
  font-size:1.125rem;
  color:var(--hdm-muted);
  font-weight:500;
}
.hdm-profile-header__chips{
  list-style:none;
  margin:0 0 16px;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.hdm-chip{
  display:inline-block;
  padding:6px 12px;
  font-size:13px;
  font-weight:600;
  border-radius:999px;
  background:#f0fdfa;
  color:var(--hdm-accent-ink);
  border:1px solid #99f6e4;
}
.hdm-chip--muted{background:#f8fafc;border-color:var(--hdm-line);color:var(--hdm-muted);font-weight:500}
.hdm-profile-header__lead{
  margin:0 0 20px;
  font-size:1.05rem;
  line-height:1.6;
  color:#334155;
  max-width:62ch;
}
.hdm-profile-actions{display:flex;flex-wrap:wrap;gap:10px}
.hdm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  font-size:14px;
  font-weight:600;
  border-radius:12px;
  text-decoration:none;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.hdm-btn--primary{
  background:var(--hdm-accent);
  color:#fff;
  box-shadow:0 4px 14px rgba(13,148,136,.35);
}
.hdm-btn--primary:hover{background:#0f766e;color:#fff}
.hdm-btn--secondary{
  background:#f0fdfa;
  color:var(--hdm-accent-ink);
  border:1px solid #99f6e4;
}
.hdm-btn--secondary:hover{background:#ccfbf1}
.hdm-btn--ghost{
  background:#f8fafc;
  color:var(--hdm-ink);
  border:1px solid var(--hdm-line);
}
.hdm-btn--ghost:hover{background:#f1f5f9}
.hdm-btn--block{width:100%;text-align:center}
.hdm-profile-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:28px;
  align-items:start;
}
.hdm-panel{
  background:var(--hdm-surface);
  border:1px solid var(--hdm-line);
  border-radius:20px;
  padding:clamp(20px,3vw,28px);
  margin-bottom:20px;
  box-shadow:0 4px 24px rgba(15,23,42,.04);
}
.hdm-panel--sticky{position:sticky;top:24px}
.hdm-panel__title{
  font-family:"DM Serif Display",Georgia,serif;
  font-size:1.35rem;
  font-weight:600;
  margin:0 0 18px;
  padding-bottom:12px;
  border-bottom:1px solid var(--hdm-line);
  color:var(--hdm-ink);
}
.hdm-dl{margin:0}
.hdm-dl__row{
  display:grid;
  grid-template-columns:minmax(0,200px) 1fr;
  gap:12px 20px;
  padding:12px 0;
  border-bottom:1px solid #f1f5f9;
}
.hdm-dl__row:last-child{border-bottom:none}
.hdm-dl__row dt{
  margin:0;
  font-size:13px;
  font-weight:600;
  color:var(--hdm-muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.hdm-dl__row dd{margin:0;font-size:15px;line-height:1.5;color:var(--hdm-ink)}
.hdm-panel__prose{font-size:15px;line-height:1.7;color:#334155}
.hdm-panel__prose--tight{margin-top:12px}
.hdm-panel__prose p{margin:0 0 1em}
.hdm-panel__prose p:last-child{margin-bottom:0}
.hdm-panel--split{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px 32px;
}
.hdm-panel--split .hdm-panel__title{margin-top:0}
.hdm-panel--split>div:first-child:nth-last-child(1){grid-column:1/-1}
.hdm-taglist{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:10px;
}
.hdm-taglist__link{
  display:inline-block;
  padding:8px 14px;
  font-size:14px;
  font-weight:600;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid var(--hdm-line);
  color:var(--hdm-ink);
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease;
}
.hdm-taglist__link:hover{background:#f0fdfa;border-color:#99f6e4;color:var(--hdm-accent-ink)}
.hdm-aside-list{list-style:none;margin:0;padding:0}
.hdm-aside-list li{
  padding:14px 0;
  border-bottom:1px solid #f1f5f9;
  font-size:15px;
}
.hdm-aside-list li:last-child{border-bottom:none}
.hdm-aside-list a{color:var(--hdm-accent);font-weight:600;text-decoration:none;word-break:break-word}
.hdm-aside-list a:hover{text-decoration:underline}
.hdm-aside-list__label{
  display:block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--hdm-muted);
  margin-bottom:4px;
}
.hdm-address{
  font-style:normal;
  font-size:15px;
  line-height:1.65;
  color:#334155;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.hdm-panel__cta{margin:16px 0 0}
.hdm-profile-metafoot{
  margin:16px 0 0;
  font-size:12px;
  color:var(--hdm-muted);
  text-align:center;
}
@media (max-width:960px){
  .hdm-profile-layout{grid-template-columns:1fr}
  .hdm-panel--sticky{position:static}
  .hdm-panel--split{grid-template-columns:1fr}
}
@media (max-width:720px){
  .hdm-profile-header{grid-template-columns:1fr;text-align:center}
  .hdm-profile-header__visual{justify-self:center}
  .hdm-profile-header__chips{justify-content:center}
  .hdm-profile-actions{justify-content:center}
  .hdm-profile-header__lead{margin-left:auto;margin-right:auto}
  .hdm-dl__row{grid-template-columns:1fr;gap:4px}
  .hdm-profile-page__inner{margin-top:-48px}
  .hdm-profile-page--no-cover .hdm-profile-page__inner{margin-top:0}
}
