/* bootstrap.pro.min.css (v2) — Grid + Navbar (+toggler) + Collapse + Accordion + Buttons
   Objectif: couvrir ton index.html sans le poids du Bootstrap complet.
*/

/* ===== Reset / base ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0}
img,svg,canvas{vertical-align:middle;max-width:100%;height:auto;}
video{vertical-align:middle;max-width:100%;height:100%;object-fit: cover;}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
button{font:inherit}
:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* ===== Variables minimal ===== */
:root{
  --bs-gutter-x:1.5rem;
  --bs-border-radius:.375rem;
  --bs-border-color:rgba(0,0,0,.125);
  --bs-accordion-bg:#fff;
  --bs-accordion-color:inherit;
  --bs-accordion-active-bg:rgba(0,0,0,.03);
  --bs-accordion-active-color:inherit;
  --bs-accordion-btn-padding-y:1rem;
  --bs-accordion-btn-padding-x:1.25rem;
  --bs-accordion-body-padding-y:1rem;
  --bs-accordion-body-padding-x:1.25rem;
  --bs-accordion-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

/* ===== Grid ===== */
.container,.container-fluid{
  width:100%;
  padding-right:calc(var(--bs-gutter-x)*.5);
  padding-left:calc(var(--bs-gutter-x)*.5);
  margin-right:auto;margin-left:auto
}
@media (min-width:576px){.container{max-width:540px}}
@media (min-width:768px){.container{max-width:720px}}
@media (min-width:992px){.container{max-width:960px}}
@media (min-width:1200px){.container{max-width:1140px}}
@media (min-width:1400px){.container{max-width:1320px}}

.row{
  display:flex;flex-wrap:wrap;
  margin-right:calc(var(--bs-gutter-x)*-0.5);
  margin-left:calc(var(--bs-gutter-x)*-0.5)
}
.row>*{
  flex-shrink:0;width:100%;max-width:100%;
  padding-right:calc(var(--bs-gutter-x)*.5);
  padding-left:calc(var(--bs-gutter-x)*.5)
}
@media (min-width:992px){
  .col-lg-4{flex:0 0 auto;width:32.33333333%}
  .col-lg-6{flex:0 0 auto;width:50%}
  .col-lg-8{flex:0 0 auto;width:66.66666667%}
  .col-lg-12{flex:0 0 auto;width:100%}
}

/* Utilitaires (minimum utile) */
.d-flex{display:flex!important}
.align-items-center{align-items:center!important}
.justify-content-between{justify-content:space-between!important}
.gap-2{gap:.5rem!important}

/* ===== Buttons (base) ===== */
.btn{
  display:inline-block;
  padding:.375rem .75rem;
  border:1px solid transparent;
  border-radius:var(--bs-border-radius);
  background:transparent;
  cursor:pointer;
  transition:var(--bs-accordion-transition);
}
.btn:disabled{opacity:.65;cursor:not-allowed}

/* btn-group (utilisé) */
.btn-group{position:relative;display:inline-flex;vertical-align:middle}
.btn-group>*{position:relative;flex:0 1 auto}

/* ===== Navbar ===== */
.navbar{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.navbar-brand{display:inline-block;padding:.3125rem 0;margin-right:1rem;white-space:nowrap}
.navbar-nav{display:flex;flex-direction:column;list-style:none;margin:0;padding-left:0;gap:.25rem}
.nav-link{display:block;padding:.5rem 0}
.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}

/* Navbar toggler (mobile) */
.navbar-toggler{
  padding:.25rem .75rem;
  border:1px solid var(--bs-border-color);
  border-radius:var(--bs-border-radius);
  background:transparent;
  cursor:pointer;
}
.navbar-toggler:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.navbar-toggler-icon{
  display:inline-block;
  width:1.5em;height:1.5em;
  vertical-align:middle;
  background-repeat:no-repeat;
  background-position:center;
  background-size:100%;
  /* icône burger simple en SVG inline */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(0,0,0,0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* ===== Collapse ===== */
.collapse:not(.show){display:none}

/* Expand lg */
@media (min-width:992px){
  .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}
  .navbar-expand-lg .navbar-toggler{display:none}
  .navbar-expand-lg .navbar-nav{flex-direction:row;gap:.5rem}
  .navbar-expand-lg .nav-link{padding:.5rem .75rem}
  .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}
  .navbar-expand-lg .collapse:not(.show){display:flex!important}
}

/* ===== Accordion ===== */
.accordion{--bs-accordion-border-color:var(--bs-border-color)}
.accordion-item{
  background-color:var(--bs-accordion-bg);
  border:1px solid var(--bs-accordion-border-color);
  border-radius:var(--bs-border-radius);
  overflow:hidden;
}
.accordion-item + .accordion-item{margin-top:.75rem}

.accordion-header{margin:0}

.accordion-button{
  position:relative;
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
  font-size:1rem;
  color:var(--bs-accordion-color);
  text-align:left;
  background-color:var(--bs-accordion-bg);
  border:0;
  border-radius:0;
  cursor:pointer;
  transition:var(--bs-accordion-transition);
}
.accordion-button:hover{background-color:rgba(0,0,0,.02)}
.accordion-button:focus-visible{outline:2px solid currentColor;outline-offset:-2px}

.accordion-button::after{
  content:"";
  flex-shrink:0;
  width:1.25rem;height:1.25rem;
  margin-left:1rem;
  background-repeat:no-repeat;
  background-size:1.25rem;
  background-position:center;
  transition:transform .2s ease-in-out;
  /* chevron */
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='rgba(0,0,0,0.75)' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}
.accordion-button:not(.collapsed){
  background-color:var(--bs-accordion-active-bg);
  color:var(--bs-accordion-active-color);
}
.accordion-button:not(.collapsed)::after{transform:rotate(180deg)}

.accordion-collapse{border-top:1px solid var(--bs-accordion-border-color)}
.accordion-body{
  padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}
/* ===== Navbar fixes (pour TON header) ===== */

/* Bootstrap: navbar container doit être flex pour aligner logo + menu */
.navbar > .container,
.navbar > .container-fluid{
  display:flex;
  flex-wrap:inherit;
  align-items:center;
  justify-content:space-between;
}

/* La zone collapse doit prendre la place restante */
.navbar-collapse{
  display:flex;
  flex-basis:100%;
  flex-grow:1;
  align-items:center;
}
@media (max-width:992px){
  .navbar > .container,
  .navbar > .container-fluid{
   top: 8px;
  }
}

/* Sur mobile, si pas .show, on cache bien le menu */
.collapse:not(.show){display:none}

/* Desktop (lg+) : la collapse doit être visible et en ligne */
@media (min-width:992px){
  .navbar-expand-lg .navbar-collapse{
    display:flex !important;
    flex-basis:auto;
  }
  .navbar-expand-lg .collapse:not(.show){
    display:flex !important;
  }
}

/* Utilitaire Bootstrap utilisé dans ton HTML */
.mr-auto{margin-right:auto !important;}

/* nav-link utilisé sur <button> : neutraliser look "button" */
button.nav-link{
  background:transparent;
  border:0;
  padding:0;
  cursor:pointer;
  color: var(--bs-accordion-bg);
}
.nav-link{
  display:block;
  padding:.5rem .75rem;
}
