/* Purple Preemie promo run registration form. Extends event-pages.css. */
.pp-formcard fieldset{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:18px}
.pp-formcard fieldset[hidden]{display:none}
.pr-legend{font-family:var(--font-display);font-size:26px;color:var(--text-white);padding:0;margin-bottom:6px}
.pr-err{font-size:13px;color:var(--pink);min-height:0}
.pr-err:empty{display:none}
.pr-check{display:flex;gap:12px;align-items:flex-start}
.pr-check input{flex:none;width:20px;height:20px;margin-top:3px;accent-color:var(--cyan)}
.pr-check label{font-size:15px;line-height:1.55;color:var(--text-primary)}
.pr-check a,.pp-head a,.pp-page details a{color:var(--cyan);text-underline-offset:3px}
.pp-field .opt{text-transform:none;letter-spacing:0;font-weight:400}
.pp-field select{appearance:auto}
#turnstile-box{min-height:65px}
.pp-formcard .pp-btn[disabled]{opacity:.6;cursor:not-allowed}
.pp-form-status.ok{color:var(--cyan)}

/* Terms and privacy page */
.pr-doc{max-width:760px}
.pr-doc h2{font-size:clamp(24px,3vw,32px);max-width:none;margin:44px 0 14px}
.pr-doc h3{font-size:20px;margin:28px 0 8px}
.pr-doc p,.pr-doc li{color:var(--text-primary);font-size:16px;line-height:1.7}
.pr-doc p+p{margin-top:12px}
.pr-doc ul{margin:10px 0 0;padding-left:22px}
.pr-doc li+li{margin-top:6px}
.pr-doc a{color:var(--cyan);text-underline-offset:3px}
.pr-doc table{width:100%;border-collapse:collapse;margin-top:12px;font-size:15px}
.pr-doc th,.pr-doc td{border-bottom:1px solid var(--hairline);padding:10px 12px 10px 0;text-align:left;vertical-align:top;color:var(--text-primary)}
.pr-doc th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600}

.pp-page [hidden]{display:none !important}

/* Buttons */
.pp-btn-cyan{background:var(--cyan);color:var(--ink-black)}
.pp-btn-cyan:hover{box-shadow:0 0 28px rgba(0,240,255,.35);transform:translateY(-1px)}
.pr-doc a.pp-btn,.pp-head a.pp-btn{color:var(--ink-black);text-decoration:none}

/* Code help */
.pr-link{align-self:flex-start;background:none;border:0;padding:0;font:inherit;font-size:14px;color:var(--cyan);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pr-hint{border:1px solid var(--hairline);border-radius:12px;padding:16px 20px;font-size:14px;color:var(--text-secondary)}
.pr-hint a{color:var(--cyan)}

/* Mobile: keep the yellow Register button visible in the header (event-pages.css hides it at 900px and below) */
.pr-cta-long{display:none}
@media(max-width:900px){
  .pp-page .header-cta .btn-accent{display:inline-flex;padding:10px 16px;font-size:13px;white-space:nowrap}
  .pp-page .header-cta{gap:6px}
  .pp-page .site-logo img{height:60px}
}
@media(min-width:481px) and (max-width:900px){.pr-cta-long{display:inline}.pp-page .site-logo img{height:76px}}
@media(max-width:900px){.pp-hero .pp-btn-row{gap:12px}}

/* Registration code on the thank you page */
.pr-code{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--raised-panel);border-radius:14px;padding:24px 28px 24px 32px;max-width:460px}
.pr-code::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--yellow);box-shadow:0 0 14px rgba(240,255,0,.4)}
.pr-code small{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.pr-code strong{font-family:var(--font-body);font-weight:600;font-size:clamp(26px,7vw,34px);letter-spacing:.08em;color:var(--yellow);line-height:1.15;overflow-wrap:anywhere;user-select:all}
.pr-code span{font-size:16px;color:var(--text-primary)}
.pr-code .pp-note{margin-top:6px}

/* Hero poster on the promo page */
.pr-hero-img{min-width:0}
.pr-hero-img img{display:block;width:100%;height:auto;border-radius:20px}
