/* saltouruguay.com — AGENDA / WHAT'S ON: lo que se suma a study.css + live.css.
   Generado por herramientas/generar_agenda.py. Cada categoría tiene su color (--c) y las piezas lo heredan. */
.ag{--c-musica:#FF6B9A;--c-teatro:#B79CFF;--c-arte:#4FE3C1;--c-charlas:#5B9BFF;--c-ferias:#FFB020;--c-deporte:#B4F03A;--c-familia:#FF8A3D;--c-turismo:#7CE7FF;--c-otros:#C9D1E4}
.ag .paper{--c-musica:#C2185B;--c-teatro:#5F3BD6;--c-arte:#0B7A69;--c-charlas:#1F55D6;--c-ferias:#9A5A00;--c-deporte:#3F7A00;--c-familia:#B4460A;--c-turismo:#0B6E8C;--c-otros:#4A5066}
.c-musica{--c:var(--c-musica)}.c-teatro{--c:var(--c-teatro)}.c-arte{--c:var(--c-arte)}.c-charlas{--c:var(--c-charlas)}.c-ferias{--c:var(--c-ferias)}.c-deporte{--c:var(--c-deporte)}.c-familia{--c:var(--c-familia)}.c-turismo{--c:var(--c-turismo)}.c-otros{--c:var(--c-otros)}
.b-musica{background:var(--c-musica)}.b-teatro{background:var(--c-teatro)}.b-arte{background:var(--c-arte)}.b-charlas{background:var(--c-charlas)}.b-ferias{background:var(--c-ferias)}.b-deporte{background:var(--c-deporte)}.b-familia{background:var(--c-familia)}.b-turismo{background:var(--c-turismo)}.b-otros{background:var(--c-otros)}
.b-fer{background:#FF6B6B}.b-ferl{background:#C98A3D}.b-sem{background:rgba(255,176,32,.35)}
.ag-tag{display:inline-flex;align-items:center;gap:7px;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c,var(--fg-3))}
.ag-tag i{width:8px;height:8px;border-radius:50%;background:var(--c,var(--fg-3));box-shadow:0 0 0 3px color-mix(in srgb,var(--c,var(--fg-3)) 22%,transparent)}
.ag-conf{display:inline-block;margin-left:6px;padding:2px 6px;border:1px solid var(--acc2-text);border-radius:5px;color:var(--acc2-text);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;vertical-align:2px;white-space:nowrap}
.ag-ics{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.86rem;color:var(--acc-text);text-decoration:none;border-bottom:1px solid transparent}
.ag-ics::before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--acc);color:var(--on-acc);font-size:.8rem;font-weight:700}
.ag-ics:hover{border-bottom-color:currentColor}

/* portada: evento destacado */
.ag .hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.ag-spot-wrap{align-self:center}
.ag-spot-wrap .kicker{margin-bottom:10px}
.ag-spot{position:relative;padding:26px 26px 22px;background:var(--bg-2);border:1px solid var(--ln);border-top:3px solid var(--c,var(--acc));border-radius:16px;box-shadow:0 30px 60px -30px color-mix(in srgb,var(--c,var(--acc)) 55%,transparent)}
.ag-spot-date{display:flex;align-items:baseline;gap:10px;margin-top:12px}
.ag-spot-date b{font-size:clamp(2.6rem,2rem + 2vw,3.6rem);font-weight:500;line-height:1;letter-spacing:-.03em;font-variation-settings:"opsz" 96,"wdth" 88}
.ag-spot-date .mono{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}
.ag-spot h2{margin-top:10px;font-size:clamp(1.3rem,1.1rem + 1vw,1.75rem);line-height:1.2}
.ag-spot h2 a{color:var(--fg);text-decoration:none}
.ag-spot h2 a:hover{color:var(--c,var(--acc))}
.ag-spot-meta{margin-top:6px;font-size:.92rem;color:var(--fg-2)}
.ag-spot-cd{margin-top:14px;font-size:.95rem;color:var(--fg-2)}
.ag-spot-cd b{color:var(--c,var(--acc));font-variant-numeric:tabular-nums;font-weight:600}
.ag-spot .ag-acc{margin-top:14px}
.ag-spot-none{color:var(--fg-2)}
@media (max-width:1023px){.ag .hero-grid{grid-template-columns:1fr}}

