/* One visual vocabulary for the public homepage and every private event role.
   Saved event settings and product behavior remain in their existing modules. */
html[data-home-theme="hochzeit"],html[data-event-theme="hochzeit"]{
  --occasion-bg:#151115;--occasion-paper:#2a2025;--occasion-ink:#fff3ef;--occasion-muted:#d9c3c2;
  --occasion-line:#705158;--occasion-accent:#efb7aa;--occasion-onaccent:#281718;--occasion-ornament:#e4ac80;
  --occasion-light-a:#efaa6870;--occasion-light-b:#d88b8c43;--occasion-pulse:22s;--occasion-sparks:.12;
  --occasion-scene-wide:url('/scenes/v2030/hochzeit-wide.webp');--occasion-scene-mobile:url('/scenes/v2030/hochzeit-portrait-hd.webp');
}
html[data-home-theme="party"],html[data-event-theme="party"]{
  --occasion-bg:#0b1020;--occasion-paper:#172038;--occasion-ink:#f5f3ff;--occasion-muted:#c5c4df;
  --occasion-line:#53517b;--occasion-accent:#d3a5f5;--occasion-onaccent:#1a1130;--occasion-ornament:#f1a9ca;
  --occasion-light-a:#704be891;--occasion-light-b:#ec4fa96b;--occasion-pulse:12s;--occasion-sparks:.23;
  --occasion-scene-wide:url('/scenes/v2030/party-wide.webp');--occasion-scene-mobile:url('/scenes/v2030/party-portrait-hd.webp');--occasion-hero-wide:url('/scenes/v2030/party-hero-wide-new.webp');--occasion-hero-mobile:url('/scenes/v2030/party-hero-new.webp');
}
html[data-home-theme="jga"],html[data-event-theme="jga"]{
  --occasion-bg:#170d25;--occasion-paper:#2b193c;--occasion-ink:#fff3fc;--occasion-muted:#e0c9e2;
  --occasion-line:#79547f;--occasion-accent:#ff9bd2;--occasion-onaccent:#2d1230;--occasion-ornament:#f4c178;
  --occasion-light-a:#ff5cb66b;--occasion-light-b:#4ccce15e;--occasion-pulse:17s;--occasion-sparks:.34;
  --occasion-scene-wide:url('/scenes/v2030/jga-wide.webp');--occasion-scene-mobile:url('/scenes/v2030/jga-portrait-hd.webp');--occasion-hero-wide:url('/scenes/v2030/jga-hero-wide-new.webp');--occasion-hero-mobile:url('/scenes/v2030/jga-hero-new.webp');
}
html[data-home-theme="mottoparty"],html[data-event-theme="mottoparty"]{
  --occasion-bg:#15111b;--occasion-paper:#27202b;--occasion-ink:#faf0e8;--occasion-muted:#d0bec5;
  --occasion-line:#65505b;--occasion-accent:#e6b878;--occasion-onaccent:#2d1c20;--occasion-ornament:#be7380;
  --occasion-light-a:#b34c6642;--occasion-light-b:#dfa15533;--occasion-pulse:22s;--occasion-sparks:.12;
  --occasion-scene-wide:url('/scenes/v2030/mottoparty-wide.webp');--occasion-scene-mobile:url('/scenes/v2030/mottoparty-portrait-hd.webp');
}

