/* ds-modal */
.ds-modal {
  width: min(100% - 2 * var(--ds-pagina-x-mobile), 36rem);
  max-height: calc(100% - 2 * var(--ds-espaco-4));
  padding: 0; border: 0;
  border-radius: var(--ds-raio-cartao);
  background: var(--ds-cor-superficie); color: var(--ds-cor-texto);
  box-shadow: var(--ds-sombra-md);
  overflow: auto; overscroll-behavior: contain;
}
.ds-modal::backdrop { background: var(--ds-cor-fundo-marca); opacity: 0.7; }
.ds-modal[open] { animation: ds-modal-entra var(--ds-duracao-lenta) var(--ds-curva); }
@keyframes ds-modal-entra { from { opacity: 0; transform: translateY(1rem) scale(0.98); } }
.ds-modal__caixa { position: relative; padding: var(--ds-espaco-8) var(--ds-cartao-padding) var(--ds-cartao-padding); }
.ds-modal__titulo { padding-right: var(--ds-espaco-8); }
.ds-modal__fechar {
  position: absolute; top: var(--ds-espaco-2); right: var(--ds-espaco-2);
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; padding: 0; cursor: pointer;
  border: 0; border-radius: 50%; background: transparent; color: var(--ds-cor-titulo);
}
.ds-modal__fechar:hover { background: var(--ds-cor-borda); }
.ds-modal .ds-botao-grupo { margin-bottom: 0; }
html:has(dialog.ds-modal[open]) { overflow: hidden; }
