/* Association Kit Simple - Frontend */

.aks-site {
  --aks-radius: 18px;
  --aks-shadow: 0 18px 45px rgba(30, 36, 48, .10);
  --aks-shadow-soft: 0 8px 25px rgba(30, 36, 48, .08);
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
  color: var(--aks-text);
  font-family: "Nunito", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.aks-site * { box-sizing: border-box; }
.aks-site a { color: inherit; }

.aks-eyebrow {
  margin: 0 0 10px;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-style: italic;
  color: var(--aks-primary);
}

.aks-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(340px, 1.08fr);
  gap: 0;
  margin: 28px auto 0;
  background: linear-gradient(135deg, #fff 0%, var(--aks-bg) 100%);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: var(--aks-shadow-soft);
  border: 1px solid rgba(30, 36, 48, .08);
}

.aks-hero-content {
  padding: clamp(34px, 5vw, 72px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.aks-hero-logo {
  width: min(170px, 45vw);
  height: auto;
  object-fit: contain;
  margin-bottom: 34px;
}

.aks-hero h1,
.aks-page-header h1 {
  margin: 0;
  font-family: "Bebas Neue", Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(4rem, 9vw, 8.2rem);
  line-height: .86;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--aks-dark);
}

.aks-hero-text {
  max-width: 560px;
  margin: 22px 0 0;
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.65;
  color: var(--aks-muted);
}

.aks-actions,
.aks-centered-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.aks-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 900;
  font-size: .88rem;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.aks-btn:hover { transform: translateY(-1px); }

.aks-btn-primary {
  background: var(--aks-primary);
  color: #fff !important;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--aks-primary) 28%, transparent);
}

.aks-btn-secondary {
  background: #fff;
  color: var(--aks-dark) !important;
  border: 1px solid rgba(30, 36, 48, .16);
}

.aks-hero-visual {
  min-height: 430px;
  position: relative;
  overflow: hidden;
}

.aks-hero-visual::before {
  content: "";
  position: absolute;
  inset: auto -8% -22% 0;
  height: 54%;
  background: var(--aks-bg);
  border-radius: 60% 0 0 0;
  opacity: .85;
  z-index: 1;
}

.aks-hero-visual img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  display: block;
  position: relative;
  z-index: 0;
}

.aks-hero-placeholder {
  width: 100%;
  height: 100%;
  min-height: 430px;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 70% 30%, rgba(243,146,0,.20), transparent 35%), linear-gradient(135deg, #fff, #f7efe4);
}

.aks-hero-placeholder span {
  max-width: 260px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.78);
  font-weight: 800;
  text-align: center;
  color: var(--aks-muted);
}

.aks-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin: 0 auto 70px;
  background: #fff;
  border-radius: 0 0 22px 22px;
  border: 1px solid rgba(30,36,48,.08);
  border-top: 0;
  overflow: hidden;
}

.aks-stat {
  padding: 28px 20px;
  text-align: center;
  border-right: 1px solid rgba(30,36,48,.08);
}
.aks-stat:last-child { border-right: 0; }
.aks-stat strong {
  display: block;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: .9;
  color: var(--aks-dark);
}
.aks-stat span {
  display: block;
  margin-top: 6px;
  color: var(--aks-muted);
  text-transform: uppercase;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .04em;
}

.aks-section { margin: 72px 0; }
.aks-section-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
}


.aks-section-heading {
  position: relative;
  height: 88px;
  min-height: 0;
  padding: 0;
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
}


.aks-title-bg {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(4.2rem, 8.6vw, 7.6rem);
  line-height: .78;
  color: rgba(30, 36, 48, .052);
  letter-spacing: .02em;
  text-transform: uppercase;
  font-style: italic;
  white-space: nowrap;
  pointer-events: none;
}

.aks-section-heading h2 {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  margin: 0;
  display: inline-block;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(1.55rem, 2.45vw, 2.25rem);
  line-height: .78;
  text-transform: uppercase;
  font-style: italic;
  color: var(--aks-primary);
  width: max-content;
  max-width: 100%;
  white-space: nowrap;
}

.aks-section-heading h2::after { display: none; }
.aks-text-link,
.aks-card-link {
  color: var(--aks-dark) !important;
  font-weight: 900;
  text-decoration: none !important;
}
.aks-text-link:hover,
.aks-card-link:hover { color: var(--aks-primary) !important; }

.aks-card-grid {
  display: grid;
  gap: 22px;
}
.aks-card-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.aks-card-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.aks-card,
.aks-empty-card,
.aks-contact-card,
.aks-document-card,
.aks-person-card,
.aks-event-card,
.aks-album-card {
  background: #fff;
  border: 1px solid rgba(30,36,48,.09);
  border-radius: var(--aks-radius);
  box-shadow: var(--aks-shadow-soft);
}

.aks-course-card {
  position: relative;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.aks-course-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--aks-shadow);
}
.aks-course-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 5px;
  background: var(--aks-primary);
  z-index: 2;
}

.aks-card-image {
  display: block;
  height: 150px;
  overflow: hidden;
  background: var(--aks-bg);
}
.aks-card-image img,
.aks-card-image .aks-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.aks-card-no-image .aks-card-image { display: none; }

.aks-card-body { padding: 22px; }
.aks-card-body h3,
.aks-event-card h3,
.aks-document-card h3,
.aks-person-card h3,
.aks-album-card h3 {
  margin: 0;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--aks-dark);
  text-transform: uppercase;
}
.aks-card-desc {
  margin: 10px 0 12px;
  color: var(--aks-muted);
  font-size: .92rem;
  line-height: 1.45;
}
.aks-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--aks-primary) 12%, #fff);
  color: var(--aks-primary);
  font-size: .78rem;
  font-weight: 900;
}
.aks-status {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 3;
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: #E11D48;
  color: #fff;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 900;
}
.aks-card-meta {
  display: grid;
  gap: 5px;
  margin: 14px 0 16px;
  color: var(--aks-muted);
  font-size: .82rem;
}
.aks-card-meta strong { color: var(--aks-dark); }
.aks-card-link {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font-size: .88rem;
}

.aks-course-card-compact {
  display: grid;
  min-height: 100%;
}
.aks-course-card-compact .aks-card-body {
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
}

.aks-page-header {
  padding: 70px 0 34px;
}
.aks-page-header p:not(.aks-eyebrow) {
  max-width: 720px;
  color: var(--aks-muted);
  font-size: 1.08rem;
  line-height: 1.6;
}

.aks-event-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.aks-event-card { padding: 22px; }
.aks-event-date {
  display: inline-grid;
  place-items: center;
  min-width: 58px;
  min-height: 58px;
  margin-bottom: 14px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--aks-primary) 12%, #fff);
  color: var(--aks-primary);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 1.4rem;
  line-height: 1;
}
.aks-event-card p { color: var(--aks-muted); }
.aks-event-card a { color: var(--aks-primary) !important; font-weight: 900; text-decoration: none !important; }

.aks-empty-card {
  padding: 28px;
  color: var(--aks-muted);
}
.aks-empty-card strong { display: block; color: var(--aks-dark); margin-bottom: 6px; }
.aks-empty-state-title {
  display: block;
  margin: 0 0 6px;
  color: var(--aks-dark);
  font: inherit;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}
body.aks-template-event:not(.aks-event-style-alpine) .aks-empty-state-title {
  margin-bottom: 5px;
  color: var(--aks-event-text);
  font-size: 1rem;
}

.aks-gallery-strip,
.aks-gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}
.aks-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aks-album-card { overflow: hidden; }
.aks-album-image {
  height: 155px;
  display: grid;
  place-items: center;
  background: var(--aks-bg);
  overflow: hidden;
  text-decoration: none !important;
  color: var(--aks-primary) !important;
  font-weight: 900;
}
.aks-album-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aks-album-card h3,
.aks-album-card p { padding-inline: 16px; }
.aks-album-card h3 { margin-top: 14px; }
.aks-album-card p { color: var(--aks-muted); margin-bottom: 16px; }

.aks-partner-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  align-items: center;
}
.aks-partner-logo {
  min-height: 82px;
  display: grid;
  place-items: center;
  padding: 16px;
  background: #fff;
  border: 1px solid rgba(30,36,48,.08);
  border-radius: 16px;
  text-align: center;
  font-weight: 900;
  text-decoration: none !important;
}
.aks-partner-logo img {
  max-width: 100%;
  max-height: 46px;
  object-fit: contain;
  filter: grayscale(.1);
}

.aks-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 72px 0 36px;
  padding: clamp(28px, 4vw, 42px);
  background: linear-gradient(135deg, var(--aks-dark), #10151d);
  color: #fff;
  border-radius: 24px;
  overflow: hidden;
  position: relative;
}
.aks-final-cta::before {
  content: "";
  position: absolute;
  inset: auto auto -60px -60px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--aks-primary) 35%, transparent);
  filter: blur(6px);
}
.aks-final-cta > * { position: relative; z-index: 1; }
.aks-final-cta h2 {
  margin: 0;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(2.2rem, 5vw, 4rem);
  line-height: .95;
  text-transform: uppercase;
}
.aks-final-cta p { margin: 8px 0 0; color: rgba(255,255,255,.78); }

.aks-document-list {
  display: grid;
  gap: 14px;
}
.aks-document-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  padding: 18px;
}
.aks-doc-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  background: var(--aks-primary);
  color: #fff;
  border-radius: 12px;
  font-weight: 900;
}
.aks-document-card p { color: var(--aks-muted); margin: 5px 0 0; }
.aks-document-card a { color: var(--aks-primary) !important; font-weight: 900; text-decoration: none !important; }

.aks-team-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
}
.aks-person-card {
  padding: 18px;
  text-align: center;
}
.aks-person-photo {
  width: 100%;
  aspect-ratio: 1 / 1;
  max-height: 210px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 14px;
  background: var(--aks-bg);
  margin-bottom: 14px;
}
.aks-person-photo img { width: 100%; height: 100%; object-fit: cover; }
.aks-person-photo span {
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 5rem;
  color: var(--aks-primary);
}
.aks-person-card p { margin: 6px 0 10px; color: var(--aks-primary); font-weight: 900; }
.aks-person-card a { text-decoration: none !important; color: var(--aks-dark) !important; }

.aks-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.aks-contact-card { padding: clamp(24px, 4vw, 40px); }
.aks-contact-card h2 {
  font-family: "Bebas Neue", Impact, sans-serif;
  color: var(--aks-primary);
  font-size: 2.4rem;
  margin: 0 0 16px;
}
.aks-contact-card p { color: var(--aks-muted); line-height: 1.65; }
.aks-contact-card strong { color: var(--aks-dark); }

.aks-process {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 30px 0;
}
.aks-process > div {
  background: #fff;
  border: 1px solid rgba(30,36,48,.08);
  border-radius: 20px;
  padding: 26px;
  text-align: center;
}
.aks-process strong {
  display: inline-grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--aks-primary) 12%, #fff);
  color: var(--aks-primary);
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 2.2rem;
}
.aks-process h3 {
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: 1.8rem;
  text-transform: uppercase;
  margin: 16px 0 8px;
}
.aks-process p { color: var(--aks-muted); }
.aks-centered-actions { justify-content: center; }

