/* Actualités, partenaires et typographie commune au nouveau style. */
/* Interlignage commun des pages au nouveau style, hors titres H1 à H3. */
body:has(.centre-hero, .club-discover, .club-journal)
  :not(header, header *, h1, h2, h3, h1 *, h2 *, h3 *) {
  /* Priorité sur les styles locaux et les contenus riches du back-office. */
  line-height: 1.3 !important;
}

.club-journal, .club-allies {
  --journal-ink: #242522;
  --journal-muted: #595b54;
  --journal-accent: #a53c2d;
  --journal-paper: #fffdf8;
  --journal-line: #d7d2c8;
  font-family: 'Albert Sans', sans-serif;
  color: var(--journal-ink);
  scroll-margin-top: 100px;
}
.club-journal { background: #eeeae1; padding: 0 24px 80px; }
.club-journal__inner, .club-allies__inner { max-width: 1180px; margin: 0 auto; }
.club-journal__heading { border-top: 1px solid var(--journal-line); padding-top: 48px; display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.club-journal .club-journal__eyebrow, .club-allies .club-journal__eyebrow { margin: 0 0 12px; font-size: 12px; line-height: 1.5; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--journal-accent); }
.club-journal h2, .club-allies h2 { margin: 0; font: 800 clamp(34px, 4vw, 46px)/1.04 'Sofia Sans', sans-serif; letter-spacing: -.025em; color: var(--journal-ink); text-wrap: balance; }
.club-journal__all { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 44px; padding: 8px 0; border-bottom: 1px solid var(--journal-accent); color: var(--journal-ink); text-decoration: none; font-size: 15px; line-height: 1.4; font-weight: 700; transition: color .2s ease; }
.club-journal__all span { font-size: 24px; }
.club-journal__all:hover { color: var(--journal-accent); }
.club-journal a:focus-visible, .club-allies a:focus-visible { outline: 3px solid var(--journal-accent); outline-offset: 5px; }
.club-journal .club-preview-note { color: var(--journal-muted); font-size: 13px; line-height: 1.5; margin: -12px 0 24px; }
.club-journal__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0 40px; align-items: stretch; }
.club-story { display: flex; gap: 24px; align-items: center; min-width: 0; padding: 24px 0; border-bottom: 1px solid var(--journal-line); color: var(--journal-ink); text-decoration: none; }
.club-story:not(.club-story--featured):nth-child(2) { padding-top: 0; }
.club-story:not(.club-story--featured):last-child { border-bottom: 0; padding-bottom: 0; }
.club-story__image { width: 124px; aspect-ratio: 1.2; flex-shrink: 0; border-radius: 10px; overflow: hidden; background: var(--journal-line); }
.club-story__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.club-story__body { flex: 1; min-width: 0; }
.club-story__meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 10px; color: var(--journal-muted); font-size: 12px; line-height: 1.5; }
.club-story__meta > span { color: var(--journal-accent); font-weight: 700; }
.club-journal h3 { margin: 0 0 12px; font: 750 23px/1.15 'Sofia Sans', sans-serif; letter-spacing: -.015em; color: var(--journal-ink); text-wrap: balance; overflow-wrap: anywhere; }
.club-story__read { display: flex; justify-content: space-between; gap: 16px; align-items: center; font-size: 13px; line-height: 1.5; font-weight: 600; color: var(--journal-accent); }
.club-story__read > span { font-size: 22px; }
.club-story__read:hover { text-decoration: none; }

