/* @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; }
.nw-velvet-inline {
    background: transparent;
    width: 100%;
    max-width: 28rem;
    padding-bottom: 1.5rem;
}
.nw-kiss-velvet-panel {
    background: #fffdf6;
    border-color: color-mix(in srgb, var(--theme-text, #243c32) 12%, transparent);
    margin-top: 0.65rem;
    padding: 1.15rem 1.05rem 1.25rem;
}
.nw-kiss-velvet-panel h3 {
    font-size: 1.35rem;
    line-height: 1.25;
}
#nw-velvet-gate-fields {
    margin-top: 1.15rem;
}
#nw-send-sms,
#nw-wl-submit {
    min-height: 48px;
    font-size: 16px !important;
}
#nw-phone,
#nw-wl-email,
#nw-wl-name,
#nw-wl-phone {
    min-height: 48px;
    font-size: 16px !important;
}
@media (min-width: 768px) {
    .nw-velvet-inline {
        max-width: 32rem;
        padding-bottom: 3.5rem;
    }
    .nw-kiss-velvet-panel {
        margin-top: 1.25rem;
        padding: 1.75rem 2rem 2rem;
    }
    .nw-kiss-velvet-panel h3 {
        font-size: 1.5rem;
    }
    #nw-velvet-gate-fields {
        margin-top: 1.75rem;
    }
}
/* 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;
}
