/* Couleurs principales */
:root {
    --color1: #CFA1A1; /* Rose saumon */
    --color2: #1E201F; /* Noir */
    --font1:"Playfair Display", serif;
    --font2:'Roboto', sans-serif;
    background-color: #fff;
}

body {
    margin: 0;
    font-family: var(--font2);
    background-color: #f2f2f2;
    font-family: var(--font1);
}


/* Stylisation de la navbar */


.navbar-brand{
    font-family: var(--font1) ;
    text-transform: uppercase;
    color: var(--color1);
}


.navbar-brand img{
    width: 45px;
    height: 45px;
    bottom: 2em;
    margin-right: 1rem;
    border-radius: 100px;
}

@media (max-width: 576px) {
    .navbar-brand{
        font-size: 0.75rem;
    }
    .navbar-brand img{
        width: 30px;
        height: 30px;
        bottom: 2em;
        margin-right: 1rem;
        border-radius: 100px;
    }

    .navbar-toggler{
        font-size: 1rem;
    }

    
    
}
.navbar-nav .nav-link {
    color: var(--color1);
    font-family: var(--font1);
    text-transform: uppercase;

}

/* Ajoute une transition pour la barre de navigation */
.navbar {
    background-color: transparent;
    transition: background-color 0.5s ease; /* Transition de 0.5 seconde */
}

/* Transition pour les liens */
.nav-link {
    color: var(--color2);  /* Liens noirs lorsque la navbar est transparente */
    transition: color 0.5s ease; /* Transition de 0.5 seconde pour la couleur des liens */
}

/* Style pour la navbar opaque */
.navbar-opaque {
    background-color: var(--color2); /* Fond opaque avec la couleur définie */
}

/* Couleur des liens lorsque la navbar est opaque */
.nav-link-opaque {
    color: var(--color2); /* Liens noirs */
    background-color: var(--color1);
}

/* Changement de couleur pour les liens et le titre quand la navbar devient opaque */
.navbar-opaque .nav-link{
    color: var(--color2); /* Liens et titre deviennent noirs */
}

.navbar-opaque .navbar-brand {
    color: var(--color1);
}


/* Effet hover sur les liens de la barre de navigation */
.navbar-nav .nav-link:hover {
    color: #F1F1F1 ; /* Couleur de survol (hover) */
}

.navbar-brand:hover{
    color: #F1F1F1; /* Couleur de survol (hover) */
}

.navbar-toggler{
    background-color: var(--color1);
}



/* Section d'accueil avec le background "A | D" */
.hero {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background-color: var(--color2);
}

.hero-content-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr; /* 3 colonnes */
    grid-template-rows: auto auto auto auto; /* 4 lignes */
    align-items: center;
    justify-items: center;
    gap: 10px;
    width: 100%;
}

/* Ligne 1 */
.lettre-A {
    grid-column: 1; /* Colonne 1 de la ligne 1 */
    font-size: 10rem;
    text-align: center;
    color: var(--color1);
    align-items: flex-end;
}

.hero-content-grid > .lettre-A {
    justify-self: end;
}

.separator-container {
    grid-column: 2; /* Colonne 2 de la ligne 1 */
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 50px;
}

.separator-vertical {
    width: 2px;
    height: 8rem; /* S'assure que le séparateur occupe toute la hauteur */
    background-color: var(--color1);
}

/* Nom court (D) */
.lettre-B {
    grid-column: 3; /* Colonne 3 de la ligne 1 */
    font-size: 10rem;
    text-align: center;
    color: var(--color1);
}

.hero-content-grid > .lettre-B {
    justify-self: start;
}

/* Ligne 2 */
.first-name {
    grid-column: 1; /* Colonne 1 de la ligne 2 */
    font-size: 2rem;
    color: var(--color1);
    text-align: center;
    text-transform: uppercase;
}
.hero-content-grid > .first-name {
    justify-self: end;
}

.dot {
    grid-column: 2; /* Colonne 2 de la ligne 2 */
    display: flex;
    color: var(--color1);
    justify-content: center;
    align-items: center;
}

.dot i {
    font-size: 12px; /* Ajuster la taille du dot si nécessaire */
}

.last-name {
    grid-column: 3; /* Colonne 3 de la ligne 2 */
    font-size: 2rem;
    color: var(--color1);
    text-align: center;
    text-transform: uppercase;
}

