.cal-section{padding-block:var(--section-gap)}.cal-pick{margin-bottom:24px}.cal-pick-title{letter-spacing:1.6px;text-transform:uppercase;color:var(--text-muted);margin:0 0 10px;font-size:11px;font-weight:800}.cal-pick-title:not(:first-child){margin-top:18px}.cal-filters{flex-wrap:wrap;gap:8px;display:flex}.cal-chip{font-family:var(--font);color:var(--text-primary);background:var(--canvas);border:1px solid var(--surface-active);cursor:pointer;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background .15s,color .15s,border-color .15s,transform .15s;display:inline-flex;position:relative;overflow:hidden}.cal-chip:hover{border-color:var(--text-muted);transform:translateY(-1px)}.cal-chip-icon{font-size:17px;line-height:1}.cal-chip-bar{border-radius:0;height:3px;position:absolute;bottom:0;left:0;right:0}.cal-chip.is-on{background:var(--text-primary);border-color:var(--text-primary);color:#fff}.cal-chip--all{font-weight:800}.cal-seasons{flex-wrap:wrap;gap:10px;display:flex}.cal-season{text-align:left;font-family:var(--font);cursor:pointer;background:#fffaf0;border:1px solid #f1dfb2;border-radius:14px;align-items:center;gap:12px;padding:10px 16px 10px 12px;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.cal-season:hover{border-color:#e2bf62;transform:translateY(-1px)}.cal-season.is-on{background:var(--primary);border-color:var(--primary)}.cal-season-emoji{font-size:26px;line-height:1}.cal-season strong{color:var(--text-primary);font-size:14px;display:block}.cal-season small{color:var(--text-muted);font-size:11px;font-weight:600;display:block}.cal-layout{grid-template-columns:1fr 380px;align-items:start;gap:28px;display:grid}.cal-box{background:var(--canvas);border:1px solid var(--surface-active);border-radius:16px;overflow:hidden}.cal-header{border-bottom:1px solid var(--surface-active);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.cal-month-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary);font-size:16px;font-weight:800}.cal-nav{border:1px solid var(--surface-active);cursor:pointer;width:34px;height:34px;color:var(--text-muted);background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:22px;line-height:1;transition:color .15s,border-color .15s;display:flex}.cal-nav:hover{color:var(--brand-dark);border-color:var(--brand-dark)}.cal-weekdays{background:var(--surface-light);border-bottom:1px solid var(--surface-active);grid-template-columns:repeat(7,1fr);display:grid}.cal-weekdays span{text-align:center;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);padding:8px 0;font-size:10px;font-weight:700}.cal-grid{background:var(--surface-active);grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-cell{background:var(--canvas);flex-direction:column;gap:4px;min-height:76px;padding:6px;display:flex;position:relative}.cal-cell--empty{background:var(--surface-light)}.cal-cell--events{cursor:pointer}.cal-cell--events:hover{background:#f5faf7}.cal-cell--today .cal-day-num{background:var(--primary);color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.cal-cell--sel,.cal-cell--sel:hover{box-shadow:inset 0 0 0 2px var(--brand-dark);background:#edf6f1}.cal-day-num{color:var(--text-muted);padding-inline:2px;font-size:11px;font-weight:600;line-height:22px}.cal-cell--events .cal-day-num{color:var(--text-primary)}.cal-dots{flex-wrap:wrap;gap:3px;padding-inline:2px;display:flex}.cal-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.cal-count{color:var(--text-muted);background:var(--surface-light);border-radius:9999px;padding:1px 6px;font-size:9px;font-weight:800;position:absolute;top:6px;right:6px}.cal-updated{color:var(--text-muted);border-top:1px solid var(--surface-active);background:var(--surface-light);margin:0;padding:12px 18px;font-size:11px;line-height:1.5}.cal-dot--festival,.event-bar--festival{background:#f4c01c}.cal-dot--musica,.event-bar--musica{background:#7c5cbf}.cal-dot--bares,.event-bar--bares{background:#c8453a}.cal-dot--deporte,.event-bar--deporte{background:#2a7ab0}.cal-dot--naturaleza,.event-bar--naturaleza{background:#5a9a3c}.cal-dot--cultura,.event-bar--cultura{background:#266040}.cal-dot--mercado,.event-bar--mercado{background:#e07b2a}.events-panel{background:var(--canvas);border:1px solid var(--surface-active);border-radius:16px;position:sticky;top:96px;overflow:hidden}.events-panel-head{border-bottom:1px solid var(--surface-active);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.events-panel-title{text-transform:uppercase;letter-spacing:2px;color:var(--text-primary);font-size:11px;font-weight:700}.events-clear{font-family:var(--font);letter-spacing:1px;color:var(--brand-dark);cursor:pointer;text-transform:uppercase;background:0 0;border:none;padding:0;font-size:11px;font-weight:700}.events-clear:hover{text-decoration:underline}.events-list{max-height:70vh;overflow-y:auto}.events-list ul{margin:0;padding:0;list-style:none}.events-empty{color:var(--text-muted);text-align:center;padding:24px 20px;font-size:14px}.events-group-title{z-index:1;background:var(--surface-light);border-bottom:1px solid var(--surface-active);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-primary);align-items:center;gap:8px;margin:0;padding:10px 16px;font-size:11px;font-weight:800;display:flex;position:sticky;top:0}.events-group-count{color:var(--text-muted);background:var(--canvas);border:1px solid var(--surface-active);letter-spacing:0;border-radius:9999px;margin-left:auto;padding:1px 8px;font-size:10px;font-weight:700}.events-sub{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);padding:8px 16px 4px 20px;font-size:10px;font-weight:800}.events-more{border:none;border-bottom:1px solid var(--surface-active);background:var(--canvas);width:100%;font-family:var(--font);color:var(--brand-dark);cursor:pointer;text-align:left;padding:11px 16px;font-size:12px;font-weight:700;display:block}.events-more:hover{background:var(--surface-light)}.event-item{border-bottom:1px solid var(--surface-active);display:flex}.event-bar{flex-shrink:0;width:4px}.event-body{flex-direction:column;gap:3px;min-width:0;padding:13px 16px;display:flex}.event-name{color:var(--text-primary);font-size:13px;font-weight:700}.event-date{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.event-tbc{color:#8a5a00;background:#fff4d6;border-radius:4px;align-self:flex-start;padding:1px 6px;font-size:10px;font-weight:700}.event-desc{color:var(--text-body);margin:2px 0 0;font-size:12px;line-height:1.5}.event-loc{color:var(--text-muted);margin-top:2px;font-size:11px}.event-src{color:var(--brand-dark);word-break:break-all;align-self:flex-start;margin-top:2px;font-size:11px;font-weight:600;text-decoration:underline}@media (width<=900px){.cal-layout{grid-template-columns:1fr}.events-panel{position:static}.events-list{max-height:none}}@media (width<=480px){.cal-cell{min-height:50px;padding:4px}.cal-count{display:none}.cal-weekdays span{letter-spacing:0;font-size:8px}.cal-chip{padding:8px 11px;font-size:12px}.cal-season{flex:100%}}
