/* === V342 — Expediente/Green Olive final polish === */

/* Expediente envelope: same visual scale as the other premium envelope pages. */
.ec-envelope-page.v341-envelope{
  min-height:100vh!important;
  display:grid!important;
  place-content:center!important;
  gap:28px!important;
  padding:24px!important;
}
.ec-envelope-page.v341-envelope .ec-envelope{
  width:min(460px,78vw)!important;
  max-width:460px!important;
}
.ec-envelope-page.v341-envelope .ec-envelope-photo{
  width:100%!important;
  height:auto!important;
  aspect-ratio:3/2!important;
  object-fit:contain!important;
  border-radius:2px!important;
  box-shadow:0 26px 62px rgba(0,0,0,.52)!important;
}
@media(max-width:640px){
  .ec-envelope-page.v341-envelope .ec-envelope{
    width:min(420px,86vw)!important;
  }
}

/* Wedding catalog: keep the Expediente title on one line only.
   All typography, spacing and button positioning remain controlled by the
   same base styles used by the other collection cards. */
.collection-card.collection-card-expediente-confidencial .collection-meta h3,
.collection-card:has(a[href*="expediente-confidencial"]) .collection-meta h3{
  white-space:nowrap!important;
}

/* Expediente buy page: force Lavanda-style sizing/vertical rhythm. */
.vap-product-page-v342-ec .vap-product-layout-v156{
  grid-template-columns:minmax(410px,540px) minmax(390px,1fr)!important;
  align-items:start!important;
  gap:48px!important;
}
.vap-product-page-v342-ec .vap-product-gallery-v212{
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:start!important;
}
.vap-product-page-v342-ec .vap-product-thumbs-v212{
  gap:10px!important;
  padding-top:18px!important;
  top:92px!important;
  transform:translate(-6px,-6px)!important;
}
.vap-product-page-v342-ec .vap-product-thumb-v212{
  width:68px!important;
  height:99px!important;
  padding:4px!important;
  border-radius:13px!important;
  background:#fffaf4!important;
}
.vap-product-page-v342-ec .vap-product-thumb-v212 span{
  border-radius:9px!important;
  background:#15100d!important;
}
.vap-product-page-v342-ec .vap-product-thumb-v212 em{
  font-size:6.2px!important;
  letter-spacing:.08em!important;
  line-height:1!important;
  margin-top:3px!important;
}
.vap-product-page-v342-ec .vap-product-visual-v212{
  height:440px!important;
  min-height:440px!important;
  padding:14px 0!important;
  display:grid!important;
  place-items:start center!important;
  background:linear-gradient(145deg,#eadfce,#fffaf3)!important;
  overflow:hidden!important;
  transform:translateY(-6px)!important;
}
.vap-product-page-v342-ec .vap-product-frame-v212{
  width:236px!important;
  height:420px!important;
  border:8px solid #16110e!important;
  border-radius:31px!important;
  background:#16110e!important;
  overflow:hidden!important;
  display:block!important;
  box-shadow:0 28px 70px rgba(19,12,8,.20)!important;
}
.vap-product-page-v342-ec .vap-product-frame-v212 img,
.vap-product-page-v342-ec .vap-product-thumb-v212 img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
  display:block!important;
}
.vap-product-page-v342-ec .vap-product-info-v212{
  padding-top:18px!important;
  margin-top:0!important;
  align-self:start!important;
  transform:translate(6px,-6px)!important;
}
.vap-product-page-v342-ec .vap-product-info-v212 h1{
  font-size:46px!important;
  line-height:1!important;
  margin:14px 0 24px!important;
  font-weight:500!important;
}
.vap-product-page-v342-ec .vap-product-desc-v156{
  font-size:15px!important;
  line-height:2.18!important;
  max-width:460px!important;
  margin-bottom:28px!important;
}
.vap-product-page-v342-ec .vap-product-editorial-v212{
  grid-template-columns:1fr 1fr 1fr!important;
  gap:18px!important;
  align-items:stretch!important;
}
.vap-product-page-v342-ec .vap-info-panel-v212{
  min-height:470px!important;
}

