body {
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Block Berthold', sans-serif;
    text-transform: uppercase;
    font-weight: 500;
    color: rgb(51, 51, 51);
}

h2 {
    font-family: 'Kabel', sans-serif;
}

body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400; /* Regular */
}

.accordion-item,
.accordion-body {
  border: 0 !important;
  background-color: #fffaeb!important;
}

.accordion-button,
.accordion-button:focus,
.accordion-button:active,
.accordion-button:not(.collapsed) {
    background-color: #fffaeb!important;
    color: #000 !important;
    box-shadow: none !important;
    outline: none !important;
}

.accordion-button::after {
    box-shadow: none !important;
    background-color: #fffaeb!important;
}

.card-fixed {
  min-height: 400px; /* ajuste selon ton contenu */
}

section {
  margin-top: 100px !important;
}

.icon-black {
    filter: brightness(0);
}

.container {
  max-width: 1500px !important;
}

/* === Navbar === */
nav.navbar {
  border-radius: 0.625rem;
}

@keyframes nav-contract {
  0%, 33% {
    margin-left: calc((100% - 100vw) / 2);
    margin-right: calc((100% - 100vw) / 2);
    border-radius: 0;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }
  100% {
    margin-left: 0;
    margin-right: 0;
    border-radius: 0.625rem;
  }
}

@keyframes nav-fade {
  from { opacity: 0; }
}

.anim-fade {
  opacity: 0;
  transition: opacity 1s ease;
}
.anim-fade.anim-visible {
  opacity: 1;
}

/* Grand écran + container : 0.5s full width puis contraction */
@media (min-width: 992px) {
  .container > nav.navbar {
    animation: nav-contract 1.5s linear both;
  }
}

/* Petit écran : pas de rounded, fondu simple */
@media (max-width: 991.98px) {
  nav.navbar {
    border-radius: 0;
    animation: nav-fade 0.5s ease both;
  }
}

/* Navbar full width permanente : pas de rounded, pas de margin-top, contenu centré, fondu simple */
div:not(.container) > nav.navbar {
  border-radius: 0;
  margin-top: 0 !important;
  padding-left: max(1.5rem, calc((100vw - 1500px) / 2)) !important;
  padding-right: max(1.5rem, calc((100vw - 1500px) / 2)) !important;
  animation: nav-fade 0.5s ease both;
}

.modal-body-padded {
  padding-left: 1rem;
  padding-right: 1rem;
}
.modal-logo {
  width: 50%;
}
.mode-arrow { width: 24px; height: 24px; }

/* === Hover boutons : sweep sombre gauche → droite + agrandissement padding === */
.btn {
  background-image: linear-gradient(rgba(0,0,0,0.13), rgba(0,0,0,0.13));
  background-repeat: no-repeat;
  background-size: 0% 100%;
  background-position: left;
  transition: background-size 0.2s ease,
              padding-left 0.3s ease,
              padding-right 0.3s ease;
}
.btn:hover {
  background-size: 100% 100%;
  padding-left: calc(var(--bs-btn-padding-x, 0.75rem) + 0.4rem);
  padding-right: calc(var(--bs-btn-padding-x, 0.75rem) + 0.4rem);
}
@media (min-width: 992px) {
  .modal-body-padded {
    padding-left: 9rem;
    padding-right: 9rem;
  }
  .modal-logo {
    width: 25%;
  }
  .mode-arrow { width: 36px; height: 36px; }
}
