/* Escola de tennis: contingut i calendari carregats des de la base de dades. */
.escola-section { --escola-color-inici: #a0d5b2; --escola-color-fi: #eeb6c9; --escola-color-vacances: #c7b6e4; --escola-color-festiu: #ead684; --escola-color-activitat: #9fcce3; }
.escola-section .escola-summary-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 32px; margin: 30px 0; }
.escola-section .escola-description { color: #fff; }
.escola-section .escola-description-block { margin-bottom: 24px; }
.escola-section .escola-description-block h4 { margin-bottom: 10px; font-size: 22px; }
.escola-section .escola-description-block p { color: #f1f6f3; font-size: 16px; line-height: 1.7; }
.escola-section .escola-registration { display: inline-block; background: #e3eddf; color: #254b32; padding: 12px 20px; border-radius: 9px; font-weight: 600; }
.escola-section .escola-registration:hover { background: #fff; }
.escola-section .escola-team { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 18px; align-content: start; }
.escola-section .escola-person { border-radius: 12px; overflow: hidden; background: #fff; }
.escola-section .escola-person img { width: 100%; height: 240px; object-fit: cover; }
.escola-section .escola-person-caption { padding: 18px; color: #2b4b38; }
.escola-section .escola-person-caption h4 { font-size: 20px; }
.escola-section .escola-person-caption p { margin: 8px 0 0; color: #52665b; }
.escola-section .escola-calendar { margin-top: 32px; color: #fff; }
.escola-section .escola-calendar > h4 { font-size: 26px; text-align: center; margin-bottom: 20px; }
.escola-section .escola-calendar-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 20px; margin: 20px 0; }
.escola-section .escola-calendar-legend > span { display: inline-flex; gap: 7px; align-items: center; }
.escola-section .escola-months { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.escola-section .escola-month { background: #fff; border: 1px solid #e1e9e4; border-top: 4px solid #a7c6b0; border-radius: 16px; overflow: hidden; color: #304c3a; padding: 0 10px 10px; box-shadow: 0 8px 24px rgba(13, 37, 23, .12); }
.escola-section .escola-month table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 3px; }
.escola-section .escola-month caption { background: #fff; color: #30513c; font-size: 20px; font-weight: 600; padding: 20px 8px 16px; text-align: center; caption-side: top; }
.escola-section .escola-month th { text-align: center; padding: 10px 0; font-size: 12px; font-weight: 600; letter-spacing: .04em; color: #748579; background: #fff; }
.escola-section .escola-month th abbr { border: 0; text-decoration: none; }
.escola-section .escola-month td { text-align: center; height: 48px; padding: 4px 1px; font-size: 16px; border: 1px solid #dce5de; border-radius: 7px; background: #fcfdfc; vertical-align: middle; font-variant-numeric: tabular-nums; }
.escola-section .escola-month td:nth-child(n+6) { background: #f7f9f7; }
.escola-section .escola-month td time { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 10px; }
.escola-section .escola-month td.escola-day-marked { background: var(--escola-day-color); color: #24392e; cursor: help; }
.escola-section .escola-month .escola-day-marked time { font-weight: 700; }
.escola-section .escola-month .escola-day-today time { box-shadow: inset 0 0 0 2px #315f43; }
.escola-section .escola-month .escola-day-muted { color: #b0bdb4; background: #fff; border-color: transparent; }
.escola-section .escola-month td.escola-day-marked:hover,
.escola-section .escola-month td.escola-day-marked:focus { outline: 2px solid #315f43; outline-offset: 1px; }
.escola-section .escola-event-dot { display: inline-block; width: 10px; height: 10px; border: 1px solid rgba(0, 0, 0, .18); border-radius: 50%; flex: 0 0 10px; }
.escola-section .escola-event--inici { --escola-day-color: var(--escola-color-inici); background: var(--escola-color-inici); }
.escola-section .escola-event--fi { --escola-day-color: var(--escola-color-fi); background: var(--escola-color-fi); }
.escola-section .escola-event--vacances { --escola-day-color: var(--escola-color-vacances); background: var(--escola-color-vacances); }
.escola-section .escola-event--festiu { --escola-day-color: var(--escola-color-festiu); background: var(--escola-color-festiu); }
.escola-section .escola-event--activitat { --escola-day-color: var(--escola-color-activitat); background: var(--escola-color-activitat); }
@media (max-width: 900px) { .escola-section .escola-months { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .escola-section .escola-summary-grid, .escola-section .escola-months { grid-template-columns: minmax(0, 1fr); } }

.simple-rich-text { color: #52665a; font-size: 16px; line-height: 1.85; }
.simple-rich-text p { margin-bottom: 12px; }
.simple-rich-text ul, .simple-rich-text ol { padding-left: 24px; margin: 12px 0; }

/* El text enriquit de la descripció es mostra sobre el fons fosc. */
.escola-section .escola-description-block h4,
.escola-section .escola-description-block .simple-rich-text,
.escola-section .escola-description-block .simple-rich-text * { color: #fff; }
