/* ═══════════════════════════════════════════════════════════════════════
   RenoKids — orange (the Children calendar color) as the accent
   (page top uses the shared .page-hero; the email uses css/news.css)
   ═══════════════════════════════════════════════════════════════════════ */

.kd { --kd: #ef9c47; }
@keyframes kd-pulse { 0%, 100% { opacity: 0.35; } 50% { opacity: 0.9; } }

/* Sunday facts */
.kd-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(80% 140% at 0% 0%, color-mix(in srgb, var(--kd) 14%, transparent), transparent 60%),
    var(--bg-card);
  overflow: hidden;
}
.kd-fact { display: flex; flex-direction: column; gap: 0.2rem; padding: clamp(1.1rem, 2.5vw, 1.6rem); }
.kd-fact + .kd-fact { border-left: 1px solid var(--line); }
.kd-fact__label { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--kd); }
.kd-fact__value { font-family: var(--font-display); font-weight: 900; font-size: 1.25rem; line-height: 1.2; }
.kd-fact__note { font-size: 0.88rem; color: var(--fg-muted); }

/* First Sunday + director */
.kd-title { margin-top: 0.4rem; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.05; letter-spacing: -0.025em; }
.kd-first__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.kd-lead { margin-top: 0.9rem; color: var(--fg-muted); font-size: 1.05rem; line-height: 1.6; max-width: 56ch; }
.kd-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
.kd-director {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 1.1rem;
  align-items: center;
  padding: 1.25rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--bg-card);
}
.kd-director__photo { width: 110px; height: 110px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px color-mix(in srgb, var(--kd) 60%, transparent); }
.kd-director__role { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--kd); }
.kd-director__name { font-size: 1.3rem; margin-top: 0.2rem; }
.kd-director p:not(.kd-director__role) { margin-top: 0.35rem; color: var(--fg-muted); font-size: 0.93rem; }
.kd-link { display: inline-block; margin-top: 0.6rem; font-weight: 700; color: var(--kd); text-decoration: none; }
.kd-link:not(.kd-link--inline)::after { content: ' →'; }
.kd-link:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.kd-link--inline { margin-top: 0; white-space: nowrap; }

/* Kids events */
.kd-events-sec { padding-top: 0; }
.kd-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 0.5rem 1.5rem; }
.kd-events {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
  gap: 10px 16px;
}
.kd-event {
  display: flex;
  align-items: center;
  gap: 1rem;
  height: 100%;
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(100deg, color-mix(in srgb, var(--kd) 10%, transparent), transparent 55%), var(--bg-card);
  color: var(--fg);
  text-decoration: none;
  transition: transform 0.3s var(--ease), border-color 0.25s var(--ease);
}
.kd-event.has-img {
  background:
    linear-gradient(90deg, rgba(20, 21, 20, 0.94) 0%, rgba(20, 21, 20, 0.8) 50%, rgba(20, 21, 20, 0.4) 100%),
    var(--img) center / cover no-repeat,
    var(--bg-card);
}
.kd-event:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--kd) 55%, transparent); }
.kd-event__date {
  flex: 0 0 auto;
  width: 56px;
  height: 62px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: color-mix(in srgb, var(--kd) 18%, rgba(10, 10, 10, 0.4));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--kd) 45%, transparent);
}
.kd-event__mon { font-size: 0.66rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--kd); }
.kd-event__day { font-family: var(--font-display); font-weight: 900; font-size: 1.6rem; line-height: 1; }
.kd-event__text { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.kd-event__title { font-weight: 700; font-size: 1.05rem; line-height: 1.2; }
.kd-event__meta { font-size: 0.85rem; color: var(--fg-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kd-ghost { height: 92px; border-radius: 18px; background: color-mix(in srgb, var(--kd) 10%, transparent); animation: kd-pulse 1.6s ease-in-out infinite; }
.kd-empty { color: var(--fg-muted); }

/* Email label in RenoKids orange */
.kd .nw__label { color: var(--kd); }

/* Updates + serve */
.kd-pair { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 1rem; }
.kd-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: radial-gradient(100% 120% at 0% 0%, color-mix(in srgb, var(--kd) 14%, transparent), transparent 60%), var(--bg-card);
}
.kd-card__title { font-size: clamp(1.3rem, 2.4vw, 1.7rem); }
.kd-card p { color: var(--fg-muted); line-height: 1.55; }
.kd-card p b { color: var(--fg); }
.kd-card .btn { margin-top: auto; }

@media (max-width: 860px) {
  .kd-facts { grid-template-columns: minmax(0, 1fr); }
  .kd-fact + .kd-fact { border-left: 0; border-top: 1px solid var(--line); }
  .kd-first__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 420px) {
  .kd-director { grid-template-columns: 80px minmax(0, 1fr); }
  .kd-director__photo { width: 80px; height: 80px; }
}
@media (prefers-reduced-motion: reduce) {
  .kd-ghost { animation: none; opacity: 0.6; }
  .kd-event { transition: none; }
  .kd-event:hover { transform: none; }
}

/* Pre-registration note under the first-Sunday buttons */
.kd-prereg { margin-top: 0.9rem; max-width: 56ch; font-size: 0.85rem; line-height: 1.5; color: var(--fg-faint); }
