
/* Romantic quote:
   روحان
   قدرٌ واحد
   وحكاية كتبها الله */
#rec2487446043 .tn-elem[data-elem-id="1780748008617000003"] .tn-atom {
  font-family: 'NewFonts', Arial, sans-serif !important;
  font-weight: normal !important;
  letter-spacing: 0 !important;
  line-height: 1.32 !important;
  color: var(--sg-color-gold) !important;
  text-align: center !important;
  text-wrap: balance;
}

/* ==========================================================================
   Sacred Garden — Project Style Layer
   --------------------------------------------------------------------------
   Tilda CSS stays untouched and owns geometry/responsive positioning.
   This file owns project-level visual styles and predictable classes.

   Why !important appears here:
   Tilda generates selectors containing record IDs and data-elem-id. A normal
   class on .tn-elem can lose to those rules. These utilities intentionally
   target the visible inner .tn-atom and use !important only where required.
   ========================================================================== */

/* 1) DESIGN TOKENS — edit these first */
:root {
  --sg-color-cream: #f9f0e0;
  --sg-color-gold: #a67d2b;
  --sg-color-burgundy: #5a0f1b;

  --sg-font-display: 'NewFonts', Arial, sans-serif;
  --sg-font-heading: 'NewFonts', Arial, sans-serif;
  --sg-font-body: 'NewFonts', Arial, sans-serif;
  --sg-font-ui: 'NewFonts', Arial, sans-serif;

  --sg-weight-display: 800;
  --sg-weight-heading: 200;
  --sg-weight-body: 200;
  --sg-weight-ui: 900;
}

/* 2) BASE */
html[lang='ar'],
html[lang='ar'] body { direction: rtl; }

/* 3) TYPOGRAPHY UTILITIES
   Apply to the outer Tilda .tn-elem OR directly to .tn-atom. */
#allrecords .sg-type-display > .tn-atom,
#allrecords .sg-type-display .tn-atom,
#allrecords .tn-atom.sg-type-display,
.sg-type-display {
  font-family: var(--sg-font-display) !important;
  font-weight: var(--sg-weight-display) !important;
  direction: rtl;
}

#allrecords .sg-type-heading > .tn-atom,
#allrecords .sg-type-heading .tn-atom,
#allrecords .tn-atom.sg-type-heading,
.sg-type-heading {
  font-family: var(--sg-font-heading) !important;
  font-weight: var(--sg-weight-heading) !important;
  direction: rtl;
}

#allrecords .sg-type-body > .tn-atom,
#allrecords .sg-type-body .tn-atom,
#allrecords .tn-atom.sg-type-body,
.sg-type-body {
  font-family: var(--sg-font-body) !important;
  font-weight: var(--sg-weight-body) !important;
  direction: rtl;
}

#allrecords .sg-type-ui > .tn-atom,
#allrecords .sg-type-ui .tn-atom,
#allrecords .tn-atom.sg-type-ui,
.sg-type-ui {
  font-family: var(--sg-font-ui) !important;
  font-weight: var(--sg-weight-ui) !important;
  direction: rtl;
}

#allrecords .sg-type-number > .tn-atom,
#allrecords .sg-type-number .tn-atom,
#allrecords .tn-atom.sg-type-number,
.sg-type-number {
  direction: ltr !important;
  unicode-bidi: isolate;
}

/* 4) COLOR UTILITIES */
#allrecords .sg-color-gold > .tn-atom,
#allrecords .sg-color-gold .tn-atom,
#allrecords .tn-atom.sg-color-gold,
.sg-color-gold { color: var(--sg-color-gold) !important; }

#allrecords .sg-color-burgundy > .tn-atom,
#allrecords .sg-color-burgundy .tn-atom,
#allrecords .tn-atom.sg-color-burgundy,
.sg-color-burgundy { color: var(--sg-color-burgundy) !important; }

/* 5) ALIGNMENT */
#allrecords .sg-align-center > .tn-atom,
#allrecords .sg-align-center .tn-atom,
#allrecords .tn-atom.sg-align-center,
.sg-align-center { text-align: center !important; }

#allrecords .sg-align-right > .tn-atom,
#allrecords .sg-align-right .tn-atom,
#allrecords .tn-atom.sg-align-right,
.sg-align-right { text-align: right !important; }

/* 6) TEXT BEHAVIOR */
#allrecords .sg-no-tracking > .tn-atom,
#allrecords .sg-no-tracking .tn-atom,
#allrecords .tn-atom.sg-no-tracking,
.sg-no-tracking { letter-spacing: 0 !important; }

.sg-nowrap { white-space: nowrap !important; }
.sg-wrap { white-space: normal !important; }

/* 7) SEMANTIC ROLES — each class works by itself */
#allrecords .sg-couple-names > .tn-atom,
#allrecords .sg-closing-names > .tn-atom,
#allrecords .sg-ampersand > .tn-atom {
  font-family: var(--sg-font-display) !important;
  font-weight: var(--sg-weight-display) !important;
  direction: rtl;
}

#allrecords .sg-section-title > .tn-atom,
#allrecords .sg-hero-kicker > .tn-atom {
  font-family: var(--sg-font-heading) !important;
  font-weight: var(--sg-weight-heading) !important;
  direction: rtl;
}

#allrecords .sg-hero-tagline > .tn-atom,
#allrecords .sg-hero-copy > .tn-atom,
#allrecords .sg-scroll-label > .tn-atom,
#allrecords .sg-detail-label > .tn-atom,
#allrecords .sg-detail-value > .tn-atom,
#allrecords .sg-venue-name > .tn-atom,
#allrecords .sg-address > .tn-atom,
#allrecords .sg-message-copy > .tn-atom,
#allrecords .sg-rsvp-copy > .tn-atom,
#allrecords .sg-action-label > .tn-atom {
  font-family: var(--sg-font-body) !important;
  font-weight: var(--sg-weight-body) !important;
  direction: rtl;
}

/* Guest name is an inline span inside a body-copy block */
#guestHeroGreeting {
  font-family: var(--sg-font-display) !important;
  font-weight: var(--sg-weight-display) !important;
  direction: rtl;
  white-space: normal;
}

/* Countdown labels only; numbers stay untouched */
.sg-section--countdown #countdownContainer .label {
  font-family: var(--sg-font-body) !important;
  font-weight: var(--sg-weight-body) !important;
  letter-spacing: 0 !important;
  direction: rtl;
}

/* RSVP popup typography only */
.sg-section--rsvp-form .t702__title,
.sg-section--rsvp-form .t702__descr,
.sg-section--rsvp-form .t-input-title,
.sg-section--rsvp-form .t-input-subtitle,
.sg-section--rsvp-form .t-radio__item,
.sg-section--rsvp-form .t-input,
.sg-section--rsvp-form .t-btnflex__text,
.sg-section--rsvp-form .t-form__successbox {
  font-family: var(--sg-font-body) !important;
  font-weight: var(--sg-weight-body) !important;
  direction: rtl;
  text-align: right;
}

.sg-section--rsvp-form .t702__title,
.sg-section--rsvp-form .t702__descr,
.sg-section--rsvp-form .t-form__successbox { text-align: center; }

/* Opening label typography only; original position/motion stays */
#weiTapLabel.sg-type-ui {
  font-family: Tahoma, "Segoe UI", Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  color: rgba(126, 88, 44, 0.98) !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,0.88),
    0 1px 4px rgba(104,69,34,0.10) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  animation: weiPulseAr 2.4s 1.6s ease-in-out infinite !important;
}

@keyframes weiPulseAr {
  0%, 100% { opacity: .78; }
  50% { opacity: 1; }
}

@media screen and (max-width: 479px) {
  #weiTapLabel.sg-type-ui {
    font-size: 15px !important;
  }
}


/* ==========================================================================
   SCHEDULE / WEDDING DETAILS — POLISHED LAYOUT
   Keeps the original paper, ornaments, central timeline and flower.
   ========================================================================== */

.sg-section--schedule .sg-section-title > .tn-atom {
  font-family: 'NewFonts', Tahoma, Arial, sans-serif !important;
  font-weight: normal !important;
  font-size: 45px !important;
  line-height: 1.15 !important;
  color: #a67d2b !important;
  white-space: nowrap !important;
}

