.availability-hero{background:#122733;color:#fff;padding:78px 0 86px;background-image:radial-gradient(circle at 90% 10%,#395d60 0,transparent 42%)}
.availability-hero h1{max-width:1000px;font-size:clamp(40px,5vw,68px)}
.availability-lead{max-width:730px;color:#d8e5e4;font-size:19px;line-height:1.6;margin-bottom:30px}
.availability-content{padding:48px 0 94px}.availability-note{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-bottom:30px}
.availability-note p{font-size:14px;color:#4c626c;max-width:580px;margin:0}.legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:14px;font-weight:650}
.legend-dot{width:13px;height:13px;border-radius:50%;display:inline-block}.legend-dot.available{background:#dcece2;border:1px solid #7aa18a}.legend-dot.unavailable{background:#dfddd8;border:1px solid #9c9e9d}
.calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.month{background:#fffdfa;border:1px solid #d9d8d0;border-radius:8px;padding:25px 25px 28px;min-width:0}
.month h2{font-size:clamp(27px,3vw,36px);margin:0 0 18px;text-transform:capitalize}.month table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:5px}
.month th{font-size:12px;color:#52636b;padding-bottom:8px}.month td{text-align:center;height:45px;padding:0}.month .day{display:grid;place-items:center;width:100%;height:43px;border-radius:4px;font-weight:650;font-size:15px}
.month td.available .day{background:#e5f1e9;color:#183e31}.month td.unavailable .day{background:#e5e3df;color:#596169;text-decoration:line-through;text-decoration-thickness:1px}
.month td.empty{background:transparent}.availability-other{margin-top:28px;padding:32px 36px;background:#e8ddd0;display:flex;justify-content:space-between;align-items:center;gap:24px}
.availability-other h2{font-size:clamp(28px,3vw,39px);margin:0 0 8px}.availability-other p:last-child{margin:0;color:#38505a}.availability-other .button{flex:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.availability-hero{padding:60px 0}.availability-lead{font-size:17px}.availability-content{padding:35px 0 65px}.calendar-grid{grid-template-columns:1fr}.month{padding:18px 12px}.month table{border-spacing:2px}.month td{height:38px}.month .day{height:37px}.availability-other{padding:28px 22px;display:block}.availability-other .button{margin-top:22px}}

/* Couleurs agenda 2027 */
.month td.available .day {
    background: #d9f2e3;
    color: #0b5c32;
}
.month td.unavailable .day {
    background: #fde1e1;
    color: #a32020;
}
.legend-dot.available {
    background: #39a96b;
    border-color: #227748;
}
.legend-dot.unavailable {
    background: #dc5b5b;
    border-color: #a32020;
}

/* Cases pleines agenda 2027 */
.month td.available {
    background: #25834d;
    border-radius: 5px;
}
.month td.unavailable {
    background: #c93636;
    border-radius: 5px;
}
.month td.available .day,
.month td.unavailable .day {
    background: transparent;
    color: #fff;
    font-weight: 750;
    text-decoration: none;
}
