/*
 * Plan Your Visit — page-specific dressing.
 *
 * Loaded only on /visit/, via the assets/page-<slug>.css convention in
 * functions.php. Two content shapes live here because neither reappears
 * anywhere else in the build: the floor-by-floor stairs/restroom breakdown
 * and the "good to know" grid of short logistics notes. Bones (.bay, .shell,
 * .eyebrow, .lede, .dentil, .btn) all come from theme.css; this file only
 * dresses content unique to this route, per the same-file collision the
 * convention exists to avoid.
 *
 * Every colour below is TEXT-SAFE (--ink, --ink-soft) or FIELD-ONLY used only
 * for a 1px rule (--stone-300), never FIELD-ONLY as text.
 */

.visit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 1.6rem;
}

/* -------------------------------------------------------------- place -- */

/*
 * The one photograph on this route: the Wheeler's corner from the mall,
 * sitting directly under the sentence it is evidence for. Left unmasked at
 * its own aspect — the arch is this build's mask for stage photography, and
 * an arched crop of a streetscape would throw away the pavement, the bike
 * racks and the shopfronts, which are the entire reason the picture is here.
 * The credit line under it is theme.css .credit; --ink-soft measures 6.11:1
 * on this section's --paper-raised ground.
 */
/*
 * The bottom margin is not optional. Without it the credit line sat two
 * leading units above the ADA-parking paragraph and read as that paragraph's
 * opening clause rather than as the photograph's attribution.
 */
.visit-place {
  margin: 1.9rem 0 2.1rem;
  max-width: 46rem;
}

.visit-place img {
  display: block;
  width: 100%;
  height: auto;
  background: var(--stone-200);
}

/* ------------------------------------------------------------- floors -- */

/*
 * The building, bottom to top, in the order a visitor actually climbs it.
 * A dl rather than a card grid: each floor is a label/description pair, not
 * a decorative tile, and the restroom-or-not fact needs to sit right next to
 * the stairs-or-not fact rather than behind a second click.
 */
.floors {
  margin: 1.75rem 0 0;
}

.floors__row {
  display: grid;
  grid-template-columns: minmax(11rem, 0.45fr) 1fr;
  gap: 0.5rem 1.75rem;
  padding: 1.1rem 0;
  border-top: 1px solid var(--stone-300);
}

.floors__row:last-child {
  border-bottom: 1px solid var(--stone-300);
}

.floors dt {
  font-family: var(--display);
  font-size: var(--step-1);
  font-weight: 400;
  color: var(--ink);
}

.floors dd {
  margin: 0;
  color: var(--ink);
  max-width: 40ch;
}

@media (max-width: 40rem) {
  .floors__row {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
}

/* --------------------------------------------------------------- know -- */

.know {
  margin: 1.75rem 0 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 1.75rem var(--gutter);
}

.know__item {
  border-top: 1px solid var(--stone-300);
  padding-top: 0.9rem;
}

.know__item h3 {
  margin-bottom: 0.35rem;
}

.know__item p {
  margin: 0;
  color: var(--ink-soft);
  font-size: var(--step--1);
}
