/**
 * Homepage Styles
 * Styles specific to the homepage
 */

/* Force la largeur sur la page d'accueil */
.homepage {
    --max-width: 1200px;
}

.homepage .site-main {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--spacing-md);
}

@media (min-width: 768px) {

    .homepage .site-main {
        padding: 0 var(--spacing-lg);
    }

    .only-desktop {
        display: block !important;
    }
    .only-mobile {
        display: none !important;
    }

}

/* Responsive pour écrans moyens (tablettes paysage et petits desktops) */
@media (min-width: 1024px) and (max-width: 1280px) {
    .homepage .site-main {
        padding: 0 var(--spacing-xl);
        max-width: 95%;
    }
}

/* ========================================
   Classes utilitaires Homepage
======================================== */

/* Classe pour étendre h2 avec style spécifique */
.h1-home {
    color: var(--bleu-moyen);
    font-size: 2rem;
    font-style: normal;
    font-weight: 600;
    line-height: 3rem; /* 72.917% */
    margin-bottom: 0;
}


/* H2 sur la page Accueil v2 avec chevron */
.homepage h2 {
    padding-top: 0px;
    position: relative;
    padding-left: 40px; /* Espace pour le chevron */
    color: var(--GC-Brown, #A85719);
    left: -40px;

    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.7rem;
    margin-bottom: var(--spacing-sm);
    display: flex;
    align-items: center;
}

.homepage h2::before {
    content: '';
    position: absolute;
    left: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    background-image: url('../../assets/images/chevron.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Supprimer le chevron et ajustements pour h2 avec classe .h2-home */
.homepage h2.h2-home {
    padding-left: 0; /* Supprimer le padding */
    left: 0; /* Remettre la position normale */
    color: var(--bleu-moyen);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 600;
    line-height: 2.1rem; /* 93.75% */
}

.homepage h2.h2-home::before {
    display: none; /* Masquer le chevron */
}

/* Bloc large qui dépasse le container 1200px */
.bloc-large {
    width: 1260px; /* 1260px - dépasse légèrement le layout 1200px */
    height: 51.4375rem; /* 823px */
    flex-shrink: 0;
    border-radius: 1.25rem; /* 20px */
    background: #FFF;
    margin-left: 50%; /* Centre horizontalement */
    transform: translateX(-50%); /* Ajuste le centrage */
    position: relative;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); /* Ombre légère */
    display: flex;
    align-items: center;
    justify-content: center;
}

.testimonials-grid {
    column-count: 1;
    column-gap: var(--spacing-lg);
    margin-bottom: var(--spacing-xl);
    max-height: 450px
}

/* Modifications pour hauteur automatique */
.bloc-large[style*="height: auto"] {
    height: auto !important;
}

 .bloc-large__content {
    width: 100%;
    max-width: 1200px; /* Limite le contenu à 1200px pour respecter le layout */
    padding: 2rem;
    overflow: visible; /* Permet l'affichage du chevron */
    padding-top: 0px;
    padding-bottom: 0px;
}

.bloc-large__content h2 {
    padding-top: 0;
}

    .top-20 {
    margin-top: 20px;
}
.top-80 {
    margin-top: 80px;
}
 .bottom-40 {
    margin-bottom: 40px;
 }

/* Images dans le bloc large avec border-radius */
.bloc-large img {
    border-radius: 20px !important;
    max-width: 100%;
    height: auto;
    overflow: hidden; /* Force le radius même avec aspect-ratio */
}

/* Figures et conteneurs d'images */
.bloc-large figure,
.bloc-large .wp-block-image {
    margin: 0 auto; /* Centrage horizontal */
    border-radius: 20px; /* Border-radius sur le conteneur aussi */
    overflow: hidden; /* Important pour forcer le radius */
    text-align: center; /* Centrage du contenu */
}

.bloc-large figure img,
.bloc-large .wp-block-image img {
    border-radius: 20px !important;
    display: block; /* Évite les espaces sous l'image */
    margin: 40px auto; /* Centrage horizontal de l'image elle-même */
}

/* Spécifiquement pour les images avec aspect-ratio */
.bloc-large img[style*="aspect-ratio"] {
    border-radius: 20px !important;
    object-fit: cover !important; /* Meilleur rendu avec border-radius */
}

/* Styles pour les listes WordPress (reprend les styles de conseil-section__text li) */
.wp-block-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.wp-block-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0;
    color: var(--bleu-fonce);
    font-size: 1.0rem;
    line-height: 1.3rem;
    font-family: "Barlow Semi Condensed", sans-serif;
    font-weight: 400;
    font-style: normal;
}

/* Puces pour listes non ordonnées */
.wp-block-list:not(.is-style-ordered) li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--bleu-fonce);
    font-weight: bold;
}

