/* Theme-aware customer styling; operator UI is intentionally not targeted. */
html[data-wedding-style]{color-scheme:light dark;background:var(--bg);color:var(--ink)}html[data-wedding-style] body{position:relative;isolation:isolate;background:transparent}
html[data-wedding-style] body:before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 8% 12%,color-mix(in srgb,var(--accent) 25%,transparent),transparent 49%),radial-gradient(ellipse at 96% 70%,color-mix(in srgb,var(--ornament) 19%,transparent),transparent 45%),linear-gradient(135deg,var(--bg),color-mix(in srgb,var(--bg) 87%,var(--ornament)))}
.wedding-art{position:absolute;inset:0;pointer-events:none;overflow:hidden;color:var(--ornament);opacity:var(--decor-opacity,.25);z-index:0}.wedding-art svg{width:100%;height:100%;object-fit:cover;min-height:700px}.wedding-art .motif-love{color:var(--accent)}body>.wedding-art{position:fixed;z-index:-1;inset:0}.wedding-art .motif-confetti{opacity:.45}[data-wedding-style=confetti] .wedding-art .motif-confetti{opacity:1}[data-wedding-style=romance] .wedding-art .motif-love{stroke-width:3}[data-wedding-style=afterglow] .wedding-art .motif-sparkles{fill:color-mix(in srgb,var(--ornament) 30%,transparent)}[data-decor-level="0"]>.wedding-art,[data-decor-level="0"] body>.wedding-art{display:none}
html[data-wedding-style] header{border-color:var(--line);position:relative}html[data-wedding-style] .brand{letter-spacing:-1.6px}html[data-wedding-style] .brand span{color:var(--ornament)}html[data-wedding-style] .badge{background:color-mix(in srgb,var(--paper) 75%,transparent)}
html[data-wedding-style] .event-heading{margin:26px 0 10px;padding:30px 32px;border:1px solid var(--line);border-radius:30px 30px 12px 30px;position:relative;background:linear-gradient(125deg,var(--paper),color-mix(in srgb,var(--paper) 88%,var(--ornament)));box-shadow:0 14px 40px #0000000c;overflow:hidden}
html[data-wedding-style] .event-heading:after{content:'';position:absolute;right:22%;top:20px;width:90px;height:90px;border:1px solid var(--ornament);border-radius:50%;opacity:.25;box-shadow:33px 5px 0 -1px var(--paper),33px 5px 0 0 var(--ornament);pointer-events:none;transform:rotate(-18deg)}
html[data-wedding-style] .event-heading>div{position:relative;z-index:1}html[data-wedding-style] .event-heading h1{font-style:italic;letter-spacing:-.045em;font-size:clamp(35px,5vw,62px)}html[data-wedding-style] #eventDate{display:flex;align-items:center;gap:10px;color:var(--ornament)}html[data-wedding-style] #eventDate:before{content:'';width:22px;height:14px;border:1.7px solid currentColor;border-radius:50%;box-shadow:9px 0 0 -1px var(--paper),9px 0 0 0 currentColor;flex-shrink:0;margin-right:8px}html[data-wedding-style] #identity{color:var(--muted);font-size:.9rem;margin-bottom:0}
html[data-wedding-style] .panel{background:var(--paper);border-color:var(--line)}html[data-wedding-style] .media{border-radius:5px 5px 20px 5px;border-color:var(--line);box-shadow:0 8px 22px #00000012;padding:7px 7px 0}html[data-wedding-style] .media img{background:var(--soft);border-radius:3px}html[data-wedding-style] .media-body{padding:15px 10px}.gallery:not(.album-list) .media:nth-child(5n+2){border-radius:5px 5px 5px 20px}html[data-wedding-style] .empty{background:color-mix(in srgb,var(--paper) 90%,transparent);position:relative;border-style:solid}html[data-wedding-style] .empty:before{content:'';display:block;width:65px;height:75px;border:6px solid var(--paper);border-bottom-width:18px;background:linear-gradient(145deg,var(--soft),color-mix(in srgb,var(--accent) 40%,var(--paper)));outline:1px solid var(--line);margin:0 auto 25px;transform:rotate(-10deg);box-shadow:12px 5px 0 -1px var(--soft)}
html[data-wedding-style] button,html[data-wedding-style] .button{background:var(--soft);color:var(--ink);border:1px solid var(--line)}html[data-wedding-style] .upload,html[data-wedding-style] .event-dock .dock-upload{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}html[data-wedding-style] .event-dock{background:color-mix(in srgb,var(--paper) 97%,transparent);border-color:var(--line);box-shadow:0 -8px 30px #00000018}html[data-wedding-style] .event-dock [aria-current=page],html[data-wedding-style] .album-view-controls [aria-pressed=true]{background:var(--accent);color:var(--onaccent);border-color:var(--accent)}html[data-wedding-style] .party-heart{color:var(--accent)!important}html[data-wedding-style] .photo-like[aria-pressed=true]{color:var(--accent);background:var(--soft)}html[data-wedding-style] .floating-hearts>span{color:var(--accent)}html[data-wedding-style] .photo-comment{border-color:var(--line)}html[data-wedding-style] input,html[data-wedding-style] select,html[data-wedding-style] textarea{background:var(--paper);color:var(--ink);border-color:var(--line)}
html[data-wedding-style] .access-link-card{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:18px}html[data-wedding-style] .access-link-card h3{color:var(--ink)}html[data-wedding-style] .access-link-card textarea{background:var(--paper);color:var(--ink);border-color:var(--line)}html[data-wedding-style] .wall-stage{background:var(--stage);border:1px solid var(--ornament);box-shadow:0 0 0 7px var(--bg),0 0 0 8px var(--line);margin:22px 8px}html[data-wedding-style] #wallTitle{font-style:italic}html[data-wedding-style] .fine,html[data-wedding-style] footer,html[data-wedding-style] .intro p:not(.eyebrow){color:var(--muted)}html[data-wedding-style] footer{border-image:none;border-top:0;background-image:radial-gradient(circle,var(--ornament) 1px,transparent 2px);background-size:12px 4px;background-repeat:repeat-x}html[data-wedding-style] .seal{color:var(--ornament);border-color:var(--ornament)}html[data-wedding-style] .eyebrow{color:var(--accent)}html[data-wedding-style] a{color:var(--accent)}html[data-wedding-style] a.brand{color:var(--ink)}html[data-wedding-style] .media img:focus-visible{outline-color:var(--accent)}
@media(max-width:650px){body>.wedding-art svg{width:170%;max-width:none;margin-left:-35%;opacity:.7}html[data-wedding-style] .event-heading{padding:23px 20px;margin-top:18px;border-radius:24px 24px 8px 24px}html[data-wedding-style] .event-heading:after{right:25px;top:25px;width:50px;height:50px;opacity:.13}html[data-wedding-style] .event-heading h1{font-size:39px}html[data-wedding-style] .media{padding:4px 4px 0}html[data-wedding-style] .album-list .media{padding:5px}html[data-wedding-style] .upload{position:static}html[data-wedding-style] .wall-stage{margin:18px 5px}}
@media(prefers-reduced-motion:no-preference){html[data-wedding-style] .event-heading{animation:wedding-arrive .45s ease-out}@keyframes wedding-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}}
