/* Personalized invitation, vintage cinema ticket and opening veil */
.personal-welcome{margin:24px auto 4px;max-width:720px;text-align:center;animation:personalWelcomeIn 1.15s cubic-bezier(.2,.8,.2,1) both}.personal-welcome .personal-kicker{display:block;margin-bottom:8px;color:#cdb786;font:600 .7rem/1.3 Manrope,sans-serif;letter-spacing:.28em;text-transform:uppercase}.personal-welcome strong{display:block;color:#f5f0e6;font:400 clamp(1.7rem,4vw,3.25rem)/1.05 "Cormorant Garamond",serif}.personal-welcome p{max-width:620px;margin:10px auto 0;color:rgba(245,240,230,.78);font-size:.95rem;line-height:1.7}
@keyframes personalWelcomeIn{from{opacity:0;transform:translateY(22px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
.personal-access-section{position:relative;overflow:hidden;padding:64px 0;background:linear-gradient(145deg,#eee7da 0%,#f8f3e9 52%,#e6ddcf 100%);color:#1f281f}.personal-access-section:before{content:"";position:absolute;inset:0;opacity:.22;background:radial-gradient(circle at 18% 24%,rgba(78,100,69,.18),transparent 28%),radial-gradient(circle at 82% 70%,rgba(176,145,93,.15),transparent 30%),repeating-linear-gradient(102deg,rgba(73,58,38,.03) 0 1px,transparent 1px 9px);pointer-events:none}.personal-access-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;max-width:1040px;margin:auto;padding:38px;border:1px solid rgba(72,78,58,.18);border-radius:28px;background:rgba(255,252,246,.72);box-shadow:0 28px 70px rgba(44,39,28,.14);backdrop-filter:blur(12px)}.personal-access-copy h2{margin:0 0 8px;color:#1c281d;font:500 clamp(2.15rem,5vw,3.7rem)/1 "Cormorant Garamond",serif}.personal-access-copy p{max-width:600px;margin:0;color:#5d6257;line-height:1.75}.personal-access-copy .ticket-name{display:block;margin-bottom:10px;color:#8c744b;font:600 .72rem/1.2 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase}.personal-access-tools{display:grid;grid-template-columns:220px minmax(210px,1fr);gap:20px;align-items:center}.personal-qr-shell{padding:13px;border:1px solid rgba(53,72,52,.2);border-radius:20px;background:#fffaf0;box-shadow:0 14px 34px rgba(31,43,31,.12)}.personal-qr-shell canvas{display:block;width:100%;height:auto;border-radius:9px}.personal-access-actions{display:grid;gap:10px}.personal-access-actions .btn{justify-content:center;min-height:48px}.personal-access-actions .btn.primary{background:#233423;color:#f7f1e5;border-color:#233423}.personal-access-actions .btn.secondary{color:#253126;border-color:rgba(37,49,38,.28);background:rgba(255,255,255,.35)}.personal-access-note{grid-column:1/-1;margin:0;color:#7b7568;font-size:.74rem;text-align:center}
.opening-veil{position:fixed;inset:0;z-index:2147483000;overflow:hidden;pointer-events:auto;background:#f8f5ed;isolation:isolate}.opening-veil:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.9),transparent 38%),linear-gradient(90deg,rgba(218,207,187,.15),transparent 48% 52%,rgba(218,207,187,.15));opacity:.68;transition:opacity 1.1s ease}.veil-panel{position:absolute;top:-4%;bottom:-4%;width:52.5%;will-change:transform;transition:transform 1.75s cubic-bezier(.72,.02,.17,1),filter 1.75s ease;filter:drop-shadow(0 0 25px rgba(70,57,39,.18));background:radial-gradient(ellipse at 18% 35%,rgba(255,255,255,.96),transparent 34%),radial-gradient(ellipse at 77% 58%,rgba(209,198,177,.32),transparent 35%),repeating-linear-gradient(92deg,#faf7ef 0 7%,#e9e1d4 10%,#fffdf7 16%,#eee7dc 22%,#faf7ef 29%);background-size:100% 100%;box-shadow:inset -18px 0 36px rgba(102,86,63,.09)}.veil-panel:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 50% -20%,transparent 0 8%,rgba(118,97,68,.055) 9%,transparent 12%);mix-blend-mode:multiply;opacity:.78}.veil-left{left:-2%;transform-origin:left center;border-radius:0 52% 46% 0/0 9% 11% 0}.veil-right{right:-2%;transform-origin:right center;border-radius:52% 0 0 46%/9% 0 0 11%;transform:scaleX(-1)}.veil-seam{position:absolute;left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);background:linear-gradient(180deg,transparent,#c9b793 15% 85%,transparent);box-shadow:0 0 24px rgba(164,137,88,.36);transition:opacity .55s ease}.veil-monogram{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:86px;height:86px;border:1px solid rgba(145,116,68,.38);border-radius:50%;background:rgba(255,252,245,.58);color:#7c6946;font:500 1rem/1 Manrope,sans-serif;letter-spacing:.23em;box-shadow:0 18px 55px rgba(68,55,38,.12);transition:opacity .45s ease,transform .8s ease}.opening-veil.is-opening .veil-left{transform:translate3d(-104%,0,0) skewY(-2.5deg) scaleX(.94);filter:drop-shadow(28px 0 45px rgba(58,47,31,.22))}.opening-veil.is-opening .veil-right{transform:translate3d(104%,0,0) skewY(2.5deg) scaleX(-.94);filter:drop-shadow(-28px 0 45px rgba(58,47,31,.22))}.opening-veil.is-opening .veil-seam,.opening-veil.is-opening .veil-monogram{opacity:0}.opening-veil.is-opening .veil-monogram{transform:translate(-50%,-50%) scale(.84)}.opening-veil.is-opening:after{opacity:0}.opening-veil.is-finished{pointer-events:none}
.admin-personal-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:rgba(4,8,6,.76);backdrop-filter:blur(12px)}.admin-personal-dialog{width:min(620px,100%);max-height:90vh;overflow:auto;padding:28px;border:1px solid var(--line);border-radius:22px;background:#111822;box-shadow:0 30px 100px rgba(0,0,0,.55)}.admin-personal-dialog h2{margin:4px 0 18px;font-family:var(--serif);font-size:2.2rem;font-weight:400}.admin-personal-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.coordinate-help{grid-column:1/-1;color:var(--muted);font-size:.75rem;line-height:1.5}.admin-qr-preview{display:grid;place-items:center;padding:20px;border-radius:18px;background:#fffaf0}.admin-qr-preview canvas{max-width:260px;width:100%;height:auto}
@media(max-width:820px){.personal-access-card{grid-template-columns:1fr;padding:27px}.personal-access-tools{grid-template-columns:190px 1fr}.personal-access-copy{text-align:center}.personal-access-copy p{margin-inline:auto}}
@media(max-width:600px){.personal-access-section{padding:28px 0}.personal-access-card{margin-inline:12px;padding:20px 16px 16px;gap:18px;border-radius:20px}.personal-access-copy h2{font-size:clamp(1.8rem,9vw,2.35rem);margin-bottom:5px}.personal-access-copy .ticket-name{margin-bottom:6px;font-size:.62rem;letter-spacing:.17em}.personal-access-copy p{font-size:.84rem;line-height:1.48}.personal-access-tools{grid-template-columns:1fr;gap:12px}.personal-qr-shell{width:148px;padding:8px;margin:auto;border-radius:15px;box-shadow:0 10px 24px rgba(31,43,31,.11)}.personal-qr-shell canvas{border-radius:7px}.personal-access-actions{grid-template-columns:1fr 1fr;gap:8px}.personal-access-actions .btn{min-height:42px;padding:9px 10px;font-size:.76rem;line-height:1.15}.personal-access-actions .btn:last-child:nth-child(odd){grid-column:1/-1}.personal-access-note{font-size:.66rem;line-height:1.4}.veil-panel{width:54%}.veil-monogram{width:72px;height:72px}.admin-personal-dialog .dialog-actions{flex-direction:column}.admin-personal-dialog .dialog-actions .btn{width:100%}}
@media(max-width:390px){.personal-access-card{margin-inline:10px;padding-inline:14px}.personal-qr-shell{width:136px}.personal-access-actions{grid-template-columns:1fr}.personal-access-actions .btn,.personal-access-actions .btn:last-child:nth-child(odd){grid-column:auto}}
@media(prefers-reduced-motion:reduce){.opening-veil{transition:opacity .55s ease}.opening-veil.is-opening{opacity:0}.opening-veil.is-opening .veil-panel{transform:none!important}.personal-welcome{animation:none}}
