/* v245 — revert popup to the original static envelope image. Keep the later section changes below. */
#entry .envelope-button:hover .envelope-frame{transform:none!important}
#entry.is-opening .envelope-frame{animation:none!important}
#entry .entry-envelope-model{display:none!important}

/* Our Moments curtain overlay on desktop and mobile.
   Dedicated side slots isolate curtain PNGs from the moving-slider image rules. */
.story{position:relative!important;isolation:isolate;overflow:hidden!important}
.story .story-grid{position:relative;z-index:2}
.story-curtain-slot{
  position:absolute!important;
  z-index:8!important;
  top:0!important;
  bottom:0!important;
  width:var(--story-curtain-width-desktop,12vw)!important;
  height:100%!important;
  display:flex!important;
  align-items:stretch!important;
  pointer-events:none!important;
  user-select:none!important;
  overflow:visible!important;
}
.story-curtain-slot-left{left:0!important;right:auto!important}
.story-curtain-slot-right{right:0!important;left:auto!important}
.story-curtain-slot>img{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  pointer-events:none!important;
  user-select:none!important;
  transform:none!important;
}
.story-curtain-slot-left>img{object-position:left top!important}
.story-curtain-slot-right>img{object-position:right top!important}
@media(max-width:680px){
  .story-curtain-slot{width:var(--story-curtain-width-mobile,17vw)!important}
}

