/* ============================================
   PAGE /qualiopi/ — Hub certification
   ============================================ */

/* ===== Section "Pourquoi cette certification" ===== */

.qualiopi-pourquoi-grid {
  list-style:  none;
  padding:     0;
  margin:      0;
  display:     grid;
  gap:         var(--space-5);
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  .qualiopi-pourquoi-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .qualiopi-pourquoi-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.qualiopi-pourquoi-card {
  display:        flex;
  flex-direction: column;
  gap:            var(--space-3);
  padding:        var(--space-5);
  background:     var(--color-bg);
  border:         1px solid var(--color-border);
  border-radius:  var(--radius-md);
  transition:     transform var(--duration-base) var(--ease-out),
                  box-shadow var(--duration-base) var(--ease-out),
                  border-color var(--duration-base) var(--ease-out);
}

.qualiopi-pourquoi-card:hover {
  transform:     translateY(-2px);
  border-color:  var(--color-iroise-cyan);
  box-shadow:    0 12px 28px rgba(0, 80, 168, 0.08);
}

.qualiopi-pourquoi-card__icon {
  width:           48px;
  height:          48px;
  border-radius:   12px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  background:      var(--color-iroise-blue-soft);
  color:           var(--color-iroise-blue);
  flex-shrink:     0;
}

.qualiopi-pourquoi-card__title {
  font-family:    var(--font-display);
  font-size:      var(--fs-lg);
  font-weight:    var(--fw-bold);
  line-height:    var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  color:          var(--color-iroise-blue);
  margin:         0;
}

.qualiopi-pourquoi-card__lead {
  font-size:   var(--fs-sm);
  line-height: var(--lh-relaxed);
  color:       var(--color-text);
  margin:      0;
}


/* ===== Section "Périmètre certifié" ===== */

.qualiopi-perimetre-grid {
  list-style:  none;
  padding:     0;
  margin:      0;
  display:     grid;
  gap:         var(--space-3);
  grid-template-columns: 1fr;
}

@media (min-width: 600px) {
  .qualiopi-perimetre-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .qualiopi-perimetre-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.qualiopi-perimetre-item__link {
  display:         flex;
  align-items:     center;
  gap:             var(--space-3);
  padding:         var(--space-4) var(--space-5);
  background:      var(--color-bg);
  border:          1px solid var(--color-border);
  border-radius:   var(--radius-md);
  color:           var(--color-text);
  text-decoration: none;
  font-weight:     var(--fw-medium);
  transition:      transform var(--duration-base) var(--ease-out),
                   border-color var(--duration-base) var(--ease-out),
                   box-shadow var(--duration-base) var(--ease-out);
}

.qualiopi-perimetre-item__link:hover,
.qualiopi-perimetre-item__link:focus-visible {
  transform:    translateY(-2px);
  border-color: var(--color-iroise-cyan);
  box-shadow:   0 8px 20px rgba(0, 80, 168, 0.08);
  color:        var(--color-iroise-blue);
  outline:      none;
}

.qualiopi-perimetre-item__check {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           28px;
  height:          28px;
  border-radius:   50%;
  background:      var(--color-iroise-blue);
  color:           var(--color-text-inverse);
  flex-shrink:     0;
}

.qualiopi-perimetre-item__name {
  flex:        1;
  font-family: var(--font-base);
  font-size:   var(--fs-md);
}

.qualiopi-perimetre-item__chevron {
  color:       var(--color-iroise-blue);
  flex-shrink: 0;
  transition:  transform var(--duration-base) var(--ease-out);
}

.qualiopi-perimetre-item__link:hover .qualiopi-perimetre-item__chevron,
.qualiopi-perimetre-item__link:focus-visible .qualiopi-perimetre-item__chevron {
  transform: translateX(4px);
}


/* ===== Section "Consulter nos certificats" ===== */

.qualiopi-certs-grid {
  display:     grid;
  gap:         var(--space-6);
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .qualiopi-certs-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.qualiopi-cert-card {
  display:        flex;
  flex-direction: column;
  align-items:    flex-start;
  gap:            var(--space-4);
  padding:        var(--space-7);
  background:     var(--color-bg);
  border:         1px solid var(--color-border);
  border-radius:  var(--radius-lg, 16px);
  transition:     transform var(--duration-base) var(--ease-out),
                  border-color var(--duration-base) var(--ease-out),
                  box-shadow var(--duration-base) var(--ease-out);
}

.qualiopi-cert-card:hover {
  transform:    translateY(-3px);
  border-color: var(--color-iroise-cyan);
  box-shadow:   0 16px 36px rgba(0, 80, 168, 0.10);
}

.qualiopi-cert-card__logo {
  display:         inline-flex;
  align-items:     center;
  justify-content: flex-start;
  height:          56px;
}

.qualiopi-cert-card__logo-img {
  max-height: 56px;
  width:      auto;
  height:     auto;
}

.qualiopi-cert-card__name {
  font-family:    var(--font-display);
  font-size:      clamp(1.25rem, 2.5vw, var(--fs-2xl));
  font-weight:    var(--fw-bold);
  line-height:    var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  color:          var(--color-iroise-blue);
  margin:         0;
}

.qualiopi-cert-card__lead {
  font-size:   var(--fs-md);
  line-height: var(--lh-relaxed);
  color:       var(--color-text);
  margin:      0;
}

.qualiopi-cert-card__validity {
  display:        inline-flex;
  flex-direction: column;
  gap:            2px;
  padding:        var(--space-3) var(--space-4);
  background:     var(--color-iroise-blue-soft);
  border-radius:  var(--radius-sm, 6px);
  margin:         0;
}

.qualiopi-cert-card__validity-label {
  font-family:    var(--font-mono);
  font-size:      var(--fs-xs);
  font-weight:    var(--fw-medium);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color:          var(--color-text-muted);
}

.qualiopi-cert-card__validity-value {
  font-family: var(--font-base);
  font-size:   var(--fs-md);
  font-weight: var(--fw-semibold);
  color:       var(--color-iroise-blue);
}

.qualiopi-cert-card__cta {
  margin-top: auto;
  align-self: stretch;
  justify-content: center;
}

.qualiopi-cert-card__cta svg {
  flex-shrink: 0;
}


/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  .qualiopi-pourquoi-card,
  .qualiopi-perimetre-item__link,
  .qualiopi-perimetre-item__chevron,
  .qualiopi-cert-card {
    transition: none;
  }
  .qualiopi-pourquoi-card:hover,
  .qualiopi-perimetre-item__link:hover,
  .qualiopi-cert-card:hover {
    transform: none;
  }
}
