/* v119: „Scrisoare cu sigiliu”. --ex-paper = hârtia, --ex-ink = cerneala, --ex-accent = ceara sigiliului, --ex-wash = masa. */
.ex-scrisoare{--lt-paper:var(--ex-paper);--lt-ink:var(--ex-ink);--lt-wax:var(--ex-accent);--lt-wax-dark:color-mix(in srgb,var(--ex-accent) 70%,#000);--lt-wax-light:color-mix(in srgb,var(--ex-accent) 72%,#fff);--lt-gold:color-mix(in srgb,var(--ex-ink) 55%,#b0894c);--lt-script:'Great Vibes',Georgia,cursive;
 --lt-tex:radial-gradient(120% 90% at 18% 8%,#ffffff8c,transparent 60%),radial-gradient(90% 70% at 92% 100%,#0000000a,transparent 70%),radial-gradient(60% 50% at 70% 30%,#00000005,transparent 70%)}

/* ---------- Scrisoarea închisă ---------- */
.lt-opening{background:radial-gradient(120% 90% at 50% 30%,color-mix(in srgb,var(--ex-wash) 45%,#fff),var(--ex-wash))}
.lt-closed{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:30px 18px 28px;text-align:center}
.lt-scene{width:min(88%,360px);perspective:1600px}
.lt-closed .lt-letter{transform:rotateX(6deg) rotateZ(-1.5deg)}
.lt-letter{position:relative;width:100%;aspect-ratio:1/1.18;transform-style:preserve-3d;container-type:inline-size}
.lt-panel{position:absolute;left:0;right:0;height:33.34%;transform-style:preserve-3d}
.lt-mid{top:33.33%;overflow:hidden;background:var(--lt-paper);background-image:var(--lt-tex);box-shadow:0 2px 0 color-mix(in srgb,var(--lt-paper) 88%,#000),0 4px 0 color-mix(in srgb,var(--lt-paper) 94%,#000),0 22px 34px #2a1d1233,0 6px 10px #2a1d121a}
.lt-top{top:0;transform-origin:50% 100%;transform:rotateX(-180deg);z-index:3}
.lt-bottom{top:66.66%;transform-origin:50% 0;transform:rotateX(180deg);z-index:2}
.lt-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--lt-paper);background-image:var(--lt-tex)}
.lt-back{transform:rotateX(180deg);background-image:linear-gradient(180deg,#00000014,#0000 18%),var(--lt-tex)}
.lt-top .lt-back{overflow:visible;box-shadow:0 6px 12px #2a1d1222;border-bottom:1px solid #0000000d}
.lt-window{position:absolute;left:0;right:0;height:300%}

/* Interiorul scrisorii (vizibil la desfacere). */
.lt-inside{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;padding:7cqi 8cqi;color:var(--lt-ink);text-align:center}
.lt-in-kicker:after{content:'❦';display:block;margin-top:2.4cqi;font:400 max(12px,5cqi)/1 Georgia,serif;letter-spacing:0;color:var(--lt-wax)}
.lt-in-foot{display:flex;flex-direction:column;align-items:center;gap:2cqi}
.lt-in-kicker{margin:0;font:600 max(7px,2.6cqi)/1.4 Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--lt-gold)}
.lt-in-name{margin:0;font:400 max(22px,13cqi)/1.05 var(--lt-script);color:var(--lt-ink);padding:.12em .2em 0}
.lt-in-name span{display:inline-block;clip-path:inset(0 100% 0 0);transition:clip-path 1.1s steps(18,end) 2.3s}
.lt-in-date{margin:0;font:600 max(7px,2.8cqi)/1.4 Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--lt-gold)}
.lt-in-line{margin:0;font:italic max(11px,4.4cqi)/1.5 Georgia,serif;color:color-mix(in srgb,var(--lt-ink) 80%,transparent)}
.lt-in-photo{width:38%;aspect-ratio:3/4;height:auto;object-fit:cover;padding:1.4cqi;background:#fff;box-shadow:0 4px 10px #2a1d1224;transform:rotate(-3deg)}

/* Sigiliul de ceară: formă neregulată, inițiale în relief; la deschidere se crapă în două. */
.lt-seal{position:absolute;left:50%;bottom:0;width:24cqi;aspect-ratio:1;transform:translate(-50%,46%);z-index:5;display:grid;place-items:center;filter:drop-shadow(0 3px 3px #00000033)}
.lt-seal i{position:absolute;inset:0;border-radius:47% 53% 50% 46%/52% 46% 54% 48%;background:radial-gradient(circle at 34% 30%,var(--lt-wax-light),var(--lt-wax) 45%,var(--lt-wax-dark) 100%);box-shadow:inset 0 0 0 4cqi color-mix(in srgb,var(--lt-wax) 85%,#000 15%),inset 0 0 0 4.6cqi #ffffff18;transition:transform .7s cubic-bezier(.4,0,.6,1),opacity .6s ease}
.lt-seal-l{clip-path:polygon(0 0,52% 0,46% 22%,56% 40%,44% 58%,54% 76%,47% 100%,0 100%)}
.lt-seal-r{clip-path:polygon(52% 0,100% 0,100% 100%,47% 100%,54% 76%,44% 58%,56% 40%,46% 22%)}
.lt-seal b{position:relative;font:400 max(12px,7cqi)/1 var(--lt-script);color:color-mix(in srgb,var(--lt-wax) 45%,#000);text-shadow:0 1px 0 #ffffff40,0 -1px 0 #00000040;transition:opacity .3s ease}
.lt-closed .ex-open{margin-top:8px;border-color:color-mix(in srgb,var(--lt-wax) 50%,#d9cabb);color:var(--lt-ink);background:#fffdf8}
.lt-closed .ex-note{margin:0;font:italic 15px/1.5 Georgia,serif;color:color-mix(in srgb,var(--lt-ink) 80%,transparent)}

/* Desfacerea (≈3,6 s): sigiliul se crapă, panoul de sus se ridică, apoi cel de jos, apoi se scrie numele. */
.lt-top{transition:transform 1s cubic-bezier(.45,0,.25,1) .55s}
.lt-bottom{transition:transform 1s cubic-bezier(.45,0,.25,1) 1.35s}
.lt-opening.is-opening .lt-seal-l{transform:translate(-26%,30%) rotate(-24deg);opacity:0}
.lt-opening.is-opening .lt-seal-r{transform:translate(26%,34%) rotate(22deg);opacity:0}
.lt-opening.is-opening .lt-seal b{opacity:0;transition:opacity .3s}
.lt-opening.is-opening .lt-top,.lt-opening.is-opening .lt-bottom{transform:rotateX(0)}
.lt-opening.is-opening .lt-in-name span{clip-path:inset(0 0 0 0)}
.lt-opening.is-opening .ex-open,.lt-opening.is-opening .ex-note{opacity:0;transition:opacity .3s}
.lt-opening.is-opening{animation:lt-fade-out .4s 3.25s forwards}

/* ---------- Scrisoarea deschisă (invitația) ---------- */
.lt-card{padding:26px 14px 24px;background:radial-gradient(120% 80% at 50% 0,color-mix(in srgb,var(--ex-wash) 40%,#fff),var(--ex-wash));font:15px/1.7 Georgia,serif}
.lt-card.lt-revealed{animation:lt-rise .8s cubic-bezier(.2,.7,.2,1) both}
.lt-sheet{position:relative;container-type:inline-size;max-width:540px;margin:0 auto;padding:54px 34px 46px;color:var(--lt-ink);background:var(--lt-paper);background-image:var(--lt-tex);box-shadow:0 20px 44px #2a1d1230,0 2px 0 #ffffff80 inset;border-radius:3px;text-align:center}
.lt-fold{position:absolute;left:0;right:0;height:14px;pointer-events:none;background:linear-gradient(180deg,#0000,#00000010 48%,#ffffff70 52%,#0000)}
.lt-fold-1{top:calc(33.33% - 7px)}.lt-fold-2{top:calc(66.66% - 7px)}
.lt-photo{position:relative;width:min(46%,200px);margin:0 auto 22px;padding:9px 9px 26px;background:#fff;box-shadow:0 8px 20px #2a1d1226;transform:rotate(-2.5deg)}
.lt-photo img{display:block;width:100%;aspect-ratio:3/4;height:auto;object-fit:cover}
.lt-clip{position:absolute;top:-16px;left:50%;width:20px;height:42px;transform:translateX(-50%) rotate(4deg);border:3px solid #b9a37a;border-radius:10px;border-bottom-color:transparent;z-index:2}
.lt-card .lt-greeting{margin:0;font:400 clamp(30px,8cqi,40px)/1.2 var(--lt-script);color:var(--lt-ink);text-align:left}
.lt-card .lt-invite{margin:6px 0 0;font:italic 17px/1.6 Georgia,serif;text-align:left}
.lt-card .lt-name{font:400 clamp(46px,12cqi,66px)/1.1 var(--lt-script);margin:18px -.2em 4px;padding:.18em .2em 0;color:var(--lt-ink);letter-spacing:0;outline:none}
.lt-card .lt-date{margin:0 0 6px;font:600 12px/1.6 Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--lt-gold)}
.lt-card .lt-message{margin:18px auto 6px;max-width:34ch;font:italic 17px/1.85 Georgia,serif;white-space:pre-line}
.lt-card .lt-people{display:grid;gap:12px;margin:18px 0 4px}
.lt-card .lt-label{margin:0 0 4px;font:600 10px/1.6 Arial,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--lt-gold)}
.lt-card .lt-person{margin:0;font:18px/1.4 Georgia,serif}
.lt-card .lt-places{display:grid;gap:22px;margin:22px 0 6px;padding-top:22px;border-top:1px dashed color-mix(in srgb,var(--lt-ink) 25%,transparent)}
.lt-card .lt-icon{display:block;width:min(60%,170px);height:auto;margin:0 auto 6px;mix-blend-mode:multiply;opacity:.9}
.lt-card .lt-place h3{font:400 21px/1.3 Georgia,serif;margin:4px 0 2px}
.lt-card .lt-place p{margin:0;color:color-mix(in srgb,var(--lt-ink) 78%,transparent)}
.lt-card .lt-time{font:400 30px/1 Georgia,serif}
.lt-card .lt-response{margin-top:20px;padding-top:22px;border-top:1px dashed color-mix(in srgb,var(--lt-ink) 25%,transparent)}
.lt-card .lt-question{margin:0 0 6px;font:italic 19px/1.5 Georgia,serif}
.lt-card .lt-deadline{margin:0 0 6px;font-size:14px;color:color-mix(in srgb,var(--lt-ink) 75%,transparent)}
.lt-card .premium-rsvp{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-height:50px;margin:14px 0 6px;padding:12px 28px;border:0;border-radius:30px;background:color-mix(in srgb,var(--lt-wax) 45%,var(--lt-ink));color:#fffaf0;font:600 14px Arial,sans-serif;cursor:pointer;box-shadow:0 8px 18px #1d140c33}
.lt-card .lt-sign{position:relative;margin:26px 0 0;padding-right:78px;text-align:right}
.lt-card .lt-sign p{margin:0;font:italic 16px/1.4 Georgia,serif}
.lt-card .lt-sign .lt-sign-name{font:400 32px/1.15 var(--lt-script)}
.lt-card .lt-seal-small{left:auto;right:4px;bottom:50%;width:54px;transform:translateY(50%) rotate(-8deg);container-type:normal}
.lt-card .lt-seal-small i{box-shadow:inset 0 0 0 9px color-mix(in srgb,var(--lt-wax) 85%,#000 15%),inset 0 0 0 10px #ffffff18}
.lt-card .lt-seal-small b{font-size:20px}
@container (min-width:470px){.lt-card .lt-places{grid-template-columns:1fr 1fr;gap:18px}}

/* ---------- Miniatura din catalog: la hover / în centrul ecranului, scrisoarea se desface. ---------- */
.experience-mini.lt-mini{background:radial-gradient(110% 80% at 50% 30%,color-mix(in srgb,var(--ex-wash) 45%,#fff),var(--ex-wash))}
.lt-mini .lt-closed{min-height:0;height:100%;padding:22px 12px 16px;gap:14px}
.lt-mini .lt-scene{width:min(84%,250px)}
.lt-mini .ex-open{font-size:11px;min-height:36px;padding:8px 15px}
.lt-mini .ex-note{display:none}
.lt-mini .lt-top{transition-delay:.25s;transition-duration:.8s}
.lt-mini .lt-bottom{transition-delay:.85s;transition-duration:.8s}
.lt-mini .lt-in-name span{clip-path:none}
.model-link:is(:focus-visible,.scroll-open) .lt-mini :is(.lt-seal-l,.lt-seal-r,.lt-seal b){opacity:0}
.model-link:is(:focus-visible,.scroll-open) .lt-mini :is(.lt-top,.lt-bottom){transform:rotateX(0)}
@media(hover:hover){.model-link:hover .lt-mini :is(.lt-seal-l,.lt-seal-r,.lt-seal b){opacity:0}.model-link:hover .lt-mini :is(.lt-top,.lt-bottom){transform:rotateX(0)}}

@keyframes lt-fade-out{to{opacity:0}}
@keyframes lt-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:480px){.lt-closed{min-height:520px}.lt-sheet{padding:46px 22px 40px}.lt-card .lt-sign{padding-right:72px}}
@media(prefers-reduced-motion:reduce){.ex-scrisoare *{transition:none!important}.lt-opening.is-opening,.lt-card.lt-revealed{animation:none!important}.lt-in-name span{clip-path:none!important}}

/* v119b: prima impresie mai bogată — adresă scrisă de mână, timbru, panglică, sigiliu cu ceară curgătoare, petale. */
.lt-scene{position:relative;width:min(92%,400px)}
.lt-opening{background:radial-gradient(70% 45% at 50% 42%,color-mix(in srgb,var(--ex-wash) 30%,#fff),transparent 70%),linear-gradient(135deg,color-mix(in srgb,var(--ex-wash) 70%,#fff),var(--ex-wash))}
.lt-petals{position:absolute;inset:-6% -10%;pointer-events:none;background:
 radial-gradient(5px 9px at 12% 22%,color-mix(in srgb,var(--lt-wax) 45%,#fff) 60%,#0000 64%),radial-gradient(7px 4px at 86% 18%,color-mix(in srgb,var(--lt-wax) 55%,#fff) 60%,#0000 64%),radial-gradient(4px 8px at 90% 70%,color-mix(in srgb,var(--lt-wax) 40%,#fff) 60%,#0000 64%),radial-gradient(8px 5px at 8% 78%,color-mix(in srgb,var(--lt-wax) 50%,#fff) 60%,#0000 64%),radial-gradient(3px 6px at 20% 64%,#d9c7a3 60%,#0000 64%),radial-gradient(6px 3px at 78% 86%,#d9c7a3 60%,#0000 64%),radial-gradient(3px 5px at 70% 10%,#cbb98f 60%,#0000 64%);opacity:.9;transition:opacity .5s}
.lt-ribbon{position:absolute;left:50%;top:0;bottom:-2px;width:7cqi;transform:translateX(-50%);background:linear-gradient(90deg,color-mix(in srgb,var(--lt-wax) 80%,#000),var(--lt-wax) 30%,color-mix(in srgb,var(--lt-wax) 60%,#fff) 50%,var(--lt-wax) 70%,color-mix(in srgb,var(--lt-wax) 80%,#000));opacity:.92;box-shadow:0 0 4px #0000002a}
.lt-tails{position:absolute;left:50%;top:66.6%;width:30%;height:22%;transform:translateX(-50%);z-index:0;pointer-events:none;transition:opacity .5s}
.lt-tails i{position:absolute;top:0;width:12%;height:100%;background:linear-gradient(90deg,color-mix(in srgb,var(--lt-wax) 80%,#000),var(--lt-wax) 40%,color-mix(in srgb,var(--lt-wax) 65%,#fff) 55%,var(--lt-wax));clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%);transform-origin:top center;box-shadow:0 2px 4px #0000002a}
.lt-tails i:first-child{left:36%;transform:rotate(16deg)}.lt-tails i:last-child{right:36%;transform:rotate(-12deg)}
.lt-mini .lt-tails,.lt-mini .lt-petals{display:none}
.lt-address{position:absolute;left:7cqi;top:5cqi;margin:0;text-align:left;font:400 max(12px,6.4cqi)/1 var(--lt-script);color:var(--lt-ink);opacity:.85}
.lt-address span{display:block;font:600 max(6px,2.3cqi)/1.6 Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--lt-gold);margin-bottom:1cqi}
.lt-stamp{position:absolute;right:6cqi;top:4.5cqi;width:13cqi;aspect-ratio:4/5;display:grid;place-content:center;gap:.6cqi;background:color-mix(in srgb,var(--lt-wax) 16%,var(--lt-paper));border:1.2cqi solid #0000;outline:1px solid color-mix(in srgb,var(--lt-wax) 35%,transparent);outline-offset:-2.4cqi;mask:radial-gradient(1.1cqi at 50% 50%,#0000 96%,#000) 0 0/3.2cqi 3.2cqi round,linear-gradient(#000 0 0) content-box;transform:rotate(4deg);color:var(--lt-wax-dark);text-align:center}
.lt-stamp b{font:400 max(10px,5cqi)/1 var(--lt-script)}
.lt-stamp small{font:700 max(5px,1.8cqi)/1 Arial,sans-serif;letter-spacing:.12em}
/* Sigiliu mai mare, cu margine de ceară curgătoare și un luciu discret. */
.lt-seal{width:27cqi}
.lt-seal:before{content:'';position:absolute;inset:-9%;border-radius:42% 58% 47% 53%/55% 43% 57% 45%;background:radial-gradient(circle at 40% 35%,var(--lt-wax-light),var(--lt-wax) 50%,var(--lt-wax-dark));z-index:-1;transition:opacity .4s}
.lt-seal:after{content:'';position:absolute;inset:8%;border-radius:50%;background:linear-gradient(115deg,#0000 35%,#ffffff55 48%,#0000 60%);background-size:250% 100%;animation:lt-gloss 5s ease-in-out infinite;pointer-events:none;transition:opacity .3s}
.lt-card .lt-seal-small:before,.lt-card .lt-seal-small:after{display:none}
.lt-opening.is-opening :is(.lt-seal:before,.lt-seal:after,.lt-tails,.lt-petals){opacity:0}
.lt-opening.is-opening :is(.lt-address,.lt-stamp,.lt-ribbon){opacity:0;transition:opacity .4s .3s}
.model-link:is(:focus-visible,.scroll-open) .lt-mini :is(.lt-seal:before,.lt-seal:after){opacity:0}
@media(hover:hover){.model-link:hover .lt-mini :is(.lt-seal:before,.lt-seal:after){opacity:0}}
@keyframes lt-gloss{0%,55%{background-position:120% 0}85%,100%{background-position:-20% 0}}
@media(prefers-reduced-motion:reduce){.lt-seal:after{animation:none}}
