/* =========================
DIVI HARD RESET
Prevents Divi wrappers from
breaking fixed fullscreen layers
========================= */
@font-face {
    font-family: "Sloop Script Pro";
    src: url("https://junxnina2026.com/wp-content/uploads/2026/06/Sloop-ScriptThree.ttf") format("opentype");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: "New Icon";
    src: url("https://junxnina2026.com/wp-content/uploads/2026/06/new-icon-serif-condensed_fontlotbb33.otf") format("opentype");
    font-weight: normal;
    font-style: normal;
}


html,
body,
#page-container,
.et-db #et-boc,
.et-l,
.et_pb_section,
.et_pb_row,
.et_pb_column,
.et_pb_code,
.et_pb_code_inner{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

.et_pb_section,
.et_pb_row,
.et_pb_column,
.et_pb_code{
  overflow:visible !important;
}

.et_pb_code_inner{
  position:relative !important;
}

/* remove divi spacing */
#main-content{
  margin-top:0 !important;
}

body{
  overflow:hidden;
}

/* =========================
RESET
========================= */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html,
body{
  width:100%;
  min-height:100%;
  background:#f6f1ed;
  font-family:'Cormorant Garamond', serif;
}

/* =========================
MAIN WRAPPER
========================= */

#luxuryWedding{
  position:fixed;
  inset:0;
  width:100vw;
  min-height:100vh;
  height:auto;
  overflow:hidden;
  background:#000;
  z-index:999999;
}

/* =========================
HERO
========================= */
.hero-image{
  position:absolute;
  inset:0;

  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;

  transform:scale(1.05);

  will-change:transform;

  z-index:1;
}


.hero-screen{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  overflow:hidden;
  z-index:1;
}


/* subtle cinematic overlay */
.hero-overlay{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.12),
      rgba(0,0,0,.34)
    );

  z-index:2;
}
/* =========================
HERO TITLE
========================= */

.hero-title{
    position:absolute;
    left:50%;
    top:14%;
    transform:translateX(-50%);
    width:min(1100px,92vw);
    height:520px;

    z-index:30;
    color:#fff;
    text-shadow:0 5px 20px rgba(0,0,0,.28);
}

.hero-subtitle{
    text-align:center;

    font-family:'Playfair Display',serif;
    font-size:42px;

    font-weight:400;

    letter-spacing:2px;

    margin-bottom:70px;
}

.hero-names{
    position:relative;
    width:100%;
    height:420px;
}
.hero-jia{

    position:absolute;

    left:10%;
    top: 45%;

}

.hero-jia .initial{

    font-family:"Sloop Script Pro";
    font-size:250px;
    line-height:.75;

}

.hero-jia .rest{

    position:absolute;

    left:210px;
    top:72px;

    font-family:"New Icon";

    font-size:86px;
    white-space:nowrap;

}
.hero-ampersand{
    position:absolute;

    left:55%;
    top:80%;

    transform:translate(-50%,-50%);

    font-family:"Sloop Script Pro";

    font-size:155px;

    line-height:1;

    z-index:5;
}
.hero-karenina{
    position:absolute;
    right:20%;
    top:90%;
}

.hero-karenina .initial{

    font-family:"Sloop Script Pro";

    font-size:250px;

    line-height:.75;

}

.hero-karenina .rest{

    position:absolute;

    left:230px;
    top:75px;

    font-family:"New Icon";

    font-size:86px;

    white-space:nowrap;

}
/* =========================
RSVP BUTTON
========================= */

.hero-rsvp{
  position:absolute;
  left:50%;
  bottom:80px;
  transform:translateX(-50%);

  z-index:100;

  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.08);

  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);

  color:#fff;

  /* Bigger desktop button */
  padding:22px 78px;
  font-size:18px;
  letter-spacing:6px;
  text-transform:uppercase;
  font-weight:500;
min-width:260px;
  text-align:center;
  border-radius:999px;

  cursor:pointer;

  transition:
    background .45s ease,
    color .45s ease,
    transform .45s ease;

  overflow:hidden;
}

.hero-rsvp:hover{
  background:#fff;
  color:#3d261d;

  transform:
    translateX(-50%)
    translateY(-3px);
}

/* floating glow */
.hero-rsvp::after{
  content:"";

  position:absolute;
  inset:-24px;

  background:
    radial-gradient(
      circle,
      rgba(255,255,255,.24),
      transparent 68%
    );

  animation:luxGlow 3.5s ease-in-out infinite;

  opacity:.45;

  z-index:-1;
}