/* Style pour listes ordonnées */
.wp-block-list.is-style-ordered {
    counter-reset: conseil-counter;
}

.wp-block-list.is-style-ordered li {
    counter-increment: conseil-counter;
}

.wp-block-list.is-style-ordered li::before {
    content: counter(conseil-counter) '.';
    position: absolute;
    left: 0;
    color: var(--tonic);
    font-weight: bold;
}

/* Ajustement des h2 dans le bloc large pour éviter la coupure du chevron */
.bloc-large h2 {
    left: 0 !important; /* Annule le décalage négatif */
    margin-left: -40px; /* Compense en gardant l'alignement visuel */
}

/* Styles personnalisés pour les boutons WordPress */
.wp-block-button__link:not(.btn-linkedin) {

    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 250px;
    padding: 1.5rem;
    border: none;
    border-radius: 1.25rem;
    cursor: pointer;
    transition: all var(--transition-fast);
    background: var(--bleu-moyen);
    color: #fff;
    font-family: "Barlow Semi Condensed", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1rem;
    font-weight: 400;
    text-align: center;
}

/* Variantes de couleurs pour les boutons */
.wp-block-button.is-style-bleu-fonce .wp-block-button__link {
    background-color: var(--bleu-fonce) !important;
    color: #fff !important;
}

.wp-block-button.is-style-bleu-fonce .wp-block-button__link:hover {
    background-color: var(--bleu-moyen) !important;
    transform: translateY(-2px);
}

.wp-block-button.is-style-bleu-moyen .wp-block-button__link {
    background-color: var(--bleu-moyen) !important;
    color: #fff !important;
}

.wp-block-button.is-style-bleu-moyen .wp-block-button__link:hover {
    background-color: var(--bleu-fonce) !important;
    transform: translateY(-2px);
}

.wp-block-button.is-style-terracotta .wp-block-button__link {
    background-color: var(--terracotta) !important;
    color: #fff !important;
}

.wp-block-button.is-style-terracotta .wp-block-button__link:hover {
    background-color: var(--bronze) !important;
    transform: translateY(-2px);
}

/* Version responsive pour écrans plus petits */
@media (max-width: 1320px) {
    .bloc-large {
        width: 95vw; /* 95% de la largeur de l'écran */
        max-width: 1260px;
    }
}

@media (min-width: 1024px) and (max-width: 1280px) {
    .bloc-large {
        width: 92vw; /* Plus d'espace sur les côtés */
        max-width: 1200px;
    }
}

