
/* v27: final polish for footer hover, title scale, reset UI consistency, table overflow and team/partners separation. */

/* More restrained, professional title scale across public/auth pages. */
.hero h1,
.hero-premium h1 {
  font-size: clamp(2.1rem, 3.8vw, 3.95rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
  max-width: 13.5ch !important;
}
.page-hero h1,
.auth-card h1 {
  font-size: clamp(1.75rem, 3.1vw, 3.25rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
}
.section h2 {
  font-size: clamp(1.55rem, 2.2vw, 2.35rem) !important;
  line-height: 1.12 !important;
}
.auth-context-card h2 {
  font-size: clamp(1.55rem, 2.4vw, 2.55rem) !important;
  line-height: 1.08 !important;
}
.stats-strip strong {
  font-size: clamp(1.35rem, 2.2vw, 2.05rem) !important;
}

/* Footer links: subtle high-tech hover, not static text. */
.site-footer .footer-links a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  padding: 4px 0 !important;
  text-decoration: none !important;
  color: inherit !important;
}
.site-footer .footer-links a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 1px !important;
  background: linear-gradient(90deg, #125fe8, #1fbfe8) !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform .22s ease !important;
}
.site-footer .footer-links a:hover,
.site-footer .footer-links a:focus-visible {
  color: #1fbfe8 !important;
  transform: translateX(3px) !important;
}
.site-footer .footer-links a:hover::after,
.site-footer .footer-links a:focus-visible::after {
  transform: scaleX(1) !important;
}
html[data-theme="light"] .site-footer .footer-links a:hover,
html[data-theme="light"] .site-footer .footer-links a:focus-visible {
  color: #125fe8 !important;
}

/* Reset/auth pages: keep text readable and less billboard-like. */
.auth-card {
  border-radius: 18px !important;
}
.auth-card p {
  font-size: .96rem !important;
  line-height: 1.65 !important;
}
.auth-card .button {
  border-radius: 10px !important;
}

/* User management: prevent column overflow when width is reduced. */
.users-table-v26 {
  table-layout: fixed !important;
}
.users-table-team-v26 th:nth-child(1),
.users-table-team-v26 td:nth-child(1) { width: 24% !important; }
.users-table-team-v26 th:nth-child(2),
.users-table-team-v26 td:nth-child(2) { width: 21% !important; }
.users-table-team-v26 th:nth-child(3),
.users-table-team-v26 td:nth-child(3) { width: 21% !important; }
.users-table-team-v26 th:nth-child(4),
.users-table-team-v26 td:nth-child(4) { width: 11% !important; }
.users-table-team-v26 th:nth-child(5),
.users-table-team-v26 td:nth-child(5) { width: 13% !important; }
.users-table-team-v26 th:nth-child(6),
.users-table-team-v26 td:nth-child(6) { width: 10% !important; }

.users-table-orion-v26 th:nth-child(1),
.users-table-orion-v26 td:nth-child(1) { width: 32% !important; }
.users-table-orion-v26 th:nth-child(2),
.users-table-orion-v26 td:nth-child(2) { width: 34% !important; }
.users-table-orion-v26 th:nth-child(3),
.users-table-orion-v26 td:nth-child(3) { width: 18% !important; }
.users-table-orion-v26 th:nth-child(4),
.users-table-orion-v26 td:nth-child(4) { width: 16% !important; }

.users-table-v26 th,
.users-table-v26 td {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.users-table-v26 th {
  white-space: normal !important;
  line-height: 1.15 !important;
}
.users-table-v26 td[data-label="Dernière connexion"] {
  white-space: normal !important;
  line-height: 1.35 !important;
  font-size: .82rem !important;
}
.row-actions-v26 {
  min-width: 0 !important;
}
.row-actions-v26 .button,
.row-actions-v26 button {
  padding: 0 10px !important;
  min-width: 0 !important;
}

/* Team / partner separation. */
.ecosystem,
.ecosystem-v18 {
  margin-top: clamp(36px, 5vw, 64px) !important;
  padding-top: clamp(34px, 5vw, 54px) !important;
  border-top: 1px solid rgba(148,163,184,.22) !important;
  position: relative !important;
}
.ecosystem::before,
.ecosystem-v18::before {
  content: "" !important;
  position: absolute !important;
  top: -1px !important;
  left: 0 !important;
  width: min(280px, 42vw) !important;
  height: 1px !important;
  background: linear-gradient(90deg, #125fe8, #1fbfe8, transparent) !important;
}

/* Partner arrows/icons are unnecessary; keep just logos. */
.partner-logo-card-v18::after,
.partner-logo-card::after,
.partner-logo-card-v18 .external-arrow,
.partner-logo-card .external-arrow {
  display: none !important;
  content: none !important;
}

/* Slightly more premium interaction on cards and clickable text. */
a:not(.button):not(.brand):not(.language-switcher-v23):hover {
  color: #1fbfe8 !important;
}
html[data-theme="light"] a:not(.button):not(.brand):not(.language-switcher-v23):hover {
  color: #125fe8 !important;
}
.team-card-v18,
.product-card,
.card,
.partner-logo-card-v18 {
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease !important;
}
.team-card-v18:hover,
.product-card:hover,
.card:hover {
  transform: translateY(-3px) !important;
}

/* Mobile user tables remain card-based. */
@media (max-width: 760px) {
  .users-table-v26,
  .users-table-v26 tbody,
  .users-table-v26 tr,
  .users-table-v26 td {
    display: block !important;
    width: 100% !important;
  }
  .users-table-v26 td {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
  }
  .hero h1,
  .hero-premium h1 {
    font-size: clamp(2rem, 12vw, 3.1rem) !important;
  }
}
