/* School Card V2 Component - Inspiré de school/features.php */

.school-card-v2 {
  background: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.school-card-v2:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12);
}

.school-card-v2-image {
  position: relative;
  height: 220px;
  overflow: hidden;
  flex-shrink: 0;
}

.school-card-v2-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.3s ease;
}

.school-card-v2:hover .school-card-v2-image img {
  transform: scale(1.05);
}

/* Correction spécifique pour l'image de Neuilly si nécessaire */
.school-card-v2--green .school-card-v2-image img {
  object-position: center top;
}

.school-card-v2-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: rgba(255, 255, 255, 0.92);
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: #487bff;
}

.school-card-v2-content {
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
}

.school-card-v2-title {
  margin: 0 0 12px;
  font-size: 1.25rem;
  color: #111827;
  font-weight: 600;
}

.school-card-v2-text {
  margin: 0 0 12px;
  color: #4b5563;
  line-height: 1.75;
  font-size: 0.95rem;
}

.school-card-v2-specific {
  margin: 0 0 16px;
  color: #6b7280;
  line-height: 1.6;
  font-size: 0.875rem;
  font-style: italic;
  flex-grow: 1;
}

.school-card-v2-link {
  display: inline-flex;
  font-weight: 600;
  color: #ffb415;
  text-decoration: none;
  transition: color 0.2s ease;
  align-self: flex-end;
  margin-top: auto;
}

.school-card-v2-link:hover {
  color: #e6a012;
}

/* Modificateurs de couleur - Inspirés de school/features.php */
.school-card-v2--blue {
  border-top: 6px solid #487bff;
}

.school-card-v2--yellow {
  border-top: 6px solid #ffb415;
}

.school-card-v2--green {
  border-top: 6px solid #009c8e;
}

/* School Grid V2 */
.school-grid-v2 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}

/* Force toutes les cartes à avoir la même hauteur */
.school-grid-v2 > * {
  height: 100%;
  min-height: 480px;
}

/* Responsive */
@media (max-width: 991px) {
  .school-grid-v2 {
    grid-template-columns: 1fr;
  }

  .school-card-v2-content {
    padding: 28px 22px;
  }
}
