[data-lang-switch] {
  display: flex !important;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body.nsbp-policy-open {
  overflow: hidden;
}

.nsbp-form-status {
  display: none;
  margin-top: 0.5rem;
  border-radius: 0.75rem;
  padding: 0.85rem 1rem;
  font-size: 0.875rem;
  line-height: 1.45;
}

.nsbp-form-status[data-visible="true"] {
  display: block;
}

.nsbp-form-status[data-state="success"] {
  border: 1px solid rgba(94, 156, 118, 0.35);
  color: #285c3b;
  background: rgba(94, 156, 118, 0.1);
}

.nsbp-form-status[data-state="error"] {
  border: 1px solid rgba(185, 65, 65, 0.3);
  color: #8a2828;
  background: rgba(185, 65, 65, 0.08);
}

.nsbp-policy-modal {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  background: rgba(26, 49, 68, 0.78);
  backdrop-filter: blur(8px);
}

.nsbp-policy-modal[data-open="true"] {
  display: flex;
}

.nsbp-policy-dialog {
  position: relative;
  width: min(42rem, 100%);
  max-height: min(46rem, calc(100vh - 2rem));
  overflow: auto;
  border-radius: 1.25rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  color: #264a5e;
  background: #ffffff;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.28);
}

.nsbp-policy-dialog h2 {
  margin: 0 3rem 1.5rem 0;
  font-size: clamp(1.6rem, 4vw, 2.25rem);
  line-height: 1.15;
}

.nsbp-policy-dialog h3 {
  margin: 1.35rem 0 0.4rem;
  font-size: 1rem;
}

.nsbp-policy-dialog p {
  margin: 0;
  color: rgba(38, 74, 94, 0.72);
  font-size: 0.925rem;
  line-height: 1.7;
}

.nsbp-policy-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(38, 74, 94, 0.16);
  border-radius: 999px;
  color: #264a5e;
  background: #ffffff;
  font-size: 1.5rem;
  cursor: pointer;
}

.nsbp-policy-close:hover,
.nsbp-policy-close:focus-visible {
  color: #ffffff;
  background: #57abd9;
  outline: none;
}

body.admin-bar header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar header {
    top: 46px;
  }
}

@media (max-width: 767px) {
  input,
  select,
  textarea {
    font-size: 16px !important;
  }

  [class~="px-6"] {
    padding-left: max(1.5rem, env(safe-area-inset-left));
    padding-right: max(1.5rem, env(safe-area-inset-right));
  }

  [data-lang-switch] button {
    min-width: 2.35rem;
    min-height: 2.1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
