/* RonauliPhoto V20 — Studio Collection. Six original editorial designs.
   No changes to Batak, Nias, Jawa, Minang, Bali, Melayu or Sunda. */
/* Palette: the CSS variables affect only the six studio designs. */
.r7-theme-aurora{--r7-surface:#f3d7ca;--r7-text:#583a37;--r7-gold:#ae5e51;--r7-artcolor:#c18477;--r7-font:'Cormorant Garamond',serif;--r20-soft:#fff2e6;--r20-mid:#e4ac98;--r20-deep:#864c4a;--r20-glow:#e6b39a;--r20-cover-art:url('/assets/studio/aurora.svg')}
.r7-theme-celeste{--r7-surface:#9ac7d7;--r7-text:#183e5a;--r7-gold:#245f7f;--r7-artcolor:#2d6a8c;--r7-font:'Marcellus',serif;--r20-soft:#e6f4f5;--r20-mid:#8bbfd1;--r20-deep:#234e74;--r20-glow:#a2dddf;--r20-cover-art:url('/assets/studio/celeste.svg')}
.r7-theme-serena{--r7-surface:#fae4e3;--r7-text:#623c49;--r7-gold:#af627b;--r7-artcolor:#a26785;--r7-font:'Cormorant Garamond',serif;--r20-soft:#fff2ed;--r20-mid:#dda1ac;--r20-deep:#834d62;--r20-glow:#f4c6d0;--r20-cover-art:url('/assets/studio/serena.svg')}
.r7-theme-imperial{--r7-surface:#0a2a25;--r7-text:#fff0d4;--r7-gold:#edc887;--r7-artcolor:#dbb978;--r7-font:'Cinzel',serif;--r20-soft:#f4ead7;--r20-mid:#c6a16f;--r20-deep:#183e34;--r20-glow:#a7bb90;--r20-cover-art:url('/assets/studio/imperial.svg')}
.r7-theme-midnight{--r7-surface:#1f1b40;--r7-text:#fff0e1;--r7-gold:#f0c59f;--r7-artcolor:#dbb8cb;--r7-font:'Prata',serif;--r20-soft:#f2e9f3;--r20-mid:#b296c9;--r20-deep:#34264c;--r20-glow:#a18cc7;--r20-cover-art:url('/assets/studio/midnight.svg')}
.r7-theme-rustic{--r7-surface:#e8e8ce;--r7-text:#405344;--r7-gold:#99785b;--r7-artcolor:#759078;--r7-font:'Lora',serif;--r20-soft:#fcf6e6;--r20-mid:#a8bea1;--r20-deep:#47644f;--r20-glow:#d6bf9e;--r20-cover-art:url('/assets/studio/rustic.svg')}
/* Artwork is above the old line art, underneath all important text and photos. */
.r7-cover .r20-scene{position:absolute;z-index:0;inset:0;background-image:var(--r20-cover-art);background-size:cover;background-position:center;pointer-events:none}
.r7-cover .r20-halo{position:absolute;z-index:0;width:104%;height:70%;left:-2%;top:17%;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--r20-glow) 42%,transparent),transparent 72%);filter:blur(15px);opacity:.8}
.r7-cover:has(.r20-scene) .r7-art{opacity:.15}
.r7-cover:has(.r20-scene) .r7-edge{inset:23px;border:1px solid color-mix(in srgb,var(--r7-gold) 43%,transparent);outline:1px solid color-mix(in srgb,var(--r7-gold) 18%,transparent);outline-offset:-8px;border-radius:190px 190px 8px 8px}
.r7-theme-imperial .r7-edge,.r7-theme-midnight .r7-edge{border-radius:2px;inset:19px;outline-offset:-9px}
.r7-theme-celeste .r7-edge{border-radius:135px 135px 135px 135px;inset:23px}
.r7-theme-rustic .r7-edge{border-radius:150px 150px 12px 12px;border-style:dashed}
.r7-cover:has(.r20-scene) .r7-lockup{background:linear-gradient(180deg,transparent 12%,color-mix(in srgb,var(--r20-soft) 10%,transparent) 45%,transparent 88%)}
.r7-theme-imperial .r7-lockup,.r7-theme-midnight .r7-lockup{background:linear-gradient(180deg,#071a1999,#081a1744 40%,#071a1999)!important}
.r7-theme-midnight .r7-lockup{background:linear-gradient(180deg,#14112b95,#2c22444d 40%,#14112b95)!important}
/* Live: name sizes stay equal and modest, photo remains the focus. */
.invitation .inv-cover.r7-cover:has(.r20-scene) .r7-lockup{padding:46px 9% 42px;min-height:max(710px,100svh)}
.invitation .inv-cover.r7-cover:has(.r20-scene) .r7-kicker{font-weight:700;letter-spacing:.28em;font-size:10px;padding:7px 20px;border-top:1px solid color-mix(in srgb,var(--r7-gold) 45%,transparent);border-bottom:1px solid color-mix(in srgb,var(--r7-gold) 45%,transparent)}
.invitation .inv-cover.r7-cover:has(.r20-scene) .r7-seal{font-size:22px;margin:8px auto}
.invitation .inv-cover.r7-cover:has(.r20-scene) .v16-cover-name{font-size:clamp(25px,5.8vw,34px);font-weight:600;line-height:1.15;letter-spacing:0;color:var(--r7-text);text-shadow:0 1px 14px color-mix(in srgb,var(--r7-surface) 25%,transparent)}
.invitation .inv-cover.r7-cover:has(.r20-scene) .v16-cover-groom{margin:8px auto 15px}
.invitation .inv-cover.r7-cover:has(.r20-scene) .v16-cover-bride{margin:14px auto 8px}
.invitation .inv-cover.r7-cover:has(.r20-scene) .r7-photo-frame{position:relative;width:min(78%,312px);max-height:43vh;aspect-ratio:4/4.85;border-radius:160px 160px 12px 12px;border:5px solid color-mix(in srgb,var(--r7-gold) 80%,white);box-shadow:0 0 0 7px color-mix(in srgb,var(--r7-gold) 14%,transparent),0 20px 58px #0004,0 5px 15px #0003;background:color-mix(in srgb,var(--r20-soft) 80%,#fff)}
.invitation .inv-cover.r7-theme-imperial .r7-photo-frame,.invitation .inv-cover.r7-theme-midnight .r7-photo-frame{border-color:#efd5a8;border-radius:155px 155px 8px 8px}
.invitation .inv-cover.r7-theme-celeste .r7-photo-frame{border-color:#effdff;border-radius:160px 160px 160px 160px}
.invitation .inv-cover.r7-theme-rustic .r7-photo-frame{border-color:#f8f1d9;border-radius:145px 145px 12px 12px}
.invitation .inv-cover.r7-cover:has(.r20-scene) .r7-photo-frame::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 36px #0002}
.invitation .inv-cover.r7-cover:has(.r20-scene) .r7-date{font-size:11px;letter-spacing:.08em;color:var(--r7-text)}
.invitation .inv-cover.r7-cover:has(.r20-scene) .r7-caption{font-size:16px;line-height:1.35;opacity:.9;max-width:270px}
.invitation .inv-cover.r7-cover:has(.r20-scene) .r7-invitee{background:color-mix(in srgb,var(--r20-soft) 65%,transparent);border:1px solid color-mix(in srgb,var(--r7-gold) 30%,transparent);padding:9px 20px;border-radius:12px;margin-top:16px}
/* Catalog thumbnails show a clear portrait composition; never pretend the illustration is a real uploaded photo. */
.template-cover.r7-cover:has(.r20-scene) .r7-lockup{padding:12% 12% 10%;gap:0;min-height:0;height:100%;justify-content:center}
.template-cover.r7-cover:has(.r20-scene) .r7-art{opacity:.08}
.template-cover.r7-cover:has(.r20-scene) .r7-edge{inset:13px;outline-offset:-5px}
.template-cover.r7-cover:has(.r20-scene) .r7-kicker{font-size:clamp(6px,.68vw,9px);letter-spacing:.16em;color:var(--r7-text)}
.template-cover.r7-cover:has(.r20-scene) .r7-seal{font-size:16px;min-height:12px;margin:5px 0 1px}
.template-cover.r7-cover:has(.r20-scene) .v16-cover-name{font:600 clamp(16px,1.85vw,22px)/1.05 var(--r7-font);margin:5px 0;color:var(--r7-text);text-shadow:0 2px 10px color-mix(in srgb,var(--r7-surface) 55%,transparent)}
.template-cover.r7-cover:has(.r20-scene) .r20-catalog-photo{position:relative;display:block;flex:0 0 auto;overflow:hidden;width:min(66%,153px);aspect-ratio:4/4.8;border-radius:90px 90px 7px 7px;margin:5px auto 6px;border:3px solid color-mix(in srgb,var(--r7-gold) 65%,#fff);box-shadow:0 0 0 4px color-mix(in srgb,var(--r20-soft) 35%,transparent),0 12px 24px #0004;background:#eee4d8}
.template-cover.r7-theme-celeste .r20-catalog-photo{border-radius:100px}
.template-cover.r7-theme-imperial .r20-catalog-photo,.template-cover.r7-theme-midnight .r20-catalog-photo{border-color:#e9cf9c}
.template-cover.r7-cover .r20-catalog-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.8)}
.template-cover.r7-cover:has(.r20-scene) .r7-divider{width:60px;margin:5px auto}
.template-cover.r7-cover:has(.r20-scene) .r7-date{font-size:8px;letter-spacing:.065em;margin-top:4px;color:var(--r7-text)}
.template-cover.r7-cover:has(.r20-scene) .r7-caption{display:none}
.design-option .template-cover.r7-cover:has(.r20-scene) .r20-catalog-photo{display:none}
.design-option .template-cover.r7-cover:has(.r20-scene) .r7-seal{margin:3px}
.design-option .template-cover.r7-cover:has(.r20-scene) .r7-lockup{padding:10% 10%}
.hero-card .template-cover.r7-cover:has(.r20-scene) .r20-catalog-photo{width:min(60%,148px)}
.hero-card .template-cover.r7-cover:has(.r20-scene) .v16-cover-name{font-size:23px}
/* Studio gallery cards echo their cover palette, but fonts chosen by admin always win. */
.invitation.inv-theme-aurora{--r20-light:#fff5ec;--r20-pale:#f8dfd0;--r20-ink:#553734;--r20-rich:#8b534b;--r20-border:#bd8671}
.invitation.inv-theme-celeste{--r20-light:#f0f8f9;--r20-pale:#dbeef3;--r20-ink:#244c67;--r20-rich:#244f70;--r20-border:#6598ad}
.invitation.inv-theme-serena{--r20-light:#fff4f1;--r20-pale:#f4d9df;--r20-ink:#603e4d;--r20-rich:#954e68;--r20-border:#ba8a9a}
.invitation.inv-theme-imperial{--r20-light:#f6f0e5;--r20-pale:#e7e0cf;--r20-ink:#243f37;--r20-rich:#164236;--r20-border:#ae956e}
.invitation.inv-theme-midnight{--r20-light:#f5eef2;--r20-pale:#e7ddea;--r20-ink:#382a50;--r20-rich:#392d53;--r20-border:#a888aa}
.invitation.inv-theme-rustic{--r20-light:#faf7e9;--r20-pale:#e4e9d5;--r20-ink:#405a46;--r20-rich:#567259;--r20-border:#8ca48a}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-section:not(.inv-cover){background:var(--r20-light);color:var(--r20-ink);overflow:hidden;padding-top:74px;padding-bottom:74px}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-section:not(.inv-cover):nth-of-type(even){background:linear-gradient(150deg,var(--r20-pale),var(--r20-light) 66%)}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-section:not(.inv-cover)::before{content:'';position:absolute;inset:0;opacity:.19;pointer-events:none;background:radial-gradient(circle at 96% 0%,var(--r20-border),transparent 39%);z-index:0}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-section:not(.inv-cover)>*{position:relative;z-index:1}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-section .inv-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--r20-rich)}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-section h2{color:var(--r20-ink);text-wrap:balance}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-quote{background:var(--r20-rich)!important;color:#fff9ec!important}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-quote :is(h2,p,.inv-eyebrow,.inv-scripture-reference){color:#fff9ec!important}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-footer{background:var(--r20-rich)!important;color:#fff9ec!important}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-footer :is(h2,p,.inv-eyebrow,.inv-symbol){color:#fff9ec!important}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-couple{background:linear-gradient(145deg,var(--r20-light),var(--r20-pale))}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-couple h2{font-size:clamp(37px,8.5vw,55px);font-weight:600}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-couple .inv-amp{color:var(--r20-rich);font-size:35px;margin:22px auto}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-event{border:1px solid color-mix(in srgb,var(--r20-border) 60%,transparent);background:color-mix(in srgb,var(--r20-light) 90%,#fff);box-shadow:0 12px 30px #0000000b,0 1px 2px #00000013;border-radius:18px;padding:24px 12px}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .countdown>div{border-radius:12px;background:color-mix(in srgb,var(--r20-light) 75%,#fff);border:1px solid color-mix(in srgb,var(--r20-border) 55%,transparent);box-shadow:0 8px 20px #00000009}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .r14-story-chapter{padding-bottom:28px}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .r14-story-dot{background:var(--r20-rich);box-shadow:0 6px 16px #0002}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .r14-story-line::before{background:var(--r20-border)}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .r14-gallery-grid .r14-gallery-item{border:4px solid var(--r20-light);box-shadow:0 8px 25px #0002;border-radius:17px}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .wish-card{background:color-mix(in srgb,var(--r20-light) 72%,#fff);border:1px solid color-mix(in srgb,var(--r20-border) 40%,transparent)}
.invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-btn{background:var(--inv-accent);box-shadow:0 9px 24px color-mix(in srgb,var(--inv-accent) 25%,transparent)}
/* Color, depth and spacing in catalogue are also updated without changing click actions. */
.template-card:has(.r20-scene){border-radius:22px;border:1px solid #eee3d9;box-shadow:0 12px 35px #6a3a3920;overflow:hidden}
.template-card:has(.r20-scene):hover{transform:translateY(-6px);box-shadow:0 22px 50px #6a3a3938}
.template-card:has(.r20-scene) .template-info{padding:16px 15px 18px;background:linear-gradient(170deg,#fffdfb,#f8f1eb)}
.template-card:has(.r20-scene) .template-info strong{font-size:22px;line-height:1.1}
/* Delicate motion only when allowed. Never hide content on load. */
@media(prefers-reduced-motion:no-preference){
 .invitation .inv-cover.r7-cover:has(.r20-scene) .r20-halo{animation:r20glow 11s ease-in-out infinite alternate}
 .invitation .inv-cover.r7-cover:has(.r20-scene) .r7-photo-frame{animation:r20enter .9s ease-out both}
}
@keyframes r20glow{from{transform:translate(-8px,-5px);opacity:.5}to{transform:translate(9px,5px);opacity:.85}}
@keyframes r20enter{from{opacity:.35;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){
 .template-cover.r7-cover:has(.r20-scene) .r20-catalog-photo{width:min(64%,110px);border-width:2px;margin:3px auto}
 .template-cover.r7-cover:has(.r20-scene) .v16-cover-name{font-size:clamp(15px,4vw,20px)}
 .template-cover.r7-cover:has(.r20-scene) .r7-kicker{font-size:6.5px}
 .template-cover.r7-cover:has(.r20-scene) .r7-lockup{padding:13% 10%}
 .invitation .inv-cover.r7-cover:has(.r20-scene) .r7-lockup{padding:44px 10% 32px;min-height:max(690px,100svh)}
 .invitation .inv-cover.r7-cover:has(.r20-scene) .r7-photo-frame{width:min(78%,300px);max-height:39vh}
 .invitation .inv-cover.r7-cover:has(.r20-scene) .v16-cover-name{font-size:clamp(23px,6.2vw,31px)}
 .invitation:is(.inv-theme-aurora,.inv-theme-celeste,.inv-theme-serena,.inv-theme-imperial,.inv-theme-midnight,.inv-theme-rustic) .inv-section:not(.inv-cover){padding:59px 19px}
}
@media(max-width:360px){.template-cover.r7-cover:has(.r20-scene) .r20-catalog-photo{width:58%}.template-cover.r7-cover:has(.r20-scene) .r7-seal{display:none}.template-cover.r7-cover:has(.r20-scene) .v16-cover-name{font-size:14px}}
/* Small catalog cards must show entire invitation composition at 320–430px screens. */
@media(max-width:600px){
 .template-cover.r7-cover:has(.r20-scene) .r20-catalog-photo{width:min(53%,94px);margin:4px auto 5px}
 .template-cover.r7-cover:has(.r20-scene) .r7-lockup{padding:16% 10% 9%}
 .template-cover.r7-cover:has(.r20-scene) .r7-seal{display:none}
 .template-cover.r7-cover:has(.r20-scene) .v16-cover-name{font-size:clamp(15px,3.7vw,18px);line-height:1.08;margin:3px 0}
 .template-cover.r7-cover:has(.r20-scene) .r7-date{font-size:6.8px;margin:2px auto 0;letter-spacing:0}
 .template-cover.r7-cover:has(.r20-scene) .r7-divider{margin:3px auto 2px}
}
