/* Color-only variants. Layout, typography, breakpoints and motion stay in style.css. */
@import url("palette-tokens.css?v=23");
.theme-palette{--black:var(--p-bg);--cream:var(--p-soft);--warm-white:var(--p-surface);--gold:var(--p-accent);--gold-light:var(--p-accent);--text:var(--p-ink);--dark:var(--p-ink);--muted:var(--p-muted);background:var(--p-bg);color:var(--p-ink)}
body.theme-palette .hero__image{background-color:var(--p-soft)}
body.theme-palette .hero__overlay{background:linear-gradient(180deg,var(--p-veil),var(--p-veil) 55%,var(--p-bg))}
.theme-palette .hero__line{background:linear-gradient(90deg,transparent,var(--p-accent),transparent)}
.theme-palette .section--black{background:var(--p-bg)}
.theme-palette .section--cream{background:linear-gradient(145deg,var(--p-bg),var(--p-soft));color:var(--p-ink)}
.theme-palette .section--gold{background:radial-gradient(circle at 50% 10%,var(--p-bg),var(--p-soft));color:var(--p-ink)}
.theme-palette .section--dark-gradient{background:linear-gradient(145deg,var(--p-soft),var(--p-bg) 52%,var(--p-soft))}
.theme-palette :is(.dark,.gold,.countdown strong,.big-number,.year,.dress-mark){color:var(--p-accent)}
.theme-palette :is(.dark-title,.hero__content,.scroll-indicator){color:var(--p-ink)}
.theme-palette :is(.muted,.dark-copy,.info-label,.countdown span,.calendar-fallback){color:var(--p-muted)}
.theme-palette .countdown div{border-top-color:var(--p-border)}
.theme-palette :is(.photo,.album-item,.event-carousel__slide){background:var(--p-soft)}
.theme-palette :is(.location-copy,.inline-experience,.modal__box){background:var(--p-surface);color:var(--p-ink);border-color:var(--p-border)}
.theme-palette .map-frame{background:var(--p-soft)}
.theme-palette .button,.theme-palette .button--dark{background:var(--p-button);color:var(--p-button-text);border-color:var(--p-button)}
.theme-palette .button:hover{background:var(--p-hover);color:var(--p-button-text);border-color:var(--p-hover)}
.theme-palette .button:active{background:var(--p-accent);color:var(--p-button-text);border-color:var(--p-ink)}
.theme-palette .album-actions .button+.button,.theme-palette .trivia-options .button{background:var(--p-surface);color:var(--p-accent);border-color:var(--p-accent)}
.theme-palette .album-actions .button+.button:hover,.theme-palette .trivia-options .button:hover{background:var(--p-soft);color:var(--p-ink)}
.theme-palette .button:disabled{background:var(--p-soft);color:var(--p-muted);border-color:var(--p-border)}
.theme-palette :is(.button[aria-pressed="true"],.button[aria-selected="true"]){background:var(--p-accent);color:var(--p-button-text);border-color:var(--p-ink)}
.theme-palette :focus-visible{outline-color:var(--p-accent)}
.theme-palette :is(input,select,textarea):focus-visible{outline:3px solid var(--p-accent);outline-offset:2px}
.theme-palette .file-picker:focus-within{outline:3px solid var(--p-accent);outline-offset:3px}
.theme-palette .modal{background:#15141ab3}.theme-palette .modal__close{color:var(--p-ink)}
.theme-palette :is(.bank button,.album-link){color:var(--p-accent)}
.theme-palette .reserved-color{background:var(--p-surface);color:var(--p-ink)}
body.theme-palette .location .location-photo{background:var(--p-surface)}
.theme-palette :is(.inline-experience input,.inline-experience select,.inline-experience textarea,.modal input,.modal select,.modal textarea,.preview-form input){background:var(--p-bg);color:var(--p-ink);border-color:var(--p-border);accent-color:var(--p-accent)}
.theme-palette :is(input,textarea)::placeholder{color:var(--p-muted);opacity:1}
.theme-palette :is(input,select,textarea):disabled{background:var(--p-soft);color:var(--p-muted)}
.theme-palette :is(.guest-fields,.bank,.song-result,.file-picker,.reserved-color,.background-audio,.event-carousel-controls button,.event-carousel-dots button){border-color:var(--p-border)}
.theme-palette .file-picker{background:var(--p-bg)}.theme-palette .file-picker:hover{background:var(--p-soft)}
.theme-palette .trivia-progress{background:linear-gradient(90deg,var(--p-accent) var(--progress),var(--p-border) var(--progress))}
.theme-palette progress{accent-color:var(--p-accent)}
.theme-palette .form-result{color:var(--p-muted)}
.theme-palette .form-result[data-state="error"]{color:var(--p-error)}.theme-palette .form-result[data-state="success"],.theme-palette .song-chosen{color:var(--p-success)}
.theme-palette :is(input,select,textarea):user-invalid,.theme-palette [aria-invalid="true"]{border-color:var(--p-error)}
.theme-palette .footer{background:var(--p-soft);color:var(--p-muted);border-color:var(--p-border)}
.theme-palette .album-hero,.theme-palette.live-page{background:radial-gradient(circle at 50% 0%,var(--p-surface),var(--p-bg) 65%,var(--p-soft));color:var(--p-ink)}
.theme-palette :is(.album-hero p,.album-back){color:var(--p-muted)}.theme-palette .album-back:hover{color:var(--p-ink)}
.theme-palette .album-page{background:var(--p-soft)}.theme-palette #albumStatus{color:var(--p-ink)}
.theme-palette .media-viewer{background:#15141aef}
.theme-palette .live-header{border-color:var(--p-border)}
.theme-palette .live-message-card{background:linear-gradient(145deg,var(--p-surface),var(--p-bg));color:var(--p-ink);border-color:var(--p-border);box-shadow:0 30px 80px #15141a22}
.theme-palette :is(.live-slide small,.live-share__copy span,.live-quote){color:var(--p-accent)}.theme-palette .live-share__copy a{color:var(--p-ink)}
.theme-palette .live-qr{background:#fff;box-shadow:0 14px 45px #15141a22}
.theme-palette.overlay-page{background:transparent!important}.theme-palette .overlay-root .live-message-card{background:var(--p-surface);border-color:var(--p-border)}
body.theme-palette header.preview-hero{background:radial-gradient(circle at 50% 20%,var(--p-surface),var(--p-bg) 54%,var(--p-soft))}
body.theme-palette .preview-form{background:var(--p-surface);color:var(--p-ink)}
.theme-palette .location .location-photo .venue-map-button{background:var(--p-button);color:var(--p-button-text);border-color:var(--p-button)}
.theme-palette .location .location-photo .venue-map-button:hover{background:var(--p-hover)}
/* Preserve the existing optional per-event color controls. */
body.theme-palette[style*="--xv-background"]{--p-bg:var(--xv-background);--p-ink:var(--xv-text);--p-accent:var(--xv-accent);--p-button:var(--xv-button)}
body.theme-palette[style*="--xv-title"] :is(.hero h1,.section--black h2,.section--dark-gradient h2){color:var(--xv-title)}