/* Expediente final: centered, cleaner, readable. */
.ec-final{
  min-height:250px!important;
  height:250px!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
}
.ec-final > img{
  width:100%!important;
  height:100%!important;
  right:auto!important;
  left:0!important;
  top:0!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:.46!important;
  filter:brightness(.34) sepia(.08)!important;
}
.ec-final > div{
  position:relative!important;
  inset:auto!important;
  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  width:min(78%,310px)!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:22px 24px!important;
  text-align:center!important;
  background:radial-gradient(circle at 50% 50%,rgba(0,0,0,.82),rgba(0,0,0,.44) 58%,transparent 78%)!important;
}
.ec-final small,
.ec-final h2,
.ec-final p{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.ec-final h2{
  font-size:34px!important;
  line-height:1.02!important;
  margin:9px auto 12px!important;
}
.ec-final p{
  max-width:210px!important;
  line-height:1.62!important;
}

/* Stronger visible animation for Expediente and Green Olive. */
.ec-page .vap-scroll-reveal,
.green-olive-page .vap-scroll-reveal{
  opacity:0!important;
  transform:translate3d(0,34px,0) scale(.975)!important;
  filter:blur(3px)!important;
  transition:opacity .82s ease, transform .82s cubic-bezier(.19,.9,.22,1), filter .82s ease!important;
}
.ec-page .vap-scroll-reveal.vap-inview,
.green-olive-page .vap-scroll-reveal.vap-inview,
.ec-page .vap-scroll-reveal.vap-motion-in,
.green-olive-page .vap-scroll-reveal.vap-motion-in{
  opacity:1!important;
  transform:translate3d(0,0,0) scale(1)!important;
  filter:blur(0)!important;
}
.ec-page .vap-scroll-reveal:nth-child(2n),
.green-olive-page .vap-scroll-reveal:nth-child(2n){
  transform:translate3d(18px,32px,0) scale(.978)!important;
}
.ec-page .vap-scroll-reveal.vap-inview:nth-child(2n),
.green-olive-page .vap-scroll-reveal.vap-inview:nth-child(2n){
  transform:translate3d(0,0,0) scale(1)!important;
}

/* Green Olive: arrows must always be circles. */
.green-olive-page button.vap-v211-gallery-arrow,
.green-olive-page .go117-carousel button.vap-v211-gallery-arrow,
.green-olive-page .go123-gallery button.vap-v211-gallery-arrow{
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:999px!important;
}

@media(max-width:980px){
  .vap-product-page-v342-ec .vap-product-layout-v156{grid-template-columns:1fr!important;gap:28px!important;}
  .vap-product-page-v342-ec .vap-product-info-v212{padding-top:0!important;}
  .vap-product-page-v342-ec .vap-product-visual-v212{height:425px!important;min-height:425px!important;}
  .vap-product-page-v342-ec .vap-product-frame-v212{width:230px!important;height:408px!important;}
  .vap-product-page-v342-ec .vap-product-editorial-v212{grid-template-columns:1fr!important;}
  .vap-product-page-v342-ec .vap-info-panel-v212{min-height:auto!important;}
}
@media(max-width:560px){
  .vap-product-page-v342-ec .vap-product-gallery-v212{grid-template-columns:1fr!important;}
  .vap-product-page-v342-ec .vap-product-thumbs-v212{padding-top:0!important;}
  .vap-product-page-v342-ec .vap-product-visual-v212{height:395px!important;min-height:395px!important;}
  .vap-product-page-v342-ec .vap-product-frame-v212{width:210px!important;height:374px!important;border-width:7px!important;}
  .vap-product-page-v342-ec .vap-product-info-v212 h1{font-size:38px!important;}
}

@media(prefers-reduced-motion:reduce){
  .ec-page .vap-scroll-reveal,
  .green-olive-page .vap-scroll-reveal{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
  }
}

/* === V342b — Expediente Confidencial: motion system, scoped only to invitation === */
.ec-page.ec-motion-ready .ec-reveal{animation:none!important;animation-timeline:auto!important}
.ec-page.ec-motion-ready .vap-scroll-reveal{
  opacity:0!important;
  transform:translate3d(0,30px,0)!important;
  filter:none!important;
  transition:
    opacity .82s cubic-bezier(.2,.75,.2,1),
    transform .9s cubic-bezier(.18,.85,.22,1)!important;
  will-change:opacity,transform;
}
.ec-page.ec-motion-ready .vap-scroll-reveal.vap-inview,
.ec-page.ec-motion-ready .vap-scroll-reveal.vap-motion-in{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
}
.ec-page.ec-motion-ready .ec-file-card .ec-photo.vap-scroll-reveal{transform:translate3d(-18px,28px,0)!important}
.ec-page.ec-motion-ready .ec-file-card.ec-reverse .ec-photo.vap-scroll-reveal{transform:translate3d(18px,28px,0)!important}
.ec-page.ec-motion-ready .ec-file-card .ec-photo.vap-scroll-reveal.vap-inview,
.ec-page.ec-motion-ready .ec-file-card.ec-reverse .ec-photo.vap-scroll-reveal.vap-inview{
  transform:translate3d(0,0,0)!important;
}
.ec-page .ec-photo img,
.ec-page .ec-cover-photo img,
.ec-page .ec-final img{
  transition:transform 1.25s cubic-bezier(.18,.8,.2,1),filter 1s ease!important;
  transform:scale(1.035);
  transform-origin:center center;
}
.ec-page .ec-photo.vap-inview img,
.ec-page .ec-cover.vap-inview .ec-cover-photo img,
.ec-page .ec-final.vap-inview img{
  transform:scale(1)!important;
}
.ec-page .ec-section-head.vap-scroll-reveal{
  transition-delay:70ms!important;
}
.ec-page .ec-file-copy.vap-scroll-reveal{
  transition-delay:145ms!important;
}
.ec-page .ec-counter > span.vap-scroll-reveal:nth-child(1){transition-delay:80ms!important}
.ec-page .ec-counter > span.vap-scroll-reveal:nth-child(2){transition-delay:150ms!important}
.ec-page .ec-counter > span.vap-scroll-reveal:nth-child(3){transition-delay:220ms!important}
.ec-page .ec-counter > span.vap-scroll-reveal:nth-child(4){transition-delay:290ms!important}
.ec-page .ec-timeline article.vap-scroll-reveal:nth-child(1){transition-delay:60ms!important}
.ec-page .ec-timeline article.vap-scroll-reveal:nth-child(2){transition-delay:120ms!important}
.ec-page .ec-timeline article.vap-scroll-reveal:nth-child(3){transition-delay:180ms!important}
.ec-page .ec-timeline article.vap-scroll-reveal:nth-child(4){transition-delay:240ms!important}
.ec-page .ec-timeline article.vap-scroll-reveal:nth-child(5){transition-delay:300ms!important}
.ec-page .ec-border{
  transition:opacity 1s ease,box-shadow 1.1s ease!important;
  opacity:.55;
}
.ec-page .ec-cover.vap-inview .ec-border{
  opacity:1;
  box-shadow:inset 0 0 28px rgba(185,149,85,.06);
}
.ec-page .ec-seal,
.ec-page .ec-btn{
  transition:transform .32s ease,background-color .32s ease,color .32s ease,border-color .32s ease!important;
}
.ec-page .ec-btn:hover,.ec-page .ec-btn:focus-visible{transform:translateY(-2px)}
.ec-page .ec-seal{animation:ecSealPulse 3.8s ease-in-out infinite}
@keyframes ecSealPulse{
  0%,100%{transform:rotate(-3deg) scale(1)}
  50%{transform:rotate(-3deg) scale(1.025)}
}
@media(max-width:640px){
  .ec-page.ec-motion-ready .vap-scroll-reveal{transform:translate3d(0,22px,0)!important}
  .ec-page.ec-motion-ready .vap-scroll-reveal.vap-inview,
  .ec-page.ec-motion-ready .vap-scroll-reveal.vap-motion-in{transform:translate3d(0,0,0)!important}
}
@media(prefers-reduced-motion:reduce){
  .ec-page.ec-motion-ready .vap-scroll-reveal,
  .ec-page .ec-photo img,
  .ec-page .ec-cover-photo img,
  .ec-page .ec-final img{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
}

/* === V344 — Catálogo de bodas: alineación vertical del título ===
   Ajuste visual únicamente para Expediente Confidencial.
   No altera la altura de la tarjeta ni la posición del botón. */
.collection-card.collection-card-expediente-confidencial .collection-meta h3,
.collection-card:has(a[href*="expediente-confidencial"]) .collection-meta h3{
  transform:translateY(4px)!important;
}


/* === V357 — Catálogo Bodas: Expediente Confidencial ===
   Reconstrucción tipográfica: tracking visible y una sola línea. */
.collection-card.collection-card-expediente-confidencial .collection-meta h3{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  margin-left:0!important;
  margin-right:0!important;
  white-space:nowrap!important;
  overflow:visible!important;

  /* La reducción de tamaño permite abrir mucho el tracking sin salto de línea. */
  font-size:19px!important;
  line-height:1.15!important;
  letter-spacing:.145em!important;
  font-kerning:none!important;
  font-variant-ligatures:none!important;
  font-feature-settings:"kern" 0,"liga" 0,"clig" 0!important;
  text-rendering:geometricPrecision!important;
}

@media(max-width:760px){
  .collection-card.collection-card-expediente-confidencial .collection-meta h3{
    font-size:18px!important;
    letter-spacing:.12em!important;
  }
}

@media(max-width:430px){
  .collection-card.collection-card-expediente-confidencial .collection-meta h3{
    font-size:16px!important;
    letter-spacing:.085em!important;
  }
}
