/* ========================================
   HUB PAGES - Rechercher, Ressources, Outils
======================================== */

.hub-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* Header */
.hub-intro {
  background: linear-gradient(180deg, var(--clr-bg-secondary) 0%, var(--clr-bg) 100%);
  padding: 7rem 0 3rem 0;
}

.hub-intro-content {
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}

.hub-intro-content p {
  font-size: 1.1rem;
  line-height: 1.8;
  color: var(--clr-text-secondary);
}

/* Grid de cartes */
.hub-grid {
  padding: 4rem 0;
}

.hub-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}

.hub-card {
  display: flex;
  flex-direction: column;
  background: var(--clr-bg-secondary);
  border: 1px solid var(--clr-border);
  border-radius: 1rem;
  padding: 2rem;
  text-decoration: none;
  color: inherit;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.hub-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
  border-color: var(--clr-primary);
}

.hub-card__icon {
  width: 56px;
  height: 56px;
  border-radius: 0.75rem;
  background: var(--clr-primary-light);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.25rem;
  color: var(--clr-primary);
}

.hub-card__title {
  font-family: var(--ff-heading, 'Playfair Display', serif);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--clr-primary);
  margin-bottom: 0.75rem;
}

.hub-card__desc {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--clr-text-secondary);
  flex: 1;
  margin-bottom: 1.25rem;
}

.hub-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--clr-primary);
}

.hub-card__cta svg {
  transition: transform 0.2s ease;
}

.hub-card:hover .hub-card__cta svg {
  transform: translateX(4px);
}

/* Section titre */
.hub-section-title {
  font-family: var(--ff-heading, 'Playfair Display', serif);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: var(--clr-primary);
  margin-bottom: 0.5rem;
}

.hub-section-subtitle {
  font-size: 1rem;
  color: var(--clr-text-secondary);
  margin-bottom: 0;
}

/* ========================================
   DARK MODE
======================================== */

[data-theme="dark"] .hub-intro {
  background: linear-gradient(180deg, var(--clr-bg-secondary) 0%, #0E1520 100%);
}

[data-theme="dark"] .hub-intro-content p {
  color: var(--clr-text-secondary);
}

[data-theme="dark"] .hub-card {
  background: #1E2D3F;
  border-color: var(--clr-border);
}

[data-theme="dark"] .hub-card:hover {
  border-color: #C9952A;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .hub-card__icon {
  background: rgba(201, 149, 42, 0.12);
  color: #C9952A;
}

[data-theme="dark"] .hub-card__title {
  color: #E8DDD0;
}

[data-theme="dark"] .hub-card__desc {
  color: var(--clr-text-secondary);
}

[data-theme="dark"] .hub-card__cta {
  color: #C9952A;
}

[data-theme="dark"] .hub-section-title {
  color: #E8DDD0;
}

[data-theme="dark"] .hub-section-subtitle {
  color: var(--clr-text-secondary);
}

/* Responsive */
@media (max-width: 768px) {
  .hub-cards {
    grid-template-columns: 1fr;
  }
  .hub-intro {
    padding: 5rem 0 2rem 0;
  }
}
