/* =========================================================
   B-Admin CSS — Optimisé (même rendu, code plus clair)
   - Garde exactement ton style actuel
   - Navbar sticky + dégradé robuste
   - Espacement texte corrigé (about-me)
   - Boutons tarifs factorisés
   - Utilitaires centralisés (sans doublons)
   ========================================================= */

/*---------------------------- Polices ----------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@700&family=Lora:wght@600&family=Open+Sans:wght@400&family=Nunito:wght@400&display=swap');

@font-face{ font-family:'Titre';     src:url('../_police/Coiny-Regular.woff') format('woff'); }
@font-face{ font-family:'Article';   src:url('../_police/Roboto.woff')         format('woff'); }
@font-face{ font-family:'Signature'; src:url('../_police/MerciasScript.woff')  format('woff'); }
@font-face{ font-family:'datesite';  src:url('../_police/MerciasScript.woff')  format('woff'); }

/*---------------------------- Bases ----------------------------*/
body{ background:#FFF3E0; }
img{ max-width:100%; height:auto; }
html{ font-size:100%; } /* 16px */
@media (min-width:992px){ html{ font-size:106.25%; } } /* ~17px sur grands écrans */
body{ line-height:1.6; }

/*---------------------------- Typographie ----------------------------*/
/* Hero Section */
.hero-header {
  padding-top: 2rem;
  padding-bottom: 1rem;
  background: #FFF3E0; /* ton fond actuel */
  text-align: center;
}

.hero-header h1 {
  font-size: 1.6rem;
  font-weight: 600;
  color: #7102b1;      /* violet B-Admin */
  margin-bottom: .5rem;
}

.hero-header .hero-sub {
  font-size: 1.05rem;
  color: #5a4268;      /* violet foncé doux */
  margin-bottom: 0;
}


h2{
  font-family:'Merriweather',serif;
  color:#7102b1;
  font-size:2rem;
  font-weight:800;
}
h5{
  font-family:'Open Sans',sans-serif;
  color:#3a3a3a;
  font-style:oblique;
  font-size:1.375rem;
  font-weight:400;
  line-height:1.4;
}
p{
  font-family:'Nunito',sans-serif;
  color:#222;
  font-size:1.125rem;
  line-height:1.4;
  margin-bottom:.9rem;
}
@media (max-width:992px){
  h2{ font-size:1.75rem; }
  h5{ font-size:1.25rem; }
  p { font-size:1.06rem; }
}
@media (max-width:768px){
  h2{ font-size:1.5rem; }
  h5{ font-size:1.125rem; }
  p { font-size:1rem; }
}

/*---------------------------- Navbar ----------------------------*/
.navbar.admin_navbar.sticky-top{
  background:linear-gradient(90deg,rgb(229,229,250) 0%, #d8bfd8 100%) !important;
  background-color:transparent !important;
  box-shadow:0 4px 6px rgba(0,0,0,.1);
  z-index:1030;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.navbar--elevated{ box-shadow:0 6px 18px rgba(0,0,0,.08); }

/* Couleurs des liens du menu */
.navbar.admin_navbar .nav-link{ color:#5a4268; font-weight:600; transition:color .2s ease-in-out; }
.navbar.admin_navbar .nav-link:hover,
.navbar.admin_navbar .nav-link:focus{ color:#bb98fd; }
.navbar.admin_navbar .nav-link.active{ color:#5708a1; font-weight:700; }
.nav-link.active{ font-weight:bold; } /* compat */

/*---------------------------- Boutons ----------------------------*/
a.btn{ background-color:#7102b1; border-color:#7102b1; color:#fff; transition:background-color .25s ease,border-color .25s ease,color .25s ease; }
a.btn:hover{ background-color:#9d4fd3; border-color:#9d4fd3; color:#fff; box-shadow:0 4px 8px rgba(0,0,0,.2); }

/* Boutons Tarifs (factorisés) */
.btn-tarif{
  font-size:16px; padding:12px 24px; color:#fff;
  border-radius:5px; font-weight:700;
  transition:background-color .25s ease, border-color .25s ease, color .25s ease;
}
.btn-tarif-vert  { background:#4CAF50; border-color:#4CAF50; }
.btn-tarif-vert:hover{ background:#45a049; border-color:#45a049; }
.btn-tarif-violet{ background:#8e3aa8; border-color:#8e3aa8; }
.btn-tarif-violet:hover{ background:#7b3093; border-color:#7b3093; }
.btn-tarif-neutre{ background:#886b91; border-color:#73557c; }
.btn-tarif-neutre:hover{ background:#73557c; border-color:#5f4767; }

/*---------------------------- Modale (pop-up) ----------------------------*/
.modal{
  position:fixed; top:0; left:0; width:100%; height:100%;
  background-color:rgba(0,0,0,.5);
  display:none; justify-content:center; align-items:center;
}
.modal-content{
  background:#fff; padding:25px; border-radius:10px; text-align:center;
  box-shadow:0 5px 15px rgba(0,0,0,.3); width:90%; max-width:400px;
}
.modal-content p{ font-size:20px; color:#333; font-weight:bold; line-height:1.6; }
.modal-content button{
  background:#aa7ac5; color:#fff; border:none; padding:12px 24px;
  border-radius:8px; cursor:pointer; font-size:18px; font-weight:bold;
}
.modal-content button:hover{ background:#8e3aa8; }
@media (max-width:768px){
  .modal-content{ width:80%; max-width:300px; }
  .modal-content p{ font-size:18px; }
  .modal-content button{ font-size:16px; padding:10px 20px; }
}

/*---------------------------- Cartes / Articles / Formulaires ----------------------------*/
.cadre{ border:4px solid #000; padding:20px; border-radius:0; max-width:800px; }

.titre_article{
  font-family:'Titre',sans-serif;
  font-size:24px; font-weight:bold; margin:auto; padding-left:0;
  line-height:4pc; color:#5708a1;
}

/* Paragraphe type "article" (about-me) : espacement maîtrisé */
.admin-article{
  font-family:'Article',sans-serif;
  font-size:15px; font-weight:normal;
  color:#000;
  padding:0 !important;          /* évite le padding hérité */
  margin-bottom:.8rem;
  line-height:1.5;
}
@media (min-width:992px){
  .admin-article{ margin-bottom:1rem; line-height:1.55; }
}
.admin-article:last-child{ margin-bottom:0; }

/* Blocs de contenu */
.article{
  background:#F1E0C6; border:1px solid #D9C8A1; border-radius:10px;
  padding:1.25rem;
}
.formulaire{
  background:#F1E0C6; border:1px solid #D9C8A1; border-radius:10px;
  padding:20px; text-align:left; box-shadow:0 5px 10px rgba(0,0,0,.2);
}
@media (min-width:992px){
  .article .readable-center, .formulaire{ padding:1.5rem; }
}

/*---------------------------- Tarifs ----------------------------*/
.logo-img{ max-height:55px; }

.card-tarif-vert{
  border:3px solid #4CAF50; background:#f6fff6; box-shadow:0 5px 10px rgba(0,0,0,.1);
}
.card-tarif-violet{
  border:3px solid #aa7ac5; background:#fff; box-shadow:0 5px 10px rgba(0,0,0,.1);
}
.card-tarif-neutre{ border:2px solid #000; background:#fff; }
.tarif-title-vert{ color:#4CAF50; font-size:1.8rem; }
.tarif-title-violet{ color:#aa7ac5; font-size:1.6rem; }
.tarif-title{ font-size:1.6rem; }
.tarif-price{ font-size:1.2rem; }
.tarif-sub{ font-size:1rem; }
.tarif-desc{ text-align:left; font-size:1rem; margin-top:15px; }

/*---------------------------- Services ----------------------------*/
.card-shadow{ box-shadow:0 10px 10px rgba(0,0,0,.2); }

/*---------------------------- Footer ----------------------------*/
footer{ background:#D9D9D9; text-align:left; color:#5708a1; }
footer h6{ font-size:18px; font-weight:bold; color:#863e9c; }
footer p{ font-size:14px; }
footer .col-md-3 p{ margin-bottom:5px; line-height:1.5; }
.contact-col p{ margin-bottom:4px; }
footer a{ font-size:14px; font-weight:bold; color:#ab4ec7; text-decoration:none; }
footer a:hover{ text-decoration:underline; color:#8e3aa8; }
.footerreserve{ font-family:'datesite'; background:#afafaf; color:#6e13e4; font-size:14px; padding:10px; text-align:center; }
@media (max-width:767px){
  footer{ font-size:12px; }
  footer h6{ font-size:18px; }
  footer p, footer a{ font-size:14px; }
  .contact-col p{ margin-bottom:.3rem; }
}

/*---------------------------- Utilitaires & Accessibilité ----------------------------*/
.link-utile-accent{ color:#512bb9; font-weight:700; }
.footer-14{ font-size:14px; }
.footer-12{ font-size:12px; }
.readable{ max-width:72ch; }
.readable-center{ max-width:72ch; margin-inline:auto; }
:root{ scroll-padding-top:72px; }             /* ancres sous navbar sticky */
.vh-under-nav{ height:calc(100vh - 72px); }   /* plein écran sous navbar */
.input, .form-control, .select, .textarea{ min-height:44px; font-size:1rem; }
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