@keyframes luxGlow{

  0%,100%{
    transform:scale(1);
    opacity:.18;
  }

  50%{
    transform:scale(1.18);
    opacity:.55;
  }

}

/* =========================
INVITE PANEL
========================= */

.invite-panel{
  position:fixed;
  inset:0;
padding-bottom:0 !important;
  width:100%;
  height:100dvh;

  background:#f6f1ed;

  z-index:999999;

  overflow-y:auto;
  overflow-x:hidden;

  transform:translateY(100%);

  pointer-events:none;

  will-change:transform;

  -webkit-overflow-scrolling:touch;
}

/* =========================
INNER CONTENT
========================= */

.invite-inner{
  width:100%;
  position:relative;
  z-index:2;
}

/* =========================
DEAR SECTION
========================= */

.dear-wrap{
  text-align:center;
  padding:140px 30px 70px;
}

.eyebrow{
  letter-spacing:4px;
  text-transform:uppercase;
  font-size:14px;
  opacity:.7;
  margin-bottom:18px;
}

.guest-name{
  font-family:'Playfair Display', serif;
  font-size:58px;
  margin-bottom:30px;
  color:#3f2b23;
}

.invite-copy{
  max-width:760px;
  margin:auto;

  line-height:1.9;
  font-size:22px;

  color:#5d463e;
}

/* =========================
COUPLE
========================= */

.couple-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);

  gap:90px;

  max-width:1200px;

  margin:auto;

  padding:70px 50px 40px; 
}

.person-card{
  text-align:center;
}

.person-card img{
  width:260px;
  height:340px;              /* taller than width = oval portrait */

  object-fit:cover;

  border-radius:50% / 38%;  /* THIS creates the oval shape */

  display:block;
  margin:0 auto 30px;

  box-shadow:
    0 25px 60px rgba(0,0,0,.14)
}

.person-card h3{
  font-family:'Alex Brush', cursive;
  font-size:56px;
  font-weight:400;

  margin-bottom:16px;

  color:#3f2b23;
}

.family-text{
  line-height:1.9;
  font-size:19px;
  color:#5d463e;
}

/* =========================
DATE
========================= */

.date-section{
  text-align:center;
  padding:90px 30px 110px;
}

.date-section h2{
  font-family:'Playfair Display', serif;
  font-size:72px;

  margin:20px 0;

  color:#3f2b23;
}

.verse{
  max-width:760px;
  margin:auto;

  line-height:1.9;
  font-size:22px;

  color:#5d463e;
}

.verse-ref{
  margin-top:20px;
  letter-spacing:2px;
  text-transform:uppercase;
  font-size:12px;
}

/* =========================
COUNTDOWN
========================= */

.countdown-section{
  background:#4a2b21;
  color:#fff;

  padding:80px 20px;
}

.countdown-wrap{
  display:flex;
  justify-content:center;
  gap:70px;
  flex-wrap:wrap;
}

.count-item{
  text-align:center;
}

.count-item span{
  font-family:'Playfair Display', serif;
  font-size:70px;
}

.count-item p{
  margin-top:12px;

  letter-spacing:3px;
  text-transform:uppercase;

  font-size:12px;
}

/* =========================
EVENTS
========================= */

.event-section{
  position:relative;
}

.event-image{
  position:relative;
 display:flex;
  align-items:center;
  min-height:900px;

  background-size:cover;
  background-position:center;

 
}


.event-card{
  width:420px;
position:relative;
  z-index:5;

  padding:56px 46px;

  border-radius:34px;

  background:
    rgba(255,248,245,.92);

  backdrop-filter:blur(14px);

  box-shadow:
    0 30px 80px rgba(0,0,0,.14);
}


.event-card h2{
  font-family:'Playfair Display', serif;
  font-size:48px;

  margin-bottom:24px;

  color:#3f2b23;
}

.event-time{
  font-size:28px;
  margin-bottom:24px;
}

.event-details{
  line-height:1.9;
  margin-bottom:35px;
}

.map-btn{
  display:inline-block;

  padding:16px 41px;   /* ↑ bigger hit area */
  font-size:18px;

  border-radius:100px;

  background:#4a2b21;
  color:#fff;

  text-decoration:none;

  transition:.3s ease;
}

.map-btn:hover{
  transform:translateY(-2px);
}

/* =========================
DRESS CODE
========================= */

.dress-section{
  padding:110px 30px 80px;
}

.dress-card{
  max-width:760px;

  margin:auto;

  padding:75px 55px;

  border-radius:36px;

  text-align:center;

  background:#dcc2b2;
}

