.cal-section{padding:70px 5%;background:#fff}
.cal-wrap{max-width:1100px;margin:0 auto}
.cal-head{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:14px}
.cal-head h3{margin:0;font-size:clamp(26px,5vw,44px);letter-spacing:1px;text-transform:uppercase;color:var(--dark);text-align:center}
.cal-nav{width:40px;height:40px;border-radius:50%;border:1px solid var(--green);background:#fff;color:var(--green);font-size:22px;cursor:pointer}
.cal-nav:hover{background:var(--green);color:#fff}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:2px solid #555;border-radius:6px;overflow:hidden}
.cal-dow{background:#eef4e8;font-weight:700;font-size:13px;text-align:center;padding:10px 2px;text-transform:uppercase;border-bottom:2px solid #555}
.cal-day{min-height:104px;padding:4px 6px;border-right:1px solid #aaa;border-bottom:1px solid #aaa;font-size:13px;overflow-wrap:anywhere}
.cal-day:nth-child(7n){border-right:0}
.cal-day.fuera{background:#f7f7f7}
.cal-day.fuera .cal-num{color:#bbb}
.cal-day.hoy{background:#fff8e1;box-shadow:inset 0 0 0 2px #f2b84b}
.cal-num{font-size:12px;color:#444;display:block;margin-bottom:3px}
.cal-ev{margin-bottom:6px;font-weight:700;line-height:1.25;color:var(--dark)}
.cal-ev small{display:block;font-weight:400;color:#444}
.cal-vacio{text-align:center;color:#68756b;font-size:14px;margin-top:12px}
@media(max-width:720px){
.cal-dow{font-size:10px;padding:6px 0}
.cal-day{min-height:70px;padding:2px 3px;font-size:10px}
.cal-ev small{display:none}
}
