.pmv-newsletter {
  position: relative;
  overflow: hidden;
  padding: clamp(48px, 7vw, 92px) 0;
  color: #fff;
  background:
    radial-gradient(circle at 8% 12%, rgba(255, 255, 255, .18), transparent 28%),
    radial-gradient(circle at 90% 90%, rgba(255, 65, 229, .24), transparent 34%),
    linear-gradient(125deg, #351070 0%, #7116e8 48%, #b40ed9 100%);
}

.pmv-newsletter::before,
.pmv-newsletter::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 50%;
  pointer-events: none;
}

.pmv-newsletter::before { width: 420px; height: 420px; top: -250px; right: 12%; }
.pmv-newsletter::after { width: 260px; height: 260px; bottom: -170px; left: 5%; }

.pmv-newsletter__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(520px, 1.15fr);
  gap: clamp(36px, 6vw, 86px);
  align-items: center;
}

.pmv-newsletter__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 15px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.pmv-newsletter__copy h2 {
  max-width: 620px;
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.06;
}

.pmv-newsletter__copy > p {
  max-width: 610px;
  margin: 20px 0 0;
  color: rgba(255, 255, 255, .86);
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.7;
}

.pmv-newsletter__copy ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.pmv-newsletter__copy li {
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 999px;
  background: rgba(255, 255, 255, .09);
  font-size: 12px;
  font-weight: 600;
}

.pmv-newsletter__panel {
  padding: clamp(22px, 3.5vw, 38px);
  border: 1px solid rgba(255, 255, 255, .34);
  border-radius: 28px;
  color: #24162d;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 28px 70px rgba(29, 5, 64, .25);
}

.pmv-newsletter__field label {
  display: block;
  margin-bottom: 9px;
  color: #261332;
  font-size: 14px;
  font-weight: 700;
}

.pmv-newsletter__field > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.pmv-newsletter__field input[type="email"] {
  min-width: 0;
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid #d9d0e1;
  border-radius: 15px;
  outline: 0;
  color: #1e1127;
  background: #fff;
  font: inherit;
}

.pmv-newsletter__field input[type="email"]:focus {
  border-color: #7a1cff;
  box-shadow: 0 0 0 4px rgba(122, 28, 255, .13);
}

