/* Agenda styles: independent of the legacy Tailwind build. */
.wo-events-preview { width: 100%; color: #2b2b2b; }
.wo-events-preview__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: 2rem; }
.wo-events-preview .wo-events-preview__title { margin: 0; font-family: "Plus Jakarta Sans", sans-serif; font-size: 1.5rem; font-weight: 700; }
.wo-events-preview__agenda, .wo-event-card__link { display: inline-flex; align-items: center; gap: .5rem; color: #8b5e3c; font-size: .875rem; font-weight: 600; text-decoration: none; }
.wo-events-preview__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.wo-event-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: 1rem; padding: 1.5rem; background: #fff; border: 1px solid #efe9e2; border-radius: 1rem; box-shadow: 0 12px 20px -16px rgba(43,43,43,.2); overflow-wrap: anywhere; }
.wo-event-card__date { color: #8b5e3c; font-size: .875rem; font-weight: 600; }
.wo-event-card__format { display: inline-block; border-radius: 2rem; padding: .25rem .75rem; background: #f6efe8; color: #8b5e3c; font-size: .75rem; }
.wo-event-card .wo-event-card__title { margin: 0; font-family: "Plus Jakarta Sans", sans-serif; font-size: 1rem; line-height: 1.5; font-weight: 600; }
.wo-event-card__title a { color: inherit; text-decoration: none; }
.wo-event-card .wo-event-card__meta { margin: 0; color: #6b5b52; font-size: .875rem; }
.wo-event-card__link { margin-top: auto; padding-top: .5rem; }
.wo-events-preview a:hover, .wo-events-preview a:focus-visible { color: #a6734d; text-decoration: underline; }
.wo-events-preview .wo-events-preview__message { margin: 0; padding: 1.25rem; border-radius: .75rem; border: 1px solid #efe9e2; background: #faf7f4; color: #6b5b52; }
.wo-events-preview .wo-events-preview__error { border-color: #f1d4d4; background: #fff6f6; color: #8b3d3d; }
@media (min-width: 768px) { .wo-events-preview__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .wo-events-preview__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Full agenda: component only; page heading and footer remain managed by Elementor. */
.wo-events-list { color: #2b2b2b; width: 100%; }
.wo-events-list .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.wo-events-list__search svg { flex: 0 0 auto; }
.wo-events-list__toggle { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
.wo-events-list [hidden] { display: none !important; }
.wo-events-list__form { padding-bottom: 1.75rem; border-bottom: 1px solid #eee; }
.wo-events-list__toolbar { display: flex; align-items: stretch; gap: .75rem; }
.wo-events-list .wo-events-list__search { display: flex; align-items: center; gap: .75rem; flex: 1; min-width: 0; padding: .5rem .9rem; border: 1px solid #e8e5e2; border-radius: .5rem; color: #777; }
.wo-events-list .wo-events-list__search input { min-width: 0; width: 100%; padding: .25rem 0; border: 0; background: transparent; color: #2b2b2b; font-size: .875rem; box-shadow: none; }
.wo-events-list button { font-family: inherit; font-size: .875rem; border-radius: .5rem; padding: .65rem 1.1rem; border: 1px solid #a6734d; background: #fff; color: #966e51; cursor: pointer; }
.wo-events-list button:hover, .wo-events-list button:focus-visible { background: #faf7f4; color: #8b5e3c; }
.wo-events-list button:disabled { opacity: .55; cursor: wait; }
.wo-events-list__quick { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.wo-events-list__quick:empty { display: none; }
.wo-events-list .wo-events-list__quick button { border-color: #e8e5e2; border-radius: 2rem; padding: .45rem .9rem; color: #777; font-size: .8125rem; }
.wo-events-list .wo-events-list__quick button[aria-pressed="true"] { background: #966e51; border-color: #966e51; color: #fff; }
.wo-events-list__advanced { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding: 1.25rem; margin-top: 1rem; background: #faf8f6; border-radius: .5rem; border: 1px solid #eee; }
.wo-events-list__advanced label { display: flex; flex-direction: column; gap: .4rem; font-size: .8125rem; }
.wo-events-list__advanced select, .wo-events-list__advanced input { width: 100%; min-width: 0; border: 1px solid #e0d8d0; border-radius: .35rem; padding: .5rem; background: #fff; color: #2b2b2b; font-size: .875rem; }
.wo-events-list__advanced select[multiple] { min-height: 7rem; }
.wo-events-list__actions { display: flex; flex-wrap: wrap; align-items: end; gap: .5rem; }
.wo-events-list__status { color: #777; font-size: .875rem; margin: 1rem 0; }
.wo-events-list__status--ready { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.wo-events-list__status--empty { text-align: center; padding: 5rem 1rem 6rem; }
.wo-events-list__status--empty h3 { font-size: 1.25rem; font-weight: 700; margin: 1rem 0; color: #161616; }
.wo-events-list__status--empty p { max-width: 32rem; margin: 0 auto; line-height: 1.6; }
.wo-events-list__empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 4rem; height: 4rem; border-radius: 50%; background: #e9dfd7; color: #a6734d; font-size: 2rem; }
.wo-events-list__status--error { padding: 1rem; border: 1px solid #f1d4d4; border-radius: .5rem; background: #fff6f6; color: #8b3d3d; }
.wo-events-list__options-status { font-size: .8125rem; color: #8b5e3c; }
.wo-events-list__options-status:empty { display: none; }
.wo-events-list__month { margin-top: 2.25rem; }
.wo-events-list__month-header { display: flex; align-items: center; gap: .6rem; margin-bottom: .75rem; }
.wo-events-list__month-header::after { content: ""; height: 1px; background: #e8e5e2; flex: 1; order: 1; }
.wo-events-list__month-header h2 { font-size: 1.125rem; font-weight: 700; margin: 0; }
.wo-events-list__month-header > span { order: 2; font-size: .6875rem; color: #777; }
.wo-event-card.wo-event-card--horizontal { display: grid; grid-template-columns: 5.25rem minmax(0, 1fr) auto; gap: .4rem 1.1rem; align-items: center; padding: 1rem; border-color: #e8e5e2; border-radius: .5rem; box-shadow: none; margin-bottom: .75rem; }
.wo-event-card--horizontal .wo-event-card__date { grid-column: 1; grid-row: 1 / span 4; padding: .75rem .35rem; border-radius: .4rem; background: #f9f7f5; text-align: center; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.wo-event-card__day { display: block; font-size: 1.65rem; line-height: 1.1; color: #a6734d; }
.wo-event-card__month { display: block; font-size: .625rem; text-transform: uppercase; color: #4a3d33; }
.wo-event-card__weekday, .wo-event-card__end-date { display: block; font-size: .625rem; color: #777; font-weight: 400; }
.wo-event-card--horizontal .wo-event-card__format { grid-column: 2; grid-row: 1; justify-self: start; padding: .15rem .5rem; font-size: .625rem; }
.wo-event-card--horizontal .wo-event-card__title { grid-column: 2; grid-row: 2; font-size: .9375rem; }
.wo-event-card--horizontal .wo-event-card__meta { grid-column: 2; grid-row: 4; font-size: .75rem; }
.wo-event-card--horizontal .wo-event-card__times { grid-column: 2; grid-row: 3; margin: 0; color: #777; font-size: .75rem; }
.wo-event-card--horizontal .wo-event-card__link { grid-column: 3; grid-row: 1 / span 4; margin: 0; padding: .5rem .7rem; border: 1px solid #a6734d; border-radius: .35rem; font-size: .75rem; white-space: nowrap; }
.wo-events-list .wo-events-list__more { display: block; margin: 2rem auto 0; }
.wo-event-detail { max-width: 72rem; margin: 0 auto; padding: 3rem 1.5rem; color: #2b2b2b; }
.wo-event-detail h1 { font-family: "Plus Jakarta Sans", sans-serif; font-size: clamp(1.75rem, 4vw, 2.75rem); line-height: 1.2; }
.wo-event-detail__summary { margin: 2rem 0; line-height: 1.8; }
.wo-event-detail__notice { padding: 1rem; background: #f6efe8; color: #8b5e3c; border: 1px solid #e7ddd3; border-radius: .5rem; }
.wo-event-detail__program { margin: 2rem 0; padding: 1.5rem; border: 1px solid #e8e5e2; border-radius: .75rem; }
.wo-event-detail__program ul { list-style: none; margin: 0; padding: 0; }
.wo-event-detail__program li { display: flex; flex-wrap: wrap; gap: .75rem; padding: .75rem 0; }
@media (max-width: 767px) {
  .wo-events-list__advanced { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: .75rem; }
  .wo-event-card.wo-event-card--horizontal { grid-template-columns: 4.25rem minmax(0, 1fr); gap: .4rem .75rem; padding: .75rem; }
  .wo-event-card--horizontal .wo-event-card__link { grid-column: 2; grid-row: 5; justify-self: start; white-space: normal; }
  .wo-event-card--horizontal .wo-event-card__date { grid-row: 1 / span 5; }
  .wo-events-list__month-header > span { display: none; }
}
@media (max-width: 479px) { .wo-events-list__advanced { grid-template-columns: minmax(0, 1fr); } .wo-events-list button { padding: .6rem .75rem; } }

/* Home reference: all overrides are scoped to the preview, leaving the full agenda untouched. */
.wo-events-preview { box-sizing: border-box; padding: 88px 24px; background: #f9f7f5; color: #171717; }
.wo-events-preview__inner { max-width: 1232px; margin: 0 auto; }
.wo-events-preview .wo-events-preview__header { display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; gap: 24px; margin-bottom: 32px; }
.wo-events-preview__intro { flex: 1 1 auto; min-width: 0; }
.wo-events-preview .wo-events-preview__title { margin: 0; font-family: "Plus Jakarta Sans", sans-serif; font-size: 1.5rem; font-weight: 700; line-height: 2rem; letter-spacing: normal; color: #2b2b2b; }
.wo-events-preview .wo-events-preview__description { max-width: 720px; margin: 8px 0 0; color: #6b5b52; font-size: .875rem; font-weight: 400; line-height: 1.25rem; }
.wo-events-preview__actions { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px; }
.wo-events-preview__actions:empty { display: none; }
.wo-events-preview .wo-events-preview__action { display: inline-flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; min-height: 38px; padding: 8px 20px; border: 1px solid #cdb7a7; border-radius: 8px; font-family: inherit; font-size: .875rem; font-weight: 500; line-height: 1.25rem; text-decoration: none; white-space: nowrap; transition: background-color .2s, color .2s; }
.wo-events-preview .wo-events-preview__agenda { color: #8b5e3c; background: transparent; }
.wo-events-preview .wo-events-preview__submit { color: #fff; border-color: #a6734d; background: #a6734d; }
.wo-events-preview .wo-events-preview__agenda:hover { background: #a6734d; border-color: #a6734d; color: #fff; text-decoration: none; }
.wo-events-preview .wo-events-preview__submit:hover { background: #8b5e3c; border-color: #8b5e3c; color: #fff; text-decoration: none; }
.wo-events-preview .wo-events-preview__action:focus-visible, .wo-events-preview .wo-events-preview__card-title a:focus-visible { outline: 2px solid #966e51 !important; outline-offset: 3px; }
.wo-events-preview .wo-events-preview__grid { column-gap: 24px; row-gap: 48px; }
.wo-events-preview .wo-events-preview__card { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: start; gap: 18px; min-height: 142px; box-sizing: border-box; padding: 20px; border: 1px solid #e1dedb; border-radius: 12px; background: #fff; box-shadow: none; }
.wo-events-preview__date { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 88px; box-sizing: border-box; padding: 10px 4px; border-radius: 10px; background: #f9f7f5; text-align: center; }
.wo-events-preview__date span { display: block; }
.wo-events-preview__date-day { color: #9c7357; font-size: 30px; font-weight: 700; line-height: 1.05; }
.wo-events-preview__date-month { margin-top: 2px; color: #171717; font-size: 12px; font-weight: 600; line-height: 1.35; text-transform: uppercase; }
.wo-events-preview__date-year, .wo-events-preview__date-end { color: #777; font-size: 12px; font-weight: 400; line-height: 1.35; }
.wo-events-preview__date-end { margin-top: 4px; }
.wo-events-preview__card-body { min-width: 0; }
.wo-events-preview__format { display: inline-block; max-width: 100%; box-sizing: border-box; padding: 3px 10px; border-radius: 20px; color: #966e51; background: #f5f1ed; font-size: 12px; line-height: 1.3; }
.wo-events-preview .wo-events-preview__card-title { margin: 10px 0 0; font-family: "Plus Jakarta Sans", sans-serif; font-size: 16px; font-weight: 600; line-height: 1.4; letter-spacing: -.015em; }
.wo-events-preview .wo-events-preview__card-title a { color: #171717; text-decoration: none; }
.wo-events-preview .wo-events-preview__card-title a:hover { color: #966e51; text-decoration: underline; }
.wo-events-preview .wo-events-preview__venue { display: flex; align-items: flex-start; gap: 6px; margin: 8px 0 0; color: #777; font-size: 13px; line-height: 1.4; }
.wo-events-preview__venue svg { flex: 0 0 auto; margin-top: 2px; }
.wo-events-preview .wo-events-preview__message { padding: 18px 20px; border-color: #e7ddd3; border-radius: 10px; background: rgba(255,255,255,.65); color: #777; font-size: 14px; line-height: 1.5; }
.wo-events-preview .wo-events-preview__error { color: #8b3d3d; border-color: #f1d4d4; background: #fff6f6; }
@media (max-width: 1199px) { .wo-events-preview .wo-events-preview__header { gap: 24px; } .wo-events-preview__intro { flex-basis: auto; } .wo-events-preview__actions { gap: 8px; } .wo-events-preview .wo-events-preview__card { grid-template-columns: 60px minmax(0,1fr); gap: 12px; padding: 16px; } }
@media (max-width: 1023px) { .wo-events-preview { padding: 56px 24px; } .wo-events-preview .wo-events-preview__header { align-items: flex-start; flex-direction: column; gap: 24px; margin-bottom: 32px; } .wo-events-preview__actions { margin-left: 0; justify-content: flex-start; } .wo-events-preview .wo-events-preview__grid { row-gap: 24px; } }
@media (max-width: 767px) { .wo-events-preview { padding: 40px 16px; } .wo-events-preview .wo-events-preview__action { min-height: 44px; max-width: 100%; white-space: normal; } .wo-events-preview .wo-events-preview__card { grid-template-columns: 64px minmax(0,1fr); } .wo-events-preview .wo-events-preview__grid { gap: 16px; } }
