:root {
  --bg: #f4f4f6;
  --surface: #ececef;
  --surface-2: #e7e7ea;
  --inner: rgba(255, 255, 255, 0.88);
  --dark: #161616;
  --graphite: #20211f;
  --text: #1f1f1f;
  --muted: #747478;
  --muted-strong: rgba(31, 31, 31, 0.46);
  --accent: #c9fb00;
  --radius-xl: 34px;
  --radius-lg: 24px;
  --radius-md: 18px;
  --motion: cubic-bezier(0.22, 1, 0.36, 1);
}

* { box-sizing: border-box; }

html, body { min-height: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: "Inter";
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

a { color: inherit; }

button, input, textarea { font-family: inherit; }

button {
  border: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

h1, h2, h3, p { margin: 0; }

p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.48;
}

small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.auth-kicker,
.card-kicker {
  display: block;
  color: var(--muted-strong);
  font-size: 9px;
  font-weight: 820;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

input,
textarea {
  width: 100%;
  border: 0;
  outline: 0;
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  font-size: 14px;
}

input { border-radius: 999px; padding: 14px 16px; }

textarea {
  min-height: 88px;
  resize: vertical;
  border-radius: 22px;
  padding: 15px 16px;
  line-height: 1.45;
}

input::placeholder,
textarea::placeholder { color: rgba(31, 31, 31, 0.35); }

/* Common buttons */
.ghost-btn,
.access-mini-card a,
.prime-price-card,
.access-request-form button,
.code-form button,
.feedback-form button,
.concierge-link,
.prime-main-btn,
.prime-secondary-btn,
.prime-floating-back,
.auth-form button,
.google-login-btn,
.magic-link-btn {
  border-radius: 999px;
  padding: 13px 17px;
  text-decoration: none;
  font-size: 10px;
  font-weight: 820;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: transform 0.22s var(--motion), background 0.22s ease, color 0.22s ease;
}

button:active,
a:active { transform: scale(0.985); }

/* Auth */
.auth-page,
.dashboard-page { min-height: 100vh; padding: 14px; }
.auth-page { display: grid; place-items: center; }

.auth-card {
  position: relative;
  width: min(520px, 100%);
  padding: clamp(30px, 5vw, 54px);
  border-radius: var(--radius-xl);
  background: var(--inner);
  backdrop-filter: blur(24px) saturate(1.14);
  -webkit-backdrop-filter: blur(24px) saturate(1.14);
}

.auth-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 20;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.05);
  color: rgba(31, 31, 31, 0.58);
  text-decoration: none;
}
.auth-close svg { width: 14px; height: 14px; }

.auth-logo,
.dashboard-logo {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: 132px;
  height: 28px;
  text-decoration: none;
}
.auth-logo { width: 148px; margin-bottom: 24px; }
.auth-logo img,
.dashboard-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }

.auth-card h1 {
  max-width: 760px;
  font-size: clamp(34px, 5.4vw, 64px);
  line-height: 0.96;
  letter-spacing: -0.055em;
  font-weight: 650;
}
.auth-card p { margin-top: 18px; }