@media (max-width: 1100px) {
  .aks-card-grid-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aks-card-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aks-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aks-partner-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aks-gallery-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
  .aks-hero { grid-template-columns: 1fr; }
  .aks-hero-visual,
  .aks-hero-visual img,
  .aks-hero-placeholder { min-height: 280px; }
  .aks-stats { grid-template-columns: repeat(2, 1fr); }
  .aks-stat:nth-child(2) { border-right: 0; }
  .aks-section-top { align-items: start; flex-direction: column; }
  .aks-event-grid,
  .aks-contact-grid,
  .aks-process { grid-template-columns: 1fr; }
  .aks-final-cta { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 640px) {
  .aks-site { width: min(100% - 22px, 1180px); }
  .aks-hero { border-radius: 20px; }
  .aks-hero-content { padding: 28px; }
  .aks-hero h1,
  .aks-page-header h1 { font-size: 4.1rem; }
  .aks-card-grid-5,
  .aks-card-grid-3,
  .aks-team-grid,
  .aks-gallery-strip,
  .aks-gallery-grid,
  .aks-partner-grid { grid-template-columns: 1fr; }
  .aks-document-card { grid-template-columns: auto 1fr; }
  .aks-document-card a { grid-column: 1 / -1; }
  .aks-title-bg { white-space: normal; font-size: 4.6rem; }
  .aks-stats { margin-bottom: 44px; }
}


/* V0.2 — ajustements après test La Grônarde */

/* Kadence / thèmes classiques : masquer les titres de page générés par le thème.
   Les titres internes Association Kit restent visibles. */
body.aks-generated-page .entry-header,
body.aks-generated-page .entry-hero,
body.aks-generated-page .entry-hero-container,
body.aks-generated-page .page-header,
body.aks-generated-page .wp-block-post-title,
body.aks-generated-page h1.entry-title,
body.aks-generated-page .entry-title {
  display: none !important;
}

body.aks-generated-page .site-main,
body.aks-generated-page .content-area,
body.aks-generated-page .entry-content,
body.aks-generated-page .content-container,
body.aks-generated-page .wp-site-blocks {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.aks-site {
  padding-top: clamp(28px, 4vw, 56px);
  padding-bottom: 40px;
}

.aks-home {
  padding-top: clamp(14px, 2.5vw, 32px);
}

.aks-hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  margin-top: 0;
}

.aks-hero-no-image {
  grid-template-columns: minmax(0, 1.18fr) minmax(240px, .82fr);
}

.aks-hero-content {
  padding: clamp(36px, 5.2vw, 68px);
}

.aks-hero-logo {
  display: none;
}

.aks-hero h1,
.aks-page-header h1 {
  font-size: clamp(3.4rem, 7vw, 6.4rem);
  line-height: .9;
  max-width: 680px;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
}

.aks-hero-text {
  max-width: 460px;
  color: #3f4654;
}

.aks-hero-visual,
.aks-hero-visual img,
.aks-hero-placeholder {
  min-height: 390px;
}

.aks-hero-placeholder {
  background:
    radial-gradient(circle at 70% 35%, rgba(243,146,0,.16), transparent 34%),
    linear-gradient(135deg, #fff 0%, #fbf2e5 100%);
}

.aks-hero-placeholder span {
  color: var(--aks-dark);
  background: rgba(255,255,255,.86);
  box-shadow: 0 12px 30px rgba(30,36,48,.08);
}

.aks-btn-primary {
  background: var(--aks-primary) !important;
  color: #fff !important;
  border: 1px solid var(--aks-primary);
  box-shadow: 0 10px 22px rgba(243,146,0,.24);
}

.aks-btn-secondary {
  background: #fff !important;
}

.aks-stats {
  margin-bottom: clamp(46px, 6vw, 76px);
}

.aks-section {
  margin: clamp(54px, 7vw, 82px) 0;
}

.aks-section-top {
  margin-bottom: 24px;
}

.aks-section-heading {
  min-height: 74px;
  padding-top: 13px;
}

.aks-title-bg {
  font-size: clamp(4rem, 8.2vw, 7.2rem);
  color: rgba(30, 36, 48, .047);
}

.aks-section-heading h2 {
  font-size: clamp(2rem, 3.7vw, 3.1rem);
}

.aks-card,
.aks-empty-card,
.aks-contact-card,
.aks-document-card,
.aks-person-card,
.aks-event-card,
.aks-album-card,
.aks-partner-logo {
  box-shadow: 0 10px 25px rgba(30,36,48,.06);
}

.aks-course-card {
  min-height: 100%;
}

.aks-course-card .aks-card-body {
  min-height: 245px;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
}

.aks-course-card h3 {
  font-size: clamp(1.25rem, 1.6vw, 1.55rem);
  letter-spacing: .01em;
}

.aks-card-meta {
  align-self: end;
}

.aks-album-image {
  height: 128px;
  background:
    linear-gradient(135deg, rgba(243,146,0,.14), rgba(30,36,48,.04)),
    #fffaf2;
  color: var(--aks-primary) !important;
}

.aks-album-image span {
  padding: 7px 12px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(30,36,48,.06);
}

.aks-empty-card {
  background: #fff;
  border-radius: 18px;
  padding: 22px 24px;
}

.aks-section-events-home .aks-empty-card {
  max-width: none;
}

.aks-final-cta {
  align-items: center;
  min-height: 170px;
  margin-top: clamp(54px, 7vw, 78px);
  padding: clamp(30px, 4.2vw, 48px);
}

.aks-final-cta h2 {
  max-width: 690px;
  font-size: clamp(2.15rem, 4vw, 3.6rem);
  line-height: .98;
}

.aks-final-cta .aks-btn {
  flex: 0 0 auto;
}

.aks-final-cta .aks-eyebrow {
  color: rgba(255,255,255,.68);
}

.aks-partner-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.aks-generated-page footer,
body.aks-generated-page .site-footer {
  margin-top: 20px;
}

@media (max-width: 1020px) {
  .aks-hero,
  .aks-hero-no-image {
    grid-template-columns: 1fr;
  }

  .aks-hero-visual,
  .aks-hero-visual img,
  .aks-hero-placeholder {
    min-height: 250px;
  }

  .aks-hero h1,
  .aks-page-header h1 {
    font-size: clamp(3.1rem, 12vw, 5.4rem);
  }
}

@media (max-width: 820px) {
  .aks-site {
    padding-top: 24px;
  }

  .aks-partner-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .aks-final-cta {
    align-items: flex-start;
  }
}

@media (max-width: 640px) {
  .aks-hero h1,
  .aks-page-header h1 {
    font-size: clamp(3rem, 15vw, 4.25rem);
  }

  .aks-hero-content {
    padding: 28px 24px;
  }

  .aks-stats {
    border-radius: 18px;
  }

  .aks-title-bg {
    font-size: clamp(3.6rem, 18vw, 4.5rem);
  }

  .aks-final-cta h2 {
    font-size: clamp(2rem, 12vw, 3rem);
  }
}


/* V0.3 — corrections après comparaison PDF / rendu réel navigateur
   Le PDF pagine et simplifie certains rendus : ces règles ciblent surtout le rendu écran. */

.aks-site {
  max-width: 1180px;
}

.aks-page-header {
  padding: clamp(42px, 5vw, 72px) 0 clamp(22px, 3vw, 34px);
}

.aks-page-header h1 {
  max-width: 760px;
}

.aks-home .aks-hero {
  margin-bottom: 0;
}

.aks-hero {
  box-shadow: 0 14px 34px rgba(30,36,48,.075);
}

.aks-hero-no-image .aks-hero-content {
  padding-right: clamp(28px, 4vw, 52px);
}

.aks-hero h1 {
  font-size: clamp(3.2rem, 6.3vw, 5.75rem);
  max-width: 720px;
}

.aks-hero-placeholder {
  min-height: 330px;
  background:
    radial-gradient(circle at 68% 38%, rgba(243,146,0,.13), transparent 30%),
    linear-gradient(135deg, #fff 0%, #fffaf2 100%);
}

.aks-hero-visual,
.aks-hero-visual img {
  min-height: 330px;
}

.aks-hero-placeholder span {
  max-width: 230px;
  font-size: .98rem;
}

.aks-stats {
  margin-top: -1px;
  margin-bottom: clamp(42px, 5.5vw, 66px);
  box-shadow: 0 12px 28px rgba(30,36,48,.04);
}

.aks-stat {
  padding-block: clamp(22px, 3vw, 30px);
}

.aks-section {
  margin: clamp(48px, 6vw, 74px) 0;
}

.aks-section-heading {
  min-height: 66px;
}

.aks-title-bg {
  font-size: clamp(3.8rem, 7.3vw, 6.6rem);
  color: rgba(30,36,48,.042);
}

.aks-section-heading h2 {
  font-size: clamp(1.95rem, 3.35vw, 2.85rem);
}

.aks-card-grid {
  gap: 24px;
}

.aks-page-courses .aks-card-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aks-page-courses .aks-section {
  margin: clamp(44px, 5.5vw, 68px) 0;
}

.aks-course-card .aks-card-body {
  min-height: 220px;
  padding: 20px 22px;
}

.aks-page-courses .aks-course-card .aks-card-body {
  min-height: 230px;
}

.aks-course-card h3,
.aks-card-body h3 {
  font-size: clamp(1.18rem, 1.45vw, 1.42rem);
  line-height: .98;
}

.aks-card-desc {
  min-height: 2.8em;
}

.aks-card-meta {
  gap: 4px;
  margin: 12px 0 14px;
}

.aks-gallery-grid,
.aks-gallery-strip {
  gap: 20px;
}

.aks-album-image {
  height: 120px;
}

.aks-partner-grid {
  gap: 18px;
}

.aks-partner-logo {
  min-height: 70px;
  box-shadow: 0 8px 22px rgba(30,36,48,.045);
}

.aks-final-cta {
  min-height: auto;
  margin: clamp(50px, 6vw, 72px) 0 30px;
  padding: clamp(32px, 4.6vw, 54px) clamp(34px, 5vw, 70px);
  border-radius: 28px;
  gap: clamp(22px, 4vw, 54px);
  background:
    radial-gradient(circle at -4% 92%, rgba(243,146,0,.26), transparent 16%),
    linear-gradient(135deg, #1b222e 0%, #111821 100%);
}

.aks-final-cta::before {
  width: min(58vw, 620px);
  height: auto;
  inset: 42% auto auto clamp(34px, 5vw, 70px);
  content: "ENVIE DE FAIRE PARTIE DE L'AVENTURE ?";
  background: none;
  filter: none;
  border-radius: 0;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(3.2rem, 6vw, 6.2rem);
  line-height: .82;
  color: rgba(255,255,255,.035);
  text-transform: uppercase;
  pointer-events: none;
  transform: translateY(-50%);
}

.aks-final-cta h2 {
  max-width: 760px;
  font-size: clamp(2rem, 3.65vw, 3.2rem);
  line-height: 1;
  letter-spacing: .005em;
}

.aks-final-cta p {
  max-width: 650px;
  color: rgba(255,255,255,.80);
  font-size: clamp(.98rem, 1.3vw, 1.1rem);
}

.aks-final-cta .aks-actions,
.aks-final-cta .aks-btn {
  margin-top: 0;
}

.aks-final-cta .aks-btn-primary {
  min-width: 190px;
  box-shadow: 0 16px 34px rgba(243,146,0,.25);
}

body.aks-generated-page .site-footer,
body.aks-generated-page footer {
  padding-top: 10px;
}

@media (max-width: 1100px) {
  .aks-page-courses .aks-card-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .aks-hero-placeholder,
  .aks-hero-visual,
  .aks-hero-visual img {
    min-height: 230px;
  }

  .aks-final-cta {
    padding: 30px;
  }

  .aks-final-cta::before {
    width: 100%;
    inset: 38% auto auto 30px;
    font-size: clamp(3rem, 14vw, 5rem);
  }
}

@media (max-width: 640px) {
  .aks-page-header {
    padding-top: 36px;
  }

  .aks-page-courses .aks-card-grid-3 {
    grid-template-columns: 1fr;
  }

  .aks-hero h1,
  .aks-page-header h1 {
    font-size: clamp(2.85rem, 14vw, 4.1rem);
  }

  .aks-hero-placeholder {
    display: none;
  }

  .aks-hero-no-image {
    display: block;
  }

  .aks-title-bg {
    font-size: clamp(3rem, 16vw, 4rem);
  }

  .aks-section-heading h2 {
    font-size: clamp(1.8rem, 11vw, 2.55rem);
  }

  .aks-final-cta h2 {
    font-size: clamp(1.9rem, 10vw, 2.65rem);
  }
}


/* V0.4 — corrections d'ordre, CTA final et finition visuelle */

/* La page cours doit respecter l'ordre logique des niveaux. Le PHP le force aussi,
   mais ces marges rendent le début de page moins flottant visuellement. */
.aks-page-courses .aks-page-header {
  padding-bottom: clamp(28px, 4vw, 44px);
}

.aks-page-courses .aks-course-category:first-of-type {
  margin-top: clamp(28px, 4vw, 48px);
}

/* Le CTA final était trop dramatique avec le texte fantôme géant.
   On garde le bloc sombre, mais on retire le bruit visuel. */
.aks-final-cta {
  background:
    radial-gradient(circle at 0% 100%, rgba(243,146,0,.28), transparent 18%),
    linear-gradient(135deg, #1b222e 0%, #111821 100%);
}

.aks-final-cta::before {
  content: "";
  width: 210px;
  height: 210px;
  inset: auto auto -78px -62px;
  background: rgba(243,146,0,.24);
  border-radius: 999px;
  filter: blur(8px);
  transform: none;
}

.aks-final-cta h2 {
  max-width: 720px;
  color: #fff;
}

.aks-final-cta p {
  max-width: 720px;
}

/* Les cartes sans image restent assumées : on leur donne un peu plus de caractère
   sans forcer l'utilisateur à fournir des photos immédiatement. */
.aks-course-card-no-image .aks-card-body,
.aks-card-no-image .aks-card-body {
  background:
    linear-gradient(180deg, rgba(243,146,0,.025), transparent 34%),
    #fff;
}

.aks-course-card::before {
  height: 4px;
}

/* Un peu moins de vide en bas des pages générées. */
.aks-site {
  padding-bottom: clamp(22px, 4vw, 34px);
}

body.aks-generated-page footer,
body.aks-generated-page .site-footer {
  margin-top: 0;
}

@media (max-width: 820px) {
  .aks-final-cta::before {
    width: 180px;
    height: 180px;
    inset: auto auto -70px -60px;
  }
}

/* V0.5 — titres éditoriaux plus proches de la version validée par Cebe
   Le titre orange redevient plus compact, souligné, avec le grand mot en arrière-plan. */
.aks-section-heading {
  min-height: clamp(72px, 7vw, 108px);
  padding-top: clamp(34px, 4vw, 58px);
}

.aks-title-bg {
  top: 0;
  font-size: clamp(4.3rem, 7.6vw, 7.6rem);
  line-height: .78;
  color: rgba(30, 36, 48, .045);
  letter-spacing: .015em;
  transform: skew(-7deg);
  transform-origin: left top;
}

.aks-section-heading h2 {
  font-size: clamp(1.65rem, 2.15vw, 2.25rem);
  line-height: .9;
  color: var(--aks-primary);
  transform: skew(-5deg);
  transform-origin: left bottom;
}

.aks-section-heading h2::after {
  width: calc(100% + 14px);
  height: 3px;
  margin-top: 4px;
  border-radius: 0;
  background: var(--aks-primary);
}

/* Sur la page Nos cours, les titres de catégories doivent rester plus subtils,
   comme dans la première maquette : grand mot pâle + petit libellé orange souligné. */
.aks-page-courses .aks-course-category .aks-section-heading {
  min-height: clamp(58px, 6.2vw, 88px);
  padding-top: clamp(28px, 3.5vw, 48px);
  margin-bottom: 18px;
}

.aks-page-courses .aks-course-category .aks-title-bg {
  font-size: clamp(4rem, 6.5vw, 6.7rem);
  color: rgba(30, 36, 48, .04);
}

.aks-page-courses .aks-course-category .aks-section-heading h2 {
  font-size: clamp(1.22rem, 1.45vw, 1.65rem);
  letter-spacing: .01em;
}

.aks-page-courses .aks-course-category .aks-section-heading h2::after {
  width: calc(100% + 18px);
  height: 3px;
  margin-top: 3px;
}

@media (max-width: 820px) {
  .aks-section-heading {
    min-height: 70px;
    padding-top: 34px;
  }

  .aks-title-bg {
    font-size: clamp(3.6rem, 15vw, 5rem);
    white-space: nowrap;
  }

  .aks-section-heading h2 {
    font-size: clamp(1.35rem, 7vw, 1.9rem);
  }
}


@media (max-width: 767px) {
  .aks-section-heading {
    height: 72px;
  }
  .aks-title-bg,
  .aks-section-heading h2 {
    bottom: 0;
  }
.aks-section-heading h2::after {
    bottom: -11px;
    height: 3px;
    width: 48px;
  }
}


/* V0.9 — titres de section accueil : largeur stable + pas de soulignement */
.aks-homepage .aks-section-top .aks-section-heading {
  flex: 1 1 auto;
  min-width: 260px;
}
.aks-homepage .aks-section-top .aks-section-heading h2,
.aks-homepage .aks-section-top .aks-section-heading .aks-title-bg {
  white-space: nowrap;
}
@media (max-width: 900px) {
  .aks-section-top {
    flex-direction: column;
    align-items: flex-start;
  }
  .aks-homepage .aks-section-top .aks-section-heading {
    min-width: 0;
    width: 100%;
  }
}


/* V0.10 — alignement visuel des bases entre mot de fond et titre orange */
.aks-section-heading .aks-title-bg,
.aks-section-heading h2 {
  transform: translateY(0);
}

/* V0.11 — titres éditoriaux en italique */
.aks-title-bg,
.aks-section-heading h2 {
  font-style: italic;
}


/* V0.12 — cartes de cours + footer, sans toucher au système de titres */
.aks-course-card {
  border-radius: 17px;
  border: 1px solid rgba(30,36,48,.075);
  box-shadow: 0 16px 34px rgba(30,36,48,.055);
  background:
    linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 72%, rgba(245,240,232,.34) 100%);
}

.aks-course-card::before {
  height: 4px;
}

.aks-course-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 42px rgba(30,36,48,.085);
}

.aks-course-card-compact .aks-card-body,
.aks-course-card .aks-card-body {
  padding: 20px 20px 18px;
}

.aks-course-card-compact .aks-card-body {
  min-height: 255px;
  grid-template-rows: auto auto auto 1fr auto;
}

.aks-card-body h3 {
  font-size: clamp(1.25rem, 1.45vw, 1.55rem);
  letter-spacing: .01em;
}

.aks-card-desc {
  min-height: 42px;
  margin: 9px 0 14px;
  color: rgba(30,36,48,.72);
}

.aks-pill {
  width: 100%;
  justify-content: flex-start;
  min-height: 28px;
  padding: 6px 12px;
  background: color-mix(in srgb, var(--aks-primary) 13%, #fff);
}

.aks-card-meta {
  gap: 7px;
  margin: 14px 0 15px;
  font-size: .84rem;
}

.aks-card-meta span {
  display: block;
}

.aks-card-meta strong {
  font-weight: 950;
}

.aks-card-link {
  margin-top: auto;
  font-size: .88rem;
  font-weight: 950;
}

.aks-card-grid {
  gap: 24px;
}

/* Footer Kadence / thème : rendu moins vide sur les pages générées */
body.aks-generated-page footer,
body.aks-generated-page .site-footer,
body.aks-generated-page #colophon {
  margin-top: 64px;
}

body.aks-generated-page .site-footer,
body.aks-generated-page #colophon {
  border-top: 1px solid rgba(30,36,48,.08);
}

body.aks-generated-page .site-footer-row-container-inner,
body.aks-generated-page .site-footer .site-container,
body.aks-generated-page #colophon .site-container,
body.aks-generated-page footer .site-container {
  max-width: 1120px;
  margin-inline: auto;
}

body.aks-generated-page .site-footer,
body.aks-generated-page #colophon,
body.aks-generated-page footer {
  color: rgba(30,36,48,.72);
}

body.aks-generated-page .site-footer a,
body.aks-generated-page #colophon a,
body.aks-generated-page footer a {
  color: var(--aks-dark);
  text-decoration: none;
}

body.aks-generated-page .site-footer a:hover,
body.aks-generated-page #colophon a:hover,
body.aks-generated-page footer a:hover {
  color: var(--aks-primary);
}

/* Mobile : cartes plus respirantes, pas de mini-colonnes ridicules */
@media (max-width: 767px) {
  .aks-course-card-compact .aks-card-body,
  .aks-course-card .aks-card-body {
    padding: 18px;
    min-height: auto;
  }

  .aks-card-desc {
    min-height: 0;
  }

  body.aks-generated-page footer,
  body.aks-generated-page .site-footer,
  body.aks-generated-page #colophon {
    margin-top: 44px;
  }
}


/* V0.13 — ajustements visibles après test réel : cartes accueil + footer */
.aks-home .aks-section-courses-home .aks-card-grid-5 {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.aks-home .aks-section-courses-home .aks-course-card-compact .aks-card-body {
  min-height: 270px;
}

/* Sur la page complète Nos cours, on garde 3 colonnes stables et lisibles */
.aks-page-courses .aks-card-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Footer Kadence / thème : limiter l'effet vide et éviter le copyright cassé */
body.aks-generated-page .site-footer,
body.aks-generated-page #colophon,
body.aks-generated-page footer {
  margin-top: 56px !important;
}

body.aks-generated-page .site-footer .site-container,
body.aks-generated-page #colophon .site-container,
body.aks-generated-page footer .site-container,
body.aks-generated-page .site-footer-row-container-inner,
body.aks-generated-page .site-footer-section,
body.aks-generated-page .footer-widget-area {
  max-width: 1120px !important;
}

body.aks-generated-page .site-footer-row,
body.aks-generated-page .site-footer-row-container-inner,
body.aks-generated-page .footer-html-inner,
body.aks-generated-page .site-info-inner {
  align-items: center;
}

body.aks-generated-page .footer-html-inner,
body.aks-generated-page .site-info-inner,
body.aks-generated-page .site-footer .site-info,
body.aks-generated-page #colophon .site-info {
  white-space: normal;
  line-height: 1.7;
}

body.aks-generated-page .footer-social-inner-wrap,
body.aks-generated-page .site-footer .social-show-label-false {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

/* Mobile */
@media (max-width: 900px) {
  .aks-page-courses .aks-card-grid-3,
  .aks-home .aks-section-courses-home .aks-card-grid-5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .aks-page-courses .aks-card-grid-3,
  .aks-home .aks-section-courses-home .aks-card-grid-5 {
    grid-template-columns: 1fr;
  }

  body.aks-generated-page .site-footer-row,
  body.aks-generated-page .site-footer-row-container-inner {
    text-align: left;
  }
}


/* V0.14 — pages internes plus compactes + footer plus stable.
   Ne touche pas aux titres éditoriaux validés. */

/* Les pages internes étaient trop descendues : on garde de l'air, mais moins de vide. */
body.aks-generated-page:not(.aks-generated-home) .aks-site.aks-page {
  padding-top: clamp(18px, 2.8vw, 40px);
  padding-bottom: clamp(18px, 3vw, 30px);
}

body.aks-generated-page:not(.aks-generated-home) .aks-page-header {
  padding: clamp(32px, 4.2vw, 56px) 0 clamp(18px, 2.6vw, 28px);
}

body.aks-generated-page:not(.aks-generated-home) .aks-page-header h1 {
  font-size: clamp(4.2rem, 8vw, 7rem);
}

/* Pages courtes : éviter l'impression de grand panneau vide avant le footer. */
body.aks-generated-agenda .aks-site,
body.aks-generated-gallery .aks-site,
body.aks-generated-documents .aks-site,
body.aks-generated-team .aks-site,
body.aks-generated-contact .aks-site,
body.aks-generated-registrations .aks-site {
  margin-bottom: 0;
}

body.aks-generated-agenda .aks-empty-card,
body.aks-generated-contact .aks-contact-card,
body.aks-generated-documents .aks-document-card,
body.aks-generated-registrations .aks-process > div {
  box-shadow: 0 14px 32px rgba(30,36,48,.055);
}

/* Galerie et équipe : un peu plus de tenue sur les pages internes. */
body.aks-generated-gallery .aks-gallery-grid,
body.aks-generated-team .aks-team-grid {
  margin-top: 8px;
}

/* Footer Kadence : donner plus de largeur au copyright et réduire la cassure. */
body.aks-generated-page .site-footer,
body.aks-generated-page #colophon,
body.aks-generated-page footer {
  margin-top: 36px !important;
}

body.aks-generated-page .site-footer-row-container-inner,
body.aks-generated-page .site-footer-row,
body.aks-generated-page .site-footer-section,
body.aks-generated-page .footer-html-inner,
body.aks-generated-page .site-info,
body.aks-generated-page .site-info-inner {
  min-width: 0;
}

body.aks-generated-page .footer-html-inner,
body.aks-generated-page .site-info,
body.aks-generated-page .site-info-inner {
  max-width: none !important;
}

@media (min-width: 900px) {
  body.aks-generated-page .footer-html-inner,
  body.aks-generated-page .site-info,
  body.aks-generated-page .site-info-inner {
    white-space: nowrap;
  }

  body.aks-generated-page .site-footer-section:first-child {
    flex: 1 1 auto;
  }

  body.aks-generated-page .site-footer-section:last-child {
    flex: 0 0 auto;
  }
}

@media (max-width: 760px) {
  body.aks-generated-page:not(.aks-generated-home) .aks-site.aks-page {
    padding-top: 18px;
  }

  body.aks-generated-page:not(.aks-generated-home) .aks-page-header {
    padding-top: 28px;
  }

  body.aks-generated-page .footer-html-inner,
  body.aks-generated-page .site-info,
  body.aks-generated-page .site-info-inner {
    white-space: normal;
  }
}


/* V0.17 — presets Event / Trail et Société locale */
.aks-about-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: 28px;
  align-items: start;
}

.aks-about-copy,
.aks-practical-notes {
  padding: clamp(26px, 4vw, 44px);
  background: #fff;
  border: 1px solid rgba(30,36,48,.08);
  border-radius: 20px;
  box-shadow: var(--aks-shadow-soft);
}

.aks-about-copy h2,
.aks-practical-notes h2 {
  margin-top: 0;
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
  text-transform: uppercase;
  color: var(--aks-dark);
}

.aks-about-copy p,
.aks-practical-notes p { color: var(--aks-muted); line-height: 1.7; }
.aks-about-layout .aks-stats { margin: 0; grid-template-columns: repeat(2, minmax(0,1fr)); border-radius: 20px; }

.aks-practical-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

.aks-practical-grid article {
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  background: #fff;
  border: 1px solid rgba(30,36,48,.08);
  border-radius: 18px;
  box-shadow: var(--aks-shadow-soft);
}

.aks-practical-grid span {
  color: var(--aks-primary);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.aks-practical-grid strong {
  font-family: "Bebas Neue", Impact, sans-serif;
  font-size: clamp(1.65rem, 3vw, 2.6rem);
  line-height: 1;
  color: var(--aks-dark);
  text-transform: uppercase;
}

.aks-practical-notes { margin-top: 24px; }

/* Event / Trail : plus franc, plus contrasté, moins club scolaire. */
.aks-template-event .aks-hero {
  background: linear-gradient(135deg, #16221f 0%, #0f1715 100%);
  border-radius: 10px;
  border-color: rgba(255,255,255,.08);
  box-shadow: 0 24px 58px rgba(15,23,21,.18);
}

.aks-template-event .aks-hero h1 { color: #fff; }
.aks-template-event .aks-hero-text { color: rgba(255,255,255,.74); }
.aks-template-event .aks-hero-placeholder {
  background: linear-gradient(135deg, color-mix(in srgb, var(--aks-primary) 38%, #192520), #101715);
}
.aks-template-event .aks-hero-placeholder span { color: #fff; background: rgba(16,23,21,.75); }
body.aks-template-event:not(.aks-event-style-alpine) .aks-btn-secondary { background: transparent !important; color: #fff !important; border-color: rgba(255,255,255,.35); }
.aks-template-event .aks-stats { border-radius: 0 0 10px 10px; }
.aks-template-event .aks-course-card { border-radius: 8px; }
.aks-template-event .aks-course-card::before { height: 6px; }
.aks-template-event .aks-final-cta { border-radius: 10px; }
.aks-template-event .aks-practical-grid article { border-radius: 8px; }

/* Société locale : plus douce et éditoriale. */
.aks-template-local .aks-hero {
  border-radius: 30px;
  background: linear-gradient(135deg, #fff 0%, color-mix(in srgb, var(--aks-primary) 8%, var(--aks-bg)) 100%);
}
.aks-template-local .aks-course-card,
.aks-template-local .aks-album-card,
.aks-template-local .aks-person-card { border-radius: 24px; }
.aks-template-local .aks-final-cta { border-radius: 30px; }
.aks-template-local .aks-stats { border-radius: 22px; }

@media (max-width: 820px) {
  .aks-about-layout { grid-template-columns: 1fr; }
  .aks-practical-grid { grid-template-columns: 1fr; }
  .aks-about-layout .aks-stats { grid-template-columns: repeat(2, minmax(0,1fr)); }
}


/* ======================================================================
   V0.18 — trois identités visuelles réellement distinctes
   Club & Cours reste la référence validée. Event et Local changent de
   typographie, rythme, hero, titres, cartes, CTA et footer.
   ====================================================================== */

.aks-btn-primary {
  color: var(--aks-on-primary, #fff) !important;
}

.aks-final-cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

/* ----------------------------------------------------------------------
   PRESET EVENT / TRAIL
   ---------------------------------------------------------------------- */
body.aks-template-event.aks-generated-page {
  background: #f4f2ea;
}

.aks-template-event .aks-site {
  --aks-event-dark: #101614;
  --aks-event-surface: #18201d;
  --aks-event-muted: #b7c0bb;
  --aks-radius: 8px;
  --aks-shadow: 0 18px 48px rgba(16, 22, 20, .16);
  --aks-shadow-soft: 0 10px 30px rgba(16, 22, 20, .09);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.aks-template-event .aks-hero h1,
.aks-template-event .aks-page-header h1,
.aks-template-event .aks-section-heading h2,
.aks-template-event .aks-card-body h3,
.aks-template-event .aks-final-cta h2,
.aks-template-event .aks-process h3,
.aks-template-event .aks-practical-grid strong,
.aks-template-event .aks-about-copy h2 {
  font-family: "Arial Narrow", "Roboto Condensed", Impact, sans-serif;
  font-stretch: condensed;
  text-transform: uppercase;
}

/* Header du thème : sombre et tranché. */
body.aks-template-event.aks-generated-page .site-header,
body.aks-template-event.aks-generated-page #masthead,
body.aks-template-event.aks-generated-page .site-header-wrap {
  background: var(--aks-event-dark) !important;
  border-bottom-color: rgba(255,255,255,.1) !important;
}

body.aks-template-event.aks-generated-page .site-header a,
body.aks-template-event.aks-generated-page #masthead a,
body.aks-template-event.aks-generated-page .site-header .menu-toggle-open {
  color: #fff !important;
}

body.aks-template-event.aks-generated-page .site-header a:hover,
body.aks-template-event.aks-generated-page #masthead a:hover {
  color: var(--aks-primary) !important;
}

/* Hero plein visuel. */
.aks-template-event .aks-event-hero {
  position: relative;
  display: block;
  min-height: clamp(560px, 72vh, 760px);
  margin-top: 24px;
  overflow: hidden;
  border: 0;
  border-radius: 8px;
  background: var(--aks-event-dark);
  box-shadow: 0 28px 70px rgba(16,22,20,.28);
  isolation: isolate;
}

.aks-event-hero-media,
.aks-event-hero-shade {
  position: absolute;
  inset: 0;
}

.aks-event-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.85) contrast(1.06);
}

.aks-event-hero-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  background:
    repeating-radial-gradient(ellipse at 80% 45%, transparent 0 19px, rgba(199,255,61,.10) 20px 21px, transparent 22px 39px),
    linear-gradient(125deg, #1d2925 0%, #0d1412 70%);
}

.aks-event-hero-placeholder span {
  max-width: 260px;
  padding: 14px 18px;
  color: #fff;
  background: rgba(16,22,20,.75);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 4px;
  font-weight: 800;
  text-align: center;
}

.aks-event-hero-shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(7,11,10,.94) 0%, rgba(7,11,10,.76) 46%, rgba(7,11,10,.14) 82%),
    linear-gradient(0deg, rgba(7,11,10,.64), transparent 52%);
}

.aks-event-hero-content {
  position: relative;
  z-index: 2;
  width: min(760px, 76%);
  min-height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(52px, 8vw, 108px);
}

.aks-event-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}

.aks-event-hero-meta span {
  padding: 7px 10px;
  color: #fff;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 3px;
  font-size: .76rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.aks-template-event .aks-event-hero .aks-eyebrow {
  color: var(--aks-primary);
  font-style: normal;
}

.aks-template-event .aks-event-hero h1 {
  max-width: 840px;
  color: #fff;
  font-size: clamp(4.4rem, 10vw, 9.6rem);
  line-height: .76;
  letter-spacing: -.025em;
}

.aks-template-event .aks-event-hero .aks-hero-text {
  max-width: 650px;
  color: rgba(255,255,255,.78);
  font-size: clamp(1rem, 1.45vw, 1.2rem);
}

.aks-template-event .aks-btn {
  min-height: 50px;
  padding: 14px 24px;
  border-radius: 4px;
  font-size: .82rem;
  letter-spacing: .055em;
  text-transform: uppercase;
}

body.aks-template-event:not(.aks-event-style-alpine) .aks-btn-primary {
  box-shadow: 7px 7px 0 rgba(199,255,61,.16);
}

body.aks-template-event:not(.aks-event-style-alpine) .aks-btn-secondary {
  color: #fff !important;
  background: rgba(16,22,20,.34) !important;
  border-color: rgba(255,255,255,.42);
}

.aks-event-hero-deadline {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  min-width: min(360px, 42%);
  padding: 20px 26px;
  color: var(--aks-on-primary, #101614);
  background: var(--aks-primary);
  border-left: 8px solid rgba(16,22,20,.2);
}

.aks-event-hero-deadline span,
.aks-event-hero-deadline strong {
  display: block;
}

.aks-event-hero-deadline span {
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.aks-event-hero-deadline strong {
  margin-top: 3px;
  font-size: 1.05rem;
}

/* Chiffres : barre technique, numérotée. */
.aks-template-event .aks-stats-event {
  margin: -1px 0 clamp(48px, 6vw, 74px);
  padding: 0;
  overflow: hidden;
  color: #fff;
  background: var(--aks-event-dark);
  border: 0;
  border-radius: 0 0 8px 8px;
  box-shadow: none;
}

.aks-template-event .aks-stats-event .aks-stat {
  position: relative;
  min-height: 132px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.13);
}

.aks-template-event .aks-stats-event .aks-stat:last-child { border-right: 0; }
.aks-template-event .aks-stats-event small {
  position: absolute;
  top: 14px;
  right: 16px;
  color: rgba(255,255,255,.26);
  font-family: ui-monospace, monospace;
  font-size: .72rem;
}
.aks-template-event .aks-stats-event strong {
  color: var(--aks-primary);
  font-family: "Arial Narrow", Impact, sans-serif;
  font-size: clamp(2.6rem, 5vw, 4.5rem);
  line-height: .8;
}
.aks-template-event .aks-stats-event span {
  margin-top: 10px;
  color: rgba(255,255,255,.72);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Titres de section Event : barre, aucun mot fantôme. */
.aks-template-event .aks-section-heading {
  position: relative;
  height: auto;
  min-height: 0;
  padding: 0 0 15px 20px;
  border-bottom: 1px solid rgba(16,22,20,.18);
}
.aks-template-event .aks-title-bg { display: none; }
.aks-template-event .aks-section-heading h2 {
  position: static;
  width: auto;
  max-width: none;
  color: var(--aks-event-dark);
  font-size: clamp(2.3rem, 5vw, 4.3rem);
  line-height: .86;
  font-style: normal;
  letter-spacing: -.02em;
  white-space: normal;
}
.aks-template-event .aks-section-heading h2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 15px;
  width: 7px;
  background: var(--aks-primary);
}
.aks-template-event .aks-section-heading h2::after { display: none !important; }
.aks-template-event .aks-section-top { align-items: end; }
.aks-template-event .aks-text-link,
.aks-template-event .aks-card-link {
  color: var(--aks-event-dark) !important;
  font-size: .75rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Parcours : cartes sombres et données comparables. */
.aks-template-event .aks-card-grid { gap: 16px; }
.aks-template-event .aks-content-card-event {
  overflow: hidden;
  color: #fff;
  background: var(--aks-event-surface);
  border: 1px solid rgba(16,22,20,.22);
  border-radius: 7px;
  box-shadow: 0 12px 28px rgba(16,22,20,.12);
}
.aks-template-event .aks-content-card-event::before { height: 7px; }
.aks-template-event .aks-content-card-event:hover {
  transform: translateY(-5px);
  box-shadow: 0 22px 44px rgba(16,22,20,.2);
}
.aks-template-event .aks-content-card-event .aks-card-image {
  height: 185px;
  background: #0e1513;
}
.aks-template-event .aks-content-card-event .aks-card-image img {
  filter: saturate(.78) contrast(1.08);
}
.aks-template-event .aks-trail-card-body {
  min-height: 330px;
  display: flex;
  flex-direction: column;
  padding: 22px;
}
.aks-trail-card-heading {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 10px;
}
.aks-trail-card-index {
  color: var(--aks-primary);
  font-size: 1.3rem;
  line-height: 1;
}
.aks-template-event .aks-trail-card-body h3 {
  color: #fff;
  font-size: clamp(1.65rem, 2.5vw, 2.25rem);
  line-height: .9;
}
.aks-template-event .aks-trail-card-body .aks-card-desc {
  min-height: 0;
  color: var(--aks-event-muted);
}
.aks-trail-specs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 1px;
  margin: 8px 0 16px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.12);
}
.aks-trail-specs > div {
  min-width: 0;
  padding: 12px 10px;
  background: var(--aks-event-surface);
}
.aks-trail-specs span,
.aks-trail-specs strong { display: block; }
.aks-trail-specs span {
  color: rgba(255,255,255,.46);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.aks-trail-specs strong {
  margin-top: 5px;
  color: var(--aks-primary);
  font-size: .82rem;
  line-height: 1.25;
}
.aks-trail-card-footnote {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-bottom: 18px;
  color: rgba(255,255,255,.58);
  font-size: .76rem;
}
.aks-template-event .aks-trail-card-body .aks-card-link {
  margin-top: auto;
  color: var(--aks-primary) !important;
}

/* Infos pratiques et pages internes Event. */
.aks-template-event .aks-page-header {
  margin-top: 24px;
  padding: clamp(42px, 7vw, 76px);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(199,255,61,.06), transparent 40%),
    var(--aks-event-dark);
  border-radius: 8px;
}
.aks-template-event .aks-page-header h1 {
  max-width: 930px !important;
  color: #fff;
  font-size: clamp(4rem, 10vw, 8rem) !important;
  line-height: .78;
}
.aks-template-event .aks-page-header p:not(.aks-eyebrow) { color: rgba(255,255,255,.68); }
.aks-template-event .aks-page-header .aks-eyebrow { color: var(--aks-primary); font-style: normal; }

.aks-template-event .aks-practical-grid { gap: 10px; }
.aks-template-event .aks-practical-grid article {
  min-height: 170px;
  padding: 24px;
  color: #fff;
  background: var(--aks-event-surface);
  border: 1px solid rgba(16,22,20,.2);
  border-radius: 6px;
  box-shadow: none;
}
.aks-template-event .aks-practical-grid span { color: var(--aks-primary); font-style: normal; }
.aks-template-event .aks-practical-grid strong { color: #fff; }
.aks-template-event .aks-practical-notes,
.aks-template-event .aks-about-copy,
.aks-template-event .aks-contact-card,
.aks-template-event .aks-process > div {
  border-radius: 6px;
  box-shadow: none;
  border-color: rgba(16,22,20,.17);
}
.aks-template-event .aks-process > div { text-align: left; }
.aks-template-event .aks-process strong {
  width: 50px;
  height: 50px;
  color: var(--aks-on-primary, #101614);
  background: var(--aks-primary);
  border-radius: 3px;
}

.aks-template-event .aks-album-card {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: none;
}
.aks-template-event .aks-album-image { height: 190px; }
.aks-template-event .aks-album-card h3 { font-family: "Arial Narrow", Impact, sans-serif; }
.aks-template-event .aks-partner-logo { border-radius: 4px; }

.aks-template-event .aks-final-cta-event {
  min-height: 330px;
  border-radius: 8px;
  background:
    repeating-linear-gradient(135deg, transparent 0 22px, rgba(255,255,255,.025) 23px 24px),
    var(--aks-event-dark);
}
.aks-template-event .aks-final-cta-event::before {
  width: 360px;
  height: 360px;
  inset: auto -100px -150px auto;
  background: var(--aks-primary);
  opacity: .14;
  filter: none;
}
.aks-template-event .aks-final-cta-event h2 {
  font-size: clamp(3rem, 7vw, 6rem);
  line-height: .8;
}
.aks-template-event .aks-final-cta-event .aks-btn-secondary {
  background: transparent !important;
}

body.aks-template-event.aks-generated-page .site-footer,
body.aks-template-event.aks-generated-page #colophon,
body.aks-template-event.aks-generated-page footer {
  color: rgba(255,255,255,.68) !important;
  background: var(--aks-event-dark) !important;
  border-top-color: rgba(255,255,255,.12) !important;
}
body.aks-template-event.aks-generated-page .site-footer a,
body.aks-template-event.aks-generated-page #colophon a,
body.aks-template-event.aks-generated-page footer a { color: #fff !important; }
body.aks-template-event.aks-generated-page .site-footer a:hover,
body.aks-template-event.aks-generated-page #colophon a:hover,
body.aks-template-event.aks-generated-page footer a:hover { color: var(--aks-primary) !important; }

/* ----------------------------------------------------------------------
   PRESET SOCIÉTÉ LOCALE
   ---------------------------------------------------------------------- */
body.aks-template-local.aks-generated-page {
  background: #f7f4ee;
}

.aks-template-local .aks-site {
  --aks-local-ink: #252a31;
  --aks-local-blue: #20324a;
  --aks-local-red: #a64b45;
  --aks-local-ivory: #f7f4ee;
  --aks-radius: 10px;
  --aks-shadow: 0 14px 34px rgba(32,50,74,.08);
  --aks-shadow-soft: 0 7px 20px rgba(32,50,74,.055);
  color: var(--aks-local-ink);
  font-family: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
}

.aks-template-local .aks-hero h1,
.aks-template-local .aks-page-header h1,
.aks-template-local .aks-section-heading h2,
.aks-template-local .aks-final-cta h2,
.aks-template-local .aks-about-copy h2 {
  font-family: Georgia, "Times New Roman", serif;
  text-transform: none;
  font-style: normal;
  letter-spacing: -.025em;
}

body.aks-template-local.aks-generated-page .site-header,
body.aks-template-local.aks-generated-page #masthead,
body.aks-template-local.aks-generated-page .site-header-wrap {
  background: #fffdf9 !important;
  border-bottom: 1px solid rgba(32,50,74,.13) !important;
}
body.aks-template-local.aks-generated-page .site-header a,
body.aks-template-local.aks-generated-page #masthead a { color: var(--aks-local-blue) !important; }
body.aks-template-local.aks-generated-page .site-header a:hover,
body.aks-template-local.aks-generated-page #masthead a:hover { color: var(--aks-local-red) !important; }

/* Hero éditorial, cadré comme une page de magazine local. */
.aks-template-local .aks-local-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.07fr) minmax(320px, .93fr);
  margin-top: 30px;
  overflow: visible;
  background: #fffdf9;
  border: 1px solid rgba(32,50,74,.14);
  border-radius: 12px;
  box-shadow: none;
}
.aks-local-hero-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 7vw, 86px);
}
.aks-template-local .aks-local-hero .aks-eyebrow {
  color: var(--aks-local-red);
  font-style: normal;
  letter-spacing: .16em;
}
.aks-template-local .aks-local-hero h1 {
  max-width: 760px;
  color: var(--aks-local-blue);
  font-size: clamp(3.5rem, 7vw, 6.7rem);
  line-height: .94;
}
.aks-template-local .aks-local-hero .aks-hero-text {
  max-width: 610px;
  color: #59616b;
  font-size: 1.08rem;
}
.aks-template-local .aks-btn {
  border-radius: 7px;
  box-shadow: none;
}
.aks-template-local .aks-btn-primary {
  background: var(--aks-primary);
  border: 1px solid var(--aks-primary);
}
.aks-template-local .aks-btn-secondary {
  color: var(--aks-local-blue) !important;
  background: transparent !important;
  border-color: rgba(32,50,74,.28);
}
.aks-local-since {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 34px 0 0;
  padding-top: 18px;
  color: #68717d;
  border-top: 1px solid rgba(32,50,74,.16);
  font-size: .82rem;
}
.aks-local-since span { text-transform: uppercase; letter-spacing: .08em; }
.aks-local-since strong { color: var(--aks-local-blue); }
.aks-local-hero-visual {
  position: relative;
  min-height: 500px;
  margin: 28px 28px 28px 0;
  overflow: hidden;
  border-radius: 7px;
  background: var(--aks-local-ivory);
}
.aks-local-hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.aks-local-hero-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  padding: 36px;
  text-align: center;
  background:
    linear-gradient(rgba(32,50,74,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32,50,74,.035) 1px, transparent 1px),
    #f3efe7;
  background-size: 34px 34px;
}
.aks-local-hero-placeholder > span {
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  margin: 0 auto 18px;
  color: var(--aks-local-red);
  border: 1px solid rgba(166,75,69,.36);
  border-radius: 50%;
  font-family: Georgia, serif;
  font-size: 4.6rem;
  line-height: 1;
}
.aks-local-hero-placeholder p {
  max-width: 230px;
  margin: 0;
  color: #68717d;
}

/* Introduction éditoriale + chiffres intégrés. */
.aks-local-intro {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(440px, 1.1fr);
  gap: clamp(32px, 6vw, 82px);
  align-items: center;
  margin: clamp(62px, 8vw, 100px) 0;
  padding: clamp(34px, 5vw, 64px) 0;
  border-top: 1px solid rgba(32,50,74,.14);
  border-bottom: 1px solid rgba(32,50,74,.14);
}
.aks-local-intro-copy h2 {
  max-width: 680px;
  margin: 0;
  color: var(--aks-local-blue);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.4rem, 4.8vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.025em;
}
.aks-local-intro-copy > p:not(.aks-eyebrow) {
  max-width: 590px;
  color: #68717d;
  font-size: 1.05rem;
  line-height: 1.72;
}
.aks-template-local .aks-stats-local {
  grid-template-columns: repeat(2, minmax(0,1fr));
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.aks-template-local .aks-stats-local .aks-stat {
  min-height: 130px;
  padding: 24px;
  text-align: left;
  border-left: 1px solid rgba(32,50,74,.16);
  border-bottom: 1px solid rgba(32,50,74,.16);
}
.aks-template-local .aks-stats-local .aks-stat:nth-last-child(-n+2) { border-bottom: 0; }
.aks-template-local .aks-stats-local strong {
  color: var(--aks-local-blue);
  font-family: Georgia, serif;
  font-size: clamp(2.4rem, 5vw, 4.4rem);
  font-weight: 400;
}
.aks-template-local .aks-stats-local span {
  color: #68717d;
  font-size: .76rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Titres éditoriaux : serif, ligne rouge, aucun mot fantôme. */
.aks-template-local .aks-section-heading {
  position: relative;
  height: auto;
  min-height: 0;
  padding: 0 0 18px;
  border-bottom: 1px solid rgba(32,50,74,.16);
}
.aks-template-local .aks-title-bg { display: none; }
.aks-template-local .aks-section-heading h2 {
  position: static;
  width: auto;
  max-width: 820px;
  color: var(--aks-local-blue);
  font-size: clamp(2.2rem, 4.2vw, 3.8rem);
  line-height: 1;
  white-space: normal;
}
.aks-template-local .aks-section-heading h2::after {
  display: block !important;
  width: 52px;
  height: 3px;
  margin-top: 15px;
  background: var(--aks-local-red);
}
.aks-template-local .aks-text-link,
.aks-template-local .aks-card-link {
  color: var(--aks-local-blue) !important;
  font-weight: 750;
}
.aks-template-local .aks-text-link:hover,
.aks-template-local .aks-card-link:hover { color: var(--aks-local-red) !important; }

/* Activités : sobres, bordées, peu d'ombre. */
.aks-template-local .aks-card-grid { gap: 20px; }
.aks-template-local .aks-content-card-local {
  overflow: hidden;
  background: #fffdf9;
  border: 1px solid rgba(32,50,74,.16);
  border-radius: 9px;
  box-shadow: none;
}
.aks-template-local .aks-content-card-local::before { display: none; }
.aks-template-local .aks-content-card-local:hover {
  transform: translateY(-2px);
  border-color: rgba(166,75,69,.42);
  box-shadow: 0 12px 28px rgba(32,50,74,.08);
}
.aks-template-local .aks-content-card-local .aks-card-image { height: 190px; }
.aks-template-local .aks-local-card-body {
  min-height: 350px;
  display: flex;
  flex-direction: column;
  padding: 24px;
}
.aks-local-card-type {
  margin: 0 0 10px;
  color: var(--aks-local-red);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.aks-template-local .aks-local-card-body h3 {
  color: var(--aks-local-blue);
  font-family: Georgia, serif;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.08;
  text-transform: none;
}
.aks-template-local .aks-local-card-body .aks-card-desc {
  min-height: 0;
  color: #68717d;
}
.aks-local-card-details {
  display: grid;
  gap: 0;
  margin: 10px 0 18px;
  border-top: 1px solid rgba(32,50,74,.12);
}
.aks-local-card-details > div {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(32,50,74,.1);
}
.aks-local-card-details dt {
  color: #8a6260;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.aks-local-card-details dd {
  margin: 0;
  color: #4f5862;
  font-size: .84rem;
}
.aks-local-card-price {
  margin: 0 0 16px;
  color: var(--aks-local-blue);
  font-weight: 800;
}
.aks-template-local .aks-local-card-body .aks-card-link { margin-top: auto; }

/* Agenda local : liste chronologique et calme. */
.aks-template-local .aks-event-grid {
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid rgba(32,50,74,.16);
}
.aks-template-local .aks-event-card {
  display: grid;
  grid-template-columns: 110px minmax(0,1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 22px 4px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(32,50,74,.16);
  border-radius: 0;
  box-shadow: none;
}
.aks-template-local .aks-event-date {
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  color: var(--aks-local-red);
  background: transparent;
  border-radius: 0;
  font-family: "Source Sans 3", system-ui, sans-serif;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.aks-template-local .aks-event-card h3 {
  color: var(--aks-local-blue);
  font-family: Georgia, serif;
  font-size: 1.45rem;
  text-transform: none;
}
.aks-template-local .aks-event-card p { margin: 5px 0 0; }
.aks-template-local .aks-event-card a { color: var(--aks-local-blue) !important; white-space: nowrap; }

.aks-template-local .aks-page-header {
  padding-left: 0;
  border-bottom: 1px solid rgba(32,50,74,.16);
}
.aks-template-local .aks-page-header h1 {
  max-width: 920px !important;
  color: var(--aks-local-blue);
  font-size: clamp(3.4rem, 7vw, 6.3rem) !important;
  line-height: .98;
}
.aks-template-local .aks-page-header .aks-eyebrow {
  color: var(--aks-local-red);
  font-style: normal;
}
.aks-template-local .aks-about-copy,
.aks-template-local .aks-contact-card,
.aks-template-local .aks-document-card,
.aks-template-local .aks-person-card,
.aks-template-local .aks-album-card,
.aks-template-local .aks-process > div {
  border-radius: 9px;
  box-shadow: none;
  border-color: rgba(32,50,74,.15);
}
.aks-template-local .aks-process > div { text-align: left; }
.aks-template-local .aks-process strong {
  width: auto;
  height: auto;
  display: block;
  color: var(--aks-local-red);
  background: transparent;
  border-radius: 0;
  font-family: Georgia, serif;
  font-size: 3.5rem;
  font-weight: 400;
}
.aks-template-local .aks-process h3 {
  color: var(--aks-local-blue);
  font-family: Georgia, serif;
  text-transform: none;
}
.aks-template-local .aks-document-card {
  grid-template-columns: 58px 1fr auto;
  border-left: 4px solid var(--aks-local-red);
}
.aks-template-local .aks-doc-icon {
  color: var(--aks-local-blue);
  background: #eee8de;
  border-radius: 5px;
}
.aks-template-local .aks-person-photo { border-radius: 6px; }
.aks-template-local .aks-person-photo span {
  color: var(--aks-local-blue);
  font-family: Georgia, serif;
  font-weight: 400;
}
.aks-template-local .aks-album-image {
  height: 185px;
  border-bottom: 1px solid rgba(32,50,74,.12);
}
.aks-template-local .aks-partner-logo { border-radius: 6px; box-shadow: none; }

.aks-template-local .aks-final-cta-local {
  color: var(--aks-local-blue);
  background: #eee8de;
  border: 1px solid rgba(32,50,74,.14);
  border-radius: 10px;
}
.aks-template-local .aks-final-cta-local::before {
  width: 220px;
  height: 220px;
  inset: auto -80px -110px auto;
  background: transparent;
  border: 1px solid rgba(166,75,69,.18);
  filter: none;
}
.aks-template-local .aks-final-cta-local h2 { color: var(--aks-local-blue); }
.aks-template-local .aks-final-cta-local p { color: #68717d; }
.aks-template-local .aks-final-cta-local .aks-eyebrow { color: var(--aks-local-red); }
.aks-template-local .aks-final-cta-local .aks-btn-secondary {
  color: var(--aks-local-blue) !important;
  background: transparent !important;
}

body.aks-template-local.aks-generated-page .site-footer,
body.aks-template-local.aks-generated-page #colophon,
body.aks-template-local.aks-generated-page footer {
  color: rgba(255,255,255,.72) !important;
  background: var(--aks-local-blue) !important;
  border-top-color: rgba(255,255,255,.12) !important;
}
body.aks-template-local.aks-generated-page .site-footer a,
body.aks-template-local.aks-generated-page #colophon a,
body.aks-template-local.aks-generated-page footer a { color: #fff !important; }
body.aks-template-local.aks-generated-page .site-footer a:hover,
body.aks-template-local.aks-generated-page #colophon a:hover,
body.aks-template-local.aks-generated-page footer a:hover { color: #e6b7b2 !important; }

/* ----------------------------------------------------------------------
   Responsive des deux nouveaux univers
   ---------------------------------------------------------------------- */
@media (max-width: 1020px) {
  .aks-event-hero-content { width: 88%; }
  .aks-local-intro { grid-template-columns: 1fr; }
  .aks-template-local .aks-local-hero { grid-template-columns: 1fr; }
  .aks-local-hero-visual { min-height: 360px; margin: 0 28px 28px; }
}

@media (max-width: 820px) {
  .aks-template-event .aks-event-hero {
    min-height: 620px;
    margin-top: 10px;
  }
  .aks-event-hero-content {
    width: 100%;
    justify-content: flex-start;
    padding: 48px 28px 150px;
  }
  .aks-event-hero-shade {
    background: linear-gradient(0deg, rgba(7,11,10,.96) 0%, rgba(7,11,10,.75) 72%, rgba(7,11,10,.42) 100%);
  }
  .aks-event-hero-deadline {
    right: 18px;
    left: 18px;
    min-width: 0;
    border-left: 0;
  }
  .aks-template-event .aks-stats-event { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .aks-template-event .aks-stats-event .aks-stat:nth-child(2) { border-right: 0; }
  .aks-template-event .aks-stats-event .aks-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.13); }
  .aks-trail-specs { grid-template-columns: 1fr; }

  .aks-local-hero-content { padding: 40px 30px; }
  .aks-template-local .aks-event-card {
    grid-template-columns: 88px 1fr;
  }
  .aks-template-local .aks-event-card a { grid-column: 2; }
}

@media (max-width: 620px) {
  .aks-template-event .aks-event-hero h1 { font-size: clamp(3.6rem, 19vw, 5.3rem); }
  .aks-event-hero-meta { display: grid; }
  .aks-template-event .aks-page-header { padding: 34px 24px; }
  .aks-template-event .aks-page-header h1 { font-size: clamp(3.2rem, 18vw, 5rem) !important; }
  .aks-template-event .aks-stats-event .aks-stat { min-height: 112px; padding: 18px; }

  .aks-template-local .aks-local-hero h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
  .aks-local-hero-visual { min-height: 280px; margin: 0 18px 18px; }
  .aks-local-intro { margin: 48px 0; padding: 36px 0; }
  .aks-template-local .aks-stats-local .aks-stat { min-height: 110px; padding: 16px; }
  .aks-template-local .aks-event-card {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .aks-template-local .aks-event-card a { grid-column: 1; }
  .aks-local-card-details > div { grid-template-columns: 72px 1fr; }
}


/* ======================================================================
   V0.19 — deuxième passe identitaire Event / Trail + Société locale
   Le preset Club & Cours reste volontairement inchangé.
   ====================================================================== */

/* ----------------------------------------------------------------------
   EVENT / TRAIL — plus immersif, plus lisible, moins "carte sombre posée".
   ---------------------------------------------------------------------- */
.aks-template-event .aks-site {
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}

.aks-template-event .aks-hero h1,
.aks-template-event .aks-page-header h1,
.aks-template-event .aks-section-heading h2,
.aks-template-event .aks-card-body h3,
.aks-template-event .aks-final-cta h2,
.aks-template-event .aks-process h3,
.aks-template-event .aks-practical-grid strong,
.aks-template-event .aks-about-copy h2 {
  font-family: "Oswald", "Arial Narrow", Impact, sans-serif;
  font-stretch: normal;
}

/* Kadence et thèmes classiques cachent parfois la couleur sur une sous-couche.
   On couvre les conteneurs réels du header, parce qu'un menu blanc sur fond blanc
   est une identité visuelle très conceptuelle, mais assez peu navigable. */
body.aks-template-event.aks-generated-page .site-header,
body.aks-template-event.aks-generated-page #masthead,
body.aks-template-event.aks-generated-page .site-header-wrap,
body.aks-template-event.aks-generated-page .site-main-header-wrap,
body.aks-template-event.aks-generated-page .site-header-row-container,
body.aks-template-event.aks-generated-page .site-header-row-container-inner,
body.aks-template-event.aks-generated-page .site-main-header-inner-wrap {
  background: #101614 !important;
  border-color: rgba(255,255,255,.10) !important;
}

body.aks-template-event.aks-generated-page .main-navigation a,
body.aks-template-event.aks-generated-page .header-navigation a,
body.aks-template-event.aks-generated-page .primary-menu-container a,
body.aks-template-event.aks-generated-page .site-header a,
body.aks-template-event.aks-generated-page #masthead a {
  color: #fff !important;
}

body.aks-template-event.aks-generated-page .main-navigation a:hover,
body.aks-template-event.aks-generated-page .header-navigation a:hover,
body.aks-template-event.aks-generated-page .primary-menu-container a:hover,
body.aks-template-event.aks-generated-page .site-header a:hover,
body.aks-template-event.aks-generated-page #masthead a:hover {
  color: var(--aks-primary) !important;
}

body.aks-template-event.aks-generated-page .site-branding {
  padding: 7px 12px;
  background: #fff;
  border-radius: 5px;
}

body.aks-template-event.aks-generated-page .site-header .button,
body.aks-template-event.aks-generated-page .site-header .header-button,
body.aks-template-event.aks-generated-page #masthead .button {
  color: var(--aks-on-primary, #101614) !important;
  background: var(--aks-primary) !important;
  border-color: var(--aks-primary) !important;
  border-radius: 4px !important;
}

/* Largeur événementielle distincte du preset Club. */
.aks-template-event .aks-homepage-event {
  width: min(1440px, calc(100% - 32px));
  max-width: 1440px;
  padding-top: 0;
}

.aks-template-event .aks-event-hero {
  min-height: clamp(650px, 78vh, 850px);
  margin-top: 0;
  border-radius: 0 0 14px 14px;
  box-shadow: 0 34px 90px rgba(16,22,20,.30);
}

.aks-template-event .aks-event-hero::before {
  content: "EVENT / TRAIL";
  position: absolute;
  top: 28px;
  right: 30px;
  z-index: 4;
  color: rgba(255,255,255,.38);
  font-family: "Inter", sans-serif;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .22em;
  writing-mode: vertical-rl;
}

.aks-event-hero-placeholder {
  place-items: start end;
  padding: 34px 58px 34px 34px;
  background:
    repeating-radial-gradient(ellipse at 76% 48%, transparent 0 22px, color-mix(in srgb, var(--aks-primary) 12%, transparent) 23px 24px, transparent 25px 45px),
    linear-gradient(125deg, #18231f 0%, #08100e 76%);
}

.aks-event-hero-placeholder span {
  max-width: 230px;
  padding: 10px 13px;
  color: rgba(255,255,255,.66);
  background: rgba(7,11,10,.58);
  border-color: rgba(255,255,255,.12);
  font-size: .76rem;
  text-align: left;
}

.aks-event-hero-shade {
  background:
    linear-gradient(90deg, rgba(4,8,7,.97) 0%, rgba(4,8,7,.84) 46%, rgba(4,8,7,.12) 84%),
    linear-gradient(0deg, rgba(4,8,7,.75), transparent 58%);
}

.aks-event-hero-content {
  width: min(940px, 79%);
  padding: clamp(62px, 8vw, 122px);
}

.aks-event-hero-meta {
  display: grid;
  grid-template-columns: minmax(210px, .9fr) minmax(210px, 1.1fr);
  width: min(650px, 100%);
  gap: 1px;
  margin-bottom: 28px;
  padding: 1px;
  background: rgba(255,255,255,.16);
}

.aks-event-hero-meta-item {
  min-height: 78px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 13px 17px;
  background: rgba(10,16,14,.78);
  backdrop-filter: blur(10px);
}

.aks-event-hero-meta-item span,
.aks-event-hero-meta-item strong {
  display: block;
}

.aks-event-hero-meta-item span {
  color: var(--aks-primary);
  font-size: .63rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.aks-event-hero-meta-item strong {
  margin-top: 6px;
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: clamp(1rem, 1.55vw, 1.35rem);
  font-weight: 600;
  line-height: 1.1;
  text-transform: uppercase;
}

.aks-template-event .aks-event-hero h1 {
  max-width: 920px;
  font-size: clamp(5rem, 10vw, 10.5rem);
  line-height: .73;
  text-wrap: balance;
}

.aks-template-event .aks-event-hero .aks-hero-text {
  max-width: 600px;
  margin-top: 28px;
  font-size: clamp(1rem, 1.2vw, 1.18rem);
  line-height: 1.7;
}

.aks-event-hero-deadline {
  min-width: min(430px, 46%);
  padding: 24px 32px;
  border-left-width: 12px;
}

.aks-event-hero-deadline strong {
  font-family: "Oswald", sans-serif;
  font-size: clamp(1.18rem, 2vw, 1.6rem);
  font-weight: 650;
  text-transform: uppercase;
}

/* Les chiffres deviennent une continuation du hero, pas un tableau ajouté après. */
.aks-template-event .aks-stats-event {
  border-radius: 0;
}

.aks-template-event .aks-stats-event .aks-stat {
  min-height: 145px;
  padding: 28px 32px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), transparent),
    #101614;
}

.aks-template-event .aks-stats-event strong {
  font-family: "Oswald", sans-serif;
  font-weight: 650;
}

/* L'essentiel : hiérarchie plus technique et numérotation évidente. */
.aks-template-event .aks-event-essential {
  margin-top: clamp(62px, 7vw, 96px);
}

.aks-template-event .aks-event-essential .aks-practical-grid {
  counter-reset: aks-essential;
}

.aks-template-event .aks-event-essential .aks-practical-grid article {
  counter-increment: aks-essential;
  position: relative;
  min-height: 190px;
  padding: 58px 28px 28px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.025), transparent 45%),
    #18201d;
}

.aks-template-event .aks-event-essential .aks-practical-grid article::before {
  content: "0" counter(aks-essential);
  position: absolute;
  top: 18px;
  right: 20px;
  color: rgba(255,255,255,.20);
  font-family: ui-monospace, monospace;
  font-size: .74rem;
}

.aks-template-event .aks-event-essential .aks-practical-grid article::after {
  content: "";
  position: absolute;
  left: 28px;
  top: 25px;
  width: 34px;
  height: 4px;
  background: var(--aks-primary);
}

.aks-template-event .aks-event-essential .aks-practical-grid strong {
  font-size: clamp(1.75rem, 3.2vw, 2.8rem);
  line-height: .95;
}

/* CTA final plus graphique et plus compact. */
.aks-template-event .aks-final-cta-event {
  min-height: 300px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) auto;
  align-items: center;
  gap: clamp(30px, 6vw, 90px);
  padding: clamp(44px, 6vw, 76px);
  background:
    linear-gradient(115deg, rgba(255,255,255,.022), transparent 55%),
    repeating-linear-gradient(135deg, transparent 0 28px, rgba(255,255,255,.025) 29px 30px),
    #101614;
}

.aks-template-event .aks-final-cta-event::after {
  content: "GO";
  position: absolute;
  right: clamp(24px, 5vw, 70px);
  bottom: -34px;
  color: color-mix(in srgb, var(--aks-primary) 12%, transparent);
  font-family: "Oswald", sans-serif;
  font-size: clamp(8rem, 18vw, 18rem);
  font-weight: 700;
  line-height: .7;
  pointer-events: none;
}

.aks-template-event .aks-final-cta-event h2 {
  max-width: 820px;
  font-family: "Oswald", sans-serif;
  font-size: clamp(3.2rem, 6vw, 6.4rem);
}

.aks-template-event .aks-final-cta-actions {
  min-width: 220px;
}

/* Vrai footer sombre sur les couches Kadence. */
body.aks-template-event.aks-generated-page .site-footer,
body.aks-template-event.aks-generated-page #colophon,
body.aks-template-event.aks-generated-page footer,
body.aks-template-event.aks-generated-page .site-footer-wrap,
body.aks-template-event.aks-generated-page .site-footer-row-container,
body.aks-template-event.aks-generated-page .site-footer-row-container-inner,
body.aks-template-event.aks-generated-page .site-bottom-footer-wrap {
  background: #101614 !important;
  color: rgba(255,255,255,.68) !important;
  border-color: rgba(255,255,255,.12) !important;
}

/* ----------------------------------------------------------------------
   SOCIÉTÉ LOCALE — plus éditoriale, mais aussi plus vivante et structurée.
   ---------------------------------------------------------------------- */
.aks-template-local .aks-site {
  font-family: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
}

.aks-template-local .aks-hero h1,
.aks-template-local .aks-page-header h1,
.aks-template-local .aks-section-heading h2,
.aks-template-local .aks-final-cta h2,
.aks-template-local .aks-about-copy h2,
.aks-local-intro-copy h2 {
  font-family: "Lora", Georgia, "Times New Roman", serif;
}

/* En-tête vraiment ivoire sur les couches du thème. */
body.aks-template-local.aks-generated-page .site-header,
body.aks-template-local.aks-generated-page #masthead,
body.aks-template-local.aks-generated-page .site-header-wrap,
body.aks-template-local.aks-generated-page .site-main-header-wrap,
body.aks-template-local.aks-generated-page .site-header-row-container,
body.aks-template-local.aks-generated-page .site-header-row-container-inner,
body.aks-template-local.aks-generated-page .site-main-header-inner-wrap {
  background: #fffdf9 !important;
  border-color: rgba(32,50,74,.13) !important;
}

.aks-template-local .aks-homepage-local {
  width: min(1280px, calc(100% - 32px));
  max-width: 1280px;
  padding-top: 12px;
}

/* Hero asymétrique, moins "bloc prêt-à-porter". */
.aks-template-local .aks-local-hero {
  position: relative;
  grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
  min-height: 620px;
  margin-top: 0;
  overflow: visible;
  border: 0;
  border-left: 8px solid var(--aks-local-red);
  border-radius: 0;
  box-shadow: 0 18px 50px rgba(32,50,74,.07);
}

.aks-template-local .aks-local-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, #fffdf9 0%, #fffdf9 62%, #f3eee5 62%, #f3eee5 100%);
  border: 1px solid rgba(32,50,74,.13);
  border-left: 0;
  pointer-events: none;
}

.aks-local-hero-content,
.aks-local-hero-visual {
  position: relative;
  z-index: 1;
}

.aks-local-hero-content {
  padding: clamp(58px, 7.5vw, 98px);
}

.aks-template-local .aks-local-hero h1 {
  max-width: 760px;
  font-family: "Lora", Georgia, serif;
  font-size: clamp(4rem, 7vw, 7.4rem);
  font-weight: 600;
  line-height: .92;
  text-wrap: balance;
}

.aks-template-local .aks-local-hero .aks-hero-text {
  max-width: 590px;
  margin-top: 24px;
  font-size: 1.08rem;
  line-height: 1.75;
}

.aks-local-hero-visual {
  min-height: 570px;
  margin: -24px -24px 24px 0;
  border: 10px solid #fffdf9;
  border-radius: 0;
  box-shadow: 0 26px 54px rgba(32,50,74,.15);
}

.aks-local-hero-visual::after {
  content: "VIE LOCALE";
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 10px 15px;
  color: #fff;
  background: var(--aks-local-blue);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
}

.aks-local-hero-placeholder {
  background:
    linear-gradient(rgba(32,50,74,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32,50,74,.04) 1px, transparent 1px),
    linear-gradient(145deg, #f5f0e7, #ede5d8);
  background-size: 32px 32px, 32px 32px, auto;
}

.aks-local-hero-placeholder > span {
  width: 116px;
  height: 116px;
  color: var(--aks-local-red);
  background: rgba(255,253,249,.68);
  border: 1px solid rgba(166,75,69,.42);
  font-family: "Lora", Georgia, serif;
  font-size: 4.8rem;
  box-shadow: 0 12px 34px rgba(32,50,74,.08);
}

/* L'introduction devient une vraie double page éditoriale. */
.aks-local-intro {
  position: relative;
  grid-template-columns: minmax(0, 1.02fr) minmax(430px, .98fr);
  gap: clamp(44px, 7vw, 96px);
  margin: clamp(74px, 9vw, 118px) 0;
  padding: clamp(48px, 6vw, 78px) 0;
}

.aks-local-intro::before {
  content: "“";
  position: absolute;
  left: -12px;
  top: 22px;
  color: rgba(166,75,69,.12);
  font-family: "Lora", Georgia, serif;
  font-size: 10rem;
  line-height: 1;
  pointer-events: none;
}

.aks-local-intro-copy {
  position: relative;
  z-index: 1;
  padding-left: 26px;
}

.aks-local-intro-copy::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 3px;
  background: var(--aks-local-red);
}

.aks-local-intro-copy h2 {
  font-size: clamp(2.8rem, 4.9vw, 5rem);
  font-weight: 600;
}

.aks-local-intro-stats {
  padding: 22px;
  background: var(--aks-local-blue);
  box-shadow: 14px 14px 0 rgba(166,75,69,.12);
}

.aks-template-local .aks-stats-local .aks-stat {
  min-height: 145px;
  border-color: rgba(255,255,255,.16);
}

.aks-template-local .aks-stats-local strong {
  color: #fffdf9;
  font-family: "Lora", Georgia, serif;
  font-weight: 500;
}

.aks-template-local .aks-stats-local span {
  color: rgba(255,255,255,.64);
}

.aks-template-local .aks-stats-local .aks-stat:first-child strong {
  color: #e7b0aa;
}

/* Titres et agenda un peu plus affirmés. */
.aks-template-local .aks-section-heading h2 {
  font-family: "Lora", Georgia, serif;
  font-weight: 600;
}

.aks-template-local .aks-event-card h3,
.aks-template-local .aks-local-card-body h3 {
  font-family: "Lora", Georgia, serif;
  font-weight: 600;
}

/* CTA : le point d'interrogation reste avec sa phrase, notion apparemment avancée. */
.aks-template-local .aks-final-cta-local {
  min-height: 280px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) auto;
  align-items: center;
  gap: clamp(26px, 5vw, 70px);
  padding: clamp(42px, 5.5vw, 68px);
  overflow: hidden;
  border-left: 7px solid var(--aks-local-red);
  border-radius: 0;
}

.aks-template-local .aks-final-cta-local h2 {
  max-width: 760px;
  font-family: "Lora", Georgia, serif;
  font-size: clamp(2.5rem, 4.5vw, 4.5rem);
  font-weight: 600;
  line-height: 1.04;
  text-wrap: balance;
}

.aks-template-local .aks-final-cta-local::after {
  content: "DEVENIR MEMBRE";
  position: absolute;
  right: 28px;
  top: 24px;
  color: rgba(32,50,74,.10);
  font-size: .66rem;
  font-weight: 800;
  letter-spacing: .18em;
}

/* Vrai footer bleu sur les sous-couches du thème. */
body.aks-template-local.aks-generated-page .site-footer,
body.aks-template-local.aks-generated-page #colophon,
body.aks-template-local.aks-generated-page footer,
body.aks-template-local.aks-generated-page .site-footer-wrap,
body.aks-template-local.aks-generated-page .site-footer-row-container,
body.aks-template-local.aks-generated-page .site-footer-row-container-inner,
body.aks-template-local.aks-generated-page .site-bottom-footer-wrap {
  background: var(--aks-local-blue) !important;
  color: rgba(255,255,255,.72) !important;
  border-color: rgba(255,255,255,.12) !important;
}

/* ----------------------------------------------------------------------
   Responsive V0.19
   ---------------------------------------------------------------------- */
@media (max-width: 1100px) {
  .aks-template-event .aks-event-hero {
    min-height: 680px;
  }

  .aks-event-hero-content {
    width: 88%;
    padding: 68px 54px 150px;
  }

  .aks-template-local .aks-local-hero {
    grid-template-columns: 1fr;
  }

  .aks-local-hero-visual {
    min-height: 400px;
    margin: 0 28px 28px;
  }

  .aks-local-intro {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 820px) {
  .aks-template-event .aks-homepage-event,
  .aks-template-local .aks-homepage-local {
    width: min(100% - 20px, 1440px);
  }

  .aks-template-event .aks-event-hero {
    min-height: 650px;
    border-radius: 0 0 9px 9px;
  }

  .aks-event-hero-content {
    width: 100%;
    padding: 42px 24px 165px;
  }

  .aks-event-hero-meta {
    grid-template-columns: 1fr;
    width: min(420px, 100%);
  }

  .aks-template-event .aks-event-hero h1 {
    font-size: clamp(4rem, 18vw, 6.2rem);
  }

  .aks-template-event .aks-final-cta-event,
  .aks-template-local .aks-final-cta-local {
    grid-template-columns: 1fr;
  }

  .aks-template-event .aks-final-cta-actions {
    min-width: 0;
  }

  .aks-template-local .aks-local-hero {
    min-height: 0;
    border-left-width: 5px;
  }

  .aks-local-hero-content {
    padding: 46px 30px;
  }

  .aks-local-hero-visual {
    min-height: 330px;
    margin: 0 18px 18px;
    border-width: 7px;
  }

  .aks-local-intro-copy {
    padding-left: 18px;
  }
}

@media (max-width: 620px) {
  body.aks-template-event.aks-generated-page .site-branding {
    padding: 5px 8px;
  }

  .aks-template-event .aks-event-hero::before {
    display: none;
  }

  .aks-event-hero-placeholder {
    padding: 18px;
  }

  .aks-event-hero-placeholder span {
    display: none;
  }

  .aks-event-hero-deadline {
    right: 12px;
    left: 12px;
    min-width: 0;
    padding: 18px 20px;
  }

  .aks-template-event .aks-event-essential .aks-practical-grid article {
    min-height: 160px;
  }

  .aks-template-event .aks-final-cta-event::after {
    right: 10px;
    font-size: 8rem;
  }

  .aks-template-local .aks-local-hero h1 {
    font-size: clamp(3.2rem, 15vw, 4.7rem);
  }

  .aks-local-hero-content {
    padding: 38px 24px;
  }

  .aks-local-intro::before {
    display: none;
  }

  .aks-local-intro-stats {
    padding: 12px;
    box-shadow: 8px 8px 0 rgba(166,75,69,.12);
  }

  .aks-template-local .aks-final-cta-local {
    padding: 34px 26px;
  }

  .aks-template-local .aks-final-cta-local h2 {
    font-size: clamp(2.25rem, 11vw, 3.3rem);
  }
}


/* ======================================================================
   V0.20 — élargissement visuel Event / Société locale
   Objectif: casser l'effet étriqué sans casser le preset Club.
   ====================================================================== */

/* On neutralise les wrappers de thème qui recréent un max-width visuel.
   Sur certains thèmes, même si .aks-site est large, un conteneur parent continue
   à comprimer l'ensemble. */
body.aks-template-event.aks-generated-page .site-main,
body.aks-template-event.aks-generated-page .content-area,
body.aks-template-event.aks-generated-page .entry-content,
body.aks-template-event.aks-generated-page .content-container,
body.aks-template-event.aks-generated-page .site-main-header-inner-wrap,
body.aks-template-event.aks-generated-page .site-footer-row-container-inner,
body.aks-template-local.aks-generated-page .site-main,
body.aks-template-local.aks-generated-page .content-area,
body.aks-template-local.aks-generated-page .entry-content,
body.aks-template-local.aks-generated-page .content-container,
body.aks-template-local.aks-generated-page .site-main-header-inner-wrap,
body.aks-template-local.aks-generated-page .site-footer-row-container-inner {
  max-width: none !important;
}

/* ===== EVENT / TRAIL ===== */
.aks-template-event .aks-homepage-event {
  width: min(1680px, calc(100vw - 28px));
  max-width: none;
}

.aks-template-event .aks-event-hero {
  min-height: clamp(720px, 84vh, 920px);
}

.aks-template-event .aks-event-hero-content {
  width: min(1120px, 86%);
  padding: clamp(70px, 8vw, 128px);
}

.aks-template-event .aks-event-hero h1 {
  max-width: 1080px;
  font-size: clamp(5.8rem, 10vw, 12rem);
}

.aks-template-event .aks-event-hero .aks-hero-text {
  max-width: 720px;
  font-size: clamp(1rem, 1.18vw, 1.22rem);
}

.aks-template-event .aks-event-hero-meta {
  width: min(760px, 100%);
  grid-template-columns: minmax(240px, .92fr) minmax(280px, 1.08fr);
}

.aks-template-event .aks-stats-event .aks-stat {
  min-height: 158px;
  padding: 30px 36px;
}

.aks-template-event .aks-stats-event strong {
  font-size: clamp(2.8rem, 4.6vw, 4.6rem);
}

.aks-template-event .aks-event-essential,
.aks-template-event .aks-final-cta-event {
  width: 100%;
}

.aks-template-event .aks-event-essential .aks-practical-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.aks-template-event .aks-event-essential .aks-practical-grid article {
  min-height: 205px;
  padding: 62px 30px 30px;
}

.aks-template-event .aks-event-essential .aks-practical-grid strong {
  font-size: clamp(2rem, 2.7vw, 3.15rem);
}

.aks-template-event .aks-final-cta-event {
  min-height: 340px;
  padding: clamp(52px, 6vw, 84px);
}

.aks-template-event .aks-final-cta-event h2 {
  max-width: 920px;
  font-size: clamp(3.6rem, 6vw, 7rem);
}

/* ===== SOCIÉTÉ LOCALE ===== */
.aks-template-local .aks-homepage-local {
  width: min(1500px, calc(100vw - 40px));
  max-width: none;
}

.aks-template-local .aks-local-hero {
  grid-template-columns: minmax(0, 1.18fr) minmax(420px, .82fr);
  min-height: 660px;
}

.aks-template-local .aks-local-hero-content {
  padding: clamp(62px, 7vw, 104px);
}

.aks-template-local .aks-local-hero h1 {
  max-width: 840px;
  font-size: clamp(4.4rem, 7vw, 7.8rem);
}

.aks-template-local .aks-local-hero .aks-hero-text {
  max-width: 640px;
  font-size: 1.1rem;
}

.aks-template-local .aks-local-hero-visual {
  min-height: 610px;
  margin: -18px -18px 18px -32px;
}

.aks-template-local .aks-local-intro {
  grid-template-columns: minmax(0, 1.08fr) minmax(520px, .92fr);
  gap: clamp(36px, 5vw, 70px);
}

.aks-template-local .aks-local-intro-copy {
  max-width: 780px;
}

.aks-template-local .aks-local-intro-copy h2 {
  max-width: 720px;
  font-size: clamp(3rem, 5vw, 5.4rem);
}

.aks-template-local .aks-local-intro-stats {
  max-width: 640px;
  margin-left: auto;
}

.aks-template-local .aks-stats-local .aks-stat {
  min-height: 154px;
  padding: 28px 30px;
}

.aks-template-local .aks-stats-local strong {
  font-size: clamp(2.5rem, 4vw, 4.1rem);
}

.aks-template-local .aks-final-cta-local {
  min-height: 310px;
  grid-template-columns: minmax(0, 1.3fr) auto;
  padding: clamp(48px, 5.7vw, 78px);
}

.aks-template-local .aks-final-cta-local h2 {
  max-width: 760px;
}

/* ===== Responsive ===== */
@media (max-width: 1240px) {
  .aks-template-event .aks-homepage-event {
    width: min(100vw - 22px, 1680px);
  }

  .aks-template-event .aks-event-hero-content {
    width: 92%;
    padding: 60px 42px 150px;
  }

  .aks-template-event .aks-event-essential .aks-practical-grid article {
    min-height: 185px;
  }

  .aks-template-local .aks-homepage-local {
    width: min(100vw - 28px, 1500px);
  }

  .aks-template-local .aks-local-hero {
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, .9fr);
  }

  .aks-template-local .aks-local-hero-visual {
    margin: 0 20px 20px -10px;
  }

  .aks-template-local .aks-local-intro {
    grid-template-columns: 1fr 520px;
  }
}

@media (max-width: 980px) {
  .aks-template-event .aks-homepage-event,
  .aks-template-local .aks-homepage-local {
    width: min(100vw - 18px, 1680px);
  }

  .aks-template-event .aks-event-essential .aks-practical-grid {
    grid-template-columns: 1fr;
  }

  .aks-template-event .aks-final-cta-event {
    grid-template-columns: 1fr;
  }

  .aks-template-local .aks-local-hero,
  .aks-template-local .aks-local-intro,
  .aks-template-local .aks-final-cta-local {
    grid-template-columns: 1fr;
  }

  .aks-template-local .aks-local-hero-visual {
    min-height: 400px;
    margin: 0 16px 16px;
  }

  .aks-template-local .aks-local-intro-stats {
    max-width: none;
    margin-left: 0;
  }
}

@media (max-width: 620px) {
  .aks-template-event .aks-homepage-event,
  .aks-template-local .aks-homepage-local {
    width: calc(100vw - 12px);
  }

  .aks-template-event .aks-event-hero-content {
    padding: 38px 20px 160px;
    width: 100%;
  }

  .aks-template-event .aks-event-hero-meta {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .aks-template-local .aks-local-hero-content,
  .aks-template-local .aks-final-cta-local {
    padding: 34px 22px;
  }
}


/* ======================================================================
   V0.21 — templates validés Event / Trail et Association de village
   Les pages d’accueil suivent désormais les compositions de référence.
   ====================================================================== */

/* Pleine largeur réelle des deux presets. */
.aks-homepage-event,
.aks-homepage-local {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
}

/* ---------------- EVENT / TRAIL ---------------- */
body.aks-template-event.aks-generated-page {
  background: #101214 !important;
}

.aks-template-event .aks-event-hero {
  min-height: clamp(700px, 82vh, 920px);
  border-radius: 0;
  box-shadow: none;
}

.aks-template-event .aks-event-hero-content {
  width: min(1500px, 100%);
  padding-inline: max(52px, calc((100vw - 1480px) / 2));
}

.aks-template-event .aks-event-edition {
  margin: 0 0 14px;
  color: var(--aks-primary);
  font-family: "Oswald", sans-serif;
  font-size: .95rem;
  font-weight: 700;
  text-transform: uppercase;
}

.aks-template-event .aks-event-hero h1 {
  max-width: 980px;
  font-size: clamp(5rem, 9vw, 10rem);
  line-height: .78;
}

.aks-template-event .aks-stats-event,
.aks-template-event .aks-section,
.aks-template-event .aks-event-home-info,
.aks-template-event .aks-event-media-row,
.aks-template-event .aks-final-cta-event {
  padding-inline: max(34px, calc((100vw - 1480px) / 2));
}

.aks-template-event .aks-stats-event {
  background: #15191c;
}

.aks-template-event .aks-stats-event .aks-stat {
  background: transparent;
  border-color: rgba(255,255,255,.14);
}

.aks-template-event .aks-section-courses-home {
  margin: 0;
  padding-top: 54px;
  padding-bottom: 54px;
  background: #141719;
}

.aks-template-event .aks-section-courses-home .aks-section-top {
  justify-content: center;
}

.aks-template-event .aks-section-courses-home .aks-text-link {
  display: none;
}

.aks-template-event .aks-section-courses-home .aks-section-heading {
  flex: 0 0 auto;
  width: auto;
  height: auto;
  min-height: 0;
  padding: 0;
}

.aks-template-event .aks-section-courses-home .aks-section-heading .aks-title-bg,
.aks-template-event .aks-section-courses-home .aks-section-heading h2 {
  position: static;
}

.aks-template-event .aks-section-courses-home .aks-section-heading .aks-title-bg {
  display: none;
}

.aks-template-event .aks-section-courses-home .aks-section-heading h2 {
  color: #fff;
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-style: italic;
}

.aks-card-grid-event {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.aks-template-event .aks-course-card {
  overflow: visible;
  background: #0d0f11;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 4px;
  box-shadow: none;
}

.aks-template-event .aks-course-card .aks-card-image {
  height: 210px;
}

.aks-template-event .aks-trail-card-body {
  min-height: 250px;
  padding: 20px;
}

.aks-template-event .aks-trail-card-heading h3 {
  color: #fff;
  font-size: 1.65rem;
}

.aks-template-event .aks-card-desc,
.aks-template-event .aks-trail-card-footnote,
.aks-template-event .aks-trail-specs span {
  color: rgba(255,255,255,.62);
}

.aks-template-event .aks-trail-specs strong {
  color: #fff;
}

.aks-event-home-info {
  display: grid;
  grid-template-columns: .9fr 1.25fr .85fr;
  gap: 1px;
  padding-top: 48px;
  padding-bottom: 48px;
  background: #101214;
  color: #fff;
}

.aks-event-home-info > div {
  padding: 32px;
  border-left: 1px solid rgba(255,255,255,.13);
}

.aks-event-home-info > div:first-child { border-left: 0; }
.aks-event-home-info h2 { margin: 0 0 24px; font-family: "Oswald", sans-serif; font-size: 2rem; text-transform: uppercase; }
.aks-event-program ol { margin: 0; padding: 0; list-style: none; }
.aks-event-program li { display: grid; grid-template-columns: 72px 1fr; gap: 14px; padding: 9px 0; border-left: 3px solid var(--aks-primary); }
.aks-event-program li strong { padding-left: 14px; color: var(--aks-primary); }
.aks-event-program li span { color: rgba(255,255,255,.78); }
.aks-event-practical-cards { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.aks-event-practical-cards article { min-height: 190px; padding: 20px; background: #1a1e21; border: 1px solid rgba(255,255,255,.08); }
.aks-event-practical-cards article > span { color: var(--aks-primary); font-size: .72rem; font-weight: 800; }
.aks-event-practical-cards strong { display: block; margin: 20px 0 10px; font-family: "Oswald", sans-serif; text-transform: uppercase; }
.aks-event-practical-cards p { color: rgba(255,255,255,.65); line-height: 1.5; }
.aks-event-why ul { margin: 0; padding: 0; list-style: none; }
.aks-event-why li { position: relative; padding: 11px 0 11px 28px; color: rgba(255,255,255,.78); }
.aks-event-why li::before { content: "✓"; position: absolute; left: 0; color: var(--aks-primary); font-weight: 900; }

.aks-template-event .aks-section-partners {
  margin: 0;
  padding-top: 36px;
  padding-bottom: 36px;
  background: #15191c;
}

.aks-template-event .aks-section-partners .aks-section-heading { height: auto; min-height: 0; padding: 0; text-align: center; }
.aks-template-event .aks-section-partners .aks-title-bg { display: none; }
.aks-template-event .aks-section-partners h2 { position: static; width: auto; color: #fff; }
.aks-template-event .aks-partner-logo { min-height: 74px; background: transparent; border: 0; box-shadow: none; color: #fff; filter: grayscale(1) brightness(4); }

.aks-event-media-row {
  display: grid;
  grid-template-columns: 230px 1fr 280px;
  gap: 24px;
  align-items: center;
  padding-top: 38px;
  padding-bottom: 38px;
  background: #111416;
  color: #fff;
}
.aks-event-media-title h2,
.aks-event-results h2 { margin: 0 0 14px; font-family: "Oswald", sans-serif; font-size: 2rem; text-transform: uppercase; }
.aks-event-media-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.aks-event-media-gallery a { min-height: 130px; overflow: hidden; background: #202428; }
.aks-event-media-gallery img { width: 100%; height: 100%; object-fit: cover; }
.aks-event-media-gallery span { display: grid; place-items: center; height: 100%; padding: 16px; color: rgba(255,255,255,.65); }
.aks-event-results a { display: block; padding: 9px 0; color: rgba(255,255,255,.78); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.12); }

.aks-template-event .aks-final-cta-event {
  margin: 0;
  border-radius: 0;
  background: linear-gradient(135deg, color-mix(in srgb, var(--aks-primary) 90%, #ff6a00), #f36f00);
  color: #111;
}
.aks-template-event .aks-final-cta-event .aks-eyebrow,
.aks-template-event .aks-final-cta-event p { color: rgba(17,17,17,.75); }
.aks-template-event .aks-final-cta-event h2 { color: #111; }
.aks-template-event .aks-final-cta-event .aks-btn-primary { background: #111 !important; color: #fff !important; border-color: #111 !important; }

/* ---------------- SOCIÉTÉ LOCALE ---------------- */
body.aks-template-local.aks-generated-page { background: #fffdf9 !important; }
.aks-template-local .aks-local-hero {
  width: 100%;
  min-height: 620px;
  grid-template-columns: minmax(420px, .8fr) minmax(0, 1.2fr);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.aks-template-local .aks-local-hero::before { background: #fffdf9; border: 0; }
.aks-template-local .aks-local-hero-content { padding: clamp(54px, 7vw, 96px) max(40px, calc((100vw - 1420px)/2)); padding-right: 48px; }
.aks-template-local .aks-local-hero-visual { min-height: 620px; margin: 0; border: 0; box-shadow: none; }
.aks-template-local .aks-local-hero h1 { font-size: clamp(3.8rem, 5.8vw, 6.7rem); }

.aks-local-story,
.aks-local-dual-section,
.aks-template-local .aks-section-gallery-home,
.aks-template-local .aks-section-partners,
.aks-template-local .aks-final-cta-local {
  padding-inline: max(40px, calc((100vw - 1420px)/2));
}

.aks-local-story {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 58px;
  align-items: center;
  padding-top: 42px;
  padding-bottom: 42px;
}
.aks-local-story-image { min-height: 360px; overflow: hidden; background: #f1ebe2; }
.aks-local-story-image img { width: 100%; height: 100%; object-fit: cover; }
.aks-local-story-image.is-placeholder { display: grid; place-items: center; }
.aks-local-story-image.is-placeholder span { font-family: "Lora", serif; font-size: 6rem; color: var(--aks-local-red); }
.aks-local-story-copy h2 { margin: 6px 0 14px; font-family: "Lora", serif; font-size: clamp(2.3rem, 3.5vw, 4rem); color: var(--aks-local-blue); }
.aks-local-story-copy > p { color: #5f6670; line-height: 1.7; }
.aks-local-values { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin: 28px 0; }
.aks-local-values article { padding: 18px; text-align: center; border-left: 1px solid rgba(32,50,74,.12); }
.aks-local-values article:first-child { border-left: 0; }
.aks-local-values span { color: var(--aks-primary); font-weight: 800; }
.aks-local-values h3 { margin: 10px 0 6px; font-family: "Lora", serif; font-size: 1rem; }
.aks-local-values p { margin: 0; color: #747b83; font-size: .84rem; line-height: 1.45; }

.aks-local-dual-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px;
  padding-top: 34px;
  padding-bottom: 34px;
  border-top: 1px solid rgba(32,50,74,.10);
}
.aks-local-section-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.aks-local-section-head .aks-eyebrow { margin: 0; }
.aks-local-section-head a { color: var(--aks-local-blue); text-decoration: none; font-size: .85rem; }
.aks-template-local .aks-local-column .aks-event-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.aks-template-local .aks-event-card { min-height: 280px; padding: 20px; border-radius: 2px; box-shadow: none; }
.aks-template-local .aks-event-date { width: 58px; min-width: 58px; border-radius: 0; font-family: "Lora", serif; }
.aks-local-activity-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.aks-template-local .aks-local-activity-grid .aks-course-card { border-radius: 2px; box-shadow: none; }
.aks-template-local .aks-local-activity-grid .aks-card-image { height: 128px; }
.aks-template-local .aks-local-activity-grid .aks-local-card-body { min-height: 250px; padding: 16px; }

.aks-local-team-docs { background: #fffaf3; }
.aks-local-people-row { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px; }
.aks-template-local .aks-local-people-row .aks-person-card { padding: 8px; background: transparent; border: 0; box-shadow: none; }
.aks-template-local .aks-local-people-row .aks-person-photo { border-radius: 50%; }
.aks-template-local .aks-local-people-row h3 { font-family: "Lora", serif; font-size: 1rem; }
.aks-local-doc-list { display: grid; gap: 8px; }
.aks-template-local .aks-local-doc-list .aks-document-card { padding: 12px; border-radius: 2px; box-shadow: none; }
.aks-template-local .aks-local-doc-list .aks-doc-icon { width: 42px; height: 42px; border-radius: 2px; }

.aks-template-local .aks-section-gallery-home { margin: 0; padding-top: 30px; padding-bottom: 30px; }
.aks-template-local .aks-gallery-strip { grid-template-columns: repeat(6, minmax(0,1fr)); gap: 10px; }
.aks-template-local .aks-gallery-strip .aks-album-card { border: 0; border-radius: 2px; box-shadow: none; }
.aks-template-local .aks-gallery-strip .aks-album-image { height: 145px; }
.aks-template-local .aks-gallery-strip h3,
.aks-template-local .aks-gallery-strip p { display: none; }
.aks-template-local .aks-section-partners { margin: 0; padding-top: 24px; padding-bottom: 30px; }
.aks-template-local .aks-partner-grid { grid-template-columns: repeat(7, minmax(0,1fr)); }
.aks-template-local .aks-partner-logo { min-height: 64px; border: 0; box-shadow: none; }

.aks-template-local .aks-final-cta-local { margin: 0; min-height: 150px; border: 0; border-radius: 0; background: #fff8ef; }
.aks-template-local .aks-final-cta-local h2 { font-size: clamp(1.7rem, 2.8vw, 3rem); }

/* Footer propre aux deux presets. */
body.aks-template-event.aks-generated-page > .site-footer,
body.aks-template-event.aks-generated-page > #colophon,
body.aks-template-local.aks-generated-page > .site-footer,
body.aks-template-local.aks-generated-page > #colophon { display: none !important; }

.aks-custom-footer { width: 100%; }
.aks-custom-footer-inner { display: grid; grid-template-columns: 1.3fr .8fr .9fr .9fr; gap: 42px; padding: 48px max(40px, calc((100vw - 1420px)/2)); }
.aks-custom-footer h3 { margin: 0 0 14px; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.aks-custom-footer a { display: block; margin: 7px 0; color: inherit; text-decoration: none; }
.aks-custom-footer p { line-height: 1.6; }
.aks-custom-footer-brand img { max-width: 190px; max-height: 86px; object-fit: contain; }
.aks-custom-footer-bottom { padding: 16px max(40px, calc((100vw - 1420px)/2)); border-top: 1px solid rgba(255,255,255,.12); font-size: .82rem; }
.aks-custom-footer-event { color: rgba(255,255,255,.72); background: #101214; }
.aks-custom-footer-event h3 { color: var(--aks-primary); }
.aks-custom-footer-local { color: #5b6270; background: #fffdf9; border-top: 1px solid rgba(32,50,74,.10); }
.aks-custom-footer-local h3 { color: var(--aks-primary); }
.aks-custom-footer-local .aks-custom-footer-bottom { border-color: rgba(32,50,74,.12); }

@media (max-width: 1100px) {
  .aks-card-grid-event { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .aks-event-home-info { grid-template-columns: 1fr; }
  .aks-event-home-info > div { border-left: 0; border-top: 1px solid rgba(255,255,255,.13); }
  .aks-event-home-info > div:first-child { border-top: 0; }
  .aks-event-media-row { grid-template-columns: 1fr; }
  .aks-local-story,
  .aks-local-dual-section { grid-template-columns: 1fr; }
  .aks-custom-footer-inner { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .aks-template-event .aks-event-hero-content,
  .aks-template-event .aks-stats-event,
  .aks-template-event .aks-section,
  .aks-template-event .aks-event-home-info,
  .aks-template-event .aks-event-media-row,
  .aks-template-event .aks-final-cta-event,
  .aks-local-story,
  .aks-local-dual-section,
  .aks-template-local .aks-section-gallery-home,
  .aks-template-local .aks-section-partners,
  .aks-template-local .aks-final-cta-local { padding-inline: 20px; }
  .aks-card-grid-event,
  .aks-event-practical-cards,
  .aks-event-media-gallery,
  .aks-template-local .aks-local-column .aks-event-grid,
  .aks-local-activity-grid,
  .aks-local-people-row,
  .aks-template-local .aks-gallery-strip,
  .aks-template-local .aks-partner-grid { grid-template-columns: 1fr; }
  .aks-template-local .aks-local-hero { grid-template-columns: 1fr; }
  .aks-template-local .aks-local-hero-content { padding: 42px 24px; }
  .aks-template-local .aks-local-hero-visual { min-height: 340px; }
  .aks-local-values { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .aks-local-values article:nth-child(3) { border-left: 0; }
  .aks-custom-footer-inner { grid-template-columns: 1fr; padding-inline: 24px; }
  .aks-custom-footer-bottom { padding-inline: 24px; }
}


/* ======================================================================
   V0.22 — nettoyage fonctionnel des presets validés
   ====================================================================== */

/* Le footer du thème est remplacé uniquement sur les pages Event / Local. */
body.aks-has-custom-footer footer.site-footer:not(.aks-custom-footer),
body.aks-has-custom-footer #colophon:not(.aks-custom-footer),
body.aks-has-custom-footer .site-footer-wrap:not(.aks-custom-footer),
body.aks-has-custom-footer .site-bottom-footer-wrap:not(.aks-custom-footer) {
  display: none !important;
}

/* Event : aucune bande blanche lorsque la section Parcours n’existe pas. */
.aks-homepage-event {
  background: #101214;
}

.aks-template-event .aks-stats-event,
.aks-template-event .aks-event-home-info,
.aks-template-event .aks-event-media-row,
.aks-template-event .aks-final-cta-event {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.aks-template-event .aks-stats-event {
  margin-bottom: 0 !important;
}

/* Les aides de contenu sont visibles uniquement pour les administrateurs connectés. */
.aks-admin-empty-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0;
  padding: 24px max(24px, calc((100vw - 1420px) / 2));
  border: 1px dashed rgba(30,36,48,.25);
  background: rgba(255,255,255,.82);
}

.aks-admin-empty-section strong {
  display: block;
  margin-bottom: 5px;
  font-size: 1rem;
}

.aks-admin-empty-section p {
  margin: 0;
  color: #68717d;
}

.aks-template-event .aks-admin-empty-section {
  color: #fff;
  background: #161a1d;
  border-color: rgba(255,255,255,.22);
}

.aks-template-event .aks-admin-empty-section p {
  color: rgba(255,255,255,.64);
}

/* Colonnes locales et médias Event : la grille suit le contenu réellement présent. */
.aks-local-dual-section.aks-columns-1 {
  grid-template-columns: minmax(0, 1fr);
}

.aks-event-media-row.aks-media-albums-only {
  grid-template-columns: 230px minmax(0, 1fr);
}

.aks-event-media-row.aks-media-docs-only {
  grid-template-columns: minmax(0, 720px);
  justify-content: center;
}

/* Footer dynamique, sans colonnes fantômes ni hauteur cérémonielle. */
.aks-custom-footer-inner {
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: clamp(24px, 4vw, 52px);
  padding-top: clamp(34px, 4vw, 54px);
  padding-bottom: clamp(30px, 3.5vw, 48px);
}

.aks-custom-footer-column:empty {
  display: none;
}

.aks-footer-cols-1 .aks-custom-footer-inner {
  grid-template-columns: minmax(0, 720px);
}

.aks-footer-cols-2 .aks-custom-footer-inner {
  grid-template-columns: minmax(0, 1.3fr) minmax(220px, .7fr);
}

.aks-footer-cols-3 .aks-custom-footer-inner {
  grid-template-columns: minmax(260px, 1.25fr) repeat(2, minmax(190px, .75fr));
}

.aks-custom-footer-brand p {
  max-width: 460px;
}

.aks-custom-footer-local {
  min-height: 0;
}

.aks-custom-footer-bottom {
  padding-top: 14px;
  padding-bottom: 14px;
}

@media (max-width: 900px) {
  .aks-footer-cols-2 .aks-custom-footer-inner,
  .aks-footer-cols-3 .aks-custom-footer-inner,
  .aks-custom-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .aks-admin-empty-section {
    align-items: stretch;
    flex-direction: column;
    padding-inline: 20px;
  }

  .aks-footer-cols-1 .aks-custom-footer-inner,
  .aks-footer-cols-2 .aks-custom-footer-inner,
  .aks-footer-cols-3 .aks-custom-footer-inner,
  .aks-custom-footer-inner,
  .aks-event-media-row.aks-media-albums-only,
  .aks-event-media-row.aks-media-docs-only {
    grid-template-columns: 1fr;
  }
}

/* ======================================================================
   V0.23 — cohérence des pages internes avec les accueils validés
   Presets Event / Trail et Association de village uniquement.
   ====================================================================== */

/* Les wrappers du thème ne doivent plus réintroduire un fond ou une largeur
   contraires au preset. Club & Cours reste volontairement hors de ces règles. */
body.aks-template-event.aks-generated-page .site-main,
body.aks-template-event.aks-generated-page .content-area,
body.aks-template-event.aks-generated-page .entry-content,
body.aks-template-event.aks-generated-page .content-container {
  background: #101214 !important;
}

body.aks-template-local.aks-generated-page .site-main,
body.aks-template-local.aks-generated-page .content-area,
body.aks-template-local.aks-generated-page .entry-content,
body.aks-template-local.aks-generated-page .content-container {
  background: #fffdf9 !important;
}

.aks-template-event .aks-internal-page,
.aks-template-local .aks-internal-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.aks-template-event .aks-internal-page .aks-page-content,
.aks-template-local .aks-internal-page .aks-page-content {
  padding-inline: max(40px, calc((100vw - 1420px) / 2));
}

.aks-internal-page .aks-gallery-grid > .aks-admin-empty-section,
.aks-internal-page .aks-card-grid > .aks-admin-empty-section,
.aks-internal-page .aks-document-list > .aks-admin-empty-section {
  grid-column: 1 / -1;
}

/* ----------------------------------------------------------------------
   EVENT / TRAIL — pages internes dans la continuité sombre de l’accueil.
   ---------------------------------------------------------------------- */
.aks-template-event .aks-internal-page {
  color: #fff;
  background: #101214;
}

.aks-template-event .aks-internal-page .aks-page-header {
  position: relative;
  min-height: clamp(330px, 42vw, 500px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 0;
  padding: clamp(58px, 7vw, 96px) max(40px, calc((100vw - 1420px) / 2));
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(7,12,10,.98) 0%, rgba(7,12,10,.86) 48%, rgba(7,12,10,.42) 100%),
    repeating-radial-gradient(ellipse at 82% 52%, transparent 0 28px, color-mix(in srgb, var(--aks-primary) 10%, transparent) 29px 30px, transparent 31px 58px),
    #111714;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
  border-radius: 0;
  box-shadow: none;
}

.aks-template-event .aks-internal-page .aks-page-header::after {
  content: "EVENT / TRAIL";
  position: absolute;
  right: max(22px, calc((100vw - 1420px) / 2));
  top: 34px;
  color: rgba(255,255,255,.28);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .2em;
  writing-mode: vertical-rl;
}

.aks-template-event .aks-internal-page .aks-page-header .aks-eyebrow {
  margin-bottom: 20px;
  color: var(--aks-primary);
  font-style: normal;
  letter-spacing: .16em;
}

.aks-template-event .aks-internal-page .aks-page-header h1 {
  max-width: 1120px !important;
  margin: 0;
  color: #fff;
  font-family: "Oswald", "Arial Narrow", Impact, sans-serif;
  font-size: clamp(4.5rem, 9vw, 9.4rem) !important;
  font-weight: 650;
  line-height: .78;
  letter-spacing: -.025em;
  text-transform: uppercase;
  text-wrap: balance;
}

.aks-template-event .aks-internal-page .aks-page-header p:not(.aks-eyebrow) {
  max-width: 720px;
  margin: 24px 0 0;
  color: rgba(255,255,255,.68);
  font-size: 1.05rem;
  line-height: 1.65;
}

.aks-template-event .aks-internal-page .aks-page-content {
  min-height: 250px;
  padding-top: clamp(42px, 5vw, 72px);
  padding-bottom: clamp(58px, 6vw, 90px);
  background: #101214;
}

.aks-template-event .aks-internal-page .aks-empty-card,
.aks-template-event .aks-internal-page .aks-admin-empty-section {
  color: #fff;
  background: #171b1e;
  border: 1px dashed rgba(255,255,255,.22);
  border-radius: 0;
  box-shadow: none;
}

.aks-template-event .aks-internal-page .aks-empty-card {
  padding: 30px;
}

.aks-template-event .aks-internal-page .aks-empty-card p,
.aks-template-event .aks-internal-page .aks-admin-empty-section p {
  color: rgba(255,255,255,.60);
}

.aks-template-event .aks-internal-page .aks-section {
  margin: 0 0 clamp(54px, 6vw, 86px);
}

.aks-template-event .aks-internal-page .aks-section:last-child {
  margin-bottom: 0;
}

.aks-template-event .aks-internal-page .aks-section-heading h2 {
  color: #fff;
}

/* L’événement : texte clair + panneau chiffres maîtrisé. */
.aks-template-event .aks-about-page .aks-about-layout {
  grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr);
  gap: 0;
  align-items: stretch;
  background: #171b1e;
  border: 1px solid rgba(255,255,255,.12);
}

.aks-template-event .aks-about-page .aks-about-copy {
  min-height: 410px;
  padding: clamp(38px, 5vw, 64px);
  color: #141719;
  background: #f4f1ea;
  border: 0;
  border-radius: 0;
}

.aks-template-event .aks-about-page .aks-about-copy h2 {
  color: #141719;
  font-size: clamp(2.6rem, 4.6vw, 5rem);
  line-height: .92;
}

.aks-template-event .aks-about-page .aks-about-copy p {
  color: #596067;
  font-size: 1.04rem;
  line-height: 1.75;
}

.aks-template-event .aks-about-page .aks-about-layout .aks-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  background: #171b1e;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.aks-template-event .aks-about-page .aks-about-layout .aks-stat {
  min-height: 205px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px;
  text-align: left;
  border-right: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.aks-template-event .aks-about-page .aks-about-layout .aks-stat:nth-child(2n) {
  border-right: 0;
}

.aks-template-event .aks-about-page .aks-about-layout .aks-stat:nth-last-child(-n+2) {
  border-bottom: 0;
}

.aks-template-event .aks-about-page .aks-about-layout .aks-stat strong,
.aks-template-event .aks-about-page .aks-about-layout .aks-stat span,
.aks-template-event .aks-about-page .aks-about-layout .aks-stat small {
  position: static;
  width: auto;
  writing-mode: horizontal-tb !important;
  transform: none !important;
  white-space: normal;
}

.aks-template-event .aks-about-page .aks-about-layout .aks-stat strong {
  color: var(--aks-primary);
  font-family: "Oswald", sans-serif;
  font-size: clamp(3rem, 5vw, 5rem);
  line-height: .9;
}

.aks-template-event .aks-about-page .aks-about-layout .aks-stat span {
  margin-top: 10px;
  color: rgba(255,255,255,.66);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Parcours, galerie, documents, organisation. */
.aks-template-event .aks-page-courses .aks-card-grid-3 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.aks-template-event .aks-page-gallery .aks-gallery-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.aks-template-event .aks-page-gallery .aks-album-card,
.aks-template-event .aks-page-documents .aks-document-card,
.aks-template-event .aks-page-team .aks-person-card,
.aks-template-event .aks-contact-page .aks-contact-card,
.aks-template-event .aks-page-registrations .aks-process > div,
.aks-template-event .aks-page-practical .aks-practical-grid article,
.aks-template-event .aks-page-practical .aks-practical-notes {
  color: #fff;
  background: #171b1e;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 0;
  box-shadow: none;
}

.aks-template-event .aks-page-gallery .aks-album-card h3,
.aks-template-event .aks-page-team .aks-person-card h3,
.aks-template-event .aks-contact-page .aks-contact-card h2,
.aks-template-event .aks-page-registrations .aks-process h3,
.aks-template-event .aks-page-practical .aks-practical-notes h2 {
  color: #fff;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
}

.aks-template-event .aks-page-gallery .aks-album-card p,
.aks-template-event .aks-page-team .aks-person-card p,
.aks-template-event .aks-contact-page .aks-contact-card p,
.aks-template-event .aks-page-registrations .aks-process p,
.aks-template-event .aks-page-practical .aks-practical-notes p,
.aks-template-event .aks-page-documents .aks-document-card p {
  color: rgba(255,255,255,.62);
}

.aks-template-event .aks-page-documents .aks-document-list {
  gap: 12px;
}

.aks-template-event .aks-page-documents .aks-document-card {
  padding: 22px;
  border-left: 5px solid var(--aks-primary);
}

.aks-template-event .aks-page-documents .aks-doc-icon {
  color: #111;
  background: var(--aks-primary);
  border-radius: 0;
}

.aks-template-event .aks-page-team .aks-team-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.aks-template-event .aks-page-team .aks-person-photo {
  border-radius: 0;
  background: #202528;
}

.aks-template-event .aks-contact-page .aks-contact-grid {
  gap: 1px;
  background: rgba(255,255,255,.12);
}

.aks-template-event .aks-contact-page .aks-contact-card {
  min-height: 320px;
  padding: clamp(32px, 5vw, 58px);
}

.aks-template-event .aks-contact-page .aks-contact-card h2 {
  color: var(--aks-primary);
  font-size: clamp(2.4rem, 4vw, 4rem);
}

.aks-template-event .aks-contact-page .aks-contact-card strong {
  color: #fff;
}

.aks-template-event .aks-page-registrations .aks-process {
  gap: 1px;
  margin: 0;
  background: rgba(255,255,255,.12);
}

.aks-template-event .aks-page-registrations .aks-process > div {
  min-height: 300px;
  padding: 34px;
}

.aks-template-event .aks-page-registrations .aks-process strong {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  color: #111;
  background: var(--aks-primary);
  border-radius: 0;
}

.aks-template-event .aks-page-registrations .aks-centered-actions,
.aks-template-event .aks-page-practical .aks-centered-actions {
  padding-top: 30px;
}

.aks-template-event .aks-page-practical .aks-practical-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255,255,255,.12);
}

.aks-template-event .aks-page-practical .aks-practical-grid article {
  min-height: 230px;
  padding: 34px;
}

.aks-template-event .aks-page-practical .aks-practical-grid strong {
  color: #fff;
  font-size: clamp(2rem, 3vw, 3.4rem);
}

.aks-template-event .aks-page-practical .aks-practical-notes {
  margin-top: 24px;
  padding: 34px;
}

/* ----------------------------------------------------------------------
   ASSOCIATION DE VILLAGE — pages internes éditoriales et compactes.
   ---------------------------------------------------------------------- */
.aks-template-local .aks-internal-page {
  color: var(--aks-local-ink);
  background: #fffdf9;
}

.aks-template-local .aks-internal-page .aks-page-header {
  position: relative;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 0;
  padding: clamp(56px, 7vw, 92px) max(40px, calc((100vw - 1420px) / 2));
  background:
    linear-gradient(90deg, #fffdf9 0%, #fffdf9 70%, #f4eee5 100%);
  border: 0;
  border-bottom: 1px solid rgba(32,50,74,.14);
  box-shadow: none;
}

.aks-template-local .aks-internal-page .aks-page-header::before {
  content: "";
  position: absolute;
  left: max(40px, calc((100vw - 1420px) / 2));
  top: clamp(42px, 5vw, 66px);
  bottom: clamp(42px, 5vw, 66px);
  width: 4px;
  background: var(--aks-local-red);
}

.aks-template-local .aks-internal-page .aks-page-header > * {
  margin-left: 26px;
}

.aks-template-local .aks-internal-page .aks-page-header .aks-eyebrow {
  margin-bottom: 18px;
  color: var(--aks-local-red);
  font-style: normal;
  letter-spacing: .16em;
}

.aks-template-local .aks-internal-page .aks-page-header h1 {
  max-width: 980px !important;
  margin-top: 0;
  color: var(--aks-local-blue);
  font-family: "Lora", Georgia, serif;
  font-size: clamp(3.8rem, 7vw, 7.2rem) !important;
  font-weight: 600;
  line-height: .94;
  letter-spacing: -.035em;
  text-transform: none;
  text-wrap: balance;
}

.aks-template-local .aks-internal-page .aks-page-header p:not(.aks-eyebrow) {
  max-width: 720px;
  margin-top: 20px;
  color: #68717d;
  font-size: 1.05rem;
  line-height: 1.65;
}

.aks-template-local .aks-internal-page .aks-page-content {
  min-height: 210px;
  padding-top: clamp(42px, 5vw, 70px);
  padding-bottom: clamp(54px, 6vw, 84px);
  background: #fffdf9;
}

.aks-template-local .aks-internal-page .aks-empty-card,
.aks-template-local .aks-internal-page .aks-admin-empty-section {
  color: var(--aks-local-blue);
  background: #fffaf3;
  border: 1px dashed rgba(32,50,74,.24);
  border-left: 5px solid var(--aks-local-red);
  border-radius: 0;
  box-shadow: none;
}

.aks-template-local .aks-internal-page .aks-empty-card {
  padding: 28px 30px;
}

.aks-template-local .aks-internal-page .aks-admin-empty-section p,
.aks-template-local .aks-internal-page .aks-empty-card p {
  color: #68717d;
}

/* L’association : double page éditoriale avec statistiques bleues. */
.aks-template-local .aks-about-page .aks-about-layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);
  gap: 0;
  align-items: stretch;
  border: 1px solid rgba(32,50,74,.14);
}

.aks-template-local .aks-about-page .aks-about-copy {
  min-height: 410px;
  padding: clamp(38px, 5vw, 64px);
  background: #fffdf9;
  border: 0;
  border-radius: 0;
}

.aks-template-local .aks-about-page .aks-about-copy h2 {
  color: var(--aks-local-blue);
  font-family: "Lora", Georgia, serif;
  font-size: clamp(2.6rem, 4.8vw, 5rem);
  font-weight: 600;
  line-height: 1;
}

.aks-template-local .aks-about-page .aks-about-copy p {
  color: #68717d;
  font-size: 1.05rem;
  line-height: 1.75;
}

.aks-template-local .aks-about-page .aks-about-layout .aks-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 18px;
  background: var(--aks-local-blue);
  border: 0;
  border-radius: 0;
  box-shadow: 14px 14px 0 rgba(166,75,69,.12);
}

.aks-template-local .aks-about-page .aks-about-layout .aks-stat {
  min-height: 185px;
  padding: 28px;
  text-align: left;
  border-right: 1px solid rgba(255,255,255,.16);
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.aks-template-local .aks-about-page .aks-about-layout .aks-stat:nth-child(2n) {
  border-right: 0;
}

.aks-template-local .aks-about-page .aks-about-layout .aks-stat:nth-last-child(-n+2) {
  border-bottom: 0;
}

.aks-template-local .aks-about-page .aks-about-layout .aks-stat strong,
.aks-template-local .aks-about-page .aks-about-layout .aks-stat span,
.aks-template-local .aks-about-page .aks-about-layout .aks-stat small {
  position: static;
  width: auto;
  writing-mode: horizontal-tb !important;
  transform: none !important;
  white-space: normal;
}

.aks-template-local .aks-about-page .aks-about-layout .aks-stat strong {
  color: #fffdf9;
  font-family: "Lora", Georgia, serif;
  font-size: clamp(2.8rem, 4.5vw, 4.6rem);
  font-weight: 500;
  line-height: .9;
}

.aks-template-local .aks-about-page .aks-about-layout .aks-stat:first-child strong {
  color: #e7b0aa;
}

.aks-template-local .aks-about-page .aks-about-layout .aks-stat span {
  margin-top: 10px;
  color: rgba(255,255,255,.68);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Activités, agenda, galerie, documents, comité. */
.aks-template-local .aks-page-courses .aks-card-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.aks-template-local .aks-page-events .aks-event-grid {
  border-top: 1px solid rgba(32,50,74,.16);
}

.aks-template-local .aks-page-events .aks-event-card {
  grid-template-columns: 130px minmax(0, 1fr) auto;
  min-height: 126px;
  padding: 24px 8px;
}

.aks-template-local .aks-page-gallery .aks-gallery-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.aks-template-local .aks-page-gallery .aks-album-card {
  overflow: hidden;
  background: #fffdf9;
  border: 1px solid rgba(32,50,74,.15);
  border-radius: 0;
}

.aks-template-local .aks-page-gallery .aks-album-image {
  height: 240px;
}

.aks-template-local .aks-page-documents .aks-document-list {
  max-width: 1050px;
  gap: 10px;
}

.aks-template-local .aks-page-documents .aks-document-card {
  padding: 18px 20px;
  background: #fffdf9;
  border: 1px solid rgba(32,50,74,.14);
  border-left: 5px solid var(--aks-local-red);
  border-radius: 0;
}

.aks-template-local .aks-page-team .aks-team-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}

.aks-template-local .aks-page-team .aks-person-card {
  padding: 0 0 20px;
  background: transparent;
  border: 0;
  text-align: left;
}

.aks-template-local .aks-page-team .aks-person-photo {
  border-radius: 0;
}

.aks-template-local .aks-page-team .aks-person-card h3 {
  color: var(--aks-local-blue);
  font-family: "Lora", Georgia, serif;
  font-size: 1.25rem;
}

.aks-template-local .aks-contact-page .aks-contact-grid {
  gap: 0;
  border: 1px solid rgba(32,50,74,.14);
}

.aks-template-local .aks-contact-page .aks-contact-card {
  min-height: 310px;
  padding: clamp(32px, 5vw, 56px);
  background: #fffdf9;
  border: 0;
  border-left: 1px solid rgba(32,50,74,.14);
  border-radius: 0;
}

.aks-template-local .aks-contact-page .aks-contact-card:first-child {
  border-left: 0;
}

.aks-template-local .aks-contact-page .aks-contact-card h2 {
  color: var(--aks-local-blue);
  font-family: "Lora", Georgia, serif;
  font-size: clamp(2rem, 3.2vw, 3.4rem);
  text-transform: none;
}

.aks-template-local .aks-page-registrations .aks-process {
  gap: 0;
  margin: 0;
  border: 1px solid rgba(32,50,74,.14);
}

.aks-template-local .aks-page-registrations .aks-process > div {
  min-height: 310px;
  padding: 34px;
  background: #fffdf9;
  border: 0;
  border-left: 1px solid rgba(32,50,74,.14);
  border-radius: 0;
}

.aks-template-local .aks-page-registrations .aks-process > div:first-child {
  border-left: 0;
}

.aks-template-local .aks-page-registrations .aks-process strong {
  color: var(--aks-local-red);
  font-family: "Lora", Georgia, serif;
  font-size: 3.6rem;
}

.aks-template-local .aks-page-registrations .aks-process h3 {
  color: var(--aks-local-blue);
  font-family: "Lora", Georgia, serif;
  font-size: 1.65rem;
  text-transform: none;
}

.aks-template-local .aks-page-registrations .aks-centered-actions {
  padding-top: 28px;
}

/* Le footer local était rempli mais ses liens restaient blancs à cause d’une
   ancienne règle globale. On lui rend donc sa dignité et sa lisibilité. */
body.aks-template-local.aks-generated-page .aks-custom-footer-local,
body.aks-template-local.aks-generated-page .aks-custom-footer-local p {
  color: #5b6270 !important;
}

body.aks-template-local.aks-generated-page .aks-custom-footer-local h3,
body.aks-template-local.aks-generated-page .aks-custom-footer-local strong,
body.aks-template-local.aks-generated-page .aks-custom-footer-local a {
  color: var(--aks-local-blue) !important;
}

body.aks-template-local.aks-generated-page .aks-custom-footer-local a:hover {
  color: var(--aks-local-red) !important;
}

/* ----------------------------------------------------------------------
   Responsive pages internes.
   ---------------------------------------------------------------------- */
@media (max-width: 1180px) {
  .aks-template-event .aks-page-courses .aks-card-grid-3,
  .aks-template-event .aks-page-team .aks-team-grid,
  .aks-template-local .aks-page-team .aks-team-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .aks-template-event .aks-page-gallery .aks-gallery-grid,
  .aks-template-local .aks-page-gallery .aks-gallery-grid,
  .aks-template-local .aks-page-courses .aks-card-grid-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .aks-template-event .aks-about-page .aks-about-layout,
  .aks-template-local .aks-about-page .aks-about-layout {
    grid-template-columns: 1fr;
  }

  .aks-template-event .aks-page-practical .aks-practical-grid,
  .aks-template-event .aks-page-registrations .aks-process,
  .aks-template-local .aks-page-registrations .aks-process,
  .aks-template-event .aks-contact-page .aks-contact-grid,
  .aks-template-local .aks-contact-page .aks-contact-grid {
    grid-template-columns: 1fr;
  }

  .aks-template-local .aks-contact-page .aks-contact-card,
  .aks-template-local .aks-page-registrations .aks-process > div {
    border-left: 0;
    border-top: 1px solid rgba(32,50,74,.14);
  }

  .aks-template-local .aks-contact-page .aks-contact-card:first-child,
  .aks-template-local .aks-page-registrations .aks-process > div:first-child {
    border-top: 0;
  }

  .aks-template-event .aks-page-courses .aks-card-grid-3,
  .aks-template-event .aks-page-team .aks-team-grid,
  .aks-template-local .aks-page-team .aks-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .aks-template-event .aks-internal-page .aks-page-header,
  .aks-template-local .aks-internal-page .aks-page-header {
    min-height: 280px;
    padding: 42px 20px;
  }

  .aks-template-event .aks-internal-page .aks-page-header::after {
    display: none;
  }

  .aks-template-local .aks-internal-page .aks-page-header::before {
    left: 20px;
    top: 34px;
    bottom: 34px;
  }

  .aks-template-local .aks-internal-page .aks-page-header > * {
    margin-left: 18px;
  }

  .aks-template-event .aks-internal-page .aks-page-header h1,
  .aks-template-local .aks-internal-page .aks-page-header h1 {
    font-size: clamp(3.2rem, 16vw, 5rem) !important;
  }

  .aks-template-event .aks-internal-page .aks-page-content,
  .aks-template-local .aks-internal-page .aks-page-content {
    padding: 34px 20px 54px;
  }

  .aks-template-event .aks-page-courses .aks-card-grid-3,
  .aks-template-event .aks-page-gallery .aks-gallery-grid,
  .aks-template-event .aks-page-team .aks-team-grid,
  .aks-template-local .aks-page-courses .aks-card-grid-3,
  .aks-template-local .aks-page-gallery .aks-gallery-grid,
  .aks-template-local .aks-page-team .aks-team-grid {
    grid-template-columns: 1fr;
  }

  .aks-template-local .aks-page-events .aks-event-card {
    grid-template-columns: 1fr;
  }
}


/* ======================================================================
   V0.24 — preset Services & Rendez-vous + largeur interne Event corrigée
   ====================================================================== */

/* Trail : conserver le fond plein écran, mais ramener le contenu à une largeur
   lisible. Une page peut être spectaculaire sans tenter de quitter l’écran. */
.aks-template-event .aks-internal-page .aks-page-header {
  min-height: clamp(320px, 36vw, 460px);
  padding-inline: max(32px, calc((100vw - 1280px) / 2));
}
.aks-template-event .aks-internal-page .aks-page-header h1 {
  max-width: 960px !important;
  font-size: clamp(4.2rem, 7.4vw, 7.8rem) !important;
}
.aks-template-event .aks-internal-page .aks-page-content {
  padding-inline: max(32px, calc((100vw - 1280px) / 2));
}
.aks-template-event .aks-internal-page .aks-page-header::after {
  right: max(24px, calc((100vw - 1280px) / 2));
}

/* Base du preset Services */
body.aks-template-services.aks-generated-page {
  background: #faf7f2;
}
body.aks-template-services.aks-generated-page .site-header,
body.aks-template-services.aks-generated-page #masthead,
body.aks-template-services.aks-generated-page .site-header-wrap,
body.aks-template-services.aks-generated-page .site-main-header-wrap,
body.aks-template-services.aks-generated-page .site-header-row-container,
body.aks-template-services.aks-generated-page .site-header-row-container-inner {
  background: rgba(255,255,255,.97) !important;
  border-color: rgba(55,45,40,.10) !important;
}
body.aks-template-services.aks-generated-page .site-main,
body.aks-template-services.aks-generated-page .content-area,
body.aks-template-services.aks-generated-page .entry-content,
body.aks-template-services.aks-generated-page .content-container {
  background: #faf7f2 !important;
}
.aks-template-services .aks-site {
  --aks-service-ink: #272321;
  --aks-service-muted: #746d68;
  --aks-service-soft: #f1e5dd;
  --aks-service-line: rgba(70,52,44,.13);
  font-family: "Manrope", Inter, sans-serif;
  color: var(--aks-service-ink);
}
.aks-template-services .aks-homepage-services {
  width: min(1480px, calc(100% - 32px));
  max-width: 1480px;
  padding-top: 18px;
}
.aks-template-services h1,
.aks-template-services h2,
.aks-template-services .aks-page-header h1,
.aks-template-services .aks-section-heading h2,
.aks-template-services .aks-final-cta h2 {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 500;
  text-transform: none;
}
.aks-template-services .aks-eyebrow {
  color: var(--aks-primary);
  font-style: normal;
  letter-spacing: .14em;
}
.aks-template-services .aks-btn {
  min-height: 46px;
  border-radius: 4px;
  font-family: "Manrope", sans-serif;
}
.aks-template-services .aks-btn-primary {
  box-shadow: 0 12px 28px color-mix(in srgb, var(--aks-primary) 24%, transparent);
}
.aks-template-services .aks-section-heading {
  height: auto;
  position: static;
  margin: 0;
}
.aks-template-services .aks-section-heading .aks-title-bg { display: none; }
.aks-template-services .aks-section-heading h2 {
  position: static;
  font-size: clamp(2.35rem, 4vw, 4.2rem);
  color: var(--aks-service-ink);
  white-space: normal;
}
.aks-template-services .aks-section {
  margin: clamp(64px, 7vw, 96px) 0;
}

/* Hero */
.aks-services-hero {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
  min-height: 620px;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--aks-service-line);
  border-radius: 0;
  box-shadow: 0 26px 64px rgba(53,39,33,.10);
}
.aks-services-hero-content {
  padding: clamp(54px, 6vw, 92px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(135deg, #fff 0%, #fdf9f5 100%);
}
.aks-services-hero h1 {
  max-width: 720px;
  margin: 0;
  color: var(--aks-service-ink);
  font-size: clamp(4rem, 6.7vw, 7.2rem);
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.aks-services-hero h1 em { color: var(--aks-primary); }
.aks-services-hero .aks-hero-text {
  max-width: 580px;
  margin-top: 24px;
  color: var(--aks-service-muted);
  font-size: 1.08rem;
  line-height: 1.75;
}
.aks-services-hero-meta {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--aks-service-line);
  color: var(--aks-service-muted);
  font-size: .86rem;
}
.aks-services-hero-visual { min-height: 620px; background: #eadfd7; }
.aks-services-hero-visual img { width: 100%; height: 100%; object-fit: cover; }
.aks-services-hero-placeholder { height: 100%; display: grid; place-items: center; padding: 30px; text-align: center; background: linear-gradient(145deg,#eadfd7,#cda995); color: #fff; }

/* Bande d’informations */
.aks-services-highlights {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  margin: 18px 0 0;
  background: #fff;
  border: 1px solid var(--aks-service-line);
  box-shadow: 0 12px 34px rgba(53,39,33,.06);
}
.aks-services-highlights article {
  min-height: 120px;
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 14px;
  align-items: center;
  padding: 24px;
  border-left: 1px solid var(--aks-service-line);
}
.aks-services-highlights article:first-child { border-left: 0; }
.aks-services-highlights article > span { color: var(--aks-primary); font-family: "Fraunces",serif; font-size: 2rem; text-align: center; }
.aks-services-highlights strong { display: block; font-size: .92rem; }
.aks-services-highlights p { margin: 5px 0 0; color: var(--aks-service-muted); font-size: .77rem; line-height: 1.45; }

/* Prestations */
.aks-template-services .aks-card-grid-services { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.aks-template-services .aks-course-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--aks-service-line);
  border-radius: 4px;
  box-shadow: 0 14px 32px rgba(53,39,33,.055);
}
.aks-template-services .aks-course-card::before { display:none; }
.aks-template-services .aks-course-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(53,39,33,.09); }
.aks-template-services .aks-card-image { height: 210px; }
.aks-service-card-body { min-height: 285px; display:flex; flex-direction:column; padding: 25px; }
.aks-service-card-kicker { margin:0 0 10px; color:var(--aks-primary); font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.aks-service-card-body h3 { margin:0; font-family:"Fraunces",serif; font-size:1.65rem; font-weight:500; }
.aks-service-card-body .aks-card-desc { color:var(--aks-service-muted); }
.aks-service-card-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; margin-top:auto; padding-top:18px; background:var(--aks-service-line); }
.aks-service-card-meta span { padding:12px 0; background:#fff; }
.aks-service-card-meta small { display:block; color:var(--aks-service-muted); font-size:.67rem; text-transform:uppercase; }
.aks-service-card-meta strong { display:block; margin-top:4px; }
.aks-service-card-note { color:var(--aks-service-muted); font-size:.78rem; }
.aks-template-services .aks-card-link { color:var(--aks-primary); }

/* À propos */
.aks-services-about {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(480px,1fr);
  min-height:520px;
  margin:clamp(70px,8vw,110px) 0;
  background:#fff;
  border:1px solid var(--aks-service-line);
}
.aks-services-about-copy { padding:clamp(44px,5.5vw,76px); }
.aks-services-about-copy h2 { margin:0; font-size:clamp(2.8rem,4.7vw,5rem); line-height:1.02; }
.aks-services-about-copy > p:not(.aks-eyebrow) { max-width:680px; color:var(--aks-service-muted); line-height:1.75; }
.aks-services-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:34px 0; }
.aks-services-values span { padding-top:18px; border-top:2px solid color-mix(in srgb,var(--aks-primary) 55%,white); }
.aks-services-values strong,.aks-services-values small { display:block; }
.aks-services-values small { margin-top:6px; color:var(--aks-service-muted); }
.aks-services-about-image { min-height:520px; background:#e8d8cf; display:grid; place-items:center; color:#8c6c5e; }
.aks-services-about-image img { width:100%; height:100%; object-fit:cover; }

/* Équipe / galerie / avis */
.aks-services-team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.aks-template-services .aks-person-card { display:grid; grid-template-columns:150px 1fr; align-items:center; min-height:180px; padding:10px; text-align:left; background:#fff; border:1px solid var(--aks-service-line); border-radius:4px; }
.aks-template-services .aks-person-photo { width:150px; height:160px; border-radius:2px; }
.aks-template-services .aks-person-card h3,.aks-template-services .aks-person-card p,.aks-template-services .aks-person-card a { grid-column:2; margin-left:20px; }
.aks-template-services .aks-person-card h3 { font-family:"Fraunces",serif; font-size:1.5rem; }
.aks-template-services .aks-gallery-strip { grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.aks-template-services .aks-album-card { border-radius:3px; overflow:hidden; }
.aks-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--aks-service-line); border:1px solid var(--aks-service-line); }
.aks-review-card { min-height:245px; padding:30px; background:#fff; }
.aks-review-stars { color:var(--aks-primary); letter-spacing:.16em; }
.aks-review-card p { color:var(--aks-service-muted); line-height:1.7; }
.aks-review-card strong,.aks-review-card small { display:block; }
.aks-review-card small { margin-top:5px; color:var(--aks-service-muted); }

/* Infos pratiques */
.aks-services-practical { display:grid; grid-template-columns:.9fr .75fr 1.35fr; gap:1px; margin:clamp(70px,8vw,108px) 0; background:var(--aks-service-line); border:1px solid var(--aks-service-line); }
.aks-services-practical > div { min-height:350px; padding:clamp(30px,4vw,52px); background:#fff; }
.aks-services-practical h2 { margin:0 0 28px; font-size:clamp(2.4rem,4vw,4rem); }
.aks-services-practical h3 { font-family:"Fraunces",serif; font-size:1.8rem; }
.aks-services-practical p { color:var(--aks-service-muted); line-height:1.65; }
.aks-services-hours p { display:flex; justify-content:space-between; gap:20px; margin:0; padding:10px 0; border-bottom:1px solid var(--aks-service-line); }
.aks-services-hours p span { color:var(--aks-service-muted); }
.aks-services-map { display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; background:repeating-linear-gradient(45deg,#f4eee9 0 1px,transparent 1px 26px),#faf7f2 !important; }
.aks-services-map span { color:var(--aks-primary); font-family:"Fraunces",serif; font-size:2rem; }

/* CTA / footer */
.aks-template-services .aks-final-cta-services { display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; min-height:190px; padding:38px 52px; color:#fff; background:var(--aks-primary); border-radius:0; }
.aks-template-services .aks-final-cta-services h2 { color:#fff; font-size:clamp(2.2rem,4vw,4rem); }
.aks-template-services .aks-final-cta-services .aks-eyebrow,.aks-template-services .aks-final-cta-services p { color:rgba(255,255,255,.82); }
.aks-template-services .aks-final-cta-services .aks-btn-primary { color:var(--aks-primary); background:#fff; box-shadow:none; }
.aks-template-services .aks-final-cta-services .aks-btn-secondary { color:#fff; border-color:rgba(255,255,255,.62); }
body.aks-template-services.aks-generated-page .site-footer,body.aks-template-services.aks-generated-page #colophon,body.aks-template-services.aks-generated-page footer:not(.aks-custom-footer){display:none!important;}
.aks-custom-footer-services { color:#625a55; background:#fff; border-top:1px solid var(--aks-service-line); }
.aks-custom-footer-services h3,.aks-custom-footer-services strong,.aks-custom-footer-services a { color:var(--aks-service-ink); }
.aks-custom-footer-services a:hover { color:var(--aks-primary); }

/* Pages internes Services */
.aks-template-services .aks-internal-page { width:100%; max-width:none; margin:0; padding:0; background:#faf7f2; }
.aks-template-services .aks-internal-page .aks-page-header { min-height:310px; display:flex; flex-direction:column; justify-content:flex-end; margin:0; padding:58px max(32px,calc((100vw - 1280px)/2)); background:linear-gradient(90deg,#fff 0%,#fff 68%,#f1e5dd 100%); border-bottom:1px solid var(--aks-service-line); }
.aks-template-services .aks-internal-page .aks-page-header h1 { max-width:960px!important; margin:0; color:var(--aks-service-ink); font-size:clamp(3.8rem,6.5vw,6.7rem)!important; line-height:.96; letter-spacing:-.04em; }
.aks-template-services .aks-internal-page .aks-page-header p:not(.aks-eyebrow) { max-width:700px; color:var(--aks-service-muted); line-height:1.65; }
.aks-template-services .aks-internal-page .aks-page-content { padding:54px max(32px,calc((100vw - 1280px)/2)) 78px; background:#faf7f2; }
.aks-template-services .aks-page-courses .aks-card-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.aks-template-services .aks-page-gallery .aks-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.aks-template-services .aks-page-team .aks-team-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.aks-template-services .aks-contact-grid,.aks-template-services .aks-process { gap:1px; background:var(--aks-service-line); border:1px solid var(--aks-service-line); }
.aks-template-services .aks-contact-card,.aks-template-services .aks-process>div { background:#fff; border:0; border-radius:0; }
.aks-template-services .aks-contact-card h2,.aks-template-services .aks-process h3 { font-family:"Fraunces",serif; text-transform:none; color:var(--aks-service-ink); }
.aks-template-services .aks-empty-card,.aks-template-services .aks-admin-empty-section { color:var(--aks-service-ink); background:#fff; border:1px dashed color-mix(in srgb,var(--aks-primary) 38%,#ddd); border-radius:3px; box-shadow:none; }

@media(max-width:1100px){
  .aks-services-hero{grid-template-columns:1fr;}
  .aks-services-hero-visual{min-height:420px;}
  .aks-services-highlights{grid-template-columns:repeat(2,1fr);}
  .aks-services-highlights article:nth-child(3){border-left:0;border-top:1px solid var(--aks-service-line);}
  .aks-services-highlights article:nth-child(4){border-top:1px solid var(--aks-service-line);}
  .aks-template-services .aks-card-grid-services,.aks-template-services .aks-page-courses .aks-card-grid-3{grid-template-columns:repeat(2,1fr);}
  .aks-services-about{grid-template-columns:1fr;}
  .aks-services-about-image{min-height:380px;}
  .aks-services-team-grid,.aks-template-services .aks-page-team .aks-team-grid{grid-template-columns:1fr;}
  .aks-services-practical{grid-template-columns:1fr 1fr;}
  .aks-services-map{grid-column:1/-1;}
}
@media(max-width:720px){
  .aks-template-services .aks-homepage-services{width:calc(100% - 16px);}
  .aks-services-hero-content{padding:38px 24px;}
  .aks-services-hero h1{font-size:clamp(3.2rem,14vw,5rem);}
  .aks-services-highlights,.aks-template-services .aks-card-grid-services,.aks-template-services .aks-page-courses .aks-card-grid-3,.aks-template-services .aks-page-gallery .aks-gallery-grid,.aks-review-grid,.aks-services-practical{grid-template-columns:1fr;}
  .aks-services-highlights article{border-left:0;border-top:1px solid var(--aks-service-line);}
  .aks-services-highlights article:first-child{border-top:0;}
  .aks-services-values{grid-template-columns:1fr;}
  .aks-template-services .aks-person-card{grid-template-columns:110px 1fr;}
  .aks-template-services .aks-person-photo{width:110px;height:130px;}
  .aks-template-services .aks-gallery-strip{grid-template-columns:repeat(2,1fr);}
  .aks-template-services .aks-final-cta-services{grid-template-columns:1fr;padding:34px 24px;}
  .aks-template-services .aks-internal-page .aks-page-header,.aks-template-services .aks-internal-page .aks-page-content{padding-inline:20px;}
}


/* ======================================================================
   V0.25 — finition des pages internes, couleurs dynamiques et logo thème
   ====================================================================== */

/* Les pages internes deviennent de vrais panneaux centrés. Le fond du preset
   reste plein écran, mais le contenu ne colle plus aux bords du navigateur. */
.aks-template-event .aks-internal-page {
  width: min(1320px, calc(100% - 56px));
  max-width: 1320px;
  margin: 36px auto 64px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  box-shadow: 0 26px 70px rgba(0,0,0,.20);
}

.aks-template-local .aks-internal-page,
.aks-template-services .aks-internal-page {
  width: min(1280px, calc(100% - 56px));
  max-width: 1280px;
  margin: 36px auto 64px;
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 22px 60px rgba(32,50,74,.07);
}

/* Event : titre moins brutal, meilleure respiration, sans perdre l'impact. */
.aks-template-event .aks-internal-page .aks-page-header {
  min-height: clamp(330px, 34vw, 440px);
  padding: clamp(58px, 6vw, 82px) clamp(30px, 5.5vw, 74px) clamp(48px, 5vw, 68px);
  border-radius: 0;
}
.aks-template-event .aks-internal-page .aks-page-header::after {
  right: clamp(22px, 3vw, 42px);
}
.aks-template-event .aks-internal-page .aks-page-header .aks-eyebrow {
  margin: 0 0 16px;
  color: var(--aks-primary-on-dark, var(--aks-primary));
}
.aks-template-event .aks-internal-page .aks-page-header h1 {
  max-width: 1000px !important;
  margin: 0;
  font-size: clamp(4rem, 6.8vw, 7.25rem) !important;
  line-height: .86;
  letter-spacing: -.018em;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.aks-template-event .aks-internal-page .aks-page-header p:not(.aks-eyebrow) {
  max-width: 740px;
  margin-top: 20px;
}
.aks-template-event .aks-internal-page .aks-page-content {
  padding: clamp(44px, 5vw, 66px) clamp(28px, 5vw, 64px) clamp(58px, 6vw, 82px);
}

/* Les titres très longs gardent une composition propre. */
.aks-template-event .aks-page-registrations .aks-page-header h1 {
  max-width: 920px !important;
  font-size: clamp(3.8rem, 6.2vw, 6.7rem) !important;
  line-height: .88;
}

/* Le panneau À propos avait encore des héritages typographiques verticaux. */
.aks-template-event .aks-about-page .aks-about-layout {
  max-width: 1160px;
  margin-inline: auto;
}
.aks-template-event .aks-about-page .aks-about-layout .aks-stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}
.aks-template-event .aks-about-page .aks-about-layout .aks-stat {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-width: 0 !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
}
.aks-template-event .aks-about-page .aks-about-layout .aks-stat > * {
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
  white-space: normal !important;
}
.aks-template-event .aks-about-page .aks-about-layout .aks-stat strong {
  color: var(--aks-primary-on-dark, var(--aks-primary));
}

/* Couleurs Event : tous les accents dérivent réellement de la couleur choisie. */
.aks-template-event .aks-eyebrow,
.aks-template-event .aks-stats-event strong,
.aks-template-event .aks-event-program li strong,
.aks-template-event .aks-event-practical-cards article > span,
body.aks-template-event:not(.aks-event-style-alpine) .aks-custom-footer-event h3,
.aks-template-event .aks-internal-page .aks-page-header .aks-eyebrow,
.aks-template-event .aks-page-practical .aks-practical-grid span {
  color: var(--aks-primary-on-dark, var(--aks-primary)) !important;
}
body.aks-template-event:not(.aks-event-style-alpine) .aks-btn-primary,
body.aks-template-event:not(.aks-event-style-alpine).aks-generated-page .site-header .button,
body.aks-template-event:not(.aks-event-style-alpine).aks-generated-page .site-header .header-button,
body.aks-template-event:not(.aks-event-style-alpine).aks-generated-page #masthead .button,
body.aks-template-event:not(.aks-event-style-alpine) .aks-page-registrations .aks-process strong,
body.aks-template-event:not(.aks-event-style-alpine) .aks-page-documents .aks-doc-icon {
  color: var(--aks-on-primary, #111) !important;
  background: var(--aks-primary) !important;
  border-color: var(--aks-primary) !important;
}
body.aks-template-event:not(.aks-event-style-alpine) .aks-admin-empty-section,
body.aks-template-event:not(.aks-event-style-alpine) .aks-empty-card {
  border-color: var(--aks-primary-border, rgba(255,255,255,.22));
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--aks-primary) 5%, transparent), transparent 55%),
    #171b1e;
}
body.aks-template-event:not(.aks-event-style-alpine) .aks-admin-empty-section .button,
body.aks-template-event:not(.aks-event-style-alpine) .aks-empty-card .button {
  color: var(--aks-primary-on-dark, var(--aks-primary)) !important;
  border-color: var(--aks-primary-border, var(--aks-primary)) !important;
  background: transparent !important;
}
body.aks-template-event:not(.aks-event-style-alpine) .aks-admin-empty-section .button:hover,
body.aks-template-event:not(.aks-event-style-alpine) .aks-empty-card .button:hover {
  color: var(--aks-on-primary, #111) !important;
  background: var(--aks-primary) !important;
}

/* Les contenus internes Event ont une largeur de lecture maîtrisée. */
.aks-template-event .aks-page-courses .aks-card-grid-3,
.aks-template-event .aks-page-gallery .aks-gallery-grid,
.aks-template-event .aks-page-documents .aks-document-list,
.aks-template-event .aks-page-team .aks-team-grid,
.aks-template-event .aks-page-practical .aks-practical-grid,
.aks-template-event .aks-page-registrations .aks-process,
.aks-template-event .aks-contact-page .aks-contact-grid,
.aks-template-event .aks-admin-empty-section,
.aks-template-event .aks-empty-card {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
}

/* Local et Services : même principe de cadrage et d'espacement. */
.aks-template-local .aks-internal-page .aks-page-header,
.aks-template-services .aks-internal-page .aks-page-header {
  padding: clamp(52px, 5vw, 72px) clamp(30px, 5vw, 64px) clamp(42px, 4.5vw, 60px);
}
.aks-template-local .aks-internal-page .aks-page-header h1,
.aks-template-services .aks-internal-page .aks-page-header h1 {
  max-width: 940px !important;
  line-height: .98;
  text-wrap: balance;
}
.aks-template-local .aks-internal-page .aks-page-header .aks-eyebrow,
.aks-template-services .aks-internal-page .aks-page-header .aks-eyebrow {
  margin-bottom: 15px;
}
.aks-template-local .aks-internal-page .aks-page-header p:not(.aks-eyebrow),
.aks-template-services .aks-internal-page .aks-page-header p:not(.aks-eyebrow) {
  margin-top: 18px;
}
.aks-template-local .aks-internal-page .aks-page-content,
.aks-template-services .aks-internal-page .aks-page-content {
  padding: clamp(44px, 5vw, 64px) clamp(28px, 5vw, 62px) clamp(58px, 6vw, 80px);
}

/* L'en-tête du thème utilise le logo choisi sans le déformer. */
body.aks-generated-page .site-branding img,
body.aks-generated-page .custom-logo,
body.aks-generated-page .site-logo-img img {
  width: auto !important;
  max-width: 190px !important;
  max-height: 72px !important;
  object-fit: contain !important;
}

@media (max-width: 900px) {
  .aks-template-event .aks-internal-page,
  .aks-template-local .aks-internal-page,
  .aks-template-services .aks-internal-page {
    width: calc(100% - 28px);
    margin: 20px auto 38px;
    border-radius: 9px;
  }

  .aks-template-event .aks-internal-page .aks-page-header {
    min-height: 300px;
  }

  .aks-template-event .aks-about-page .aks-about-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .aks-template-event .aks-internal-page,
  .aks-template-local .aks-internal-page,
  .aks-template-services .aks-internal-page {
    width: calc(100% - 16px);
    margin-top: 8px;
    border-radius: 6px;
  }

  .aks-template-event .aks-internal-page .aks-page-header,
  .aks-template-local .aks-internal-page .aks-page-header,
  .aks-template-services .aks-internal-page .aks-page-header {
    padding: 38px 20px 34px;
  }

  .aks-template-event .aks-internal-page .aks-page-header h1 {
    font-size: clamp(3.15rem, 15vw, 4.8rem) !important;
    line-height: .9;
  }

  .aks-template-event .aks-page-registrations .aks-page-header h1 {
    font-size: clamp(2.9rem, 13.5vw, 4.25rem) !important;
  }

  .aks-template-event .aks-internal-page .aks-page-content,
  .aks-template-local .aks-internal-page .aks-page-content,
  .aks-template-services .aks-internal-page .aks-page-content {
    padding: 34px 18px 48px;
  }
}


/* ======================================================================
   V0.26 — finition du preset Event / Trail
   Containers, respiration des titres, couleurs dynamiques et logo fiable.
   ====================================================================== */

body.aks-template-event.aks-generated-page {
  --aks-event-surface: #111517;
  --aks-event-surface-raised: #181e20;
  --aks-event-border: rgba(255,255,255,.12);
  --aks-event-text: #f7f7f4;
  --aks-event-muted: rgba(247,247,244,.67);
  --aks-event-accent: var(--aks-primary-on-dark);
  background: #0d1112;
}

/* Les sous-pages gardent un fond immersif, mais le contenu ne touche plus les
   bords du moniteur comme s'il essayait de s'enfuir. */
.aks-template-event .aks-internal-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(28px, 3vw, 46px) 0 0;
  background: #0d1112;
}

.aks-template-event .aks-internal-page .aks-page-header {
  box-sizing: border-box;
  width: min(1280px, calc(100% - clamp(40px, 7vw, 112px)));
  min-height: clamp(330px, 36vw, 470px);
  margin: 0 auto;
  padding: clamp(52px, 6vw, 86px) clamp(34px, 5.4vw, 78px);
  justify-content: flex-end;
  overflow: hidden;
  border: 1px solid var(--aks-event-border);
  border-radius: 14px;
  box-shadow: 0 26px 70px rgba(0,0,0,.24);
}

.aks-template-event .aks-internal-page .aks-page-header::after {
  right: clamp(20px, 3vw, 42px);
}

.aks-template-event .aks-internal-page .aks-page-header .aks-eyebrow {
  margin: 0 0 18px;
  color: var(--aks-event-accent) !important;
  line-height: 1.2;
}

.aks-template-event .aks-internal-page .aks-page-header h1 {
  width: auto;
  max-width: 1030px !important;
  margin: 0;
  color: var(--aks-event-text);
  font-size: clamp(4rem, 6.8vw, 7.15rem) !important;
  line-height: .88 !important;
  letter-spacing: -.025em;
  text-wrap: balance;
  overflow-wrap: normal;
}

.aks-template-event .aks-page-registrations .aks-page-header h1 {
  max-width: 1080px !important;
  font-size: clamp(3.7rem, 6.2vw, 6.7rem) !important;
}

.aks-template-event .aks-internal-page .aks-page-header p:not(.aks-eyebrow) {
  max-width: 760px;
  margin: 22px 0 0;
  color: var(--aks-event-muted);
  font-size: clamp(.98rem, 1.15vw, 1.13rem);
  line-height: 1.65;
}

.aks-template-event .aks-internal-page .aks-page-content {
  box-sizing: border-box;
  width: min(1160px, calc(100% - clamp(40px, 7vw, 112px)));
  margin: 0 auto;
  padding: clamp(52px, 6vw, 82px) 0 clamp(72px, 7vw, 104px);
  color: var(--aks-event-text);
  background: transparent;
}

/* Pages avec peu de contenu : on évite la grande nappe vide avant le footer. */
.aks-template-event .aks-page-gallery .aks-page-content,
.aks-template-event .aks-page-documents .aks-page-content,
.aks-template-event .aks-page-team .aks-page-content,
.aks-template-event .aks-page-courses .aks-page-content {
  min-height: 250px;
}

/* Cohérence des accents avec n'importe quelle couleur choisie. */
.aks-template-event .aks-internal-page .aks-eyebrow,
.aks-template-event .aks-internal-page .aks-text-link,
.aks-template-event .aks-internal-page .aks-card-link,
.aks-template-event .aks-internal-page .aks-practical-grid span,
.aks-template-event .aks-internal-page .aks-process > div > strong,
.aks-template-event .aks-internal-page .aks-custom-footer h3,
body.aks-template-event:not(.aks-event-style-alpine) .aks-internal-page .aks-empty-state-title,
body.aks-template-event:not(.aks-event-style-alpine) .aks-custom-footer h3 {
  color: var(--aks-event-accent) !important;
}

body.aks-template-event:not(.aks-event-style-alpine) .aks-btn-primary,
body.aks-template-event:not(.aks-event-style-alpine).aks-generated-page .site-header .button,
body.aks-template-event:not(.aks-event-style-alpine).aks-generated-page .site-header .header-button {
  color: var(--aks-on-primary) !important;
  background: var(--aks-primary) !important;
  border-color: var(--aks-primary) !important;
}

body.aks-template-event:not(.aks-event-style-alpine) .aks-btn-primary:hover {
  color: var(--aks-on-primary) !important;
  background: var(--aks-primary-deep) !important;
  border-color: var(--aks-primary-deep) !important;
}

body.aks-template-event:not(.aks-event-style-alpine) .aks-btn-secondary {
  color: var(--aks-event-text) !important;
  background: transparent !important;
  border-color: rgba(255,255,255,.34) !important;
}

body.aks-template-event:not(.aks-event-style-alpine) .aks-btn-secondary:hover {
  color: var(--aks-on-primary) !important;
  background: var(--aks-primary) !important;
  border-color: var(--aks-primary) !important;
}

body.aks-template-event:not(.aks-event-style-alpine) .aks-empty-state,
body.aks-template-event:not(.aks-event-style-alpine) .aks-empty-card {
  color: var(--aks-event-muted);
  background: var(--aks-event-surface-raised) !important;
  border-color: var(--aks-primary-border) !important;
}

body.aks-template-event:not(.aks-event-style-alpine) .aks-empty-state .button,
body.aks-template-event:not(.aks-event-style-alpine) .aks-empty-card .button {
  color: var(--aks-event-accent) !important;
  background: transparent !important;
  border-color: var(--aks-primary-border) !important;
}

body.aks-template-event:not(.aks-event-style-alpine) .aks-empty-state .button:hover,
body.aks-template-event:not(.aks-event-style-alpine) .aks-empty-card .button:hover {
  color: var(--aks-on-primary) !important;
  background: var(--aks-primary) !important;
}

/* L'événement : statistiques horizontales, sans écriture verticale héritée. */
.aks-template-event .aks-about-page .aks-about-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: 0;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--aks-event-border);
  background: var(--aks-event-surface-raised);
}

.aks-template-event .aks-about-page .aks-about-copy {
  min-width: 0;
  padding: clamp(38px, 5vw, 66px);
  color: #252a2d;
  background: #f4f1e9;
}

.aks-template-event .aks-about-page .aks-about-copy h2 {
  margin: 0 0 22px;
  color: #151a1c;
  font-size: clamp(2.5rem, 4.1vw, 4rem);
  line-height: .95;
}

.aks-template-event .aks-about-page .aks-about-copy p {
  max-width: 650px;
  line-height: 1.7;
}

.aks-template-event .aks-about-page .aks-stats,
.aks-template-event .aks-about-page .aks-stats-event {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(150px, 1fr));
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--aks-event-surface-raised) !important;
}

.aks-template-event .aks-about-page .aks-stat {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center;
  align-items: flex-start;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 28px 30px !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  border-right: 1px solid var(--aks-event-border) !important;
  border-bottom: 1px solid var(--aks-event-border) !important;
}

.aks-template-event .aks-about-page .aks-stat:nth-child(2n) { border-right: 0 !important; }
.aks-template-event .aks-about-page .aks-stat:nth-last-child(-n+2) { border-bottom: 0 !important; }

.aks-template-event .aks-about-page .aks-stat strong,
.aks-template-event .aks-about-page .aks-stat span {
  display: block !important;
  width: auto !important;
  max-width: 100%;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word;
}

.aks-template-event .aks-about-page .aks-stat strong {
  color: var(--aks-event-accent) !important;
  font-size: clamp(2.6rem, 4.6vw, 4.5rem) !important;
  line-height: .9 !important;
}

.aks-template-event .aks-about-page .aks-stat span {
  margin-top: 9px;
  color: var(--aks-event-muted) !important;
  font-size: .68rem !important;
  line-height: 1.35 !important;
  letter-spacing: .13em;
  text-transform: uppercase;
}

/* La grande bannière finale suit la couleur choisie, pas une humeur jaune fixe. */
.aks-template-event .aks-final-cta-event {
  background:
    linear-gradient(110deg,
      color-mix(in srgb, var(--aks-primary) 68%, #fff 32%),
      color-mix(in srgb, var(--aks-primary) 84%, #000 16%)
    ) !important;
}

.aks-template-event .aks-final-cta-event h2,
.aks-template-event .aks-final-cta-event p,
.aks-template-event .aks-final-cta-event .aks-eyebrow {
  color: var(--aks-on-primary) !important;
}

/* Le logo garde ses proportions dans Kadence et dans les autres thèmes. */
body.aks-generated-page .custom-logo-link,
body.aks-generated-page .site-logo-img,
body.aks-generated-page .site-branding {
  flex: 0 0 auto;
}

body.aks-generated-page img.custom-logo,
body.aks-generated-page .site-branding img[data-aks-logo="1"],
body.aks-generated-page .site-logo-img img[data-aks-logo="1"] {
  width: auto !important;
  max-width: min(220px, 24vw) !important;
  height: 72px !important;
  max-height: 72px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

@media (max-width: 980px) {
  .aks-template-event .aks-internal-page .aks-page-header,
  .aks-template-event .aks-internal-page .aks-page-content {
    width: min(100% - 32px, 1160px);
  }

  .aks-template-event .aks-about-page .aks-about-layout {
    grid-template-columns: 1fr;
  }

  .aks-template-event .aks-about-page .aks-stats,
  .aks-template-event .aks-about-page .aks-stats-event {
    grid-template-rows: repeat(2, minmax(130px, auto));
  }
}

@media (max-width: 620px) {
  .aks-template-event .aks-internal-page {
    padding-top: 12px;
  }

  .aks-template-event .aks-internal-page .aks-page-header,
  .aks-template-event .aks-internal-page .aks-page-content {
    width: calc(100% - 20px);
  }

  .aks-template-event .aks-internal-page .aks-page-header {
    min-height: 310px;
    padding: 34px 22px;
    border-radius: 10px;
  }

  .aks-template-event .aks-internal-page .aks-page-header h1,
  .aks-template-event .aks-page-registrations .aks-page-header h1 {
    font-size: clamp(3.2rem, 15vw, 4.55rem) !important;
  }

  .aks-template-event .aks-internal-page .aks-page-content {
    padding-top: 38px;
    padding-bottom: 58px;
  }

  .aks-template-event .aks-about-page .aks-stats,
  .aks-template-event .aks-about-page .aks-stats-event {
    grid-template-columns: 1fr !important;
    grid-template-rows: none;
  }

  .aks-template-event .aks-about-page .aks-stat {
    min-height: 120px !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--aks-event-border) !important;
  }

  .aks-template-event .aks-about-page .aks-stat:last-child {
    border-bottom: 0 !important;
  }

  body.aks-generated-page img.custom-logo,
  body.aks-generated-page .site-branding img[data-aks-logo="1"],
  body.aks-generated-page .site-logo-img img[data-aks-logo="1"] {
    max-width: 160px !important;
    height: 54px !important;
    max-height: 54px !important;
  }
}

/* ======================================================================
   V0.27 — corrections visibles du preset Event / Trail
   Titres respirants, accents inclinés, cartes parcours lisibles et
   informations pratiques horizontales.
   ====================================================================== */

/* 1. Titres : conserver l'impact sans écraser les lignes. */
.aks-template-event .aks-event-hero h1 {
  line-height: .9 !important;
  letter-spacing: -.018em;
}

.aks-template-event .aks-internal-page .aks-page-header {
  padding-top: clamp(58px, 6.5vw, 92px);
  padding-bottom: clamp(54px, 6vw, 84px);
}

.aks-template-event .aks-internal-page .aks-page-header .aks-eyebrow {
  margin-bottom: 24px !important;
}

.aks-template-event .aks-internal-page .aks-page-header h1 {
  max-width: 960px !important;
  line-height: .96 !important;
  letter-spacing: -.018em !important;
}

.aks-template-event .aks-page-registrations .aks-page-header h1 {
  max-width: 880px !important;
  font-size: clamp(3.45rem, 5.8vw, 6.2rem) !important;
  line-height: .94 !important;
}

.aks-template-event .aks-internal-page .aks-page-header p:not(.aks-eyebrow) {
  margin-top: 28px !important;
}

/* 2. Titres de section : l'accent suit l'inclinaison du titre. */
.aks-template-event .aks-section-heading {
  padding-left: 30px !important;
  padding-bottom: 18px !important;
}

.aks-template-event .aks-section-heading h2 {
  line-height: .98 !important;
  font-style: italic !important;
}

.aks-template-event .aks-section-heading h2::before {
  left: 7px !important;
  top: 4px !important;
  bottom: 20px !important;
  width: 7px !important;
  transform: skewX(-14deg) !important;
  transform-origin: bottom center;
}

.aks-template-event .aks-section-courses-home .aks-section-heading {
  padding-left: 32px !important;
}

.aks-template-event .aks-section-courses-home .aks-section-heading h2 {
  line-height: 1 !important;
}

/* 3. Parcours de l'accueil : cartes sombres, titres et détails visibles. */
.aks-template-event .aks-section-courses-home .aks-card-grid-event {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  max-width: 1160px;
  margin-inline: auto;
  gap: 22px !important;
}

.aks-template-event .aks-section-courses-home .aks-course-card,
.aks-template-event .aks-section-courses-home .aks-content-card-event,
.aks-template-event .aks-section-courses-home .aks-card-body,
.aks-template-event .aks-section-courses-home .aks-trail-card-body {
  color: #fff !important;
  background: #171c1f !important;
}

.aks-template-event .aks-section-courses-home .aks-course-card {
  min-width: 0;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-top: 5px solid var(--aks-event-accent) !important;
  border-radius: 5px !important;
}

.aks-template-event .aks-section-courses-home .aks-course-card::before {
  display: none !important;
}

.aks-template-event .aks-section-courses-home .aks-course-card.aks-card-no-image::after {
  content: "PARCOURS";
  display: block;
  height: 76px;
  padding: 18px 20px;
  color: color-mix(in srgb, var(--aks-event-accent) 42%, transparent);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--aks-primary) 12%, transparent), transparent 62%),
    #111517;
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-align: right;
  box-sizing: border-box;
}

.aks-template-event .aks-section-courses-home .aks-trail-card-body {
  min-height: 255px !important;
  padding: 24px !important;
}

.aks-template-event .aks-section-courses-home .aks-trail-card-heading {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.aks-template-event .aks-section-courses-home .aks-trail-card-index {
  flex: 0 0 auto;
  color: var(--aks-event-accent) !important;
  font-size: 1.15rem;
  line-height: 1.15;
}

.aks-template-event .aks-section-courses-home .aks-trail-card-heading h3 {
  display: block !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
  line-height: 1.05 !important;
  word-break: normal !important;
  overflow-wrap: anywhere;
}

.aks-template-event .aks-section-courses-home .aks-card-desc {
  display: block !important;
  margin: 0 0 20px !important;
  color: rgba(255,255,255,.68) !important;
  line-height: 1.55 !important;
}

.aks-template-event .aks-section-courses-home .aks-trail-specs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  margin-top: auto;
  background: rgba(255,255,255,.10);
}

.aks-template-event .aks-section-courses-home .aks-trail-specs > div {
  min-width: 0;
  padding: 13px 11px !important;
  background: #101416 !important;
}

.aks-template-event .aks-section-courses-home .aks-trail-specs span,
.aks-template-event .aks-section-courses-home .aks-trail-specs strong {
  display: block !important;
  width: auto !important;
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
  overflow-wrap: break-word;
}

.aks-template-event .aks-section-courses-home .aks-trail-specs span {
  color: rgba(255,255,255,.48) !important;
  font-size: .58rem !important;
  line-height: 1.3 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.aks-template-event .aks-section-courses-home .aks-trail-specs strong {
  margin-top: 5px;
  color: #fff !important;
  font-size: .86rem !important;
  line-height: 1.25 !important;
}

.aks-template-event .aks-section-courses-home .aks-trail-card-footnote {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  margin-top: 16px;
  color: rgba(255,255,255,.55) !important;
}

.aks-template-event .aks-section-courses-home .aks-card-link {
  margin-top: 20px;
  color: var(--aks-event-accent) !important;
}

/* 4. Bloc programme / infos / arguments : les cartes pratiques restent lisibles. */
.aks-template-event .aks-event-home-info {
  grid-template-columns: minmax(250px, .9fr) minmax(430px, 1.35fr) minmax(250px, .9fr) !important;
  align-items: stretch;
}

.aks-template-event .aks-event-home-info > div {
  min-width: 0;
  padding: 34px 30px !important;
}

.aks-template-event .aks-event-practical-cards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.aks-template-event .aks-event-practical-cards article {
  min-width: 0 !important;
  min-height: 168px !important;
  padding: 20px !important;
}

.aks-template-event .aks-event-practical-cards article > span,
.aks-template-event .aks-event-practical-cards strong,
.aks-template-event .aks-event-practical-cards p {
  display: block !important;
  width: auto !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word;
}

.aks-template-event .aks-event-practical-cards strong {
  margin: 16px 0 8px !important;
  color: #fff !important;
  font-size: 1.05rem !important;
  line-height: 1.15 !important;
}

.aks-template-event .aks-event-practical-cards p {
  margin: 0 !important;
  color: rgba(255,255,255,.66) !important;
  font-size: .88rem;
  line-height: 1.45 !important;
}

/* Les cartes de la page Infos pratiques utilisent trois colonnes confortables. */
.aks-template-event .aks-page-practical .aks-practical-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.aks-template-event .aks-page-practical .aks-practical-grid article,
.aks-template-event .aks-page-practical .aks-practical-grid span,
.aks-template-event .aks-page-practical .aks-practical-grid strong,
.aks-template-event .aks-page-practical .aks-practical-grid p {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  word-break: normal !important;
  white-space: normal !important;
}

@media (max-width: 1180px) {
  .aks-template-event .aks-event-home-info {
    grid-template-columns: 1fr 1fr !important;
  }

  .aks-template-event .aks-event-home-info .aks-event-why {
    grid-column: 1 / -1;
  }

  .aks-template-event .aks-event-home-info > div:nth-child(2) {
    border-left: 1px solid rgba(255,255,255,.13);
  }

  .aks-template-event .aks-event-home-info .aks-event-why {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.13);
  }
}

@media (max-width: 820px) {
  .aks-template-event .aks-event-home-info {
    grid-template-columns: 1fr !important;
  }

  .aks-template-event .aks-event-home-info > div {
    border-left: 0 !important;
    border-top: 1px solid rgba(255,255,255,.13);
  }

  .aks-template-event .aks-event-home-info > div:first-child {
    border-top: 0;
  }

  .aks-template-event .aks-page-practical .aks-practical-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 620px) {
  .aks-template-event .aks-internal-page .aks-page-header h1,
  .aks-template-event .aks-page-registrations .aks-page-header h1 {
    line-height: .98 !important;
  }

  .aks-template-event .aks-section-heading {
    padding-left: 25px !important;
  }

  .aks-template-event .aks-event-practical-cards,
  .aks-template-event .aks-section-courses-home .aks-trail-specs {
    grid-template-columns: 1fr !important;
  }
}
