/* Premium custom mode only. Layout, fonts, photographs and artwork stay untouched. */
.custom-color-choice{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.simulator-controls .custom-color-choice input{width:20px;height:20px;min-height:20px;margin:0;accent-color:var(--accent)}
.custom-color-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px}
.simulator-controls input[type=color]{width:100%;height:48px;padding:5px;cursor:pointer}
/* A color drag must not restart the entrance fade on every input event. */
#sample-preview .r3-invitation[data-custom-color] .invite-body{animation:none}
.r3-invitation[data-custom-color][data-invite-mode=personal]{--custom-bg:var(--custom-dark);--custom-text:var(--custom-light);--custom-accent:var(--custom-accent-dark);background-color:var(--custom-bg);color:var(--custom-text)}
.r3-invitation.premium-pr2[data-custom-color][data-invite-mode=personal]{--custom-bg:var(--custom-light);--custom-text:var(--custom-dark);--custom-accent:var(--custom-accent-light)}
.r3-invitation[data-custom-color][data-invite-mode=personal] .pr-hero{background-color:var(--custom-bg);color:var(--custom-text)}
.r3-invitation[data-custom-color][data-invite-mode=personal] .pr-opening{background-color:var(--custom-bg);color:var(--custom-text)}
.r3-invitation[data-custom-color][data-invite-mode=personal] .pr-opening :is(h2,h4,p){color:inherit}
.r3-invitation[data-custom-color][data-invite-mode=personal] :is(.pr-hero-name,.pr-hero-copy h2,.pr-hero-copy h4,.pr-hero-grid h2,.pr-hero-grid h4){color:var(--custom-accent)}
/* PR1's name overlaps the photograph; a contrasting stroke protects its edges. */
.r3-invitation.pilot-pr1[data-custom-color][data-invite-mode=personal] .pr-hero-name{-webkit-text-stroke:2px var(--custom-bg);paint-order:stroke fill}
.r3-invitation.pilot-pr1[data-custom-color][data-invite-mode=personal] .pr-opening .pr-kicker{background:var(--custom-primary);color:var(--custom-on-primary)}
.r3-invitation[data-custom-color][data-invite-mode=personal] .pr-hype{background:var(--custom-primary);color:var(--custom-on-primary)}
.r3-invitation[data-custom-color][data-invite-mode=personal] .pr-hype .invite-countdown-boxes :is(b,span){color:inherit}
.r3-invitation[data-custom-color][data-invite-mode=personal] :is(.pr-arrival,.pr-intro){background:var(--custom-soft);color:var(--custom-dark)}
.r3-invitation[data-custom-color][data-invite-mode=personal] .pr-gallery{background:var(--custom-soft);color:var(--custom-dark)}
.r3-invitation[data-custom-color][data-invite-mode=personal] .pr-timeline time{color:var(--custom-accent)}
.r3-invitation[data-custom-color][data-invite-mode=personal] .pr-music{background:var(--custom-bg);color:var(--custom-text)}
.r3-invitation[data-custom-color][data-invite-mode=personal] .pr-btn{background:var(--custom-primary);color:var(--custom-on-primary);border-color:var(--custom-on-primary)}
.r3-invitation[data-custom-color][data-invite-mode=personal] .pr-btn-outline{background:transparent;color:inherit;border-color:currentColor}
.r3-invitation[data-custom-color][data-invite-mode=personal] :is(button,summary,a):focus-visible{outline:2px solid #000;outline-offset:2px;box-shadow:0 0 0 5px #fff}
.r3-invitation.pilot-pr1[data-custom-color][data-invite-mode=personal] .pr-dress{background:var(--custom-primary);color:var(--custom-on-primary)}
.r3-invitation.premium-pr2[data-custom-color][data-invite-mode=personal] .invite-countdown-boxes>div{background:var(--custom-light);color:var(--custom-dark)}
.r3-invitation.premium-pr2[data-custom-color][data-invite-mode=personal] .invite-countdown-boxes>div:nth-child(2){background:var(--custom-soft)}
.r3-invitation.premium-pr2[data-custom-color][data-invite-mode=personal] .pr-timeline li{background:var(--custom-light);color:var(--custom-dark);border-color:var(--custom-accent-light);box-shadow:4px 5px 0 var(--custom-accent-light)}
.r3-invitation.premium-pr2[data-custom-color][data-invite-mode=personal] .pr-timeline li:nth-child(2n){background:var(--custom-soft)}
.r3-invitation.premium-pr2[data-custom-color][data-invite-mode=personal] .pr-timeline time{color:var(--custom-dark)}
.r3-invitation.premium-pr2[data-custom-color][data-invite-mode=personal] .pr-music{background:var(--custom-soft);color:var(--custom-dark)}
/* Keep the original graphic colors where those surfaces inherit text color. */
.r3-invitation.premium-pr2[data-custom-color][data-invite-mode=personal] .pr-song-cover{color:#003e38}
.r3-invitation.premium-pr2[data-custom-color][data-invite-mode=personal] .pr-hero-photo:after{color:#00564f}
.r3-invitation.premium-pr3[data-custom-color][data-invite-mode=personal] .pr-opening{background:linear-gradient(125deg,var(--custom-light),var(--custom-soft) 40%,var(--custom-light) 60%,var(--custom-soft));color:var(--custom-dark)}
.r3-invitation.premium-pr3[data-custom-color][data-invite-mode=personal] .pr-rsvp{background:var(--custom-soft);color:var(--custom-dark)}
.r3-invitation.premium-pr3[data-custom-color][data-invite-mode=personal] .pr-music{background:var(--custom-light);color:var(--custom-dark)}
.r3-invitation.premium-pr3[data-custom-color][data-invite-mode=personal] .pr-timeline li:nth-child(2n){background:var(--custom-raised)}
.r3-invitation.premium-pr3[data-custom-color][data-invite-mode=personal] .pr-timeline time{color:var(--custom-light)}
.r3-invitation.premium-pr3[data-custom-color][data-invite-mode=personal] .pr-gallery{background:linear-gradient(135deg,var(--custom-light),var(--custom-soft))}
.r3-invitation.premium-pr3[data-custom-color][data-invite-mode=personal] .pr-location{background:var(--custom-primary);color:var(--custom-on-primary)}
.r3-invitation.premium-pr3[data-custom-color][data-invite-mode=personal] .pr-dress{background:var(--custom-light);color:var(--custom-dark)}