.hero-content-grid > .last-name {
    justify-self: start;
}

/* Ligne 3 : Trait horizontal */
.underline {
    grid-column: 1 / span 3; /* Prend toute la largeur des 3 colonnes */
    width: 100%;
    height: 2px;
    background-color: var(--color1);
    grid-row: 3;
}


/* Ligne 4 */
.extra-info-logo {
    grid-column: 2; /* Colonne 2 de la ligne 4 */
    display: flex;
    justify-content: center;
    grid-row: 6;
}

.extra-info-logo img {
    width: 100px;
    height: 100px;
    object-fit: cover;
}
/*annimation*/
/* Effet d'apparition générale */
@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(20px); /* Déplace vers le bas au début */
    }
    100% {
        opacity: 1;
        transform: translateY(0); /* Revient à sa position initiale */
    }
}


/* Apparition spécifique du "A" et "D" avec légère échelle */
@keyframes fadeInScale {
    0% {
        opacity: 0;
        transform: scale(0.8) translateY(20px); /* Réduction légère + décalé en bas */
    }
    100% {
        opacity: 1;
        transform: scale(1) translateY(0); /* Taille normale et position normale */
    }
}



/* Animation de la séparation verticale */
@keyframes separatorGrow {
    0% {
        opacity: 0;
        height: 0;
    }
    100% {
        opacity: 1;
        height: 8rem; /* Taille originale */
    }
}

/* Animation de la séparation verticale */
@keyframes separatorGrow700 {
    0% {
        opacity: 0;
        height: 0;
    }
    100% {
        opacity: 1;
        height: 5rem; /* Taille originale */
    }
}

/* Animation de la séparation verticale */
@keyframes separatorGrow500 {
    0% {
        opacity: 0;
        height: 0;
    }
    100% {
        opacity: 1;
        height: 3rem; /* Taille originale */
    }
}





/* Animation pour le "A" et "D" */
.lettre-A{
    animation: fadeInScale 2s ease-out forwards;
}

.lettre-B{
    animation: fadeInScale 2s ease-out forwards;
}

.first-name{
    font-size: 3rem;
    animation: fadeIn 2s ease-out forwards;
}

.last-name{
    font-size: 3rem;
    animation: fadeIn 2s ease-out forwards;
}

.separator-vertical {
    animation: separatorGrow 3s ease-out forwards;
   
}

.underline {
    animation: underlineGrow 5s ease-out forwards;

}



/* Animation du trait underline avec largeur croissante */
@keyframes underlineGrow {
    0% {
        opacity: 0;
        width: 0;
    }
    100% {
        opacity: 1;
        width: 70%; /* Taille originale du trait */
    }
}



/* Animation pour l'image du logo */
.extra-info-logo img {
    width: 150px;
    height: 150px;  
    border-radius: 30px;
    opacity: 0; /* Départ transparent */
    animation: fadeInLogo 3s ease-out forwards;
    animation-delay: 1.5s; /* Apparaît après les autres éléments */
}

/* Nouvel effet d'apparition pour le logo */
@keyframes fadeInLogo {
    0% {
        opacity: 0;
        transform: scale(0.8); /* Réduit légèrement sans toucher au positionnement */
    }
    100% {
        opacity: 1;
        transform: scale(1); /* Échelle normale, pas de changement de position */
    }
}




/* Conteneur pour le trait de séparation et le point */




.dot i {
    font-size: 1.5rem;
}


/* Stylisation du trait sous Aurélie • Donizeau */
.underline {
    width: 70%; /* Ajuste la largeur pour mieux centrer le trait */
    height: 4px;
    background-color: var(--color1); /* Utilisation de la couleur saumon */
    border-radius: 10px; /* Légèrement arrondi */
   
}


