.invitation-details .wi-event-section {
  padding-block: 70px 80px;
}
.invitation-details .wi-event-heading { text-align: center; margin-bottom: 42px; }
.invitation-details .wi-event-heading .wi-small-rule { margin: 21px auto 0; }
.invitation-details .wi-event-layout {
  display: grid;
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(48px, 6vw, 85px);
  max-width: 1040px;
  margin-inline: auto;
}
.invitation-details .wi-event-schedule { min-width: 0; }
.invitation-details .wi-event-detail {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
.invitation-details .wi-event-detail + .wi-event-detail {
  margin-top: 26px;
  padding-top: 26px;
  border-top: 1px solid var(--wi-line);
}
.wi-event-detail > svg {
  width: 29px;
  height: 29px;
  margin-top: 3px;
  fill: none;
  stroke: var(--wi-champagne);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.invitation-details .wi-event-label {
  margin-bottom: 11px;
  color: var(--wi-champagne) !important;
}
.invitation-details .wi-event-value { display: block; }
.invitation-details #wedding-date-display { white-space: nowrap; }
.invitation-details .wi-event-venue { scroll-margin-top: 110px; }
.wi-event-gallery { min-width: 0; }
.wi-event-photo-frame {
  position: relative;
  aspect-ratio: 1.2;
  border-radius: 22px;
  overflow: hidden;
  background: var(--wi-paper);
}
.wi-event-photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.wi-event-photo.is-active { opacity: 1; }
.wi-event-gallery-controls { display: flex; justify-content: center; align-items: center; gap: 18px; margin-top: 12px; }
.wi-event-gallery-controls[hidden] { display: none; }
.wi-event-dots { display: flex; gap: 2px; }
.invitation-details .wi-event-dot {
  display: grid; place-items: center; width: 32px; height: 36px;
  padding: 0; border: 0; background: transparent; cursor: pointer;
}
.wi-event-dot::before {
  content: ''; width: 6px; height: 6px; border: 1px solid var(--wi-champagne);
  border-radius: 50%; transition: background .2s;
}
.wi-event-dot[aria-current="true"]::before { background: var(--wi-champagne); }
@media(prefers-reduced-motion: reduce) { .wi-event-photo { transition: none; } }
.invitation-details .wi-event-address[data-text-role] {
  font-size: calc(var(--type-size) * .82) !important;
  margin-top: 7px;
  white-space: nowrap;
}
.wi-event-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 35px; margin-left: 56px; }
.invitation-details .wi-event-actions .wi-button {
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  padding: 11px 8px;
  white-space: nowrap;
  border-radius: 25px;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .015em;
  text-transform: none;
}
@media(max-width: 760px) {
  .invitation-details .wi-event-section { padding-block: 48px 55px; }
  .invitation-details .wi-event-heading { margin-bottom: 34px; }
  .invitation-details .wi-event-layout { grid-template-columns: 1fr; gap: 38px; max-width: 420px; }
  .invitation-details .wi-event-detail { grid-template-columns: 28px minmax(0, 1fr); gap: 17px; }
  .wi-event-detail > svg { width: 25px; height: 25px; }
  .invitation-details .wi-event-detail + .wi-event-detail { margin-top: 24px; padding-top: 24px; }
  .invitation-details .wi-event-address[data-text-role] { font-size: calc(var(--type-mobile-size) * .9) !important; }
  .wi-event-photo-frame { aspect-ratio: 4 / 3; border-radius: 18px; }
  .wi-event-actions { margin-left: 45px; }
  .invitation-details .wi-event-actions .wi-button { padding-inline: 6px; }
}

/* Tablets need a full-width gallery rather than a squeezed desktop column. */
@media (min-width:761px) and (max-width:1100px) {
  .invitation-details .wi-event-layout {
    grid-template-columns:minmax(0,1fr);
    max-width:680px;
    gap:38px;
  }
  .wi-event-gallery {width:100%;}
  .wi-event-photo-frame {aspect-ratio:4 / 3;}
  .wi-event-actions {width:100%;max-width:420px;margin-inline:auto;}
}
