
:root {
    --primary: #D51559 !important;
    --secondary: #5F656F;
    --light: #F5F5F5;
    --dark: #02245B;
}

.navbar .navbar-brand {
  position: relative;
  height: 77px;
  display: flex;
  align-items: center;
  background: #D51559 !important;
}

/*
.navbar .navbar-brand img.logo-navbar {
    height: 75px !important;
    width: 295px !important;
    object-fit: cover !important;
}
*/


.navbar .navbar-brand img.logo-navbar {
  height: 60px !important;
  width: 242px !important;
  object-fit: cover !important;
}


@media screen and (max-width: 430px) and (max-height: 932px) {
  .navbar .navbar-brand img.logo-navbar {
    width: 242px !important; height: 60px !important; object-fit: cover !important;
  }
}


@media screen and (max-width: 414px) and (max-height: 896px) {
  .navbar .navbar-brand img.logo-navbar {
    width: 230px !important; height: 57px !important; object-fit: cover !important;
  }
}


@media screen and (max-width: 412px) and (max-height: 915px) {
  .navbar .navbar-brand img.logo-navbar {
    width: 226px !important; height: 56px !important; object-fit: cover !important;
  }
}

@media screen and (max-width: 393px) and (max-height: 852px) {
  .navbar .navbar-brand img.logo-navbar {
    width: 210px !important; height: 52px !important; object-fit: cover !important;
  }
}

@media screen and (max-width: 390px) and (max-height: 844px) {
  .navbar .navbar-brand img.logo-navbar {
    width: 206px !important; height: 51px !important; object-fit: cover !important;
  }
}


@media screen and (max-width: 375px) and (max-height: 812px) {
  .navbar .navbar-brand img.logo-navbar {
    width: 190px !important; height: 48px !important; object-fit: cover !important;
  }
}


@media screen and (max-width: 375px) and (max-height: 667px) {
  .navbar .navbar-brand img.logo-navbar {
    width: 180px !important; height: 45px !important; object-fit: cover !important;
  }
}


@media screen and (max-width: 360px) and (max-height: 800px) {
  .navbar .navbar-brand img.logo-navbar {
    width: 160px !important; height: 40px !important; object-fit: cover !important;
  }
}


@media screen and (max-width: 360px) and (max-height: 760px) {
  .navbar .navbar-brand img.logo-navbar {
    width: 137px !important; height: 36px !important; object-fit: cover !important;
  }
}

@media screen and (max-width: 320px) and (max-height: 568px) {
  .navbar .navbar-brand img.logo-navbar {
    width: 120px !important; height: 32px !important; object-fit: cover !important;
  }
}




.btn-primary {
  color: #000 !important;
  background-color: #D51559 !important;
  border-color: #D51559 !important;
}

.colDevis {
	color: #fff !important;
	transition: color 0.3s ease;
}

.colDevis:hover {
    color: #000 !important;
}

.bg-primary {
  background-color: #D51559 !important;
}

.text-primary {
  color: #D51559 !important;
}

.facts {
  background: #2A2C31 !important;
}

.bg-dark {
  background-color: #2A2C31 !important;
}

a {
  color: #D51559 !important;
}


/* Style du conteneur du bouton */
.whatsapp-float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 30px;
    right: 90px;
    background-color: #25d366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 9999; 
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    animation: pulse-green 2s infinite;
}

/* Taille de l'icône SVG */
.whatsapp-icon {
    width: 38px;
    height: 38px;
}


.whatsapp-float:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.4);
    background-color: #20ba5a;
}

