.address-link{color:var(--gold);text-underline-offset:3px;align-items:flex-start;gap:7px;margin:10px 0;font-weight:800;text-decoration:underline;display:flex}.address-link svg{flex:none;margin-top:3px}.calendar-section{padding-top:65px}.calendar-shell{max-width:1240px;margin:auto}.calendar-toolbar{grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-bottom:24px;display:grid}.calendar-toolbar h2{text-align:center;color:var(--brown);text-transform:capitalize;margin:0;font-family:Georgia,serif}.calendar-nav,.view-switch{display:flex}.calendar-nav button,.view-switch button{border:1px solid var(--line);color:var(--brown);cursor:pointer;background:#fff;padding:10px 13px;font-weight:800}.calendar-nav button:first-child,.view-switch button:first-child{border-radius:6px 0 0 6px}.calendar-nav button:last-child,.view-switch button:last-child{border-radius:0 6px 6px 0}.calendar-nav svg{width:16px}.view-switch{justify-self:end}.view-switch .active{background:var(--brown);color:#fff;border-color:var(--brown)}.day-heads,.month-grid{grid-template-columns:58px repeat(7,1fr);display:grid}.day-heads b{text-align:center;color:var(--olive);padding:10px;font-size:13px}.day-heads .week-head{color:var(--gold);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.month-grid{border-left:1px solid var(--line);border-top:1px solid var(--line)}.month-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;background:#fff;min-width:0;min-height:145px;padding:9px;transition:background .18s,box-shadow .18s}.month-day:hover,.month-day:focus-within{background:#fffaf0;outline:0;box-shadow:inset 0 0 0 2px #b98a4b}.month-day.selected{background:#f8f0df}.day-number{color:var(--brown);font:inherit;cursor:pointer;background:0 0;border:0;margin:0 0 7px;padding:0;font-weight:800;display:block}.day-number:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}.month-day.outside{color:#aaa;background:#f7f5f0}.week-number{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--brown);cursor:pointer;background:#f2eee7;justify-content:center;align-items:center;gap:2px;font-weight:900;transition:background .18s,color .18s;display:flex}.week-number span{color:var(--gold);font-size:10px}.week-number:hover,.week-number:focus-visible{background:var(--brown);color:#fff;outline:0}.week-number:hover span,.week-number:focus-visible span{color:#f0d59c}.cal-event{background:var(--cream);border-left:3px solid var(--gold);color:var(--brown);margin:6px 0;padding:10px;display:block}.cal-event strong{font-size:14px;line-height:1.35;display:block}.cal-event span{color:var(--muted);gap:5px;margin-top:5px;font-size:12px;display:flex}.cal-event span svg{flex:none;width:13px}.cal-event.compact{margin:4px 0;padding:6px}.cal-event.compact strong{font-size:12px}.month-day small{color:var(--gold);font-weight:800}.week-grid{border:1px solid var(--line);grid-template-columns:repeat(7,1fr);display:grid}.week-grid section{border-right:1px solid var(--line);min-height:260px;padding:10px}.week-grid section:last-child{border:0}.week-grid h3{text-align:center;color:var(--olive);font-size:13px}.week-grid h3 strong{color:var(--brown);font-size:25px;display:block}.week-grid section>p,.day-view>p{text-align:center;color:var(--muted);font-size:13px}.day-view{max-width:700px;min-height:220px;margin:auto}.agenda-list{max-width:900px;margin:auto}.agenda-list article{border-bottom:1px solid var(--line);grid-template-columns:145px 1fr;align-items:start;gap:18px;padding:13px 0;display:grid}.agenda-list time{text-transform:capitalize;color:var(--olive);padding-top:11px;font-weight:800}@media (width<=900px){.calendar-toolbar{grid-template-columns:1fr}.calendar-toolbar h2{grid-row:1}.calendar-nav,.view-switch{justify-self:center}.month-day{min-height:105px;padding:5px}.cal-event.compact strong{font-size:11px}.week-grid{grid-template-columns:1fr}.week-grid section{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.week-grid h3{text-align:left}.week-grid h3 strong{margin-left:7px;display:inline}.agenda-list article{grid-template-columns:110px 1fr}}@media (width<=600px){.calendar-section{padding-left:10px;padding-right:10px}.month-calendar{overflow-x:auto}.month-calendar:before{content:"Faites glisser le calendrier pour voir toute la semaine →";color:var(--muted);margin:0 0 8px;font-size:13px;display:block}.day-heads,.month-grid{min-width:778px}.view-switch button{padding:9px 10px}.agenda-list article{grid-template-columns:1fr;gap:0}.agenda-list time{padding-top:0}}.event-filters{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;align-items:end;gap:14px;margin-bottom:18px;padding:20px;display:grid}.event-filters label{color:var(--brown);gap:7px;font-size:13px;font-weight:800;display:grid}.event-filters .event-search{grid-column:1/-1}.event-filters input,.event-filters select,.event-filters button{border:1px solid var(--line);min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:9px 12px}.event-filters button{cursor:pointer;background:var(--brown);border-color:var(--brown);color:#fff;font-weight:800}.school-break-legend{color:#43533d;background:#e5eee0;border-radius:9px;align-items:center;gap:10px;margin:0 0 22px;padding:12px 15px;display:flex}.school-break-legend>span{background:#819d76;border-radius:5px;flex:none;width:18px;height:18px}.school-break-legend p{margin:0;font-size:14px}.cal-event.school-break{color:#43533d;background:#e5eee0;border-left-color:#819d76}.cal-event.holiday-warning{background:#fff1e8;border-left-color:#bf744f}.holiday-short{align-items:flex-start;gap:4px;margin-top:5px;line-height:1.25;color:#8b4e35!important;font-size:11px!important;display:flex!important}.holiday-short svg{flex:none;width:12px;height:12px}.calendar-empty{text-align:center;color:var(--muted);padding:42px}@media (width<=900px){.event-filters{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.event-filters{grid-template-columns:1fr;padding:16px}.school-break-legend{align-items:flex-start}.calendar-toolbar{gap:13px}.view-switch{width:100%}.view-switch button{flex:1}}.calendar-top-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 28px;max-width:1240px;margin:0 auto 28px;display:flex}.calendar-top-actions .event-submit-top,.calendar-top-actions .calendar-market-shortcut{margin:0}@media (width<=600px){.calendar-top-actions{text-align:center;flex-direction:column;align-items:stretch}.calendar-top-actions .calendar-market-shortcut{justify-content:center}}
