/* Scoped, lightweight design; adjust --pfwh-accent to match PFWH's theme. */
.pfwh-cal,.pfwh-detail{--pfwh-accent:#38664f;--pfwh-dark:#263a32;--pfwh-soft:#e8f1eb;--pfwh-border:#dbe3dc;--pfwh-muted:#627369;color:var(--pfwh-dark);font-family:inherit;max-width:1100px;margin:0 auto}
.pfwh-cal *,.pfwh-detail *{box-sizing:border-box}
.pfwh-cal a,.pfwh-detail a{text-decoration:none}
.pfwh-cal__top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin:0 0 1.35rem}
.pfwh-cal__nav{display:flex;align-items:center;gap:.8rem}
.pfwh-cal__heading{font-size:clamp(1.25rem,2vw,1.7rem);margin:0;min-width:180px;text-align:center;color:var(--pfwh-dark)}
.pfwh-cal__arrow{width:2.35rem;height:2.35rem;display:grid;place-items:center;border:1px solid var(--pfwh-border);border-radius:50%;font-size:1.1rem;color:var(--pfwh-accent);transition:background .15s}
.pfwh-cal__arrow:hover,.pfwh-cal__arrow:focus-visible{background:var(--pfwh-soft)}
.pfwh-cal__views{display:flex;gap:.1rem;padding:3px;border:1px solid var(--pfwh-border);border-radius:9px}
.pfwh-cal__views a{padding:.45rem .85rem;border-radius:6px;color:var(--pfwh-dark)}
.pfwh-cal__views a.is-active{background:var(--pfwh-accent);color:#fff}
.pfwh-cal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--pfwh-border);border-radius:12px;overflow:hidden;background:#fff}
.pfwh-cal__weekday{text-align:center;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:#eff3ef;padding:.75rem .25rem;color:var(--pfwh-muted);border-bottom:1px solid var(--pfwh-border)}
.pfwh-cal__day,.pfwh-cal__blank{min-width:0;min-height:120px;padding:.55rem .4rem;border-right:1px solid var(--pfwh-border);border-bottom:1px solid var(--pfwh-border)}
.pfwh-cal__blank{background:#f9fbf9}
.pfwh-cal__day:nth-child(7n),.pfwh-cal__blank:nth-child(7n){border-right:0}
.pfwh-cal__number{display:flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;font-size:.88rem;font-weight:650;border-radius:50%;margin-bottom:.4rem}
.pfwh-cal__day.is-today .pfwh-cal__number{background:var(--pfwh-accent);color:#fff}
.pfwh-cal__event{display:block;margin:.22rem 0;padding:.34rem .38rem;border-radius:5px;background:var(--pfwh-soft);color:var(--pfwh-dark);font-size:.77rem;line-height:1.35;overflow-wrap:anywhere;border-left:3px solid var(--pfwh-accent)}
.pfwh-cal__event time{font-weight:700;margin-right:.25rem}
.pfwh-cal__event:hover,.pfwh-cal__event:focus-visible{background:#d2e5d6}
.pfwh-cal__more{display:block;margin:.3rem 0;font-size:.76rem;font-weight:650;color:var(--pfwh-accent)}
.pfwh-cal__agenda{margin-top:2.1rem}
.pfwh-cal__agenda h3{font-size:1.35rem;color:var(--pfwh-dark);margin:0 0 1rem}
.pfwh-cal__agenda-day{scroll-margin-top:110px;margin:1.35rem 0}
.pfwh-cal__agenda-day h4{font-size:1rem;margin:.2rem 0 .6rem;color:var(--pfwh-muted)}
.pfwh-cal__agenda-item{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem 1rem;padding:1rem 1.15rem;margin:.4rem 0;border:1px solid var(--pfwh-border);border-radius:9px;color:var(--pfwh-dark);background:#fff;transition:background .15s,border-color .15s}
.pfwh-cal__agenda-item:hover,.pfwh-cal__agenda-item:focus-visible{border-color:var(--pfwh-accent);background:#f7faf7}
.pfwh-cal__agenda-meta{font-size:.9rem;color:var(--pfwh-accent);font-weight:650;min-width:110px}
.pfwh-cal__agenda-item strong{flex:1 1 175px}
.pfwh-cal__location{font-size:.9rem;color:var(--pfwh-muted)}
.pfwh-cal__chevron{font-size:1.35rem;color:var(--pfwh-accent)}
.pfwh-cal__empty{background:#f7faf7;border:1px solid var(--pfwh-border);border-radius:10px;padding:1.5rem}
.pfwh-detail__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}
.pfwh-detail__tags span{padding:.25rem .7rem;border-radius:50px;background:var(--pfwh-soft);color:var(--pfwh-accent);font-size:.84rem}
.pfwh-detail__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.65rem;background:#f5f8f5;border:1px solid var(--pfwh-border);border-radius:12px;padding:1.3rem;margin:0 0 2rem}
.pfwh-detail__facts>div{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.pfwh-detail__facts strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--pfwh-accent)}
.pfwh-detail__facts span{overflow-wrap:anywhere;line-height:1.55}
.pfwh-detail__body{line-height:1.7}
.pfwh-detail__button{display:inline-block;background:var(--pfwh-accent);color:#fff!important;padding:.85rem 1.4rem;border-radius:6px;font-weight:700;margin:1rem 0}
.pfwh-detail__button:hover,.pfwh-detail__button:focus-visible{background:#274b39}
.pfwh-detail__upcoming{margin:2rem 0}
.pfwh-detail__upcoming h2{font-size:1.25rem}
.pfwh-detail__upcoming ul{display:flex;flex-wrap:wrap;gap:.55rem;padding:0;list-style:none}
.pfwh-detail__upcoming li a{display:block;border:1px solid var(--pfwh-border);border-radius:7px;padding:.55rem .8rem;color:var(--pfwh-accent)}
.pfwh-detail__upcoming li a[aria-current=date]{background:var(--pfwh-soft);font-weight:700}
.pfwh-detail__back{margin-top:2rem}
.pfwh-detail__back a{color:var(--pfwh-accent);font-weight:650}
@media(max-width:760px){.pfwh-cal__day,.pfwh-cal__blank{min-height:75px;padding:.3rem .15rem}.pfwh-cal__event{font-size:.63rem;padding:.25rem .16rem;border-left-width:2px}.pfwh-cal__event time{display:block}.pfwh-cal__number{font-size:.75rem;margin-bottom:.2rem}.pfwh-cal__more{font-size:.65rem}.pfwh-cal__agenda-item{padding:.85rem}}
@media(max-width:430px){.pfwh-cal__grid{display:none}.pfwh-cal__top{justify-content:center}.pfwh-cal__nav{width:100%;justify-content:center}.pfwh-cal__heading{min-width:145px}.pfwh-cal__agenda{margin-top:1rem}.pfwh-cal__agenda-meta{min-width:0}}
