/* CRTE Agenda 0.2 — all selectors stay inside the shortcode wrapper.
   Category tokens are shared by cards, badges, legend and Leaflet markers. */
.crte-agenda {
  --crte-sky:#67b7e1; --crte-lime:#afcb07; --crte-ink:#353d4d;
  --crte-text:#50586b; --crte-muted:#626b76; --crte-line:#e0e5e9;
  --crte-paper:#fff; --crte-soft:#f5f8fa; --crte-link:#226b90;
  --crte-rando:#657a19; --crte-rando-bg:#f0f4df;
  --crte-formation:#236a8e; --crte-formation-bg:#eaf4fa;
  --crte-manifestation:#675774; --crte-manifestation-bg:#f2eef5;
  --crte-radius:6px; --crte-content-width:1170px;
  font-family:var(--body_typography-font-family,"Open Sans",Arial,Helvetica,sans-serif);
  font-size:16px; line-height:1.65; color:var(--crte-text);
  width:100%; max-width:var(--crte-content-width); margin-inline:auto;
  container:crte-agenda / inline-size; box-sizing:border-box;
}
.crte-agenda *, .crte-agenda *::before, .crte-agenda *::after {box-sizing:border-box}
.crte-agenda .crte-family-randonnee {--crte-category:var(--crte-rando);--crte-category-bg:var(--crte-rando-bg)}
.crte-agenda .crte-family-formation {--crte-category:var(--crte-formation);--crte-category-bg:var(--crte-formation-bg)}
.crte-agenda .crte-family-manifestation {--crte-category:var(--crte-manifestation);--crte-category-bg:var(--crte-manifestation-bg)}
.crte-agenda h2,.crte-agenda h3 {font-family:inherit;font-weight:700;color:var(--crte-ink);letter-spacing:-.025em;line-height:1.25;text-transform:none}
.crte-agenda h2 {font-size:30px;margin:0}
.crte-agenda h3 {font-size:21px;margin:0}
.crte-agenda p {margin:0 0 16px}
.crte-agenda a {color:var(--crte-link)}
.crte-agenda :focus-visible {outline:3px solid var(--crte-link);outline-offset:4px}
.crte-agenda [hidden] {display:none!important}
.crte-agenda .crte-intro {padding:28px 0 30px}
.crte-agenda .crte-eyebrow {display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--crte-muted);margin:0 0 15px}
.crte-agenda .crte-eyebrow>span {display:block;width:25px;height:3px;background:var(--crte-lime)}
.crte-agenda .crte-intro h2 {font-size:clamp(28px,3.2vw,40px);margin:0 0 20px;max-width:850px}
.crte-agenda .crte-intro-bottom {display:flex;justify-content:space-between;align-items:center;gap:30px}
.crte-agenda .crte-intro-bottom p {margin:0;max-width:750px;font-size:16px}
.crte-agenda .crte-map-jump {display:inline-flex;gap:18px;align-items:center;white-space:nowrap;text-decoration:none;font-size:13px;font-weight:700;border-bottom:1px solid var(--crte-sky);padding:8px 0}
.crte-agenda .crte-map-jump span {font-size:20px}
.crte-agenda .crte-filters {margin:8px 0 42px;padding:26px 28px;background:var(--crte-soft);border:1px solid var(--crte-line);border-top:3px solid var(--crte-sky);border-radius:var(--crte-radius)}
.crte-agenda .crte-selects {display:grid;grid-template-columns:1.25fr 1fr;gap:24px}
.crte-agenda .crte-selects>div,.crte-agenda .crte-custom-dates>div {min-width:0}
.crte-agenda .crte-selects label,.crte-agenda .crte-custom-dates label,.crte-agenda .crte-periods legend {display:block;color:var(--crte-ink);font-weight:700;font-size:13px;margin:0 0 8px;padding:0}
.crte-agenda .crte-filters select,.crte-agenda .crte-filters input[type=date] {display:block;width:100%;min-width:0;height:48px;padding:10px 13px;font-family:inherit;font-size:14px;line-height:1.3;color:var(--crte-ink);background:#fff;border:1px solid #c6cfd6;border-radius:4px;box-shadow:none}
.crte-agenda .crte-periods {min-width:0;border:0;padding:0;margin:22px 0 0}
.crte-agenda .crte-period-options {display:flex;flex-wrap:wrap;gap:9px}
.crte-agenda .crte-period-choice {position:relative;cursor:pointer;margin:0}
.crte-agenda .crte-period-choice input {position:absolute;opacity:0;width:1px;height:1px;inset:0}
.crte-agenda .crte-period-choice span {display:flex;align-items:center;justify-content:center;min-height:43px;padding:9px 16px;border:1px solid #bfcbd2;border-radius:24px;background:#fff;font-size:13px;font-weight:600;color:var(--crte-text);transition:background .15s,border-color .15s}
.crte-agenda .crte-period-choice input:checked+span {background:var(--crte-ink);border-color:var(--crte-ink);color:white}
.crte-agenda .crte-period-choice input:focus-visible+span {outline:3px solid var(--crte-link);outline-offset:3px}
.crte-agenda .crte-period-choice:hover span {border-color:var(--crte-link)}
.crte-agenda .crte-custom-dates {display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;max-width:560px}
@supports selector(:has(*)) {
 .crte-agenda .crte-filters:not(:has(input[value="custom"]:checked)) .crte-custom-dates {display:none}
}
.crte-agenda .crte-filter-actions {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}
.crte-agenda .crte-button {display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:46px;padding:11px 22px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.4;text-transform:none;letter-spacing:0;color:#fff;background:var(--crte-link);border:1px solid var(--crte-link);border-radius:4px;box-shadow:none;text-decoration:none;cursor:pointer}
.crte-agenda .crte-button:hover {background:var(--crte-ink);border-color:var(--crte-ink);color:#fff}
.crte-agenda .crte-reset {font-size:12px;text-underline-offset:4px;color:var(--crte-muted);padding:10px 0;display:inline-block}
.crte-agenda .crte-section-heading {display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:24px}
.crte-agenda .crte-section-heading h2 {font-size:26px}
.crte-agenda .crte-count {font-size:13px;color:var(--crte-muted);margin:0;white-space:nowrap}
.crte-agenda .crte-results {scroll-margin-top:110px}
.crte-agenda .crte-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.crte-agenda .crte-card {min-width:0;background:var(--crte-paper);border:1px solid var(--crte-line);border-radius:var(--crte-radius);box-shadow:0 3px 10px #353d4d06;transition:box-shadow .18s,transform .18s}
.crte-agenda .crte-card:hover,.crte-agenda .crte-card:focus-within {box-shadow:0 10px 25px #353d4d16;transform:translateY(-3px)}
.crte-agenda .crte-card-link {display:flex;flex-direction:column;height:100%;color:var(--crte-text);text-decoration:none!important;border-radius:var(--crte-radius)}
.crte-agenda .crte-card-visual {position:relative;aspect-ratio:1.5;overflow:hidden;border-radius:var(--crte-radius) var(--crte-radius) 0 0;background:var(--crte-soft)}
.crte-agenda .crte-card-image {display:block;width:100%;height:100%;max-width:100%;object-fit:cover;transition:transform .35s}
.crte-agenda .crte-card:hover .crte-card-image {transform:scale(1.035)}
.crte-agenda .crte-card-placeholder {display:flex;align-items:center;gap:22px;width:100%;height:100%;padding:28px;background:linear-gradient(135deg,#e8f2f8,#eff2e0);color:var(--crte-ink);font-size:20px;font-weight:700;line-height:1.3}
.crte-agenda .crte-card-placeholder>span:first-child {font-size:50px;color:var(--crte-link)}
.crte-agenda .crte-date-tile {position:absolute;left:17px;top:17px;background:#fff;color:var(--crte-ink);min-width:65px;max-width:calc(100% - 34px);padding:10px 13px 8px;border-radius:3px;border-bottom:3px solid var(--crte-category);box-shadow:0 2px 12px #0002;text-align:center;line-height:1.12;display:flex;flex-direction:column;gap:4px}
.crte-agenda .crte-date-day {font-size:28px;font-weight:700;letter-spacing:-.045em}
.crte-agenda .crte-date-day.crte-date-long {font-size:17px;letter-spacing:0}
.crte-agenda .crte-date-month {font-size:12px;letter-spacing:.05em;font-weight:700}
.crte-agenda .crte-date-year {font-size:10px;color:var(--crte-muted)}
.crte-agenda .crte-ongoing {position:absolute;right:14px;bottom:14px;padding:4px 10px;background:white;color:var(--crte-ink);font-size:11px;font-weight:700;border-radius:3px}
.crte-agenda .crte-card-body {display:flex;flex-direction:column;flex:1;padding:22px 22px 18px}
.crte-agenda .crte-badge {display:inline-flex;align-items:center;gap:7px;align-self:flex-start;max-width:100%;padding:5px 9px;font-size:10px;line-height:1.5;font-weight:700;color:var(--crte-category,var(--crte-manifestation));background:var(--crte-category-bg,var(--crte-manifestation-bg));border-radius:3px;margin-bottom:14px}
.crte-agenda .crte-category-icon {font-size:15px;line-height:1;flex:none}
.crte-agenda .crte-card h3 {font-size:20px;margin:0 0 16px;overflow-wrap:anywhere}
.crte-agenda .crte-location {display:flex;gap:9px;align-items:flex-start;margin:0 0 23px;font-size:14px;color:var(--crte-ink);line-height:1.5}
.crte-agenda .crte-location svg {width:16px;height:18px;flex:none;fill:none;stroke:var(--crte-muted);stroke-width:1.5;margin-top:2px}
.crte-agenda .crte-location small {display:block;color:var(--crte-muted);font-size:12px;margin-top:3px}
.crte-agenda .crte-card-more {display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid var(--crte-line);font-size:12px;font-weight:700;color:var(--crte-link)}
.crte-agenda .crte-card-more>span {font-size:22px;font-weight:400;line-height:1}
.crte-agenda .crte-empty {padding:34px;background:var(--crte-soft);border:1px solid var(--crte-line);border-radius:var(--crte-radius)}
.crte-agenda .crte-empty h3 {margin-bottom:10px}
.crte-agenda .crte-empty p {margin-bottom:5px}
.crte-agenda .crte-pagination {display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}
.crte-agenda .crte-pagination .page-numbers {display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 13px;border:1px solid var(--crte-line);border-radius:3px;text-decoration:none;font-size:13px}
.crte-agenda .crte-pagination .current {background:var(--crte-ink);color:white}
.crte-agenda .crte-map-section {margin-top:64px;padding-top:34px;border-top:1px solid var(--crte-line);scroll-margin-top:110px}
.crte-agenda .crte-map-layout {display:grid;grid-template-columns:255px minmax(0,1fr);border:1px solid var(--crte-line);border-radius:var(--crte-radius);overflow:hidden;background:var(--crte-soft)}
.crte-agenda .crte-map-aside {padding:30px 24px;display:flex;flex-direction:column}
.crte-agenda .crte-map-aside h3 {font-size:23px;line-height:1.3;margin:0 0 16px}
.crte-agenda .crte-map-aside p {font-size:13px;color:var(--crte-muted)}
.crte-agenda .crte-map-legend {list-style:none;padding:0;margin:10px 0 24px;display:grid;gap:17px}
.crte-agenda .crte-map-legend li {display:flex;align-items:center;gap:11px;font-size:12px;line-height:1.5;margin:0}
.crte-agenda .crte-legend-dot {display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--crte-category);color:#fff;font-size:18px}
.crte-agenda .crte-map-aside .crte-map-help {font-size:12px;margin-top:auto}
.crte-agenda .crte-map-reset {font:inherit;font-size:12px;font-weight:700;color:var(--crte-link);padding:12px 0;border:0;border-top:1px solid var(--crte-line);background:none;cursor:pointer;text-align:left;min-height:44px}
.crte-agenda .crte-map-panel {min-width:0;position:relative}
.crte-agenda .crte-map {height:525px;width:100%;z-index:0;background:#e8ede7}
.crte-agenda .crte-map-message {font-size:11px;color:var(--crte-muted);padding:10px 14px;margin:0;background:white;min-height:38px}
.crte-agenda .crte-map .leaflet-container {font-family:inherit}
.crte-agenda .crte-map .leaflet-popup-content-wrapper {border-radius:5px;box-shadow:0 4px 20px #353d4d26}
.crte-agenda .crte-map .leaflet-popup-content {font-family:var(--body_typography-font-family,"Open Sans",Arial,Helvetica,sans-serif);font-size:13px;line-height:1.55;margin:20px 22px;color:var(--crte-text)}
.crte-agenda .crte-popup-date {font-size:12px;font-weight:700;color:var(--crte-category);margin:0 0 7px}
.crte-agenda .crte-popup-category {font-size:10px;background:var(--crte-category-bg);color:var(--crte-category);padding:4px 7px;border-radius:3px;margin:0 0 10px!important}
.crte-agenda .crte-popup-title {display:block;font-size:17px;color:var(--crte-ink);line-height:1.3;margin-bottom:9px}
.crte-agenda .crte-map .crte-popup-town {margin:0 0 12px}
.crte-agenda .crte-popup-link {display:block;border-top:1px solid var(--crte-line);padding-top:11px;font-weight:700;text-decoration:none}
.crte-agenda .crte-marker {border:0;background:none}
.crte-agenda .crte-marker-pin {display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--crte-category);border:3px solid white;border-radius:50% 50% 50% 5px;transform:rotate(-45deg);box-shadow:0 3px 8px #0003;color:white}
.crte-agenda .crte-marker-pin>span {transform:rotate(45deg);font:700 20px/1 Arial,sans-serif}
.crte-agenda .crte-map .leaflet-control a {color:var(--crte-ink)}
.crte-agenda .crte-map .leaflet-control-zoom a {width:34px;height:34px;line-height:34px}
.crte-agenda .crte-map .leaflet-control-attribution {font-size:10px;background:#fffffff0;color:#333}
.crte-agenda .crte-map img.leaflet-tile {max-width:none!important}
.crte-agenda .crte-description {margin:25px 0}
.crte-agenda .crte-detail .crte-date,.crte-agenda.crte-detail>.crte-date {font-weight:700;font-size:18px}
.crte-agenda .crte-facts {display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}
.crte-agenda .crte-facts dt {font-weight:700;color:var(--crte-ink)}
.crte-agenda .crte-facts dd {margin:4px 0;overflow-wrap:anywhere}
.crte-agenda .crte-links {display:flex;gap:16px;flex-wrap:wrap}
.crte-agenda .crte-sr-only {position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
@container crte-agenda (max-width:960px) {
 .crte-agenda .crte-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .crte-agenda .crte-map-layout {grid-template-columns:210px minmax(0,1fr)}
 .crte-agenda .crte-map-aside {padding:24px 18px}
}
@container crte-agenda (max-width:650px) {
 .crte-agenda .crte-intro-bottom,.crte-agenda .crte-section-heading {flex-direction:column;align-items:flex-start;gap:12px}
 .crte-agenda .crte-selects {grid-template-columns:1fr;gap:16px}
 .crte-agenda .crte-map-layout {grid-template-columns:1fr}
 .crte-agenda .crte-map-aside {padding:22px}
 .crte-agenda .crte-map-aside h3 br {display:none}
 .crte-agenda .crte-map-legend {gap:10px;margin-bottom:10px}
 .crte-agenda .crte-map-aside .crte-map-help {display:none}
 .crte-agenda .crte-map-reset {margin-top:10px}
 .crte-agenda .crte-map {height:430px}
 .crte-agenda .crte-filter-actions {align-items:flex-start;flex-direction:column;gap:5px}
 .crte-agenda .crte-section-heading h2 {font-size:25px}
}
@container crte-agenda (max-width:520px) {
 .crte-agenda .crte-grid,.crte-agenda .crte-facts {grid-template-columns:1fr}
 .crte-agenda .crte-filters {padding:20px 17px;margin-bottom:32px}
 .crte-agenda .crte-period-options {gap:8px}
 .crte-agenda .crte-period-choice span {font-size:12px;padding:9px 12px}
 .crte-agenda .crte-custom-dates {grid-template-columns:1fr;gap:12px}
 .crte-agenda .crte-card-visual {aspect-ratio:1.4}
 .crte-agenda .crte-card h3 {font-size:22px}
 .crte-agenda .crte-badge {font-size:11px}
 .crte-agenda .crte-map-section {margin-top:40px}
 .crte-agenda .crte-desktop-break {display:none}
 .crte-agenda .crte-intro-bottom p br {display:none}
}
@media(prefers-reduced-motion:reduce) {.crte-agenda .crte-card,.crte-agenda .crte-card-image,.crte-agenda .crte-period-choice span {transition:none}.crte-agenda .crte-card:hover {transform:none}.crte-agenda .crte-card:hover .crte-card-image {transform:none}}

@supports not (container-type:inline-size) {
 @media(max-width:960px) {.crte-agenda .crte-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
 @media(max-width:650px) {
  .crte-agenda .crte-grid,.crte-agenda .crte-selects,.crte-agenda .crte-custom-dates,.crte-agenda .crte-facts,.crte-agenda .crte-map-layout {grid-template-columns:1fr}
  .crte-agenda .crte-intro-bottom,.crte-agenda .crte-section-heading,.crte-agenda .crte-filter-actions {flex-direction:column;align-items:flex-start}
  .crte-agenda .crte-map {height:430px}
  .crte-agenda .crte-filters {padding:20px 17px}
 }
}

/* Event-only layout: no change to other posts, theme header or footer. */
.crte-event-shell {padding:36px clamp(20px,4vw,40px) 64px;}
.crte-event-shell .crte-event-title,
body.single-crte_event .entry-title,
body.single-crte_event .fusion-post-title {
 font-family:var(--body_typography-font-family,"Open Sans",Arial,Helvetica,sans-serif);
 font-size:clamp(28px,3.4vw,42px);font-weight:700;line-height:1.2;
 letter-spacing:-.025em;color:#353d4d;margin:0 auto 28px;max-width:1170px;
}
.crte-event-shell .crte-event-hero {margin:0 auto 30px;}
.crte-event-shell .crte-event-hero img {width:100%;max-height:480px;object-fit:cover;border-radius:6px;}
.crte-agenda .crte-skill-icon {display:block;width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}
.crte-agenda.crte-detail {font-size:16px;line-height:1.8;}
.crte-agenda .crte-description {max-width:800px;margin:24px 0 34px;}
.crte-agenda .crte-description p {margin:0 0 18px;}
.crte-agenda .crte-practical {border:1px solid #d5dde2;border-radius:6px;padding:clamp(22px,4vw,36px);margin:30px 0;background:transparent;}
.crte-agenda .crte-practical h2 {font-size:25px;}
.crte-agenda .crte-practical .crte-facts {margin:24px 0 0;gap:24px 36px;}
.crte-agenda .crte-facts dt {font-size:12px;letter-spacing:.035em;}
.crte-agenda .crte-facts dd {font-size:16px;line-height:1.65;}
.crte-agenda .crte-links {margin:26px 0;}

.crte-agenda .crte-detail-placeholder {display:flex;align-items:center;justify-content:center;min-height:180px;border:1px solid var(--crte-line);background:var(--crte-soft);color:var(--crte-muted);border-radius:6px;margin-bottom:28px;font-size:14px;}

/* Avada classic single template: scoped to this plugin's event type only. */
body.single-crte_event.fusion-body .fusion-page-title-bar h1,
body.single-crte_event.fusion-body #main .fusion-post-title {
 font-family:var(--body_typography-font-family,"Open Sans",Arial,Helvetica,sans-serif)!important;
 font-size:clamp(26px,3vw,40px)!important;font-weight:700!important;line-height:1.25!important;
 text-shadow:none!important;-webkit-text-stroke:0!important;letter-spacing:-.025em!important;
 color:#353d4d!important;overflow-wrap:anywhere;
}
body.single-crte_event.fusion-body .fusion-page-title-bar .fusion-breadcrumbs {color:#535d68;}
body.single-crte_event.fusion-body .fusion-page-title-bar .fusion-breadcrumbs a {color:#3d667e;}
body.single-crte_event.fusion-body #main #sidebar,
body.single-crte_event.fusion-body #main .fusion-meta-info,
body.single-crte_event.fusion-body #main .fusion-single-sharing-box {display:none;}
body.single-crte_event.fusion-body #main #content {width:100%!important;float:none!important;}
body.single-crte_event.fusion-body:has(.fusion-page-title-bar h1) #main .fusion-post-title-meta-wrap {display:none;}
