/* Retreat and event detail pages (measured from the live Wix event pages). */

.ed-top { background: #f5f5f5; padding-block: 64px 200px; text-align: center; }
.ed-top .wrap { max-width: calc(843px + 32px); display: flex; flex-direction: column; align-items: center; }
.ed-eyebrow { font: 700 16px/1.5 var(--sans); margin-bottom: 10px; }
.ed-top h1 { font-size: clamp(32px, 4.7vw, 60px); line-height: 1.2; color: var(--ink); }
.ed-summary { margin-top: 28px; max-width: 560px; font: 400 16px/1.45 var(--sans); }
.ed-rsvp { margin-top: 30px; min-width: 160px; min-height: 48px; }
.ed-closed { margin-top: 28px; font: 700 16px/1.4 var(--sans); }
.ed-closed + .ed-rsvp { margin-top: 14px; }
.ed-photo { max-width: calc(979px + 32px); margin-top: -166px; }
.ed-photo img { width: 100%; aspect-ratio: 979 / 552; object-fit: cover; }
.ed-col { max-width: calc(843px + 32px); }
.ed-block { margin-top: 56px; }
.ed-block h2 { font: 700 30px/1.3 var(--sans); color: var(--ink); margin-bottom: 14px; }
.ed-block > p { font: 400 16px/1.6 var(--sans); }
.ed-about { font: 400 16px/1.7 var(--sans); overflow-wrap: anywhere; }
.ed-about > * + * { margin-top: 16px; }
.ed-about h3 { font: 700 20px/1.4 var(--sans); margin-top: 28px; }
.ed-about h4 { font: 700 17px/1.4 var(--sans); margin-top: 22px; }
.ed-about ul, .ed-about ol { padding-left: 1.3em; }
.ed-about img { width: 100%; margin-block: 10px; }
.ed-about a { color: var(--green); }
.ed-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
/* One row of uncropped photos, all the same height (flex-grow is each photo's width / height). */
.ed-gallery--row { display: flex; }
.ed-gallery--row img { flex: var(--r) 1 0; min-width: 0; }
.ed-about .ed-gallery img { aspect-ratio: 1; object-fit: cover; margin: 0; }
.ed-about .ed-gallery--row img { aspect-ratio: auto; }
.ed-embed { width: 100%; min-height: 800px; border: 0; display: block; }
.ed-travel { padding-block: 110px 100px; }
.ed-travel h2 { text-align: center; }
.ed-travel__text { max-width: 861px; margin: 34px auto 0; }
.ed-travel__text p + p { margin-top: 30px; }
.ed-icons { display: flex; justify-content: center; gap: 22px; margin-top: 44px; }
.ed-icons svg { width: 64px; height: 64px; fill: none; stroke: var(--mint); stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }

@media (max-width: 640px) {
  .ed-top { padding-block: 44px 130px; }
  .ed-photo { margin-top: -100px; }
  .ed-rsvp { width: 100%; }
  .ed-gallery { grid-template-columns: repeat(2, 1fr); }
  .ed-gallery--row { display: grid; }
  .ed-about .ed-gallery--row img { aspect-ratio: 1; }
  .ed-block { margin-top: 40px; }
  .ed-block h2 { font-size: 26px; }
  .ed-travel { padding-block: 70px 60px; }
  .ed-icons svg { width: 48px; height: 48px; }
}