/* The existing layout, phone, photo cards and navigation stay in place. */
html.sales-page[data-marketing="true"][data-home-theme]{
  --v2-page-bg:var(--occasion-bg);--v2-page-accent:var(--occasion-accent);--v2-page-onaccent:var(--occasion-onaccent);
  --bg:var(--occasion-bg);--paper:var(--occasion-paper);--ink:var(--occasion-ink);--muted:var(--occasion-muted);
  --accent:var(--occasion-accent);--onaccent:var(--occasion-onaccent);--line:var(--occasion-line);
  --soft:color-mix(in srgb,var(--occasion-paper) 80%,var(--occasion-bg));color-scheme:dark;
}
html.sales-page[data-marketing="true"][data-home-theme] .homepage-theme,
html.sales-page[data-marketing="true"][data-home-theme] .homepage-hero-v2{
  --home-bg:var(--occasion-bg);--home-ink:var(--occasion-ink);--home-muted:var(--occasion-muted);
  --home-accent:var(--occasion-accent);--home-onaccent:var(--occasion-onaccent);
  --home-paper:var(--occasion-paper);--home-line:var(--occasion-line);
}
html.sales-page[data-marketing="true"][data-home-theme] .homepage-hero-v2{
  width:calc(100vw - var(--v2-scrollbar-width,0px));
  margin-left:calc((var(--v2-scrollbar-width,0px) - 100vw)/2);
  background-image:linear-gradient(180deg,color-mix(in srgb,var(--occasion-bg) 64%,transparent) 0%,color-mix(in srgb,var(--occasion-bg) 32%,transparent) 47%,var(--occasion-bg) 98%),var(--occasion-hero-wide,var(--occasion-scene-wide));
  background-size:cover;background-position:center,center 42%;background-repeat:no-repeat;
}
.homepage-hero-v2::before,.homepage-hero-v2::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;}
.homepage-hero-v2::before{
  background:radial-gradient(ellipse 48% 36% at 18% 51%,var(--occasion-light-a),transparent 80%),radial-gradient(ellipse 40% 34% at 86% 65%,var(--occasion-light-b),transparent 80%);
  mix-blend-mode:screen;opacity:.18;animation:occasion-light var(--occasion-pulse) ease-in-out infinite;
}
.homepage-hero-v2::after{
  background-image:radial-gradient(circle at 18% 39%,#ffe7a5 0 1px,transparent 2px),radial-gradient(circle at 76% 23%,#ffe7a5 0 1px,transparent 2px),radial-gradient(circle at 88% 65%,#ffe7a5 0 1px,transparent 2px);
  opacity:var(--occasion-sparks);animation:occasion-drift 20s ease-in-out infinite alternate;
}
.homepage-hero-v2 .v2-hero-copy{position:relative;z-index:2;text-shadow:0 2px 24px #090813ab;}
.homepage-hero-v2 .v2-arrival-stage{z-index:1;}
html.sales-page .homepage-theme .v2-app-screen .v2-app-event h2{color:#211e1b!important;}
html.sales-page .homepage-theme .v2-app-screen .v2-app-event p{color:#756a61!important;}
html[data-home-theme="mottoparty"] .homepage-hero-v2::after{opacity:.12;}

/* Occasion colors reach guest, helper and organizer without changing rights or data. */
html[data-event-theme]{
  --event-theme-bg:var(--occasion-bg);--event-theme-paper:var(--occasion-paper);
  --event-theme-ink:var(--occasion-ink);--event-theme-muted:var(--occasion-muted);
  --event-theme-line:var(--occasion-line);--event-theme-accent:var(--occasion-accent);
  --event-theme-ornament:var(--occasion-ornament);--on-accent:var(--onaccent);color-scheme:dark;
}
/* Only untouched Champagne defaults follow the occasion. User-chosen palettes
   and saved designs keep their own color values. */
html[data-event-theme][data-event-design="occasion"]{
  --bg:var(--occasion-bg)!important;--paper:var(--occasion-paper)!important;
  --ink:var(--occasion-ink)!important;--muted:var(--occasion-muted)!important;
  --accent:var(--occasion-accent)!important;--onaccent:var(--occasion-onaccent)!important;
  --ornament:var(--occasion-ornament)!important;--line:var(--occasion-line)!important;
  --soft:color-mix(in srgb,var(--occasion-paper) 83%,var(--occasion-bg))!important;
  --stage:var(--occasion-bg)!important;
}
html[data-event-theme][data-event-design="custom"]{
  --event-theme-bg:var(--bg);--event-theme-paper:var(--paper);
  --event-theme-ink:var(--ink);--event-theme-muted:var(--muted);
  --event-theme-line:var(--line);--event-theme-accent:var(--accent);
  --event-theme-ornament:var(--ornament);color-scheme:light dark;
}
html[data-event-theme="party"][data-event-design="occasion"] body>.wedding-art,
html[data-event-theme="jga"][data-event-design="occasion"] body>.wedding-art,
html[data-event-theme="mottoparty"][data-event-design="occasion"] body>.wedding-art{display:none;}
html[data-event-theme] body::before{
  background-image:linear-gradient(180deg,color-mix(in srgb,var(--occasion-bg) 35%,transparent),color-mix(in srgb,var(--occasion-bg) 76%,transparent) 72%,var(--occasion-bg)),var(--occasion-scene-wide);
  background-size:cover;background-position:center,center 36%;background-repeat:no-repeat;z-index:-2;
}
html[data-event-theme] body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 42% 38% at 8% 24%,var(--occasion-light-a),transparent 82%),radial-gradient(ellipse 36% 42% at 90% 67%,var(--occasion-light-b),transparent 82%);
  opacity:.12;animation:occasion-light var(--occasion-pulse) ease-in-out infinite;
}
html[data-event-theme] .event-heading,
html[data-event-theme] .owner-dashboard,
html[data-event-theme] .owner-workspace-nav,
html[data-event-theme] .owner-settings,
html[data-event-theme] .owner-settings>.owner-section,
html[data-event-theme] .panel,
html[data-event-theme] .event-card,
html[data-event-theme] .guestbook-panel,
html[data-event-theme] .moderation-alert{
  background:color-mix(in srgb,var(--event-theme-paper) 94%,transparent);border-color:var(--event-theme-line);color:var(--event-theme-ink);
  box-shadow:0 15px 40px #09081345;
}
html[data-event-theme] .event-heading{
  background:linear-gradient(120deg,color-mix(in srgb,var(--event-theme-paper) 95%,transparent),color-mix(in srgb,var(--event-theme-paper) 75%,var(--event-theme-ornament)));
}
html[data-event-theme] .media,html[data-event-theme] .guestbook-entry,
html[data-event-theme] .guest-app-header,html[data-event-theme] .guest-app-nav,
html[data-event-theme] .guest-app-sheet{
  background:color-mix(in srgb,var(--event-theme-paper) 95%,transparent);border-color:var(--event-theme-line);color:var(--event-theme-ink);
}
html[data-event-theme] .photobooth,html[data-event-theme] .photo-composer{
  background:var(--event-theme-paper);color:var(--event-theme-ink);border:1px solid var(--event-theme-line);
}
html[data-event-theme] .photobooth::backdrop,html[data-event-theme] .photo-composer::backdrop{background:#080810d9;}
html[data-event-theme] .owner-workspace-nav button,
html[data-event-theme] .guest-app-nav button{color:var(--event-theme-ink);}
html[data-event-theme] .owner-workspace-nav button[aria-current=location],
html[data-event-theme] .guest-app-nav button[aria-current=page]{
  background:color-mix(in srgb,var(--event-theme-accent) 20%,var(--event-theme-paper));color:var(--event-theme-ink);
}
html[data-event-theme=mottoparty] .event-heading{animation:none;}

@keyframes occasion-light{0%,100%{opacity:.08;}42%{opacity:.28;}55%{opacity:.48;}69%{opacity:.22;}}
@keyframes occasion-drift{from{transform:translate3d(0,0,0);}to{transform:translate3d(0,-10px,0);}}
html[data-home-theme="mottoparty"] .homepage-hero-v2::before,
html[data-event-theme="mottoparty"] body::after{animation-duration:22s;opacity:.12;}
@media(max-width:620px){
  html.sales-page[data-marketing="true"][data-home-theme] .homepage-hero-v2{left:0;width:calc(100% + 28px);margin-left:-14px;}
  html.sales-page[data-marketing="true"] .v2-arrival-stage{width:100%;}
  html.sales-page[data-marketing="true"][data-home-theme] .homepage-hero-v2{
    background-image:linear-gradient(180deg,color-mix(in srgb,var(--occasion-bg) 74%,transparent),color-mix(in srgb,var(--occasion-bg) 43%,transparent) 49%,var(--occasion-bg) 98%),var(--occasion-hero-mobile,var(--occasion-scene-mobile));
    background-position:center,center 35%;
  }
  html[data-event-theme] body::before{
    background-image:linear-gradient(180deg,color-mix(in srgb,var(--occasion-bg) 42%,transparent),color-mix(in srgb,var(--occasion-bg) 78%,transparent) 66%,var(--occasion-bg)),var(--occasion-scene-mobile);
    background-position:center,center top;
  }
  html[data-event-theme=party] body::before,
  html[data-event-theme=jga] body::before{
    background-image:linear-gradient(180deg,color-mix(in srgb,var(--occasion-bg) 28%,transparent),color-mix(in srgb,var(--occasion-bg) 68%,transparent) 66%,var(--occasion-bg)),var(--occasion-scene-mobile);
  }
  html[data-event-theme=mottoparty] body::before{
    background-image:linear-gradient(180deg,color-mix(in srgb,var(--occasion-bg) 34%,transparent),color-mix(in srgb,var(--occasion-bg) 72%,transparent) 66%,var(--occasion-bg)),var(--occasion-scene-mobile);
  }
  .v2-flight-photo:nth-child(n+21){display:none;}
  .v2-package-carousel{max-width:calc(100vw - 40px);overflow:clip;}
}
@media(prefers-reduced-motion:reduce){
  .homepage-hero-v2::before,.homepage-hero-v2::after,html[data-event-theme] body::after{animation:none;}
  .homepage-hero-v2::before{opacity:.14;}
  html[data-event-theme] body::after{opacity:.1;}
}
