@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap');
*{
    margin: 0;
    padding: 0;
}

:root{
  --teal:#007889;
  --teal-dark:#016b79;
  --yellow:#f9b429;
  --yellow-dark:#e09b00;
}

.navbar-nav .nav-link {
  font-size: 13px; /* taille réduite */
  font-weight:600;
  padding-top: 8px;
  padding-bottom: 8px;
  font-family: 'Manrope', sans-serif;
  line-height: 100%;
}

.navbar-nav .nav-link.color-yellow {
  color: #f6c71e !important;
}
.btn.btn-danger {
  font-size: 0.85rem;
  padding: 6px 14px;
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
}
.btn-danger{
  background-color: #ff0909;

}


@media (max-width: 768px) {
  .navbar-logo {
    height: 45px;       /* reste raisonnable en mobile */
  }
}
.navbar-logo {
  height: 90px;         /* augmenté depuis 50px */
  max-width: 100%;
  object-fit: contain;
}

/* MENU HORIZONTAL SUR MOBILE */
@media (max-width: 991.98px) {
  .navbar-collapse {
    position: fixed;
    top: 0;
    right: -100%;
    height: 100%;
    width: 250px; /* largeur du menu */
    background-color: white;
    transition: right 0.3s ease-in-out;
    padding-top: 60px; /* espace pour éviter de coller au bouton */
    box-shadow: -2px 0 5px rgba(0,0,0,0.1);
    z-index: 1050;
  }

  /* Quand le menu est ouvert */
  .navbar-collapse.show {
    right: 0;
  }

  /* Bouton de fermeture */
  .btn-close {
    background-color: transparent;
    border: none;
    font-size: 1.5rem;
  }
}

.coaching-section .hero-container {
    position: relative;
    border-radius: 15px;
    overflow: hidden;
    margin: 20px;
    margin-top: 150px;
  }
  
  .hero-img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 15px;
  }
  
  .hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.696) 30%, rgba(0, 0, 0, 0) 70%);
    color: #fff;
    padding: 20px;
  }
  
  .hero-overlay h1 {
    font-size: 2rem;
  }
  
  .hero-overlay p {
    font-size: 1rem;
    margin-top: 10px;
  }
  
  .btn-dark {
    background-color: #000;
    border: none;
    padding: 10px 20px;
    border-radius: 30px;
  }
  .move {
    padding-top: 250px;
  
  }
  
  @media (max-width: 768px) {
    .move {
      padding-top: 40px;
      padding-bottom: 40px;
    }
  }
  
  .service-card {
    border-radius: 15px;
    transition: transform 0.3s ease-in-out;
  }
  .service-card:hover {
    transform: translateY(-5px);
  }
  
  .icon-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: white;
    margin: 0 auto;
    font-size: 24px;
  }
  
  .bg-blue {
    background-color: #f0f8fa;
  }
  
  .bg-red {
    background-color: #fdecec;
  }
  
  .bg-yellow {
    background-color:#FBB01C38;
  }
  
  .bg-gray {
    background-color: #f4f4f4;
  }
  
  
  .icon i {
    color: #333;
  }
  
  .bg-icon-blue {
    background-color: #007c91;
  }
  
  .bg-icon-red {
    background-color: #e60000;
    
  }
  
  .bg-icon-yellow {
    background-color: #f5b300;
  }
  
  .bg-icon-black {
    background-color: #000;
  }

  .cta-banner{
    min-height: 240px;
    background: var(--teal);
    color:#fff;
    position:relative;
    overflow:hidden;
    padding:4rem 0;
    border-radius: 0 0 16px 16px;
    
  }
  
  /* petites formes décoratives */
  .cta-banner::before,
  .cta-banner::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    background: var(--teal-dark);
    border-radius:50%;
    opacity:.25;
  }
  .cta-banner::before{
    bottom:-60px;
    left:15%;
  }
  .cta-banner::after{
    top:-80px;
    right:10%;
    width:300px;
    height:300px;
    opacity:.18;
  }
  
  /* Titre */
  .cta-title{
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    font-size: clamp(1.5rem, 4vw, 2.8rem);
    margin:0;
  }
  
  /* Bouton */
  .btn-cta{
    background: var(--yellow);
    color:#000;
    padding:.9rem 2.2rem;
    border-radius: 14px;
    box-shadow: 0 4px 12px rgba(0,0,0,.15);
    transition: all .2s ease;
  }
  .btn-cta:hover{
    background: var(--yellow-dark);
    color:#000;
    transform: translateY(-2px);
  }
  
  /* Responsive (optionnel) */
  @media (max-width:576px){
    .cta-banner{
      padding:3rem 0;
      border-radius:0;
    }
  }

  .footer-custom {
    background-color: #ffffff;
  }
  
  .footer-logo {
    max-width: 100px;
  }
  
  .footer-bottom {
    border-top: 1px solid #e0e0e0;
  }
  
  .footer-custom h6 {
    font-size: 0.9rem;
    color: #333;
  }
  
  .footer-custom ul li {
    margin-bottom: 0.5rem;
  }
  
  .footer-custom input::placeholder {
    color: #999999;
    font-size: 0.9rem;
  }
  
  .icone{
  
    color: #000;
  }
  
  .text-muted{
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
  }

  /* 📱 RESPONSIVE FIXES POUR LA PAGE COACHING */

