/* ===== v4: video-recuerdo en portada, recuerdos adaptables, cierre sin hueco, selector de solo vista ===== */

/* portada: video en arco, como un recuerdo con humo */
.cover-mem{position:relative;width:min(76vw,310px);margin:10px auto -34px;z-index:1}
.cover-mem .cover-photo{width:100%;margin:0;aspect-ratio:3/4.1;position:relative}
.cover-video video{width:100%;height:100%;object-fit:cover;object-position:50% 36%;display:block;background:#0e0c09;filter:sepia(.2) saturate(1.06) contrast(1.06) brightness(.97)}
.cover-video .grain-l{position:absolute;inset:0;z-index:2;opacity:.18;mix-blend-mode:overlay;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain 1.2s steps(6) infinite}
.cover-video .light-leak{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(circle at 10% 6%,rgba(255,190,110,.5),transparent 46%),radial-gradient(circle at 96% 94%,rgba(255,150,80,.28),transparent 42%);animation:leak 7s ease-in-out infinite alternate}
@keyframes leak{from{opacity:.55}to{opacity:1}}
.smoke{position:absolute;pointer-events:none;mix-blend-mode:screen;filter:blur(5px);
  background:var(--smoke) 0 0/72% no-repeat,var(--smoke) 100% 38%/58% no-repeat,var(--smoke) 28% 100%/68% no-repeat}
.smoke.s-back{inset:-16% -34% -6% -34%;z-index:-1;opacity:.5;animation:smokeA 26s ease-in-out infinite alternate}
.smoke.s-front{left:-36%;right:-36%;bottom:-18%;height:62%;z-index:3;opacity:.55;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 58%);mask-image:linear-gradient(to bottom,transparent,#000 58%);animation:smokeB 19s ease-in-out infinite alternate}
@keyframes smokeA{from{transform:translate3d(-4%,3%,0) scale(1) rotate(-2deg)}to{transform:translate3d(5%,-6%,0) scale(1.14) rotate(3deg)}}
@keyframes smokeB{from{transform:translate3d(5%,4%,0) scale(1.05)}to{transform:translate3d(-6%,-5%,0) scale(1.2) rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.smoke,.cover-video .grain-l,.cover-video .light-leak{animation:none!important}}
html.rm .smoke,html.rm .cover-video .grain-l,html.rm .cover-video .light-leak{animation:none!important}

/* recuerdos: la altura se adapta a cada foto (horizontales sin hueco) */
.slide{height:var(--h,min(100svh,760px));transition:height .7s cubic-bezier(.2,.8,.2,1)}
.sl::before{content:'';position:absolute;inset:-40px;background:var(--u) center/cover no-repeat;filter:blur(34px) brightness(.5) saturate(1.15)}
.sl .im{position:absolute;left:0;right:0;top:56px;bottom:150px;padding:0;display:flex;align-items:center;justify-content:center;z-index:1}
.sl .im::before{display:none}
.sl .im picture{display:contents}
.sl .im img,.sl .im video{position:relative;width:auto;height:auto;max-width:min(94%,1100px);max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 24px 70px rgba(0,0,0,.65)}
.sl .im .ph{position:relative;width:min(90%,420px);height:100%}
.sl-title{top:18px}
.sl-cap{bottom:38px;z-index:3}
.slide::after{background:linear-gradient(180deg,rgba(10,10,11,.55),transparent 18%,transparent 62%,rgba(10,10,11,.7))}

/* cierre del pastel: sin hueco vacío antes de apagar las velas */
#final{padding-bottom:90px}
.closing{max-height:0;overflow:hidden;margin-top:0;transition:opacity 1.2s,transform 1.2s,max-height 1.4s ease,margin-top 1s}
.closing.show{max-height:1200px;margin-top:26px}

/* selector de ocasiones: solo para ver */
.occ3{cursor:default;pointer-events:auto}
.occ-cap{display:flex;flex-direction:column;align-items:center;gap:2px;margin:-8px 0 30px;text-align:center}
.occ-cap b{font:700 clamp(22px,5.5vw,30px) var(--f-display);color:var(--gold)}
.occ-cap span{font:italic 400 clamp(17px,4.2vw,21px) var(--f-serif);color:var(--silver)}

.sl .im{bottom:176px}
.sl-cap{bottom:52px}
.sl-dots{bottom:20px}
