/* ============================================================
   BOXE ACADÉMIE BRIVE · Page Contact (contact.html)
   Styles spécifiques, chargés après styles.css
   ============================================================ */

/* ---- Hero compact ---- */
.page-hero--ct .page-hero-bg img { filter: grayscale(1) brightness(0.38) contrast(1.15); object-position: center 45%; }
.page-hero--ct .page-hero-overlay {
  background: linear-gradient(180deg, rgba(11,11,13,0.62) 0%, rgba(11,11,13,0.44) 45%, rgba(11,11,13,0.96) 100%);
}
.page-hero--ct .section-sub { max-width: 660px; }

/* Rangée de repères : même bande que l'Open Mat, sur 3 colonnes */
.ct-meta { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1000px) {
  .ct-meta { grid-template-columns: repeat(2, 1fr); }
  .ct-meta li:nth-child(3) { grid-column: 1 / -1; border-right: none; }
}
@media (max-width: 600px) {
  .ct-meta { grid-template-columns: 1fr; }
}

/* ---- Section « Venir au club » ---- */
.ct-visit-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: clamp(20px, calc(2.6vw / var(--site-zoom)), 32px);
}
.ct-visit-grid > * { min-width: 0; }
.ct-visit-card {
  border: 1px solid var(--line); background: var(--bg-2);
  padding: clamp(28px, calc(3.4vw / var(--site-zoom)), 42px);
  clip-path: polygon(22px 0, 100% 0, 100% calc(100% - 22px), calc(100% - 22px) 100%, 0 100%, 0 22px);
  display: flex; flex-direction: column; align-items: flex-start; gap: 14px;
  transition: border-color 0.35s, background 0.35s;
}
.ct-visit-card:hover { border-color: rgba(255, 90, 31, 0.45); background: var(--bg-3); }
.ct-visit-card--hi {
  border-color: rgba(255, 90, 31, 0.45);
  background: linear-gradient(165deg, rgba(255,90,31,0.10), rgba(11,11,13,0.6) 58%);
}
.ct-visit-ico {
  width: 46px; height: 46px; display: grid; place-items: center;
  border: 1px solid var(--line); color: var(--accent);
}
.ct-visit-ico svg { width: 24px; height: 24px; }
.ct-visit-card h3 {
  font-family: var(--display); font-weight: 900; text-transform: uppercase;
  font-size: clamp(24px, calc(2.6vw / var(--site-zoom)), 32px);
  line-height: 1.02; letter-spacing: 0.02em;
}
.ct-visit-card h3 em { font-style: normal; color: var(--accent); }
.ct-visit-card p { color: var(--ink-dim); font-size: 15.5px; line-height: 1.65; }
.ct-visit-card .btn { margin-top: auto; }

@media (max-width: 860px) {
  .ct-visit-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ct-visit-card .btn { width: 100%; }
}
