/* HFRC Programs Calendar – Weekly List (0.3.8) */

:root{
  --hfrc-max: 1200px;
  --hfrc-side: 28%;
  --hfrc-main: 72%;
  --hfrc-space: 1.25rem;

  --hfrc-text: #111111;
  --hfrc-muted: #6B7280;
  --hfrc-border: #E5E7EB;
  --hfrc-bg: #FFFFFF;
  --hfrc-search-bg:#3D0F611A;
  --hfrc-focus: #5A3EE6;

  --fs-weeklabel:1.5rem;   /* week label size */
  --fs-dayheading:2.15rem;
  --fs-banner:1rem;        /* Open Play title */
  --fs-chip:1rem;
  --fs-time:1rem;          /* Event time (cards) weight 700 below */
  --fs-desc:1.6rem;        /* Event description weight 800 below */
  --fs-tag:1rem;

  --hfrc-sticky-top:16px;

  /* Program colors (per title classification) */
  --tag-default:#662e91;
  --tag-little-learners:#c2262e;
  --tag-music-movement:#9e005d;
  --tag-park-rangers:#2a643a;
  --tag-parent-education:#0071bc;

  /* Location colors for chip dots (not chip backgrounds) */
  --chip-dot-arnot:#7eceef;
  --chip-dot-fumc:#abda9e;
}

.hfrc-cal{font-family:"Open Sans",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;color:var(--hfrc-text);background:var(--hfrc-bg)}
.hfrc-cal *{box-sizing:border-box}

/* Purple strip — padding doubled earlier, keep it */
.hfrc-cal__search{width:100%;background:var(--hfrc-search-bg)}
.hfrc-cal__search__inner{
  max-width:var(--hfrc-max);
  margin:0 auto;
  padding:clamp(40px,7vw,80px) var(--hfrc-space);
  display:flex;flex-direction:column;gap:.75rem
}

.hfrc-cal__weeknav{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.hfrc-weeklabel{font-weight:800;font-size:var(--fs-weeklabel)}
.hfrc-btn{padding:.45rem .7rem;border:1px solid var(--hfrc-border);border-radius:8px;background:#fff}

/* Results */
.hfrc-cal__wrap{max-width:var(--hfrc-max);margin:0 auto;padding:clamp(16px,2.2vw,28px) var(--hfrc-space)}

/* Day groups */
.hfrc-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;row-gap:1.75rem}
.day-group{border-top:1px solid var(--hfrc-border);padding-top:1.5rem}
.day-group:first-child{border-top:none;padding-top:0}

.hfrc-row{display:flex;gap:1.25rem;flex-wrap:wrap}
.hfrc-col{min-width:0}
.hfrc-col--side{width:var(--hfrc-side); position:relative; align-self:flex-start;}
.hfrc-col--main{width:var(--hfrc-main);border-left:1px solid var(--hfrc-border);padding-left:clamp(12px,2vw,24px)}
@media (max-width:640px){
  .hfrc-col--side,.hfrc-col--main{width:100%}
  .hfrc-col--main{border-left:none;padding-left:0}
}

.hfrc-sticky{position:sticky;top:var(--hfrc-sticky-top)}
.hfrc-dayheading{font-size:var(--fs-dayheading);font-weight:800;line-height:1.12;margin:0}

/* Open Play banner */
.openplay-banner{display:flex;flex-direction:column;gap:.6rem;margin:.35rem 0 1.1rem}
.openplay-title{font-size:var(--fs-banner);font-weight:700} /* 1rem / 700 */
.openplay-chip-row{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{
  display:inline-flex;align-items:center;gap:.5ch;
  padding:.45rem .7rem;border:1px solid var(--hfrc-border);border-radius:999px;
  background:#f9fafb;font-size:var(--fs-chip);white-space:nowrap;text-decoration:none;color:inherit
}
.chip:focus{outline:2px solid var(--hfrc-focus);outline-offset:2px}
.dot{width:.55rem;height:.55rem;border-radius:50%;background:#22C55E;display:inline-block}
.loc{font-weight:700}
.time{color:var(--hfrc-muted);font-weight:700} /* make chip times bold */

/* Remove colored chip backgrounds; color only the dot by location */
.chip--arnot .dot{ background: var(--chip-dot-arnot); }
.chip--fumc  .dot{ background: var(--chip-dot-fumc); }

/* Events */
.event-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;row-gap:1.25rem}
.event-card{border-bottom:1px solid var(--hfrc-border);padding:1rem 0 1.25rem}
.event-link{display:flex;gap:1rem;flex-wrap:wrap}
.event-text-col{min-width:240px;flex:1 1 320px}
.event-grid{display:grid;grid-template-columns:1fr;row-gap:.6rem}

.event-time{font-size:var(--fs-time);font-weight:700;margin:.15rem 0 0}
.event-desc{
  font-size:var(--fs-desc);font-weight:800;margin:.25rem 0 0;line-height:1.35;
  white-space:normal; overflow-wrap:anywhere; word-break:break-word;
}
.event-desc a{color:inherit;text-decoration:underline}
.event-title{font-size:var(--fs-tag);font-weight:400;margin:.15rem 0 0}

/* Program chips (white text and specified colors) */
.event-tag{
  display:inline-flex;align-items:center;gap:.5ch;
  margin-top:.25rem;padding:.25rem .5rem;border-radius:.5rem;
  font-weight:700;color:#fff;background:var(--tag-default);
}
.event-tag.tag--little-learners{ background:var(--tag-little-learners); }
.event-tag.tag--music-movement{  background:var(--tag-music-movement); }
.event-tag.tag--park-rangers{    background:var(--tag-park-rangers); }
.event-tag.tag--parent-education{background:var(--tag-parent-education); }

/* States */
.hfrc-empty,.hfrc-error{text-align:center;color:var(--hfrc-muted);padding:1rem 0}

@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto;animation-duration:.001ms!important;transition-duration:.001ms!important}
}