/* Labels on the right side of the timeline */
#rec2487446103 .tn-elem[data-elem-id="1763405268776"],
#rec2487446103 .tn-elem[data-elem-id="1772803288793000002"],
#rec2487446103 .tn-elem[data-elem-id="1782315605037000003"],
#rec2487446103 .tn-elem[data-elem-id="1778517684813000001"],
#rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] {
  left: calc(50% + 42px) !important;
  width: 140px !important;
}

#rec2487446103 .tn-elem[data-elem-id="1763405268776"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803288793000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1778517684813000001"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] .tn-atom {
  font-family: Tahoma, "Segoe UI", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  color: #665044 !important;
  text-align: right !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

/* Values on the left side of the timeline */
#rec2487446103 .tn-elem[data-elem-id="1772803062504"],
#rec2487446103 .tn-elem[data-elem-id="1772803288793000003"],
#rec2487446103 .tn-elem[data-elem-id="1782315588274000002"],
#rec2487446103 .tn-elem[data-elem-id="1778517684813000002"],
#rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] {
  left: calc(50% - 202px) !important;
  width: 170px !important;
}

#rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803288793000003"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
  font-family: Tahoma, "Segoe UI", Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: 22px !important;
  line-height: 1.35 !important;
  color: #7b675a !important;
  text-align: center !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
}

/* Long venue/location values need a touch more room and slightly smaller type */
#rec2487446103 .tn-elem[data-elem-id="1778517684813000002"],
#rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] {
  left: calc(50% - 220px) !important;
  width: 205px !important;
}

#rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
  font-size: 19px !important;
}

/* The date was previously wrapping because Tilda gave it only 75px. */
#rec2487446103 .tn-elem[data-elem-id="1772803062504"] {
  left: calc(50% - 215px) !important;
  width: 190px !important;
}

#rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom {
  font-size: 20px !important;
}

/* Mobile: keep both columns clear of the central timeline. */
@media screen and (max-width: 479px) {
  .sg-section--schedule .sg-section-title > .tn-atom {
    font-size: 39px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1763405268776"],
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000002"],
  #rec2487446103 .tn-elem[data-elem-id="1782315605037000003"],
  #rec2487446103 .tn-elem[data-elem-id="1778517684813000001"],
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] {
    left: calc(50% + 28px) !important;
    width: 120px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1772803062504"],
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000003"],
  #rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] {
    left: calc(50% - 158px) !important;
    width: 125px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1778517684813000002"],
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] {
    left: calc(50% - 184px) !important;
    width: 155px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000003"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] .tn-atom {
    font-size: 18px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
    font-size: 16px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1763405268776"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000002"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1778517684813000001"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] .tn-atom {
    font-size: 15px !important;
  }
}


/* ==========================================================================
   LOCATION — DREAM VENUE IMAGE
   Refined to match the invitation's paper/floral visual language.
   ========================================================================== */

#rec2487446153 .t396__artboard,
#rec2487446153 .t396__filter,
#rec2487446153 .t396__carrier {
  height: 220px !important;
}

#rec2487446153 .tn-elem[data-elem-id="1782312310182000001"] {
  display: none !important;
}

#rec2487446163 {
  padding-top: 8px !important;
  padding-bottom: 72px !important;
  overflow: visible !important;
}

#rec2487446163 .t396__artboard,
#rec2487446163 .t396__filter,
#rec2487446163 .t396__carrier {
  height: 640px !important;
  overflow: visible !important;
}

#rec2487446163 .tn-elem[data-elem-id="1773673546575"] {
  display: none !important;
}

#rec2487446163 .tn-elem[data-elem-id="1710614957366"] {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 640px !important;
  z-index: 5 !important;
}

#rec2487446163 .tn-elem[data-elem-id="1710614957366"] .tn-atom__html {
  width: 100% !important;
  height: 100% !important;
  overflow: visible !important;
}

#rec2487446163 .tn-elem[data-elem-id="1782460739526000001"] {
  top: -12px !important;
  z-index: 8 !important;
}

#rec2487446163 .tn-elem[data-elem-id="1782460739527000002"] {
  top: 605px !important;
  z-index: 8 !important;
}

.sg-venue-dream-card {
  position: relative;
  width: min(90vw, 430px);
  height: 572px;
  margin: 24px auto 0;
  padding: 7px;
  box-sizing: border-box;
  border-radius: 34px;
  overflow: visible;
  background: linear-gradient(145deg, rgba(255,251,241,.96), rgba(241,226,202,.94));
  border: 1px solid rgba(166,125,43,.22);
  box-shadow:
    0 26px 56px rgba(93,61,35,.12),
    0 5px 14px rgba(166,125,43,.08);
  isolation: isolate;
}

.sg-venue-dream-card::before {
  content: "";
  position: absolute;
  inset: 7px;
  z-index: 3;
  border-radius: 27px;
  pointer-events: none;
  background:
    linear-gradient(to bottom,
      rgba(249,240,224,.42) 0%,
      rgba(249,240,224,.08) 9%,
      rgba(249,240,224,0) 18%,
      rgba(249,240,224,0) 82%,
      rgba(249,240,224,.10) 93%,
      rgba(249,240,224,.34) 100%);
  box-shadow:
    inset 0 0 34px rgba(246,231,207,.17),
    inset 0 0 0 1px rgba(255,255,255,.25);
}

.sg-venue-dream-card::after {
  content: "";
  position: absolute;
  inset: -22px -20px -34px;
  z-index: 4;
  pointer-events: none;
  background:
    url('./noroot.png.webp') left bottom / 132px auto no-repeat,
    url('./noroot(1).png.webp') right bottom / 132px auto no-repeat;
  opacity: .82;
  filter: drop-shadow(0 8px 10px rgba(112,78,48,.08));
}

.sg-venue-dream-card > img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 27px;
  object-fit: cover;
  object-position: center center;
  transform: none !important;
  filter: saturate(.95) contrast(.99) brightness(1.025);
}

.sg-venue-petal-layer {
  z-index: 7 !important;
  inset: 7px !important;
  border-radius: 27px !important;
}

@media screen and (max-width: 479px) {
  #rec2487446153 .t396__artboard,
  #rec2487446153 .t396__filter,
  #rec2487446153 .t396__carrier {
    height: 218px !important;
  }

  #rec2487446163 .t396__artboard,
  #rec2487446163 .t396__filter,
  #rec2487446163 .t396__carrier,
  #rec2487446163 .tn-elem[data-elem-id="1710614957366"] {
    height: 604px !important;
  }

  #rec2487446163 .tn-elem[data-elem-id="1782460739527000002"] {
    top: 570px !important;
  }

  .sg-venue-dream-card {
    width: min(92vw, 404px);
    height: 542px;
    margin-top: 22px;
    border-radius: 30px;
  }

  .sg-venue-dream-card::before,
  .sg-venue-dream-card > img,
  .sg-venue-petal-layer {
    border-radius: 23px !important;
  }

  .sg-venue-dream-card::after {
    inset: -17px -15px -28px;
    background-size: 112px auto, 112px auto;
    opacity: .75;
  }
}


/* Foreground falling petals for the venue photo card. */
.sg-venue-dream-card {
  position: relative;
}

.sg-venue-petal-layer {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
}

.sg-falling-petal {
  position: absolute;
  top: -14%;
  left: var(--x, 50%);
  width: var(--w, 18px);
  height: var(--h, 26px);
  opacity: var(--opacity, 0.82);
  border-radius: 62% 38% 60% 40% / 34% 64% 36% 66%;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,0.95) 0%, rgba(255,247,248,0.92) 16%, rgba(245,224,229,0.94) 43%, rgba(234,200,208,0.95) 72%, rgba(220,182,191,0.96) 100%);
  box-shadow:
    inset -1px -2px 4px rgba(210, 173, 181, 0.26),
    inset 1px 1px 2px rgba(255,255,255,0.34),
    0 4px 10px rgba(170, 137, 110, 0.16);
  transform: translate3d(-50%, 0, 0) rotate(var(--rotate-start, 0deg)) scale(var(--scale, 1));
  transform-origin: center center;
  animation: sgVenuePetalFall var(--duration, 11s) linear infinite;
  animation-delay: var(--delay, 0s);
  will-change: transform, opacity;
  filter: blur(var(--blur, 0px));
}

