.valdes-calendar{max-width:1180px;margin:0 auto;padding:72px 20px}
.valdes-calendar__heading{max-width:760px;margin:10px 0 30px;font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-.035em}
.valdes-calendar__scroll{overflow-x:auto;border:1px solid #e5e2dd;border-radius:18px;background:#fff;box-shadow:0 16px 42px rgba(24,24,24,.07);scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.valdes-calendar table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.valdes-calendar th,.valdes-calendar td{height:48px;padding:0;border:0;border-right:1px solid #eeeae5;border-bottom:1px solid #eeeae5;text-align:center}
.valdes-calendar thead th{height:44px;background:#f5f3ef;color:#6b6863;font-size:12px;font-weight:700}
.valdes-calendar thead th:first-child,.valdes-calendar tbody th{position:sticky;left:0;z-index:2;width:210px;padding:0 18px;text-align:left}
.valdes-calendar thead th:first-child{z-index:3;background:#f5f3ef}
.valdes-calendar tbody th{background:#fff;color:#242321;font-size:13px;font-weight:600}
.valdes-calendar td{position:relative;color:transparent;font-size:0}
.valdes-calendar td.is-season::after{content:"";position:absolute;top:50%;left:50%;width:15px;height:15px;border-radius:50%;background:#5fa653;transform:translate(-50%,-50%);box-shadow:0 2px 6px rgba(46,111,51,.18)}
.valdes-calendar tbody tr:hover th,.valdes-calendar tbody tr:hover td{background-color:#faf9f6}
.valdes-calendar__note{display:flex;align-items:flex-start;gap:9px;max-width:780px;margin:18px 0 0;color:#6c6964;font-size:13px;line-height:1.5}
.valdes-calendar__note span{flex:0 0 auto;width:12px;height:12px;margin-top:3px;border-radius:50%;background:#5fa653}
@media(max-width:640px){.valdes-calendar{padding:54px 12px}.valdes-calendar__heading{margin-bottom:22px;font-size:32px}.valdes-calendar table{min-width:830px}.valdes-calendar thead th:first-child,.valdes-calendar tbody th{width:164px;padding:0 12px}.valdes-calendar th,.valdes-calendar td{height:42px}.valdes-calendar__note{padding:0 4px}}
