/* @galaxy: WEB_Galaxy | @system: Multi_PHP_Site_Generator
 * LEGO component CSS: ui_velvet_sms_gate. Decoupled from velvet_foyer.php.
 */
.nw-velvet-overlay-bg {
    background:
        radial-gradient(circle at 50% -10%, rgba(255, 248, 216, 0.82), transparent 42%),
        radial-gradient(circle at 100% 100%, rgba(36, 60, 50, 0.16), transparent 44%),
        linear-gradient(135deg, #fbf0c9, #f7e6ae 54%, #efe0b2);
}
.nw-velvet-step.hidden { display: none !important; }
#nw-velvet-gate-fields.nw-velvet-fade-out { opacity: 0; pointer-events: none; transition: opacity 0.35s ease; }
#nw-velvet-approved.nw-velvet-approved-visible { opacity: 1; }
#nw-velvet-approved { opacity: 0; transition: opacity 0.35s ease; }
.nw-velvet-border-subtle { border-color: color-mix(in srgb, var(--theme-text) 14%, transparent); }
.nw-velvet-ring-inset { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-text) 8%, transparent); }
.nw-velvet-cta-primary {
    background: linear-gradient(135deg, color-mix(in srgb, var(--theme-accent) 88%, black), var(--theme-accent));
    color: color-mix(in srgb, var(--theme-bg) 92%, var(--theme-text));
}
.nw-velvet-cta-primary:disabled { opacity: 0.5; cursor: not-allowed; }
/* iOS Safari zoomer ind ved input < 16px — hold felter læsbare uden pinch-zoom. */
#nw-phone,
.nw-otp-digit {
  font-size: 16px !important;
  line-height: 1.2;
}
#nw-otp-group {
  max-width: 100%;
  flex-wrap: nowrap;
  gap: 0.4rem;
  padding: 0 0.15rem;
}
.nw-otp-digit {
  height: 3rem;
  width: 2.75rem;
  min-width: 0;
  flex: 1 1 2.75rem;
  max-width: 3.25rem;
}
@media (min-width: 640px) {
  .nw-otp-digit {
    height: 3.5rem;
    width: 3.5rem;
    flex: 0 0 3.5rem;
    max-width: 3.5rem;
    font-size: 1.5rem !important;
  }
}
#nw-code-wrap {
  max-width: 100%;
  overflow: visible;
}
#nw-send-sms.hidden {
  display: none !important;
}
