/* Adultes calendar: same scene grammar as the validated Jeunes calendar. */
body.page-id-12 .agd-calendar-overview--youth-pattern {
  padding: 46px 42px;
  border: 0;
  border-radius: 26px;
  color: #f4f7f8;
  background: linear-gradient(124deg, #061d3a 0%, #0c3150 58%, #174f68 100%);
  box-shadow: 12px 12px 0 rgba(231,195,109,.35), 0 22px 42px rgba(6,29,58,.18);
}

@media (max-width:520px) {
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link--ios {
    display:none !important;
  }
  body.page-id-12 .agd-calendar-overview--youth-pattern .agd-overview-row__link--ios {
    display:none !important;
  }
}

body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-overview__heading { max-width: 900px; overflow: visible; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-overview__heading h2 { display:block; width:100%; max-width:none; overflow:visible; color:#fff; font-size:clamp(1.95rem,4vw,3.15rem); line-height:1.08; letter-spacing:-.035em; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-overview__heading > p:not(.eyebrow) { color:#dbe9ed; }
body.page-id-12 .agd-calendar-overview--youth-pattern .eyebrow { color:#f0d39a; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-filters { margin-bottom:22px; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-filter { border-color:rgba(240,211,154,.62); background:rgba(255,255,255,.08); color:#fff; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-filter:hover,
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-filter:focus-visible,
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-filter.is-active { border-color:#f0d39a; background:#f0d39a; color:#082744; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-status { color:#dbe9ed; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-overview__months { gap:24px 30px; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-overview-month h3 { color:#f0d39a; border-bottom-color:rgba(240,211,154,.48); }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-overview-row { border-bottom-color:rgba(255,255,255,.18); }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-overview-row time { color:#fff; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-overview-row__title { color:#dbe9ed; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-overview-row__place { display:block; margin-top:.15rem; color:#9fc0ca; font-size:.9em; line-height:1.25; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-overview-row__badge { color:#082744; background:#b8dbe0; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-overview-row--private .agd-overview-row__badge { color:#5c431e; background:#f0d39a; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-overview-row--stages .agd-overview-row__badge { color:#245c50; background:#b5d9cc; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-overview__registration-note,
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-upcoming { color:#173b55!important; background:linear-gradient(135deg,#f6ead0,#e8f0ed); border-left-color:#d84942; }
body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-overview__action a { color:#082744; background:#f0d39a; border-color:#f0d39a; }
@media (max-width:700px) { body.page-id-12 .agd-calendar-overview--youth-pattern { padding:30px 20px; } }
@media (max-width:520px) {
  body.page-id-12 .agd-calendar-overview--youth-pattern { padding:30px 14px; border-radius:20px; }
  body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-overview__heading h2 { font-size:clamp(1.85rem,8.4vw,2.5rem); line-height:1.08; }
  body.page-id-12 .agd-calendar-overview--youth-pattern .agd-calendar-overview__months { gap:18px; }
  body.page-id-12 .agd-calendar-overview--youth-pattern .agd-overview-row__title { font-size:.82rem; }
}

/* Anchor the arrival on the actual calendar heading, not the padded outer card. */
body.page-id-12 #agd-adult-calendar { scroll-margin-top: 184px; }
@media (max-width: 800px) {
  body.page-id-12 #agd-adult-calendar { scroll-margin-top: 176px; }
}
@media (max-width:700px) {
  body.page-id-12 #agd-adult-calendar { scroll-margin-top: 112px; }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link {
    color:#f0d39a !important;
    text-decoration:none !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link--ebad {
    color:#b8dbe0 !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link-label {
    color:inherit !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link:hover,
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link:focus-visible {
    color:#fff !important;
  }
}
@media (prefers-reduced-motion:reduce) { body.page-id-12 .agd-calendar-overview--youth-pattern * { scroll-behavior:auto!important; transition-duration:.01ms!important; } }

/* During hash arrival, expose the final Adultes layout before the one final scroll. */
html.agd-calendar-hash-pending body.page-id-12 .agd-adults-motion-item,
html.agd-calendar-hash-pending body.page-id-12 .agd-adults-motion-hero,
html.agd-calendar-hash-pending body.page-id-12 .agd-adults-motion-calendar {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* The existing Adultes scene rules are intentionally more specific. Keep this
   final adapter scoped to the calendar so the youth treatment wins there only. */
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern {
  padding: 46px 42px !important;
  border: 0 !important;
  border-radius: 26px !important;
  color: #f4f7f8 !important;
  background: linear-gradient(124deg,#061d3a 0%,#0c3150 58%,#174f68 100%) !important;
  box-shadow: 12px 12px 0 rgba(231,195,109,.35),0 22px 42px rgba(6,29,58,.18) !important;
}
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-overview__heading h2 { color:#fff !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-overview__heading > p:not(.eyebrow) { color:#dbe9ed !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .eyebrow { color:#f0d39a !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-filter { border-color:rgba(240,211,154,.62) !important; background:rgba(255,255,255,.08) !important; color:#fff !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-filter.is-active { border-color:#f0d39a !important; background:#f0d39a !important; color:#082744 !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-status { color:#dbe9ed !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month h3 { color:#f0d39a !important; border-bottom-color:rgba(240,211,154,.48) !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row { border-bottom-color:rgba(255,255,255,.18) !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row time { color:#fff !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__title { color:#dbe9ed !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link--ios .agd-overview-row__logo {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  min-height:34px;
  padding:0 10px;
  border:1px solid rgba(240,211,154,.65);
  border-radius:999px;
  color:#082744;
  background:#f0d39a;
  font-size:1.25rem;
  line-height:1;
  text-decoration:none;
}
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link--ios .agd-overview-row__ios-note {
  display:block;
  flex-basis:100%;
  max-width:34rem;
  margin-top:4px;
  color:#dbe9ed;
  font-size:.78rem;
  line-height:1.35;
}
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link--ios .agd-overview-row__logo:hover,
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link--ios .agd-overview-row__logo:focus-visible { background:#fff; border-color:#fff; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-overview__registration-note,
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-upcoming { color:#173b55 !important; background:linear-gradient(135deg,#f6ead0,#e8f0ed) !important; border-left-color:#d84942 !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-overview__heading > p.agd-calendar-overview__registration-note { color:#173b55 !important; background:linear-gradient(135deg,#f6ead0,#e8f0ed) !important; }
@media (max-width:520px) { body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern { padding:30px 14px !important; border-radius:20px !important; } }

/* Do not let the legacy mobile compact pass hide adult categories or months. */
@media (max-width:700px) {
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-filters {
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    flex-wrap:wrap !important;
    align-items:flex-start !important;
    padding-bottom:0 !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-filters > * {
    white-space:normal !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-overview__months {
    max-height:none !important;
    overflow:visible !important;
  }
}

/* The adult page keeps the exact Jeunes month-card treatment. The legacy
   adult accordion rules above otherwise flatten these details into separators. */
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month {
  margin:0 !important;
  border:1px solid rgba(255,255,255,.16) !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.045) !important;
  overflow:hidden;
}
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month + .agd-overview-month { margin-top:0 !important; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month summary {
  display:flex !important;
  align-items:center;
  padding:12px 14px !important;
  cursor:pointer;
  list-style:none;
}
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month summary::-webkit-details-marker { display:none; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month summary h3 {
  display:inline !important;
  flex:1;
  margin:0 !important;
  padding:12px 0 !important;
  color:#f0d39a !important;
  border-bottom:1px solid rgba(240,211,154,.48) !important;
}
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month[open] summary { background:rgba(240,211,154,.09); }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month summary::after {
  content:'+';
  margin-left:auto;
  color:#f0d39a;
  font-size:1.25rem;
  font-weight:700;
}
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month[open] summary::after { content:'−'; }
body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month__rows { padding:0 14px 12px !important; }

/* Mobile adapter: use the validated Jeunes two-column month grid and keep
   BadNet/eBad actions compact without changing the desktop presentation. */
@media (max-width:700px) {
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-calendar-overview__months {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
    min-width:0 !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month {
    min-width:0 !important;
    padding:0 !important;
    border-radius:10px !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month[open] {
    grid-column:1 / -1 !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month summary {
    min-height:40px !important;
    padding:9px 10px !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month summary h3 {
    padding:0 !important;
    font-size:.7rem !important;
    line-height:1.15 !important;
    white-space:normal !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month summary::after {
    font-size:1rem !important;
    line-height:1 !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-month__rows {
    padding:0 10px 8px !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row {
    min-width:0 !important;
    padding:6px 0 !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__title {
    display:flex !important;
    min-width:0 !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:5px 8px !important;
    font-size:.68rem !important;
    line-height:1.2 !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__title-text {
    flex:1 0 100% !important;
    min-width:0 !important;
    font-size:.68rem !important;
    line-height:1.28 !important;
    overflow-wrap:anywhere !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link {
    display:inline-flex !important;
    min-height:22px !important;
    max-width:100% !important;
    margin:0 !important;
    align-items:center !important;
    gap:3px !important;
    font-size:.6rem !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__link-label {
    min-width:0 !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__logo {
    display:inline-flex !important;
    flex:0 0 auto !important;
    align-items:center !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__logo img {
    width:auto !important;
    height:18px !important;
    max-width:70px !important;
    border-radius:3px !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row time {
    font-size:.65rem !important;
  }
  body.page-id-12 .agd-adults-page > .agd-calendar-overview--youth-pattern .agd-overview-row__badge {
    font-size:.58rem !important;
    line-height:1.15 !important;
    padding:3px 5px !important;
  }
}
