/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

@import "bootstrap";
@import "trix";
@import "actiontext";

/* === POLICES MODERNES (Inter + Poppins via Bunny Fonts) === */
/* Inter pour le corps du texte, Poppins pour les titres */
body {
  font-family: 'Inter', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif;
}

/* Interligne du texte d'intro de la home */
.intro-text {
  line-height: 1.6;
}

 /* GESTION DU CLAVIER VISUEL SUR MOBILE */
 /* Fallback: si 100dvh n’est pas supporté, on garde 100vh */
.min-vh-100dvh {
  min-height: 100vh;
}
@supports (min-height: 100dvh) {
  .min-vh-100dvh {
    min-height: 100dvh;
  }
}

/* === FOND GLOBAL EN DÉGRADÉ CIRCULAIRE === */
body {
  background: radial-gradient(circle, #317ea2 0%, #2a6487 100%);
  min-height: 100vh;

  /* Pour un rendu plein écran et fluide */
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
}

/* === FONDS OPAQUES POUR BLOCS DE CONTENU === */

/* Conteneurs principaux (sections, cartes, etc.) */
.container > .row,
.container .rounded-3,
.container .shadow-lg {
  background-color: #ffffff; /* blanc plein, non transparent */
  border-radius: 1rem;
}

/* Ajuste le padding pour ne pas coller les bords */
.container > .row {
  padding: 2rem;
}

/* inline elements */
.navbar,
footer {
  background-color: inherit; /* conserve leur propre style bootstrap */
  position: relative;
  z-index: 2; /* garantit qu’ils passent au-dessus du fond */
}

/* === Correction Navbar collée en haut === */
body {
  margin-top: 0 !important;
}

nav.navbar.fixed-top {
  margin-top: 0 !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
}

/* Scroll fluide vers les ancres html */
html {
  scroll-behavior: smooth;
}

.btn-scroll-top {
  bottom: 100px; /* distance fixe depuis le bas */
  right: 30px;
}