/* Custom Style - Background Blanc et Couleurs Bleues */

/* Variables de couleurs */
:root {
  --primary-blue: #1e3a8a;
  --secondary-blue: #3b82f6;
  --light-blue: #dbeafe;
  --dark-blue: #1e40af;
  --white: #ffffff;
  --light-gray: #f8fafc;
  --dark-text: #1f2937;
  --text-white: #ffffff;
}

/* Background général */
body {
  background-color: var(--white) !important;
  color: var(--dark-text) !important;
}

/* Navigation */
.ftco-navbar-light {
  background-color: var(--white) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.ftco-navbar-light .navbar-brand {
  color: var(--primary-blue) !important;
  font-weight: bold;
}

.ftco-navbar-light .navbar-brand:hover,
.ftco-navbar-light .navbar-brand:focus {
  color: var(--primary-blue) !important;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
  color: var(--dark-text) !important;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link span {
  color: var(--dark-text) !important;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover,
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:focus {
  color: var(--primary-blue) !important;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover span,
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:focus span {
  color: var(--primary-blue) !important;
}

/* Lignes de soulignement - Spécificité maximale */
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link span:before,
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover span:before,
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link:focus span:before,
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link.active span:before {
  background-color: var(--primary-blue) !important;
}

.ftco-navbar-light .navbar-toggler {
  color: var(--primary-blue) !important;
  border-color: var(--primary-blue) !important;
}

/* Navigation fixée lors du défilement */
.ftco-navbar-light.scrolled {
  background-color: var(--white) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.ftco-navbar-light.scrolled .navbar-brand {
  color: var(--primary-blue) !important;
}

.ftco-navbar-light.scrolled .navbar-brand:hover,
.ftco-navbar-light.scrolled .navbar-brand:focus {
  color: var(--primary-blue) !important;
}

.ftco-navbar-light.scrolled .nav-item > .nav-link {
  color: var(--dark-text) !important;
}

.ftco-navbar-light.scrolled .nav-item > .nav-link span {
  color: var(--dark-text) !important;
}

.ftco-navbar-light.scrolled .nav-item > .nav-link:hover,
.ftco-navbar-light.scrolled .nav-item > .nav-link:focus {
  color: var(--primary-blue) !important;
}

.ftco-navbar-light.scrolled .nav-item > .nav-link:hover span,
.ftco-navbar-light.scrolled .nav-item > .nav-link:focus span {
  color: var(--primary-blue) !important;
}

/* Lignes de soulignement fixées - Spécificité maximale */
.ftco-navbar-light.scrolled .navbar-nav > .nav-item > .nav-link span:before,
.ftco-navbar-light.scrolled .navbar-nav > .nav-item > .nav-link:hover span:before,
.ftco-navbar-light.scrolled .navbar-nav > .nav-item > .nav-link:focus span:before,
.ftco-navbar-light.scrolled .navbar-nav > .nav-item > .nav-link.active span:before {
  background-color: var(--primary-blue) !important;
}

.ftco-navbar-light.scrolled .nav-item.active > a {
  color: var(--primary-blue) !important;
}

.ftco-navbar-light.scrolled .nav-item.active > a span {
  color: var(--primary-blue) !important;
}

.ftco-navbar-light.scrolled .navbar-toggler {
  color: var(--primary-blue) !important;
  border-color: var(--primary-blue) !important;
}

/* Section Hero */
.hero {
  background-color: var(--white) !important;
}

.slider-item {
  background-color: var(--white) !important;
}

.slider-item .overlay {
  background: var(--white) !important;
  opacity: 0.1 !important;
}

.slider-text h1 {
  color: var(--dark-text) !important;
}

.slider-text h1 span {
  color: var(--primary-blue) !important;
  font-weight: bold;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.slider-text h2 {
  color: var(--dark-text) !important;
}

.slider-text .subheading {
  color: var(--primary-blue) !important;
}

.slider-text p {
  color: var(--dark-text) !important;
}

/* Boutons - Spécificité renforcée */
.btn.btn-primary {
  background-color: var(--primary-blue) !important;
  border-color: var(--primary-blue) !important;
  color: var(--text-white) !important;
  transition: all 0.3s ease !important;
  font-weight: 600 !important;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus {
  background-color: var(--dark-blue) !important;
  border-color: var(--dark-blue) !important;
  color: var(--text-white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 15px rgba(30, 58, 138, 0.3) !important;
}

.btn.btn-white {
  background-color: var(--text-white) !important;
  border-color: var(--text-white) !important;
  color: var(--primary-blue) !important;
  transition: all 0.3s ease !important;
  font-weight: 600 !important;
}

.btn.btn-white:hover,
.btn.btn-white:focus {
  background-color: var(--light-blue) !important;
  border-color: var(--light-blue) !important;
  color: var(--primary-blue) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 15px rgba(30, 58, 138, 0.2) !important;
}

.btn.btn-white.btn-outline-white {
  background-color: rgba(255, 255, 255, 0.9) !important;
  border-color: var(--primary-blue) !important;
  color: var(--primary-blue) !important;
  transition: all 0.3s ease !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.8) !important;
}

.btn.btn-white.btn-outline-white:hover,
.btn.btn-white.btn-outline-white:focus {
  background-color: var(--primary-blue) !important;
  color: var(--text-white) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 15px rgba(30, 58, 138, 0.3) !important;
  text-shadow: none !important;
}

/* Sections */
.ftco-section {
  padding: 7em 0;
  position: relative;
}
@media (max-width: 767.98px) {
  .ftco-section {
    padding: 3em 0;
  }
}

.ftco-less-padding {
  padding: 3em 0 !important; /* Réduire l'espacement */
}

@media (max-width: 767.98px) {
  .ftco-less-padding {
    padding: 1.5em 0 !important; /* Encore plus réduit sur mobile */
  }
}

.ftco-about {
  background-color: var(--white) !important;
}

.ftco-about .img-about .overlay {
  background: linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%) !important;
}

/* Correction de l'étirement de l'image about */
.ftco-about .img-about .img {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  object-fit: cover !important;
  max-height: 500px !important;
  min-height: 400px !important;
  width: 100% !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

/* Titres */
.heading-section h1.big {
  color: var(--primary-blue) !important;
}

.heading-section h2 {
  color: var(--primary-blue) !important;
}

.heading-section h2.mb-4 {
  color: var(--primary-blue) !important;
}

.heading-section .subheading {
  color: var(--primary-blue) !important;
}

/* Titres de section généraux */
h2.mb-4 {
  color: var(--primary-blue) !important;
  font-weight: 600 !important;
}

/* Titres section Mes qualités */
#qualities-section h1,
#qualities-section h2 {
  color: #1e3a8a !important;
  font-weight: 700 !important;
}
#qualities-section h3.heading {
  color: #222 !important;
  font-weight: 700 !important;
}

/* Cartes et éléments */
.resume-wrap {
  background-color: var(--white) !important;
  border-left: 4px solid var(--primary-blue) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.resume-wrap .date {
  color: var(--primary-blue) !important;
  font-weight: bold;
}

.resume-wrap h2 {
  color: var(--dark-text) !important;
}

.resume-wrap .position {
  color: var(--secondary-blue) !important;
}

/* Services */
.services-1 {
  background-color: var(--white) !important;
  border: 1px solid var(--light-blue) !important;
  transition: all 0.3s ease;
}

.services-1:hover {
  background-color: var(--light-blue) !important;
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(30, 58, 138, 0.15);
}

.services-1 .icon {
  background-color: var(--primary-blue) !important;
}

.services-1 .icon i {
  color: var(--text-white) !important;
}

.services-1 .desc h3 {
  color: var(--dark-text) !important;
}

.services-1:hover .desc h3 {
  color: var(--primary-blue) !important;
}

/* Compétences */
.progress-wrap h3 {
  color: var(--dark-text) !important;
}

.progress {
  background-color: #e5e9f2 !important;
  height: 28px !important;
  border-radius: 18px !important;
  box-shadow: 0 2px 8px rgba(30,58,138,0.07);
}

.progress-bar {
  background: linear-gradient(90deg, #1e3a8a 60%, #3b82f6 100%) !important;
  border-radius: 18px !important;
  display: flex;
  align-items: center;
  font-size: 1.2rem !important;
  font-weight: bold !important;
  position: relative;
}

.progress-bar span {
  color: #fff !important;
  font-size: 1.1rem !important;
  font-weight: bold !important;
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  text-shadow: 0 1px 2px rgba(30,58,138,0.15);
}

/* Projets */
.project {
  background-color: var(--white) !important;
}

.project .overlay {
  background: linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%) !important;
}

.project .text h3 a {
  color: var(--text-white) !important;
}

.project .text span {
  color: var(--light-blue) !important;
}

/* Contact */
.contact-section {
  background-color: var(--white) !important;
}

.contact-section .box {
  background-color: var(--white) !important;
  border: 1px solid var(--light-blue) !important;
}

.contact-section .box .icon {
  background-color: var(--primary-blue) !important;
}

.contact-section .box .icon span {
  color: var(--text-white) !important;
}

.contact-section .box h3 {
  color: var(--dark-text) !important;
}

.contact-section .contact-form {
  background-color: var(--light-gray) !important;
}

/* Footer */
.ftco-footer {
  background-color: var(--primary-blue) !important;
  color: var(--text-white) !important;
}

.ftco-footer h2 {
  color: var(--text-white) !important;
}

.ftco-footer p {
  color: var(--light-blue) !important;
}

.ftco-footer a {
  color: var(--light-blue) !important;
}

.ftco-footer a:hover {
  color: var(--text-white) !important;
}

.ftco-footer-social li a {
  background-color: var(--secondary-blue) !important;
  color: var(--text-white) !important;
}

.ftco-footer-social li a:hover {
  background-color: var(--dark-blue) !important;
}

/* Formulaires */
.form-control {
  background-color: var(--white) !important;
  border: 1px solid var(--light-blue) !important;
  color: var(--dark-text) !important;
}

.form-control:focus {
  border-color: var(--primary-blue) !important;
  box-shadow: 0 0 0 0.2rem rgba(30, 58, 138, 0.25) !important;
}

/* Liens */
a {
  color: var(--primary-blue) !important;
}

a:hover {
  color: var(--dark-blue) !important;
}

/* Textes spéciaux */
.text-primary {
  color: var(--primary-blue) !important;
}

.bg-primary {
  background-color: var(--primary-blue) !important;
}

/* Responsive */
@media (max-width: 991.98px) {
  .ftco-navbar-light .navbar-nav > .nav-item > .nav-link {
    color: var(--dark-text) !important;
  }
  
  .ftco-navbar-light .navbar-nav > .nav-item > .nav-link:hover,
  .ftco-navbar-light .navbar-nav > .nav-item > .nav-link:focus {
    color: var(--primary-blue) !important;
  }
  
  .ftco-navbar-light .navbar-nav > .nav-item.active > a {
    color: var(--primary-blue) !important;
  }
  
  .ftco-navbar-light.scrolled .navbar-nav > .nav-item > .nav-link {
    color: var(--dark-text) !important;
  }
  
  .ftco-navbar-light.scrolled .navbar-nav > .nav-item > .nav-link:hover,
  .ftco-navbar-light.scrolled .navbar-nav > .nav-item > .nav-link:focus {
    color: var(--primary-blue) !important;
  }
  
  .ftco-navbar-light.scrolled .navbar-nav > .nav-item.active > a {
    color: var(--primary-blue) !important;
  }
}

/* Animations et transitions */
.ftco-animate {
  transition: all 0.3s ease;
}

/* Effets de survol */
.services-1:hover,
.resume-wrap:hover,
.project:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(30, 58, 138, 0.1);
} 