/* Rich skin for invitations: painted gold ornaments, a scene per section, a jewel-toned hall per event.
   Applied when the design is in the RICH set (class .rich on #inv). Colours follow the design's own palette. */
#inv.rich{--r-gold:#D9B566;--r-gold-hi:#F6DE9C;--r-paper-ink:#2B2016;--r-paper-acc:#8E6520;--r-name:#1F2547}
#inv.rich .bw{background:var(--t-bg);padding-bottom:0}
#inv.rich .bw::before{display:none}
#inv.rich .sec{padding:60px 22px;overflow:hidden}
#inv.rich .rdiv{display:block;width:min(74%,290px);margin:12px auto;pointer-events:none}
#inv.rich .rarch{display:block;width:min(84%,340px);margin:-18px auto 8px;pointer-events:none;filter:drop-shadow(0 8px 14px rgba(0,0,0,.35))}
#inv.rich .rarch.sm{width:min(64%,250px)}
#inv.rich .lbl{color:var(--r-gold);letter-spacing:.34em}
#inv.rich .sec h4{background:linear-gradient(100deg,#B98B3A 0%,var(--r-gold-hi) 35%,#C99A45 55%,var(--r-gold-hi) 75%,#B98B3A 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rshine 8s linear infinite}
@keyframes rshine{to{background-position:-220% 0}}

/* Night silk scenes */
#inv.rich .r-night{background:var(--t-bg) var(--r-navy) center/220px repeat;color:var(--t-ink)}
#inv.rich .r-night::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--t-bg) 20%,transparent),color-mix(in srgb,var(--t-bg) 92%,#000) 82%);pointer-events:none}
#inv.rich .r-night>*{position:relative}

/* Welcome panel with medallion */
#inv.rich .rpanel{position:relative;max-width:380px;margin:0 auto;padding:40px 22px 34px;border:1px solid color-mix(in srgb,var(--r-gold) 65%,transparent);outline:1px solid color-mix(in srgb,var(--r-gold) 25%,transparent);outline-offset:-9px}
#inv.rich .rpanel .welt{font-size:1.25rem;margin:10px auto}
#inv.rich .rmedal{position:relative;width:140px;margin:0 auto 6px}
#inv.rich .rmedal img{width:100%;display:block}
#inv.rich .rmedal span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--t-fs);font-size:2.2rem;color:var(--r-gold-hi);padding-bottom:4px}
#inv.rich .rc{position:absolute;width:88px;height:88px;pointer-events:none;z-index:2}
#inv.rich .rc.tl{top:-24px;left:-20px}
#inv.rich .rc.tr{top:-24px;right:-20px;transform:scaleX(-1)}
#inv.rich .rc.bl{bottom:-24px;left:-20px;transform:scaleY(-1)}
#inv.rich .rc.br{bottom:-24px;right:-20px;transform:scale(-1,-1)}

/* Ivory paper scenes */
#inv.rich .r-paper{background:#F6EEDC var(--r-ivory) center/260px repeat;color:var(--r-paper-ink)}
#inv.rich .r-paper .lbl{color:var(--r-paper-acc)}
#inv.rich .r-paper h4{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--r-name);animation:none}
#inv.rich .r-paper .hint,#inv.rich .r-paper p{color:var(--r-paper-ink)}
#inv.rich #s-scratch .ticket{background:linear-gradient(135deg,#132049,#0B1230);color:var(--r-gold-hi);border:1px solid var(--r-gold);outline-color:color-mix(in srgb,var(--r-gold) 50%,transparent);border-radius:10px;box-shadow:0 16px 30px -14px rgba(20,25,60,.7)}
#inv.rich #s-scratch .ticket .it{color:var(--r-gold-hi)}
#inv.rich .r-paper .card.rframe{background:rgba(255,255,255,.55);border-color:var(--r-paper-acc);color:var(--r-paper-ink)}
#inv.rich .r-paper .card.rframe svg{color:var(--r-paper-acc)}
#inv.rich .card.rframe{overflow:visible}
#inv.rich .card.rframe::before,#inv.rich .card.rframe::after{display:none}
#inv.rich .card.rframe .rc{width:58px;height:58px}
#inv.rich .card.rframe .rc.tl{top:-18px;left:-16px}
#inv.rich .card.rframe .rc.br{bottom:-18px;right:-16px}
#inv.rich .r-night .card.rframe{background:rgba(255,255,255,.05);border-color:color-mix(in srgb,var(--r-gold) 55%,transparent);padding:26px 20px}

