/* LC Public UI Events 0.2.0. Shared HTML: eventos-public-view 0.3.1. Opt-in only. */
.lc-public-ui.eventos-public {
  container: lc-public-events / inline-size;
  max-width: none;
  min-width: 0;
}
.lc-public-ui.eventos-public :is(h1,h2,h3,h4,h5,p,dl,dt,dd,figure) {
  margin: 0; padding: 0; font-family: inherit; color: inherit; overflow-wrap: anywhere;
}
.lc-public-ui.eventos-public :is(h1,h2,h3,h4,h5) { line-height: 1.25; font-weight: 700; }
.lc-public-ui.eventos-public :is(p,dl) { line-height: 1.55; }
.lc-public-ui.eventos-public :is(img,video,iframe) { max-width: 100%; }
.lc-public-ui.eventos-public a { color: var(--lc-public-color-primary); text-underline-offset: .2em; overflow-wrap: anywhere; }
.lc-public-ui.eventos-public a:where(:not(.lc-public-button, .turismo33-event-card__link, .turismo33-event-action)):hover { color: var(--lc-public-color-primary-hover); text-decoration: underline; }
.lc-public-ui.eventos-public :is(a,button,select,summary):focus-visible {
  outline: 3px solid var(--lc-public-color-focus); outline-offset: 3px;
  box-shadow: 0 0 0 3px var(--lc-public-color-surface);
}
.lc-public-ui.eventos-public :is(.lc-public-button, .turismo33-event-card__link, .turismo33-event-action):is(:link, :visited, :hover, :active, :focus, :focus-visible, [aria-current], [aria-pressed]) { text-decoration: none; }
/* Agenda: preserve forms, navigation and aria-current supplied by the consumer. */
.lc-public-ui.eventos-public .lc-public-header { margin-block-end: calc(var(--lc-public-space) * 1.5); }
.lc-public-ui.eventos-public .lc-public-title { font-size: clamp(1.75rem, 3cqi, 2.5rem); }
.lc-public-ui.eventos-public .lc-public-actions { display: flex; flex-wrap: wrap; flex-direction: row; align-items: center; gap: .65rem; }
.lc-public-ui.eventos-public .lc-public-button { flex: 0 1 auto; width: auto; }
.lc-public-ui.eventos-public .lc-public-button[aria-current="page"] {
  background: var(--lc-public-color-primary); color: var(--lc-public-color-surface);
}
.lc-public-ui.eventos-public .eventos-public-filter {
  display: flex; flex-wrap: wrap; align-items: center; gap: .75rem;
  margin-block: var(--lc-public-space); padding: var(--lc-public-space);
  background: var(--lc-public-color-surface-secondary); border-radius: var(--lc-public-radius);
}
.lc-public-ui.eventos-public .lc-public-select { width: min(100%, 22rem); flex: 1 1 14rem; min-height: 44px; }
.lc-public-ui.eventos-public .eventos-public-filter button { background: var(--lc-public-color-primary); color: var(--lc-public-color-surface); }
.lc-public-ui.eventos-public .eventos-public-filter button:hover { background: var(--lc-public-color-primary-hover); }
.lc-public-ui.eventos-public .eventos-public-pagination { justify-content: center; margin-block: calc(var(--lc-public-space) * 1.5); }
.lc-public-ui.eventos-public :is(.lc-public-empty,.eventos-public-message,[role="alert"]) {
  padding: var(--lc-public-space); margin-block: var(--lc-public-space);
  background: var(--lc-public-color-surface-secondary); border-inline-start: .25rem solid var(--lc-public-color-border);
}
.lc-public-ui.eventos-public [role="alert"] { color: var(--lc-public-color-error); border-color: currentColor; }
/* Fluid capped tracks: a lone card does not fill a wide screen. */
.lc-public-ui.eventos-public .eventos-public-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17.5rem), 22.5rem));
  justify-content: start; gap: calc(var(--lc-public-space) * 1.5); margin-block: calc(var(--lc-public-space) * 1.5);
}
.lc-public-ui.eventos-public .turismo33-event-card {
  display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0;
  border: 1px solid var(--lc-public-color-border); border-radius: var(--lc-public-radius);
  background: var(--lc-public-color-surface);
}
.lc-public-ui.eventos-public :is(.turismo33-event-card__image,.turismo33-event-card__fallback) {
  display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain;
  flex: none; background: var(--lc-public-color-surface-secondary);
  border-radius: var(--lc-public-radius) var(--lc-public-radius) 0 0;
}
.lc-public-ui.eventos-public .turismo33-event-card__body { display: flex; flex: 1; flex-direction: column; gap: .65rem; min-width: 0; padding: calc(var(--lc-public-space) * 1.25); }
.lc-public-ui.eventos-public .turismo33-event-card h2 { font-size: 1.35rem; }
.lc-public-ui.eventos-public :is(.turismo33-event-card__date,.turismo33-event-detail__date) { color: var(--lc-public-color-primary); font-size: 1.05rem; font-weight: 700; }
.lc-public-ui.eventos-public .turismo33-event-card__summary { font-size: 1rem; }
.lc-public-ui.eventos-public .turismo33-event-card__meta { color: var(--lc-public-color-muted); font-size: .925rem; margin-block-end: auto; }
.lc-public-ui.eventos-public .turismo33-event-card__meta p + p { margin-block-start: .25rem; }
.lc-public-ui.eventos-public .turismo33-event-card__access { display: grid; gap: .25rem; margin-block-start: .25rem; }
.lc-public-ui.eventos-public .turismo33-event-entry-meta { color: var(--lc-public-color-primary); font-weight: 700; }
.lc-public-ui.eventos-public .turismo33-event-states { display: flex; flex-wrap: wrap; gap: .4rem; }
.lc-public-ui.eventos-public .turismo33-event-state {
  display: inline-block; width: fit-content; padding: .15rem .5rem; border: 1px solid currentColor;
  border-radius: var(--lc-public-radius); color: var(--lc-public-color-primary);
  background: var(--lc-public-color-surface-secondary); font-size: .875rem; font-weight: 700;
}
.lc-public-ui.eventos-public .turismo33-event-state--cancelled { color: var(--lc-public-color-error); }
.lc-public-ui.eventos-public :is(.turismo33-event-action,.turismo33-event-card__link) {
  display: inline-flex; align-items: center; justify-content: center; align-self: start;
  min-height: 44px; max-width: 100%; margin: 0; padding: .6rem 1rem;
  border: 2px solid var(--lc-public-color-primary); border-radius: var(--lc-public-radius);
  background: var(--lc-public-color-surface); color: var(--lc-public-color-primary);
  font: inherit; font-weight: 700; line-height: 1.5; text-align: center; text-decoration: none; white-space: normal;
}
.lc-public-ui.eventos-public .turismo33-event-card__registration {
  background: var(--lc-public-color-primary); color: var(--lc-public-color-surface);
}
.lc-public-ui.eventos-public .turismo33-event-card__registration:hover { background: var(--lc-public-color-primary-hover); color: var(--lc-public-color-surface); }
/* Editorial detail: bounded poster, readable measure, sections without card chrome. */
.lc-public-ui.eventos-public .turismo33-event-detail { max-width: var(--lc-public-content-width); min-width: 0; margin-inline: auto; }
.lc-public-ui.eventos-public .turismo33-event-detail__back { display: inline-flex; align-items: center; min-height: 44px; margin-block-end: var(--lc-public-space); font-weight: 700; }
.lc-public-ui.eventos-public .turismo33-event-detail__header { display: grid; gap: calc(var(--lc-public-space) * 1.5); }
.lc-public-ui.eventos-public .turismo33-event-detail__hero {
  display: block; width: 100%; height: auto; aspect-ratio: 16 / 7; max-height: min(26rem, 50vh);
  object-fit: contain; background: var(--lc-public-color-surface-secondary); border-radius: var(--lc-public-radius);
}
.lc-public-ui.eventos-public .turismo33-event-detail__intro { display: grid; justify-items: start; gap: .8rem; max-width: 65ch; }
.lc-public-ui.eventos-public .turismo33-event-detail h1 { font-size: clamp(1.85rem, 4cqi, 3rem); text-wrap: balance; }
.lc-public-ui.eventos-public .turismo33-event-detail__summary { font-size: 1.15rem; }
.lc-public-ui.eventos-public .turismo33-event-detail section { margin-block: calc(var(--lc-public-space) * 2); }
.lc-public-ui.eventos-public .turismo33-event-detail section > h2 { font-size: 1.5rem; margin-block-end: .8rem; }
.lc-public-ui.eventos-public .turismo33-event-detail section > p + p { margin-block-start: .65rem; }
.lc-public-ui.eventos-public .turismo33-event-detail__access { border-inline-start: .25rem solid var(--lc-public-color-primary); padding-inline-start: var(--lc-public-space); }
/* Editorial access from eventos-public-view 0.5.0; retain the section heading hierarchy. */
.lc-public-ui.eventos-public section.turismo33-event-detail__access > h2 { margin-block-end: calc(var(--lc-public-space) * .75); }
.lc-public-ui.eventos-public section.turismo33-event-detail__access > p.turismo33-event-detail__access-cost > strong {
  color: var(--lc-public-color-primary); font-size: 1.25rem; font-weight: 700; line-height: 1.3;
}
.lc-public-ui.eventos-public section.turismo33-event-detail__access > p + p { margin-block-start: calc(var(--lc-public-space) * .75); }
.lc-public-ui.eventos-public .turismo33-event-detail__access > .turismo33-event-actions { margin-block-start: var(--lc-public-space); }
.lc-public-ui.eventos-public .turismo33-event-occurrences { display: grid; gap: .75rem; }
.lc-public-ui.eventos-public .turismo33-event-occurrence {
  padding: var(--lc-public-space); border-radius: var(--lc-public-radius);
  background: var(--lc-public-color-surface-secondary);
}
.lc-public-ui.eventos-public .turismo33-event-occurrence__heading { display: flex; flex-wrap: wrap; gap: .5rem; font-weight: 700; }
.lc-public-ui.eventos-public .turismo33-event-occurrence__heading strong { color: var(--lc-public-color-error); }
.lc-public-ui.eventos-public .turismo33-event-occurrence__meta p { margin-block-start: .25rem; }
.lc-public-ui.eventos-public .turismo33-event-occurrence__attributes { display: grid; gap: .25rem; margin-block: .5rem; }
.lc-public-ui.eventos-public .turismo33-event-occurrence__attributes > div { display: flex; flex-wrap: wrap; gap: .25rem .65rem; }
.lc-public-ui.eventos-public .turismo33-event-occurrence__attributes dt { font-weight: 700; }
.lc-public-ui.eventos-public .turismo33-event-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-block-start: .65rem; }
.lc-public-ui.eventos-public .turismo33-event-actions:empty { margin: 0; }
/* Native chronological schedule, including the original nested lists. */
.lc-public-ui.eventos-public .turismo33-event-schedule__title { font-size: 1.25rem; margin-block-end: .5rem; color: var(--lc-public-color-primary); }
.lc-public-ui.eventos-public .turismo33-event-schedule__intro { max-width: 65ch; }
.lc-public-ui.eventos-public .turismo33-event-detail .turismo33-event-schedule__day { margin-block: calc(var(--lc-public-space) * 1.5); }
.lc-public-ui.eventos-public .turismo33-event-schedule__day-heading {
  padding: .65rem .85rem; font-size: 1.2rem; background: var(--lc-public-color-surface-secondary);
  border-inline-start: .3rem solid var(--lc-public-color-primary);
}
.lc-public-ui.eventos-public :is(.turismo33-event-schedule__items,.turismo33-event-schedule__subitems) { list-style: none; padding: 0; margin: 0; }
.lc-public-ui.eventos-public :is(.turismo33-event-schedule__item,.turismo33-event-schedule__subitems > li) { list-style: none; padding: 0; margin: 0; }
.lc-public-ui.eventos-public :is(.turismo33-event-schedule__item,.turismo33-event-schedule__subitems > li)::marker { content: ""; }
.lc-public-ui.eventos-public .turismo33-event-schedule__item { border-block-end: 1px solid var(--lc-public-color-border); }
.lc-public-ui.eventos-public .turismo33-event-schedule__item--cancelled { border-inline-start: .25rem solid var(--lc-public-color-error); }
.lc-public-ui.eventos-public :is(.turismo33-event-schedule__row,.turismo33-event-schedule__subitem) {
  display: grid; grid-template-columns: 7.25rem minmax(0, 1fr); gap: var(--lc-public-space); padding: .8rem .75rem;
}
.lc-public-ui.eventos-public .turismo33-event-schedule__time { display: flex; flex-direction: column; color: var(--lc-public-color-primary); font-weight: 700; line-height: 1.3; font-variant-numeric: tabular-nums; }
.lc-public-ui.eventos-public .turismo33-event-schedule__time small { color: var(--lc-public-color-muted); font-size: .8rem; font-weight: 400; margin-block-start: .15rem; }
.lc-public-ui.eventos-public .turismo33-event-schedule__content { min-width: 0; }
.lc-public-ui.eventos-public .turismo33-event-schedule__content :is(h4,h5) { font-size: 1.05rem; }
.lc-public-ui.eventos-public :is(.turismo33-event-schedule__place,.turismo33-event-schedule__range) { color: var(--lc-public-color-muted); font-size: .925rem; margin-block-start: .2rem; }
.lc-public-ui.eventos-public .turismo33-event-schedule details > summary { position: relative; list-style: none; cursor: pointer; min-height: 44px; }
.lc-public-ui.eventos-public .turismo33-event-schedule summary::-webkit-details-marker { display: none; }
.lc-public-ui.eventos-public .turismo33-event-schedule summary::marker { content: ""; }
.lc-public-ui.eventos-public .turismo33-event-schedule summary .turismo33-event-schedule__row { padding-inline-end: 3.5rem; }
.lc-public-ui.eventos-public .turismo33-event-schedule summary::after {
  content: "›"; position: absolute; inset-inline-end: .65rem; top: .75rem;
  display: grid; place-items: center; width: 1.75rem; height: 1.75rem;
  border: 1px solid var(--lc-public-color-primary); border-radius: 50%; color: var(--lc-public-color-primary);
  font-size: 1.25rem; line-height: 1; transform: rotate(90deg);
}
.lc-public-ui.eventos-public .turismo33-event-schedule details[open] > summary::after { transform: rotate(-90deg); }
.lc-public-ui.eventos-public .turismo33-event-schedule summary:hover { background: var(--lc-public-color-surface-secondary); }
.lc-public-ui.eventos-public .turismo33-event-schedule__details { margin: 0 .75rem .75rem 9rem; font-size: .95rem; overflow-wrap: anywhere; }
.lc-public-ui.eventos-public .turismo33-event-schedule__details p + p { margin-block-start: .4rem; }
.lc-public-ui.eventos-public .turismo33-event-schedule__subitems { margin: 0 .75rem .65rem 9rem; border-inline-start: 2px solid var(--lc-public-color-border); }
.lc-public-ui.eventos-public .turismo33-event-schedule__subitems > li + li { border-block-start: 1px solid var(--lc-public-color-border); }
.lc-public-ui.eventos-public .turismo33-event-schedule__subitem { grid-template-columns: 5.5rem minmax(0, 1fr); padding: .55rem .75rem; }
.lc-public-ui.eventos-public .turismo33-event-schedule__description { margin-block-start: .35rem; font-size: .925rem; }
@container lc-public-events (min-width: 38.01rem) and (max-width: 46.5rem) {
  .lc-public-ui.eventos-public .eventos-public-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 17.5rem), 1fr)); }
}
@container lc-public-events (max-width: 38rem) {
  .lc-public-ui.eventos-public .eventos-public-filter { align-items: stretch; flex-direction: column; }
  .lc-public-ui.eventos-public .lc-public-select { flex: none; width: 100%; }
  .lc-public-ui.eventos-public .eventos-public-grid { grid-template-columns: minmax(0, 1fr); }
  .lc-public-ui.eventos-public .turismo33-event-card { max-width: 22.5rem; width: 100%; }
  .lc-public-ui.eventos-public :is(.turismo33-event-schedule__row,.turismo33-event-schedule__subitem) { grid-template-columns: minmax(0, 1fr); gap: .35rem; }
  .lc-public-ui.eventos-public .turismo33-event-schedule__time { flex-flow: row wrap; align-items: baseline; gap: .4rem; }
  .lc-public-ui.eventos-public .turismo33-event-schedule__time small { margin: 0; }
  .lc-public-ui.eventos-public .turismo33-event-schedule__details { margin-inline: .75rem; }
  .lc-public-ui.eventos-public .turismo33-event-schedule__subitems { margin-inline: .75rem; }
  .lc-public-ui.eventos-public .turismo33-event-actions { align-items: stretch; flex-direction: column; }
  .lc-public-ui.eventos-public .turismo33-event-action { align-self: stretch; }
}
@media print {
  .lc-public-ui.eventos-public { padding: 0; }
  .lc-public-ui.eventos-public .turismo33-event-detail__hero { max-height: 5cm; aspect-ratio: 16 / 5; }
  .lc-public-ui.eventos-public :is(.turismo33-event-card__image,.turismo33-event-card__fallback) { max-height: 3cm; }
  .lc-public-ui.eventos-public :is(.turismo33-event-schedule__row,.turismo33-event-schedule__subitem,.turismo33-event-occurrence) { break-inside: avoid; }
  .lc-public-ui.eventos-public .turismo33-event-schedule__day-heading { break-after: avoid; background: none; }
  .lc-public-ui.eventos-public :is(.turismo33-event-state,.turismo33-event-detail__hero,.turismo33-event-card__fallback) { background: none; }
}