@media (max-width: 768px) {

  /* Navbar */
  .navbar-nav {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  @media (max-width: 991.98px) {
    .navbar-collapse {
      position: fixed;
      top: 0;
      right: -100%;
      height: 100%;
      width: 250px;
      background-color: white;
      transition: right 0.3s ease-in-out;
      padding-top: 20px;
      box-shadow: -2px 0 5px rgba(0,0,0,0.1);
      z-index: 1050;
    }
  
    .navbar-collapse.show {
      right: 0;
    }
  
    /* Bouton de fermeture */
    .btn-close {
      background-color: transparent;
      border: none;
      font-size: 1.5rem;
    }
  }
  

  .navbar-nav .nav-link {
    color: #000 !important;
    padding: 10px 0;
    text-align: left;
    font-size: 14px;
    border-bottom: 1px solid #eee;
  }

  .navbar-nav .nav-link:last-child {
    border-bottom: none;
  }

  .navbar-nav .btn-danger {
    width: 100%;
    margin-top: 1rem;
  }

  /* Hero section */
  .move {
    padding-top: 80px;
  }

  /* ✅ HERO Responsive */
.hero-container {
  position: relative;
  width: 100%;
}

.hero-img {
  width: 100%;
  height: auto;
  display: block;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 2rem;
  background: rgba(0, 0, 0, 0.3); /* léger fondu noir pour lisibilité */
}

.hero-overlay h1,
.hero-overlay p {
  color: #fff;
  margin-bottom: 1rem;
}

/* 📱 Mobile */
@media (max-width: 768px) {
  .hero-overlay {
    padding: 1.5rem 1rem;
  }

  .hero-overlay h1 {
    font-size: 1.8rem !important;
    line-height: 1.3;
    word-break: break-word;
    white-space: normal;
  }

  .hero-overlay p {
    font-size: 1rem !important;
    line-height: 1.4;
  }

  .hero-overlay .btn {
    font-size: 1rem !important;
    padding: 0.6rem 1rem;
    width: 100%;
    max-width: 300px;
  }
}

/* 📱 Très petit écran */
@media (max-width: 480px) {
  .hero-overlay h1 {
    font-size: 1.4rem !important;
  }

  .hero-overlay p {
    font-size: 0.9rem !important;
  }
}


  /* Services section */
  .services-section h2 {
    font-size: 1.8rem;
    text-align: center;
  }

  .services-section p {
    font-size: 1rem;
    text-align: center;
    padding: 0 10px;
  }

  .services-section .col-md-4 {
    text-align: center;
  }

  .service-card {
    text-align: center;
  }

  .icon-circle {
    margin: 0 auto;
  }

  /* CTA */
  .cta-banner {
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 0 !important;
    padding: 3rem 1rem;
  }

  .cta-title {
    font-size: 1.6rem;
  }

  .btn-cta {
    width: 100%;
    font-size: 1rem;
  }

  /* Footer newsletter */
  .footer-custom form {
    flex-direction: column;
  }

  .footer-custom input {
    width: 100%;
    margin-bottom: 10px;
  }

  .footer-custom button {
    width: 100%;
  }

  /* Footer bottom */
  .footer-bottom .container {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }

  .footer-bottom p,
  .footer-bottom .icone {
    font-size: 14px;
  }
}
