:root{
  --atfp-blue:#003366;
  --atfp-blue-light:#0055a5;
  --atfp-border:#d9dee5;
  --atfp-bg:#f4f7fa;
  --atfp-text:#1f2937;
  --atfp-muted:#6b7280;
}

/* ============================= */
/* CONTAINER */
/* ============================= */

.atfp-rcf{
  max-width:1200px;
  margin:0 auto;
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
  color:var(--atfp-text);
}

/* ============================= */
/* HERO */
/* ============================= */

.atfp-rcf-hero{
  background:linear-gradient(135deg,var(--atfp-blue),var(--atfp-blue-light));
  color:#2eadad;
  padding:30px;
  border-radius:16px;
  margin-bottom:25px;
}

.atfp-rcf-hero h2{
    color:#ffcb08;
  margin:0 0 8px 0;
  font-size:26px;
  font-weight:800;
  letter-spacing:.5px;
}

.atfp-rcf-hero p{
  margin:0;
  opacity:.9;
}

/* ============================= */
/* FORM */
/* ============================= */

.atfp-rcf-form{
  background:#fff;
  padding:20px;
  border-radius:16px;
  box-shadow:0 8px 25px rgba(0,0,0,.05);
  margin-bottom:25px;
}

.atfp-rcf-inline{
  display:flex !important;
  gap:15px;
  align-items:center;
  flex-wrap:nowrap;
}

.atfp-rcf-inline input{
  flex:2;
  min-width:250px;
}

.atfp-rcf-inline select{
  flex:1.5;
  min-width:230px;
}

.atfp-rcf-inline input,
.atfp-rcf-inline select{
  width:auto !important;
  padding:1px 1px !important;
  border:1px solid var(--atfp-border) !important;
  border-radius:10px !important;
  background:#fff !important;
  font-size:14px;
}

/* Boutons */
.atfp-rcf-actions{
  display:flex;
  gap:10px;
}

.atfp-rcf-actions button{
  padding:12px 18px;
  border-radius:10px;
  border:none;
  background:var(--atfp-blue);
  color:#fff;
  font-weight:700;
  cursor:pointer;
}

.atfp-rcf-actions .atfp-rcf-secondary{
  background:#e5eaf1;
  color:var(--atfp-blue);
}

.atfp-rcf-actions button:hover{
  opacity:.92;
}

/* ============================= */
/* META */
/* ============================= */

.atfp-rcf-meta{
  margin:15px 0;
  font-weight:700;
  color:var(--atfp-muted);
}

/* ============================= */
/* VILLE */
/* ============================= */

.atfp-ville{
  margin-bottom:40px;
}

.atfp-ville-title{
  font-size:20px;
  font-weight:900;
  margin-bottom:15px;
  padding-bottom:6px;
  border-bottom:3px solid var(--atfp-blue);
  color:var(--atfp-blue);
}

/* ============================= */
/* GRID */
/* ============================= */
.atfp-centres-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:stretch;
}
/* ============================= */
/* CARD */
/* ============================= */

.atfp-card{
  background:#ffffff;
  border:1px solid var(--atfp-border);
  border-radius:16px;
  padding:18px;
  display:flex;
  flex-direction:column;
  height:100%;
  transition:.35s cubic-bezier(.4,.2,.2,1);
opacity:0;
  transform:translateY(20px);
  animation:atfpFadeIn .6s ease forwards;

}
@keyframes atfpFadeIn{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.atfp-card:hover{
  box-shadow:0 15px 40px rgba(0,0,0,.08);
}

/* Centre name */
.atfp-card-head{
  background:var(--atfp-blue);
  color:#fff;
  padding:12px;
  border-radius:10px;
  font-weight:800;
  font-size:15px;
  margin-bottom:15px;
}

/* ============================= */
/* SPECIALITES */
/* ============================= */

.atfp-list{
  list-style:none;
  padding:0;
  margin:0;
  flex:1; /* prend tout l'espace restant */
}

.atfp-list li{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 0;
  border-bottom:1px dashed var(--atfp-border);
}

.atfp-list li:last-child{
  border-bottom:none;
}

.atfp-spec{
  font-weight:600;
}

/* ============================= */
/* BADGE NIVEAU */
/* ============================= */

.atfp-pill{
  padding:6px 12px;
  border-radius:20px;
  font-size:12px;
  font-weight:800;
  color:#fff;
}

/* Couleurs officielles niveaux */
.atfp-niveau-cap{ background:#ed1651; }   /* Vert foncé */
.atfp-niveau-btp{ background:#ffcb08; }   /* Bleu */
.atfp-niveau-bts{ background:#013b69; }   /* Violet */
.atfp-niveau-default{ background:#2eadad; }

/* ============================= */
/* EMPTY */
/* ============================= */

.atfp-empty{
  text-align:center;
  padding:30px;
  background:var(--atfp-bg);
  border-radius:12px;
  color:var(--atfp-muted);
  font-weight:700;
}

.atfp-centre-link{
  text-decoration:none;
  color:inherit;
  font-weight:700;
  transition:.3s;
}

.atfp-centre-link:hover{
  color:#2eadad;
  text-decoration:underline;
}

/* ============================= */
/* CENTRE LINK */
/* ============================= */

.atfp-centre-link{
  text-decoration:none;
  color:#f2f4f6;
  font-weight:700;
  font-size:18px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:.3s;
}

.atfp-centre-link:hover{
  color:#2eadad;
}

.atfp-link-icon{
  font-size:14px;
  opacity:.6;
  transition:.3s;
}

.atfp-centre-link:hover .atfp-link-icon{
  opacity:1;
  transform:translateX(3px);
}

/* ============================= */
/* BUTTON VIEW */
/* ============================= */

.atfp-card-footer{
  margin-top:15px;
}

.atfp-btn-view{
  display:inline-block;
  padding:8px 16px;
  background:#013b69;
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  border-radius:30px;
  transition:.3s;
}

.atfp-btn-view:hover{
  color:#2eadad;
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(0,0,0,.15);
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media (max-width:1100px){
  .atfp-rcf-inline{
    flex-wrap:wrap !important;
  }
}
/* Tablette */
@media (max-width:1100px){
  .atfp-centres-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}

/* Mobile */
@media (max-width:700px){
  .atfp-centres-grid{
    grid-template-columns:1fr;
  }
}