@media (max-width: 768px) {
    .hero {
      padding: 10px;
    }
  
    .hero-content {
      flex-direction: row; /* Garder la même disposition en ligne */
    }
  
    .lettre-A {
      font-size: 7rem;
    }
    .lettre-B {
        font-size:7rem;
      }
      
      
    .separator-vertical {
        width: 2px;
        height: 5rem;
        animation: separatorGrow700 3s ease-out forwards; /* S'assure que le séparateur occupe toute la hauteur */
        background-color: var(--color1);
    }

    
    .first-name {
        font-size: 2rem;
    }
    .last-name {
        font-size: 2rem;
    }
    
    .extra-info-logo img{
        width: 100px;
        height: 100px;


    }
  }
  
  /* Media queries pour les écrans de moins de 576px */
  @media (max-width: 576px) {
    .hero-content {
      flex-direction: row; /* Toujours en ligne */

    }
  
    .lettre-A {
        font-size: 4rem;
      }
  
      .lettre-B {
        font-size: 4rem;
      }
  
    .separator-container{
      height: 2rem;
    }
    .separator-vertical {
    height: 2rem;
    animation: separatorGrow500 3s ease-out forwards;
  
    }

    .first-name {
        font-size: 1rem;

    }
    .last-name {
        font-size: 1rem;
    }

    .extra-info-logo img{
        width: 75px;
        height: 75px;
    }

   
    
  
    .dot i{
      font-size: 20px;
    }
  }




/* Sections générales */
section {
    padding: 2rem;
    text-align: center;
}

.titre-principal {
    font-family: var(--font1);
    text-transform: uppercase;
    color: var(--color1);
    

}

.services {
    background-color: var(--color2);
    color: var(--color1);
}

.services img{
    border-radius: 100px;
    height: 45px;
    width: 45px;
}

.services h2 {
    margin-bottom: 1.5rem;
}

@media (max-width: 576px) {
    .titre-principal h1{
       font-size: 1rem;
    }

    .slogan h3{
        font-size: 0.75rem;
    }  
}

/* Service Cards */
.service-card {
    border-radius: 10px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background-color: #ffffff; /* Blanc pour contraster avec le fond */
}

.service-card:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

/* Card Title */
.card-title {
    color: var(--color1);
    font-size: 1.25rem;
    font-weight: 600;
    
}

/* Card Text */
.card-text {
    font-size: 1rem;
    color: var(--color1);

}

/* Button Style */
.btn-primary {
    background-color: var(--color1); /* Fond gris sombre */
    color: var(--color2); /* Texte couleur saumoné */
    border: none;
    padding: 10px 20px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Button Hover */
.btn-primary:hover {
    background-color: #23272b; /* Gris plus foncé */
    color: var(--color1); /* Saumoné plus clair au survol */
}

button:active, button:focus, a:active, a:focus {
    background-color: #23272b !important; /* Mets ici la couleur de fond voulue */
    color: var(--color1);
    outline: none !important;
    box-shadow: none !important;
}

/* Center buttons inside cards */
.text-center {
    text-align: center;
}

/* Set the button at the bottom of the card */
.mt-auto {
    margin-top: auto;
}

/* Modale Header */
.modal-header {
    background-color: var(--color2);
    color: var(--color1);
    justify-content: center; /* Centre le contenu de l'en-tête, y compris le titre */
}

#modalPrecomptabiliteLabel{
    font-size: 1.7rem;
    text-transform: uppercase;
    font-weight: 500;
}

#modalTableauBordLabel{
    font-size: 1.7rem;
    text-transform: uppercase;
    font-weight: 500;
}
#modalRelationClientLabel{
    font-size: 1.7rem;
    text-transform: uppercase;
    font-weight: 500;
}

/* Supprime le bouton "Close" du centrage */
.modal-header .btn-close {
    position: absolute;
    right: 1.5rem;
    top: 1.5rem;
    background-color: var(--color1);
}

.modal-title {
    text-align: center;
    font-size: 1.75rem; /* Légèrement plus grand pour plus d'impact */
    color: var(--color1); /* Couleur du titre modale */
}

    

.modal-body {
    font-size: 1rem;
    text-align: left;
}


@media (max-width: 1000px) {
  
    #modalPrecomptabiliteLabel{
        font-size: 1.3rem;
        text-transform: uppercase;
        font-weight: 500;
    }

    #modalTableauBordLabel{
        font-size: 1.3rem;
        text-transform: uppercase;
        font-weight: 500;
    }
    #modalRelationClientLabel{
        font-size: 1.3rem;
        text-transform: uppercase;
        font-weight: 500;
    }


    .modal-title {
        text-align: center;
        font-size: 1.3rem; /* Légèrement plus grand pour plus d'impact */
        color: var(--color1); /* Couleur du titre modale */
    }

}

