/* ======================================================================================
   CSS LOCAL — PAGE CONTACT (scopé : .bg-page-contact & composants) — NE PAS DÉPLACER
   ====================================================================================== */

/* ===== CONTEXTE & CONTRASTE (fond + texte) ===== */
.bg-page-contact{background-color:#eee}
.bg-page-contact,.bg-page-contact .contact-item-box,.bg-page-contact .contact-item-box h3,.bg-page-contact .contact-item-box span,.bg-page-contact h2,.bg-page-contact p{color:#000!important;opacity:1!important}

/* ===== GRILLE DES CARTES (liste de contacts) ===== */
.contact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.2rem;padding:1.5rem 0;margin:0}

/* ===== CARTE CONTACT (boîte + titres + lignes) ===== */
.contact-item-box{background:#fff;border-radius:20px;box-shadow:0 0 8px #e6e6e6;padding:1.2rem 1.1rem 1.1rem 1.1rem;min-height:100px;margin:0;transition:box-shadow .15s}
.contact-item-box h3{font-size:1.13rem;font-weight:700;color:#073c68}
.contact-item-box span{font-size:.98rem;color:#444;display:block;margin-bottom:6px}

/* ===== ICÔNES & LIENS (email / téléphone) ===== */
.contact-icon-box{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}
.contact-icon-box a{color:#13bfb3;font-weight:500;text-decoration:none;display:flex;align-items:center;gap:.35rem}
.contact-icon-box a:hover{color:#085c83}
.contact-icon-box i{font-size:1.13em}

/* ===== BLOC JAUNE "CONTACTEZ-NOUS" ===== */
.contact-bloc-jaune{background:#ffd442;border-radius:26px;min-height:160px;position:relative;padding:0;box-shadow:0 4px 16px #eee;overflow:visible}
.contact-bloc-jaune .contact-txt{padding:2.1rem 1.1rem 1.2rem 1.5rem}
.contact-bloc-jaune h2{font-size:2rem;color:#fff;font-weight:700}
.contact-bloc-jaune p{font-size:1.09rem;color:#222;margin-bottom:1.1rem}
.contact-bloc-jaune .btn-contact{font-size:1.01rem;font-weight:600;border-radius:13px;padding:.65rem 1.4rem;background:#111;color:#fff;border:none;transition:background .2s;margin-top:.3rem}
.contact-bloc-jaune .btn-contact:hover{background:#085c83;color:#ffd442}
.contact-bloc-jaune .img-etudiante{width:230px;max-width:90%;position:absolute;bottom:0;right:35px;z-index:2;border-radius:20px;background:transparent;padding:.2rem}

/* ===== RESPONSIVE ≤ 992px ===== */
@media (max-width:992px){
  .contact-bloc-jaune .img-etudiante{display:none}
  .contact-bloc-jaune .contact-txt{padding:1.3rem .6rem}
  .contact-list{grid-template-columns:1fr;gap:.7rem;padding:.7rem 0}
}

/* ===== RESPONSIVE ≥ 992px ===== */
@media (min-width:992px){
  .contact-bloc-jaune{margin-top:8rem}
}

/* ===== RESPONSIVE ≤ 768px (empilement + centrage) ===== */
@media (max-width:768px){
  .contact-bloc-jaune{flex-direction:column!important;text-align:center!important;padding:2rem 1rem!important}
  .contact-img-wrapper{display:none!important}
}

/* ===== RESPONSIVE ≤ 576px (rayon ajusté + padding réduit) ===== */
@media (max-width:576px){
  .contact-bloc-jaune{border-radius:13px}
  .contact-bloc-jaune .contact-txt{padding:1rem .2rem}
}

/* ===== BOUTON ACCUEIL FLOTTANT ===== */
.btn-accueil-float{position:fixed!important;left:16px!important;bottom:20px!important;z-index:1080!important;border-radius:50px!important;padding:.92em 2.3em!important;font-size:1.18rem!important;font-weight:700!important;box-shadow:0 8px 36px #ffdc79b0!important;background:#ffb300!important;color:#fff!important;letter-spacing:.5px!important;transition:box-shadow .18s,background .22s!important;border:none!important;display:inline-block!important;text-decoration:none!important;text-align:center!important;cursor:pointer!important}
.btn-accueil-float:hover{background:#ffd442!important;color:#073c68!important;box-shadow:0 4px 18px #e6b400a2!important;text-decoration:none!important}
@media (max-width:600px){.btn-accueil-float{left:8px;bottom:8px;font-size:1.08rem;padding:.75em 1.7em}}
