/* Event page of a Pro arena: hero, space, formats, what to agree, request form, place, questions. */

.events-page h2 { font-size: clamp(1.75rem, 6vw, 2.75rem); line-height: 1.02; }
.ev-number { font: 500 0.75rem/1 var(--cp-font-data); color: var(--cp-accent); letter-spacing: 0.04em; }

/* Hero */
.ev-hero { padding-block: var(--cp-space-16) var(--cp-space-32); }
.ev-hero .breadcrumb { margin-bottom: var(--cp-space-24); }
.ev-hero-grid { display: grid; gap: var(--cp-space-32); }
.ev-hero-copy { display: grid; gap: var(--cp-space-16); align-content: center; justify-items: start; }
.ev-hero .eyebrow { color: var(--cp-text-muted); }
.ev-hero h1 { font-size: clamp(2.25rem, 10vw, 4.25rem); line-height: 0.98; max-width: 16ch; }
.ev-hero h1 em { font-style: normal; color: var(--cp-accent); }
.ev-lead { font-size: 1.125rem; line-height: 1.55; color: var(--cp-text-muted); max-width: 32rem; margin: 0; }
.ev-arena { display: inline-flex; align-items: center; gap: var(--cp-space-12); color: inherit; text-decoration: none; min-height: var(--cp-target-size); }
.ev-arena .monogram { width: 2.75rem; height: 2.75rem; font-size: 0.875rem; }
.ev-arena > span:last-child { display: grid; font-size: 0.875rem; color: var(--cp-text-muted); }
.ev-arena strong { color: var(--cp-text); font-size: 0.9375rem; }
.ev-arena:hover > span:last-child > span { text-decoration: underline; text-underline-offset: 3px; }
.ev-hero-media { position: relative; margin: 0; border-radius: var(--cp-radius-md); overflow: hidden; background: var(--cp-sand); aspect-ratio: 4 / 3; }
.ev-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.ev-hero-media figcaption { position: absolute; inset: auto 0 0 0; display: grid; gap: var(--cp-space-4); padding: var(--cp-space-48) var(--cp-space-24) var(--cp-space-24); background: linear-gradient(to top, rgba(74, 22, 52, 0.85), rgba(74, 22, 52, 0)); color: var(--cp-cream); font-size: 1.0625rem; }
.ev-hero-media figcaption .eyebrow { color: inherit; }
.ev-hero-media .tag { position: absolute; top: var(--cp-space-12); right: var(--cp-space-12); }

.ev-facts { display: grid; list-style: none; margin: var(--cp-space-32) 0 0; padding: 0; border-block: 1px solid var(--cp-border); }
.ev-facts li { display: grid; gap: var(--cp-space-4); padding: var(--cp-space-16) 0; }
.ev-facts li + li { border-top: 1px solid var(--cp-border); }
.ev-facts strong { font-size: 1.0625rem; }
.ev-facts span { color: var(--cp-text-muted); }

/* Two-column section heads */
.ev-split-head { display: grid; gap: var(--cp-space-16); }
.ev-split-head p { color: var(--cp-text-muted); max-width: 34rem; margin: 0; }

/* Space */
.ev-gallery { display: grid; gap: var(--cp-space-24); list-style: none; margin: var(--cp-space-32) 0 0; padding: 0; }
.ev-gallery .photo-link { aspect-ratio: 4 / 3; border-radius: var(--cp-radius-md); }
.ev-caption { margin: var(--cp-space-12) 0 0; font-weight: 600; }

/* Formats */
.ev-formats { display: grid; gap: var(--cp-space-24); list-style: none; margin: var(--cp-space-32) 0 0; padding: 0; }
.ev-formats li { display: grid; gap: var(--cp-space-12); align-content: start; justify-items: start; padding-top: var(--cp-space-24); border-top: 1px solid var(--cp-border-control); }
.ev-formats h3 { font: 800 1.375rem/1.15 var(--cp-font-body); letter-spacing: -0.02em; }
.ev-formats p { margin: 0; color: var(--cp-text-muted); }

