/* Couple experience v4.30 — current iconography + guest hub + RSVP journey controls. */
.zi-couple-icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.zi-couple-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.zi-couple-nav{background:color-mix(in srgb,#fff 92%,transparent);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12);border-bottom:1px solid rgba(126,92,58,.11)}
.zi-couple-nav .zw-header-inner{gap:18px}
.zi-couple-nav-links{gap:3px}
.zi-couple-nav-links .nav-link{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border-radius:999px;color:#675548;transition:background .22s ease,color .22s ease,transform .22s ease}
.zi-couple-nav-links .nav-link:hover{background:#f7f0e8;color:#472f21;transform:translateY(-1px)}
.zi-couple-nav-links .nav-link.is-active{background:#f2e8dc;color:#5a351f;box-shadow:inset 0 0 0 1px rgba(164,117,67,.12)}
.zi-couple-nav-links .nav-link.is-active .zi-couple-icon{color:#b27b43}
.zi-couple-rsvp-link{font-weight:700!important}
.zi-couple-nav .nav-link.is-disabled,.zi-couple-bottom .nav-link.is-disabled{opacity:.42;pointer-events:none;cursor:default}
.zi-couple-more>summary{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:9px 10px;color:#675548}
.zi-couple-nav-cta,.zi-couple-nav-account{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 14px;border-radius:999px;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}
.zi-couple-nav-cta{background:#4e2d1c;color:#fff;box-shadow:0 9px 22px rgba(74,44,27,.14)}
.zi-couple-nav-account{color:#5d4b3e;border:1px solid rgba(126,92,58,.18);background:#fff}
.zi-couple-bottom{background:rgba(255,252,248,.96);border-top:1px solid rgba(126,92,58,.12);box-shadow:0 -14px 35px rgba(71,47,31,.08)}
.zi-couple-bottom .nav-link{color:#77685d}
.zi-couple-bottom .nav-link.is-active{color:#704426}
.zi-couple-bottom-primary{position:relative;color:#4e2d1c!important;font-weight:700}
.zi-couple-bottom-icon{display:grid;place-items:center;width:35px;height:35px;margin-top:-15px;border-radius:50%;background:#4e2d1c;color:#fff;box-shadow:0 9px 24px rgba(78,45,28,.22);border:4px solid #fffaf5}
.zi-couple-bottom-primary .zi-couple-icon{width:16px;height:16px}

.zi-couple-section-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:12px 0 4px}
.zi-couple-section-tabs::-webkit-scrollbar{display:none}
.zi-couple-section-tabs a{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:9px 12px;border:1px solid rgba(150,108,66,.12);border-radius:999px;background:#fff;color:#6b584b;text-decoration:none;font-size:11px;font-weight:700;box-shadow:0 7px 20px rgba(69,46,29,.035)}
.zi-couple-section-tabs a:hover{background:#f8f0e8;color:#4f3322}
.zi-couple-section-tabs .zi-couple-icon{width:16px;height:16px;color:#a87542}

/* Couple information hub */
.zi-couple-hub{padding:34px 0 58px;background:linear-gradient(180deg,#fff 0%,#fcf8f3 100%);position:relative;overflow:hidden}
.zi-couple-hub:before{content:"";position:absolute;left:50%;top:0;width:min(680px,80vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#d6ad7f 22%,#aa7540 50%,#d6ad7f 78%,transparent);opacity:.6}
.zi-couple-hub-head{text-align:center;max-width:720px;margin:0 auto 26px}
.zi-couple-hub-head .eyebrow{color:#a87542}
.zi-couple-hub-head h2{margin:7px 0 8px;font-family:"Cormorant Garamond",serif;font-size:clamp(30px,4vw,46px);line-height:1.02;font-weight:500;color:#30231d}
.zi-couple-hub-head p{margin:0;color:#7b6a5f;line-height:1.7}
.zi-couple-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.zi-couple-hub-card{position:relative;min-height:160px;padding:20px;border:1px solid rgba(157,116,74,.14);border-radius:20px;background:rgba(255,255,255,.86);box-shadow:0 13px 34px rgba(80,55,34,.045);text-decoration:none;color:#3e3028;overflow:hidden}
.zi-couple-hub-card:after{content:"";position:absolute;right:-28px;bottom:-28px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(216,177,130,.13),transparent 68%)}
.zi-couple-hub-card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f6ede4;color:#9b6736;margin-bottom:16px}
.zi-couple-hub-card small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:8px;font-weight:800;color:#a77a50;margin-bottom:5px}
.zi-couple-hub-card h3{margin:0 0 7px;font:500 22px/1.08 "Cormorant Garamond",serif;color:#32231b}
.zi-couple-hub-card p{margin:0;color:#7a6a60;font-size:12px;line-height:1.55}
.zi-couple-hub-card .zi-couple-hub-meta{display:block;margin-top:9px;color:#594332;font-size:11px;font-weight:600}
.zi-couple-hub-card.is-personal{grid-column:span 2;background:linear-gradient(135deg,#4c2c1b,#6a4229);color:#fff;border-color:transparent;box-shadow:0 18px 42px rgba(76,44,27,.16)}
.zi-couple-hub-card.is-personal small,.zi-couple-hub-card.is-personal h3,.zi-couple-hub-card.is-personal p,.zi-couple-hub-card.is-personal .zi-couple-hub-meta{color:#fff}
.zi-couple-hub-card.is-personal p{opacity:.78}
.zi-couple-hub-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.zi-couple-hub-action{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;background:#fff;color:#4c2c1b;text-decoration:none;font-size:10px;font-weight:800}
.zi-couple-hub-action.secondary{background:rgba(255,255,255,.11);color:#fff;border:1px solid rgba(255,255,255,.24)}
.zi-couple-hub-program{display:grid;gap:5px;margin-top:8px}
.zi-couple-hub-program span{display:flex;gap:8px;align-items:baseline;color:#6d5b4f;font-size:11px}
.zi-couple-hub-program b{min-width:42px;color:#9a6838;font-size:10px}
@media(max-width:900px){.zi-couple-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zi-couple-nav-links .nav-link{padding:8px}.zi-couple-nav-links .nav-link span{display:none}.zi-couple-more>summary{font-size:0}.zi-couple-more>summary .zi-couple-icon{font-size:initial}}
@media(max-width:640px){.zi-couple-hub{padding:28px 0 42px}.zi-couple-hub-grid{grid-template-columns:1fr}.zi-couple-hub-card,.zi-couple-hub-card.is-personal{grid-column:auto;min-height:0}.zi-couple-hub-head{text-align:left;margin-bottom:20px}.zi-couple-nav .zw-header-inner{min-height:62px}.zi-couple-nav-links{display:none}.zi-couple-nav-actions{margin-left:auto}.zi-couple-nav-cta span,.zi-couple-nav-account span{display:none}.zi-couple-nav-cta,.zi-couple-nav-account{width:40px;height:40px;padding:0;justify-content:center}}
@media(prefers-reduced-motion:reduce){.zi-couple-nav-links .nav-link{transition:none}}

/* v4.29 — clearer icon hierarchy and complete wedding hub. */
.zi-couple-nav-links .zi-couple-icon,
.zi-couple-bottom .zi-couple-icon,
.zi-couple-section-tabs .zi-couple-icon{transition:transform .22s ease,stroke-width .22s ease}
.zi-couple-nav-links .nav-link:hover .zi-couple-icon,
.zi-couple-section-tabs a:hover .zi-couple-icon{transform:translateY(-1px) scale(1.04)}
.zi-couple-nav-links .nav-link.is-active .zi-couple-icon{stroke-width:2}
.zi-couple-more>summary .zi-couple-icon{width:17px;height:17px}
.zi-couple-hub-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:18px 20px;border:1px solid rgba(157,116,74,.13);border-radius:20px;background:rgba(255,255,255,.72);box-shadow:0 11px 30px rgba(80,55,34,.035)}
.zi-couple-hub-footer-copy{max-width:550px}
.zi-couple-hub-footer-copy small{display:block;margin-bottom:4px;color:#a87542;font-size:8px;font-weight:800;letter-spacing:.16em}
.zi-couple-hub-footer-copy strong{display:block;color:#35261e;font:500 20px/1.15 "Cormorant Garamond",serif}
.zi-couple-hub-footer-copy p{margin:6px 0 0;color:#7b6a5f;font-size:11px;line-height:1.55}
.zi-couple-hub-footer-links{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.zi-couple-hub-footer-links a{display:inline-flex;align-items:center;gap:6px;min-height:37px;padding:8px 11px;border:1px solid rgba(150,108,66,.14);border-radius:999px;background:#fff;color:#654b38;text-decoration:none;font-size:10px;font-weight:700;white-space:nowrap}
.zi-couple-hub-footer-links a:hover{background:#f7efe7;color:#4e3321}
.zi-couple-hub-footer-links a.is-accent{background:#4e2d1c;color:#fff;border-color:#4e2d1c}
.zi-couple-hub-footer-links .zi-couple-icon{width:15px;height:15px}
@media(max-width:760px){.zi-couple-hub-footer{align-items:stretch;flex-direction:column}.zi-couple-hub-footer-links{justify-content:flex-start}.zi-couple-hub-footer-links a{flex:1 1 auto;justify-content:center}}


/* v4.30 — current, lighter menu treatment and stronger hub hierarchy. */
.zi-couple-nav-links .nav-link,
.zi-couple-more>summary{
  min-height:40px;
}
.zi-couple-nav-links .zi-couple-icon,
.zi-couple-bottom .zi-couple-icon,
.zi-couple-section-tabs .zi-couple-icon{
  stroke-width:1.7;
}
.zi-couple-nav-links .nav-link.is-active{
  background:linear-gradient(180deg,#f8f1e9,#f1e5d8);
  box-shadow:inset 0 0 0 1px rgba(164,117,67,.13),0 6px 18px rgba(78,45,28,.045);
}
.zi-couple-nav-links .nav-link.is-active .zi-couple-icon,
.zi-couple-bottom .nav-link.is-active .zi-couple-icon{
  color:#9c6333;
  stroke-width:2.05;
}
.zi-couple-bottom .nav-link{
  gap:3px;
}
.zi-couple-bottom .nav-link>span:last-child{
  font-size:9px;
  letter-spacing:.01em;
}
.zi-couple-bottom-primary .zi-couple-bottom-icon{
  background:linear-gradient(145deg,#5d3822,#3f2416);
  box-shadow:0 10px 28px rgba(78,45,28,.24);
}
.zi-couple-hub{
  padding-top:42px;
}
.zi-couple-hub-head{
  max-width:790px;
}
.zi-couple-hub-head h2{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.zi-couple-hub-card{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
a.zi-couple-hub-card:hover{
  transform:translateY(-3px);
  border-color:rgba(157,116,74,.24);
  box-shadow:0 18px 38px rgba(80,55,34,.075);
}
.zi-couple-hub-card-icon{
  width:40px;
  height:40px;
  background:linear-gradient(145deg,#fbf5ef,#f0e3d6);
  box-shadow:inset 0 0 0 1px rgba(157,116,74,.08);
}
.zi-couple-hub-card-icon .zi-couple-icon{
  width:18px;
  height:18px;
}
.zi-couple-hub-card.is-personal .zi-couple-hub-card-icon{
  background:rgba(255,255,255,.12);
  color:#fff1df;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.13);
}
@media(max-width:640px){
  .zi-couple-hub{padding-top:32px}
  .zi-couple-section-tabs{margin-inline:-2px;padding-inline:2px}
}
@media(prefers-reduced-motion:reduce){
  .zi-couple-hub-card{transition:none}
  a.zi-couple-hub-card:hover{transform:none}
}