@media (max-width: 768px) {

    .only-desktop {
        display: none !important;
    }
    .only-mobile {
        display: block !important;
    }

    .container {
        padding: 0 var(--spacing-xl);
    }

    .h1-home {
        font-size: 2rem;
        line-height: 2.3rem; /* 72.917% */
        margin-bottom: var(--spacing-xs);
    }


    /* H2 sur la page Accueil v2 avec chevron */
    .homepage h2 {
        padding-left: 40px; /* Espace pour le chevron */
        color: var(--GC-Brown, #A85719);
        left: -15px;

        font-size: 1.3rem;
        line-height: 1.6rem;
        margin-bottom: var(--spacing-sm);
    }

    .homepage h2::before {
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
        width: 16px;
        height: 16px;
    }

    .bloc-large {
        width: 90vw;
        height: auto; /* Hauteur adaptative sur mobile */
        min-height: 400px;
        border-radius: 1rem;
    }

    .bloc-large__content {
        padding-top: 20px;

        h2::before {
            left: 30px !important;
        }

        h2 {
            padding-left: 60px !important;
        }

    }

}

/* ========================================
   Homepage Conseil Section
======================================== */

section {
    margin-bottom: var(--spacing-xl);
}

.homepage-conseil {
    text-align: center;
    padding: 60px 0;
    background: #fff;
}

.homepage-conseil__title {
    /* Utilise les styles h2 globaux */
    margin-bottom: 16px;
}

.homepage-conseil__subtitle {
    font-family: 'Public Sans', sans-serif;
    font-weight: 700;
    font-size: 24px;
    line-height: 110%;
    color: var(--bronze);
    margin-bottom: 60px;
}

.homepage-conseil__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 60px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* Responsive pour les cartes conseil */
@media (min-width: 1024px) and (max-width: 1280px) {
    .homepage-conseil__cards {
        gap: 20px;
        padding: 0 var(--spacing-md);
    }

    .bloc-large h2 {
        left: 0 !important; /* Annule le décalage négatif */
        margin-left: 0px; /* Compense en gardant l'alignement visuel */
    }
}

.homepage-conseil__card {
    padding: 40px 30px;
    border-radius: 20px;
    min-height: 350px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.homepage-conseil__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.homepage-conseil__card--tonic {
    background-color: var(--tonic);
    color: #fff;
}

.homepage-conseil__card--bleu-afaqap {
    background-color: var(--bleu-fonce);
    color: #fff;
}

.homepage-conseil__card--white {
    background-color: #fff;
    border: 2px solid #e5e5e5;
    color: var(--bleu-fonce);
    align-items: center;
    justify-content: center;
}

.homepage-conseil__card-title {
    /* Utilise les styles h3 globaux avec ajustements */
    margin-bottom: 24px;
}

.homepage-conseil__card--white .homepage-conseil__card-title {
    text-align: center;
    max-width: 80%;
    margin: 0 auto;
}

.homepage-conseil__card-content {
    font-family: 'Public Sans', sans-serif;
    font-size: 16px;
    line-height: 150%;
    text-align: left;
}

.homepage-conseil__card-content br {
    display: block;
    content: "";
    margin-bottom: 12px;
}

.homepage-conseil__buttons {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
}

.homepage-conseil__button {
    display: inline-block;
    padding: 16px 32px;
    border-radius: 30px;
    font-family: 'Public Sans', sans-serif;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.homepage-conseil__button--primary {
    background-color: var(--bleu-fonce);
    color: #fff;
}

.homepage-conseil__button--primary:hover {
    background-color: var(--bleu-afaqap);
    transform: translateY(-2px);
}

.homepage-conseil__button--secondary {
    background-color: transparent;
    color: var(--bleu-fonce);
    border: 2px solid var(--bleu-fonce);
}

.homepage-conseil__button--secondary:hover {
    background-color: var(--bleu-fonce);
    color: #fff;
}

/* Responsive */
@media (max-width: 1024px) {
    .homepage-conseil__cards {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .homepage-conseil__card {
        min-height: auto;
    }
}

@media (max-width: 768px) {
    .homepage-conseil__title {
        font-size: 28px;
    }
    
    .homepage-conseil__subtitle {
        font-size: 20px;
    }
    
    .homepage-conseil__card-title {
        font-size: 20px;
    }
    
    .homepage-conseil__buttons {
        flex-direction: column;
        align-items: center;
    }
    
    .homepage-conseil__button {
        width: 100%;
        max-width: 300px;
        text-align: center;
    }
}

/* ========================================
   About Section Block
======================================== */
.about-section {
    padding: 80px 0;
    background: var(--background-color);
}

.about-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}

/* Responsive pour la section about */
@media (min-width: 1024px) and (max-width: 1280px) {
    .about-wrapper {
        gap: 40px;
        padding: 0 var(--spacing-md);
    }

    .homepage {
        --max-width: 1000px;
    }
    
    .blog-cta {
        margin: 0 var(--spacing-md);
        max-width: calc(100% - 3rem);
    }
}

.about-title {
    /* Utilise les styles h2 globaux */
    margin-bottom: 30px;
}

.about-text {
    /* Utilise les styles p globaux */
}

.about-text p {
    margin-bottom: 20px;
}

.about-text h3 {
    /* Utilise les styles h3 globaux avec couleur bronze */
    color: var(--bronze);
    margin: 30px 0 20px 0;
}

.about-text ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.about-text li {
    position: relative;
    padding-left: 24px;
    margin-bottom: 16px;
}

.about-text li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: var(--bronze);
    font-weight: bold;
}

.about-image {
    text-align: center;
}

.about-img {
    width: 100%;
    max-width: 400px;
    height: auto;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* ========================================
   Blog Section Block
======================================== */
.blog-section {
    padding: 80px 0;
    background: var(--gris-clair);
}

.blog-content {
    max-width: 800px;
    margin: 0 auto 40px;
    text-align: center;
}

/* Responsive pour écrans moyens */
@media (min-width: 1024px) and (max-width: 1280px) {
    .blog-content {
        padding: 0 var(--spacing-md);
    }
}

.blog-intro {
    /* Utilise les styles p globaux avec ajustements */
    font-size: 18px;
    margin-bottom: 20px;
}

.blog-cta {
    background: #fff;
    border-radius: 20px;
    padding: 40px;
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.blog-cta h3 {
    /* Utilise les styles h3 globaux */
    margin-bottom: 20px;
}

.blog-cta p {
    /* Utilise les styles p globaux */
}

.section-title {
    /* Utilise les styles h2 globaux */
    text-align: center;
    margin-bottom: 50px;
}

/* Hero Section pour page d'accueil */
.hero-section {
    padding: 80px 0;
    background: var(--background-color);
}

.hero-content {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

/* Responsive pour la section hero */
@media (min-width: 1024px) and (max-width: 1280px) {
    .hero-content {
        padding: 0 var(--spacing-md);
        max-width: 95%;
    }
}

.hero-quote {
    /* Utilise les styles h1 globaux avec ajustements pour hero */
    font-weight: 900;
    font-size: 48px;
    margin-bottom: 40px;
}

.hero-subtitles {
    margin-bottom: 40px;
}

.hero-subtitles h4 {
    /* Utilise les styles h4 globaux avec ajustements */
    font-weight: 700;
    font-size: 20px;
    margin: 8px 0;
}

.hero-description {
    /* Utilise les styles p globaux avec ajustements */
    font-size: 18px;
}

.hero-description p {
    margin: 16px 0;
}

.hero-description p:first-child {
    font-weight: 700;
}

.hero-description a {
    color: var(--bronze);
    text-decoration: underline;
}

.hero-description a:hover {
    color: var(--bleu-fonce);
}

.testimonial-card {
    background-color: #fff;
    padding: var(--spacing-lg);
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100px;
    width: 450px;
    min-width: 450px;
    max-width: 450px;
}

.testimonial-card__content::before {
    top: 0px !important;
    left: -10px;
    width: 12.75px;
    height: 13.5px;
}

.testimonial-card__content::after {
    bottom: -10px !important;
    right: 10px;
    width: 15.75px;
    height: 16.5px;
}

/* Responsive About & Blog Sections */
@media (max-width: 1024px) {
    .about-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .about-image {
        order: -1;
    }
}

@media (max-width: 768px) {
    .hero-quote {
        font-size: 36px;
    }
    
    .hero-subtitles h4 {
        font-size: 18px;
    }
    
    /* Les styles globaux h2 s'appliquent déjà */
    
    .hero-section,
    .about-section,
    .blog-section {
        padding: 40px 0;
    }

    .testimonial-card__content::before {
        top: -20px !important;
        left: -15px;
    }

    .testimonial-card__content::after {
        bottom: -20px !important;
        right: 0px;
    }
}