/* =============================================================================
 * Entreprises (liste /entreprises/ et fiche /entreprises/{slug}/) — direction 2026 :
 * page élargie, vignettes logo / initiales colorées (.ar-company-logo--*, components.css),
 * aplats sans filet, offres sur deux colonnes. Tokens uniquement.
 * ============================================================================= */
.co-page {
  --co-width: min(calc(100vw - 2 * var(--space-6)), 76rem);
  width: var(--co-width);
  max-width: none;
  margin-left: calc(50% - var(--co-width) / 2);
  padding-bottom: calc(var(--space-12) * 2);
  font-family: var(--font-sans);
  color: var(--color-text);
}
@media (max-width: 720px) { .co-page { --co-width: calc(100vw - 2 * var(--space-4)); } }
.co-page .ar-page-head { max-width: none; margin-inline: 0; padding-inline: 0; }
.co-page .ar-page-head__title { font-size: clamp(var(--text-2xl), 3.6vw, var(--text-3xl)); line-height: 1.05; letter-spacing: -0.03em; }

/* -- Liste : mur de tuiles-liens -- */
.co-wall { list-style: none; margin: var(--space-6) 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-2); }
.co-tile {
  display: grid; justify-items: start; align-content: start; gap: var(--space-1);
  height: 100%; box-sizing: border-box;
  padding: var(--space-4);
  border-radius: var(--radius-control);
  background: var(--color-bg);
  color: var(--color-text); text-decoration: none;
  transition: background-color var(--duration-fast) var(--ease-out), transform var(--duration-instant) var(--ease-out);
}
.co-tile:hover, .co-tile:focus-visible { background: var(--color-paper); text-decoration: none; color: var(--color-text); }
.co-tile:active { transform: scale(0.98); }
.co-tile__logo { --company-logo-size: calc(var(--space-12) + var(--space-4)); margin-bottom: var(--space-3); font-size: var(--text-lg); }
.co-tile__name {
  font-weight: var(--weight-bold); color: var(--color-text-strong); line-height: var(--leading-snug);
  overflow-wrap: anywhere;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.co-tile:hover .co-tile__name { text-decoration: underline; text-underline-offset: var(--underline-offset); }
.co-tile__meta { font-size: var(--text-sm); color: var(--color-text-muted); }
.co-tile__partner { color: var(--color-text-gold); }
.co-tile__sector { font-size: var(--text-sm); color: var(--color-text); }
@media (max-width: 1100px) { .co-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 720px)  { .co-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* -- Fiche : en-tête en aplat papier -- */
.co-head {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--space-6) var(--space-8); align-items: center;
  margin-top: var(--space-6);
  padding: var(--space-8);
  border-radius: var(--radius-control);
  background: var(--color-paper);
}
.co-head__logo { --company-logo-size: calc(var(--space-12) * 2); font-size: var(--text-2xl); }
.co-page .co-head__title {
  margin: 0 0 var(--space-2); padding: 0; text-align: left;
  font-size: clamp(var(--text-2xl), 4vw, var(--text-3xl)); line-height: 1.05; letter-spacing: -0.03em;
  font-weight: var(--weight-bold); color: var(--color-text-strong);
}
.co-head__meta { margin: 0; color: var(--color-text); }
.co-head__meta strong { color: var(--color-text-strong); }
.co-head__links { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-6); margin: var(--space-3) 0 0; }
.co-head__links .ar-link { line-height: var(--touch-target); }

/* -- À propos : texte + infos clés -- */
.co-about { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-8); align-items: start; margin-top: var(--space-8); }
.co-about__text { min-width: 0; max-width: 48rem; }
.co-about__text .article-content { width: auto; padding: 0; font-size: var(--text-base); line-height: var(--leading-relaxed); }
.co-facts { margin: 0; padding: var(--space-6); border-radius: var(--radius-control); background: var(--color-bg); display: grid; gap: var(--space-3); }
.co-facts div { display: grid; gap: var(--space-1); }
.co-facts dt { font-size: var(--text-sm); color: var(--color-text-muted); }
.co-facts dd { margin: 0; font-weight: var(--weight-semibold); color: var(--color-text-strong); }

/* -- Offres : deux colonnes en grand écran -- */
.co-page .company-offers { margin-top: calc(var(--space-12) + var(--space-4)); padding: 0; scroll-margin-top: var(--space-6); }
.co-page .co-section-title { margin: 0 0 var(--space-4); padding: 0; font-size: var(--text-xl); font-weight: var(--weight-bold); color: var(--color-text-strong); }
.co-offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.co-offers > .ar-offer-card { height: 100%; margin: 0; }
.co-offers > .ar-offer-card + .ar-offer-card { margin-top: 0; }

@media (max-width: 900px) {
  .co-head { grid-template-columns: auto minmax(0, 1fr); padding: var(--space-6) var(--space-4); }
  .co-head__cta { grid-column: 1 / -1; justify-self: start; }
  .co-about { grid-template-columns: minmax(0, 1fr); }
  .co-offers { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .co-head { grid-template-columns: minmax(0, 1fr); }
  .co-head__logo { --company-logo-size: var(--space-12); font-size: var(--text-lg); }
}