.color-wrap{
  display:flex;
  justify-content:center;
  gap:24px;

  margin-top:42px;
}

.color-circle{
  width:60px;
  height:60px;

  border-radius:50%;
}

.sand{
  background:#d1eaff;
}

.blue{
  background:#224f8b;
}

.cream{
  background:#f0e6df;
}

/* =========================
RSVP
========================= */

.rsvp-section{
  padding:110px 20px 150px;
}

.rsvp-card{
  max-width:760px;
  margin:auto;

  text-align:center;
}

.select-row{
  display:flex;
  gap:20px;

  margin-top:40px;
}

select,
textarea{
  width:100%;

  border:1px solid #c8b8ab;

  background:transparent;

  padding:18px;

  border-radius:16px;

  font-family:inherit;
  font-size:18px;
}

textarea{
  margin-top:20px;
  min-height:180px;
}

.submit-btn{
  margin-top:30px;

  border:none;

  background:#4a2b21;
  color:#fff;

  padding:18px 48px;

  border-radius:100px;

  letter-spacing:3px;

  cursor:pointer;
}

/* =========================
LUNCH
========================= */

.lunch-section{

padding:70px 30px;

background:#f8f3ef;

}

.lunch-card{

max-width:620px;

margin:auto;

padding:42px 36px;

text-align:center;

border-radius:26px;

background:#fff;

box-shadow:
0 16px 50px rgba(0,0,0,.06);

}

.lunch-card h2{

font-family:
'Playfair Display',
serif;

font-size:40px;

margin-bottom:14px;

color:#3f2b23;

}

.lunch-time{

font-size:28px;

margin-bottom:14px;

color:#5d463e;

}

.lunch-copy{

font-size:20px;

line-height:1.8;

color:#6b5349;

}

/* =========================
EVENT NOTE
========================= */

.event-note{
max-width: 520px;
margin: 0 auto 30px;
text-align:center !important;
padding:18px;

background:#efe6df;

border-radius:18px;

line-height:1.8;

font-size:18px;

}

/* =========================
RSVP ERROR
========================= */

.pax-error{

display:none;

margin-top:14px;

color:#b64040;

font-size:16px;

}

.field-error{

border:
2px solid
#d64646
!important;

}

select:disabled{

opacity:.65;

cursor:not-allowed;

}
/* =========================
WEDDING GIFT SECTION
========================= */

.gift-section{

  padding:70px 30px 80px;

}


.gift-card{

   max-width:900px;

  margin:auto;

  padding:50px 55px;

  border-radius:30px;

  background:#fff;

  text-align:center;

  position:relative;

  overflow:hidden;

  box-shadow:
  0 30px 80px rgba(0,0,0,.08);

}


/* subtle gold ornament line */

.gift-card::before{

  content:"";

  position:absolute;

  top:0;

  left:50%;

  transform:translateX(-50%);

  width:130px;

  height:2px;

  background:#b58d55;

}



/* heading */

.gift-card h2{

  font-family:'Playfair Display',serif;

   font-size:42px;

  font-weight:500;

  color:#3f2b23;

  margin-bottom:30px;

}



.gift-copy{

  max-width:680px;

  margin:0 auto 40px;

  font-size:19px;

  line-height:1.7;

  color:#6b5349;

}



/* =========================
GRID
========================= */


.gift-grid{

  display:grid;

  grid-template-columns:360px 1fr;

  gap:40px;

  align-items:center;

}



/* =========================
QR CARD
========================= */


.gift-qr{

  text-align:center;

}



.gift-qr img{

  width:100%;

  max-width:300px;

  padding:22px;

  background:#fff;

  border-radius:28px;

  box-shadow:

  0 20px 60px rgba(0,0,0,.10);

}



.gift-qr p{

  margin-top:25px;

  font-size:18px;

  line-height:1.7;

  color:#8a7568;

}



/* =========================
ACCOUNT LIST
========================= */


.gift-accounts{

  display:flex;

  flex-direction:column;

  gap:25px;

}



/* individual account */

.gift-account{

  padding:22px 28px;

  background:#faf6f2;

  border-radius:20px;

  border:1px solid #eee3dc;

  text-align:left;

  transition:.35s ease;

}



.gift-account:hover{

  transform:translateY(-4px);

  box-shadow:

  0 20px 45px rgba(0,0,0,.07);

}



/* country label */


