/* ============================
   Section "Choisis ta pause"
   ============================ */

   #pb-parcours {
    position: relative;
  }
  
  /* Centrer le titre + sous-titre de la section "Choisis ta pause" */
  #pb-parcours .pb-section-header {
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-bottom: 1.75rem;
  }
  
  #pb-parcours .pb-section-title,
  #pb-parcours .pb-section-subtitle {
    text-align: center;
  }
  
  /* Grille : on s'appuie sur .pb-parcours-grid existant,
     mais on peut ajuster légèrement si besoin */
  .pb-parcours-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.25rem;
  }
  
  /* Cartes de parcours : on étend .pb-card */
  .pb-parcours-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  
    /* ✅ par défaut : visibles (au cas où le JS ne se lance pas) */
    opacity: 1;
    transform: translateY(0);
    transition:
      opacity 0.35s ease-out,
      transform 0.35s ease-out,
      box-shadow 0.25s ease-out,
      border-color 0.25s ease-out;
  }
  
  /* état "amélioré" ajouté par JS – on garde la classe si jamais tu
     veux rajouter des effets plus tard, mais elle n'est plus obligatoire
     pour la visibilité */
  .pb-parcours-card.is-visible {
    opacity: 1;
    transform: translateY(0);
  }
  
  /* Stagger léger en fonction de la position (si JS présent) */
  .pb-parcours-card:nth-child(2).is-visible {
    transition-delay: 0.07s;
  }
  
  .pb-parcours-card:nth-child(3).is-visible {
    transition-delay: 0.14s;
  }
  
  .pb-parcours-meta {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    color: var(--pb-text-muted);
  }
  
  .pb-parcours-time {
    padding: 0.1rem 0.6rem;
    border-radius: 999px;
    background: rgba(59, 130, 246, 0.08);
    border: 1px solid rgba(59, 130, 246, 0.18);
    font-weight: 500;
    color: var(--pb-primary);
  }
  
  .pb-parcours-tag {
    padding: 0.1rem 0.55rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.02);
    border: 1px dashed var(--pb-border);
  }
  
  /* Teinte subtile différente par type de pause */
  .pb-parcours-card--short .pb-parcours-time {
    background: rgba(52, 211, 153, 0.10);
    border-color: rgba(52, 211, 153, 0.25);
    color: #047857;
  }
  
  .pb-parcours-card--routine .pb-parcours-time {
    background: rgba(59, 130, 246, 0.10);
    border-color: rgba(59, 130, 246, 0.25);
  }
  
  .pb-parcours-card--challenge .pb-parcours-time {
    background: rgba(251, 191, 36, 0.12);
    border-color: rgba(251, 191, 36, 0.30);
    color: #92400E;
  }
  
  /* Bouton intégré à la card */
  .pb-parcours-cta {
    align-self: flex-start;
    margin-top: 0.3rem;
    padding-inline: 1.2rem;
  }
  
  /* Hover spécifique (desktop) */
  @media (hover: hover) and (pointer: fine) {
    .pb-parcours-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 18px 32px rgba(15, 23, 42, 0.12);
    }
  
    .pb-parcours-card:hover .pb-parcours-cta {
      border-color: rgba(59, 130, 246, 0.40);
    }
  }
  
  /* Responsive : resserrer un peu sur mobile */
  @media (max-width: 600px) {
    .pb-parcours-card {
      padding: 1.25rem 1.1rem;
    }
  
    .pb-parcours-meta {
      flex-wrap: wrap;
    }
  }
  