/* Sección calendario de ferias y fiestas — viajesyturismofacil.com */

/* ---------- Héroe con contador ---------- */
.cal-heroe-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:end}
.contador{background:var(--fondo);color:var(--tinta);border:2px solid var(--tinta);border-radius:20px;padding:20px 22px;box-shadow:8px 8px 0 var(--amarillo)}
.contador p{margin:0}
.ct-rotulo{font-weight:800;font-size:14px;color:var(--tema)}
.ct-nombre{font-family:var(--display);font-weight:800;font-size:22px;line-height:1.15;margin:4px 0 10px!important}
.ct-nombre a{color:var(--tinta);text-decoration:none}
.ct-nombre a:hover{text-decoration:underline}
.ct-dias{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.ct-num{font-family:var(--display);font-weight:800;font-size:64px;line-height:.9;color:var(--tema)}
.ct-txt{font-weight:700}
.ct-lugar{font-size:14.5px;color:var(--gris);margin-top:8px!important}
@media (max-width:860px){.cal-heroe-grid{grid-template-columns:1fr}.contador{max-width:420px}}
.cal-intro{padding-bottom:10px!important}

/* ---------- Barra fija: año + filtros ---------- */
.cal-barra{position:sticky;top:66px;z-index:40;background:var(--fondo);border-top:1px solid var(--linea);border-bottom:2px solid var(--tinta)}
.cal-barra .wrap{padding-top:10px;padding-bottom:10px}
.indice-anio ol{list-style:none;margin:0;padding:2px 2px 8px;display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity}
.indice-anio li{flex:0 0 auto;scroll-snap-align:start}
.mes-btn{display:grid;grid-template-columns:auto auto;grid-template-areas:"mes cuenta" "anio cuenta" "puntos puntos" "puente puente";align-items:center;gap:0 10px;min-width:84px;padding:8px 10px;border:2px solid var(--tinta);border-radius:14px;text-decoration:none;color:var(--tinta);background:var(--fondo)}
.mes-btn:hover{background:var(--suave);color:var(--tinta)}
.mes-btn.activo{background:var(--tinta);color:#fff}
.mb-mes{grid-area:mes;font-family:var(--display);font-weight:800;font-size:19px;line-height:1;text-transform:capitalize}
.mb-anio{grid-area:anio;font-size:12.5px;font-weight:700;opacity:.75}
.mb-cuenta{grid-area:cuenta;justify-self:end;min-width:28px;height:28px;border-radius:9px;background:var(--amarillo);color:var(--tinta);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px}
.mb-puntos{grid-area:puntos;display:flex;gap:3px;margin-top:6px;min-height:8px}
.mb-puente{grid-area:puente;font-size:11.5px;font-weight:800;margin-top:4px;color:var(--rojo)}
.mes-btn.activo .mb-puente{color:#f5c9b6}
.punto{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--cat)}
.cal-filtros{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:6px}
.leyenda{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.filtro-cat{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--tinta);background:var(--fondo);border-radius:999px;padding:4px 11px;font:inherit;font-size:13.5px;font-weight:800;color:var(--tinta);cursor:pointer}
.filtro-cat[aria-pressed="false"]{opacity:.45;border-style:dashed}
.filtro-cat[aria-pressed="false"] .punto{background:transparent;box-shadow:inset 0 0 0 2px var(--cat)}
.filtro-region{font-size:14px;font-weight:800;display:flex;align-items:center;gap:6px}
.filtro-region select{font:inherit;font-size:14px;font-weight:600;padding:5px 8px;border:2px solid var(--tinta);border-radius:10px;background:var(--fondo);color:var(--tinta)}
.leyenda-fechas{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:13.5px;font-weight:700}
.muestra-festivo{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--rojo);color:#fff;font-size:12px;font-weight:800}
/* sin JavaScript no hay filtros que manejar */
.cal-app:not(.js) .cal-filtros .leyenda button{cursor:default}
.cal-app:not(.js) .filtro-region{display:none}

/* ---------- Paneles por mes ---------- */
.cal-paneles{padding-top:24px;padding-bottom:30px}
.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.cal-nav[hidden]{display:none}
.cal-nav button{min-height:44px;padding:8px 16px;border-radius:12px;border:2px solid var(--tinta);background:var(--amarillo);font:inherit;font-size:15.5px;line-height:1.2;font-weight:800;cursor:pointer;color:var(--tinta)}
.cal-nav button:disabled{opacity:.3;cursor:default}
.cal-actual{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cal-nav button:disabled{visibility:hidden}
.mes-panel{padding:22px 0 30px;border-bottom:2px dashed var(--linea)}
.cal-app.js .mes-panel{display:none;border-bottom:0}
.cal-app.js .mes-panel.activo{display:block}
.mes-cab{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px;margin-bottom:16px}
.mes-cab h2{margin:0}
.mes-resumen{margin:0;font-weight:800;color:var(--tema)}
.mes-cuerpo{display:grid;grid-template-columns:minmax(0,370px) minmax(0,1fr);gap:26px;align-items:start}
.mes-lado{position:sticky;top:290px}
@media (max-width:900px){.mes-cuerpo{grid-template-columns:1fr}.mes-lado{position:static}}

/* ---------- Grilla mensual ---------- */
.grilla{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;background:var(--fondo);border:2px solid var(--tinta);border-radius:18px;padding:10px}
.dsem{text-align:center;font-size:12.5px;font-weight:800;color:var(--gris);padding:2px 0 4px}
.dia{position:relative;aspect-ratio:1/1;border-radius:10px;background:var(--suave);display:flex;flex-direction:column;justify-content:space-between;padding:4px 5px;font:inherit;color:var(--tinta);border:0;text-align:left;min-width:0}
.dia.vacio{background:transparent}
.dia.finde{background:#efe8d2}
.dia .num{font-size:13.5px;font-weight:800;line-height:1.2}
.dia.festivo .num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--rojo);color:#fff;font-size:12px}
button.dia{cursor:pointer}
button.dia:hover{outline:2px solid var(--tinta)}
button.dia.sel{outline:3px solid var(--tinta);background:var(--amarillo)}
.barras{display:flex;flex-direction:column;gap:2px}
.barra{display:block;height:5px;border-radius:3px;background:var(--cat)}
.barra.aprox{background:repeating-linear-gradient(135deg,var(--cat) 0 4px,rgba(255,255,255,.75) 4px 6px)}
.barra.oculto{display:none}
.festivos-mes{list-style:none;margin:12px 0 0;padding:0;font-size:14px}
.festivos-mes li{display:flex;gap:8px;align-items:baseline;padding:4px 0;border-bottom:1px solid var(--linea)}
.festivos-mes time{font-weight:800;color:var(--rojo);white-space:nowrap}
.temporada{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:var(--suave);border-left:6px solid var(--cat);font-size:14px}
.dia-filtro{margin:0 0 12px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-weight:800}
.dia-filtro button{font:inherit;font-size:14px;font-weight:800;border:2px solid var(--tinta);background:var(--fondo);border-radius:10px;padding:4px 10px;cursor:pointer}

/* ---------- Tarjetas de fiesta ---------- */
.mes-lista{display:grid;gap:14px}
.evento{display:grid;grid-template-columns:108px minmax(0,1fr);background:var(--fondo);border:2px solid var(--tinta);border-left:10px solid var(--cat);border-radius:18px;overflow:hidden;scroll-margin-top:260px}
.evento.oculto,.evento.fuera{display:none}
.evento.atenuado{opacity:.35;order:2}
.dia-filtro{order:-1}
.evento.resaltado{box-shadow:0 0 0 4px var(--amarillo)}
.ev-fecha{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;text-align:center;padding:16px 8px;background:var(--suave);border-right:2px dashed var(--linea)}
.ev-dias{font-family:var(--display);font-weight:800;font-size:19px;line-height:1.1}
.ev-anio{font-size:13px;font-weight:700;color:var(--gris)}
.ev-fecha .sello{white-space:normal;margin-top:6px}
.cuerpo-ev{padding:16px 18px}
.cuerpo-ev h3{font-size:21px;margin:0 0 6px}
.cuerpo-ev p{max-width:760px}
.chips-ev{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 10px;padding:0}
.chips-ev li{background:var(--suave);border-radius:8px;padding:3px 10px;font-size:13.5px;font-weight:700}
.chips-ev li[class^="c-"]{background:var(--cat);color:#fff}
.chips-ev li.c-luces{color:var(--tinta)}
.chips-ev li.patrimonio{background:var(--amarillo);color:var(--tinta)}
.cuerpo-ev .cuando{font-size:15px;margin:0 0 6px}
.cuerpo-ev .fuente{font-size:13px;color:var(--gris);margin:0 0 12px}
.acciones{display:flex;flex-wrap:wrap;gap:10px}
.btn-cotizar{background:var(--wa);color:#fff;padding:10px 16px;font-size:15px}
.btn-cotizar:hover{background:#a5380f;color:#fff}
.btn-sec{background:var(--fondo);color:var(--tinta);border:2px solid var(--tinta);padding:9px 15px;font-size:15px}
.btn-sec:hover{background:var(--amarillo);color:var(--tinta)}
.sin-fiestas,.sin-resultados{margin:0;padding:18px;border:2px dashed var(--linea);border-radius:14px;color:var(--gris);font-weight:700}
@media (max-width:560px){
  .evento{grid-template-columns:1fr}
  .ev-fecha{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:10px 14px;border-right:0;border-bottom:2px dashed var(--linea)}
  .ev-fecha .sello{margin:0}
  .dia .num{font-size:12px}
  .grilla{padding:6px;gap:3px}
  .cal-barra{position:static}
  .leyenda{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin-right:-16px;padding-right:16px}
  .filtro-cat{white-space:nowrap}
  .mes-lado{position:static}
}
.cmp.festivos{min-width:520px}
@media (prefers-reduced-motion:no-preference){.evento.resaltado{transition:box-shadow .3s}}