/* Halls: one jewel-toned scene per programme day, pre-wedding list and venue */
#inv.rich .r-halls{padding:60px 0 0;background:var(--t-bg)}
#inv.rich .r-halls>.lbl,#inv.rich .r-halls>h4{padding:0 22px}
#inv.rich .rband{position:relative;padding:64px 22px 70px;display:flex;justify-content:center;overflow:hidden}
#inv.rich .rband.t-emerald{background:#0F4A39}
#inv.rich .rband.t-plum{background:#4E2356}
#inv.rich .rband.t-maroon{background:#651823}
#inv.rich .rband.t-indigo{background:#1C2A66}
#inv.rich .rband::before{content:"";position:absolute;inset:0;background:var(--r-navy) center/240px;mix-blend-mode:luminosity;opacity:.28;pointer-events:none}
#inv.rich .rband::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 38%,rgba(255,230,170,.14),rgba(0,0,0,.5) 88%);pointer-events:none}
#inv.rich .rband>*{position:relative;z-index:1}
#inv.rich .rlan{position:absolute!important;top:-10px;width:70px;transform-origin:50% 0;animation:rsway 5s ease-in-out infinite;filter:drop-shadow(0 10px 18px rgba(255,190,90,.25));pointer-events:none}
#inv.rich .rlan.l{left:4px}
#inv.rich .rlan.r{right:4px;width:56px;animation-delay:-2.5s}
@keyframes rsway{0%,100%{rotate:-3deg}50%{rotate:3deg}}
#inv.rich .rband .rarch{position:relative;width:min(100%,330px);margin:0;padding:78px 22px 40px;border-radius:165px 165px 16px 16px;border:1px solid color-mix(in srgb,var(--r-gold) 70%,transparent);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(0,0,0,.2));color:#F6EEDC;filter:none}
#inv.rich .rband .rarch::after{content:"";position:absolute;inset:9px;border-radius:157px 157px 10px 10px;border:1px solid color-mix(in srgb,var(--r-gold) 25%,transparent);pointer-events:none}
#inv.rich .rband .rarch .rc{width:80px;height:80px}
#inv.rich .rband .rarch .rc.bl{bottom:-22px;left:-18px}
#inv.rich .rband .rarch .rc.br{bottom:-22px;right:-18px}
#inv.rich .rband .tday{margin:0}
#inv.rich .rband .dchip{border:0;color:var(--r-gold-hi);font-size:.74rem;letter-spacing:.24em;padding:0;margin-bottom:12px}
#inv.rich .rband .titem{grid-template-columns:1fr;row-gap:2px;text-align:center;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--r-gold) 22%,transparent)}
#inv.rich .rband .titem:first-of-type{border-top:0}
#inv.rich .rband .titem::before,#inv.rich .rband .titem::after{display:none}
#inv.rich .rband .titem time{text-align:center;color:var(--r-gold-hi);letter-spacing:.14em;font-size:.82rem}
#inv.rich .rband .titem>div{text-align:center}
#inv.rich .rband .titem b{font-family:var(--t-fs);font-weight:400;font-size:2.1rem;line-height:1.1;color:var(--r-gold-hi)}
#inv.rich .rband .card{background:transparent;border:0;padding:0;color:inherit}
#inv.rich .rband .card::before,#inv.rich .rband .card::after{display:none}
#inv.rich .rband .vname{font-family:var(--t-fs);font-size:2.2rem;line-height:1.1;color:var(--r-gold-hi)}
#inv.rich .rband .btn-t{border-color:var(--r-gold-hi);color:var(--r-gold-hi)}
#inv.rich .rband .pre{gap:18px}
#inv.rich .rband .pre .card{grid-template-columns:1fr;text-align:center;gap:4px}
#inv.rich .rband .pre .dt{border:0;padding:0;color:var(--r-gold-hi);letter-spacing:.2em}
#inv.rich .rband .pre b{font-family:var(--t-fs);font-weight:400;font-size:2rem;color:var(--r-gold-hi)}

/* Countdown tiles */
#inv.rich #s-countdown .ring svg .trk{stroke:color-mix(in srgb,var(--r-gold) 25%,transparent)}
#inv.rich #s-countdown .ring svg .prg{stroke:var(--r-gold-hi)}
#inv.rich #s-countdown .ring b{color:var(--r-gold-hi)}

/* Photos in a carved window */
#inv.rich .rwin{position:relative;width:min(100%,320px);margin:0 auto;aspect-ratio:603/800}
#inv.rich .rwin .slides{position:absolute;left:19%;right:19%;top:22%;bottom:10%;max-width:none;aspect-ratio:auto;border:0;outline:0;margin:0}
#inv.rich .rwin-f{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
#inv.rich .r-paper .dots button{border-color:var(--r-paper-acc)}
#inv.rich .r-paper .dots button[aria-current="true"]{background:var(--r-paper-acc)}

/* RSVP */
#inv.rich #s-rsvp .rsvp input,#inv.rich #s-rsvp .rsvp select,#inv.rich #s-rsvp .rsvp textarea{background:rgba(7,10,30,.5);border-color:color-mix(in srgb,var(--r-gold) 55%,transparent);border-radius:10px;color:#F6EEDC}
#inv.rich #s-rsvp .rsvp label{color:var(--r-gold-hi)}
#inv.rich #s-rsvp .rsvp button{background:linear-gradient(100deg,#B98B3A,var(--r-gold-hi),#B98B3A);color:#1B1408;font-family:var(--t-fd);letter-spacing:.18em}

/* Closing */
#inv.rich .closing{padding-bottom:110px}
#inv.rich .rmed-sm{display:block;width:96px;margin:0 auto 12px}
@media(prefers-reduced-motion:reduce){#inv.rich .rlan,#inv.rich .sec h4{animation:none}}
#inv.rich .rmedal.sm{width:104px;margin-bottom:12px}#inv.rich .rmedal.sm span{font-size:1.6rem}
