/* Feuille de style de la page — sortie du fichier PHP pour être mise en cache par le navigateur */
.course-card{
    background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:8px;
    display:grid; grid-template-columns:1fr 1.25fr; gap:0; align-items:stretch; margin-bottom:32px;
    box-shadow:0 4px 18px rgba(26,32,39,0.06); overflow:hidden;
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .course-card:hover{transform:translateY(-3px); box-shadow:0 10px 26px rgba(26,32,39,0.1);}
  @media (max-width:750px){.course-card{grid-template-columns:1fr;}}
  .course-photo{
    border-radius:9px; overflow:hidden; position:relative; min-height:220px;
    display:flex; align-items:center; justify-content:center;
  }
  .course-photo.cpf{background:linear-gradient(155deg, #EB4A60 0%, var(--accent) 55%, #B2192D 100%);}
  .course-photo.opco{background:linear-gradient(155deg, #4F75A6 0%, var(--teal-light) 55%, #101D2D 100%);}
  .course-photo svg{width:70%; height:70%;}
  .course-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .course-body{padding:30px 34px; display:flex; flex-direction:column; justify-content:center;}
  .course-body h3{font-size:22px; color:var(--accent-dark); font-family:'Work Sans','Segoe UI',system-ui,sans-serif;  margin-bottom:12px; line-height:1.2;}
  .course-body p{color:var(--ink-soft); font-size:15px; margin:0 0 16px;}
  .course-meta{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px;}
  .course-meta span{font-size:12px; font-weight:600; color:var(--teal); background:#EAEDF2; border:1px solid #D7DDE7; padding:6px 13px; border-radius:5px;}
  .info-trio{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:18px 0;}
  @media (max-width:640px){.info-trio{grid-template-columns:1fr;}}
  .info-card{border-radius:10px; padding:16px 18px; color:#fff; transition:transform .2s ease;}
  .info-card:hover{transform:translateY(-2px);}
  .info-card.tone-a{background:#B2192D;}
  .info-card.tone-b{background:var(--teal-light);}
  .info-card .info-head{display:flex; align-items:center; gap:8px; font-weight:700; font-size:13.5px; margin-bottom:6px;}
  .info-card .info-head .ic{font-size:16px;}
  .info-card p{color:rgba(255,255,255,0.92); font-size:12.5px; margin:0; line-height:1.4;}
  .course-cta{display:flex; flex-wrap:wrap; gap:10px; align-self:flex-start;}
  .course-caption{font-size:12.5px; color:var(--ink-soft); margin:0 0 4px;}
  .financing-badges{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px;}
  .fin-badge{font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.04em; padding:5px 12px; border-radius:5px; color:#fff;}
  .fin-badge.cpf{background:var(--accent-btn);}
  .fin-badge.opco{background:var(--teal);}
  .fin-badge.auto{background:var(--gold); color:var(--ink);}
  .fin-badge.francetravail{background:var(--teal-light);}
  .fin-badge.region{background:var(--accent-dark);}
  .fin-badge.autre{background:var(--mist, #A6AFBB); color:var(--ink);}
  .divider{height:1px; background:var(--line); margin:36px 0;}

  details.quality-box{background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:20px 24px; margin-top:8px; transition:border-color .2s ease;}
  details.quality-box:hover{border-color:var(--accent);}
  details.quality-box summary{cursor:pointer; font-weight:600; font-size:14.5px; color:var(--accent-dark); list-style:none; display:flex; align-items:center; justify-content:space-between; gap:12px;}
  details.quality-box summary::-webkit-details-marker{display:none;}
  details.quality-box summary .qb-arrow{font-size:15px; transition:transform .3s ease;}
  details.quality-box[open] summary .qb-arrow{transform:rotate(90deg);}
  .quality-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:18px;}
  @media (max-width:700px){.quality-grid{grid-template-columns:1fr 1fr;}}
  .qstat{background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:14px 16px;}
  .qstat .num{font-family:'Work Sans','Segoe UI',system-ui,sans-serif; font-size:21px; font-weight:600; color:var(--accent-dark);}
  .qstat .lbl{font-size:11.5px; color:var(--ink-soft); margin-top:4px;}
  .see-legal{display:inline-block; margin-top:14px; font-size:13px; color:var(--accent-dark); font-weight:600; text-decoration:underline; background:none; border:none; cursor:pointer; padding:0; font-family:inherit;}

  .fin-columns{display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:44px;}
  @media (max-width:800px){.fin-columns{grid-template-columns:1fr;}}
  .fin-col-title{display:flex; align-items:center; gap:10px; margin-bottom:20px;}
  .fin-col-title .dot{width:10px; height:10px; border-radius:50%;}
  .fin-col-title.cpf .dot{background:var(--accent);}
  .fin-col-title.opco .dot{background:var(--teal);}
  .fin-col-title h3{font-size:18px; color:var(--ink); margin:0;}
  .steps{display:flex; flex-direction:column; gap:16px;}
  .step{background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:20px 22px;}
  .step .n{font-family:'Work Sans','Segoe UI',system-ui,sans-serif; font-size:22px; font-weight:700; margin-bottom:6px; color:var(--teal);}
  .fin-col-title.cpf ~ .steps .step .n{color:var(--accent);}
  .step h3{font-size:15px; color:var(--ink); margin-bottom:6px;}
  .step p{font-size:13.5px; color:var(--ink-soft); margin:0;}

  .opco-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:44px;}
  @media (max-width:750px){.opco-grid{grid-template-columns:1fr 1fr;}}
  .opco-chip{background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:16px; text-align:center; font-size:13.5px; font-weight:600; color:var(--teal);}

.course-sessions{font-size:13px; color:var(--ink-soft); margin:0 0 12px;}
.course-sessions a{color:var(--accent-dark); font-weight:600;}
