/* PAEC: preserve Avada typography, TEC controls and the white/blue club identity. */
.paec-agenda { --paec-blue:#005b83; --paec-ink:#173747; --paec-muted:#456373; --paec-line:#c9dbe3; color:var(--paec-ink); background:#fff; width:100%; }
.paec-agenda * { box-sizing:border-box; }
.paec-agenda-intro { position:relative; isolation:isolate; padding:36px 32px; background:#073c55; color:#fff; margin-bottom:24px; }
.paec-agenda-intro::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.24; background:url("../../uploads/2015/11/anurag-harishchandrakar-272128-unsplash.jpg") center 45%/cover no-repeat; }
.paec-agenda .paec-agenda-intro h1 { color:#fff; margin:0 0 12px; font-size:clamp(28px,3.5vw,44px); line-height:1.2; }
.paec-agenda .paec-agenda-intro p { margin:0; max-width:70ch; font-size:18px; line-height:1.55; }
.paec-agenda-filters,.paec-agenda-modes,.paec-agenda-pagination { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.paec-agenda-filters { margin-bottom:16px; }
.paec-agenda-filters a { padding:10px 16px; border:1px solid var(--paec-line); border-radius:4px; min-height:44px; }
.paec-agenda a { color:var(--paec-blue); text-underline-offset:3px; }
.paec-agenda-filters a[aria-current] { background:var(--paec-blue); color:#fff; border-color:var(--paec-blue); font-weight:700; }
.paec-agenda a:hover { text-decoration:underline; }
.paec-agenda :is(a,button,input):focus-visible { outline:3px solid #c94d00; outline-offset:3px; }
.paec-agenda-modes { padding-bottom:20px; margin-bottom:28px; border-bottom:1px solid var(--paec-line); gap:8px 24px; }
.paec-agenda-modes a { min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; }
.paec-agenda-modes a[aria-current] { font-weight:700; }
.paec-agenda-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:36px; align-items:start; }
.paec-agenda-main { min-width:0; }
.paec-agenda-next { padding:0 0 0 24px; border-left:1px solid var(--paec-line); }
.paec-agenda .paec-agenda-next h2 { margin:0 0 8px; font-size:24px; line-height:1.3; }
.paec-agenda .paec-agenda-main h2 { margin-top:0; }
.paec-agenda-next>p,.paec-agenda-note,.paec-agenda-meta { color:var(--paec-muted); font-size:14px; line-height:1.5; }
.paec-agenda-events { list-style:none; margin:24px 0 0; padding:0; }
.paec-agenda-events>li { border-bottom:1px solid var(--paec-line); padding:20px 0; }
.paec-agenda-events>li:first-child { padding-top:0; }
.paec-agenda .paec-agenda-events :is(h3,h4) { margin:6px 0; font-size:20px; line-height:1.35; overflow-wrap:anywhere; }
.paec-agenda .paec-agenda-events .paec-agenda-month { padding:28px 0 12px; border:0; }
.paec-agenda .paec-agenda-month h3 { font-size:24px; font-weight:700; }
.paec-agenda-events p { margin:6px 0; }
.paec-agenda-date { font-size:14px; font-weight:600; line-height:1.5; }
.paec-agenda-empty { background:#edf5f8; padding:20px; line-height:1.6; }
.paec-agenda-season-form { display:flex; align-items:center; flex-wrap:wrap; gap:12px; padding:16px 0; }
.paec-agenda-season-form input { width:auto; min-height:44px; padding:8px 12px; border:1px solid var(--paec-muted); color:var(--paec-ink); background:#fff; font:inherit; }
.paec-agenda-season-form button { min-height:44px; padding:10px 16px; color:#fff; background:var(--paec-blue); border:0; border-radius:4px; font:inherit; cursor:pointer; }
.paec-agenda-season-form button:hover { background:#003f60; }
.paec-agenda-pagination { margin-top:24px; gap:16px; }
.paec-agenda-pagination a { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; }
.paec-agenda .tribe-events .tribe-events-l-container { padding:0; min-height:0; }
.fusion-body #main .paec-agenda .tribe-events { --tec-color-text-primary:#173747; --tec-color-text-secondary:#456373; --tec-color-accent-primary:#005b83; --tec-color-background:#fff; --tec-color-background-events:#fff; --tec-color-background-events-bar:#edf5f8; --tec-color-text-events-bar-input:#173747; --tec-color-border-default:#c9dbe3; --tec-color-background-multiday-event:#dceef6; --tec-color-background-multiday-event-hover:#c9e5f1; --tec-color-text-multiday-event:#173747; }
.fusion-body #main .paec-agenda .tribe-events-calendar-month__multiday-event-bar-inner { background:#dceef6; color:#173747; }
.fusion-body #main .paec-agenda .tribe-events-calendar-month__multiday-event-bar-title { color:#173747; }
.fusion-body #main .paec-agenda .tribe-events-c-events-bar { background:#edf5f8; color:#173747; }
.fusion-body #main .paec-agenda .tribe-events-calendar-month__day-cell--mobile { background:#fff; border:0; }
.fusion-body #main .paec-agenda .tribe-events-calendar-month__day-cell--selected { background:#dceef6; }
.fusion-body #main .paec-agenda .tribe-events-c-events-bar__search-container,
.fusion-body #main .paec-agenda .tribe-events-c-view-selector__content { background:#edf5f8 !important; color:#173747 !important; }
.fusion-body #main .paec-agenda .tribe-events-c-search__input { background:#fff !important; color:#173747 !important; }
.fusion-body #main .paec-agenda .tribe-events-c-search__input::placeholder { color:#456373; opacity:1; }
.fusion-body #main .paec-agenda .tribe-events-c-view-selector__list-item-link { background:transparent !important; color:#005b83 !important; }
.fusion-body #main .paec-agenda .tribe-events-calendar-month__day { border:1px solid #c9dbe3 !important; }
.fusion-body #main .paec-agenda .tribe-events-calendar-month__mobile-events-icon { display:block !important; position:absolute; bottom:5px; left:calc(50% - 4px); width:8px !important; height:8px !important; min-height:8px; border-radius:50%; background:#005b83 !important; margin:0; }
.fusion-body #main .paec-agenda .tribe-events:not(.tribe-common--breakpoint-medium) .tribe-events-calendar-month__day { min-height:56px; }
.fusion-body #main .paec-agenda .tribe-events-calendar-month__day-cell--mobile { align-items:center; justify-content:center; padding-bottom:12px; }
.fusion-body #main .paec-agenda .tribe-events-calendar-month__day-cell--mobile .tribe-events-calendar-month__day-date { margin:0; font-size:18px; line-height:1.2; }
.fusion-body #main .paec-agenda .tribe-events-calendar-month__day-cell--selected .tribe-events-calendar-month__day-date { color:#173747 !important; }
.fusion-body #main .paec-agenda .tribe-events-calendar-month__mobile-events-icon--featured { color:#005b83 !important; }
@media(max-width:1000px) { .paec-agenda-layout { grid-template-columns:minmax(0,1fr); gap:40px; } .paec-agenda-next { border-left:0; border-top:1px solid var(--paec-line); padding:24px 0 0; } }
@media(max-width:600px) { .paec-agenda-intro { padding:24px 18px; } .paec-agenda-intro p { font-size:16px; } .paec-agenda-filters { gap:8px; } .paec-agenda-filters a { padding:10px 12px; } .paec-agenda-modes { gap:4px 20px; margin-bottom:20px; } .paec-agenda-season-form { align-items:stretch; } .paec-agenda-season-form label { width:100%; } .paec-agenda-season-form input,.paec-agenda-season-form button { max-width:100%; } }

/* Small screens: keep the three list-navigation controls separate and tappable. */
@media (max-width: 480px) {
  .paec-agenda .tribe-events .tribe-events-calendar-list-nav .tribe-events-c-nav__list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  .paec-agenda .tribe-events .tribe-events-calendar-list-nav .tribe-events-c-nav__list-item {
    width: 100%;
    justify-content: center;
  }
  .paec-agenda .tribe-events .tribe-events-calendar-list-nav :is(a, button) {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
  }
}

/* Vivid activity palette. Every color is paired with its category name. */
.paec-agenda [data-paec-activity],
.paec-agenda-filters [data-paec-type] {
  --paec-activity-ink: #3e515a;
  --paec-activity-bg: #eef2f4;
}
.paec-agenda [data-paec-activity="diners"],
.paec-agenda-filters [data-paec-type="diners"] {
  --paec-activity-ink: #793100;
  --paec-activity-bg: #ffbc59;
}
.paec-agenda [data-paec-activity="voyages"],
.paec-agenda-filters [data-paec-type="voyages"] {
  --paec-activity-ink: #004879;
  --paec-activity-bg: #88cfff;
}
.paec-agenda [data-paec-activity="formations"],
.paec-agenda-filters [data-paec-type="formations"] {
  --paec-activity-ink: #145b2e;
  --paec-activity-bg: #a6e6b7;
}
.paec-agenda [data-paec-activity="vie-du-club"],
.paec-agenda-filters [data-paec-type="vie-du-club"] {
  --paec-activity-ink: #7e1648;
  --paec-activity-bg: #ff91bd;
}
.paec-agenda-filters a:not([data-paec-type="tous"]) {
  background: var(--paec-activity-ink);
  border-color: var(--paec-activity-ink);
  color: #fff;
  font-weight: 700;
}
.paec-agenda-filters a:not([data-paec-type="tous"])[aria-current] {
  background: var(--paec-activity-ink);
  color: #fff;
  text-decoration: underline;
  outline: 2px solid var(--paec-activity-ink);
  outline-offset: 2px;
}
.paec-agenda .paec-agenda-activities {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  margin: 6px 0;
  max-width: 100%;
}
.paec-agenda .paec-agenda-activity {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 3px;
  color: var(--paec-activity-ink);
  background: var(--paec-activity-bg);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.paec-agenda .tribe-events-calendar-month__calendar-event .paec-agenda-activity {
  padding: 1px 4px;
  font-size: 11px;
}
.paec-agenda .paec-agenda-activities--compact {
  display: inline;
  margin: 0 4px 0 0;
}
.paec-agenda .paec-agenda-activities--compact .paec-agenda-activity {
  padding: 0 3px;
  margin-right: 3px;
  font-size: 10px;
  vertical-align: baseline;
}
@media (forced-colors: active) {
  .paec-agenda .paec-agenda-activity { border: 1px solid CanvasText; }
  .paec-agenda-filters a[aria-current] { outline: 2px solid CanvasText; }
}

/* Date colors share the activity palette, including simultaneous categories. */
.paec-agenda .paec-agenda-day-number,
.paec-agenda .paec-agenda-mini-day {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--paec-ink);
  border-radius: 3px;
  text-decoration: none;
}
.paec-agenda .paec-agenda-day-number { min-width: 36px; min-height: 38px; padding: 3px 4px 7px; }
.paec-agenda .paec-agenda-day-colors {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: flex;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
}
.paec-agenda .paec-agenda-day-colors > span {
  flex: 1 1 0;
  min-width: 0;
  background: var(--paec-activity-bg);
  border-bottom: 5px solid var(--paec-activity-ink);
}
.paec-agenda .paec-agenda-day-value { position: relative; color: var(--paec-ink); }
.fusion-body #main .paec-agenda .paec-agenda-day-number a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 28px;
  color: var(--paec-ink);
}
.fusion-body #main .paec-agenda .tribe-events-calendar-month__day-cell--mobile .paec-agenda-day-number {
  min-width: 32px;
  min-height: 34px;
  font-size: 18px;
}
.paec-agenda--year .paec-agenda-layout { grid-template-columns: minmax(0, 1fr); }
.paec-agenda--year .paec-agenda-next { border-left: 0; border-top: 1px solid var(--paec-line); padding: 24px 0 0; }
.paec-agenda-year-nav { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 8px 0 24px; }
.paec-agenda-year-nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }
.paec-agenda-year-months {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 32px 28px;
  align-items: start;
}
.paec-agenda table.paec-agenda-mini-month {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 2px;
  border: 0;
  margin: 0;
  color: var(--paec-ink);
}
.paec-agenda .paec-agenda-mini-month caption { text-align: left; padding: 0 0 12px; }
.paec-agenda .paec-agenda-mini-month caption a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: underline;
}
.paec-agenda .paec-agenda-mini-month :is(th, td) { border: 0; padding: 0; text-align: center; vertical-align: middle; }
.paec-agenda .paec-agenda-mini-month th { padding-bottom: 8px; font-size: 12px; font-weight: 600; }
.paec-agenda .paec-agenda-mini-month abbr { text-decoration: none; }
.paec-agenda .paec-agenda-mini-month td { height: 46px; }
.paec-agenda .paec-agenda-mini-day { width: 100%; min-height: 44px; padding: 4px 2px 8px; font-size: 15px; line-height: 1.3; }
.paec-agenda .paec-agenda-mini-day--occupied { font-weight: 700; }
.paec-agenda .paec-agenda-mini-day:hover { outline: 1px solid var(--paec-blue); outline-offset: -1px; text-decoration: underline; }
.paec-agenda .paec-agenda-mini-day[aria-current="date"] { outline: 2px solid var(--paec-ink); outline-offset: -2px; }
.paec-agenda .paec-agenda-mini-month .paec-agenda-day-empty { background: transparent; }
@media (forced-colors: active) {
  .paec-agenda .paec-agenda-day-colors > span { border-bottom-color: CanvasText; }
  .paec-agenda .paec-agenda-mini-day--occupied { outline: 1px solid CanvasText; }
}

/* White bold labels on the four category colors; keep date colors unchanged. */
.paec-agenda .paec-agenda-activity:is([data-paec-activity="diners"], [data-paec-activity="voyages"], [data-paec-activity="formations"], [data-paec-activity="vie-du-club"]) {
  color: #fff;
  background: var(--paec-activity-ink);
  font-weight: 700;
}

/* Match the dinner, outing and training filters to their monthly date colors. */
.paec-agenda-filters a:is([data-paec-type="diners"], [data-paec-type="voyages"], [data-paec-type="formations"]) {
  background: var(--paec-activity-bg);
  color: var(--paec-activity-ink);
}
.paec-agenda-filters a:is([data-paec-type="diners"], [data-paec-type="voyages"], [data-paec-type="formations"])[aria-current] {
  background: var(--paec-activity-bg);
  color: var(--paec-activity-ink);
}
.paec-agenda-calendar-help { margin: 16px 0 28px; max-width: 75ch; }
.fusion-body #main .paec-agenda .paec-agenda-calendar-help h2 {
  margin: 0 0 8px;
  color: var(--paec-ink);
  font-size: 20px;
  line-height: 1.35;
}
.paec-agenda-calendar-help p { margin: 0 0 8px; color: var(--paec-ink); font-size: 15px; line-height: 1.6; }
.paec-agenda-calendar-help a { text-decoration: underline; }
