/* Event Online V11 – theme-matched light canvas and full-screen effects. */
html,body{min-height:100%;}
body.design-v5{min-height:100svh;background-color:var(--outer-start,#fff);background-image:radial-gradient(ellipse at 8% 8%,var(--outer-glow-a,#e7efff) 0%,transparent 42%),radial-gradient(ellipse at 92% 88%,var(--outer-glow-b,#f4e8f3) 0%,transparent 45%),linear-gradient(135deg,var(--outer-start,#fff),var(--outer-end,#edf4ff));background-attachment:fixed;color:#26364d;overflow-x:hidden}
body.design-v5 .page{position:relative;z-index:1;min-height:calc(100svh - 58px);background:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;padding:clamp(14px,3vw,38px) 12px 18px}
body.design-v5 .invitation-shell{border:0!important;outline:0!important;box-shadow:none!important}
body.design-v5 .invitation{border:0;outline:0;box-shadow:0 24px 70px rgba(28,45,78,.16),0 1px 0 rgba(255,255,255,.72) inset}
body.design-v5 .invitation::after{opacity:.5}
body.design-v5 .public-footer{position:relative;z-index:1;background:transparent!important;border:0!important;color:var(--outer-footer,#64748b)!important;padding:18px 16px 28px}
body.design-v5>.theme-fx{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;overflow:hidden!important;z-index:0!important;pointer-events:none!important;contain:layout paint;opacity:.7;border:0!important;border-radius:0!important}
body.design-v5>.theme-fx .fx-item{position:absolute;display:block;left:0;top:0;pointer-events:none;will-change:transform,opacity}
body.design-v5>.theme-fx[data-effect=snow] .fx-item{border-radius:50%;background:radial-gradient(circle at 34% 32%,#fff 0 20%,#f5fbff 42%,rgba(203,230,255,.2) 72%,transparent 76%);box-shadow:0 0 10px rgba(255,255,255,.86),0 1px 5px rgba(48,93,143,.28);animation:fxFall linear infinite}
body.design-v5>.theme-fx[data-effect=petals] .fx-item{border-radius:70% 30% 70% 30%;background:radial-gradient(circle at 30% 30%,#fff8fc 0 18%,#ffd9e9 34%,#ec8db6 74%,#d65f91 100%);box-shadow:0 4px 12px rgba(161,72,116,.22);animation:fxPetal linear infinite}
body.design-v5>.theme-fx[data-effect=leaves] .fx-item{border-radius:75% 0 75% 0;background:linear-gradient(145deg,#e3f7d5 0%,#a8d78d 48%,#5b9858 100%);box-shadow:0 5px 12px rgba(52,112,66,.25);animation:fxLeaf linear infinite}
body.design-v5>.theme-fx[data-effect=lights] .fx-item{border-radius:50%;background:radial-gradient(circle,#fff 0 8%,#fff8c7 18%,rgba(255,226,128,.78) 31%,rgba(133,200,255,.26) 52%,transparent 72%);filter:blur(.35px);mix-blend-mode:screen;animation:fxPulse ease-in-out infinite}
@keyframes fxFall{0%{transform:translate3d(0,-15%,0) scale(.82)}100%{transform:translate3d(var(--drift,0px),115vh,0) scale(1.08)}}
@keyframes fxPetal{0%{transform:translate3d(0,-12%,0) rotate(0deg)}100%{transform:translate3d(var(--drift,18px),115vh,0) rotate(270deg)}}
@keyframes fxLeaf{0%{transform:translate3d(0,-12%,0) rotate(0deg)}50%{transform:translate3d(calc(var(--drift,14px)*-.35),46vh,0) rotate(120deg)}100%{transform:translate3d(var(--drift,14px),115vh,0) rotate(260deg)}}
@keyframes fxPulse{0%,100%{opacity:.24;transform:scale(.76)}50%{opacity:.95;transform:scale(1.2)}}
/* No oversized calligraphic invitation title; editable kicker is the first visible line. */
body.design-v5 .invite-content{padding-top:clamp(22px,4vw,42px)}
body.design-v5 .overline{display:block!important;margin:0 0 12px;max-width:100%;font-size:clamp(10px,1.35vw,13px);line-height:1.55;letter-spacing:.16em;font-weight:900;color:var(--accent-soft);text-wrap:balance}
body.design-v5 .event-title{margin:0 auto 8px;padding:0 4px;max-width:100%;text-wrap:balance;overflow-wrap:anywhere}
body.design-v5 .event-title .title-main{color:var(--heading-primary,#fff)!important;-webkit-text-fill-color:var(--heading-primary,#fff)!important;background:none!important;background-image:none!important;filter:none!important;text-shadow:0 2px 4px var(--heading-shadow,rgba(0,0,0,.25))!important;font-family:'Be Vietnam Pro','Outfit',sans-serif;font-weight:900;letter-spacing:-.035em;line-height:1.12}
body.design-v5 .event-title .title-accent{color:var(--heading-accent,var(--accent))!important;-webkit-text-fill-color:var(--heading-accent,var(--accent))!important;background:none!important;background-image:none!important;filter:none!important;text-shadow:0 2px 5px var(--heading-shadow,rgba(0,0,0,.25))!important;font-weight:900;letter-spacing:-.035em;line-height:1.12}
body.design-v5 .invitation[data-heading-surface=remote] .event-title{padding:14px 12px;border-radius:16px;background:rgba(9,18,34,.78);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
body.design-v5 .invitation .event-countdown,body.design-v5 .invitation .countdown-unit{background:transparent!important;background-image:none!important;border:0!important;outline:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.design-v5 .invitation .event-countdown{max-width:480px;margin:8px auto 18px;padding:0;position:relative;z-index:4}
body.design-v5 .invitation .countdown-kicker{display:none!important}
body.design-v5 .invitation .countdown-units{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,2.2vw,18px);margin:0;padding:0}
body.design-v5 .invitation .countdown-unit{min-width:0;min-height:0;margin:0;padding:2px 0;gap:5px}
body.design-v5 .invitation .countdown-unit strong{color:var(--countdown-number,#fff)!important;-webkit-text-fill-color:var(--countdown-number,#fff)!important;font:900 clamp(27px,4vw,38px)/1.08 'Outfit','Be Vietnam Pro',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.045em;text-shadow:0 0 12px var(--countdown-glow,rgba(255,255,255,.3)),0 2px 4px rgba(0,0,0,.18)!important}
body.design-v5 .invitation .countdown-unit span{color:var(--countdown-label,var(--accent))!important;font:850 9px/1.4 'Be Vietnam Pro',sans-serif;letter-spacing:.08em;white-space:nowrap}
body.design-v5 .invitation .countdown-status{margin:6px auto 0;color:var(--ink);font-size:11px;font-weight:800}
body.design-v5 .invitation .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.design-v5 .invitation .detail-box,body.design-v5 .invitation .detail-copy{min-width:0}
body.design-v5 .invitation .detail-copy strong,body.design-v5 .invitation .detail-copy small{overflow-wrap:anywhere;word-break:normal}
@media(max-width:690px){body.design-v5{background-attachment:scroll}body.design-v5 .page{padding:12px 9px 14px}body.design-v5 .invitation{width:100%;max-width:100%;min-height:0;padding:28px 20px 24px;border-radius:18px}body.design-v5 .invite-content{min-height:0;padding-top:14px}body.design-v5 .overline{font-size:9px;letter-spacing:.12em;margin-bottom:10px}body.design-v5 .event-title .title-main{font-size:clamp(28px,7.4vw,42px)}body.design-v5 .event-title .title-accent{font-size:clamp(37px,9vw,58px)}body.design-v5 .invitation .countdown-units{gap:6px}body.design-v5 .invitation .countdown-unit strong{font-size:clamp(23px,6.5vw,31px)}body.design-v5 .invitation .countdown-unit span{font-size:8px}body.design-v5 .invitation .detail-grid{grid-template-columns:1fr;gap:9px}body.design-v5>.theme-fx{opacity:.56}}
@media(max-width:360px){body.design-v5 .invitation{padding-inline:15px}body.design-v5 .invitation .countdown-unit strong{font-size:22px}}
@media(prefers-reduced-motion:reduce){body.design-v5>.theme-fx .fx-item{animation:none!important}body.design-v5 .invitation *{transition:none!important}}