.pmv-newsletter__field button {
  min-height: 54px;
  padding: 0 22px;
  border: 0;
  border-radius: 15px;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(115deg, #6c1cff, #b00dff);
  box-shadow: 0 12px 24px rgba(114, 18, 226, .22);
  font: inherit;
  font-weight: 700;
  transition: transform .2s ease, box-shadow .2s ease;
}

.pmv-newsletter__field button:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(114, 18, 226, .29); }
.pmv-newsletter__field button:focus-visible { outline: 3px solid #2c0b3e; outline-offset: 3px; }

.pmv-newsletter__consent {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  margin-top: 18px;
  color: #504356;
  font-size: 12px;
  line-height: 1.55;
}

.pmv-newsletter__consent input {
  width: 19px;
  height: 19px;
  margin: 2px 0 0;
  accent-color: #791cff;
}

.pmv-newsletter__privacy {
  margin: 14px 0 0;
  color: #75697a;
  font-size: 11px;
  line-height: 1.55;
}

.pmv-newsletter__privacy a { color: #6b18d5; font-weight: 700; }
.pmv-newsletter__hp { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.pmv-newsletter__message {
  margin-bottom: 16px;
  padding: 12px 14px;
  border-radius: 13px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.pmv-newsletter__message--success { border: 1px solid #a7e5c4; color: #075c34; background: #edfff5; }
.pmv-newsletter__message--error { border: 1px solid #f1b9be; color: #94202b; background: #fff2f3; }

.pmv-newsletter-status {
  min-height: 52vh;
  display: grid;
  place-items: center;
  padding: clamp(52px, 8vw, 100px) 20px;
  background: radial-gradient(circle at 50% 0, rgba(155, 34, 255, .11), transparent 45%), #f7f5f9;
}

.pmv-newsletter-status__card {
  width: min(100%, 650px);
  padding: clamp(28px, 6vw, 54px);
  border: 1px solid #e0d9e7;
  border-radius: 30px;
  text-align: center;
  background: #fff;
  box-shadow: 0 25px 70px rgba(52, 24, 72, .10);
}

.pmv-newsletter-status__icon {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  margin: 0 auto 22px;
  border-radius: 22px;
  color: #fff;
  background: linear-gradient(135deg, #641bff, #c20be9);
  font-size: 29px;
}

.pmv-newsletter-status__card h1 { margin: 0; color: #21122b; font-size: clamp(28px, 5vw, 42px); }
.pmv-newsletter-status__card p { margin: 16px auto 0; max-width: 520px; color: #655b69; line-height: 1.7; }
.pmv-newsletter-status__card form { margin-top: 26px; }
.pmv-newsletter-status__button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 23px; border: 0; border-radius: 999px; cursor: pointer; color: #fff; background: linear-gradient(115deg, #681aff, #ac0be8); font: inherit; font-weight: 700; text-decoration: none; }
.pmv-newsletter-status__secondary { display: inline-block; margin-top: 18px; color: #6817d5; font-weight: 700; text-decoration: none; }

.pmv-newsletter-admin-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 22px; }
.pmv-newsletter-admin-stat { padding: 20px; border: 1px solid #ddd7e5; border-radius: 18px; background: #fff; }
.pmv-newsletter-admin-stat span { display: block; color: #756b7b; font-size: 12px; }
.pmv-newsletter-admin-stat strong { display: block; margin-top: 5px; color: #201128; font-size: 28px; }
.pmv-newsletter-admin-tools { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin-bottom: 20px; padding: 18px; border: 1px solid #ddd7e5; border-radius: 18px; background: #fff; }
.pmv-newsletter-admin-tools label { display: grid; gap: 6px; color: #504756; font-size: 12px; font-weight: 700; }
.pmv-newsletter-admin-tools input, .pmv-newsletter-admin-tools select { min-height: 43px; padding: 0 12px; border: 1px solid #d7cfdf; border-radius: 10px; background: #fff; font: inherit; }
.pmv-newsletter-admin-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 43px; padding: 0 16px; border: 0; border-radius: 10px; cursor: pointer; color: #fff; background: #7119e8; font: inherit; font-weight: 700; text-decoration: none; }
.pmv-newsletter-admin-button--light { border: 1px solid #d8d0e1; color: #2b1e32; background: #fff; }
.pmv-newsletter-admin-note { margin-bottom: 20px; padding: 16px 18px; border: 1px solid #ddc9fb; border-radius: 15px; color: #4a3265; background: #f7f0ff; line-height: 1.6; }
.pmv-newsletter-admin-status { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; }
.pmv-newsletter-admin-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #999; }
.pmv-newsletter-admin-status--active::before { background: #13a663; }
.pmv-newsletter-admin-status--pending::before { background: #e79a18; }
.pmv-newsletter-admin-status--unsubscribed::before { background: #c64b5a; }
.pmv-newsletter-admin-form { display: inline; }

[data-theme="dark"] .pmv-newsletter__panel { color: #f7f3fa; background: rgba(24, 20, 31, .97); border-color: rgba(255,255,255,.13); }
[data-theme="dark"] .pmv-newsletter__field label { color: #fff; }
[data-theme="dark"] .pmv-newsletter__field input[type="email"] { color: #fff; border-color: #504759; background: #17131d; }
[data-theme="dark"] .pmv-newsletter__consent { color: #d2c9d7; }
[data-theme="dark"] .pmv-newsletter__privacy { color: #aaa0af; }
[data-theme="dark"] .pmv-newsletter__privacy a { color: #c998ff; }
[data-theme="dark"] .pmv-newsletter-status { background: #100d15; }
[data-theme="dark"] .pmv-newsletter-status__card, [data-theme="dark"] .pmv-newsletter-admin-stat, [data-theme="dark"] .pmv-newsletter-admin-tools { color: #f7f3fa; border-color: #3e3746; background: #1b1721; }
[data-theme="dark"] .pmv-newsletter-status__card h1, [data-theme="dark"] .pmv-newsletter-admin-stat strong { color: #fff; }
[data-theme="dark"] .pmv-newsletter-status__card p, [data-theme="dark"] .pmv-newsletter-admin-stat span { color: #b9b0bf; }

@media (max-width: 980px) {
  .pmv-newsletter__inner { grid-template-columns: 1fr; }
  .pmv-newsletter__copy { text-align: center; }
  .pmv-newsletter__copy h2, .pmv-newsletter__copy > p { margin-left: auto; margin-right: auto; }
  .pmv-newsletter__copy ul { justify-content: center; }
  .pmv-newsletter-admin-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .pmv-newsletter { padding: 44px 0; }
  .pmv-newsletter__inner { gap: 28px; }
  .pmv-newsletter__panel { padding: 20px; border-radius: 21px; }
  .pmv-newsletter__field > div { grid-template-columns: 1fr; }
  .pmv-newsletter__field button { width: 100%; }
  .pmv-newsletter__copy ul { display: grid; }
  .pmv-newsletter-admin-summary { grid-template-columns: 1fr 1fr; }
  .pmv-newsletter-admin-tools { align-items: stretch; }
  .pmv-newsletter-admin-tools label { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .pmv-newsletter__field button { transition: none; }
}
