/* site-extra-weekend.css
   Minimal additions for the /weekend page only, layered after pizzeria.css.
   Reuses the Pizzeria palette/fonts (see .minted-capture/template/NOTES.md):
   cream #F4EFD6, red #BE1830, dark green #233E26, secondary green #88AA8C,
   input border #CCCCCC / focus #333333, button bg #233E26 / hover #203822.
   No new fonts or external assets are introduced here. */

/* Day dividers inside the itinerary ("Thursday", "Friday", ...) */
.weekendDayDivider { text-align: center; margin: 3rem 0 1.5rem; }
.weekendDayDivider:first-child { margin-top: 0; }
.weekendDayDivider h2 { margin: 0; }

/* Small print-style label above a group of detail rows */
.weekendSubLabel { text-align: center; margin: 0 0 1.25rem; }

/* Map link buttons (reuse the RSVP button look, but inline/auto-width) */
.weekendMapLinks { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 1.5rem; }
.weekendMapBtn.fancyclothes-9n02dn { display: inline-block; width: auto; text-align: center; }
.weekendMapLinks--left { justify-content: flex-start; }

/* Body copy inside RichTextContent blocks used for Details/Travel */
.weekendBody p { margin: 0 0 0.75rem; text-align: left; }
.weekendBody p:last-child { margin-bottom: 0; }
.weekendBody strong { color: rgb(190, 24, 48); }

/* Closing note under the itinerary / travel groups */
.weekendNote {
  text-align: center; margin-top: 1.5rem;
  font-family: "MaisonVoyages Script"; font-size: 1.4rem; color: rgb(35, 62, 38);
}

/* ---------- RSVP form ---------- */
.weekendRsvpIntro { text-align: center; margin-bottom: 2rem; }
.weekendRsvpForm { display: flex; flex-direction: column; gap: 1.25rem; text-align: left; }
.weekendField label {
  display: block; font-family: "Brandon Grotesque Medium"; font-weight: 400;
  text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.8rem;
  color: rgb(35, 62, 38); margin-bottom: 0.4rem;
}
.weekendField input[type="text"],
.weekendField input[type="email"],
.weekendField select,
.weekendField textarea {
  width: 100%; box-sizing: border-box; font-family: "Brandon Grotesque Medium";
  font-size: 1rem; color: rgb(51, 51, 51); background: rgb(255, 255, 255);
  border: 0.0625rem solid rgb(204, 204, 204); border-radius: 0px;
  padding: 0.6rem 0.75rem; min-height: 2.5rem; outline: none;
}
.weekendField textarea { min-height: 5rem; resize: vertical; }
.weekendField input:focus,
.weekendField select:focus,
.weekendField textarea:focus { border-color: rgb(51, 51, 51); }
.weekendRow { display: grid; gap: 1.25rem; }
@media (min-width: 37.5rem) {
  .weekendRow { grid-template-columns: 1fr 1fr; }
}

.weekendRadios { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.weekendRadio { flex: 1 1 auto; min-width: 5rem; position: relative; }
.weekendRadio input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.weekendRadio span {
  display: block; text-align: center; font-family: "Brandon Grotesque Medium";
  text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.82rem;
  color: rgb(35, 62, 38); background: rgb(255, 255, 255);
  border: 0.0625rem solid rgb(204, 204, 204); padding: 0.55rem 0.75rem; cursor: pointer;
}
.weekendRadio input:checked + span { background: rgb(35, 62, 38); color: rgb(244, 239, 214); border-color: rgb(35, 62, 38); }
.weekendRadio input:focus-visible + span { border-color: rgb(51, 51, 51); }

.weekendChecks { display: flex; flex-direction: column; gap: 0.5rem; }
.weekendCheck {
  display: flex; align-items: center; gap: 0.6rem; cursor: pointer;
  background: rgb(255, 255, 255); border: 0.0625rem solid rgb(204, 204, 204);
  padding: 0.6rem 0.75rem; font-family: "Brandon Grotesque Medium";
  text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.78rem; color: rgb(35, 62, 38);
}
.weekendCheck input { width: 16px; height: 16px; flex: 0 0 auto; margin: 0; cursor: pointer; accent-color: rgb(190, 24, 48); }
.weekendHint { margin: -0.25rem 0 0; font-size: 0.82rem; color: rgb(35, 62, 38); opacity: 0.75; }

.weekendSubmitWrap { margin-top: 0.25rem; width: 260px; max-width: 100%; margin-left: auto; margin-right: auto; }
.weekendSubmitWrap .fancyclothes-9n02dn { border: none; cursor: pointer; }
.weekendSubmitWrap .fancyclothes-9n02dn:disabled { opacity: 0.65; cursor: wait; }

.weekendStatus { margin-top: 1rem; text-align: center; font-size: 0.95rem; min-height: 1.3em; }
.weekendStatus.is-error { color: rgb(190, 24, 48); }
.weekendStatus.is-success { color: rgb(35, 62, 38); font-family: "MaisonVoyages Script"; font-size: 1.2rem; }

.weekendThanks { display: none; text-align: center; padding: 1rem 0 2rem; }
.weekendThanks.is-visible { display: block; }
.weekendThanks h3 { margin: 0 0 0.5rem; }

.weekendFallback, .weekendRsvpFootnote { text-align: center; font-size: 0.9rem; margin-top: 1.5rem; }
.weekendFallback a { color: rgb(136, 170, 140); }

