/* Page-header glow for this page. */
.phead { --phead-glow: radial-gradient(80% 90% at 12% 0%, rgba(255,174,43,.16), transparent 62%),
              radial-gradient(70% 80% at 88% 30%, rgba(199,125,255,.14), transparent 60%); }

/* ==========================================================================
   Skating Times — the parent-clarity page. Deliberately the calmest layout
   on the site: no motion inside anything a parent is reading.
   ========================================================================== */


/* --- Full schedule -------------------------------------------------------
   The home page shows a compact 4-up preview. Here each day carries its
   session descriptions, so it needs real width to stay readable. */
.week__grid--full {
  grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr));
}
.week__grid--full .day { padding: 1.5rem 1.6rem; }
.week__grid--full .day__name { font-size: 1.4rem; }
.week__grid--full .sesh {
  grid-template-columns: 7.5rem minmax(0, 1fr) auto;
  gap: .4rem 1.25rem;
  padding: .9rem 0;
}
.week__grid--full .sesh__time { font-size: .82rem; }
.week__grid--full .sesh__name { font-size: 1.1rem; }

@media (max-width: 520px) {
  .week__grid--full .sesh { grid-template-columns: minmax(0, 1fr) auto; }
  .week__grid--full .sesh__time { grid-column: 1; }
  .week__grid--full .sesh__price { grid-row: 1 / span 2; }
}

/* --- Prices --------------------------------------------------------------- */
.ptable {
  border: 1px solid var(--ink-line);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.prow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) auto;
  gap: .35rem 1.5rem;
  align-items: center;
  padding: 1.15rem 1.5rem;
  border-bottom: 1px solid var(--ink-line);
}
.prow:last-child { border-bottom: 0; }
.prow:nth-child(even) { background: rgba(255,255,255,.018); }

.prow--head {
  background: var(--ink-3);
  font-family: var(--mono);
  font-size: .7rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--on-dark-mute);
  padding-block: .8rem;
}
.prow--head p:last-child { text-align: right; }

.prow__name { font-family: var(--display); font-weight: 800; font-size: 1.15rem; }
.prow__who  { color: var(--on-dark-mute); font-size: .93rem; }
.prow__price {
  font-family: var(--display);
  font-weight: 900;
  font-size: 1.65rem;
  color: var(--acid);
  text-align: right;
}

@media (max-width: 700px) {
  .prow { grid-template-columns: minmax(0, 1fr) auto; }
  .prow--head { display: none; }
  .prow__name  { grid-column: 1; }
  .prow__price { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .prow__who   { grid-column: 1; }
}

/* --- Price notes ---------------------------------------------------------- */
.pnotes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
  gap: 1.25rem;
  margin-top: 1.5rem;
}
.pnote {
  background: var(--ink-2);
  border: 1px solid var(--ink-line);
  border-radius: var(--r);
  padding: 1.5rem 1.4rem;
}
.pnote--flag { border-color: rgba(255,174,43,.45); }
.pnote h3 {
  font-size: 1.15rem;
  margin-bottom: .9rem;
  color: var(--amber);
}
.pnote--flag h3 { color: var(--amber); }
.pnote li {
  padding-left: 1.3rem;
  position: relative;
  margin-bottom: .55rem;
  color: var(--on-dark-mute);
  font-size: .95rem;
}
.pnote li::before {
  content: "";
  position: absolute;
  left: 0; top: .58em;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--amber);
}
.pnote li strong { color: var(--on-dark); font-family: var(--display); font-weight: 800; }