.sg-falling-petal::before {
  content: "";
  position: absolute;
  inset: 16% 20% 26% 28%;
  border-radius: inherit;
  background: linear-gradient(145deg, rgba(255,255,255,0.38), rgba(255,255,255,0.0));
  opacity: 0.85;
}

.sg-falling-petal--soft {
  opacity: calc(var(--opacity, 0.82) * 0.72);
  filter: blur(0.7px);
}

@keyframes sgVenuePetalFall {
  0% {
    opacity: 0;
    transform: translate3d(calc(-50% + var(--drift-start, 0px)), -12%, 0) rotate(var(--rotate-start, 0deg)) scale(var(--scale, 1));
  }
  8% {
    opacity: var(--opacity, 0.82);
  }
  25% {
    transform: translate3d(calc(-50% + var(--drift-mid1, -12px)), 25%, 0) rotate(var(--rotate-mid1, 48deg)) scale(calc(var(--scale, 1) * 0.98));
  }
  55% {
    transform: translate3d(calc(-50% + var(--drift-mid2, 16px)), 56%, 0) rotate(var(--rotate-mid2, 112deg)) scale(calc(var(--scale, 1) * 1.02));
  }
  82% {
    transform: translate3d(calc(-50% + var(--drift-mid3, -8px)), 84%, 0) rotate(var(--rotate-mid3, 182deg)) scale(calc(var(--scale, 1) * 0.97));
    opacity: calc(var(--opacity, 0.82) * 0.96);
  }
  100% {
    opacity: 0;
    transform: translate3d(calc(-50% + var(--drift-end, 8px)), 116%, 0) rotate(var(--rotate-end, 248deg)) scale(calc(var(--scale, 1) * 1.02));
  }
}

@media screen and (max-width: 479px) {
  .sg-falling-petal {
    width: var(--w-mobile, 15px);
    height: var(--h-mobile, 22px);
  }
}


/* ==========================================================================
   CLOSING COUPLE PHOTO — DREAMY STORY FRAME
   Matches the invitation canvas and the floral paper theme.
   ========================================================================== */

#rec2487446253 {
  overflow: visible !important;
  background: #f9f0e0 !important;
}

#rec2487446253 .tn-elem[data-elem-id="1772823499423"],
#rec2487446253 .tn-elem[data-elem-id="1778673930481"] {
  display: none !important;
}

#rec2487446253 .t396__artboard,
#rec2487446253 .t396__filter,
#rec2487446253 .t396__carrier {
  height: 1010px !important;
  overflow: visible !important;
  background: #f9f0e0 !important;
}

#rec2487446253 .tn-elem[data-elem-id="1763405219328"] {
  top: 22px !important;
  z-index: 12 !important;
}

#rec2487446253 .tn-elem[data-elem-id="1772813849329000001"] {
  top: 84px !important;
  z-index: 12 !important;
}

#rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] {
  top: 150px !important;
  left: 50% !important;
  width: min(100vw, 450px) !important;
  height: 800px !important;
  transform: translateX(-50%) !important;
  z-index: 6 !important;
  overflow: visible !important;
}

#rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] > .tn-atom__sbs-anim-wrapper {
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
  overflow: visible !important;
}

#rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] .tn-atom {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding: 7px !important;
  overflow: visible !important;
  border-radius: 42px 42px 28px 28px !important;
  background: linear-gradient(145deg, rgba(255,251,241,.97), rgba(240,224,198,.94)) !important;
  border: 1px solid rgba(166,125,43,.22) !important;
  box-shadow:
    0 30px 58px rgba(83,57,34,.13),
    0 7px 18px rgba(166,125,43,.07) !important;
}

#rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] .tn-atom::before {
  content: "";
  position: absolute;
  inset: 7px;
  z-index: 3;
  pointer-events: none;
  border-radius: 35px 35px 22px 22px;
  background:
    linear-gradient(to bottom,
      rgba(249,240,224,.48) 0%,
      rgba(249,240,224,.10) 8%,
      rgba(249,240,224,0) 16%,
      rgba(249,240,224,0) 84%,
      rgba(249,240,224,.06) 92%,
      rgba(249,240,224,.23) 100%);
  box-shadow: inset 0 0 34px rgba(246,231,207,.14);
}

#rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] .tn-atom::after {
  content: "";
  position: absolute;
  inset: -24px -24px -38px;
  z-index: 4;
  pointer-events: none;
  background:
    url('./noroot.png.webp') left bottom / 142px auto no-repeat,
    url('./noroot(1).png.webp') right bottom / 142px auto no-repeat;
  opacity: .84;
  filter: drop-shadow(0 8px 10px rgba(112,78,48,.08));
}

#rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] .tn-atom__img {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  border-radius: 35px 35px 22px 22px !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
  filter: saturate(.96) contrast(.99) brightness(1.02) !important;
  box-shadow: none !important;
}

@keyframes sgClosingPhotoBreath {
  0%, 100% { transform: translateX(-50%) scale(1); }
  50% { transform: translateX(-50%) scale(1.006); }
}

#rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] {
  animation: sgClosingPhotoBreath 10s ease-in-out infinite;
  transform-origin: center center;
}

@media screen and (max-width: 479px) {
  #rec2487446253 .t396__artboard,
  #rec2487446253 .t396__filter,
  #rec2487446253 .t396__carrier {
    height: 970px !important;
  }

  #rec2487446253 .tn-elem[data-elem-id="1763405219328"] {
    top: 18px !important;
  }

  #rec2487446253 .tn-elem[data-elem-id="1772813849329000001"] {
    top: 78px !important;
  }

  #rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] {
    top: 142px !important;
    width: 100vw !important;
    height: calc(100vw * 1.7777778) !important;
    max-height: 800px !important;
  }

  #rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] .tn-atom {
    padding: 6px !important;
    border-radius: 34px 34px 22px 22px !important;
  }

  #rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] .tn-atom::before,
  #rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] .tn-atom__img {
    border-radius: 28px 28px 17px 17px !important;
  }

  #rec2487446253 .tn-elem[data-elem-id="1780167388618000002"] .tn-atom::after {
    inset: -17px -14px -28px;
    background-size: 112px auto, 112px auto;
    opacity: .76;
  }
}



/* ==========================================================================
   FONT POLISH — user request
   ========================================================================== */

#rec2487446183 .tn-elem[data-elem-id="1763405219328"] .tn-atom,
#rec2487446183 .tn-elem[data-elem-id="1778524751695000002"] .tn-atom,
#rec2487446253 .tn-elem[data-elem-id="1763405219328"] .tn-atom {
  font-family: 'NewFonts', Arial, sans-serif !important;
  font-weight: normal !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
  color: var(--sg-color-gold) !important;
  text-align: center !important;
  text-wrap: balance;
}

#rec2487446253 .tn-elem[data-elem-id="1772813849329000001"] .tn-atom {
  font-family: var(--sg-font-display) !important;
  font-weight: var(--sg-weight-display) !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
  color: var(--sg-color-gold) !important;
  text-align: center !important;
}



/* ==========================================================================
   HERO QUOTE + PERSONALIZED GUEST — FINAL V15
   Final spacing and hierarchy pass based on mobile visual QA.
   ========================================================================== */

/* Raise the Bismillah ornament slightly so it has its own breathing room. */
#rec2487446043 .tn-elem[data-elem-id="1782312134224"] {
  top: 782px !important;
}

/* Decorative romantic quote. */
#rec2487446043 .tn-elem[data-elem-id="1780748008617000003"] {
  top: 858px !important;
  left: calc(50% - 180px) !important;
  width: 360px !important;
  height: auto !important;
  z-index: 6 !important;
}

#rec2487446043 .tn-elem[data-elem-id="1780748008617000003"] .tn-atom {
  font-family: 'NewFonts', 'Traditional Arabic', 'Arabic Typesetting', serif !important;
  font-weight: 800 !important; /* DecoType Thuluth */
  font-size: 31.5px !important;
  line-height: 1.36 !important;
  letter-spacing: 0 !important;
  color: #a67d2b !important;
  text-align: center !important;
  direction: rtl !important;
  font-feature-settings: "liga" 1, "calt" 1 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* Personalized invitation block gets a clean visual pause after the quote. */
#rec2487446043 .sg-guest-invite {
  top: 1013px !important;
  left: calc(50% - 180px) !important;
  width: 360px !important;
  height: auto !important;
  z-index: 7 !important;
}

