.dfs-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--dfs-z-overlay);
  background: rgb(6 17 49 / 62%);
}

.dfs-modal,
.dfs-drawer {
  position: fixed;
  z-index: var(--dfs-z-modal);
  border: 1px solid rgb(255 255 255 / 10%);
  background: var(--dfs-color-surface);
  box-shadow: var(--dfs-shadow-lg);
}

.dfs-modal {
  top: 50%;
  left: 50%;
  width: min(calc(100% - 2 * var(--dfs-container-gutter)), 680px);
  max-height: min(82dvh, 760px);
  overflow: auto;
  transform: translate(-50%, -50%);
  border-radius: var(--dfs-radius-xl);
}

.dfs-modal__inner,
.dfs-drawer__inner {
  padding: clamp(var(--dfs-space-5), 3vw, var(--dfs-space-8));
}

.dfs-drawer {
  top: 0;
  right: 0;
  bottom: 0;
  width: min(92vw, 440px);
  overflow: auto;
}

.dfs-drawer--fullscreen {
  width: 100vw;
  height: 100dvh;
  max-width: none;
  background: var(--dfs-color-navy-deep);
  color: var(--dfs-color-surface);
}

@media (max-width: 767px) {
  .dfs-modal {
    top: auto;
    right: var(--dfs-container-gutter);
    bottom: var(--dfs-container-gutter);
    left: var(--dfs-container-gutter);
    width: auto;
    max-height: calc(100dvh - (2 * var(--dfs-container-gutter)));
    transform: none;
  }
}
