/* Retreats at Tikkun Sanctuary — /retreats and every /retreats/<slug> detail page.
 *
 * Page-scoped only. These rules were the inline <style> blocks on the live
 * TikkunRetreats pages (retreats/index.html, and the page shell emitted by
 * tools/build-retreats.mjs for each retreat), moved here unchanged apart from
 * being in one file. Tokens only, never raw colour values: the palette is being
 * re-skinned centrally and token names are what carry across.
 *
 * 🟥 Nothing in here touches the booking embed (.embed-*). Those rules live in
 * site.css, and the #register section depends on them exactly as they are.
 */

/* ---------- every retreat page: clear the utility bar as well as the header ----------
   site.css pads the hero for the fixed header alone; v2.css puts a utility bar
   (--util-h) above that header. Fallback 0px so this is harmless without v2.css. */
.hero { padding-top: calc(var(--util-h, 0px) + var(--header-h) + 3rem); }

/* ---------- /retreats: the filter bar above the card grid ---------- */
.filters-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 1rem 1.5rem;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}
.filters-row .filters-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0;
}
.filter-empty {
  margin: 2rem 0 0;
  padding: 1.75rem;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  color: var(--ink-soft);
  max-width: none;
}

/* ---------- /retreats: the three kinds of experience ---------- */
.type-block + .type-block { margin-top: var(--space-section); }

/* ---------- /retreats: the quiet pointer to the 14-Day Immersion ---------- */
.retreats-aside {
  max-width: var(--maxw-text);
  padding-top: 1.75rem;
  border-top: 1px solid var(--line);
}
.retreats-aside h2 { font-size: var(--fs-h3); }

/* ---------- detail pages: room and price table ---------- */
.rooms { overflow-x: auto; margin-top: 2rem; }
.rooms table { width: 100%; min-width: 30rem; border-collapse: collapse; font-size: 0.975rem; }
.rooms th, .rooms td { text-align: left; padding: 0.9rem 1rem 0.9rem 0; border-bottom: 1px solid var(--line); }
.rooms th { font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-soft); font-weight: 600; }
.rooms td:last-child, .rooms th:last-child { text-align: right; padding-right: 0; white-space: nowrap; }
.rooms .room-note { display: block; font-size: 0.85rem; color: var(--ink-soft); }

/* ---------- detail pages: "Our approach" on the dark band ---------- */
.approach { display: grid; gap: 2.25rem; margin-top: 1rem; }
.approach h3 { font-size: 1.35rem; margin: 0 0 0.5rem; }
.approach p { margin: 0; }