.account-country{

  font-size:13px;

  letter-spacing:4px;

  text-transform:uppercase;

  color:#b58d55;

  margin-bottom:14px;

}



/* account name */


.gift-account h3{

  font-family:'Playfair Display',serif;

  font-size:26px;

  font-weight:500;

  color:#3f2b23;

  margin-bottom:25px;

}



/* rows */


.account-row{

  display:flex;

  justify-content:space-between;

  align-items:center;

  padding:14px 0;

  border-bottom:

  1px solid #eadfd7;

}



.account-row:last-of-type{

  border-bottom:none;

}



.account-row span{

  font-size:14px;

  letter-spacing:2px;

  text-transform:uppercase;

  color:#9b897c;

}



.account-row strong{

  font-family:'Cormorant Garamond',serif;

  font-size:22px;

  font-weight:600;

  color:#3f2b23;

}



/* COPY BUTTON */


.gift-account button{

   margin-top:18px;

  padding:12px 26px;

  border-radius:100px;

  border:

  1px solid #4a2b21;

  background:transparent;

  color:#4a2b21;

  font-family:'Cormorant Garamond',serif;

  font-size:18px;

  letter-spacing:2px;

  cursor:pointer;

  transition:.35s ease;

}



.gift-account button:hover{

  background:#4a2b21;

  color:#fff;

  transform:translateY(-2px);

}
/* =========================
FULL WIDTH MAP SECTION
========================= */

/* remove card constraints for map */
.location-card{
  width:100%;
  max-width:100%;
  padding-top:50px;
}

/* FULL BLEED MAP */
.map-fullbleed{
  position:relative;
  width:100vw;
  height:600px;
  margin-left:calc(-50vw + 50%);
  overflow:hidden;
}

.map-fullbleed iframe{
  width:100%;
  height:100%;
  border:0;
  filter:saturate(1.05) contrast(1.05);
}


/* =========================
REVEAL STATE
========================= */

.reveal{
  opacity:0;
  transform:translateY(60px);
}
/* =========================
DESKTOP TYPOGRAPHY TWEAKS
========================= */

@media (min-width: 1025px){

  /* Dear / The Groom / Ceremony / etc */
  .eyebrow{
    font-size:20px;          /* was 12px */
    letter-spacing:5px;
    margin-bottom:24px;
    opacity:.78;
  }

  /* Guest name */
  .guest-name{
    font-size:66px;          /* was 58px */
    margin-bottom:36px;
  }

  /* Invitation paragraph */
  .invite-copy{
    font-size:26px;          /* was 22px */
    line-height:1.85;
    max-width:900px;
  }

  /* Couple names */
  .person-card h3{
    font-size:64px;          /* was 56px */
    margin-bottom:22px;
  }

  /* Parents */
  .family-text{
    font-size:22px;          /* was 19px */
    line-height:2;
  }

  /* Date */
  .date-section h2{
    font-size:82px;          /* was 72px */
  }

  /* Bible verse */
  .verse{
    font-size:26px;          /* was 22px */
    max-width:900px;
  }

  .verse-ref{
    font-size:15px;
    letter-spacing:3px;
  }

  /* Countdown numbers */
  .count-item span{
    font-size:82px;          /* was 70px */
  }

  .count-item p{
    font-size:15px;          /* was 12px */
    letter-spacing:4px;
  }

.event-image {
     position:relative;
    display:flex;
    align-items:center;
  }

  .event-card {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
  }
  .event-card h2{
    font-size:56px;          /* was 48px */
  }
  .event-card.left{
    left:4%;
    right:auto;
  }

  .event-card.right{
    right:4%;
    left:auto;
  }
  .event-time{
    font-size:34px;          /* was 28px */
  }

  .event-details{
    font-size:24px;          /* was browser default */
    line-height:2;
  }

  .map-btn{
    font-size:16px;
    padding:16px 40px;
  }

  /* Dress code */
  .dress-card h2{
    font-size:56px;
  }

  .dress-copy{
    font-size:24px;
    line-height:1.9;
  }

  /* RSVP */

  .rsvp-card h2{
    font-size:58px;
  }

  .rsvp-deadline{
    margin-top:28px;   
    font-size:22px;
    line-height:1.8;
    color:#6a544a;
}

  select,
  textarea{
    font-size:20px;
  }

  .submit-btn{
    font-size:16px;
    padding:20px 54px;
  }
.event-schedule{
    margin:28px 0 34px;
    display:flex;
    flex-direction:column;
    gap:16px;
}


.schedule-divider{
    position:relative;
    width:39px;
    height:1.2px;

    background:#ccb18b;
}


.event-card.dinner-card{
      width:539px;
      top:10%;
      transform:translateY(-38%);
  }
.event-card.dinner-card .schedule-item{
      display:flex;
      align-items:center;
      gap:15px;
  }
  .event-card.dinner-card .schedule-time{
      min-width:85px;
font-family:'Playfair Display',serif;
 color:#b58d55;
      font-size:24px;
white-space:nowrap;
  }

  .event-card.dinner-card .schedule-text{
      font-size:20px;
      line-height:1.6;
color:#4a4039;
}
}