#allrecords #rec2487446043 .sg-guest-invite > .tn-atom {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 0 !important;
  direction: rtl !important;
  text-align: center !important;
  line-height: normal !important;
  overflow: visible !important;
}

/* دعوة خاصة إلى */
#guestInviteLabel.sg-guest-eyebrow {
  display: block !important;
  width: 100% !important;
  margin: 0 0 7px !important;
  font-family: 'NewFonts', 'Traditional Arabic', Tahoma, Arial, sans-serif !important;
  font-weight: 200 !important; /* Amiri Bold */
  font-size: 16.5px !important;
  line-height: 1.34 !important;
  color: #6b5141 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

/* Honorifics use the same classical Arabic family. */
.sg-guest-honorific {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  font-family: 'NewFonts', 'Traditional Arabic', Tahoma, Arial, sans-serif !important;
  font-weight: 200 !important;
  line-height: 1.34 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  direction: rtl !important;
  color: #6b5141 !important;
  text-decoration: none !important;
}

.sg-guest-prefix {
  margin: 0 0 3px !important;
  font-size: 19px !important;
  white-space: nowrap !important;
}

/* Guest name remains the focal point. */
#guestHeroName.sg-guest-name {
  display: block !important;
  width: 100% !important;
  max-width: 352px !important;
  margin: 2px auto 3px !important;
  font-family: 'NewFonts', 'Traditional Arabic', 'Arabic Typesetting', serif !important;
  font-weight: 800 !important;
  font-size: 29.5px !important;
  line-height: 1.34 !important;
  color: #a67d2b !important;
  text-align: center !important;
  direction: rtl !important;
  letter-spacing: 0 !important;
  white-space: pre-line !important;
  text-wrap: balance;
  overflow-wrap: normal !important;
  word-break: normal !important;
  font-feature-settings: "liga" 1, "calt" 1 !important;
}

/* المحترم / المحترمة / المحترمين ... */
.sg-guest-suffix {
  margin: 1px 0 0 !important;
  font-size: 18px !important;
  white-space: nowrap !important;
}

.sg-guest-honorific[hidden],
#guestHeroName[hidden] {
  display: none !important;
}

/* Closing invitation sentence: readable, calm, and separated from the honorific. */
#rec2487446043 .sg-guest-message {
  display: block !important;
  width: 326px !important;
  max-width: 100% !important;
  margin: 10px auto 0 !important;
  font-family: 'NewFonts', 'Traditional Arabic', Tahoma, Arial, sans-serif !important;
  font-weight: 200 !important;
  font-size: 14px !important;
  line-height: 1.62 !important;
  color: #5d483a !important;
  text-align: center !important;
  direction: rtl !important;
  letter-spacing: 0 !important;
}

/* Mobile-first tuning for the actual invitation viewport. */
@media screen and (max-width: 479px) {
  #rec2487446043 .tn-elem[data-elem-id="1782312134224"] {
    top: 782px !important;
  }

  #rec2487446043 .tn-elem[data-elem-id="1780748008617000003"] {
    top: 858px !important;
    left: calc(50% - 174px) !important;
    width: 348px !important;
  }

  #rec2487446043 .tn-elem[data-elem-id="1780748008617000003"] .tn-atom {
    font-size: 31px !important;
    line-height: 1.36 !important;
  }

  #rec2487446043 .sg-guest-invite {
    top: 1013px !important;
    left: calc(50% - 174px) !important;
    width: 348px !important;
  }

  #guestInviteLabel.sg-guest-eyebrow {
    font-size: 16px !important;
  }

  .sg-guest-prefix {
    font-size: 18.5px !important;
  }

  #guestHeroName.sg-guest-name {
    max-width: 340px !important;
    font-size: 29px !important;
    line-height: 1.34 !important;
  }

  .sg-guest-suffix {
    font-size: 17.5px !important;
  }

  #rec2487446043 .sg-guest-message {
    width: 316px !important;
    font-size: 13.7px !important;
    line-height: 1.60 !important;
    margin-top: 9px !important;
  }
}


/* Two-person invitation names get deliberate line separation instead of accidental wrapping. */
#guestHeroName.sg-guest-name--multi {
  line-height: 1.34 !important;
}

/* END PROJECT STYLE LAYER */


/* ==========================================================================
   SCHEDULE FLOWER — SCROLL RESTORE
   Restores the falling flower motion inside the schedule section for local/full package builds.
   ========================================================================== */
#rec2487446103 .tn-elem[data-elem-id="1773602024985"] .tn-atom__sbs-anim-wrapper {
  will-change: transform !important;
  transform: translate3d(0, 0, 0) scale(1);
}




/* ==========================================================================
   LOCATION PETALS — CONTINUOUS FALL
   The original six petals now fall continuously on their own.
   They are NOT tied to page scroll.
   ========================================================================== */

#rec2487446153 .tn-elem[data-elem-id="1782460410648000001"],
#rec2487446153 .tn-elem[data-elem-id="1782460410648000002"],
#rec2487446153 .tn-elem[data-elem-id="1782460410648000003"],
#rec2487446153 .tn-elem[data-elem-id="1782460410649000004"],
#rec2487446153 .tn-elem[data-elem-id="1782460410649000005"],
#rec2487446153 .tn-elem[data-elem-id="1782460410649000006"] {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Prevent any old hidden animation state from suppressing them. */
#rec2487446153 .tn-elem.t396__elem--anim-hidden[data-elem-id="1782460410648000001"],
#rec2487446153 .tn-elem.t396__elem--anim-hidden[data-elem-id="1782460410648000002"],
#rec2487446153 .tn-elem.t396__elem--anim-hidden[data-elem-id="1782460410648000003"],
#rec2487446153 .tn-elem.t396__elem--anim-hidden[data-elem-id="1782460410649000004"],
#rec2487446153 .tn-elem.t396__elem--anim-hidden[data-elem-id="1782460410649000005"],
#rec2487446153 .tn-elem.t396__elem--anim-hidden[data-elem-id="1782460410649000006"] {
  opacity: 1 !important;
}

/* Base wrapper state */
#rec2487446153 .tn-elem[data-elem-id="1782460410648000001"] .tn-atom__sbs-anim-wrapper,
#rec2487446153 .tn-elem[data-elem-id="1782460410648000002"] .tn-atom__sbs-anim-wrapper,
#rec2487446153 .tn-elem[data-elem-id="1782460410648000003"] .tn-atom__sbs-anim-wrapper,
#rec2487446153 .tn-elem[data-elem-id="1782460410649000004"] .tn-atom__sbs-anim-wrapper,
#rec2487446153 .tn-elem[data-elem-id="1782460410649000005"] .tn-atom__sbs-anim-wrapper,
#rec2487446153 .tn-elem[data-elem-id="1782460410649000006"] .tn-atom__sbs-anim-wrapper {
  display: inherit !important;
  width: inherit !important;
  height: inherit !important;
  will-change: transform, opacity;
  transform-origin: 50% 50%;
}

/* Each petal keeps its original direction and distance, but loops forever. */
#rec2487446153 .tn-elem[data-elem-id="1782460410648000001"] .tn-atom__sbs-anim-wrapper {
  animation: sgLocPetalA 8.4s linear -1.3s infinite !important;
}
#rec2487446153 .tn-elem[data-elem-id="1782460410648000002"] .tn-atom__sbs-anim-wrapper {
  animation: sgLocPetalB 8.8s linear -5.1s infinite !important;
}
#rec2487446153 .tn-elem[data-elem-id="1782460410648000003"] .tn-atom__sbs-anim-wrapper {
  animation: sgLocPetalC 8.0s linear -3.7s infinite !important;
}
#rec2487446153 .tn-elem[data-elem-id="1782460410649000004"] .tn-atom__sbs-anim-wrapper {
  animation: sgLocPetalD 8.6s linear -6.6s infinite !important;
}
#rec2487446153 .tn-elem[data-elem-id="1782460410649000005"] .tn-atom__sbs-anim-wrapper {
  animation: sgLocPetalE 6.9s linear -2.4s infinite !important;
}
#rec2487446153 .tn-elem[data-elem-id="1782460410649000006"] .tn-atom__sbs-anim-wrapper {
  animation: sgLocPetalF 7.4s linear -4.8s infinite !important;
}

