/* Scoped modal envelope styling. */
.vora-animation-preview .vora-envelope{position:absolute;z-index:1;width:min(90%,560px);aspect-ratio:1.6;top:12px;left:50%;transform:translateX(-50%);filter:drop-shadow(0 22px 24px #10203933)}
.vora-animation-preview .vora-envelope-turn{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform:rotateY(180deg)}
.vora-animation-preview .vora-envelope-front,.vora-animation-preview .vora-envelope-back{position:absolute;inset:0;border:1px solid #baa779;border-radius:16px;background:#ece1c7;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.vora-animation-preview .vora-envelope-front{overflow:hidden}
.vora-animation-preview .vora-envelope-image{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.22}
.vora-animation-preview .vora-envelope-front:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f2e8d0dd,#f2e8d044)}
.vora-animation-preview .vora-envelope-address{position:absolute;z-index:1;left:9%;top:46%;right:25%;display:grid;gap:8px}
.vora-animation-preview .vora-envelope-address small{font-size:10px;text-transform:uppercase;letter-spacing:.2em}
.vora-animation-preview .vora-envelope-address strong{font:clamp(24px,5vw,42px)/1.1 Georgia,serif;overflow-wrap:anywhere}
.vora-animation-preview .vora-envelope-address span{font-size:11px}
.vora-animation-preview .vora-envelope-stamp{position:absolute;z-index:1;right:6%;top:10%;width:clamp(48px,12vw,82px);aspect-ratio:.82;padding:5px;background:#fff7e7;outline:2px dashed #97815d;outline-offset:2px;box-sizing:border-box;display:grid;place-items:center}
.vora-animation-preview .vora-envelope-stamp img{width:100%;height:100%;object-fit:cover}
.vora-animation-preview .vora-envelope-stamp span{font:12px Georgia,serif;overflow-wrap:anywhere;max-width:100%}
.vora-animation-preview .vora-envelope-back{transform:rotateY(180deg);background:#dfcfaf}
.vora-animation-preview .vora-envelope-flap{position:absolute;inset:0 0 auto;height:64%;background:linear-gradient(#f6edd9,#d6bd8d);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:2;backface-visibility:visible}
.vora-animation-preview .vora-envelope-pocket{position:absolute;inset:0;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);background:linear-gradient(135deg,#ecdcc0,#cdb58a)}
.vora-animation-preview .vora-envelope-seal img{width:72%;height:72%;object-fit:contain;border-radius:50%;box-sizing:border-box;mix-blend-mode:multiply;filter:grayscale(1) sepia(.65) contrast(1.15);opacity:.92}
.vora-animation-preview .vora-envelope-seal{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;background:#9c7435;color:#fff0c9;border:3px double #d2b178;font:22px Georgia,serif;z-index:3}
.vora-animation-preview .vora-envelope{filter:drop-shadow(0 32px 28px #34291738);aspect-ratio:1.58}
.vora-animation-preview .vora-envelope-front,.vora-animation-preview .vora-envelope-back{border-radius:7px;border:1px solid #bba477;background-color:#e8dbc0;background-image:repeating-linear-gradient(18deg,#ffffff0a 0 1px,transparent 1px 4px),repeating-linear-gradient(108deg,#876c3d08 0 1px,transparent 1px 5px),linear-gradient(135deg,#fff8e8,#dfccaa);box-shadow:inset 0 0 0 5px #ffffff30,inset 0 0 0 6px #a98a4f38,inset 0 0 35px #72552c16}
.vora-animation-preview .vora-envelope-front:after{inset:12px;border:1px solid #b39a624d;background:linear-gradient(110deg,#f5e9d5ab,#fff5db18 60%,#aa895323);pointer-events:none}
.vora-animation-preview .vora-envelope-image{opacity:.16;filter:sepia(.35) saturate(.6)}
.vora-animation-preview .vora-envelope-address{top:44%;gap:12px;color:#49391e;text-shadow:0 1px #fff9}
.vora-animation-preview .vora-envelope-address small{font-size:10px;letter-spacing:.3em;color:#8a6c39}
.vora-animation-preview .vora-envelope-address strong{font-style:italic;font-weight:400}
.vora-animation-preview .vora-envelope-address span{letter-spacing:.04em;color:#715c3c}
.vora-animation-preview .vora-envelope-stamp{padding:6px;background:#f9f1df;outline:1px dashed #9b8050;outline-offset:3px;box-shadow:0 3px 8px #44301324;transform:rotate(3deg)}
.vora-animation-preview .vora-envelope-stamp img{filter:saturate(.8);border:1px solid #baa77d;box-sizing:border-box}
.vora-animation-preview .vora-envelope-back{background-image:linear-gradient(180deg,#ac8b5820,transparent 40%),repeating-linear-gradient(18deg,#fff1 0 1px,transparent 1px 4px),linear-gradient(120deg,#e7d8bc,#d4bf99)}
.vora-animation-preview .vora-envelope-pocket{background:conic-gradient(from 0deg at 50% 54%,#e8dac1 0deg,#c7ad7e 90deg,#e9dcc3 180deg,#b79a6b 270deg,#e8dac1 360deg);box-shadow:inset 0 -12px 24px #73532619}
.vora-animation-preview .vora-envelope-flap{height:62%;background:linear-gradient(165deg,#fcf4e1 0%,#e6d3af 65%,#c6a76c 100%);filter:drop-shadow(0 4px 3px #5b421640)}
.vora-animation-preview .vora-envelope-flap:after{content:"";position:absolute;inset:9px 12px 12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M2 2 L50 96 L98 2' fill='none' stroke='%23a98948' stroke-opacity='.28' stroke-width='.35'/%3E%3C/svg%3E") center/100% 100% no-repeat;clip-path:polygon(0 0,100% 0,50% 100%)}
.vora-animation-preview .vora-envelope-seal{width:clamp(68px,15vw,104px);height:clamp(68px,15vw,104px);top:55%;border:0;border-radius:47% 53% 48% 52% / 52% 46% 54% 48%;background:radial-gradient(ellipse at 35% 25%,#e7ca87 0,#c49c50 42%,#987030 76%,#e5c882 100%);box-shadow:0 7px 10px #4b321a55,inset 0 2px 3px #fff0bfab,inset 0 -4px 5px #69451488;isolation:isolate;font-size:34px;color:#78531f;text-shadow:0 1px 1px #ffe5a1;}
.vora-animation-preview .vora-envelope-seal:before{content:"";position:absolute;inset:10%;border:1px solid #75501f66;border-radius:50%;box-shadow:0 1px 1px #ffe9b4a6,inset 0 1px 2px #75501f55;pointer-events:none;z-index:2}
.vora-animation-preview .vora-envelope-seal:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(130deg,#fff3c536,transparent 48%,#51391626);pointer-events:none;z-index:3}
.vora-animation-preview .vora-envelope-seal img{position:relative;z-index:1}
.vora-animation-preview{width:100%;max-width:740px;margin:auto;min-width:0}
.vora-preview-note{text-align:center;font:12px/1.5 Arial,sans-serif;color:#76674e;margin:10px 0 18px}
.vora-preview-stage{position:relative;perspective:1400px;isolation:isolate}
.vora-preview-ready{height:clamp(240px,65vw,410px)}
.vora-preview-stage .vora-envelope{position:absolute;top:18px;width:min(92%,560px)}
.vora-preview-ready .vora-envelope-turn{transform:rotateY(0)}
.vora-preview-opening .vora-envelope-turn{animation:voraPreviewTurn 1.8s cubic-bezier(.42,0,.22,1) forwards}
.vora-preview-opening .vora-envelope-flap{animation:voraPreviewFlap 1.05s cubic-bezier(.25,.8,.25,1) 2.05s forwards}
.vora-preview-opening .vora-envelope-seal{animation:voraPreviewSeal .35s 2s forwards}
.vora-preview-opening .vora-envelope{animation:voraPreviewRest 1.25s cubic-bezier(.22,1,.36,1) 3.5s forwards}
.vora-preview-opening .vora-preview-card{position:relative;z-index:5;padding-top:48px;animation:voraPreviewRise 2.05s cubic-bezier(.25,.7,.25,1) 2.75s both}
.vora-preview-revealed .vora-envelope{top:18px;opacity:.75;transform:translateX(-50%) scale(.96)}
.vora-preview-revealed .vora-envelope-turn{transform:rotateY(180deg)}
.vora-preview-revealed .vora-envelope-flap{transform:rotateX(-110deg)}
.vora-preview-revealed .vora-envelope-seal{opacity:0}
.vora-preview-revealed .vora-preview-card{position:relative;z-index:5;padding-top:48px}
.vora-preview-reduced .vora-preview-card{padding-top:0}
.vora-preview-card>.flex.flex-col>.relative,.vora-animation-preview>.flex.flex-col>.relative{width:100%;max-width:640px!important;height:min(80dvh,720px)!important;border-radius:18px!important;margin:auto}
.vora-preview-open,.vora-preview-replay{display:block;margin:20px auto;padding:13px 22px;border-radius:999px;background:#18283c;color:#fff;font:13px Arial,sans-serif;min-height:44px}
.vora-preview-replay{background:transparent;color:inherit;border:1px solid #bfa576}
.vora-preview-actions{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;padding:0 4px}
.vora-preview-actions button{flex:1;min-height:44px;padding:8px 5px;border:1px solid currentColor;border-radius:8px;color:inherit;background:transparent;font:11px/1.3 Arial,sans-serif;opacity:.65;cursor:default}
#vora-studio-root .vora-preview-actions button:disabled,
#vora-studio-root .vora-preview-actions button:disabled:hover{background:transparent!important;background-image:none!important;color:inherit!important;border:1px solid currentColor!important;box-shadow:none!important;cursor:not-allowed!important}
.vora-preview-actions small{width:100%;font:10px/1.4 Arial,sans-serif;text-align:center;opacity:.65}
.vora-ticket-preview__ticket>.vora-preview-actions{padding:14px 20px;margin:0}
@keyframes voraPreviewTurn{from{transform:rotateY(0)}to{transform:rotateY(180deg)}}
@keyframes voraPreviewFlap{to{transform:rotateX(-110deg)}}
@keyframes voraPreviewSeal{to{opacity:0}}
@keyframes voraPreviewRest{to{transform:translateX(-50%) scale(.96);opacity:.75}}
@keyframes voraPreviewRise{0%{opacity:0;transform:translateY(140px) scale(.94)}25%{opacity:1}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.vora-animation-preview *{animation:none!important;transition:none!important}}

/* Subtle paper thickness, lining and crease shadows. */
.vora-animation-preview .vora-envelope-back{box-shadow:inset 0 2px 2px #fff7e2,inset 0 22px 32px #60442135,inset 0 0 0 5px #ffffff20}
.vora-animation-preview .vora-envelope-pocket{background:linear-gradient(150deg,#ffffff20,transparent 40%),conic-gradient(from 0deg at 50% 54%,#e8dac1 0deg,#c7ad7e 90deg,#e9dcc3 180deg,#b79a6b 270deg,#e8dac1 360deg);box-shadow:inset 0 -3px 2px #76552940,inset 0 -16px 26px #73532618}
 .vora-ticket-preview__image{grid-column:1/-1;display:block;width:100%;height:190px;object-fit:cover}

.vora-preview-opening .vora-envelope-turn{will-change:transform}
.vora-preview-opening .vora-preview-card{will-change:transform,opacity}