/* =========================
RESPONSIVE SYSTEM (CLEAN)
========================= */
.desktop-only{
  display:block;
}

.mobile-only{
  display:none;
}
/* =========================
MOBILE + TABLET (≤1024px)
========================= */
@media (max-width: 1024px) {

  /* ---------- GLOBAL FIXES ---------- */
  body{
    overflow:auto !important;
font-size:17px;
    line-height:1.75;
  }
.eyebrow{
    font-size:14px !important;
    letter-spacing:3px;
    margin-bottom:12px;
    opacity:.75;
  }

  h1, h2, h3{
    line-height:1.2;
  }
  #luxuryWedding{
    position:relative;
    height:auto;
    min-height:100vh;
  }

  .hero-screen{
    position:relative;
    height:100svh;
  }
.hero-image{

background-image:
url("https://junxnina2026.com/wp-content/uploads/2026/06/2X2A4127-scaled.jpg")
!important;

/* reduce zoom */
background-size:cover;

background-position:center 30%;

transform:scale(1);

}
.hero-overlay{
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.35),
    rgba(0,0,0,.65)
  ) !important;
}
  /* ---------- HERO ---------- */
  .hero-title{
    height:auto;
    top:16%;
    width:95%;
  }

  .hero-subtitle{
    font-size:20px;
    margin-bottom:18px;
  }

 .hero-names{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center;
    gap:8px;
    height:auto !important;
    text-align:center;
  }

  /* kill old positioning system */
  .hero-jia,
  .hero-karenina,
  .hero-ampersand{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }

  /* =========================
  NAME ROW STYLE (BIG INITIAL + SMALL REST)
  ========================= */

  .hero-jia,
  .hero-karenina{
    display:flex;
    align-items:baseline;
    justify-content:center;
    gap:10px;
  }

  /* BIG SCRIPT INITIALS */
  .hero-jia .initial,
  .hero-karenina .initial{
    font-size:80px !important;
    line-height:0.9;
  }

  /* SMALLER REST TEXT */
  .hero-jia .rest,
  .hero-karenina .rest{
    font-size:35px !important;
    line-height:1.1;
    white-space:nowrap;
    position:static !important;
    margin:0;
  }

  /* AMPERSAND LINE */
  .hero-ampersand{
    font-size:78px !important;
    margin:10px 0;
  }


.hero-rsvp{
left:50%;
top:auto !important;
/* move higher */
bottom:18svh;
transform:translateX(-50%);
padding:15px 46px;
font-size:14px;
letter-spacing:4px;
min-width:220px;
z-index:100;

}

  /* ---------- TYPOGRAPHY ---------- */
  .guest-name{
    font-size:42px;
  }

  .date-section h2{
    font-size:48px;
  }

  /* ---------- LAYOUT SECTIONS ---------- */
  .dear-wrap,
  .date-section,
  .dress-section,
  .rsvp-section{
    padding:70px 22px;
  }

  .couple-grid{
    grid-template-columns:1fr;
    gap:50px;
    padding:60px 22px;
  }

/* =========================
EVENT SECTION (FIXED OVERLAY MODEL)
========================= */

 .desktop-only{
    display:none !important;
  }

  .mobile-only{
    display:block !important;
  }

  /* force natural stacking */
  .event-section{
    display:block;
  }

.event-image{
    display:block !important;
    height:40svh !important;
    min-height:unset !important;
    max-height:360px !important;

    display:block !important;
    overflow:hidden;

    background-position:center 35% !important;
  }

  .event-card{
    width:92%;
position:relative !important;
    z-index:2;
     margin:50px auto 50px !important;
    position:relative;
  }


.event-time{
  font-size:18px;
  margin-bottom:12px;
}

.event-details{
  font-size:15px;
  line-height:1.6;
}

/* button */
.map-btn{
   width:auto;
    max-width:260px;
    display:block;
    margin:0 auto;
  text-align:center;
  padding:12px 22px;
}


  /* ---------- FORMS ---------- */
  .select-row{
    flex-direction:column;
  }

