/* Agenda serrana: entradas de fecha y acentos compartidos con el directorio. */
.eventos-view { padding-bottom: 2rem; }
.eventos-view .ev-hero { margin-top: 1rem; padding: 1.5rem 1rem .25rem; background: var(--bg-secondary); border: 1px solid var(--border); border-radius: 4px 28px 28px 28px; }
.eventos-view .ev-hero::before { left: -1px; top: 1.5rem; }
.eventos-view .ev-hero .label { color: var(--accent); }
.eventos-view .ev-hero h1 { font-size: 32px; }
.eventos-view .ev-rangos { margin-top: 1.25rem; }
.eventos-view .chip, .eventos-view .dir-toolbar select { min-height: 44px; }
.eventos-view .btn, .ev-modal .btn { gap: 0; }
.eventos-view .btn > .lucide, .ev-modal .btn > .lucide { margin-right: .5rem; }
.eventos-view .empty-state .btn, .ev-modal .modal-footer .btn { white-space: normal; max-width: 100%; }
.eventos-view .ev-mes { margin: 1.5rem 0 2rem; }
.eventos-view .ev-mes h2 { font-size: 21px; text-transform: capitalize; }
.eventos-view .ev-grupo-sun { display: inline-block; margin: .25rem 0 .25rem .4rem; padding: .3rem .6rem; border-radius: 4px 10px 10px 10px; font-size: 12px; background: var(--sun); color: var(--sun-text); vertical-align: middle; }
.ev-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.ev-card { position: relative; display: flex; align-items: stretch; min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: 4px 22px 22px 22px; background: var(--surface); color: var(--text-primary); transition: border-color .2s, box-shadow .2s, transform .2s; }
.ev-card:hover { border-color: var(--accent); box-shadow: 0 10px 28px var(--shadow); transform: translateY(-2px); }
.ev-card:focus-visible { outline: 3px solid var(--lake); outline-offset: 3px; }
.ev-card--sun { border-top: 4px solid var(--sun); }
.ev-ticket { position: relative; flex: 0 0 74px; align-self: flex-start; min-height: 100px; margin-right: 1rem; padding: .65rem .5rem; text-align: center; background: var(--accent-soft); border-right: 1px dashed var(--accent); border-radius: 3px 14px 14px 14px; color: var(--accent); }
.ev-ticket strong { display: block; font-size: 36px; line-height: 1.2; font-weight: 700; letter-spacing: -.04em; }
.ev-ticket span { display: block; margin-top: .25rem; font-size: 13px; font-weight: 700; text-transform: uppercase; }
.ev-ticket::before, .ev-ticket::after { content: ''; position: absolute; right: -6px; width: 12px; height: 12px; border-radius: 50%; background: var(--surface); }
.ev-ticket::before { top: -6px; }
.ev-ticket::after { bottom: -6px; }
.ev-card--sun .ev-ticket { background: var(--sun); border-color: var(--sun-text); color: var(--sun-text); }
.ev-card-body { flex: 1; min-width: 0; }
.ev-card h3 { margin: .2rem 1rem .65rem 0; font-size: 18px; line-height: 1.3; overflow-wrap: anywhere; word-wrap: break-word; }
.ev-card p { display: flex; align-items: flex-start; margin: .35rem 0; color: var(--text-secondary); font-size: 14px; overflow-wrap: anywhere; word-wrap: break-word; }
.ev-card p .lucide { width: 17px; height: 17px; margin: .2rem .4rem 0 0; color: var(--lake); }
.ev-card small { display: block; margin-top: .5rem; color: var(--text-secondary); }
.ev-card .ev-card-flecha { position: absolute; top: 1rem; right: .75rem; width: 17px; height: 17px; color: var(--accent); }
.ev-patrocinado { display: inline-flex; align-items: center; padding: .25rem .5rem; background: var(--sun); color: var(--sun-text); font-size: 12px; }
.ev-patrocinado .lucide { width: 14px; height: 14px; margin-right: .3rem; }
.ev-cargando-mas { min-height: 90px; margin: 1rem 0; }
.ev-modal .modal { max-width: 660px; }
.ev-modal .modal-body { min-height: 0; }
.ev-modal .modal-footer { flex-shrink: 0; flex-wrap: wrap; gap: 0; padding: .7rem; }
.ev-modal .modal-footer .btn { margin: .25rem; min-height: 44px; }
.ev-modal .ev-baja { color: var(--danger); }
.ev-detalle-img { width: 100%; height: 180px; object-fit: cover; border-radius: 4px 20px 20px 20px; margin-bottom: 1.25rem; }
.ev-detalle-head { display: flex; align-items: flex-start; margin-bottom: 1rem; }
.ev-detalle-head > div { min-width: 0; }
.ev-detalle-head h2 { margin: .5rem 0; overflow-wrap: anywhere; word-wrap: break-word; }
.ev-descripcion { white-space: pre-wrap; overflow-wrap: anywhere; word-wrap: break-word; }
.ev-modal p, .ev-modal h2, .ev-card h3, .ev-card p, .ev-card small { -webkit-user-select: text; user-select: text; }
.eventos-view .empty-state > .lucide { width: 42px; height: 42px; margin: 0 auto 1rem; color: var(--lake); }
@media (min-width: 700px) {
  .eventos-view .ev-hero { padding: 2rem 1.5rem .5rem; }
  .eventos-view .ev-hero h1 { font-size: 44px; }
  .ev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ev-detalle-img { height: 230px; }
}
@media (max-width: 420px) {
  .ev-card { padding: .85rem; }
  .ev-ticket { flex-basis: 62px; margin-right: .75rem; }
  .ev-ticket strong { font-size: 32px; }
  .ev-modal .modal-footer .btn { flex: 1 1 auto; }
}
@media (max-width: 768px) {
  .ev-modal .modal-footer { padding-bottom: calc(.7rem + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .ev-card { transition: none; }
  .ev-card:hover { transform: none; }
}