/* What to agree */
.ev-details-grid { display: grid; gap: var(--cp-space-32); }
.ev-details-head { display: grid; gap: var(--cp-space-24); align-content: start; }
.ev-details-head img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--cp-radius-md); }
.ev-details { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--cp-border); }
.ev-details li { display: grid; grid-template-columns: 2rem 1fr; gap: var(--cp-space-12); padding: var(--cp-space-24) 0; border-bottom: 1px solid var(--cp-border); }
.ev-details .ev-number { padding-top: 0.3rem; }
.ev-details h3 { font: 800 1.1875rem/1.2 var(--cp-font-body); letter-spacing: -0.01em; margin-bottom: var(--cp-space-8); }
.ev-details p { margin: 0; color: var(--cp-text-muted); }

/* Request */
.ev-request { background: var(--cp-surface-strong); color: var(--cp-text-on-strong); }
.ev-request-grid { display: grid; gap: var(--cp-space-32); }
.ev-request-intro { display: grid; gap: var(--cp-space-16); align-content: start; }
.ev-request-intro p { margin: 0; max-width: 30rem; }
.ev-request-intro h2 { color: inherit; }
.ev-contacts { display: grid; gap: var(--cp-space-4); list-style: none; margin: 0; padding: 0; }
.ev-request .ev-contacts .text-link { color: var(--cp-yellow); }
.ev-form-card { padding: var(--cp-space-24); background: var(--cp-bg); color: var(--cp-text); border-radius: var(--cp-radius-md); }
.ev-form-card .form-grid-2 { display: grid; gap: var(--cp-space-16); }
.ev-occasions .choice-row { display: grid; gap: var(--cp-space-8); }
.ev-form-card .form-actions .button { width: 100%; }

/* Place */
.ev-location { display: grid; gap: var(--cp-space-24); }
.ev-location .eyebrow { color: var(--cp-text-muted); margin-bottom: var(--cp-space-8); }

/* Closing */
.ev-closing { background: var(--cp-blush); }
.ev-closing-inner { display: grid; gap: var(--cp-space-24); justify-items: start; }
.ev-closing h2 { max-width: 20ch; }

/* Confirmation */
.ev-message { width: 100%; padding: var(--cp-space-16); background: var(--cp-surface-sand); border-radius: var(--cp-radius-sm); }
.ev-message p:last-child { margin: var(--cp-space-8) 0 0; white-space: pre-line; }

@media (min-width: 640px) {
  .ev-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ev-facts li { padding: var(--cp-space-16) var(--cp-space-24); }
  .ev-facts li:first-child { padding-left: 0; }
  .ev-facts li + li { border-top: 0; border-left: 1px solid var(--cp-border); }
  .ev-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; }
  .ev-gallery li:nth-child(3n + 2) { margin-top: var(--cp-space-48); }
  .ev-form-card .form-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ev-occasions .choice-row { display: flex; flex-wrap: wrap; }
  .ev-form-card { padding: var(--cp-space-32); }
}
@media (min-width: 900px) {
  .ev-hero { padding-block: var(--cp-space-24) var(--cp-space-48); }
  .ev-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: var(--cp-space-48); }
  .ev-hero-media { aspect-ratio: 1 / 1; }
  .ev-split-head { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; gap: var(--cp-space-48); }
  .ev-formats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ev-details-grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--cp-space-64); }
  .ev-request-grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--cp-space-64); }
  .ev-location { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
  .ev-closing-inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .ev-form-card .form-actions .button { width: auto; }
}
.ev-location .location-box h3 { font-size: 1.25rem; line-height: 1.2; }
.band-sand .ev-number { color: var(--cp-guava-strong); }
.ev-hero .button, .ev-closing .button, .ev-form-card .button { max-width: 100%; white-space: normal; }