/* Style pour les images circulaires dans les cartes */
.titre-service img{
    border-radius: 100px;
    height: 45px;
    width: 45px;
    margin-bottom: 10px;
}

.service-card i {
    font-size: 20px;
    object-fit: cover; 
    margin-right: 20px; /* Espacement entre l'image et le texte */
}

/* Style pour les listes dans les cartes */
.service-card ul {
    padding-left: 0;
    list-style: none;
    text-align: left;
}

/* Liste dans les cartes : ajouter plus d'espace entre les éléments de liste */
.service-card li {
    display: flex;
    align-items: center;
    margin:10px 0; /* Augmentation de l'espace entre les éléments de la liste */
}

.service-card li p {
    margin: 0;
    color: var(--color1); /* Couleur saumon pour le texte des listes */
}


/* Stylisation des cartes explicatives */
.slogan {
    font-family: var(--font1);
    font-style: italic;
    color: var(--color1);
}
.services-cards .card {
    border: none; /* Retire la bordure par défaut */
    background-color: var(--color2); /* Fond noir pour les cartes */
    color: var(--color1); /* Texte de couleur saumon */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
    transition: transform 0.3s ease; /* Ajoute une transition pour l'effet hover */
}

.services-cards .card:hover {
    transform: scale(1.05); /* Agrandissement léger au survol */
}

.services-cards .card-title {
    font-family: var(--font1); /* Police personnalisée pour les titres */
    font-weight: bold;
    text-transform: uppercase;
}

.services-cards .card-text {
    font-family: var(--font2); /* Police différente pour les descriptions */
    text-align: left;
}




/* ABOUT*/
.about {
    background-color: var(--color2);
    width: 100%;
}

.titre-about img{
    border-radius: 100px;
    height: 45px;
    width: 45px;
    margin-bottom: 10px;
}

.about h2{
    color: var(--color1);
    font-family: var(--font1);
    text-transform: uppercase;
}

.about-text{
    color: var(--color2);
    text-align: justify;
    padding: 2rem;
    background-color: var(--color1);
    width: 80%;
    margin: 0 auto;
    border-radius: 3px;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.about-text:hover{
    transform: scale(1.05);
    transition: 1s ease-in-out;
}

@media (max-width: 576px) {
   
    .about-text{
        color: var(--color2);
        text-align: left;
        padding: 10px;
        width: 100%;
       
        
    }
}


/*Formulaire*/

.contact{
    background-color: #ffffff;
    color: var(--color1);
    font-family: var(--font1);
    padding: 0;

}



.titre-contact img{
    border-radius: 100px;
    height: 45px;
    width: 45px;
    margin-bottom: 10px;
}

.contact .container-form {
    background-color: var(--color2);
    color: var(--color1);
    font-family: var(--font1);
    
}

.container-contact-direct{
    text-align: center;
    font-size: 1.2rem;
    
}
.container-contact-direct a {
    text-decoration: none;
    font-size: 2rem;
    color: var(--color1);
}

.contact .label-texte {
    font-size: 1.2rem;
}

.form-control:focus {
    border-color: var(--color1);
    box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.075) inset, 0px 0px 8px rgba(216, 130, 130, 0.5);
}

input:-webkit-autofill{ 
    -webkit-box-shadow: 0 0 0 1000px var(--color2) inset !important;
    -webkit-text-fill-color: var(--color1);
  }

.btn-envoyer{
    background-color: var(--color1);
    margin: 0 auto;
}

.btn-envoyer:hover{
    background-color: var(--color3);
    margin: 0 auto;
    color: var(--color1);
    transition: all ease-in 0.3s;
}

@media (max-width: 576px) {
    .container-form {
         width: 100%;
        
    }
}

/* Centrer le recaptcha */

.g-recaptcha {
    margin: 0 auto;
    width: 304px;
  }
  
  @media screen and (max-width: 768px) {

    .g-recaptcha {
    transform: scale(0.75); /* Ajuste l'échelle : 0.75 réduit à 75% */
    width: 304px; /* Largeur initiale du reCAPTCHA */
    }
  }


/* Footer */
footer {
    background-color: var(--color2);
    color: var(--color1);
    text-align: center;
    padding: 1rem;
    position: relative;
    bottom: 0;
    width: 100%;
}



