.psp-phone-gate {
  box-sizing: border-box;
  margin: 0 0 1rem;
  padding: 0;
  width: 100%;
  min-width: 0;
  border: 1px solid #e7e4dc;
  border-radius: 1.25rem;
  background: #fff;
  color: #171714;
  font-family: inherit;
  line-height: 1.45;
}
.psp-phone-gate-trigger-hidden { display: none !important; }
.psp-phone-gate [hidden] { display: none !important; }
.psp-phone-gate-inner { position: relative; padding: clamp(1.25rem, 5vw, 2rem); }
.psp-phone-gate h3 { margin: .5rem 0 .4rem; line-height: 1.18; font-size: clamp(1.3rem, 5vw, 1.65rem); letter-spacing: -.025em; }
.psp-gate-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 0;
  color: #5d501e;
  font-size: .8rem;
  font-weight: 700;
}
.psp-gate-eyebrow::before { content: ''; width: .5rem; height: .5rem; border-radius: 50%; background: #ffcc29; }
.psp-gate-copy { margin: .45rem 0 1rem; color: #4c4b44; font-size: .95rem; }
.psp-gate-saved {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .25rem .75rem;
  justify-content: space-between;
  padding: .4rem .75rem;
  margin: 1rem 0 .7rem;
  border: 1px solid #eae6dc;
  border-radius: .65rem;
  background: #faf9f5;
}
.psp-gate-saved p { margin: .25rem 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.psp-phone-gate button,.psp-phone-gate input { min-height: 44px; font: inherit; }
.psp-phone-gate button { cursor: pointer; }
.psp-phone-gate button:disabled { opacity: .65; cursor: wait; }
.psp-phone-gate label { display: block; font-weight: 700; font-size: .9rem; }
.psp-phone-gate input {
  box-sizing: border-box;
  width: 100%;
  min-height: 50px;
  margin: .4rem 0 .6rem;
  padding: .65rem .8rem;
  border: 1px solid #aaa79c;
  border-radius: .65rem;
  background: #fff;
  color: #171714;
  font-size: 16px;
}
.psp-phone-gate #pspGateCode {
  min-height: 60px;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: .28em;
}
.psp-gate-primary { width: 100%; margin: .35rem 0; padding: .65rem .85rem; border: 1px solid #e9bd19; border-radius: .65rem; background: #ffcf32; color: #171714; font-weight: 750 !important; }
.psp-gate-text { display: block; padding: .4rem 0; border: 0; background: transparent; color: #37362f; font-size: .9rem !important; text-align: start; text-decoration: underline; text-underline-offset: .2em; }
.psp-gate-saved .psp-gate-text { font-weight: 650; }
.psp-phone-gate :is(button,input):focus-visible { outline: 2px solid #176089; outline-offset: 3px; }
.psp-phone-gate [role=status] { color: #49453a; font-size: .9rem; font-weight: 550; margin: .6rem 0; }
.psp-phone-gate [role=status][data-tone="error"] { color: #982b24; }
.psp-phone-gate [role=status]:empty { margin: 0; }
.psp-gate-footer { display: flex; flex-wrap: wrap; column-gap: 1.25rem; margin-top: .85rem; padding-top: .45rem; border-top: 1px solid #eeebe3; }
@media (max-width: 600px) {
  .psp-phone-gate { border-radius: .9rem; }
  .psp-phone-gate-footer { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion:no-preference) {
  .psp-gate-primary { transition: transform 120ms cubic-bezier(.23,1,.32,1); }
  .psp-gate-primary:active:not(:disabled) { transform: scale(.98); }
}
