/* integration polish — owner: lead (loaded after sections) */

/* gift louvre texture: dissolve its edges into the paper */
.gift-texture{
  opacity:.26 !important;
  mask-image:linear-gradient(to bottom, transparent 0, #000 16%, #000 84%, transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom, transparent 0, #000 16%, #000 84%, transparent 100%);
}
/* keep the gift panel in the same paper tone as the page */
.gift-panel{ background:var(--paper); }

/* the fixed reading progress line is 1px; keep it whisper quiet */
.progress__bar{ opacity:.55; }

/* countdown: a touch more air between numerals and their labels */
.countdown-label{ margin-top:6px !important; }

/* engraved images that use a blend mode must never animate opacity:
   a fading element is composited in its own group and shows its white plate */
img[data-reveal],
.hero [data-reveal]{
  opacity:1 !important;
  transform:none !important;
  clip-path:none !important;
}
img[src$="dress-frame.png"],
img[src$="garland.png"],
img[src$="banquet.png"],
img[src$="villa-medallion.png"],
img[src$="hotel-ornament-1.png"],
img[src$="hotel-ornament-2.png"]{
  opacity:1 !important;
  transform:none !important;
}


/* ============================================================
   Felha & Anas — personalised blocks
   ============================================================ */

/* welcome section: names + in sha allah */
.intro-names{
  margin-top:26px;
  font-size:clamp(36px, 9.6vw, 46px);
  line-height:1.2;
  color:var(--ink);
}
.intro-insha{ margin-top:10px; letter-spacing:.3em; }

/* countdown: date line under the numerals */
.countdown-foot{
  position:relative;
  z-index:1;
  margin:24px auto 0;
  font-family:var(--ff-display);
  font-size:11px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--cream-dim);
}

/* venue: long name, verse, address block */
.loc-title--long{
  font-size:clamp(24px, 6.6vw, 31px);
  line-height:1.18;
}
.loc-verse{
  font-style:italic;
  color:var(--ink-soft);
}
.loc-verse__ref{
  display:block;
  margin-top:10px;
  font-family:var(--ff-display);
  font-style:normal;
  font-size:10.5px;
  font-weight:500;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--ink-faint);
}
.loc-address{
  margin:34px auto 0;
  max-width:280px;
  padding-top:22px;
  border-top:1px solid var(--hairline-soft);
}
.loc-address__label{
  display:block;
  margin-bottom:10px;
  font-family:var(--ff-display);
  font-size:10.5px;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--ink-faint);
}
.loc-address p{
  margin:0;
  font-family:var(--ff-body);
  font-size:15px;
  line-height:1.72;
  color:var(--ink-soft);
}
.loc-actions{ margin-top:30px; }

/* the day: date card instead of the reference timeline */
.day-date{
  margin:16px 0 0;
  font-size:clamp(25px, 6.9vw, 33px);
  line-height:1.18;
  color:var(--ink);
}
.day-place{ margin-top:14px; letter-spacing:.24em; }
.day-note{
  max-width:380px;
  margin:40px auto 0;
  padding:0 var(--pad);
  text-align:center;
}
.day-note .p + .p{ margin-top:12px; }
.day-note__small{ font-size:14px; opacity:.9; }

/* full-bleed photo band */
.moments{
  position:relative;
  height:72vh;
  max-height:640px;
  overflow:hidden;
  background:var(--maroon-deep);
}
.moments__img{
  position:absolute;
  left:0;
  top:-7%;
  width:100%;
  height:114%;
  object-fit:cover;
  object-position:50% 42%;
}
.moments__veil{
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom,
    rgba(247,244,241,.10) 0%,
    rgba(40,22,26,.10) 40%,
    rgba(40,22,26,.42) 100%);
  pointer-events:none;
}
.moments__caption{
  position:absolute;
  left:0; right:0; bottom:34px;
  z-index:2;
  text-align:center;
  color:var(--cream);
  font-size:clamp(34px, 9vw, 44px);
  line-height:1.1;
  text-shadow:0 2px 26px rgba(40,22,26,.45);
}
