
/* v1.4.0 — Efectos premium para álbumes (solo body.vnga-album-page).
   La portada siempre queda visible; el movimiento se dispara una sola vez. */
.vnga-album-page .vn-brand{position:relative;isolation:isolate;z-index:1}
.vnga-album-page .vn-brand::before{
  content:"";position:absolute;inset:-12px -42px;pointer-events:none;z-index:-1;
  background:linear-gradient(90deg,rgba(32,12,25,.48),rgba(32,12,25,.1) 40%,rgba(32,12,25,.35)),url('logo-vinedo-atmosfera.webp') center 48%/cover no-repeat;
  filter:blur(8px) saturate(1.25);
  opacity:.66;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,black 24%,black 72%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,black 24%,black 72%,transparent 100%);
}
.vnga-album-page .vn-page-shell{max-width:1050px!important}
/* Título editorial, con halo lateral sin bloquear la lectura. */
.vnga-album-page .vn-page-heading{
 position:relative;isolation:isolate;z-index:0;
 font-family:var(--vn-font-display,'Cormorant Garamond',Georgia,serif)!important;
 font-size:clamp(3rem,5.7vw,5.7rem)!important;
 color:#371128;line-height:1.04;letter-spacing:-.04em;
 padding:22px 0 18px!important;
 margin:0 auto 12px!important;
 max-width:100%;text-wrap:balance;
}
.vnga-album-page .vn-page-heading::before{
 content:"";position:absolute;z-index:-1;pointer-events:none;
 inset:-9px -60px -13px -52px;
 background:
  radial-gradient(ellipse 68% 89% at 75% 52%,rgba(120,39,86,.23) 0%,rgba(115,48,91,.12) 50%,transparent 91%),
  radial-gradient(ellipse 45% 72% at 36% 57%,rgba(213,151,181,.12),transparent 86%);
 filter:blur(14px);
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 80%,transparent 100%);
 mask-image:linear-gradient(90deg,transparent 0%,#000 17%,#000 80%,transparent 100%);
}
.vnga-album-page .vn-page-heading::after{
 content:"";display:block;position:relative;width:132px;height:3px;
 margin:15px 0 0;background:linear-gradient(90deg,#741643,#dca75f 66%,transparent);
 border-radius:3px;transform-origin:left;
 box-shadow:0 2px 7px rgba(182,117,72,.15);
}
/* Portada principal: 1 foto usa toda la superficie; 2-4 forman mosaico. */
.vnga-album-page .vnga-featured-collage{
 display:grid!important;position:relative;isolation:isolate;
 grid-template-columns:1.36fr .75fr;grid-template-rows:repeat(2,minmax(0,1fr));
 gap:8px;width:100%;max-width:100%;height:clamp(310px,44vw,500px);
 margin:24px 0 37px!important;padding:8px;
 border-radius:20px;overflow:hidden;background:#3d172a;
 box-shadow:0 26px 65px rgba(54,13,37,.20),0 3px 16px rgba(54,13,37,.10);
 box-sizing:border-box;
}
.vnga-album-page .vnga-featured-collage .vnga-collage-tile{
 overflow:hidden;position:relative;min-width:0;min-height:0;background:#52253a;
 border-radius:9px;will-change:transform;transform:translateZ(0);
}
.vnga-album-page .vnga-featured-collage .vnga-featured-photo{
 display:block;width:100%;height:100%;max-width:none!important;
 object-fit:cover;object-position:center;filter:saturate(1.07) contrast(1.035);
}
.vnga-album-page .vnga-collage-tile-1{grid-area:1/1/3/2}
.vnga-album-page .vnga-collage-tile-2{grid-area:1/2/2/3}
.vnga-album-page .vnga-collage-tile-3{grid-area:2/2/3/3}
.vnga-album-page .vnga-collage-count-4{grid-template-columns:1.3fr .8fr .8fr;grid-template-rows:repeat(2,minmax(0,1fr))}
.vnga-album-page .vnga-collage-count-4 .vnga-collage-tile-1{grid-area:1/1/3/2}
.vnga-album-page .vnga-collage-count-4 .vnga-collage-tile-2{grid-area:1/2/3/3}
.vnga-album-page .vnga-collage-count-4 .vnga-collage-tile-3{grid-area:1/3/2/4}
.vnga-album-page .vnga-collage-count-4 .vnga-collage-tile-4{grid-area:2/3/3/4}
.vnga-album-page .vnga-collage-count-2{grid-template-columns:1.3fr .8fr;grid-template-rows:minmax(0,1fr)}
.vnga-album-page .vnga-collage-count-2 .vnga-collage-tile-1{grid-area:1/1/2/2}
.vnga-album-page .vnga-collage-count-2 .vnga-collage-tile-2{grid-area:1/2/2/3}
.vnga-album-page .vnga-collage-count-1{display:block!important;padding:0;height:auto;aspect-ratio:16/9;max-height:550px}
.vnga-album-page .vnga-collage-count-1 .vnga-collage-tile-1{height:100%;border-radius:18px}
.vnga-album-page .vnga-collage-light{
 position:absolute;pointer-events:none;inset:8px;border-radius:12px;z-index:1;
 box-shadow:inset 0 0 0 1px #ffffff20, inset 0 0 45px #3210201d;
}
/* Movimiento 1 vez: el título se descubre; las fotografías entran escalonadas y quedan fijas. */
@keyframes vnga-title-arrive{
  from{opacity:.01;transform:translate3d(92px,0,0);filter:blur(5px)}
  to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@keyframes vnga-halo-arrive{
  from{opacity:0;transform:translateX(24px) scale(.93)}
  to{opacity:1;transform:translateX(0) scale(1)}
}
@keyframes vnga-photo-arrive{
  from{opacity:.02;transform:translate3d(0,30px,0) scale(.93);filter:blur(6px)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
}
@keyframes vnga-accent-grow{from{transform:scaleX(.05);opacity:0}to{transform:scaleX(1);opacity:1}}
.vnga-album-page .vn-page-heading.vnga-is-visible{animation:vnga-title-arrive 1.15s cubic-bezier(.18,.72,.18,1) both}
.vnga-album-page .vn-page-heading.vnga-is-visible::before{animation:vnga-halo-arrive 1.1s .1s ease-out both}
.vnga-album-page .vn-page-heading.vnga-is-visible::after{animation:vnga-accent-grow .72s .9s ease-out both}
.vnga-album-page .vnga-featured-collage.vnga-is-visible .vnga-collage-tile-1{animation:vnga-photo-arrive 1.1s .12s cubic-bezier(.2,.75,.2,1) both}
.vnga-album-page .vnga-featured-collage.vnga-is-visible .vnga-collage-tile-2{animation:vnga-photo-arrive 1s .37s cubic-bezier(.2,.75,.2,1) both}
.vnga-album-page .vnga-featured-collage.vnga-is-visible .vnga-collage-tile-3{animation:vnga-photo-arrive 1s .55s cubic-bezier(.2,.75,.2,1) both}
.vnga-album-page .vnga-featured-collage.vnga-is-visible .vnga-collage-tile-4{animation:vnga-photo-arrive 1s .7s cubic-bezier(.2,.75,.2,1) both}
@media(max-width:720px){
 .vnga-album-page .vn-brand::before{inset:-8px -20px;opacity:.5;filter:blur(7px)}
 .vnga-album-page .vn-page-heading{font-size:clamp(2.65rem,9.1vw,4rem)!important;padding:12px 0 15px!important}
 .vnga-album-page .vn-page-heading::before{inset:-12px -14px -14px -14px;filter:blur(11px)}
 @keyframes vnga-title-arrive{
  from{opacity:.01;transform:translate3d(32px,0,0);filter:blur(3px)}
  to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
 }
 .vnga-album-page .vnga-featured-collage{height:clamp(270px,64vw,370px);gap:5px;padding:5px;border-radius:14px}
 .vnga-album-page .vnga-featured-collage .vnga-collage-tile{border-radius:7px}
 .vnga-album-page .vnga-collage-count-4{grid-template-columns:1.25fr .8fr;grid-template-rows:repeat(3,minmax(0,1fr))}
 .vnga-album-page .vnga-collage-count-4 .vnga-collage-tile-1{grid-area:1/1/4/2}
 .vnga-album-page .vnga-collage-count-4 .vnga-collage-tile-2{grid-area:1/2/2/3}
 .vnga-album-page .vnga-collage-count-4 .vnga-collage-tile-3{grid-area:2/2/3/3}
 .vnga-album-page .vnga-collage-count-4 .vnga-collage-tile-4{grid-area:3/2/4/3}
 .vnga-album-page .vnga-collage-count-1{height:auto;aspect-ratio:4/3}
}
@media(prefers-reduced-motion:reduce){
 .vnga-album-page .vn-page-heading.vnga-is-visible,
 .vnga-album-page .vn-page-heading.vnga-is-visible::after,
 .vnga-album-page .vn-page-heading.vnga-is-visible::before,
 .vnga-album-page .vnga-featured-collage.vnga-is-visible .vnga-collage-tile{animation:none!important;filter:none!important;transform:none!important;opacity:1!important;clip-path:none!important}
}