/* Original directional paths reconstructed from the saved Tilda SBS values. */
@keyframes sgLocPetalA {
  0%   { transform: translate3d(0,0,0) rotate(0deg); opacity:0; }
  7%   { opacity:1; }
  43%  { transform: translate3d(27px,163px,0) rotate(-6deg); opacity:1; }
  90%  { transform: translate3d(60px,341px,0) rotate(-7deg); opacity:.8; }
  100% { transform: translate3d(77px,381px,0) rotate(2deg); opacity:0; }
}

@keyframes sgLocPetalB {
  0%   { transform: translate3d(0,0,0) rotate(0deg); opacity:0; }
  7%   { opacity:1; }
  43%  { transform: translate3d(-39px,163px,0) rotate(-6deg); opacity:1; }
  90%  { transform: translate3d(-69px,341px,0) rotate(2deg); opacity:.8; }
  100% { transform: translate3d(-77px,381px,0) rotate(2deg); opacity:0; }
}

@keyframes sgLocPetalC {
  0%   { transform: translate3d(0,0,0) rotate(0deg); opacity:0; }
  8%   { opacity:1; }
  33%  { transform: translate3d(29px,73px,0) rotate(-6deg); opacity:1; }
  91%  { transform: translate3d(57px,204px,0) rotate(-6deg); opacity:1; }
  100% { transform: translate3d(67px,224px,0) rotate(-6deg); opacity:0; }
}

@keyframes sgLocPetalD {
  0%   { transform: translate3d(0,0,0) rotate(0deg); opacity:0; }
  8%   { opacity:1; }
  53%  { transform: translate3d(-39px,133px,0) rotate(-6deg); opacity:1; }
  88%  { transform: translate3d(-69px,221px,0) rotate(2deg); opacity:1; }
  100% { transform: translate3d(-99px,251px,0) rotate(2deg); opacity:0; }
}

@keyframes sgLocPetalE {
  0%   { transform: translate3d(0,0,0) rotate(0deg); opacity:0; }
  10%  { opacity:1; }
  100% { transform: translate3d(39px,83px,0) rotate(-12deg); opacity:0; }
}

@keyframes sgLocPetalF {
  0%   { transform: translate3d(0,0,0) rotate(0deg); opacity:0; }
  10%  { opacity:1; }
  100% { transform: translate3d(-39px,73px,0) rotate(-6deg); opacity:0; }
}

/* Keep motion smooth on small screens too. */
@media screen and (max-width: 479px) {
  #rec2487446153 .tn-atom__sbs-anim-wrapper {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
}


/* ==========================================================================
   LOVE + GIFT CARD — FINAL POLISH V19
   Refines typography, hierarchy, spacing and adds a personal couple message.
   ========================================================================== */

#rec2487446183 {
  overflow: visible !important;
}

/* Both decorative headings */
#rec2487446183 .tn-elem[data-elem-id="1778524751695000002"],
#rec2487446183 .tn-elem[data-elem-id="1763405219328"] {
  left: calc(50% - 180px) !important;
  width: 360px !important;
  height: auto !important;
  z-index: 8 !important;
}

#rec2487446183 .tn-elem[data-elem-id="1778524751695000002"] {
  top: 72px !important;
}

#rec2487446183 .tn-elem[data-elem-id="1763405219328"] {
  top: 303px !important;
}

#rec2487446183 .tn-elem[data-elem-id="1778524751695000002"] .tn-atom,
#rec2487446183 .tn-elem[data-elem-id="1763405219328"] .tn-atom {
  font-family: 'NewFonts', 'Traditional Arabic', 'Arabic Typesetting', serif !important;
  font-weight: 800 !important; /* DecoType Thuluth */
  font-size: 37px !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  color: #a67d2b !important;
  text-align: center !important;
  direction: rtl !important;
  font-feature-settings: "liga" 1, "calt" 1 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* Main body copy under each heading */
#rec2487446183 .tn-elem[data-elem-id="1778524751695000001"],
#rec2487446183 .tn-elem[data-elem-id="1772813849329000001"] {
  left: calc(50% - 165px) !important;
  width: 330px !important;
  height: auto !important;
  z-index: 8 !important;
}

#rec2487446183 .tn-elem[data-elem-id="1778524751695000001"] {
  top: 137px !important;
}

#rec2487446183 .tn-elem[data-elem-id="1772813849329000001"] {
  top: 366px !important;
}

#rec2487446183 .tn-elem[data-elem-id="1778524751695000001"] .tn-atom,
#rec2487446183 .tn-elem[data-elem-id="1772813849329000001"] .tn-atom {
  font-family: 'NewFonts', 'Traditional Arabic', Tahoma, Arial, sans-serif !important;
  font-weight: 200 !important; /* Amiri Bold */
  font-size: 16.5px !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
  color: #624c3f !important;
  text-align: center !important;
  direction: rtl !important;
  text-wrap: balance;
}

/* Personal message from the couple */
#rec2487446183 .sg-couple-card-note {
  position: absolute;
  top: 221px;
  left: 50%;
  width: 330px;
  transform: translateX(-50%);
  z-index: 9;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  direction: rtl;
  pointer-events: none;
}

#rec2487446183 .sg-couple-card-ornament {
  display: block;
  margin-bottom: 2px;
  font-family: Georgia, serif;
  font-size: 18px;
  line-height: 1;
  color: rgba(166, 125, 43, .72);
}

#rec2487446183 .sg-couple-card-quote {
  display: block;
  max-width: 320px;
  font-family: 'NewFonts', 'Traditional Arabic', 'Arabic Typesetting', serif;
  font-weight: 800; /* DecoType Thuluth */
  font-size: 20px;
  line-height: 1.38;
  color: #9b7427;
  letter-spacing: 0;
  text-wrap: balance;
}

#rec2487446183 .sg-couple-card-signature {
  display: block;
  margin-top: 3px;
  font-family: 'NewFonts', 'Traditional Arabic', 'Arabic Typesetting', serif;
  font-weight: 800;
  font-size: 15px;
  line-height: 1.3;
  color: #775c49;
  letter-spacing: 0;
}

/* Let the floral corner stay decorative rather than compete with the copy. */
#rec2487446183 .tn-elem[data-elem-id="1780167075599000003"] {
  opacity: .88 !important;
}

/* Mobile invitation viewport */
@media screen and (max-width: 479px) {
  #rec2487446183 .tn-elem[data-elem-id="1778524751695000002"],
  #rec2487446183 .tn-elem[data-elem-id="1763405219328"] {
    left: calc(50% - 170px) !important;
    width: 340px !important;
  }

  #rec2487446183 .tn-elem[data-elem-id="1778524751695000002"] .tn-atom,
  #rec2487446183 .tn-elem[data-elem-id="1763405219328"] .tn-atom {
    font-size: 35px !important;
  }

  #rec2487446183 .tn-elem[data-elem-id="1778524751695000001"],
  #rec2487446183 .tn-elem[data-elem-id="1772813849329000001"] {
    left: calc(50% - 158px) !important;
    width: 316px !important;
  }

  #rec2487446183 .tn-elem[data-elem-id="1778524751695000001"] .tn-atom,
  #rec2487446183 .tn-elem[data-elem-id="1772813849329000001"] .tn-atom {
    font-size: 15.5px !important;
    line-height: 1.62 !important;
  }

  #rec2487446183 .sg-couple-card-note {
    top: 219px;
    width: 316px;
  }

  #rec2487446183 .sg-couple-card-quote {
    max-width: 306px;
    font-size: 19px;
  }

  #rec2487446183 .sg-couple-card-signature {
    font-size: 14.5px;
  }
}

/* ==========================================================================
   V20 — HEADING TYPOGRAPHY UPGRADE
   Fixes the missing decorative font asset and refines all main section titles
   so they better match the romantic theme and the rest of the invitation.
   ========================================================================== */

:root {
  --sg-font-heading-decorative: 'NewFonts', 'Traditional Arabic', 'Arabic Typesetting', serif;
}

