/* === BUILT REALM CALENDAR (2026-09-20) === */
/* Loaded only by /field/calendar/ and its organization pages, after style.css.
   Every rule is class-scoped. No bare element selector appears here: a bare footer{}
   in /css/rochester-walk.css restyled the estate footer on guide pages, and that
   lesson is carried forward rather than repeated. Colours come from the estate
   custom properties; none is redefined. */

/* The eyebrow is a back control here, as on an individual walk page, so it carries
   an arrow and no underline. */
.eyebrow a { text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .eyebrow a:hover { color: var(--hover); } }
.eyebrow a:active { color: var(--hover); }

.cal-tools { margin: 2.2rem 0 2.4rem; padding: 1.3rem 0 0; border-top: 1px solid var(--line); }
.cal-tools[hidden] { display: none; }
.cal-legend { display: block; margin: 0 0 0.45rem; font-size: 0.71rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--ink-soft); }
.cal-search { display: block; width: 100%; max-width: 100%; padding: 0.6rem 0.7rem;
  margin: 0 0 1.3rem; font-family: inherit; font-size: 1rem; color: var(--ink);
  background: transparent; border: 1px solid var(--line); border-radius: 0; }
.cal-search::placeholder { color: var(--ink-soft); opacity: 1; }
.cal-row { display: flex; flex-wrap: wrap; gap: 0.5rem 0.6rem; margin: 0 0 1.3rem; }
.cal-chip { display: inline-flex; align-items: center; justify-content: center;
  min-height: 34px; padding: 0.3rem 0.75rem; font-family: inherit; font-size: 0.71rem;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft);
  background: transparent; border: 1px solid var(--line); border-radius: 0;
  cursor: pointer; -webkit-tap-highlight-color: transparent; }
.cal-chip[aria-pressed="true"] { color: var(--paper); background: var(--ink); border-color: var(--ink); }
@media (hover: hover) and (pointer: fine) {
  .cal-chip:hover { color: var(--hover); border-color: var(--hover); }
  .cal-chip[aria-pressed="true"]:hover { color: var(--paper); background: var(--hover); border-color: var(--hover); }
}
.cal-chip:active { color: var(--hover); }

/* FILTERS AS A SITE SECTION. The +/- is the walk guides' own details.sect pattern,
   copied value for value from /css/field-guide.css so the control behaves and reads the
   same everywhere on the site: a rule above, the heading inside the summary at 1.25rem,
   a plus on the left in olive that becomes a minus in the address gold, closed on load.
   Scoped to .cal-tools so it cannot collide if field-guide.css is ever loaded here. */
.cal-tools details.sect { border-top: 1px solid var(--line); margin: 0 0 0.5rem; padding: 0; }
.cal-tools details.sect > summary { list-style: none; cursor: pointer; padding: 1.4rem 0 0.9rem;
  display: flex; align-items: baseline; gap: 0.6rem; }
.cal-tools details.sect > summary::-webkit-details-marker { display: none; }
.cal-tools details.sect > summary::before { content: "+"; color: var(--olive);
  font-size: 1.1rem; line-height: 1; width: 0.9rem; flex: 0 0 auto; }
.cal-tools details.sect[open] > summary::before { content: "\2212"; color: var(--address); }
.cal-tools details.sect > summary h2 { margin: 0; font-size: 1.25rem; line-height: 1.3; font-weight: normal; }
@media (hover: hover) and (pointer: fine) { .cal-tools details.sect > summary:hover h2 { color: var(--hover); } }
.cal-tools details.sect > summary:active h2 { color: var(--hover); }
.cal-tools .sect-body { padding: 0 0 1.2rem; }
.cal-year { display: inline-flex; align-items: center; min-height: 34px; margin: 0 0.1rem 0 0.2rem;
  font-size: 0.71rem; letter-spacing: 0.14em; color: var(--ink-soft); }
.cal-year:first-child { margin-left: 0; }
.cal-count[hidden] { display: none; }
.cal-clear { display: inline; margin: 0 0 0 0.4rem; padding: 0; font-family: inherit;
  font-size: inherit; letter-spacing: inherit; text-transform: inherit; color: var(--ink-soft);
  background: transparent; border: 0; text-decoration: underline; text-underline-offset: 2px;
  text-decoration-color: var(--line); cursor: pointer; }
@media (hover: hover) and (pointer: fine) { .cal-clear:hover { color: var(--hover); } }
.cal-clear:active { color: var(--hover); }
/* .cal-toggle, .cal-toggle-label, .cal-toggle-active, .cal-toggle-sign, and .cal-panel are
   RESERVED: the bespoke Filters button of 2026-09-20, superseded the same day by the site's
   details.sect pattern for consistency. Kept per the estate rule that a selector with no
   consumer is marked rather than deleted. */
.cal-toggle { display: flex; }
.cal-panel[hidden] { display: none; }
/* .cal-selects is RESERVED: the Month and Organization dropdowns, superseded by Month
   chips and the search box on 2026-09-20. A select sized itself to its longest option
   and pushed the page past a phone's width. Kept per the estate rule that a selector
   with no consumer is marked rather than deleted. */
.cal-selects { display: block; }
.cal-selects select { display: block; width: 100%; max-width: 100%; }
.cal-count { margin: 0.9rem 0 0; font-size: 0.73rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--ink-soft); }
.cal-empty { margin: 2rem 0; font-size: 1rem; color: var(--ink-soft); }

/* The per-item stamp. A technical disclaimer about where the row came from and when it
   was checked, so it sits quietly under the entry and carries ISO dates rather than
   reader-facing ones. */
.events .cal-stamp { display: block; margin: 0.4rem 0 0; font-size: 0.7rem;
  letter-spacing: 0.04em; color: var(--ink-soft); opacity: 0.85; }
.events .cal-meta { display: block; margin: 0.25rem 0 0; font-size: 0.8rem; color: var(--ink-soft); }
.events .cal-meta a { color: var(--ink-soft); text-decoration-color: var(--line); }
@media (hover: hover) and (pointer: fine) { .events .cal-meta a:hover { color: var(--hover); } }
.events .cal-meta a:active { color: var(--hover); }
.cal-subject { letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.7rem; color: var(--olive); }
.cal-form { letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.7rem; }
.events li[hidden] { display: none; }
.cal-month[hidden] { display: none; }
.cal-undated-note { font-size: 0.95rem; color: var(--ink-soft); margin: 0 0 0.9rem; }

/* Organization directory and organization pages */
.cal-orgs { list-style: none; margin: 1.6rem 0 2.4rem; padding: 0; border-top: 1px solid var(--line); }
.cal-orgs li { padding: 0.8rem 0; border-bottom: 1px solid var(--line); }
.cal-orgs .cal-org-name { display: block; font-size: 1.05rem; line-height: 1.35; }
.cal-orgs .cal-org-meta { display: block; margin: 0.2rem 0 0; font-size: 0.8rem;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-soft); }
/* === END BUILT REALM CALENDAR === */