/* Original Henna/Wedding option: background + transparent uploaded frame. */
.v-events{
  position:relative;
  isolation:isolate;
  background-image:linear-gradient(rgba(243,236,223,.88),rgba(243,236,223,.88)),var(--events-bg-image);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.v-event{isolation:isolate;overflow:visible}
.v-event-inner{position:relative;z-index:2}
.event-card-frame-overlay{
  position:absolute;
  z-index:3;
  inset:-1.2%;
  width:102.4%;
  height:102.4%;
  object-fit:fill;
  pointer-events:none;
  user-select:none;
}

/* Alternate vintage section */
.v-events-vintage{
  --vintage-paper:#eee4d4;
  --vintage-ink:#594430;
  --vintage-line:rgba(112,83,55,.34);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(72px,9vw,120px) 22px;
  color:var(--vintage-ink);
  background:
    linear-gradient(rgba(236,226,211,.90),rgba(236,226,211,.90)),
    var(--events-vintage-bg),
    #e9dece;
  background-size:cover;
  background-position:center;
}
.v-events-vintage::before{
  content:"";
  position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.22;
  background-image:radial-gradient(circle at 15% 20%,rgba(101,72,48,.16) 0 1px,transparent 1.5px),
                   radial-gradient(circle at 75% 65%,rgba(101,72,48,.12) 0 1px,transparent 1.5px);
  background-size:32px 32px,41px 41px;
}
.vintage-events-heading{width:min(100%,720px);margin:0 auto 48px;text-align:center}
.vintage-events-heading .v2-overline{color:#8e7252}
.vintage-events-heading h2{
  margin:.2rem 0 .8rem;
  font-family:var(--font-new-icon-script,var(--script));
  font-size:clamp(3.4rem,8vw,6.3rem);
  font-weight:400;
  line-height:.9;
}
.vintage-events-heading>p:last-child{width:min(100%,600px);margin:0 auto;font:italic 1.05rem/1.65 var(--serif)}
.vintage-events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,4vw,50px);width:min(100%,1050px);margin:auto}
.vintage-event-card{
  position:relative;
  isolation:isolate;
  min-height:590px;
  padding:18px;
  background:rgba(248,241,229,.78);
  border:1px solid rgba(121,91,61,.35);
  box-shadow:0 28px 70px rgba(73,53,36,.09);
}
.vintage-event-card::before{content:"";position:absolute;pointer-events:none;inset:9px;border:1px solid rgba(121,91,61,.25)}
.vintage-event-card-inner{position:relative;z-index:2;display:flex;min-height:552px;flex-direction:column;align-items:center;justify-content:center;padding:48px 42px;text-align:center}
.vintage-event-frame{position:absolute;z-index:3;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.vintage-event-number{margin:0 0 8px;font:.68rem/1.2 var(--sans);letter-spacing:.24em}
.vintage-event-card h3{margin:0;font-family:var(--font-new-icon-script,var(--script));font-size:clamp(3.4rem,6vw,5rem);font-weight:400;line-height:.9}
.vintage-divider{display:block;width:128px;height:32px;object-fit:contain;margin:22px auto;opacity:.62;mix-blend-mode:multiply}
.vintage-event-date{max-width:260px;margin:0 auto 7px;font:1.3rem/1.35 var(--serif)}
.vintage-event-time,.vintage-event-venue{margin:4px 0;font:1rem/1.4 var(--serif)}
.vintage-event-description{max-width:360px;margin:22px auto 0;font:italic .98rem/1.55 var(--serif);opacity:.88}
.vintage-event-rsvp{display:inline-flex;align-items:center;justify-content:center;min-width:180px;min-height:46px;margin-top:28px;padding:10px 24px;border:1px solid #8e7353;text-decoration:none;color:inherit;font:1rem/1.2 var(--serif)}
.vintage-event-rsvp:hover{background:#614930;color:#fff7e8}
.vintage-event-links{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.vintage-event-links a{color:#72553b;font:.86rem/1.4 var(--serif);text-underline-offset:4px}
@media(max-width:760px){
  .v-events-vintage{padding:70px 16px}
  .vintage-events-grid{grid-template-columns:1fr;gap:26px}
  .vintage-event-card{min-height:520px}
  .vintage-event-card-inner{min-height:484px;padding:42px 24px}
  .vintage-event-card h3{font-size:clamp(3.5rem,16vw,5rem)}
  .vintage-event-description{font-size:.94rem}
}

/* Venue copy now inherits the Stay content but keeps the Rosen section structure. */
.v2-venue-stay-kicker{margin-bottom:8px!important;color:#8d744f}


/* Preserve approved v221-v225 visual changes. */
.story-photo{
  box-shadow:none!important;
  background:transparent!important;
  backdrop-filter:none!important;
  filter:none!important;
  transform:scale(var(--story-photo-scale-desktop,1.15));
  transform-origin:center;
}
.story-photo img{filter:none!important;box-shadow:none!important}
@media(max-width:680px){
  .story-photo{transform:scale(var(--story-photo-scale-mobile,1.12))}
}
.entry-special-label{
  margin:0 0 .15rem;
  font-family:var(--sans);
  font-size:var(--entry-overline-size-desktop,.7rem);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--entry-overline-color,var(--muted));
}
.entry-invited-by{margin-top:.15rem!important}
.entry-parent-names{
  margin:.22rem auto .08rem;
  font-family:var(--display,var(--serif));
  font-size:clamp(1.02rem,1.7vw,1.28rem);
  line-height:1.2;
}
.entry-parent-arabic{
  display:flex;justify-content:center;align-items:center;gap:.45rem;
  margin:.08rem auto .36rem;
  font-family:var(--serif);
  font-size:clamp(.95rem,1.6vw,1.15rem);
}
.entry-parent-arabic i{font-style:normal}
.entry-bottom-arabic .entry-blessing-ar{margin:0;max-width:34rem}
body.typography-v2 .family-couple-names span{
  font-family:var(--font-new-icon-script)!important;
  font-style:normal!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
body.typography-v2 .family-couple-names{
  font-family:var(--font-new-icon-script)!important;
  font-style:normal!important;
}
.family-couple-arabic,
.family-couple-arabic span,
.family-couple-arabic i{color:var(--accent)!important}
.v2-hero-arabic-names{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:.5rem;
  margin:.25rem 0 0;
  font-family:var(--serif);
  font-size:var(--hero-arabic-names-size,16px);
  line-height:1.2;
  color:rgba(255,255,255,.92);
}
.v2-hero-arabic-names i{font-style:normal}
@media(max-width:680px){
  .entry-special-label{font-size:var(--entry-overline-size-mobile,.65rem)}
  .entry-parent-names{font-size:.98rem}
  .entry-parent-arabic{font-size:.92rem}
}


/* v237 — hard reset for the mobile photo strip/collage: no glass, shadow, border or backing card. */
.story-collage,
.story-photo,
.story-photo img{
  background:none!important;
  background-color:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
}
.story-collage::before,.story-collage::after,
.story-photo::before,.story-photo::after{display:none!important;content:none!important}
.story-photo{padding:0!important;border-radius:0!important}
.story-photo img{display:block!important;margin:0!important;padding:0!important;border-radius:0!important}

/* Editable overlay for the alternate vintage Celebration section. */
.v-events-vintage{
  background:var(--events-vintage-bg),#e9dece!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.vintage-events-overlay{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:var(--events-vintage-overlay-color,#eee4d4);
  opacity:var(--events-vintage-overlay-opacity,.36);
}
.vintage-events-heading,
.vintage-events-grid{position:relative;z-index:1}


/* v238 — remove every remaining backing/shadow from the moving photos. */
.story .story-grid.story-grid-solo .story-collage,
.story .story-grid.story-grid-solo .story-photo,
.story .story-grid.story-grid-solo .story-photo img{
  background:none!important;
  background-color:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  text-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
}
.story .story-grid.story-grid-solo .story-photo::before,
.story .story-grid.story-grid-solo .story-photo::after,
.story .story-grid.story-grid-solo .story-photo img::before,
.story .story-grid.story-grid-solo .story-photo img::after{
  display:none!important;
  content:none!important;
  box-shadow:none!important;
  background:none!important;
}
.story .story-grid.story-grid-solo .story-photo{padding:0!important;border-radius:0!important}
.story .story-grid.story-grid-solo .story-photo img{margin:0!important;padding:0!important;border-radius:0!important}


/* v239 — make Celebration heading white and cards opaque. */
.v-events-vintage .vintage-events-heading,
.v-events-vintage .vintage-events-heading .v2-overline,
.v-events-vintage .vintage-events-heading h2,
.v-events-vintage .vintage-events-heading > p:last-child{
  color:#fff !important;
}
.v-events-vintage .vintage-events-heading{
  text-shadow:0 2px 18px rgba(0,0,0,.18);
}
.v-events-vintage .vintage-event-card{
  background:#f6efe4 !important;
  opacity:1 !important;
}


/* v251 — compact looping photo slider: configurable section background and image corner roundness. */
.compact-photo-loop-section{
  --compact-loop-gap:14px;
  position:relative;
  overflow:hidden;
  padding:clamp(22px,3vw,38px) 0;
  background:var(--photo-loop-bg-color,var(--surface));
}
.compact-photo-loop-shell{width:min(100%,1180px);margin:0 auto;padding:0 clamp(18px,3.2vw,40px)}
.compact-photo-loop-viewport{overflow:hidden;width:100%}
.compact-photo-loop-track{display:flex;align-items:center;gap:var(--compact-loop-gap);will-change:transform;transform:translate3d(0,0,0)}
.compact-photo-loop-slide{flex:0 0 calc((100% - (var(--compact-loop-gap) * 3))/4);min-width:0;margin:0;display:flex;justify-content:center}
.compact-photo-loop-frame{position:relative;width:92%;aspect-ratio:4/5;overflow:hidden;background:color-mix(in srgb,var(--surface) 92%,#fff);border:1px solid color-mix(in srgb,var(--accent) 34%,rgba(92,73,51,.22));border-radius:var(--photo-loop-corner-radius,2px);box-shadow:0 7px 20px rgba(65,52,38,.075);transform:scale(var(--photo-loop-scale-desktop,.92));transform-origin:center;transition:transform .25s ease}
.compact-photo-loop-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:680px){
  .compact-photo-loop-section{--compact-loop-gap:10px;padding:18px 0 22px}
  .compact-photo-loop-shell{padding:0 14px}
  .compact-photo-loop-slide{flex-basis:calc((100% - var(--compact-loop-gap))/2)}
  .compact-photo-loop-frame{width:94%;box-shadow:0 5px 15px rgba(65,52,38,.065);transform:scale(var(--photo-loop-scale-mobile,.92))}
}
@media(prefers-reduced-motion:reduce){.compact-photo-loop-track{transition:none!important}}

/* v2.5.3 — Arabic font priority fix for the wedding invitation.
   Aref Ruqaa is reserved for short names; Amiri keeps Quranic / longer Arabic copy elegant and highly legible. */
:root{
  --arabic-display:"Aref Ruqaa","Amiri",serif;
  --arabic-body:"Amiri","Aref Ruqaa",serif;
}

/* Override the older typography-v2 RTL fallback (Georgia) at equal specificity.
   This guarantees every Arabic/RTL line uses an Arabic-capable typeface first. */
body.typography-v2 [dir="rtl"],
body.typography-v2 [lang="ar"]{
  font-family:var(--arabic-body)!important;
}

/* Arabic names: expressive, formal Ruq'ah-style calligraphy. */
body.typography-v2 .entry-parent-arabic,
body.typography-v2 .v2-hero-arabic-names,
body.typography-v2 .hero-arabic-names,
body.typography-v2 .formal-request-parent-arabic,
body.typography-v2 .family-couple-arabic,
body.typography-v2 .family-couple-arabic span,
body.typography-v2 .footer-arabic-names,
body.typography-v2 .footer-arabic-names span{
  font-family:var(--arabic-display)!important;
  font-style:normal!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
  font-kerning:normal;
}

/* Arabic verses and longer phrases: classic Naskh-style reading face. */
body.typography-v2 .v2-verse-ar,
body.typography-v2 .entry-blessing-ar,
body.typography-v2 .blessing-arabic,
body.typography-v2 .story-arabic-phrase,
body.typography-v2 .perfect-day-arabic{
  font-family:var(--arabic-body)!important;
  font-style:normal!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
  font-kerning:normal;
}

/* Keep Arabic joining marks roomy and elegant on both desktop and mobile. */
.entry-parent-arabic,
.v2-hero-arabic-names,
.hero-arabic-names,
.formal-request-parent-arabic,
.family-couple-arabic,
.footer-arabic-names{
  line-height:1.65!important;
}
.v2-verse-ar,
.entry-blessing-ar,
.blessing-arabic,
.story-arabic-phrase,
.perfect-day-arabic{
  line-height:1.9!important;
}
.entry-parent-arabic i,
.v2-hero-arabic-names i,
.formal-request-parent-arabic i{
  font-family:var(--arabic-display)!important;
  font-style:normal!important;
}


/* v2.5.4 — natural Arabic conjunctions and slightly larger wedding-name treatments. */
.v2-hero-arabic-names,
.family-couple-arabic,
.footer-arabic-names,
.formal-request-parent-arabic{
  gap:.38rem!important;
}
.v2-hero-arabic-names{font-size:var(--hero-arabic-names-size,20px)!important}
.family-couple-arabic{font-size:var(--formal-arabic-names-size,19px)!important}
.footer-arabic-names{font-size:var(--footer-arabic-names-size,16px)!important}
.formal-request-parent-arabic{
  font-size:clamp(1.1rem,1.65vw,1.28rem)!important;
}
.v2-hero-arabic-names span:last-child,
.family-couple-arabic span:last-child,
.footer-arabic-names span:last-child,
.formal-request-parent-arabic span:last-child{
  margin-inline-start:.02em;
}
@media(max-width:680px){
  .v2-hero-arabic-names,
  .family-couple-arabic,
  .footer-arabic-names,
  .formal-request-parent-arabic{gap:.3rem!important}
  .formal-request-parent-arabic{font-size:clamp(1rem,4.4vw,1.16rem)!important}
}
