.cts-pag[hidden], .cts-pag [hidden] { display: none !important; }
html.cts-pag-active, html.cts-pag-active body { overflow: hidden !important; }
.cts-pag, .cts-pag * { box-sizing: border-box; }
.cts-pag {
  --cts-pag-backdrop: rgba(15,23,42,.96); --cts-pag-card: #ffffff; --cts-pag-fg: #172033; --cts-pag-muted: #526078; --cts-pag-accent: #2563eb;
  align-items: center; display: flex; inset: 0; justify-content: center; padding: 1.25rem; position: fixed; z-index: 2147483000;
}
.cts-pag--paper { --cts-pag-backdrop: rgba(245,241,232,.97); --cts-pag-card: #fffdf8; --cts-pag-fg: #292524; --cts-pag-muted: #57534e; --cts-pag-accent: #a16207; }
.cts-pag--berry { --cts-pag-backdrop: rgba(76,5,25,.96); --cts-pag-card: #fff1f2; --cts-pag-fg: #4c0519; --cts-pag-muted: #881337; --cts-pag-accent: #be123c; }
.cts-pag__backdrop { background: var(--cts-pag-backdrop); inset: 0; position: absolute; }
.cts-pag__dialog {
  background: var(--cts-pag-card); border: 1px solid rgba(15,23,42,.12); border-radius: 1rem; box-shadow: 0 1.5rem 4rem rgba(0,0,0,.4); color: var(--cts-pag-fg); font: 400 1rem/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; max-height: calc(100vh - 2.5rem); max-width: 38rem; overflow: auto; padding: clamp(1.5rem,5vw,2.75rem); position: relative; width: 100%; z-index: 1;
}
.cts-pag__eyebrow { color: var(--cts-pag-accent); font-size: .76rem; font-weight: 800; letter-spacing: .12em; margin: 0 0 .6rem; text-transform: uppercase; }
.cts-pag__dialog h2 { color: inherit; font: 800 clamp(1.7rem,5vw,2.5rem)/1.12 system-ui,sans-serif; margin: 0 0 .9rem; }
.cts-pag__message { color: var(--cts-pag-muted); }
.cts-pag__message p { margin: 0 0 1.35rem; }
.cts-pag__field { margin: 0 0 1rem; text-align: left; }
.cts-pag__field label { display: block; font-weight: 800; margin-bottom: .4rem; }
.cts-pag__birthdate { background: #fff; border: 2px solid #94a3b8; border-radius: .45rem; color: #172033; font: inherit; min-height: 3rem; padding: .65rem .75rem; width: 100%; }
.cts-pag__birthdate[aria-invalid="true"] { border-color: #b91c1c; }
.cts-pag__privacy-note { color: var(--cts-pag-muted); font-size: .85rem; margin: .45rem 0 0; }
.cts-pag__error { background: #fee2e2; border-left: 4px solid #b91c1c; color: #7f1d1d; margin: 0 0 1rem; padding: .75rem; }
.cts-pag__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.cts-pag__confirm, .cts-pag__exit { border: 2px solid var(--cts-pag-accent); border-radius: .45rem; cursor: pointer; display: inline-block; font: 800 1rem/1.2 system-ui,sans-serif; min-height: 2.8rem; padding: .72rem 1rem; text-align: center; text-decoration: none; }
.cts-pag__confirm { background: var(--cts-pag-accent); color: #fff; }
.cts-pag__exit { background: transparent; color: var(--cts-pag-accent); }
.cts-pag__confirm:hover, .cts-pag__exit:hover { filter: brightness(.92); }
.cts-pag__confirm:focus-visible, .cts-pag__exit:focus-visible, .cts-pag__birthdate:focus-visible { outline: 3px solid var(--cts-pag-accent); outline-offset: 3px; }
.cts-pag__policy { font-size: .88rem; margin: 1rem 0 0; }
.cts-pag__policy a { color: var(--cts-pag-accent); font-weight: 700; }
@media (max-width:480px) { .cts-pag { padding: .75rem; } .cts-pag__actions { align-items: stretch; flex-direction: column; } }
@media (prefers-reduced-motion:reduce) { .cts-pag * { scroll-behavior: auto !important; } }
