/* Event Online V7 — 70 hand-composed invitation artworks. */
.design-v5 .invitation { --type-display:'Fraunces','Playfair Display',Georgia,serif; --art-contrast:var(--ink); }
.design-v5 .invitation::before {
  background-image:var(--cover-image,none) !important;
  opacity:1 !important;
  background-size:cover !important;
  background-position:center !important;
  mix-blend-mode:normal !important;
  z-index:0;
}
.design-v5 .invitation[data-background-mode="remote"]::before {opacity:.29!important;}
.design-v5 .invitation[data-background-mode="remote"] .paper-texture {background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--card2) 45%,transparent));opacity:.34;}
.design-v5 .invite-content{position:relative;z-index:7;width:100%;}
.design-v5 .frame-outer,.design-v5 .frame-inner,.design-v5 .sparkles,.design-v5 .paper-texture{pointer-events:none;}
.design-v5 .event-title{width:100%;font-family:var(--type-display);text-align:inherit;font-size:clamp(36px,5vw,61px);line-height:1.12;letter-spacing:-.055em;max-width:100%;overflow:visible;overflow-wrap:anywhere;word-break:normal;hyphens:auto;text-wrap:balance;margin:15px 0 5px;}
.design-v5 .event-title .title-main{display:block;font-size:inherit;line-height:1.12;overflow-wrap:anywhere;white-space:normal;text-wrap:balance;}
.design-v5 .event-title .title-accent{display:block;font-size:clamp(43px,6.8vw,81px);letter-spacing:-.065em;line-height:1.16;margin:5px auto 2px;text-wrap:balance;overflow-wrap:anywhere;}
.design-v5 .script-heading{font-family:var(--type-display);font-size:clamp(26px,4vw,42px);font-weight:650;letter-spacing:-.025em;line-height:1.35;text-wrap:balance;}
.design-v5 .overline{font:800 clamp(9px,1.4vw,11px)/1.5 'Be Vietnam Pro',sans-serif;letter-spacing:.15em;overflow-wrap:anywhere;text-wrap:pretty;max-width:100%}
.design-v5 .highlight-banner,.design-v5 .intro-title,.design-v5 .invite-body,.design-v5 .closing-banner,.design-v5 .ending-text,.design-v5 .detail-box{max-width:100%;overflow-wrap:anywhere;text-wrap:pretty;}
.design-v5 .invite-body{font-size:clamp(13px,1.7vw,15px);line-height:1.9;font-weight:510;}
.design-v5 .highlight-banner{font-size:clamp(11px,1.65vw,15px);letter-spacing:.015em;line-height:1.75;border-radius:10px;padding:10px clamp(12px,2.6vw,22px);font-weight:850;}
.design-v5 .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 23px;gap:10px;}
.design-v5 .detail-box{border-radius:16px;padding:17px 16px;min-width:0;display:flex;align-items:flex-start;gap:11px;background:color-mix(in srgb,var(--panel) 89%,transparent);backdrop-filter:blur(11px);box-shadow:0 8px 20px #0000001a,inset 0 1px 0 #ffffff20;}
.design-v5 .detail-copy{flex:1;min-width:0;gap:4px;}
.design-v5 .detail-copy strong{font-size:clamp(13px,1.8vw,18px);line-height:1.42;min-width:0;overflow-wrap:anywhere;word-break:normal;}
.design-v5 .detail-copy small{font-size:clamp(10px,1.35vw,11.5px);line-height:1.65;overflow-wrap:anywhere;}
.design-v5 .detail-copy>span{font-size:9px;letter-spacing:.07em;}
.design-v5 .ending-text{line-height:1.85;}
.design-v5 .card-actions{max-width:100%;}
/* Editorial typography shared by the curated collections. */
.design-v5 .invitation[data-font=serif]{--type-display:'Fraunces','Playfair Display',serif}
.design-v5 .invitation[data-font=sans]{--type-display:'Outfit','Be Vietnam Pro',sans-serif}
.design-v5 .invitation[data-font=display]{--type-display:'Outfit','Be Vietnam Pro',sans-serif}
.design-v5 .invitation[data-font=script]{--type-display:'Cormorant Garamond','Playfair Display',serif}
.design-v5 .invitation[data-font=script] .script-heading{font-family:'Great Vibes',cursive;font-size:clamp(42px,7vw,68px)}
.design-v5 .invitation[data-font=script] .event-title{font-weight:650;letter-spacing:-.036em}
.design-v5 .invitation[data-font=sans] .event-title{font-weight:900;letter-spacing:-.048em}
.design-v5 .invitation[data-font=display] .event-title{font-weight:800;letter-spacing:-.045em}
/* 3 collection languages: executive restraint, creative paper, dimensional gala. */
.design-v5 .invitation[data-collection=corporate]{border-radius:15px;box-shadow:0 25px 90px #0712214d,0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent);}
.design-v5 .invitation[data-collection=corporate] .highlight-banner{border:1px solid color-mix(in srgb,var(--accent) 48%,transparent);background:color-mix(in srgb,var(--panel) 73%,transparent);text-transform:none;box-shadow:none;transform:none;}
.design-v5 .invitation[data-collection=corporate] .closing-banner{border-top:1px solid var(--outline);border-bottom:1px solid var(--outline);border-left:0;border-right:0;border-radius:0;box-shadow:none;}
.design-v5 .invitation[data-collection=corporate] .title-main{filter:drop-shadow(0 3px 4px #0004)}
.design-v5 .invitation[data-collection=pinterest]{border-radius:28px;box-shadow:0 22px 70px #65535125,0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}
.design-v5 .invitation[data-collection=pinterest] .highlight-banner{background:color-mix(in srgb,var(--panel) 86%,transparent);border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);box-shadow:none;transform:none;border-radius:999px;color:var(--ink)}
.design-v5 .invitation[data-collection=pinterest] .title-main{filter:drop-shadow(0 4px 5px #0002)}
.design-v5 .invitation[data-collection=pinterest] .title-accent{font-size:clamp(38px,6.1vw,70px)}
.design-v5 .invitation[data-collection=pinterest] .detail-box{border-radius:20px;}
.design-v5 .invitation[data-collection=luxury]{border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 53%,transparent);box-shadow:0 35px 110px #0009,0 0 55px color-mix(in srgb,var(--accent) 13%,transparent);}
.design-v5 .invitation[data-collection=luxury] .event-title{font-size:clamp(38px,5.9vw,65px);}
.design-v5 .invitation[data-collection=luxury] .title-accent{font-size:clamp(51px,7.5vw,88px)}
.design-v5 .invitation[data-collection=luxury] .highlight-banner{border:1px solid color-mix(in srgb,var(--accent) 66%,transparent);background:linear-gradient(100deg,transparent,color-mix(in srgb,var(--accent) 18%,transparent),transparent);box-shadow:inset 0 0 11px color-mix(in srgb,var(--accent) 10%,transparent);}
.design-v5 .invitation[data-collection=luxury] .detail-box{border-color:color-mix(in srgb,var(--accent) 57%,transparent);}
/* Editorial arrangement system. No absolute positions on dynamic text; safe on long copy. */
.design-v5 .invitation[data-layout=editorial] .invite-content,.design-v5 .invitation[data-layout=asym] .invite-content,.design-v5 .invitation[data-layout=split] .invite-content{text-align:left;align-items:stretch;}
.design-v5 .invitation[data-layout=editorial] .invite-upper,.design-v5 .invitation[data-layout=asym] .invite-upper,.design-v5 .invitation[data-layout=split] .invite-upper{justify-content:flex-start;}
.design-v5 .invitation[data-layout=editorial] .event-title,.design-v5 .invitation[data-layout=asym] .event-title,.design-v5 .invitation[data-layout=split] .event-title{text-align:left;}
.design-v5 .invitation[data-layout=editorial] .center-ornament,.design-v5 .invitation[data-layout=asym] .center-ornament,.design-v5 .invitation[data-layout=split] .center-ornament{justify-content:flex-start;}
.design-v5 .invitation[data-layout=editorial] .invite-body,.design-v5 .invitation[data-layout=asym] .invite-body,.design-v5 .invitation[data-layout=split] .invite-body{margin-left:0;margin-right:auto;}
.design-v5 .invitation[data-layout=editorial] .card-actions,.design-v5 .invitation[data-layout=asym] .card-actions,.design-v5 .invitation[data-layout=split] .card-actions{justify-content:flex-start;margin-left:0;}
.design-v5 .invitation[data-layout=split] .event-title{padding-left:15px;border-left:3px solid var(--accent);}
.design-v5 .invitation[data-layout=arch] .invite-upper,.design-v5 .invitation[data-layout=framed] .invite-upper{border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:999px;padding:10px 24px;min-width:48%;}
.design-v5 .invitation[data-layout=ticket] .frame-outer{border:2px dashed var(--accent);border-radius:10px;}
.design-v5 .invitation[data-layout=ticket] .highlight-banner{border-style:dashed;}
.design-v5 .invitation[data-layout=glass] .invite-upper{border-radius:999px;background:color-mix(in srgb,var(--panel) 80%,transparent);padding-inline:20px;backdrop-filter:blur(8px)}
.design-v5 .invitation[data-layout=glass] .detail-box{border-color:color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--panel) 83%,transparent);}
.design-v5 .invitation[data-layout=panel] .event-title,.design-v5 .invitation[data-layout=hero] .event-title{padding:24px 10px 15px;border-top:1px solid color-mix(in srgb,var(--accent) 36%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent) 40%,transparent);margin-bottom:20px;}
.design-v5 .invitation[data-layout=hero] .event-title{font-size:clamp(44px,6.6vw,72px);}
.design-v5 .invitation[data-layout=minimal] .frame-outer{border-color:transparent;}
.design-v5 .invitation[data-layout=minimal] .invite-upper{margin-top:18px}
.design-v5 .invitation[data-layout=minimal] .highlight-banner{background:none;border:0;border-top:1px solid var(--outline);border-bottom:1px solid var(--outline);border-radius:0;}
.design-v5 .invitation[data-layout=stage] .invite-upper,.design-v5 .invitation[data-layout=party] .invite-upper{padding:5px 18px;border:1px solid var(--accent);border-radius:50px;}
.design-v5 .invitation[data-layout=stage] .event-title,.design-v5 .invitation[data-layout=party] .event-title{margin-top:38px;}
.design-v5 .invitation[data-layout=collage] .center-ornament,.design-v5 .invitation[data-layout=playful] .center-ornament{font-size:29px;transform:rotate(-6deg);}
.design-v5 .invitation[data-layout=collage] .highlight-banner,.design-v5 .invitation[data-layout=playful] .highlight-banner{transform:rotate(-1deg);border-radius:8px;}
.design-v5 .invitation[data-layout=wave] .event-title{border-bottom:2px solid color-mix(in srgb,var(--accent) 55%,transparent);padding-bottom:18px;}
.design-v5 .invitation[data-layout=emblem] .invite-upper,.design-v5 .invitation[data-layout=orb] .invite-upper{min-height:80px;}
.design-v5 .invitation[data-layout=airy] .invite-upper{margin-bottom:28px;}
.design-v5 .invitation[data-layout=airy] .event-title{line-height:1.26;}
.design-v5 .invitation[data-layout=soft] .intro-title{font-family:'Fraunces',serif;font-size:clamp(14px,2vw,20px);}
.design-v5 .invitation[data-layout=photo] .frame-outer{border:4px solid color-mix(in srgb,var(--accent) 50%,transparent);}
.design-v5 .invitation[data-layout=glow] .title-main,.design-v5 .invitation[data-layout=party] .title-main{filter:drop-shadow(0 0 22px color-mix(in srgb,var(--accent) 55%,transparent));}
/* Long-content resilience and responsive hierarchy. */
.design-v5 .overline,.design-v5 .script-heading,.design-v5 .invite-body,.design-v5 .ending-text,.design-v5 .organizer-text{overflow-wrap:anywhere;max-width:100%;}
.design-v5 .detail-copy small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:unset;overflow:visible;white-space:normal;}
.design-v5 .title-main,.design-v5 .title-accent{-webkit-text-stroke-width:0;}
.design-v5 .invitation[data-title-style=gold] .title-main,.design-v5 .invitation[data-title-style=gold] .title-accent{-webkit-text-stroke:.35px color-mix(in srgb,var(--accent) 35%,transparent);}
@media(max-width:700px){
  .design-v5 .invitation{padding:39px 27px 31px;min-height:0;}
  .design-v5 .event-title{font-size:clamp(31px,7.5vw,52px)!important;line-height:1.14;}
  .design-v5 .title-accent{font-size:clamp(37px,10vw,67px)!important;}
  .design-v5 .detail-grid{grid-template-columns:1fr;gap:10px;}
  .design-v5 .detail-box{border-radius:15px;gap:10px;padding:14px 15px;}
  .design-v5 .detail-copy strong{font-size:clamp(14px,4vw,17px);}
  .design-v5 .invite-body{font-size:13px;line-height:1.8;}
  .design-v5 .highlight-banner{width:100%;font-size:12px;padding-inline:12px;}
  .design-v5 .card-actions .action-button{white-space:normal;font-size:11px;}
}
@media(max-width:375px){
  .design-v5 .invitation{padding:33px 19px 25px;}
  .design-v5 .event-title{font-size:clamp(29px,8.2vw,37px)!important;}
  .design-v5 .title-accent{font-size:clamp(35px,10vw,50px)!important;}
  .design-v5 .script-heading{font-size:30px;}
  .design-v5 .detail-copy strong{font-size:14px;}
}
@media(prefers-reduced-motion:reduce){.design-v5 .theme-fx .fx-item{animation:none!important;}}
