.calm-calendar{padding:24px;background:#fff;border:1px solid #ddd5e3;border-radius:14px;color:#34273d;margin:24px 0}
.cal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:22px;border-bottom:1px solid #e8e2eb}
.cal-legend{display:flex;gap:24px;flex-wrap:wrap}.cal-legend>span{display:flex;align-items:center;gap:8px;font-size:15px}
.cal-symbol{display:inline-flex;flex:0 0 24px;width:24px;height:24px;color:#55266e}.cal-symbol svg{display:block;width:100%;height:100%}
.cal-toolbar label{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600}.cal-toolbar select{font:inherit;color:#382344;background:#faf8fc;border:1px solid #cfc3d7;border-radius:7px;padding:9px 12px}
.sample-calendar-week[hidden]{display:none}.sample-calendar-week>h3{font-size:22px;margin:22px 0 16px}
.cal-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border:1px solid #e3dce8;border-radius:10px;overflow:hidden}
.cal-day{min-width:0;border-right:1px solid #e3dce8;background:#fff}.cal-day:last-child{border-right:0}
.cal-day h4{font-family:Arial,sans-serif;font-size:15px;font-weight:700;background:#f5f2f7;margin:0;padding:14px 12px;color:#483453;border-bottom:1px solid #e3dce8}
.cal-day ul{list-style:none;padding:0 12px;margin:0}.cal-day li{display:flex;align-items:start;gap:8px;padding:16px 0;border-bottom:1px solid #eee9f1;font-size:13px;line-height:1.5}.cal-day li:last-child{border:0}.cal-day li .cal-symbol{flex-basis:20px;width:20px;height:20px}
.cal-day li strong{font-size:13px;font-weight:600;display:block;overflow-wrap:anywhere}.cal-time{display:block;font-size:12px;color:#6d6374;margin-top:5px}
.cal-flexible{display:flex;align-items:center;gap:9px;font-size:13px;margin:18px 0!important}.cal-reassurance{font-size:15px;font-weight:600;color:#55266e;text-align:center;margin:20px 0 0!important}
.calendar-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:850px){.calm-calendar{padding:18px}.cal-days{grid-template-columns:1fr}.cal-day{border-right:0;border-bottom:1px solid #e3dce8}.cal-day:last-child{border-bottom:0}.cal-day ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.cal-toolbar{align-items:start;flex-direction:column}.cal-day li{padding:12px 0}}
@media(max-width:450px){.cal-day ul{grid-template-columns:1fr}.cal-toolbar label{align-items:start;flex-direction:column}.cal-legend{gap:18px}.calm-calendar{padding:15px}}

/* Color belongs to the three symbols, keeping the calendar itself quiet. */
.cal-symbol[data-kind="learn"]{color:#55266e}.cal-symbol[data-kind="play"]{color:#a47900}.cal-symbol[data-kind="serve"]{color:#bd354b}

.cal-learning-rhythm{font-size:14px;line-height:1.65;padding:16px 18px;margin:0 0 22px;background:#f5f2f7;border-radius:8px;color:#483453}.cal-learning-rhythm strong{color:#55266e}

/* Everyday family commitments have their own symbols. */
.cal-symbol[data-kind="care"]{color:#296c70}
.cal-symbol[data-kind="home"]{color:#536d25}
.cal-legend{flex:1;gap:14px 20px}
.cal-toolbar label{flex-shrink:0}
