/* Generated from site/src/styles/pages/text.css by wordpress/tools/sync-theme-assets.mjs – edit the source, not this copy. */
/*
 * Text template (Parking, FAQs, Our Story, Tickets …), listings and singles
 * in the clean look: the inner-page title in the display face (as on
 * Partners), then editor content across the full content width (as the
 * old pages; user, 24 Oct), then optional
 * sections (two columns, notice, buttons). Replaces the red grunge
 * background and paper panel of the old pages.
 * WordPress: assets/css/text.css, enqueued on the text, listing and single
 * templates.
 */

.text-page > .section-title,
.listing > .section-title { margin-bottom: 20px; }

/* Text pages use the full content width, as the old pages did (user, 24 Oct). */

.prose h2:first-child { margin-top: 0; }

/* Two columns: text beside an image (with an optional caption). */
.columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
  align-items: start;
  margin: 30px 0;
}
.columns figure { margin: 0; }
.columns figure img { width: 100%; height: auto; }
.columns figcaption { margin-top: 14px; }
@media (max-width: 767px) { .columns { grid-template-columns: minmax(0, 1fr); } }

/* Notice: a framed message (SCAM tickets). */
.notice {
  margin: 10px 0 24px;
  padding: 20px 22px 6px;
  border: 2px solid var(--orange);
  background: #fffaf2;
}
.notice strong:first-child { color: var(--red); }

.text-page .button-row { justify-content: flex-start; margin: 30px 0 40px; }
.text-page .button { font-size: 28px; }

/* Listings: intro, then the grid headings 40 px above and 30 px below. */
.listing-intro > :last-child { margin-bottom: 0.9rem; }
.listing-heading { margin: 40px 0 30px; }
.listing-grid { margin-top: 40px; }

/* Singles (partner, sponsor, vendor, news). */
.single-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; margin: 0 0 20px; }
.single-meta { margin: 0; color: var(--maroon); font-size: 17px; }
.single-entry { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 40px; align-items: start; }
.single-entry .entry-logo { padding: 20px; border-radius: 20px; box-shadow: 0 4px 44px rgb(0 0 0 / 0.1); }
.single-entry .entry-logo img { width: 100%; }
@media (max-width: 767px) { .single-entry { grid-template-columns: minmax(0, 1fr); gap: 24px; } .single-entry .entry-logo { max-width: 300px; } }
.back-link { display: inline-flex; gap: 8px; margin: 30px 0 40px; font-weight: 700; }
.single-image { max-width: 640px; margin: 0 0 24px; }
.single-image img { width: 100%; height: auto; }
.text-page .prose img { max-width: 100%; height: auto; }

/* Questions and answers (FAQs): native <details>, a plus/minus marker. */
.accordion { margin: 0 0 24px; border-top: 1px solid #ead7c0; }
.accordion details { border-bottom: 1px solid #ead7c0; }
.accordion summary {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  padding: 14px 0;
  color: var(--red);
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary .icon { flex: none; width: 18px; height: 18px; margin-top: calc((1lh - 18px) / 2); }
.accordion .icon-minus, .accordion details[open] .icon-plus { display: none; }
.accordion details[open] .icon-minus { display: block; }
.accordion .accordion-body { padding: 0 0 14px; }
.accordion .accordion-body > :last-child { margin-bottom: 0; }

/* Image section and link lists in text pages. */
.text-page .image-section { margin: 0 0 24px; }
/* Photos at their own size (never wider than the page), not stretched. */
.text-page .image-section img { max-width: 100%; height: auto; }
.text-page .image-section figcaption { margin-top: 10px; font-size: 17px; }
.text-page > .link-list { --link-gap: 61px; margin-bottom: 20px; }
.columns .link-list { --link-gap: 61px; margin-top: 10px; margin-bottom: 0; }
.text-page .map-embed { height: 400px; margin: 10px 0 30px; }
.text-page .form-section { margin: 10px 0 30px; }