.club-story--featured { grid-row: span 4; display: flex; flex-direction: column; align-items: stretch; padding: 0; gap: 0; border: 1px solid var(--journal-line); border-radius: 16px; overflow: hidden; background: var(--journal-paper); }
.club-story--featured .club-story__image { width: 100%; aspect-ratio: 16/9; border-radius: 0; }
.club-story--featured .club-story__body { padding: 28px; display: flex; flex-direction: column; }
.club-story--featured h3 { font-size: 30px; margin-bottom: 24px; }
.club-story--featured .club-story__read { border-top: 1px solid var(--journal-line); padding-top: 16px; margin-top: auto; }
.club-allies { padding: 64px 24px; background: #e4dfd4; border-top: 1px solid var(--journal-line); }
.club-allies__inner { display: grid; grid-template-columns: 1fr 2fr; align-items: center; gap: 64px; }
.club-allies h2 { font-size: 38px; }
.club-allies__intro > p:not(.club-journal__eyebrow) { margin: 20px 0; color: var(--journal-muted); font-size: 16px; line-height: 1.55; font-weight: 400; }
.club-allies__logos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--journal-line); border: 1px solid var(--journal-line); border-radius: 16px; overflow: hidden; }
.club-ally { display: grid; place-items: center; min-height: 146px; background: var(--journal-paper); }
.club-ally a { display: grid; place-items: center; width: 100%; height: 100%; min-height: 146px; transition: background .2s ease; }
.club-ally a:focus-visible { outline-offset: -5px; }
.club-ally a:hover { background: #f1ece3; }
.club-ally a:active { background: #e4dfd4; }
.club-ally img { display: block; width: min(78%, 170px); height: 86px; object-fit: contain; }
@media (max-width: 1000px) {
  .club-journal__grid { gap: 0 24px; }
  .club-story { gap: 16px; }
  .club-story__image { width: 96px; }
  .club-journal h3 { font-size: 21px; }
  .club-story--featured h3 { font-size: 28px; }
  .club-allies__inner { grid-template-columns: 1fr 1.6fr; gap: 32px; }
}
@media (max-width: 760px) {
  .club-journal { padding: 0 20px 48px; }
  .club-journal__heading { flex-direction: column; align-items: flex-start; gap: 16px; padding-top: 32px; }
  .club-journal__grid { grid-template-columns: 1fr; gap: 0; }
  .club-story--featured { grid-row: auto; margin-bottom: 8px; }
  .club-story:not(.club-story--featured):nth-child(2) { padding-top: 24px; }
  .club-story__image { width: 92px; }
  .club-story--featured .club-story__body { padding: 24px; }
  .club-story--featured h3 { font-size: 27px; }
  .club-allies { padding: 48px 20px; }
  .club-allies__inner { grid-template-columns: 1fr; gap: 28px; }
  .club-allies h2 { font-size: 34px; }
  .club-allies__intro { max-width: 440px; }
  .club-allies__logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .club-ally, .club-ally a { min-height: 120px; }
  .club-ally img { height: 76px; }
}
/* CTA communs aux pushs, aux actualités et au recrutement de partenaires. */
.club-discover .club-cta,
.club-journal .club-cta,
.club-allies .club-cta {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  justify-content: center;
  gap: 12px;
  width: fit-content;
  max-width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid #a53c2d;
  border-radius: 8px;
  background: #a53c2d;
  color: #fffdf8;
  font: 700 15px/1.4 'Albert Sans', sans-serif;
  text-decoration: none;
  text-align: left;
  transition: background-color .2s ease, border-color .2s ease;
}
.club-cta > span { flex-shrink: 0; font-size: 22px; line-height: 1; }
.club-card .club-cta:hover,
.club-story .club-cta:hover,
.club-journal__all.club-cta:hover { background: #873023; border-color: #873023; color: #fffdf8; }
.club-allies .club-cta:hover { background: #873023; border-color: #873023; color: #fffdf8; }
.club-card--offers .club-cta,
.club-booking .club-cta { background: #fffdf8; border-color: #fffdf8; color: #242522; }
.club-card--offers .club-cta:hover,
.club-booking .club-cta:hover { background: #ebbaa3; border-color: #ebbaa3; color: #242522; }
.club-journal .club-story__read { font-size: 14px; }
.club-discover .club-card__link,
.club-story--featured .club-story__read { margin-top: auto; }
@media (max-width: 900px) {
  .club-booking .club-cta { margin-left: 0; }
}
@media (max-width: 480px) {
  .club-journal .club-story__read { padding: 10px 12px; gap: 8px; }
  .club-booking .club-cta { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .club-discover .club-cta { transition: none; }
  .club-journal *, .club-allies * { transition: none; }
}

/* Les surfaces des pushs sont statiques ; seuls les liens réagissent. */
.club-discover .club-card:hover { border-color: var(--club-line); box-shadow: none; }
.club-discover .club-card:active { background: var(--club-paper); }
.club-discover .club-card--offers:hover { border-color: var(--club-accent); }
.club-discover .club-card--offers:active { background: var(--club-accent); }
.club-booking:hover .club-cta, .club-booking:active .club-cta { background: #fffdf8; border-color: #fffdf8; }
.club-booking .club-cta:hover { background: #ebbaa3; border-color: #ebbaa3; }
.club-discover .club-cta:active, .club-journal .club-cta:active, .club-allies .club-cta:active { filter: brightness(.9); }

/* Quatre brèves alignées sur la hauteur de l’actualité principale. */
.club-story:not(.club-story--featured) { padding-top: 16px; padding-bottom: 16px; }
.club-story:not(.club-story--featured):nth-child(2) { padding-top: 0; }
.club-story:not(.club-story--featured):last-child { padding-bottom: 0; }
.club-story:not(.club-story--featured) h3 { font-size: 18px; line-height: 1.25; margin-bottom: 0; }
.club-story__title-link { color: inherit; text-decoration: none; }
.club-story__title-link:hover { color: var(--journal-accent); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .club-story:not(.club-story--featured):nth-child(2) { padding-top: 24px; }
}
