@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,700;1,600&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body.fic-v10{margin:0;color:var(--ink,#30272a);font-family:"Be Vietnam Pro",sans-serif;overflow-x:hidden;background:var(--paper,#fffaf7)}body.fic-v10 main{overflow:hidden}.fic-v10 .section{max-width:1120px;margin:auto;padding:96px 24px;text-align:center;position:relative}.fic-v10 .section small,.fic-v10 .kicker{letter-spacing:.24em;font-size:11px;font-weight:700}.fic-v10 h1,.fic-v10 h2{font-family:"Playfair Display",serif}.fic-v10 .cover{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.22),transparent 30%),var(--env,#8d5c61);transition:opacity .9s,visibility .9s}.fic-v10 .cover.open{opacity:0;visibility:hidden}.fic-v10 .paper{width:min(90vw,520px);min-height:420px;padding:52px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:rgba(255,255,255,.94);box-shadow:0 35px 90px rgba(0,0,0,.25);border-radius:6px;position:relative}.fic-v10 .paper:before{content:"";position:absolute;inset:13px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);pointer-events:none}.fic-v10 .paper h3{font-family:"Playfair Display";font-size:28px;margin:0}.fic-v10 .envelope{width:140px;height:92px;background:var(--accent);position:relative;margin:14px;border-radius:3px;box-shadow:0 15px 30px #0002}.fic-v10 .envelope:before{content:"";position:absolute;inset:0;clip-path:polygon(0 0,50% 58%,100% 0);background:#fff4}.fic-v10 .envelope b{position:absolute;left:50%;top:48%;translate:-50% -50%;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f7e7c5;color:#6d3c35;font-family:serif}.fic-v10 button,.fic-v10 a{transition:.3s}.fic-v10 #openInvite,.fic-v10 form button{border:0;background:var(--accent);color:white;padding:14px 26px;border-radius:999px;font-weight:700;cursor:pointer}.fic-v10 .music{position:fixed;right:18px;bottom:18px;z-index:80;width:48px;height:48px;border:0;border-radius:50%;background:var(--accent);color:#fff;box-shadow:0 8px 30px #0003}.fic-v10 .hero{min-height:100svh;position:relative;display:grid;place-items:center;padding:80px 7vw;background:var(--hero-bg);isolation:isolate}.fic-v10 .hero.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(var(--overlay),var(--overlay)),var(--hero-img) center/cover no-repeat;z-index:-2;transform:scale(1.03)}.fic-v10 .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,var(--paper));z-index:-1}.fic-v10 .hero-inner{max-width:780px;text-align:center;color:#fff;padding:54px 38px;border:1px solid #ffffff55;background:#00000018;backdrop-filter:blur(3px);box-shadow:0 25px 80px #0003}.fic-v10 .hero h1{font-size:clamp(42px,7vw,92px);line-height:.95;margin:20px 0;display:flex;justify-content:center;align-items:center;gap:.25em;flex-wrap:wrap;text-shadow:0 8px 35px #0005}.fic-v10 .hero h1 i{font-weight:400;font-size:.65em}.fic-v10 .hero-script{font-family:"Playfair Display";font-style:italic;font-size:22px}.fic-v10 .hero-intro{max-width:620px;margin:20px auto;line-height:1.8}.fic-v10 .countdown{display:flex;justify-content:center;gap:12px;margin-top:28px}.fic-v10 .countdown div{min-width:76px;padding:13px 10px;border:1px solid #ffffff66;background:#ffffff12}.fic-v10 .countdown b{display:block;font-size:25px}.fic-v10 .countdown span{font-size:10px;text-transform:uppercase;letter-spacing:.15em}.fic-v10 .hero-polaroid{position:absolute;right:5vw;bottom:5vh;width:180px;background:white;padding:8px 8px 30px;box-shadow:0 20px 60px #0005;transform:rotate(5deg);z-index:4}.fic-v10 .hero-polaroid img{width:100%;height:210px;object-fit:cover}.fic-v10 .hero-polaroid span{display:block;color:#333;font:italic 13px serif;padding-top:8px}.fic-v10 .split-section{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;text-align:left}.fic-v10 .portrait-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fic-v10 figure{margin:0}.fic-v10 .portrait-stack figure:nth-child(2){transform:translateY(42px)}.fic-v10 .portrait-stack img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:180px 180px 16px 16px;box-shadow:0 25px 50px #0002}.fic-v10 figcaption{text-align:center;font:italic 24px "Playfair Display";padding:12px}.fic-v10 .story-copy h2,.fic-v10 .section>h2{font-size:clamp(32px,5vw,56px);margin:15px 0}.fic-v10 .story-copy p,.fic-v10 .section>p{line-height:1.9;color:var(--muted)}.fic-v10 .category-scene{border-radius:40px;margin-top:70px;margin-bottom:70px;background:linear-gradient(135deg,#fff9,#fff3);box-shadow:0 20px 70px #0000000d}.fic-v10 .scene-icon{font-size:72px;animation:v10float 3s ease-in-out infinite}.fic-v10 .event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:35px}.fic-v10 .event-grid article{padding:30px;border:1px solid #00000012;background:#fff9;box-shadow:0 16px 40px #0000000d}.fic-v10 .event-grid b,.fic-v10 .event-grid em{display:block;margin:8px}.fic-v10 .event-grid a{display:inline-block;margin-top:10px;color:var(--accent);font-weight:700}.fic-v10 .gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:80px;gap:12px;margin-top:35px}.fic-v10 .gallery-item{grid-column:span 4;grid-row:span 4;padding:0;border:0;overflow:hidden;position:relative;background:#ddd;cursor:zoom-in}.fic-v10 .gallery-item:nth-child(1),.fic-v10 .gallery-item:nth-child(5){grid-column:span 6;grid-row:span 5}.fic-v10 .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.fic-v10 .gallery-item:hover img{transform:scale(1.09)}.fic-v10 .gallery-item span{position:absolute;right:12px;bottom:10px;color:white;font-size:26px;text-shadow:0 2px 8px #000}.fic-v10 form{max-width:620px;margin:30px auto;display:grid;gap:12px}.fic-v10 input,.fic-v10 textarea,.fic-v10 select{width:100%;padding:15px 16px;border:1px solid #0002;background:#fff;border-radius:12px;font:inherit}.fic-v10 textarea{min-height:110px}.fic-v10 .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fic-v10 footer{text-align:center;padding:50px 20px;background:#191516;color:#fff}.fic-v10 footer b,.fic-v10 footer span{display:block;margin:6px}.v10-progress{position:fixed;left:0;top:0;right:0;height:3px;z-index:100}.v10-progress i{display:block;height:100%;width:0;background:var(--accent)}.v10-cursor{position:fixed;width:18px;height:18px;border:1px solid var(--accent);border-radius:50%;z-index:999;pointer-events:none;translate:-50% -50%;transition:width .2s,height .2s;mix-blend-mode:multiply}.gallery-lightbox{position:fixed;inset:0;background:#000e;z-index:500;display:grid;place-items:center;padding:5vw}.gallery-lightbox[hidden]{display:none}.gallery-lightbox img{max-width:92vw;max-height:88vh}.gallery-lightbox button{position:absolute;right:25px;top:20px;background:none;border:0;color:#fff;font-size:40px}.fic-v10 .section{opacity:0;transform:translateY(35px);transition:opacity .9s,transform .9s}.fic-v10 .section.in-view{opacity:1;transform:none}@keyframes v10float{50%{transform:translateY(-14px) rotate(3deg)}}
/* Seven commercial identities */
.fic-type-thiep-cuoi .invite{font-family:"Playfair Display"}.fic-type-sinh-nhat .hero-inner{border-radius:34px;transform:rotate(-1deg)}.fic-type-sinh-nhat .gallery-item{border-radius:24px}.fic-type-tan-gia .hero-inner{border-radius:4px 70px 4px 70px}.fic-type-tan-gia .event-grid article{border-radius:28px 4px}.fic-type-day-thang-thoi-noi .hero-inner{border-radius:48% 48% 28px 28px}.fic-type-day-thang-thoi-noi .gallery-item{border-radius:50% 50% 18px 18px}.fic-type-khai-truong .hero-inner{border:2px solid #e8c06a;box-shadow:inset 0 0 0 8px #0002,0 25px 80px #0004}.fic-type-ky-niem .hero-inner{border-radius:999px;padding:80px 50px}.fic-type-su-kien .hero-inner{text-align:left;margin-right:auto;border-left:5px solid var(--accent);border-radius:0}.fic-type-su-kien .hero h1{justify-content:flex-start}.fic-type-su-kien .countdown{justify-content:flex-start}
/* Five genuinely different composition variants */
.fic-variant-1 .hero-inner{animation:v10enter1 1.2s both}.fic-variant-2 .hero-inner{transform:translateX(-8vw);border-radius:0}.fic-variant-2 .hero-polaroid{right:12vw;bottom:12vh;transform:rotate(-7deg)}.fic-variant-3 .hero-inner{background:#fffdf0;color:var(--ink);box-shadow:20px 20px 0 color-mix(in srgb,var(--accent) 45%,transparent)}.fic-variant-3 .hero h1{text-shadow:none}.fic-variant-3 .countdown div{border-color:#0002}.fic-variant-4 .hero-inner{clip-path:polygon(7% 0,93% 0,100% 10%,100% 90%,93% 100%,7% 100%,0 90%,0 10%);padding:70px}.fic-variant-5 .hero-inner{border:0;background:transparent;backdrop-filter:none}.fic-variant-5 .hero-inner:before,.fic-variant-5 .hero-inner:after{content:"✦";display:block;font-size:30px;color:var(--soft)}@keyframes v10enter1{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@media(max-width:760px){.fic-v10 .section{padding:70px 18px}.fic-v10 .hero{padding:70px 18px}.fic-v10 .hero-inner{padding:42px 20px!important;transform:none!important;clip-path:none!important}.fic-v10 .hero h1{font-size:43px}.fic-v10 .hero-polaroid{display:none}.fic-v10 .split-section{grid-template-columns:1fr;gap:35px;text-align:center}.fic-v10 .gallery-grid{grid-auto-rows:58px}.fic-v10 .gallery-item,.fic-v10 .gallery-item:nth-child(1),.fic-v10 .gallery-item:nth-child(5){grid-column:span 6;grid-row:span 4}.fic-v10 .countdown div{min-width:64px}.v10-cursor{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.fic-v10 .section{opacity:1;transform:none}}

/* ===== V10.1 COMMERCIAL FIX: premium envelope, contrast, gift, sharing ===== */
.fic-v10 .cover{padding:34px 20px;grid-template-rows:auto auto auto auto;gap:18px;background:radial-gradient(circle at 50% 15%,rgba(255,255,255,.28),transparent 28%),linear-gradient(145deg,color-mix(in srgb,var(--env,#8d5c61) 88%,#fff 12%),color-mix(in srgb,var(--env,#8d5c61) 72%,#1b1012 28%));overflow:hidden;color:#301f23}
.fic-v10 .cover-glow{position:absolute;width:680px;height:680px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.25),transparent 62%);filter:blur(10px);pointer-events:none}
.fic-v10 .cover-copy,.fic-v10 .cover-meta{position:relative;z-index:5;text-align:center;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.fic-v10 .cover-copy small{display:block;font-size:10px;letter-spacing:.3em;font-weight:800}.fic-v10 .cover-copy h3{margin:8px 0 0;font:600 clamp(28px,4vw,44px) "Playfair Display",serif}.fic-v10 .cover-meta strong{display:block;font:600 20px "Playfair Display",serif}.fic-v10 .cover-meta span{display:block;margin-top:7px;font-size:12px;letter-spacing:.18em}
.fic-v10 .envelope-scene{position:relative;z-index:4;width:min(84vw,430px);height:285px;perspective:1100px;display:grid;place-items:end center;transform-style:preserve-3d}
.fic-v10 .envelope3d{position:relative;width:360px;max-width:86vw;height:225px;transform-style:preserve-3d;filter:drop-shadow(0 28px 32px rgba(26,9,14,.28))}
.fic-v10 .env-back{position:absolute;inset:0;border-radius:8px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 80%,#fff 20%),color-mix(in srgb,var(--accent) 74%,#251319 26%));box-shadow:inset 0 0 0 1px rgba(255,255,255,.23)}
.fic-v10 .env-liner{position:absolute;left:8px;right:8px;top:7px;height:125px;clip-path:polygon(0 0,100% 0,50% 100%);background:repeating-linear-gradient(45deg,rgba(255,255,255,.28) 0 4px,rgba(255,255,255,.14) 4px 8px);z-index:2}
.fic-v10 .env-flap{position:absolute;left:0;right:0;top:0;height:132px;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,#fff 12%),color-mix(in srgb,var(--accent) 72%,#27171b 28%));z-index:7;transform-origin:top center;transition:transform .9s cubic-bezier(.2,.8,.2,1),z-index .2s .45s;backface-visibility:hidden}
.fic-v10 .env-front-left,.fic-v10 .env-front-right,.fic-v10 .env-front-bottom{position:absolute;inset:auto 0 0;height:100%;z-index:5}.fic-v10 .env-front-left{clip-path:polygon(0 0,58% 57%,0 100%);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 83%,#fff 17%),color-mix(in srgb,var(--accent) 78%,#251419 22%))}.fic-v10 .env-front-right{clip-path:polygon(100% 0,42% 57%,100% 100%);background:linear-gradient(225deg,color-mix(in srgb,var(--accent) 90%,#fff 10%),color-mix(in srgb,var(--accent) 72%,#1d1014 28%))}.fic-v10 .env-front-bottom{clip-path:polygon(0 100%,50% 42%,100% 100%);background:linear-gradient(0deg,color-mix(in srgb,var(--accent) 76%,#251419 24%),color-mix(in srgb,var(--accent) 88%,#fff 12%))}
.fic-v10 .wax-seal{position:absolute;left:50%;top:52%;width:64px;height:64px;translate:-50% -50%;z-index:9;border-radius:48% 52% 46% 54%;display:grid;place-items:center;background:radial-gradient(circle at 34% 28%,#f8d992 0 8%,#d2a94e 30%,#8e5f21 100%);box-shadow:0 8px 16px rgba(0,0,0,.25),inset 0 0 0 3px rgba(255,255,255,.2);transition:transform .55s,opacity .35s}.fic-v10 .wax-seal:before{content:"";position:absolute;inset:7px;border:1px solid rgba(103,68,28,.5);border-radius:50%}.fic-v10 .wax-seal i{font:700 26px Georgia,serif;color:#6c431e;z-index:1}.fic-v10 .wax-seal span{position:absolute;inset:-5px;border:1px solid rgba(255,255,255,.18);border-radius:46% 54% 50% 50%}
.fic-v10 .invite-card-mini{position:absolute;z-index:3;bottom:22px;width:306px;max-width:74vw;height:190px;padding:32px 24px;text-align:center;background:linear-gradient(145deg,#fffdf9,#f7eee8);border:1px solid rgba(112,72,79,.12);box-shadow:0 10px 28px rgba(0,0,0,.11);transition:transform 1s cubic-bezier(.18,.83,.25,1),opacity .4s;color:#4c3138}.fic-v10 .invite-card-mini:before{content:"";position:absolute;inset:10px;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.fic-v10 .invite-card-mini span,.fic-v10 .invite-card-mini b,.fic-v10 .invite-card-mini em{display:block;position:relative}.fic-v10 .invite-card-mini span{font-size:8px;letter-spacing:.25em}.fic-v10 .invite-card-mini b{margin:22px 0 10px;font:600 23px "Playfair Display",serif}.fic-v10 .invite-card-mini em{font-style:normal;font-size:11px;letter-spacing:.14em}
.fic-v10 #openInvite{position:relative;z-index:8;display:flex;align-items:center;gap:9px;box-shadow:0 14px 35px rgba(0,0,0,.19);background:#fff;color:#5b3039;padding:14px 24px}.fic-v10 #openInvite i{font-style:normal}.fic-v10 #openInvite:hover{transform:translateY(-2px)}
.fic-v10 .cover.is-opening .wax-seal{transform:scale(.55) rotate(22deg);opacity:0}.fic-v10 .cover.is-opening .env-flap{transform:rotateX(178deg);z-index:1}.fic-v10 .cover.is-opening .invite-card-mini{transform:translateY(-112px) scale(1.03);z-index:8}.fic-v10 .cover.open{opacity:0;visibility:hidden;transition-delay:.95s}
.fic-v10 .hero-inner,.fic-v10 .hero-inner *{opacity:1}.fic-v10 .hero-inner{color:#fff}.fic-v10 .fic-variant-3 .hero-inner{color:var(--ink,#392c30)}
.fic-v10.fic-variant-3 .hero-inner,.fic-v10.fic-variant-3 .hero-inner *{color:var(--ink,#392c30)!important;text-shadow:none}.fic-v10.fic-variant-3 .countdown div{background:rgba(255,255,255,.72);border-color:rgba(0,0,0,.14)}
.fic-v10 .gift{max-width:1040px}.fic-v10 .gift-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:32px}.fic-v10 .gift-card{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;padding:24px;border:1px solid color-mix(in srgb,var(--accent) 18%,#ddd);border-radius:26px;background:linear-gradient(145deg,#fff,#fff9f6);box-shadow:0 18px 50px rgba(60,35,40,.08);text-align:left}.fic-v10 .gift-qr{aspect-ratio:1;background:#fff;border-radius:16px;padding:10px;box-shadow:inset 0 0 0 1px #0001}.fic-v10 .gift-qr img{width:100%;height:100%;object-fit:contain}.fic-v10 .qr-placeholder{height:100%;display:grid;place-items:center;align-content:center;gap:5px;border:1px dashed color-mix(in srgb,var(--accent) 45%,#ddd);border-radius:10px;color:var(--accent);text-align:center}.fic-v10 .qr-placeholder b{font:700 28px "Playfair Display"}.fic-v10 .qr-placeholder span{font-size:9px;color:var(--muted)}.fic-v10 .gift-info span,.fic-v10 .gift-info strong,.fic-v10 .gift-info em{display:block}.fic-v10 .gift-info span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.fic-v10 .gift-info strong{font-size:23px;margin:8px 0}.fic-v10 .gift-info em{font-style:normal;font-size:12px}.fic-v10 .copy-bank{margin-top:14px;border:0;border-radius:999px;padding:10px 14px;background:var(--accent);color:#fff;cursor:pointer}
.fic-v10 .share-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:28px}.fic-v10 .share-actions a,.fic-v10 .share-actions button{border:1px solid color-mix(in srgb,var(--accent) 35%,#ddd);background:#fff;color:var(--ink);padding:11px 16px;border-radius:999px;text-decoration:none;cursor:pointer;font:600 12px inherit}.fic-v10 .share-actions a:hover,.fic-v10 .share-actions button:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 25px rgba(0,0,0,.08)}.fic-v10 .share-note{min-height:18px;margin-top:12px;font-size:11px;color:var(--accent);font-weight:700}
@media(max-width:620px){.fic-v10 .envelope-scene{height:245px}.fic-v10 .envelope3d{width:305px;height:192px}.fic-v10 .invite-card-mini{width:260px;height:165px;padding:26px 18px}.fic-v10 .invite-card-mini b{font-size:19px;margin:18px 0 8px}.fic-v10 .cover{gap:12px}.fic-v10 .cover-copy h3{font-size:29px}.fic-v10 .gift-card{grid-template-columns:110px 1fr;padding:16px;gap:15px}.fic-v10 .gift-info strong{font-size:18px}}

/* ===== V10.2 clean cover state + commercial demo CTA ===== */
html:has(body.invite-locked){overflow:hidden}.fic-v10.invite-locked{overflow:hidden}.fic-v10.invite-locked main,.fic-v10.invite-locked>footer,.fic-v10.invite-locked>.music,.fic-v10.invite-locked>.demo-order-bar{visibility:hidden;pointer-events:none}.fic-v10.invite-open main,.fic-v10.invite-open>footer,.fic-v10.invite-open>.music,.fic-v10.invite-open>.demo-order-bar{visibility:visible}
.fic-v10 .cover{position:fixed;inset:0;z-index:9999;padding:24px;display:grid;place-items:center;background:#3d2729;overflow:hidden;color:#fff;opacity:1;visibility:visible;transition:opacity .7s ease,visibility .7s ease}.fic-v10 .cover-photo{position:absolute;inset:-3%;background:var(--cover-photo,linear-gradient(135deg,#654248,#2f1e21)) center/cover no-repeat;filter:blur(2px);transform:scale(1.05)}.fic-v10 .cover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,14,17,.40),rgba(25,14,17,.62)),radial-gradient(circle at 50% 38%,transparent 0 20%,rgba(0,0,0,.28) 74%)}.fic-v10 .cover-shell{position:relative;z-index:2;width:min(560px,94vw);min-height:min(690px,92vh);padding:36px 30px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border:1px solid rgba(255,255,255,.28);background:rgba(255,251,246,.93);backdrop-filter:blur(18px);box-shadow:0 35px 100px rgba(0,0,0,.32);border-radius:26px;color:#4a3037}.fic-v10 .cover-copy,.fic-v10 .cover-meta{color:#4a3037;text-shadow:none}.fic-v10 .cover-copy small{color:var(--accent);font-size:10px;letter-spacing:.28em}.fic-v10 .cover-copy h3{font-size:clamp(28px,4vw,40px);margin:9px 0 0}.fic-v10 .cover-meta strong{font-size:20px}.fic-v10 .cover-meta span{color:#725e63}.fic-v10 .envelope-scene{height:250px;width:min(430px,88vw)}.fic-v10 .envelope3d{width:355px;height:218px;max-width:82vw}.fic-v10 .invite-card-mini{bottom:18px;width:300px;height:178px}.fic-v10 #openInvite{border:0;border-radius:999px;background:var(--accent);color:#fff;padding:14px 26px;font-weight:850;letter-spacing:.06em;cursor:pointer}.fic-v10 #openInvite:hover{filter:brightness(1.06)}
.fic-v10 .cover.is-opening .env-flap{transform:rotateX(178deg);z-index:1}.fic-v10 .cover.is-opening .wax-seal{opacity:0;transform:scale(.65) rotate(18deg)}.fic-v10 .cover.is-opening .invite-card-mini{transform:translateY(-126px) scale(1.06);z-index:12;box-shadow:0 25px 55px rgba(0,0,0,.18)}.fic-v10 .cover.is-opening .cover-copy,.fic-v10 .cover.is-opening .cover-meta,.fic-v10 .cover.is-opening #openInvite{opacity:0;transform:translateY(10px);transition:.35s}.fic-v10 .cover.open{opacity:0;visibility:hidden;pointer-events:none;transition-delay:.25s}
.fic-v10 .hero-inner,.fic-v10 .hero-inner *{opacity:1!important}.fic-v10.fic-variant-3 .hero-inner,.fic-v10.fic-variant-3 .hero-inner *{color:#3d2d31!important;text-shadow:none!important}.fic-v10.fic-variant-3 .hero-inner .kicker,.fic-v10.fic-variant-3 .hero-inner .hero-script{color:var(--accent)!important}.fic-v10.fic-variant-3 .countdown div,.fic-v10.fic-variant-3 .countdown b,.fic-v10.fic-variant-3 .countdown span{color:#3d2d31!important}
.demo-order-bar{position:fixed;z-index:120;right:18px;bottom:18px;display:flex;align-items:center;gap:16px;padding:12px 12px 12px 18px;border:1px solid rgba(255,255,255,.6);border-radius:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);box-shadow:0 20px 50px rgba(34,20,24,.22);color:#4a3037}.demo-order-bar div{min-width:145px}.demo-order-bar small,.demo-order-bar strong{display:block}.demo-order-bar small{font-size:8px;letter-spacing:.16em;color:#9b6e78;font-weight:900}.demo-order-bar strong{margin-top:3px;font:600 14px "Playfair Display",serif}.demo-order-bar a{height:46px;padding:0 18px;border-radius:14px;display:flex;align-items:center;gap:10px;background:var(--accent);color:#fff;text-decoration:none;font-size:11px;font-weight:900;box-shadow:0 10px 25px color-mix(in srgb,var(--accent) 30%,transparent)}.demo-order-bar a span{font-size:17px}.demo-order-bar:hover{transform:translateY(-2px)}
@media(max-width:620px){.fic-v10 .cover{padding:12px}.fic-v10 .cover-shell{min-height:calc(100vh - 24px);border-radius:20px;padding:26px 16px;gap:12px}.fic-v10 .envelope-scene{height:218px}.fic-v10 .envelope3d{width:286px;height:178px}.fic-v10 .invite-card-mini{width:240px;height:148px;padding:22px 15px}.fic-v10 .invite-card-mini b{font-size:17px;margin:15px 0 7px}.fic-v10 .cover.is-opening .invite-card-mini{transform:translateY(-92px) scale(1.04)}.demo-order-bar{left:10px;right:10px;bottom:10px;padding:9px 9px 9px 13px;border-radius:16px}.demo-order-bar div{min-width:0;flex:1}.demo-order-bar strong{font-size:12px}.demo-order-bar a{height:42px;padding:0 12px;font-size:10px}}

/* ===== V10.3 envelope UX: real closed envelope, no duplicated identity ===== */
.fic-v10 .cover-shell{min-height:min(650px,92vh);gap:14px;padding-top:32px;padding-bottom:32px}
.fic-v10 .cover-copy{margin-bottom:4px}
.fic-v10 .cover-copy h3{margin-top:8px}
.fic-v10 .cover-meta{display:none!important}
.fic-v10 .envelope-scene{height:270px;width:min(455px,88vw);place-items:end center;perspective:1400px}
.fic-v10 .envelope3d{z-index:6;width:390px;height:244px;max-width:84vw;filter:drop-shadow(0 30px 34px rgba(26,9,14,.30))}
.fic-v10 .env-back{border-radius:9px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 84%,#fff 16%),color-mix(in srgb,var(--accent) 70%,#251319 30%));box-shadow:inset 0 0 0 1px rgba(255,255,255,.24),inset 0 -20px 38px rgba(0,0,0,.08)}
.fic-v10 .env-liner{left:9px;right:9px;top:8px;height:143px;z-index:2;background:repeating-linear-gradient(45deg,rgba(255,255,255,.30) 0 5px,rgba(255,255,255,.11) 5px 10px)}
.fic-v10 .env-flap{height:146px;z-index:9;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 92%,#fff 8%),color-mix(in srgb,var(--accent) 70%,#28151b 30%));box-shadow:0 7px 12px rgba(0,0,0,.08)}
.fic-v10 .env-front-left,.fic-v10 .env-front-right,.fic-v10 .env-front-bottom{z-index:7}
.fic-v10 .env-front-left{clip-path:polygon(0 0,58% 58%,0 100%)}
.fic-v10 .env-front-right{clip-path:polygon(100% 0,42% 58%,100% 100%)}
.fic-v10 .env-front-bottom{clip-path:polygon(0 100%,50% 43%,100% 100%)}
.fic-v10 .wax-seal{z-index:11;top:52%;width:60px;height:60px;cursor:pointer;box-shadow:0 9px 18px rgba(0,0,0,.27),inset 0 0 0 3px rgba(255,255,255,.22)}
.fic-v10 .wax-seal:hover{transform:scale(1.07) rotate(-3deg)}
.fic-v10 .invite-card-mini{z-index:4;bottom:18px;width:326px;height:190px;opacity:0;transform:translateY(72px) scale(.94);pointer-events:none;box-shadow:0 10px 24px rgba(0,0,0,.09)}
.fic-v10 .cover.is-opening .env-flap{transform:rotateX(178deg);z-index:2}
.fic-v10 .cover.is-opening .wax-seal{opacity:0;transform:scale(.55) rotate(22deg)}
.fic-v10 .cover.is-opening .invite-card-mini{opacity:1;transform:translateY(-138px) scale(1.04);z-index:12;box-shadow:0 28px 60px rgba(0,0,0,.20);transition:transform 1.05s cubic-bezier(.18,.83,.25,1) .18s,opacity .35s ease .12s}
.fic-v10 .cover.is-opening .cover-copy,.fic-v10 .cover.is-opening #openInvite{opacity:0;transform:translateY(8px);transition:.35s}
.fic-v10 #openInvite{margin-top:2px}
@media(max-width:620px){
 .fic-v10 .cover-shell{min-height:calc(100vh - 24px);gap:10px;padding:24px 15px}
 .fic-v10 .envelope-scene{height:220px}
 .fic-v10 .envelope3d{width:300px;height:188px}
 .fic-v10 .env-flap{height:113px}
 .fic-v10 .env-liner{height:109px}
 .fic-v10 .wax-seal{width:50px;height:50px}
 .fic-v10 .invite-card-mini{width:250px;height:150px;transform:translateY(58px) scale(.94);padding:22px 14px}
 .fic-v10 .invite-card-mini b{font-size:17px;margin:15px 0 7px}
 .fic-v10 .cover.is-opening .invite-card-mini{transform:translateY(-104px) scale(1.03)}
}

/* V10.4 - premium save-the-date calendar */
.fic-v10 .calendar-section{padding-top:76px;padding-bottom:96px}
.fic-v10 .calendar-date-line{font:600 14px/1.5 "Be Vietnam Pro",sans-serif;letter-spacing:.14em;color:var(--accent);text-transform:uppercase}
.fic-v10 .calendar-card{width:min(620px,100%);margin:34px auto 0;padding:32px 34px 28px;background:linear-gradient(160deg,#fff 0%,color-mix(in srgb,var(--paper,#fffaf7) 88%,#fff) 100%);border:1px solid color-mix(in srgb,var(--accent) 20%,#ddd);box-shadow:0 28px 80px rgba(54,32,37,.12);position:relative;overflow:hidden}
.fic-v10 .calendar-card:before,.fic-v10 .calendar-card:after{content:"";position:absolute;border-radius:999px;pointer-events:none}
.fic-v10 .calendar-card:before{width:160px;height:160px;right:-90px;top:-92px;background:color-mix(in srgb,var(--accent) 10%,transparent)}
.fic-v10 .calendar-card:after{width:120px;height:120px;left:-78px;bottom:-78px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}
.fic-v10 .calendar-head{display:flex;align-items:end;justify-content:space-between;gap:16px;padding-bottom:18px;margin-bottom:14px;border-bottom:1px solid color-mix(in srgb,var(--accent) 18%,#ddd);text-align:left}
.fic-v10 .calendar-head span{font:700 13px "Be Vietnam Pro",sans-serif;letter-spacing:.2em;color:var(--accent)}
.fic-v10 .calendar-head strong{font:500 clamp(28px,5vw,44px) "Playfair Display",serif;color:var(--ink)}
.fic-v10 .calendar-weekdays,.fic-v10 .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.fic-v10 .calendar-weekdays{margin-bottom:8px}
.fic-v10 .calendar-weekdays b{display:grid;place-items:center;min-height:28px;font-size:10px;letter-spacing:.1em;color:var(--muted);font-weight:700}
.fic-v10 .calendar-day,.fic-v10 .calendar-empty{aspect-ratio:1/1;display:grid;place-items:center;position:relative;border-radius:50%}
.fic-v10 .calendar-day i{font:500 15px "Be Vietnam Pro",sans-serif;font-style:normal;position:relative;z-index:2}
.fic-v10 .calendar-day.is-event-day{color:#fff;background:#c81d35;box-shadow:0 8px 22px rgba(200,29,53,.28),0 0 0 5px rgba(200,29,53,.10);transform:scale(1.05)}
.fic-v10 .calendar-day.is-event-day:before{content:"";position:absolute;inset:-5px;border:2px solid #c81d35;border-radius:50%;transform:rotate(-8deg);opacity:.9}
.fic-v10 .calendar-day.is-event-day em{position:absolute;right:-4px;top:-8px;color:#c81d35;font-style:normal;font-size:12px;text-shadow:0 1px 0 #fff}
.fic-v10 .calendar-note{margin-top:24px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--accent) 14%,#ddd);display:grid;justify-items:center;gap:4px}
.fic-v10 .calendar-note>span{width:42px;height:2px;background:#c81d35;margin-bottom:8px}
.fic-v10 .calendar-note b{font:600 22px "Playfair Display",serif;color:var(--ink)}
.fic-v10 .calendar-note em{font-style:normal;font-size:12px;color:var(--muted)}
@media(max-width:620px){.fic-v10 .calendar-card{padding:24px 18px 22px}.fic-v10 .calendar-weekdays,.fic-v10 .calendar-grid{gap:4px}.fic-v10 .calendar-day i{font-size:13px}.fic-v10 .calendar-note b{font-size:19px}}

/* V10.5 */
.public-success{max-width:760px;margin:24px auto;padding:14px 18px!important;border:1px solid #b9dfc6!important;background:#effaf2!important;color:#24643b!important;border-radius:16px!important;font-weight:700;text-align:center}

/* V10.7: lời chúc dạng tin nhắn, chia sẻ vị trí và điều khiển âm thanh */
.fic-v10 .published-wish-list{max-width:820px;margin:36px auto 0;display:grid;gap:18px;text-align:left}
.fic-v10 .published-wish-chat{display:flex;align-items:flex-end;gap:11px;max-width:82%}
.fic-v10 .published-wish-chat.wish-right{margin-left:auto;flex-direction:row-reverse}
.fic-v10 .wish-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#2389ff,#0866cc);color:#fff;font-weight:800;box-shadow:0 9px 22px rgba(24,119,242,.24)}
.fic-v10 .wish-message{position:relative;min-width:170px;padding:15px 18px 12px;border-radius:24px 24px 24px 7px;background:linear-gradient(145deg,#2389ff,#0866cc);color:#fff;box-shadow:0 12px 28px rgba(24,119,242,.18)}
.fic-v10 .wish-right .wish-message{border-radius:24px 24px 7px 24px;background:linear-gradient(145deg,#4aa3ff,#1877f2)}
.fic-v10 .wish-message p{margin:0 0 7px;line-height:1.55;font-size:16px}
.fic-v10 .wish-message strong{display:block;font-size:12px;opacity:.88;font-weight:700}
.fic-v10 .event-location-actions{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.fic-v10 .event-location-actions a,.fic-v10 .event-location-actions button{display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--accent) 34%,#ddd);background:#fff;color:var(--accent);padding:9px 12px;border-radius:999px;font:700 12px inherit;text-decoration:none;cursor:pointer}
.fic-v10 .event-location-actions button:hover,.fic-v10 .event-location-actions a:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.fic-v10 .location-share-note{flex-basis:100%;min-height:14px;letter-spacing:0!important;font-size:10px!important;color:var(--muted);font-weight:600}
.fic-v10 .music{width:auto;min-width:52px;height:50px;padding:0 14px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.fic-v10 .music .music-icon{font-size:19px;line-height:1}.fic-v10 .music .music-label{font-size:11px;font-weight:800;white-space:nowrap}
.fic-v10 .music.is-muted{background:#2f2b2d;color:#fff;opacity:.9}.fic-v10 .music.playing:not(.is-muted){animation:v10MusicPulse 1.8s ease-in-out infinite}
@keyframes v10MusicPulse{50%{box-shadow:0 8px 30px #0003,0 0 0 8px color-mix(in srgb,var(--accent) 15%,transparent)}}
@media(max-width:640px){.fic-v10 .published-wish-chat{max-width:94%}.fic-v10 .wish-avatar{flex-basis:36px;width:36px;height:36px}.fic-v10 .music{right:12px;bottom:12px;min-width:46px;height:46px;padding:0 11px}.fic-v10 .music .music-label{display:none}}

/* ===== V10.8.1 demo CTA / audio collision fix ===== */
.fic-v10:has(.demo-order-bar) .music{bottom:92px;right:18px;z-index:130}
.fic-v10:has(.demo-order-bar) .demo-order-bar{z-index:120}
@media(max-width:640px){
  .fic-v10:has(.demo-order-bar) .music{right:12px;bottom:78px}
  .fic-v10:has(.demo-order-bar) .demo-order-bar{left:10px;right:10px;bottom:10px}
}

/* ===== V10.9.0 restored editable invitation sections ===== */
.fic-v10 .family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:820px;margin:34px auto 0}.fic-v10 .family-grid article{padding:28px 22px;border:1px solid color-mix(in srgb,var(--accent),transparent 78%);border-radius:24px;background:color-mix(in srgb,var(--paper,#fffaf7),#fff 45%);box-shadow:0 14px 34px rgba(61,36,40,.07)}.fic-v10 .family-grid article>span{display:block;margin-bottom:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.fic-v10 .family-grid p{margin:6px auto}.fic-v10 .family-grid em{display:block;margin-top:12px;font-style:normal;color:var(--muted,#806e72);font-size:13px}.fic-v10 .love-timeline-list{max-width:820px;margin:34px auto 0;display:grid;gap:14px;text-align:left}.fic-v10 .love-timeline-list article{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:20px 22px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--paper,#fffaf7),#fff 55%);border-radius:0 20px 20px 0}.fic-v10 .love-timeline-list time{font-weight:900;color:var(--accent)}.fic-v10 .love-timeline-list h3{margin:0 0 7px;font-family:"Playfair Display",serif;font-size:24px}.fic-v10 .love-timeline-list p{margin:0;text-align:left}.fic-v10 .dress-code-list{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:28px}.fic-v10 .dress-code-list span{display:inline-flex;align-items:center;justify-content:center;min-width:110px;padding:12px 18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent),transparent 70%);background:color-mix(in srgb,var(--paper,#fffaf7),#fff 58%);font-weight:800}@media(max-width:720px){.fic-v10 .family-grid{grid-template-columns:1fr}.fic-v10 .love-timeline-list article{grid-template-columns:1fr;gap:7px}}