.countdown-section{
  overflow:hidden;
 border:0;
}

.countdown-wrap{
align-items:flex-start;
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:0 10px;
  flex-wrap:nowrap;
}

.count-item{
position:relative;
  transform: translateZ(0);
  flex: 1 1 0;
  min-width: 70px; /* keeps each block stable */
}

.count-item span{
  font-size: 34px !important;
  line-height: 1;
}

.count-item p{
  font-size: 10px !important;
  letter-spacing: 2px;
  white-space: nowrap;
margin:0;
  line-height:1;
}

  .map-embed iframe{
    height:280px;
  }

 .event-card h2,
  .lunch-card h2,
  .dress-card h2,
  .rsvp-card h2{
    font-size:25px !important;
    letter-spacing:.5px;
    margin-bottom:10px;
  }
.event-time,
  .lunch-time{
    font-size:18px !important;
    margin-bottom:10px;
    color:#5d463e;
  }

  /* BODY TEXT CONSISTENCY */
  .event-details,
  .lunch-copy,
  .dress-copy,
  .invite-copy{
    font-size:17px !important;
    line-height:1.7;
  }

  /* RSVP SMALL TEXT */
  .rsvp-deadline,
  .verse,
  .verse-ref{
    font-size:15px !important;
    line-height:1.6;
  }

  /* BUTTON TEXT */
  .map-btn,
  .submit-btn{
    font-size:16px !important;
    letter-spacing:2px;
  }

  /* =========================
  LUNCH ALIGNMENT FIX
  ========================= */

  .lunch-card{
    padding:32px 24px;
  }

  .lunch-card h2{
    margin-bottom:8px;
  }

  .lunch-time{
    font-weight:500;
  }

  /* =========================
  EVENT CARDS MOBILE CLEANUP
  ========================= */

  .event-card{
  background:#fff !important;
  box-shadow: 0 16px 50px rgba(0,0,0,.06) !important;
  border-radius:22px;
}

  .event-details{
    margin-bottom:20px;
  }
.schedule-item{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
}

.schedule-time{

min-width:68px;

font-family:'Playfair Display',serif;

font-size:18px;

color:#b58d55;

}

.schedule-divider{

width:20px;
height:1px;

margin-top:12px;

background:#b58d55;

}

.schedule-text{

font-size:16px;
line-height:1.6;
}

  /* =========================
  HERO FIX (mobile readability)
  ========================= */

  .hero-subtitle{
    font-size:16px !important;
    letter-spacing:2px;
  }

  /* =========================
  DATE SECTION FIX
  ========================= */

  .date-section h2{
    font-size:34px !important;
  }

  .guest-name{
    font-size:34px !important;
  }

  /* =========================
  COUNTDOWN FIX
  ========================= */

  .count-item span{
    font-size:36px !important;
  }

  .count-item p{
    font-size:11px;
  }

.lunch-section{
  padding: 70px 22px;
}

.dress-section{
  padding-bottom:40px !important;
}

.rsvp-section{
  padding-top:40px !important;
}


.verse{
  font-size:16px !important;
}
.color-circle{
  flex: 0 0 auto;
  aspect-ratio: 1 / 1;
  width: 60px;
  height: 60px;
  border-radius: 50% !important;
}

/* =========================
WEDDING GIFT MOBILE
========================= */


.gift-section{

  padding:70px 22px 80px;

}



.gift-card{

padding:35px 20px;

  border-radius:22px;

}



.gift-card h2{

  font-size:26px !important;

  line-height:1.3;

}



.gift-copy{

  font-size:15px !important;

  line-height:1.7;

  margin-bottom:30px;

}



.gift-grid{

  display:flex;

  flex-direction:column;

  gap:45px;

}



.gift-qr img{

  max-width:180px;

  padding:15px;

}



.gift-qr p{

  font-size:15px;

}



.gift-account{

  padding:25px 22px;

  border-radius:22px;

}



.gift-account h3{

  font-size:27px;

}



.account-row{

  display:block;

}



.account-row span{

  display:block;

  margin-bottom:6px;

}



.account-row strong{

  font-size:20px;

}



.gift-account button{

  width:100%;

  font-size:16px;

}
}

/////GLOBAL//////
.location-card{
  padding-bottom:0 !important;
}

.map-fullbleed{
  margin-bottom:0 !important;
}

/* kill last section bottom spacing */
.invite-inner > *:last-child{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}