/* Event Online V5 · custom typographic finishes and crafted premium decorations.
   All editable CSS layers: no copied image files or vendor templates. */
.design-v5 .invitation { isolation:isolate; --depth-shadow:#0b132bb0; }
.design-v5 .invite-content{position:relative;z-index:5}
.design-v5 .event-title {font-size:clamp(38px,5.8vw,63px);line-height:1.13;max-width:100%;overflow-wrap:anywhere;letter-spacing:-.046em;margin:15px auto 8px}
.design-v5 .title-main,.design-v5 .title-accent{display:block;max-width:100%;overflow-wrap:anywhere;position:relative;isolation:isolate;}
.design-v5 .title-main{
  background:linear-gradient(174deg,color-mix(in srgb,var(--ink) 92%,white),var(--ink) 42%,color-mix(in srgb,var(--ink) 60%,var(--accent)) 70%,var(--ink) 94%);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 0 color-mix(in srgb,var(--card2) 62%,transparent)) drop-shadow(0 4px 0 color-mix(in srgb,var(--card2) 42%,transparent)) drop-shadow(0 11px 13px #0006);
  -webkit-text-stroke:.25px color-mix(in srgb,var(--ink) 35%,transparent)
}
.design-v5 .title-accent{font-size:clamp(47px,7.9vw,85px);line-height:1.1;letter-spacing:-.075em;margin-top:9px;
  background:linear-gradient(177deg,#fffdf0 0%,color-mix(in srgb,var(--accent) 40%,white) 22%,var(--accent) 48%,color-mix(in srgb,var(--accent) 80%,#9b5b3c) 74%,var(--accent) 96%);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  -webkit-text-stroke:.5px color-mix(in srgb,var(--accent) 50%,#533014);
  filter:drop-shadow(0 2px 0 color-mix(in srgb,var(--card2) 86%,#362216)) drop-shadow(0 5px 1px color-mix(in srgb,var(--accent) 33%,#412d2f)) drop-shadow(0 13px 11px #0008)
}
.design-v5 .invitation[data-title-style=chrome] .title-main,.design-v5 .invitation[data-title-style=chrome] .title-accent{
  background:linear-gradient(180deg,#fff 5%,#cedbea 25%,#677c9d 39%,#f6ffff 49%,#718297 57%,#29384c 75%,#f1ffff 94%);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  -webkit-text-stroke:.7px #8995aa99;
  filter:drop-shadow(0 2px 0 #24354d) drop-shadow(0 5px 0 #24334da8) drop-shadow(0 12px 15px #020b1c88)
}
.design-v5 .invitation[data-title-style=neon] .title-main,.design-v5 .invitation[data-title-style=neon] .title-accent{
  background:linear-gradient(180deg,#fff7e6 8%,#ffd8a6 22%,#ff9e5a 45%,#fe6159 74%,#9d2a7b);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  -webkit-text-stroke:.6px #ffe7d3;
  filter:drop-shadow(0 3px 0 #79355c) drop-shadow(0 0 10px #ff557799) drop-shadow(0 0 26px #cb3de877) drop-shadow(0 13px 13px #0d092e99)
}
.design-v5 .invitation[data-title-style=emboss] .title-main,.design-v5 .invitation[data-title-style=emboss] .title-accent{
  background:linear-gradient(168deg,color-mix(in srgb,var(--ink) 45%,white),var(--ink) 49%,color-mix(in srgb,var(--ink) 65%,var(--accent)) 85%);
  background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  -webkit-text-stroke:.25px var(--accent);
  filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--accent) 28%,transparent)) drop-shadow(0 5px 6px #0002)
}
.design-v5 .invitation[data-title-style=elegant] .title-main,.design-v5 .invitation[data-title-style=elegant] .title-accent{
  background:none;-webkit-text-fill-color:var(--ink);color:var(--ink);-webkit-text-stroke:0;
  font-weight:650;filter:drop-shadow(0 3px 7px #0002)
}
.design-v5 .invitation[data-title-style=elegant] .title-accent{-webkit-text-fill-color:var(--accent);color:var(--accent)}
.design-v5 .invitation[data-palette=ivory],.design-v5 .invitation[data-palette=porcelain],.design-v5 .invitation[data-palette=sky]{--depth-shadow:#5e4a3526}
.design-v5 .invitation[data-palette=ivory] .title-main,.design-v5 .invitation[data-palette=porcelain] .title-main,.design-v5 .invitation[data-palette=sky] .title-main{filter:drop-shadow(0 2px 1px #735e4550) drop-shadow(0 7px 9px #614d381d)}
.design-v5 .invitation[data-palette=ivory] .title-accent,.design-v5 .invitation[data-palette=porcelain] .title-accent,.design-v5 .invitation[data-palette=sky] .title-accent{filter:drop-shadow(0 2px 1px #66452b55) drop-shadow(0 6px 5px #614d382b)}
/* 70 curated variations: more depth, balanced type, soft highlights, tactile frames. */
.design-v5 .invitation[data-premium=true]{
  box-shadow:0 30px 85px #0006,0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent),inset 0 0 90px color-mix(in srgb,var(--accent) 5%,transparent);
  background-image:var(--card-bg);
}
.design-v5 .invitation[data-premium=true] .frame-outer{border-color:color-mix(in srgb,var(--accent) 62%,transparent)}
.design-v5 .invitation[data-premium=true] .center-ornament{filter:drop-shadow(0 1px 4px color-mix(in srgb,var(--accent) 25%,transparent))}
.design-v5 .invitation[data-premium=true] .detail-box{background:color-mix(in srgb,var(--panel) 84%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--ink) 9%,transparent),0 7px 20px #0001}
.design-v5 .invitation[data-premium=true] .highlight-banner{border-image:linear-gradient(90deg,transparent,var(--accent),transparent) 1;letter-spacing:.07em}
.design-v5 .invitation[data-premium=true] .invite-upper:before,.design-v5 .invitation[data-premium=true] .invite-upper:after{content:'';height:1px;width:clamp(19px,7vw,60px);background:linear-gradient(90deg,transparent,var(--accent));opacity:.7}
.design-v5 .invitation[data-premium=true] .invite-upper:after{transform:rotate(180deg)}
/* Families acquire distinct layout features instead of palette changes only. */
.design-v5 .invitation[data-premium=true][data-family=classic] .frame-outer{outline:1px solid var(--accent);outline-offset:7px}
.design-v5 .invitation[data-premium=true][data-family=classic] .sparkles{opacity:.78}
.design-v5 .invitation[data-premium=true][data-family=finegold] .frame-inner{border:1px dotted var(--accent);opacity:.5}
.design-v5 .invitation[data-premium=true][data-family=finegold] .paper-texture{background:radial-gradient(circle at 50% 15%,color-mix(in srgb,var(--accent) 30%,transparent),transparent 45%),repeating-linear-gradient(90deg,transparent 0 7px,color-mix(in srgb,var(--accent) 9%,transparent) 8px 9px,transparent 10px 24px);opacity:.5}
.design-v5 .invitation[data-premium=true][data-family=bronze] .decor-one{top:2%;left:3%;height:250px;width:250px;opacity:.1}
.design-v5 .invitation[data-premium=true][data-family=bronze] .decor-two{bottom:1%;right:2%;height:230px;width:230px;opacity:.12}
.design-v5 .invitation[data-premium=true][data-family=clouds] .sparkles{opacity:.6;filter:drop-shadow(0 3px 3px #0002)}
.design-v5 .invitation[data-premium=true][data-family=double]::after{inset:9px;border:2px double var(--accent);opacity:.66}
.design-v5 .invitation[data-premium=true][data-family=double] .center-ornament{letter-spacing:.3em}
.design-v5 .invitation[data-premium=true][data-family=band]{background:linear-gradient(180deg,var(--accent) 0 23%,var(--card2) 23% 100%)!important}
.design-v5 .invitation[data-premium=true][data-family=band] .invite-upper{background:color-mix(in srgb,var(--card2) 72%,transparent);border:1px solid var(--outline);border-radius:4px}
.design-v5 .invitation[data-premium=true][data-family=geometric] .paper-texture{opacity:.24;background:linear-gradient(148deg,transparent 0 70%,var(--accent) 70% 73%,transparent 73%),linear-gradient(31deg,transparent 0 83%,var(--accent) 83% 88%,transparent 88%),radial-gradient(circle at 85% 10%,var(--accent) 0 1%,transparent 2%)}
.design-v5 .invitation[data-premium=true][data-family=geometric] .event-title,.design-v5 .invitation[data-premium=true][data-family=circuit] .event-title{font-family:'Be Vietnam Pro',sans-serif;text-transform:uppercase;letter-spacing:-.064em}
.design-v5 .invitation[data-premium=true][data-family=arcs] .sparkles{opacity:.65}
.design-v5 .invitation[data-premium=true][data-family=sparkle] .sparkles{opacity:.65;filter:drop-shadow(0 0 7px var(--accent))}
.design-v5 .invitation[data-premium=true][data-family=deco] .frame-outer{border:0;outline:1px solid var(--accent);outline-offset:5px}
.design-v5 .invitation[data-premium=true][data-family=deco] .sparkles{opacity:.72}
.design-v5 .invitation[data-premium=true][data-family=circuit] .paper-texture{opacity:.35;mask-image:linear-gradient(90deg,#000,transparent 38%,transparent 62%,#000)}
.design-v5 .invitation[data-premium=true][data-family=botanical] .paper-texture{opacity:.38}
.design-v5 .invitation[data-premium=true][data-family=stage] .spot{display:block;opacity:.63}
.design-v5 .invitation[data-premium=true][data-family=stage] .stage-glow{display:block;opacity:.51}
.design-v5 .invitation[data-premium=true][data-family=stage] .title-accent{font-size:clamp(52px,8.8vw,101px)}
.design-v5 .invitation[data-premium=true][data-family=royal] .frame-outer{outline:1px solid var(--accent);outline-offset:8px}
.design-v5 .invitation[data-premium=true][data-family=lantern] .sparkles{opacity:.5}
.design-v5 .invitation[data-premium=true][data-family=futurist] .paper-texture{opacity:.5}
/* Public guest list: a deliberately opt-in name-only roster. */
.design-v5 .card-actions{flex-wrap:wrap;gap:8px;justify-content:center;max-width:520px;margin:24px auto 0}
.design-v5 .guests-action{border-color:color-mix(in srgb,var(--accent) 66%,transparent);font-weight:800}
.guests-dialog{width:min(610px,calc(100vw - 28px));max-height:min(84dvh,760px);padding:0;border:1px solid #ece6f0;border-radius:23px;background:#fcfbff;color:#26314c;box-shadow:0 35px 110px #060a2033;overflow:auto}
.guests-dialog::backdrop{background:#090d22b8;backdrop-filter:blur(7px)}
.guests-dialog-inner{padding:clamp(20px,4vw,34px)}
.guests-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.guests-dialog-header h2{font:800 clamp(20px,5vw,28px)/1.3 'Be Vietnam Pro',sans-serif;margin:6px 0}
.guests-dialog-header p{font-size:12px;line-height:1.6;color:#8b94a9}
.guests-kicker{font:800 10px 'DM Sans',sans-serif;letter-spacing:.2em;color:#8f6aca}
.guests-close{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:#f0ecf7;color:#665c75;font-size:28px;cursor:pointer}
.guests-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:23px 0 18px}
.guests-summary>div{border:1px solid #e5e5f4;border-radius:14px;background:#f7f7fe;padding:16px}
.guests-summary span{display:block;color:#8490ab;font-size:9px;font-weight:800;letter-spacing:.1em}
.guests-summary strong{font:900 27px 'Be Vietnam Pro',sans-serif;color:#503f96}
.guests-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:40dvh;overflow-y:auto}
.guest-entry{display:flex;align-items:center;gap:8px;padding:12px;background:#fff;border:1px solid #eeeaf4;border-radius:11px;min-width:0}
.guest-entry-number{font:800 10px 'DM Sans',sans-serif;color:#a2a2b9}
.guest-entry strong{font:700 11px 'Be Vietnam Pro',sans-serif;min-width:0;overflow-wrap:anywhere;flex:1}
.guest-entry-check{font-size:9px;font-weight:800;color:#249768;white-space:nowrap}
.guests-hidden-note{padding:24px;background:#f7f8fc;color:#637390;border-radius:13px;line-height:1.9;font-size:12px;grid-column:1/-1}
.guests-privacy{font-size:10px;line-height:1.8;color:#8993a8;margin:18px 0 0}
@media(max-width:690px){.design-v5 .invitation{padding:38px 27px 30px}.design-v5 .event-title{font-size:clamp(32px,8vw,55px)}.design-v5 .title-accent{font-size:clamp(46px,10.5vw,82px)}.design-v5 .card-actions .action-button{flex:1 1 42%;font-size:10px;white-space:normal;min-height:41px}.design-v5 .guests-action{flex-basis:100%!important}.guests-list{grid-template-columns:1fr}}
@media(max-width:390px){.design-v5 .invitation{padding-inline:21px}.design-v5 .title-main{font-size:clamp(28px,8vw,37px)}.design-v5 .title-accent{font-size:clamp(43px,11vw,64px)}}
@media(prefers-reduced-motion:reduce){.design-v5 *{transition:none!important;animation:none!important}}

/* V6 premium typography tuning */
.design-v5 .event-title,.design-v5 .title-main,.design-v5 .title-accent{text-wrap:balance;hyphens:auto}
.design-v5 .detail-grid{gap:15px}
.design-v5 .detail-box{border-radius:24px;padding:18px 18px 16px}
.design-v5 .detail-copy strong{font-size:clamp(16px,2vw,22px);line-height:1.42}
.design-v5 .detail-copy small{line-height:1.72;overflow-wrap:anywhere}
@media(max-width:690px){.design-v5 .detail-grid{grid-template-columns:1fr}.design-v5 .detail-box{padding:15px 14px;border-radius:17px}}