/* Animation de pulsation discrète */
@keyframes pulse-green {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

/* Adaptation pour les très petits mobiles (Optionnel) */
@media screen and (max-width: 414px) {
    .whatsapp-float {
        width: 50px;
        height: 50px;
        bottom: 20px;
        right: 20px;
    }
    .whatsapp-icon {
        width: 30px;
        height: 30px;
    }
}


/* Ciblage et design de ton bouton de devis */
.colDevis {
    position: relative;
    border-radius: 50px !important; /* Des bords parfaitement arrondis style pilule */
    padding-left: 25px !important;  /* Un peu plus d'espace à gauche */
    padding-right: 25px !important; /* Un peu plus d'espace à droite */
    font-weight: 600;               /* Donne un côté plus pro au texte */
    animation: pulse-pink 2s infinite;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Effet au survol */
.colDevis:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 15px rgba(213, 21, 89, 0.3);
}

/* Animation de pulsation (adaptée à ton Rose #D51559) */
@keyframes pulse-pink {
    0% {
        box-shadow: 0 0 0 0 rgba(213, 21, 89, 0.7);
    }
    70% {
        box-shadow: 0 0 0 12px rgba(213, 21, 89, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(213, 21, 89, 0);
    }
}

.text-light.btn-link .fa-facebook-f { color: #1877F2; }
.text-light.btn-link .fa-twitter { color: #1DA1F2; }
.text-light.btn-link .fa-linkedin-in { color: #0077B5; }
.text-light.btn-link .fa-instagram { color: #E1306C; }

/* Légère animation au survol quand même */
.text-light.btn-link:hover {
    transform: scale(1.2);
    transition: transform 0.2s ease;
}


.btn-square.rounded-circle:hover {
    background-color: #FFFFFF !important;
    transform: scale(1.1);
}

.btn-square.rounded-circle:has(.fa-twitter):hover i { color: #1DA1F2; }
.btn-square.rounded-circle:has(.fa-facebook-f):hover i { color: #1877F2; }
.btn-square.rounded-circle:has(.fa-youtube):hover i { color: #FF0000; }
.btn-square.rounded-circle:has(.fa-linkedin-in):hover i { color: #0077B5; }


/* Force le conteneur du carrousel à prendre tout l'écran */
.carousel-item {
    position: relative;
    width: 100vw;
    height: 100vh; /* Ajuste à 80vh ou 90vh si tu veux voir le menu au-dessus */
    background-color: #000; /* Fond noir pendant le chargement */
}

/* Force l'image à couvrir toute la zone sans s'écraser */
.carousel-img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recadre l'image proprement pour remplir l'espace */
    object-position: center; /* Centre l'image */
}

/* Optionnel : Assombrit légèrement l'image pour que tes textes blancs restent très lisibles */
.carousel-item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4); /* Voile noir transparent à 40% */
    z-index: 1;
}

/* Remet les textes au-dessus du voile noir */
.carousel-caption {
    z-index: 2;
}

/* Force les boutons Suivant / Précédent à être cliquables et au premier plan */
.carousel-control-prev,
.carousel-control-next {
    z-index: 3 !important; /* Passe au-dessus du caption (z-index: 2) et du voile (z-index: 1) */
}

/* Assure-toi que le conteneur global du carrousel gère bien le plein écran */
.carousel {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

/* Force toutes les images de services à avoir la même hauteur sans se déformer */
.service-main-img {
    width: 100%;
    height: 300px; /* Ajuste cette hauteur selon tes préférences */
    object-fit: cover;
    object-position: center;
}

/* Assure la structure de la carte */
.service-item {
    background: #111; /* Ou la couleur de ton thème si elle saute */
    overflow: hidden;
}

/* Force les boutons cachés par le thème à réapparaître proprement */
.service-item .btn {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    position: relative !important;
}

.navbar-light .navbar-nav .nav-link.active {
    color: #007bff !important; /* Remplace par le code couleur de ton thème */
    font-weight: 600;
    border-bottom: 2px solid #007bff; /* Ajoute une jolie petite ligne sous le menu actif */
}

/* Cible toutes les images du carrousel de projet */
.project-carousel .project-item img {
    height: 500px;       /* Ajustez cette hauteur (ex: 300px) selon vos besoins */
    width: 100%;         /* Force l'image à prendre toute la largeur disponible */
    object-fit: cover;   /* Centre et recadre l'image proprement sans la déformer */
}


.activeST {
  color: #007bff !important;
  font-weight: 600;
  border-bottom: 2px solid #007bff;
}

/* Style personnalisé pour les boutons de pagination */
.paginator .pagination .page-item .page-link {
    border-radius: 4px !important; /* Donne un effet bien encadré et légèrement arrondi */
    margin: 0 2px; /* Espace un peu les boutons pour éviter qu'ils soient collés */
    display: inline-block;
    text-align: center;
    font-weight: 500;
    transition: all 0.3s ease;
}

/* Force la page active à avoir un fond plein */
.paginator .pagination .page-item.active .page-link {
    background-color: var(--bs-primary) !important; /* Utilise la couleur primaire de votre thème */
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}

/* Style pour les boutons désactivés (ex: "préc" quand on est sur la page 1) */
.paginator .pagination .page-item.disabled .page-link {
    color: #6c757d !important;
    background-color: #efefef !important;
    border-color: #dee2e6 !important;
    opacity: 0.6;
}

/* 1. Base du bouton */
.btn-animated-pulse {
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.btn-animated-pulse:hover {
    transform: scale(1.05) !important; /* Grossit légèrement au survol */
}

/* 2. L'animation avec le BON nom (pulse-border) et le forçage (!important) */
.carousel-item.active .btn-animated-pulse {
    /* Le 'animation-delay' permet de laisser l'effet slideInRight du thème se terminer avant (ici 1s) */
    animation: pulse-border 2s infinite !important;
    animation-delay: 1s; 
}

/* 3. Les Keyframes avec la couleur Bootstrap ou une couleur statique */
@keyframes pulse-border {
    0% {
        box-shadow: 0 0 0 0 rgba(13, 110, 253, 0.7); /* Bleu standard Bootstrap, remplacez par votre couleur si besoin */
    }
    70% {
        box-shadow: 0 0 0 15px rgba(13, 110, 253, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(13, 110, 253, 0);
    }
}