/* Main section headings across the invitation */
#allrecords .sg-section-title > .tn-atom,
#allrecords .sg-hero-kicker > .tn-atom,
#rec2487446183 .tn-elem[data-elem-id="1778524751695000002"] .tn-atom,
#rec2487446183 .tn-elem[data-elem-id="1763405219328"] .tn-atom {
  font-family: var(--sg-font-heading-decorative) !important;
  font-weight: normal !important;
  letter-spacing: 0 !important;
  line-height: 1.18 !important;
  color: var(--sg-color-gold) !important;
  text-align: center !important;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  text-wrap: balance;
  text-shadow: 0 1px 0 rgba(255,255,255,.55);
}

/* Give section headings slightly more presence on mobile without breaking layout */
#allrecords .sg-section-title > .tn-atom {
  font-size: 45px !important;
}

#allrecords .sg-hero-kicker > .tn-atom {
  font-size: 43px !important;
  line-height: 1.08 !important;
}

/* Love / gift card headings */
#rec2487446183 .tn-elem[data-elem-id="1778524751695000002"] .tn-atom,
#rec2487446183 .tn-elem[data-elem-id="1763405219328"] .tn-atom {
  font-size: 39px !important;
  line-height: 1.22 !important;
}

/* Countdown title benefits from a touch more air */
#rec2487446093 .tn-elem[data-elem-id="1771277026942000001"] .tn-atom {
  font-size: 46px !important;
  line-height: 1.14 !important;
}

/* Location and closing titles should feel refined and soft */
#rec2487446203 .sg-section-title > .tn-atom,
#rec2487446253 .sg-section-title > .tn-atom {
  font-size: 43px !important;
  line-height: 1.16 !important;
}

@media screen and (max-width: 479px) {
  #allrecords .sg-section-title > .tn-atom {
    font-size: 42px !important;
    line-height: 1.16 !important;
  }

  #allrecords .sg-hero-kicker > .tn-atom {
    font-size: 40px !important;
    line-height: 1.08 !important;
  }

  #rec2487446183 .tn-elem[data-elem-id="1778524751695000002"] .tn-atom,
  #rec2487446183 .tn-elem[data-elem-id="1763405219328"] .tn-atom {
    font-size: 36px !important;
    line-height: 1.2 !important;
  }
}


/* ==========================================================================
   AUDIO — KEEP MUSIC, REMOVE FLOATING CONTROL
   Music playback logic remains untouched. The seal tap still starts/unlocks
   the looping audio; only the large fixed play/pause button is removed from UI.
   ========================================================================== */
#weiAudioBtn {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}


/* ==========================================================================
   V29 — MOBILE SCHEDULE GEOMETRY FROM USER'S WORKING REFERENCE
   Source of truth: sacred-garden-arabic-maria-abdalla(1).zip
   This overrides only the schedule geometry below 480px.
   Everything else remains on the stable v23 implementation.
   ========================================================================== */
@media screen and (max-width: 479px) {

  /* Heading stays inside the original Tilda 320px mobile grid. */
  #rec2487446103 .sg-section-title > .tn-atom {
    font-size: 39px !important;
    line-height: 1.16 !important;
  }

  /* Right-side labels — exact positions from the old working build. */
  #rec2487446103 .tn-elem[data-elem-id="1763405268776"] {
    left: calc(50% - 160px + 205px) !important;
    width: 94px !important;
  }
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000002"],
  #rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] {
    left: calc(50% - 160px + 206px) !important;
    width: 91px !important;
  }
  #rec2487446103 .tn-elem[data-elem-id="1778517684813000001"],
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] {
    left: calc(50% - 160px + 221px) !important;
    width: 61px !important;
  }

  /* Left-side values — old working positions.
     Long venue/location values keep a slightly wider safe width,
     but remain fully inside a 320px viewport. */
  #rec2487446103 .tn-elem[data-elem-id="1772803062504"],
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000003"],
  #rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] {
    left: calc(50% - 160px + 4px) !important;
    width: 129px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1778517684813000002"],
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] {
    left: calc(50% - 160px + 1px) !important;
    width: 150px !important;
  }

  /* Central flower — exact old mobile x position. */
  #rec2487446103 .tn-elem[data-elem-id="1773602024985"] {
    left: calc(50% - 160px + 132px) !important;
  }

  /* Typography stays readable without changing geometry. */
  #rec2487446103 .tn-elem[data-elem-id="1763405268776"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000002"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1778517684813000001"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] .tn-atom {
    font-size: 15px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000003"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] .tn-atom {
    font-size: 17px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
    font-size: 15px !important;
    line-height: 1.28 !important;
    white-space: normal !important;
  }
}

/* 480–639px phones keep the original Tilda geometry.
   We intentionally add no extra geometry overrides here. */


/* ==========================================================================
   V31 — OPENING EXACT CENTER / EXACT IMAGE WIDTH
   Verified geometry only. No global Tilda/mobile layout changes.
   - Envelope width = min(viewport width, 440px)
   - Envelope is centered exactly on both axes
   - Original 941:1672 aspect ratio preserved (no crop, no stretch)
   - Video uses the same centered stage behavior
   ========================================================================== */

#weiOverlay {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  overflow: hidden !important;
  background: #F9F0E0 !important;
}

#weiOverlayStage {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: min(100vw, 440px) !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

#weiOverlayStage #weiImg {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  transform: none !important;
}

/* Keep the A&M lettering attached to its original percentage coordinates. */
#weiSealLetters {
  left: 50% !important;
  top: 51.38% !important;
  width: 35.71% !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  z-index: 2 !important;
}

#weiTapWrap {
  z-index: 3 !important;
}

#weiVideoWrap {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  overflow: hidden !important;
  background: #F9F0E0 !important;
}

#weiVideoStage {
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: min(100vw, 440px) !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

#weiVideoStage #weiVideo {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  transform: none !important;
}

@media screen and (orientation: landscape) {
  #weiOverlayStage,
  #weiVideoStage {
    width: auto !important;
    max-width: 100vw !important;
    height: min(100dvh, 782px) !important;
  }

  #weiOverlayStage #weiImg,
  #weiVideoStage #weiVideo {
    width: auto !important;
    max-width: 100vw !important;
    height: 100% !important;
    max-height: 100dvh !important;
  }
}


/* ==========================================================================
   V32 — INTRO BACKGROUND ISOLATION / FULL VIEWPORT MASK
   Keeps the centered V31 envelope geometry exactly unchanged.
   Fixes the actual issue visible behind the envelope:
   - no invitation content can render through the intro gap
   - no body/page background strip can appear
   - overlay/video cover the layout viewport using fixed inset, not dvh sizing
   - page scrolling is locked until the reveal transition finishes
   ========================================================================== */

html.wei-intro-lock,
body.wei-intro-lock {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  background: #F9F0E0 !important;
}

/* While the intro is active, the actual invitation is intentionally masked.
   This makes the opening independent of any Tilda artboard underneath it. */
body.wei-intro-active #allrecords > .r:not(#rec2487446003) {
  visibility: hidden !important;
}

/* Do not combine inset:0 with 100dvh: emulated/mobile dynamic viewport units
   can be shorter than the layout viewport. Let all four inset edges define
   the fixed mask instead. */
#weiOverlay,
#weiVideoWrap {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  inset: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  background: #F9F0E0 !important;
}

#weiOverlay {
  z-index: 2147483646 !important;
}

#weiVideoWrap {
  z-index: 2147483647 !important;
}


/* ==========================================================================
   V33 — INNER CONTENT MOBILE CANVAS
   Same principle as the corrected intro:
   - one centered invitation canvas
   - canvas width = min(viewport width, 440px)
   - no white strip inside the mobile viewport
   - Tilda geometry remains LTR; Arabic text remains RTL
   - the main hero video/overlay are forced to the exact canvas width
   Scope: INTERNAL CONTENT ONLY. Intro overlay/video are untouched.
   ========================================================================== */

