/* ============================================
   Applications 5M Innov — cartes apps
   Partagé par l'aperçu de l'accueil (hub) et la page /applications.
   Utilise les tokens du design system (tokens.css / liquid-glass.css) :
   thème clair/sombre géré automatiquement.
   ============================================ */

.apps-section { padding-top: 1rem; }
.apps-section .apps-intro {
  max-width: 720px;
  margin: 0.4rem auto 2.2rem;
  text-align: center;
  color: var(--text-color);
  opacity: 0.85;
  line-height: 1.6;
}

.apps-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.6rem;
  max-width: 960px;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .apps-grid { grid-template-columns: 1fr; }
}

/* Carte « 5M Innov Studio » du hub : 3e carte pleine largeur, trois icônes. */
.app-card--studio { grid-column: 1 / -1; }
.app-card-logos { display: flex; gap: 0.5rem; flex-shrink: 0; }
.app-card-logos .app-card-logo { width: 48px; height: 48px; }
/* Mobile : la rangée de 3 icônes écrase le titre → en pile verticale. */
@media (max-width: 560px) {
  .app-card--studio .app-card-head { flex-direction: column; align-items: flex-start; gap: 0.7rem; }
}

/* Sous-titres de section sur /applications (mobile & web / Studio desktop) */
.apps-subhead {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  max-width: 960px;
  margin: 2.8rem auto 1.2rem;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-color);
}
.apps-subhead:first-of-type { margin-top: 0; }
.apps-subhead i { color: var(--accent-text); }
.apps-subhead::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--glass-border, rgba(255, 255, 255, 0.14));
}

/* Grille Studio : 3 applications desktop, cartes plus compactes */
.apps-grid--studio { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.3rem; }
@media (max-width: 900px) {
  .apps-grid--studio { grid-template-columns: 1fr; }
}

.app-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.8rem;
  border-radius: var(--radius-glass, 22px);
  background: var(--glass-bg, rgba(255, 255, 255, 0.06));
  border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.14));
  box-shadow: var(--glass-shadow, 0 10px 30px rgba(0, 0, 0, 0.18));
  backdrop-filter: blur(var(--glass-blur, 14px)) saturate(var(--glass-saturate, 1.4));
  -webkit-backdrop-filter: blur(var(--glass-blur, 14px)) saturate(var(--glass-saturate, 1.4));
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.app-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.24);
}

.app-card-head {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-align: left;
}
/* Icône façon « app store » : carré arrondi (squircle) uniforme pour toutes
   les applications — on utilise les logos carrés (fond inclus), pas les
   versions transparentes ou rondes. */
.app-card-logo {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 22.5%;
  border: 1px solid var(--glass-border, rgba(255, 255, 255, 0.14));
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
  flex-shrink: 0;
}
.app-card-logo--rounded { border-radius: 22.5%; } /* aligné sur le squircle (plus de cercle) */
/* La page /applications utilise des h2, l'aperçu de l'accueil des h3 :
   même rendu pour les deux (et on neutralise le centrage global des h2). */
.app-card-head-text h2,
.app-card-head-text h3 {
  margin: 0;
  font-size: 1.3rem;
  text-align: left;
  line-height: 1.25;
  color: var(--text-color);
}
.app-card-tagline {
  margin: 0.3rem 0 0;
  font-size: 0.95rem;
  text-align: left;
  /* --accent-text (et non --accent-color) : le vert vif #37EFBA n'est
     lisible que sur fond sombre. --accent-text bascule sur le vert foncé
     en thème clair, comme partout ailleurs sur le site. */
  color: var(--accent-text);
  font-weight: 600;
}

.app-card-desc {
  margin: 0;
  color: var(--text-color);
  opacity: 0.9;
  line-height: 1.6;
}

.app-card-features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}
.app-card-features li {
  display: flex;
  align-items: baseline;
  gap: 0.6rem;
  color: var(--text-color);
  opacity: 1;
  font-size: 0.95rem;
  /* Neutralise le style « boîte » global (section ul li) */
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  text-align: left;
}
.app-card-features li i {
  color: var(--accent-text);
  width: 1.1rem;
  text-align: center;
  flex-shrink: 0;
}

.app-card-platforms {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.9rem;
  font-size: 0.85rem;
  color: var(--text-color);
  opacity: 0.7;
}
/* L'opacité se cumule avec celle du conteneur : 0,8 y devenait 0,56 (3,5:1). */
.app-card-platforms .app-card-platforms-label { opacity: 1; }
.app-card-platforms span i { margin-right: 0.3rem; }

.app-card-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: auto;
  padding-top: 0.4rem;
}

/* Note d'attribution 5M Innov sous la grille */
.apps-note {
  max-width: 960px;
  margin: 1.6rem auto 0;
  text-align: center;
  font-size: 0.9rem;
  color: var(--text-color);
  /* 0,65 laissait l'icône verte à 2,8:1 (seuil 3:1 pour une icône). */
  opacity: 0.8;
}
.apps-note i { color: var(--accent-text); margin-right: 0.4rem; }

/* Lien « Découvrir les applications » (aperçu accueil) */
.apps-seeall {
  text-align: center;
  margin-top: 1.8rem;
}
