/* La entrada vive fuera del lienzo para no alterar la composición ni la captura del editor. */
.invix-entrance{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:auto;padding:clamp(18px,4vw,48px);background:var(--entrance-primary,#fff);color:var(--entrance-text-primary,#111827);opacity:1;transition:opacity .55s ease,visibility .55s ease}
.invix-entrance[hidden]{display:none}.invix-entrance.is-opening{pointer-events:none}.invix-entrance.is-open{opacity:0;visibility:hidden}
.invix-entrance__card{width:min(760px,100%);min-height:min(760px,calc(100vh - 36px));padding:clamp(25px,6vw,64px) clamp(18px,5vw,52px);border-radius:clamp(8px,2vw,20px);background:var(--entrance-secondary,#f8fafc);box-shadow:0 28px 80px rgb(15 23 42 / .24);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.invix-entrance__type,.invix-entrance__date,.invix-entrance__guest,.invix-entrance__hint{font-family:var(--entrance-font-secondary,'Inter',sans-serif);font-size:var(--entrance-secondary-size,1rem);color:var(--entrance-text-secondary,#475569)}
.invix-entrance__type{margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.2em;font-weight:700}.invix-entrance__names{margin:0;max-width:100%;font-family:var(--entrance-font-primary,'Playfair Display',serif);font-size:var(--entrance-primary-size,3.5rem);line-height:1.05;overflow-wrap:anywhere}.invix-entrance__date{margin:.9rem 0 .25rem}.invix-entrance__guest{margin:.25rem 0 1.5rem;font-weight:600}
.invix-envelope-button{appearance:none;-webkit-appearance:none;outline:0;box-shadow:none;color:inherit;position:relative;width:min(330px,82vw);aspect-ratio:1.58;border:0;padding:0;margin:1rem auto .7rem;background:transparent;cursor:pointer;perspective:1000px;filter:drop-shadow(0 18px 16px rgb(15 23 42 / .22))}.invix-envelope{position:absolute;inset:0;border-radius:4px;background:linear-gradient(145deg,#f5e5c9,#dfc39d);transform-style:preserve-3d}.invix-envelope:before,.invix-envelope:after{content:"";position:absolute;inset:0;border-radius:4px}.invix-envelope:before{background:linear-gradient(35deg,#ead1aa 49.5%,transparent 50%) left/50% 100% no-repeat,linear-gradient(-35deg,#e4c69e 49.5%,transparent 50%) right/50% 100% no-repeat;z-index:3}.invix-envelope:after{clip-path:polygon(0 100%,50% 42%,100% 100%);background:linear-gradient(160deg,#ecd4af,#d9b98d);z-index:4}.invix-envelope__letter{position:absolute;left:7%;right:7%;top:8%;height:84%;border-radius:3px;background:#fffaf0;overflow:hidden;box-shadow:0 2px 8px rgb(0 0 0/.15);transition:transform .8s .35s ease;z-index:2}.invix-envelope__flap{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 58%);background:linear-gradient(170deg,#f3dfbe,#d8b789);transform-origin:50% 0;transition:transform .7s ease;z-index:5;backface-visibility:hidden}.invix-envelope__seal{position:absolute;left:50%;top:52%;z-index:7;width:58px;height:58px;border-radius:47% 53% 48% 52%;transform:translate(-50%,-50%) rotate(-8deg);background:radial-gradient(circle at 35% 28%,#d66a65 0 7%,#9f2427 38%,#681317 75%);border:3px ridge #801b20;box-shadow:0 4px 7px rgb(72 11 15/.4),inset 0 0 0 5px rgb(255 181 164/.1);color:#e5a29a;display:grid;place-items:center;font:700 23px Georgia;transition:opacity .25s,transform .4s}.invix-envelope-button.is-opening .invix-envelope__seal{opacity:0;transform:translate(-50%,-80%) rotate(18deg) scale(.7)}.invix-envelope-button.is-opening .invix-envelope__flap{transform:rotateX(180deg);z-index:1}.invix-envelope-button.is-opening .invix-envelope__letter{transform:translateY(-52%)}.invix-entrance__hint{margin:0;font-weight:600}.invix-envelope-button:focus-visible{outline:0}.invix-envelope-button:focus-visible .invix-envelope__seal{box-shadow:0 4px 7px rgb(72 11 15/.4),inset 0 0 0 5px rgb(255 181 164/.1),0 0 0 4px var(--entrance-secondary),0 0 0 7px var(--entrance-text-primary)}
@media(max-width:540px){.invix-entrance__card{min-height:calc(100vh - 36px)}.invix-entrance__names{font-size:min(var(--entrance-primary-size,3rem),14vw)}}
@media(prefers-reduced-motion:reduce){.invix-entrance,.invix-envelope__flap,.invix-envelope__letter,.invix-envelope__seal{transition-duration:.01ms!important}}
/* Los grupos editoriales mantienen cada decisión visual separada y legible en sidebars angostos. */
.invix-entrance-accordion{width:100%;min-width:0;box-sizing:border-box}.invix-entrance-accordion>.customize-accordion__content{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;box-sizing:border-box}.invix-entrance-accordion>.customize-accordion__content>.invix-entrance-settings{grid-column:1/-1;width:100%;min-width:0;max-width:none}.invix-entrance-settings{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin:0;padding:0;border:0;box-sizing:border-box}
.invix-entrance-settings__intro{margin:0;color:#64748b;font-size:.9rem;line-height:1.5}
.invix-entrance-settings__group{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:100%;box-sizing:border-box;gap:.85rem;padding:1rem;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.invix-entrance-settings__group--activation{border-color:#c4b5fd;background:#f5f3ff}
.invix-entrance-settings__group>*{min-width:0;max-width:100%}.invix-entrance-settings__group>header{display:grid;min-width:0;gap:.15rem}.invix-entrance-settings__group>header strong{color:#1e293b;font-size:.92rem}.invix-entrance-settings__group>header small{color:#64748b;line-height:1.4;overflow-wrap:anywhere}
.invix-entrance-settings__master span{display:grid;gap:.2rem}.invix-entrance-settings__master small{font-weight:400;line-height:1.35;color:#64748b}
.invix-entrance-settings__checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.invix-entrance-settings__checks .toggle-field{margin:0;padding:.65rem;border:1px solid #e2e8f0;border-radius:9px;background:#f8fafc}
.invix-entrance-settings__fields,.invix-entrance-settings__colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.invix-entrance-settings__wide{grid-column:1/-1}
.invix-entrance-settings .details-field,.invix-entrance-settings .toggle-field,.invix-entrance-settings input,.invix-entrance-settings output,.invix-entrance-settings .file-picker-field{min-width:0;max-width:100%;box-sizing:border-box}.invix-entrance-settings .file-picker-field__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invix-entrance-settings__note{display:flex;min-width:0;overflow-wrap:anywhere;gap:.5rem;margin:0;padding:.7rem;border-radius:8px;background:#eff6ff;color:#1e40af;font-size:.78rem;line-height:1.45}.invix-entrance-settings__note i{margin-top:.15rem}
.invix-entrance-color{display:flex;align-items:center;gap:.55rem}.invix-entrance-color input{width:44px;min-width:44px;height:38px;padding:2px}.invix-entrance-color output{min-width:0;color:#475569;font:600 .76rem ui-monospace,SFMono-Regular,monospace;overflow:hidden;text-overflow:ellipsis}
.invix-envelope__seal-logo{width:68%;height:68%;object-fit:contain;filter:brightness(0) invert(1);opacity:.82}.invix-envelope__seal-initials{font:700 21px Georgia,serif;letter-spacing:.02em}
@media(max-width:420px){.invix-entrance-settings__checks,.invix-entrance-settings__fields,.invix-entrance-settings__colors{grid-template-columns:1fr}.invix-entrance-settings__wide{grid-column:auto}}

/* La espera forma parte de la presentación: progreso minimalista con la paleta activa. */
.invix-entrance__loading{--entrance-progress:0%;width:min(430px,86vw);display:grid;justify-items:center;gap:1rem;padding:.5rem 0;animation:invixLoaderArrive .65s ease both}.invix-entrance__loading.is-complete{animation:invixLoaderLeave .42s ease both}
.invix-loader__label{margin:0;color:var(--entrance-text-primary);font:600 var(--entrance-secondary-size,1rem) var(--entrance-font-secondary,'Inter',sans-serif);letter-spacing:.06em}.invix-loader__label:after{content:"";display:inline-block;width:1.4em;text-align:left;animation:invixLoaderDots 1.4s steps(4,end) infinite}
.invix-loader__track{position:relative;width:100%;height:12px;padding:2px;border-radius:999px;background:color-mix(in srgb,var(--entrance-primary) 72%,var(--entrance-secondary));border:1px solid color-mix(in srgb,var(--entrance-text-secondary) 16%,transparent);box-shadow:inset 0 1px 3px rgb(15 23 42/.1),0 5px 18px rgb(15 23 42/.08);overflow:hidden}.invix-loader__fill{position:relative;display:block;height:100%;width:var(--entrance-progress);border-radius:999px;background:linear-gradient(90deg,var(--entrance-text-secondary),var(--entrance-text-primary));transition:width .22s ease;overflow:hidden}.invix-loader__fill:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgb(255 255 255/.38) 48%,transparent 76%);transform:translateX(-110%);animation:invixProgressSheen 1.8s ease-in-out infinite}.invix-loader__percentage{margin-top:-.35rem;color:var(--entrance-text-secondary);font:600 .78rem var(--entrance-font-secondary,'Inter',sans-serif);font-variant-numeric:tabular-nums}
.invix-entrance__envelope-stage{display:grid;justify-items:center}.invix-entrance__envelope-stage[hidden]{display:none}.invix-entrance__envelope-stage.is-visible{animation:invixEnvelopeReveal .75s cubic-bezier(.2,.8,.2,1) both}
@keyframes invixProgressSheen{0%,35%{transform:translateX(-110%)}75%,100%{transform:translateX(110%)}}@keyframes invixLoaderDots{0%{content:""}25%{content:"."}50%{content:".."}75%,100%{content:"..."}}@keyframes invixLoaderArrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes invixLoaderLeave{to{opacity:0;transform:translateY(-8px)}}@keyframes invixEnvelopeReveal{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.invix-loader__label:after,.invix-loader__fill:after,.invix-entrance__loading,.invix-entrance__envelope-stage{animation-duration:.01ms!important;animation-iteration-count:1!important}}

.invix-envelope__letter-preview{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.invix-entrance-preview-picker{margin:0}.invix-entrance-preview{display:grid;gap:.75rem}.invix-entrance-preview[hidden]{display:none}.invix-entrance-preview img{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.invix-entrance-preview .floating-btn{justify-content:center;width:100%}