@media screen and (max-width: 479px) {

  /* The mobile invitation itself is one exact centered canvas. */
  html,
  body.t-body {
    background: #f9f0e0 !important;
    overflow-x: hidden !important;
  }

  #allrecords {
    position: relative !important;
    width: min(100vw, 440px) !important;
    max-width: 440px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    background: #f9f0e0 !important;
    overflow-x: hidden !important;

    /* Geometry must not inherit page RTL direction. */
    direction: ltr !important;
  }

  #allrecords > .r,
  #allrecords .t396,
  #allrecords .t396__artboard,
  #allrecords .t396__carrier,
  #allrecords .t396__filter {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  #allrecords > .r,
  #allrecords .t396__artboard,
  #allrecords .t396__carrier,
  #allrecords .t396__filter {
    background-color: #f9f0e0;
  }

  /* Keep Arabic shaping/text direction independent from structural geometry. */
  #allrecords .tn-elem[data-elem-type="text"] .tn-atom,
  #allrecords .sg-text > .tn-atom,
  #allrecords .sg-text .tn-atom {
    direction: rtl !important;
    unicode-bidi: plaintext;
  }

  /* ----------------------------------------------------------------------
     HERO FULL-BLEED VISUAL
     The swan/arch video and its light overlay were still using Tilda's
     320px-grid offset. Force both to the mobile canvas edges directly.
     No translate/transform is used, so Tilda animation transforms are safe.
     ---------------------------------------------------------------------- */
  #rec2487446043 .tn-elem[data-elem-id="1773841348614000001"],
  #rec2487446043 .tn-elem[data-elem-id="1763402091707"] {
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  #rec2487446043 .tn-elem[data-elem-id="1773841348614000001"] .tn-atom,
  #rec2487446043 .tn-elem[data-elem-id="1773841348614000001"] .tn-atom__html {
    width: 100% !important;
    max-width: 100% !important;
  }

  #rec2487446043 .tn-elem[data-elem-id="1773841348614000001"] video {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
  }

  /* Prevent the old overflow-hidden RTL scroll origin from shifting artwork. */
  #allrecords.t-records__overflow-hidden {
    overflow-x: hidden !important;
    direction: ltr !important;
  }
}

/* Very small phones use the same canvas formula; no separate positional hack. */
@media screen and (max-width: 359px) {
  #allrecords {
    width: 100vw !important;
  }
}


/* ==========================================================================
   V35 — COUNTDOWN RTL ORDER RESTORE
   V33 intentionally made structural geometry LTR to stabilize the mobile
   canvas. The countdown is a semantic Arabic sequence and must remain RTL:
   أيام → ساعات → دقائق → ثواني from right to left.
   ========================================================================== */
#rec2487446093 #countdownContainer {
  direction: rtl !important;
  flex-direction: row !important;
}

/* Keep numeric glyphs internally LTR while the blocks themselves flow RTL. */
#rec2487446093 #countdownContainer .number,
#rec2487446093 #countdownContainer .separator {
  direction: ltr !important;
  unicode-bidi: isolate !important;
}

#rec2487446093 #countdownContainer .label {
  direction: rtl !important;
  unicode-bidi: plaintext;
}


/* ==========================================================================
   V36 — MAIN ARABIC HEADING TYPOGRAPHY
   Scope: typography only. No geometry/spacing/layout changes.
   Uses the existing Arabic-capable decorative family already bundled by Tilda:
   NewFonts weight 800 = DecoType Thuluth.
   ========================================================================== */

/* Main section titles: بقي على فرحتنا / تفاصيل الحفل / الموقع / closing title */
#rec2487446093 .sg-section-title > .tn-atom,
#rec2487446103 .sg-section-title > .tn-atom,
#rec2487446153 .sg-section-title > .tn-atom,
#rec2487446253 .sg-section-title > .tn-atom,

/* Love / gift card headings: بكل الحب / أجمل هدية */
#rec2487446183 .tn-elem[data-elem-id="1778524751695000002"] .tn-atom,
#rec2487446183 .tn-elem[data-elem-id="1763405219328"] .tn-atom {
  font-family: 'NewFonts', 'Traditional Arabic', 'Arabic Typesetting', serif !important;
  font-weight: 800 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  color: #a67d2b !important;
  text-align: center !important;
  direction: rtl !important;
  font-feature-settings: "liga" 1, "calt" 1 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  text-shadow: 0 1px 0 rgba(255,255,255,.38);
}

/* Preserve the existing sizes and positions; only refine line rendering. */
#rec2487446093 .sg-section-title > .tn-atom,
#rec2487446103 .sg-section-title > .tn-atom,
#rec2487446153 .sg-section-title > .tn-atom,
#rec2487446253 .sg-section-title > .tn-atom {
  line-height: 1.16 !important;
}

#rec2487446183 .tn-elem[data-elem-id="1778524751695000002"] .tn-atom,
#rec2487446183 .tn-elem[data-elem-id="1763405219328"] .tn-atom {
  line-height: 1.20 !important;
}


/* ==========================================================================
   V37 — MAKE "بانتظاركم بكل الحب" MATCH MAIN HEADINGS
   Explicit selector for the closing title in record 2487446253.
   Typography only — no layout/position/geometry changes.
   ========================================================================== */
#rec2487446253 .tn-elem[data-elem-id="1763405219328"].sg-section-title > .tn-atom {
  font-family: 'NewFonts', 'Traditional Arabic', 'Arabic Typesetting', serif !important;
  font-weight: 800 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
  color: #a67d2b !important;
  text-align: center !important;
  direction: rtl !important;
  line-height: 1.16 !important;
  font-feature-settings: "liga" 1, "calt" 1 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  text-shadow: 0 1px 0 rgba(255,255,255,.38);
}


/* ==========================================================================
   V38 — SCHEDULE TYPOGRAPHY REFINEMENT (APPROVED VERSION SAFE PATCH)
   Scope: record 2487446103 only.
   Purpose: improve the elegance/readability of "تفاصيل الحفل" without
   changing the approved structure or breaking other sections.
   ========================================================================== */

/* Main schedule heading */
#rec2487446103 .sg-section-title > .tn-atom {
  font-family: 'NewFonts', 'Traditional Arabic', 'Arabic Typesetting', serif !important;
  font-weight: 800 !important;
  font-size: 43px !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  color: #a67d2b !important;
  text-align: center !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.40) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Right-side labels */
#rec2487446103 .tn-elem[data-elem-id="1763405268776"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803288793000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1778517684813000001"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] .tn-atom {
  font-family: 'NewFonts', Tahoma, Arial, sans-serif !important;
  font-weight: 650 !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  color: #6a5448 !important;
  text-align: right !important;
  letter-spacing: 0 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.35) !important;
}

/* Left-side values */
#rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803288793000003"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
  font-family: 'NewFonts', Tahoma, Arial, sans-serif !important;
  font-weight: 420 !important;
  font-size: 23px !important;
  line-height: 1.40 !important;
  color: #7a6657 !important;
  text-align: center !important;
  letter-spacing: 0 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.30) !important;
}

/* Keep long entries balanced and elegant */
#rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
  font-size: 20px !important;
  line-height: 1.38 !important;
}

#rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom {
  font-size: 21px !important;
}

/* Central flower accent — visual polish only */
#rec2487446103 .tn-elem[data-elem-id="1773602024985"] .tn-atom {
  filter: drop-shadow(0 6px 10px rgba(166,125,43,.14));
}

@media screen and (max-width: 479px) {
  #rec2487446103 .sg-section-title > .tn-atom {
    font-size: 39px !important;
    line-height: 1.14 !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1763405268776"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000002"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1778517684813000001"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] .tn-atom {
    font-size: 16px !important;
    line-height: 1.42 !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000003"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] .tn-atom {
    font-size: 19px !important;
    line-height: 1.36 !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
    font-size: 17px !important;
    line-height: 1.34 !important;
  }
}


/* ==========================================================================
   V39 — WEDDING DETAILS / BALANCED FINAL ARRANGEMENT
   Scope is STRICTLY #rec2487446103.
   Keeps the approved paper, ornaments, timeline, falling flower and section size.
   Refines row alignment + typography only.
   ========================================================================== */

/* Title: same decorative language as the approved main headings. */
#rec2487446103 .sg-section-title > .tn-atom {
  font-family: 'NewFonts', 'Traditional Arabic', 'Arabic Typesetting', serif !important;
  font-weight: 800 !important;
  font-size: 42px !important;
  line-height: 1.12 !important;
  color: #a67d2b !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.42) !important;
}

/* Labels: structured and understated — NewFonts 900 = Reem Kufi. */
#rec2487446103 .tn-elem[data-elem-id="1763405268776"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803288793000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1778517684813000001"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] .tn-atom {
  font-family: 'NewFonts', Tahoma, Arial, sans-serif !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  line-height: 1.40 !important;
  color: #634c40 !important;
  text-align: center !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

