/* V4.35: One wedding shell through invitation, RSVP and gallery. */
@media (max-width:1023px) {
  body.v3 :is(.zi-couple-bottom-nav,.zw-couple-bottom-nav) a:first-child {
    min-width:0;
    overflow:hidden;
  }
  body.v3 :is(.zi-couple-bottom-nav,.zw-couple-bottom-nav) a:first-child > span,
  body.v3 .zw-couple-bottom-nav [data-destination="story"] > span,
  body.v3 .zi-couple-bottom-nav .zi-couple-firstnames {
    display:block;
    flex:0 1 auto;
    min-width:0;
    max-width:100%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:clamp(8px,2.4vw,10px)!important;
    line-height:1.25!important;
    letter-spacing:-.012em!important;
    text-align:center;
  }
  body.v3 .zi-couple-bottom-nav a:first-child .zi-icon,
  body.v3 .zw-couple-bottom-nav [data-destination="story"] .zi-icon {
    flex:0 0 auto;
  }
  body.v3.rsvp-premium-page {padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));}
  body.v3.rsvp-premium-page .rsvp-premium {padding-bottom:50px;}
}
@media (max-width:360px) {
  body.v3 :is(.zi-couple-bottom-nav,.zw-couple-bottom-nav) a:first-child > span {
    font-size:8px!important;
  }
}

/* Embedded RSVP uses the existing server-validated premium form. Its own
   headline, form and modal remain within the wedding invitation document. */
body.v3.zw-invitation-page .zw-invite-rsvp-inline {
  margin:clamp(32px,6vw,72px) auto 0;
  width:100%;
  max-width:100%;
  scroll-margin-top:30px;
  border-radius:18px;
  background:transparent;
  color:var(--rsvp-ink,#3d2a20);
  box-sizing:border-box;
}
.zw-invite-rsvp-heading {
  margin:0 auto 24px;
  max-width:680px;
  text-align:center;
  padding-inline:clamp(8px,2vw,24px);
}
.zw-invite-rsvp-heading .zw-kicker {
  margin-bottom:14px;
  color:var(--zw-copper,#8a533b);
}
.zw-invite-rsvp-heading h2 {
  margin:0 0 16px;
  color:var(--zw-ink,#34231b);
  font:400 clamp(34px,5vw,59px)/1.07 "Cormorant Garamond",Georgia,serif;
}
.zw-invite-rsvp-heading h2 em {color:var(--zw-copper,#8a533b);}
.zw-invite-rsvp-heading > p:last-child {
  margin:0 auto;
  max-width:57ch;
  color:var(--zw-muted,#6f6158);
  font:400 14px/1.85 "DM Sans",sans-serif;
}
body.v3.zw-invitation-page .rsvp-premium-inline {
  min-height:0!important;
  width:100%;
  padding:0!important;
  background:transparent!important;
  overflow:visible;
}
body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-shell {
  width:100%;
  max-width:940px;
  margin:0 auto;
  background:var(--rsvp-paper,#fffdf8);
  border:1px solid var(--zw-invite-border,#e5d8cc);
  border-radius:20px;
  overflow:visible;
  box-shadow:0 18px 55px rgba(60,35,19,.06);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-card {
  width:100%;
  max-width:100%;
  margin:0;
  border:0;
  border-radius:0;
  box-sizing:border-box;
  box-shadow:none;
  background:transparent;
}
body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-calendar-card {
  border-bottom:1px solid var(--zw-invite-border,#e5d8cc);
  padding:clamp(17px,4vw,31px);
}
body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-form-card {
  padding:clamp(17px,4vw,36px);
}
body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-card:after {
  display:none!important;
}
body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-card-flower,
body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-form-flower {
  max-width:135px;
  opacity:.34;
  pointer-events:none;
}
body.v3.zw-invitation-page .rsvp-premium-inline .calendar,
body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-form {
  min-width:0;
  max-width:100%;
}
body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-fields-grid,
body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-party-grid {
  min-width:0;
  max-width:100%;
}
body.v3.zw-invitation-page .zw-invite-actions [data-rsvp-scroll] {
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
body.v3.zw-invitation-page .zw-invite-actions [data-rsvp-scroll]:hover {
  transform:translateY(-2px);
}
body.v3.zw-invitation-page .rsvp-premium-page .sr-only {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
}
@media (max-width:640px) {
  body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-shell {
    border-radius:15px;
  }
  body.v3.zw-invitation-page .zw-invite-rsvp-inline {margin-top:30px;}
  body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-form-card,
  body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-calendar-card {
    padding:17px 12px;
  }
  body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-fields-grid {
    grid-template-columns:1fr;
  }
  body.v3.zw-invitation-page .rsvp-premium-inline .rsvp-premium-form {
    gap:20px;
  }
  body.v3.zw-invitation-page .zw-invite-related {margin-top:24px;}
}
@media (prefers-reduced-motion:reduce) {
  body.v3.zw-invitation-page [data-rsvp-scroll] {transition:none!important;}
}
