/* 4.34 — invitation-first Wedding sharing, calmer hero chrome and a dedicated invitation page.
   V3 and VNext remain compatible with both tenant branding and dark mode. */
@media (min-width:1024px) {
  /* Over the hero photograph the navigation belongs to the image itself.
     The solid/glass treatment is restored by the existing scrolled state. */
  body.v3.zi-couple-emotion[data-public-header="image"]
    .site-header:not(.is-scrolled):not(.scrolled) {
    position:absolute!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  body.v3.zi-couple-emotion[data-public-header="image"]
    .site-header:not(.is-scrolled):not(.scrolled) .nav-wrap {
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.v3.zi-couple-emotion[data-public-header="image"][data-wedding-navigation="vnext"]
    .zw-nav-header:not(.is-scrolled) {
    position:absolute!important;
    inset:0 0 auto!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.v3.zi-couple-emotion[data-public-header="image"][data-wedding-navigation="vnext"]
    .zw-nav-header:not(.is-scrolled) .zw-nav-header-inner {
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    width:min(1240px,calc(100% - 64px))!important;
    margin:10px auto!important;
  }
}

/* Couple editorial text: readable line length and enough breathing room.
   Keep photography, book layout and the original typography unchanged. */
body.v3.zi-couple-emotion .partner-words-v45 blockquote {
  max-width:36ch;
  margin-inline:auto;
  margin-block:clamp(18px,3vw,30px);
  line-height:1.85!important;
  letter-spacing:.006em;
  overflow-wrap:break-word;
}
body.v3.zi-couple-emotion .couple-cinema-copy-v45 {
  padding-inline:clamp(18px,3vw,38px);
  box-sizing:border-box;
}
body.v3.zi-couple-emotion .couple-cinema-copy-v45 h1 {
  line-height:1.04!important;
  margin-bottom:clamp(16px,3vw,27px)!important;
}
body.v3.zi-couple-emotion .couple-cinema-copy-v45 > p {
  line-height:1.75!important;
  margin-block:12px 25px!important;
  max-width:60ch;
  margin-inline:auto!important;
}
body.v3.zi-couple-emotion .couple-cinema-copy-v45 .couple-discover {
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
body.v3.zi-couple-emotion .zw-story .zi-page-body,
body.v3.zi-couple-emotion .zw-story .zi-story-chapter-copy {
  max-width:65ch;
  line-height:1.95;
}
body.v3.zi-couple-emotion .zw-story :is(p,blockquote) {
  line-height:1.95;
}

/* Standalone invitation page. The hero/photo is separate from the RSVP or
   personal invitation destination, so visitors never encounter a new site. */
body.v3.zw-invitation-page {
  --zw-invite-border:var(--zw-line,#e5d8cc);
  background:var(--zw-paper,#fbf8f3);
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
.zw-invitation-page #main-content {
  padding:0!important;
  margin:0!important;
  overflow-x:clip;
}
.zw-invite-hero {
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:570px;
  height:min(78svh,780px);
  max-width:100%;
  overflow:hidden;
  background:#272019;
  color:#fff;
}
.zw-invite-cover {position:absolute;inset:0;z-index:-2;}
.zw-invite-cover :is(.zi-image-shell,picture,img) {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 32%;
}
.zw-invite-shade {
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(180deg,rgba(15,11,9,.48),rgba(15,11,9,.05) 33%,rgba(15,11,9,.70) 100%);
}
.zw-invite-hero-content {
  width:min(920px,calc(100% - 40px));
  padding:140px 0 clamp(66px,12vh,120px);
  color:#fff;
  text-align:center;
}
.zw-invitation-page .zw-invite-hero-content .zw-kicker {
  color:#f9dec6;
  letter-spacing:.28em;
  font-size:11px;
  margin-bottom:19px;
}
.zw-invite-hero h1 {
  margin:0;
  font:400 clamp(60px,9vw,124px)/.96 "Cormorant Garamond",Georgia,serif;
  letter-spacing:-.038em;
  text-shadow:0 3px 35px rgba(0,0,0,.23);
}
.zw-invite-hero h1 em {font-weight:400;}
.zw-invite-date {
  margin:23px auto 14px!important;
  color:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font:500 14px/1.55 "DM Sans",sans-serif;
  letter-spacing:.065em;
}
.zw-invite-date .zi-icon {width:18px;height:18px;}
.zw-invite-scroll {
  display:flex;
  align-items:center;justify-content:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  margin:15px auto 0;
  padding:12px;
  color:#fff!important;
  font:500 12px/1.5 "DM Sans",sans-serif;
  text-underline-offset:5px;
}
.zw-invite-scroll .zi-icon {width:18px;height:18px;}
.zw-invite-main {
  width:min(1040px,calc(100% - 40px));
  margin:clamp(44px,6vw,84px) auto 0;
  padding-bottom:clamp(80px,9vw,130px);
  scroll-margin-top:30px;
}
.zw-invite-paper {
  position:relative;
  width:100%;
  min-width:0;
  padding:clamp(32px,7vw,80px) clamp(18px,6vw,80px);
  border:1px solid var(--zw-invite-border);
  border-radius:22px;
  background:var(--zw-panel,#fffdf9);
  box-shadow:0 24px 75px rgba(55,34,22,.06);
  color:var(--zw-ink,#34231b);
}
.zw-invite-intro {max-width:720px;margin:0 auto;text-align:center;}
.zw-invite-intro .zw-invite-heart {
  width:28px;height:28px;
  margin:0 auto 24px;
  color:var(--zw-copper,#9b664f);
  stroke-width:1.1;
}
.zw-invitation-page .zw-invite-intro .zw-kicker {
  margin-bottom:14px;
  color:var(--zw-copper,#8a533b);
}
.zw-invite-paper h2 {
  margin:0 0 24px;
  font:400 clamp(38px,5.2vw,67px)/1.04 "Cormorant Garamond",Georgia,serif;
  letter-spacing:-.025em;
}
.zw-invite-paper h2 em {color:var(--zw-copper,#8a533b);}
.zw-invite-intro > p:last-child {
  margin:0 auto;
  max-width:63ch;
  color:var(--zw-muted,#6f6158);
  font:400 clamp(15px,1.8vw,17px)/1.85 "DM Sans",sans-serif;
  overflow-wrap:anywhere;
}
.zw-invite-detail {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  width:min(690px,100%);
  margin:34px auto 0;
  border-block:1px solid var(--zw-invite-border);
  padding-block:23px;
}
.zw-invite-detail > div {display:flex;align-items:center;justify-content:center;gap:12px;min-width:0;}
.zw-invite-detail .zi-icon {width:21px;height:21px;color:var(--zw-copper,#8a533b);}
.zw-invite-detail span {display:block;min-width:0;}
.zw-invite-detail small {
  display:block;margin-bottom:3px;
  color:var(--zw-muted,#6f6158);
  letter-spacing:.16em;font-size:10px;
}
.zw-invite-detail strong {
  display:block;
  color:var(--zw-ink,#34231b);
  font:500 14px/1.5 "DM Sans",sans-serif;
  overflow-wrap:anywhere;
}
.zw-invite-actions {
  display:grid;
  justify-items:center;
  gap:13px;
  max-width:660px;
  margin:25px auto 0;
  text-align:center;
  scroll-margin-top:28px;
}
.zw-invite-primary {
  display:inline-flex;
  align-items:center;justify-content:center;gap:11px;
  min-height:55px;
  max-width:100%;
  padding:13px 24px;
  border-radius:12px;
  border:1px solid var(--zw-brand,#4b2717);
  background:var(--zw-brand,#4b2717);
  color:#fff!important;
  font:500 14px/1.35 "DM Sans",sans-serif;
  text-align:center;
}
.zw-invite-primary:hover {filter:brightness(1.13);}
.zw-invite-primary .zi-icon {width:20px;height:20px;}
.zw-invite-actions > p {
  margin:0;
  max-width:62ch;
  color:var(--zw-muted,#6f6158);
  font:400 13px/1.75 "DM Sans",sans-serif;
}
.zw-invite-related {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:24px 0 0;
  gap:14px;
}
.zw-invite-related a {
  display:flex;align-items:center;gap:10px;
  min-height:66px;
  padding:12px 16px;
  border:1px solid var(--zw-invite-border);
  border-radius:12px;
  background:var(--zw-panel,#fffdf9);
  color:var(--zw-ink,#34231b);
  font:500 13px/1.35 "DM Sans",sans-serif;
}
.zw-invite-related a:hover {border-color:var(--zw-copper,#8a533b);}
.zw-invite-related a span {flex:1;overflow-wrap:anywhere;}
.zw-invite-related a .zi-icon {width:19px;height:19px;color:var(--zw-copper,#8a533b);}
.zw-invitation-page :is(a,button):focus-visible {
  outline:3px solid var(--zw-copper,#8a533b);
  outline-offset:3px;
}
@media(max-width:700px) {
  .zw-invite-hero {height:min(75svh,640px);min-height:510px;}
  .zw-invite-hero-content {padding:120px 0 94px;}
  .zw-invite-hero h1 {font-size:clamp(47px,12vw,76px);line-height:1.01;}
  .zw-invite-date {font-size:12px;}
  .zw-invite-main {width:calc(100% - 28px);margin-top:26px;padding-bottom:118px;}
  .zw-invite-paper {border-radius:16px;padding:33px 20px 37px;}
  .zw-invite-paper h2 {font-size:clamp(34px,9vw,47px);margin-bottom:15px;}
  .zw-invite-intro > p:last-child {font-size:15px;line-height:1.85;}
  .zw-invite-detail {grid-template-columns:1fr;gap:16px;margin-top:25px;padding-block:22px;}
  .zw-invite-detail > div {justify-content:flex-start;}
  .zw-invite-primary {width:100%;font-size:13px;}
  .zw-invite-related {grid-template-columns:1fr;gap:9px;margin-top:14px;}
  .zw-invite-related a {min-height:56px;}
  body.v3.zi-couple-emotion .partner-words-v45 blockquote {
    max-width:36ch;
    padding-inline:clamp(8px,3vw,18px);
    line-height:1.95!important;
  }
  body.v3.zi-couple-emotion .couple-cinema-copy-v45 > p {
    margin-block:14px 21px!important;
    line-height:1.85!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .zw-invite-primary,.zw-invite-scroll,.zw-invite-related a {transition:none!important;}
}