.auth-actions { display: flex; flex-direction: column; gap: 14px; margin-top: 28px; }
.google-login-btn,
.magic-link-btn {
  width: 100%;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-size: 14px;
  letter-spacing: -0.02em;
  text-transform: none;
}
.google-login-btn { background: var(--dark); color: #fff; }
.google-login-btn svg { width: 20px; height: 20px; flex-shrink: 0; }
.magic-link-btn { background: rgba(0, 0, 0, 0.05); color: var(--text); }

.auth-divider { position: relative; display: flex; align-items: center; justify-content: center; margin: 2px 0; }
.auth-divider::before { content: ""; position: absolute; inset: 50% 0 auto 0; height: 1px; background: rgba(0,0,0,.08); }
.auth-divider span { position: relative; z-index: 2; padding: 0 12px; background: var(--bg); font-size: 10px; font-weight: 820; letter-spacing: .18em; text-transform: uppercase; color: rgba(0,0,0,.38); }
.auth-form { display: flex; flex-direction: column; gap: 10px; }
.auth-form button,
.code-form button,
.feedback-form button,
.access-request-form button { background: var(--dark); color: #fff; }
.auth-note { margin-top: 12px; }

/* Dashboard */
.dashboard-page { width: 100%; max-width: none; margin: 0; }

.dashboard-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 6px 20px;
}
.dashboard-header-actions { display: flex; align-items: center; gap: 8px; }
.ghost-btn { background: rgba(255, 255, 255, 0.72); color: var(--text); }
.ghost-btn:hover { background: rgba(255, 255, 255, 0.96); }

.dashboard-hero,
.prime-purchase-card,
.service-card,
.access-mini-card { border-radius: var(--radius-xl); }

.dashboard-hero { background: var(--surface); }
.compact-hero {
  min-height: 170px;
  padding: clamp(26px, 4vw, 44px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 220px);
  align-items: end;
  gap: 20px;
}
.hero-copy h1 {
  margin-top: 12px;
  font-size: clamp(42px, 5.2vw, 72px);
  line-height: 0.93;
  letter-spacing: -0.068em;
  font-weight: 650;
}
.hero-copy p { margin-top: 12px; max-width: 560px; }
.hero-copy small { margin-top: 12px; }
.hero-status {
  min-height: 108px;
  padding: 18px;
  border-radius: 24px;
  background: var(--inner);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.hero-status span { margin-bottom: auto; color: var(--muted-strong); font-size: 9px; font-weight: 820; letter-spacing: .16em; text-transform: uppercase; }
.hero-status strong { font-size: 21px; line-height: 1; letter-spacing: -0.04em; font-weight: 650; }
.hero-status small { margin-top: 8px; }

.dashboard-section { margin-top: 12px; }
.dashboard-section-head {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 7px;
  padding: 16px 4px 10px;
}
.dashboard-section-head h2 {
  font-size: clamp(26px, 2.8vw, 44px);
  line-height: 0.98;
  letter-spacing: -0.055em;
  font-weight: 650;
}
.dashboard-section-head p { max-width: 760px; margin-top: 0; }

.user-access-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.access-mini-card {
  min-height: 188px;
  padding: 24px;
  background: var(--surface);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.access-mini-card span { margin-bottom: auto; color: var(--muted-strong); font-size: 9px; font-weight: 820; letter-spacing: .16em; text-transform: uppercase; }
.access-mini-card h3 { font-size: clamp(23px, 2vw, 32px); line-height: 1; letter-spacing: -0.055em; font-weight: 650; }
.access-mini-card p { margin-top: 10px; font-size: 13px; max-width: 480px; }
.access-mini-card a { width: fit-content; margin-top: 16px; background: var(--accent); color: #111; }
.access-mini-card.access-prime { background: var(--accent); }
.access-mini-card.access-prime span,
.access-mini-card.access-prime p { color: rgba(0,0,0,.58); }
.access-mini-card.access-prime a { background: var(--dark); color: #fff; }

.prime-section-head p { margin-top: 0; }
.prime-purchase-card {
  padding: clamp(22px, 2.6vw, 34px);
  background: var(--surface);
}
.prime-control-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.segmented-control {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 4px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  overflow: hidden;
}
.segment-thumb {
  position: absolute;
  top: 4px;
  left: 0;
  height: calc(100% - 8px);
  border-radius: 999px;
  background: var(--accent);
  transition: transform .28s var(--motion), width .28s var(--motion);
}
.currency-thumb { background: var(--dark); }
.segment-btn {
  position: relative;
  z-index: 2;
  min-height: 34px;
  padding: 0 15px;
  background: transparent;
  color: rgba(31,31,31,.62);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.segment-btn.is-active { color: #111; }
.currency-segment .segment-btn.is-active { color: #fff; }

.rate-note { display: none; }

.prime-product-row {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.prime-price-card {
  min-height: 152px;
  padding: 20px;
  border-radius: 26px;
  background: var(--inner);
  color: var(--text);
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  text-transform: none;
  letter-spacing: 0;
}
.prime-price-card span { margin-bottom: auto; color: var(--muted-strong); font-size: 9px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.prime-price-card strong { font-size: clamp(28px, 2.6vw, 42px); line-height: .95; letter-spacing: -.06em; font-weight: 650; }
.prime-price-card small { margin-top: 7px; color: rgba(31,31,31,.58); font-size: 15px; font-weight: 760; }
.prime-price-card p { margin-top: 10px; color: rgba(31,31,31,.6); font-size: 12px; line-height: 1.35; }
.prime-price-card.is-selected { background: var(--accent); }
.prime-price-card.is-selected span,
.prime-price-card.is-selected small,
.prime-price-card.is-selected p { color: rgba(0,0,0,.58); }

.prime-request-strip {
  margin-top: 12px;
  padding: 22px;
  border-radius: 26px;
  background: rgba(255,255,255,.76);
  display: grid;
  grid-template-columns: minmax(240px, .68fr) minmax(420px, 1.32fr);
  gap: 22px;
  align-items: start;
}
.request-copy h3 {
  margin-top: 12px;
  font-size: clamp(25px, 2.2vw, 36px);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 650;
}
.request-copy p { margin-top: 12px; max-width: 420px; }
.access-request-form { display: flex; flex-direction: column; gap: 10px; }
.request-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.access-request-form button { width: fit-content; margin-top: 2px; }

.code-concierge-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr);
  gap: 12px;
}
.service-card {
  min-height: 230px;
  padding: 28px;
  background: var(--surface);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.service-card .card-kicker { margin-bottom: auto; }
.service-card h3 { margin-top: 42px; font-size: clamp(24px, 2.2vw, 36px); line-height: 1; letter-spacing: -.055em; font-weight: 650; }
.service-card p { margin-top: 12px; max-width: 520px; }
.compact-code-form { margin-top: 20px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.access-concierge-card,
.concierge-card { background: var(--graphite); color: #fff; }
.access-concierge-card .card-kicker,
.concierge-card .card-kicker { color: rgba(255,255,255,.42); }
.access-concierge-card h3,
.concierge-card h3 { color: #fff; }
.access-concierge-card p,
.access-concierge-card .concierge-mail,
.concierge-card p,
.concierge-card .concierge-mail { color: rgba(255,255,255,.62); }
.concierge-link { width: fit-content; margin-top: 20px; background: var(--accent); color: #111; }
.concierge-mail { margin-top: 12px; font-size: 12px; font-weight: 620; }

/* Prime map gateway */
.prime-gateway {
  min-height: 100vh;
  padding: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.prime-shell {
  position: relative;
  width: min(760px, calc(100% - 28px));
  min-height: 420px;
  padding: clamp(34px, 6vw, 68px);
  border-radius: var(--radius-xl);
  background: radial-gradient(circle at 88% 18%, rgba(201, 251, 0, .18), transparent 34%), var(--surface);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.prime-actions { display: flex; gap: 10px; margin-top: 30px; flex-wrap: wrap; }
.prime-main-btn { background: var(--dark); color: #fff; }
.prime-secondary-btn,
.prime-floating-back { background: rgba(255,255,255,.76); color: #111; }
body:has(.prime-gateway) { overflow: hidden; }
.prime-gateway,
.prime-shell.prime-map-open,
.prime-map-frame { width: 100vw !important; height: 100vh !important; }
.prime-shell.prime-map-open { position: fixed !important; inset: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; background: #000 !important; overflow: hidden !important; }
.prime-map-frame { position: fixed !important; inset: 0 !important; border: 0 !important; display: block !important; }
.prime-floating-back { position: fixed !important; top: 18px !important; left: 18px !important; z-index: 9999 !important; }

/* Responsive */
@media (max-width: 1180px) {
  .prime-request-strip,
  .code-concierge-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .auth-page,
  .dashboard-page { padding: 10px; }
  .dashboard-header { gap: 14px; padding: 14px 2px 20px; }
  .dashboard-logo { width: 122px; height: 26px; }
  .dashboard-header-actions { gap: 6px; }
  .dashboard-header-actions .ghost-btn { min-height: 38px; padding: 11px 13px; font-size: 9px; }
  .compact-hero { min-height: 0; padding: 28px; grid-template-columns: 1fr; }
  .hero-copy h1 { font-size: clamp(38px, 12vw, 56px); }
  .hero-status { min-height: 104px; }
  .dashboard-section-head { padding: 16px 2px 12px; }
  .dashboard-section-head h2 { font-size: clamp(30px, 9vw, 42px); }
  .user-access-grid,
  .prime-product-row,
  .request-form-grid { grid-template-columns: 1fr; }
  .access-mini-card { min-height: 176px; padding: 24px; }
  .prime-purchase-card { padding: 22px; }
  .prime-control-row { align-items: stretch; }
  .segmented-control { width: 100%; }
  .city-segment .segment-btn { flex: 1; padding: 0 8px; font-size: 9px; }
  .currency-segment .segment-btn { flex: 1; }
  .prime-price-card { min-height: 136px; }
  .prime-request-strip { padding: 20px; }
  .access-request-form button,
  .compact-code-form button { width: 100%; }
  .compact-code-form { grid-template-columns: 1fr; }
  .service-card { min-height: 220px; padding: 24px; }
}

@media (max-width: 430px) {
  .dashboard-header { align-items: flex-start; flex-direction: column; }
  .dashboard-header-actions { width: 100%; justify-content: space-between; }
  .dashboard-header-actions .ghost-btn { flex: 1; }
}


.dashboard-section-head.no-kicker {
  padding-top: 18px;
}

.dashboard-section-head.no-kicker h2 {
  margin-top: 0;
}

/* Keep section headers left-aligned and calm */
.dashboard-section-head {
  align-items: flex-start !important;
  text-align: left !important;
}

.hero-status span {
  color: var(--muted-strong);
}

/* Prime block becomes flat: no huge outer bento shell */
.prime-purchase-card {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Controls become a small quiet strip on the page, not nested in a giant card */
.prime-control-row {
  margin-bottom: 10px;
  padding: 0 !important;
  background: transparent !important;
}

.segmented-control {
  background: var(--surface) !important;
  box-shadow: none !important;
}

/* Price cards are now the actual bento cards */
.prime-product-row {
  margin-top: 0 !important;
  gap: 12px !important;
}

.prime-price-card {
  min-height: 176px !important;
  padding: 24px !important;
  border-radius: var(--radius-xl) !important;
  background: var(--surface) !important;
  box-shadow: none !important;
}

.prime-price-card.is-selected {
  background: var(--accent) !important;
}

.prime-price-card strong {
  margin-top: 10px;
}

.prime-price-card p {
  max-width: 340px;
}

/* Request strip becomes a normal card below prices */
.prime-request-strip {
  margin-top: 12px !important;
  padding: 26px !important;
  border-radius: var(--radius-xl) !important;
  background: var(--surface) !important;
  box-shadow: none !important;
}

.prime-request-strip .access-request-form {
  padding: 22px;
  border-radius: 26px;
  background: var(--inner);
}

.request-copy .auth-kicker {
  margin-bottom: 0;
}

/* Reduce desktop gigantism */
.compact-hero {
  min-height: 150px;
  padding: clamp(24px, 3.2vw, 38px);
}

.hero-copy h1 {
  font-size: clamp(38px, 4.5vw, 64px);
}

.access-mini-card {
  min-height: 168px;
  padding: 22px;
}

.service-card {
  min-height: 210px;
}

/* Mobile keeps breathing, but no nested blocks */
@media (max-width: 900px) {
  .prime-control-row {
    gap: 8px;
  }

  .prime-price-card {
    min-height: 132px !important;
    padding: 20px !important;
  }

  .prime-request-strip {
    padding: 20px !important;
  }

  .prime-request-strip .access-request-form {
    padding: 0;
    background: transparent;
  }
}

/* =========================================
   MOBILE DASHBOARD HEADER BUTTON FIX
   центрирует "На главный экран" и "Выйти"
========================================= */

@media (max-width: 720px) {
  .dashboard-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .dashboard-header-actions .ghost-btn {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 14px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;

    flex: 1 1 0 !important;
  }
}

/* =========================================
   HERO ACCESS COLOR POLISH
   grey hero, white status by default, lime if Prime active
========================================= */

.dashboard-hero {
  background: var(--surface) !important;
}

.hero-status {
  background: rgba(255, 255, 255, 0.9) !important;
}

.hero-status.is-prime-active {
  background: var(--accent) !important;
  color: #111 !important;
}

.hero-status.is-prime-active span,
.hero-status.is-prime-active small {
  color: rgba(0, 0, 0, 0.58) !important;
}

/* =========================================
   SEGMENTED CONTROLS COLOR POLISH
   City + currency toggles: white base, lime active
========================================= */

.segmented-control {
  background: rgba(255, 255, 255, 0.9) !important;
}

.segment-thumb {
  background: var(--accent) !important;
}

.currency-thumb {
  background: var(--accent) !important;
}

.segment-btn {
  color: rgba(31, 31, 31, 0.58) !important;
}

.segment-btn.is-active {
  color: #111 !important;
}

.currency-segment .segment-btn.is-active {
  color: #111 !important;
}

/* =========================================
   ACCESS REQUEST FORM — NO INNER BOX
========================================= */

.prime-request-strip .access-request-form {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

.prime-request-strip .access-request-form input,
.prime-request-strip .access-request-form textarea {
  background: rgba(255, 255, 255, 0.9) !important;
  color: #111 !important;
}

.prime-request-strip .access-request-form input::placeholder,
.prime-request-strip .access-request-form textarea::placeholder {
  color: rgba(31, 31, 31, 0.45) !important;
}

.prime-request-strip .access-request-form button {
  background: #161616 !important;
  color: #fff !important;
}

.prime-request-strip .access-request-form button:hover {
  background: #000 !important;
}

.prime-request-strip .access-request-form small {
  color: rgba(31, 31, 31, 0.58) !important;
}

.old-price {
  text-decoration: line-through;
  opacity: 0.42;
  margin-right: 8px;
}

.new-price {
  color: #111;
}

/* --- Упрощённый запрос доступа: 3 шага + свёрнутая личность --- */
.request-steps {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 420px;
  counter-reset: req-step;
}
.request-steps li {
  position: relative;
  padding-left: 30px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--text);
  counter-increment: req-step;
}
.request-steps li::before {
  content: counter(req-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--accent);
  color: #111;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.request-identity {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(31, 31, 31, 0.08);
}
.request-identity-text {
  font-size: 14px;
  color: var(--text);
}
.request-identity-text strong {
  font-weight: 650;
}
.request-identity-email {
  color: var(--muted);
}
.request-identity .request-identity-edit {
  flex-shrink: 0;
  width: auto;
  margin: 0;
  padding: 7px 13px;
  background: rgba(31, 31, 31, 0.06);
  border: none;
  border-radius: 999px;
  font: inherit;
  font-size: 10px;
  font-weight: 820;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.22s var(--motion), color 0.22s ease;
}
.request-identity .request-identity-edit:hover {
  background: var(--dark);
  color: #fff;
}

/* --- Testimonial collection (social proof) --- */
.feedback-card .card-kicker { color: var(--muted); }
.feedback-rating {
  display: flex;
  gap: 4px;
  margin: 14px 0 4px;
}
.feedback-star {
  width: auto;
  margin: 0;
  padding: 2px;
  background: none;
  border: none;
  font-size: 26px;
  line-height: 1;
  color: rgba(127, 156, 0, 0.28);
  cursor: pointer;
  transition: color 0.15s var(--motion), transform 0.15s var(--motion);
}
.feedback-star:hover { transform: translateY(-1px); color: #7f9c00; }
.feedback-star.is-active { color: #7f9c00; }
.feedback-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}
.feedback-form button { width: fit-content; }

/* --- Gift option in the access request --- */
.gift-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
  font-size: 13px;
  color: var(--muted);
  cursor: pointer;
}
.gift-toggle input {
  width: 16px;
  height: 16px;
  accent-color: var(--accent);
  cursor: pointer;
}

/* --- A11y & motion polish --- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible,
.segment-btn:focus-visible,
.nav-pill:focus-visible,
.prime-price-card:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* --- Notify capture on the Prime "coming soon" gateway --- */
.prime-notify {
  width: 100%;
  max-width: 380px;
  margin-top: 22px;
}
.prime-notify-label {
  display: block;
  margin-bottom: 10px;
  font-size: 13px;
  color: inherit;
  opacity: 0.62;
}
.prime-notify-row {
  display: flex;
  gap: 8px;
}
.prime-notify-row input {
  flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0 14px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: rgba(255, 255, 255, 0.92);
  color: var(--text);
  font-family: inherit;
  font-size: 14px;
}
.prime-notify-row button {
  flex-shrink: 0;
  height: 44px;
  padding: 0 18px;
  border-radius: 12px;
  border: 0;
  background: var(--dark);
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.prime-notify-status {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  color: inherit;
  opacity: 0.75;
}