/* tira de próximos */
.ag-next{padding-top:clamp(28px,4vw,56px)!important}
.ag-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,290px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 14px;margin-inline:-4px;scrollbar-width:thin}
.ag-card{scroll-snap-align:start;display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--ln);border-top:3px solid var(--c,var(--acc));border-radius:14px;overflow:hidden;transition:transform .2s var(--ease),border-color .2s}
.ag-card:hover{transform:translateY(-3px);border-color:var(--c,var(--acc))}
.ag-img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--bg-3)}
.ag-card-b{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1 1 auto}
.ag-card-when{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.ag-card-date{display:flex;align-items:baseline;gap:8px}
.ag-card-date b{font-size:2.1rem;font-weight:500;line-height:1;letter-spacing:-.03em}
.ag-card-date .mono{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}
.ag-card h3{font-size:1.08rem;line-height:1.25}
.ag-card h3 a{color:var(--fg);text-decoration:none}
.ag-card h3 a:hover{color:var(--c,var(--acc))}
.ag-card-meta{font-size:.86rem;color:var(--fg-2)}
.ag-card .ag-acc{margin-top:auto;padding-top:10px}

/* grilla del mes (tinta) */
.cal-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.cal-nav{display:flex;gap:8px}
.cal-nav .btn-ghost{min-height:38px;padding:0 14px;font-size:.86rem;border-radius:8px}
.cal-nav .btn-ghost:disabled{opacity:.35;cursor:default}
.cal-dow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);padding:0 0 8px}
.cal-dow div{padding-left:8px}
.cal-wk{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative;gap:4px;margin-bottom:4px}
.cal-day{position:relative;min-width:0;min-height:104px;padding:6px 6px 8px;background:var(--bg-2);border:1px solid var(--ln);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s}
.cal-day:hover{border-color:var(--ln-2);background:var(--bg-3)}
.cal-day.other{opacity:.38}
.cal-day.today{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
.cal-day.sel{background:var(--bg-3);border-color:var(--fg)}
.cal-day.fer .cal-n{color:#FF6B6B}
.cal-n{position:absolute;top:6px;left:8px;font-family:var(--mono);font-size:.78rem;color:var(--fg-2)}
.cal-day.today .cal-n{color:var(--acc);font-weight:600}
.cal-fer{position:absolute;top:6px;right:6px;max-width:60%;font-family:var(--mono);font-size:.55rem;letter-spacing:.06em;text-transform:uppercase;color:#FF6B6B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-fer.l{color:#C98A3D}
.cal-bar{position:absolute;height:16px;line-height:16px;padding:0 6px;border-radius:4px;font-size:.62rem;color:#0B0E17;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}
.cal-bar.sem{background:var(--acc2);color:#0B0E17}
.cal-chips{display:flex;flex-direction:column;gap:3px}
.cal-chip{font-size:.66rem;line-height:1.3;padding:3px 6px;border-radius:5px;background:color-mix(in srgb,var(--c,var(--fg-3)) 18%,transparent);color:var(--fg);border-left:2px solid var(--c,var(--fg-3));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-chip .h{font-family:var(--mono);color:var(--fg-3);margin-right:4px}
.cal-more{font-family:var(--mono);font-size:.6rem;color:var(--fg-3);padding-left:4px}
.cal-dots{display:none;gap:3px;margin-top:4px}
.cal-dot{width:6px;height:6px;border-radius:50%}
.cal-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3)}
.cal-legend i{display:inline-block;width:12px;height:8px;border-radius:2px;margin-right:6px;vertical-align:0}
.cal-panel{margin-top:16px;padding:20px 22px;background:var(--bg-2);border:1px solid var(--ln);border-radius:14px}
.cal-panel .fer-line{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#FF6B6B;margin:6px 0 10px}
.cal-panel .ev{padding:12px 0;border-top:1px solid var(--ln)}
.cal-panel .ev b{display:block;margin-top:4px;font-weight:600;font-size:1.02rem}
.cal-panel .ev b a{color:var(--fg);text-decoration:none}
.cal-panel .ev .meta{display:block;margin-top:3px;font-size:.86rem;color:var(--fg-2)}
.cal-panel .ev .acc{display:block;margin-top:8px;font-size:.86rem;color:var(--fg-2)}
.cal-panel .ev .acc a{color:var(--acc-text)}
.cal-empty{color:var(--fg-2);font-size:.92rem}
@media (max-width:760px){
  .cal-day{min-height:64px;padding:26px 4px 6px!important}
  .cal-chips,.cal-bar,.cal-fer{display:none}
  .cal-dots{display:flex;flex-wrap:wrap}
  .cal-n{left:6px}
}

/* lista completa (papel) */
.ag-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:14px}
.ag-tools .chips{gap:8px}
.ag-chip .chip-dot{width:8px;height:8px;border-radius:50%;background:var(--c,var(--fg-3))}
.ag-chip[aria-pressed="true"]{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.ag-chip[aria-pressed="true"] .chip-dot{background:var(--bg)}
.ag-n{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}
.ag-aviso{padding:12px 14px;border-left:3px solid var(--acc2);background:var(--acc2-soft);border-radius:0 8px 8px 0;font-size:.86rem;line-height:1.55;color:var(--fg);margin-bottom:10px}
.ag-mes-h{display:flex;align-items:baseline;gap:12px;margin:34px 0 6px;padding-bottom:10px;border-bottom:1px solid var(--fg);font-size:var(--fs-h3)}
.ag-mes-h .mono{font-size:.7rem;letter-spacing:.14em;color:var(--fg-3)}
.ag-ev{display:grid;grid-template-columns:84px minmax(0,1fr);gap:18px;padding:18px 0;border-bottom:1px solid var(--ln)}
.ag-fecha{display:flex;flex-direction:column;align-items:flex-start;padding-left:12px;border-left:3px solid var(--c,var(--fg-3))}
.ag-dia{font-size:2.2rem;font-weight:500;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.ag-mes{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-top:4px}
.ag-when{margin-top:8px;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--acc-text);white-space:nowrap}
.ag-when.is-now{color:var(--acc2-text)}
.ag-cuerpo{min-width:0}
.ag-cuerpo h3{margin-top:6px;font-size:1.15rem;line-height:1.25}
.ag-cuerpo h3 a{color:var(--fg);text-decoration:none}
.ag-cuerpo h3 a:hover{color:var(--c,var(--acc-text))}
.ag-meta{margin-top:5px;font-size:.88rem;color:var(--fg-2)}
.ag-txt{margin-top:6px;font-size:.9rem;line-height:1.55;color:var(--fg-2)}
.ag-acc{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:10px;font-size:.84rem;color:var(--fg-3)}
.ag-src a{color:var(--acc-text)}
.ag-vacio,.ag-datos{margin-top:22px;font-size:.86rem;color:var(--fg-3)}
.ag-datos a{color:var(--acc-text)}
@media (max-width:600px){.ag-ev{grid-template-columns:64px minmax(0,1fr);gap:12px}.ag-dia{font-size:1.8rem}.ag-strip{grid-auto-columns:minmax(230px,80vw)}}
.ag .cta-a{gap:8px}