/* Values: classic, warmer Arabic body face — NewFonts 200 = Amiri Bold. */
#rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803288793000003"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
  font-family: 'NewFonts', 'Traditional Arabic', 'Arabic Typesetting', serif !important;
  font-weight: 200 !important;
  font-size: 19px !important;
  line-height: 1.35 !important;
  color: #745f52 !important;
  text-align: center !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

/* Long values stay elegant and on one visual line. */
#rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
  font-size: 17px !important;
}

/* Date needs slightly more breathing room than the other values. */
#rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom {
  font-size: 18px !important;
}

/* Timeline is intentionally softer so text remains the primary content. */
#rec2487446103 .tn-elem[data-elem-id="1772803124037"] .tn-atom {
  opacity: .54 !important;
}

#rec2487446103 .tn-elem[data-elem-id="1772803196067"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803288793000004"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803465944000007"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1778517704423000003"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000010"] .tn-atom {
  opacity: .82 !important;
}

/* Falling flower keeps its existing animation; add only a subtle depth cue. */
#rec2487446103 .tn-elem[data-elem-id="1773602024985"] .tn-atom {
  filter: drop-shadow(0 5px 9px rgba(130,86,62,.15)) !important;
}

/* Decorative flourishes become a little softer. */
#rec2487446103 .tn-elem[data-elem-id="1780148092188000001"],
#rec2487446103 .tn-elem[data-elem-id="1780148092188000002"] {
  opacity: .78 !important;
}


/* --------------------------------------------------------------------------
   MOBILE — exact row alignment against the existing 320px Tilda timeline.
   Diamonds are centered at approx. 165 / 247 / 324 / 401 / 479.
   Each label/value pair is aligned to the SAME visual row.
   Horizontal positions remain the approved symmetric geometry.
   -------------------------------------------------------------------------- */
@media screen and (max-width: 479px) {

  #rec2487446103 .sg-section-title > .tn-atom {
    font-size: 38px !important;
    line-height: 1.14 !important;
  }

  /* Preserve the proven symmetric columns around the central line. */
  #rec2487446103 .tn-elem[data-elem-id="1763405268776"] {
    left: calc(50% - 160px + 205px) !important;
    width: 94px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1772803288793000002"],
  #rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] {
    left: calc(50% - 160px + 206px) !important;
    width: 91px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1778517684813000001"],
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] {
    left: calc(50% - 160px + 205px) !important;
    width: 94px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1772803062504"],
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000003"],
  #rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] {
    left: calc(50% - 160px + 4px) !important;
    width: 129px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1778517684813000002"],
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] {
    left: calc(50% - 160px + 1px) !important;
    width: 150px !important;
  }

  /* Exact paired row alignment. */
  #rec2487446103 .tn-elem[data-elem-id="1763405268776"] {
    top: 154px !important;
  }
  #rec2487446103 .tn-elem[data-elem-id="1772803062504"] {
    top: 152px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1772803288793000002"] {
    top: 236px !important;
  }
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000003"] {
    top: 234px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] {
    top: 313px !important;
  }
  #rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] {
    top: 311px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1778517684813000001"] {
    top: 390px !important;
  }
  #rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] {
    top: 388px !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] {
    top: 468px !important;
  }
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] {
    top: 466px !important;
  }

  /* Mobile typography */
  #rec2487446103 .tn-elem[data-elem-id="1763405268776"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000002"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1778517684813000001"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] .tn-atom {
    font-size: 14px !important;
    line-height: 1.40 !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000003"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] .tn-atom {
    font-size: 17px !important;
    line-height: 1.36 !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
    font-size: 15.5px !important;
    line-height: 1.34 !important;
  }
}


/* ==========================================================================
   V40 — SCHEDULE READABILITY HOTFIX
   Scope: #rec2487446103 only.
   Purpose: keep the approved schedule layout, but make all text clearly
   readable on mobile by increasing contrast, size, and clarity.
   ========================================================================== */

/* Title stays decorative but slightly clearer. */
#rec2487446103 .sg-section-title > .tn-atom {
  color: #a67d2b !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.42) !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Right-side labels: darker + bolder + readable. */
#rec2487446103 .tn-elem[data-elem-id="1763405268776"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803288793000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1778517684813000001"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] .tn-atom {
  font-family: Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  line-height: 1.42 !important;
  color: #5f4a3f !important;
  text-align: right !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased;
}

/* Left-side values: slightly larger and darker. */
#rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803288793000003"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
  font-family: Tahoma, Arial, sans-serif !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  line-height: 1.38 !important;
  color: #6f5a4d !important;
  text-align: center !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased;
}

#rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
  font-size: 18px !important;
}

#rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom {
  font-size: 19px !important;
}

/* Slightly strengthen the central line markers without changing layout. */
#rec2487446103 .tn-elem[data-elem-id="1772803124037"] .tn-atom {
  opacity: .62 !important;
}
#rec2487446103 .tn-elem[data-elem-id="1772803196067"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803288793000004"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803465944000007"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1778517704423000003"] .tn-atom,
#rec2487446103 .tn-elem[data-elem-id="1772803619332000010"] .tn-atom {
  opacity: .88 !important;
}

@media screen and (max-width: 479px) {
  /* keep geometry from v39; improve readability only */
  #rec2487446103 .tn-elem[data-elem-id="1763405268776"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000002"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1782315605037000003"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1778517684813000001"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000008"] .tn-atom {
    font-size: 16px !important;
    line-height: 1.40 !important;
    color: #5a463a !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803288793000003"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1782315588274000002"] .tn-atom {
    font-size: 18px !important;
    line-height: 1.36 !important;
    color: #6a5649 !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1778517684813000002"] .tn-atom,
  #rec2487446103 .tn-elem[data-elem-id="1772803619332000009"] .tn-atom {
    font-size: 16px !important;
    line-height: 1.34 !important;
    color: #6a5649 !important;
  }

  #rec2487446103 .tn-elem[data-elem-id="1772803062504"] .tn-atom {
    font-size: 17px !important;
  }
}

/* ======================================================================
   V-next — Arabic rendering safety patch for iPhone/mobile browsers
   Reason: a few words in the love/gift section were shaping incorrectly
   with the decorative mixed font stack (e.g. ننتظركم / ذكريات / وجودكم).
   Strategy: keep layout and styling intact, but force a safer native Arabic
   text stack only for the affected body-copy lines and the short quote.
   ====================================================================== */
#rec2487446183 .tn-elem[data-elem-id="1778524751695000001"] .tn-atom,
#rec2487446183 .tn-elem[data-elem-id="1772813849329000001"] .tn-atom,
#rec2487446183 .sg-couple-card-quote,
#rec2487446183 .sg-couple-card-signature {
  font-family: "Geeza Pro", Tahoma, Arial, sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  direction: rtl !important;
  unicode-bidi: plaintext !important;
  font-feature-settings: "liga" 1, "calt" 1, "kern" 1 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* ==========================================================================
   MOBILE PERFORMANCE FIX — COUNTDOWN + WEDDING DETAILS
   --------------------------------------------------------------------------
   iPhone/mobile optimization only. Visual layout is unchanged.
   Removes:
   - infinite countdown gradient shimmer repaint
   - per-second flip transitions / forced reflow
   - simultaneous Tilda entrance transitions in the next details section
   Keeps:
   - countdown values, gradient appearance and RTL order
   - schedule layout
   - central schedule flower scroll animation
   ========================================================================== */
@media screen and (max-width: 640px), (pointer: coarse) {

  /* Countdown: static gradient, no perpetual repaint / clip-path animation. */
  #rec2487446093 #countdownContainer .number {
    clip-path: none !important;
    -webkit-clip-path: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
    background-position: 50% 0 !important;
    will-change: auto !important;
  }

  #rec2487446093 #countdownContainer .number.revealed,
  #rec2487446093 #countdownContainer .number.flip-out,
  #rec2487446093 #countdownContainer .number.flip-in {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }

  #rec2487446093 #countdownContainer .label,
  #rec2487446093 #countdownContainer .separator {
    animation: none !important;
    transition: none !important;
    opacity: .90 !important;
    will-change: auto !important;
  }

  /* Disable only entrance effects; geometry/text styling stays untouched. */
  #rec2487446093 .t-animate,
  #rec2487446103 .t-animate {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
    will-change: auto !important;
  }
}
