﻿/* =========================================
   LÉGALES KEYSOFTS — pleine largeur responsive
   (zéro impact footer : scope strict à main)
   ========================================= */

/* 1) Débrider la largeur uniquement dans le flux du main */
main .container {
    max-width: none !important;
    width: 100% !important;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* 2) Forcer une colonne texte “large” : on neutralise les grilles/carte */
main .solution-content,
main .solution-main,
main .service-content-grid {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    width: 100% !important;
}

/* 3) Enlever l’effet carte autour des sections */
main .card-soft {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 1.25rem 0 !important;
}

/* 4) Titres + texte lisibles, pleine largeur, responsive */
main h1, main h2, main h3 {
    color: var(--primary-dark);
    font-weight: 700;
}

main h1 {
    font-size: clamp(1.6rem, 3.8vw, 2.3rem);
    margin: 0 0 0.75rem 0;
}

main h2 {
    font-size: clamp(1.25rem, 3vw, 1.65rem);
    margin: 2rem 0 .75rem 0;
    border-left: 4px solid var(--accent);
    padding-left: .6rem;
}

main h3 {
    font-size: clamp(1.05rem, 2.2vw, 1.25rem);
    margin: 1.25rem 0 .5rem 0;
}

main p,
main ul,
main ol,
main dl {
    font-size: clamp(.98rem, 1.8vw, 1.06rem);
    line-height: 1.8;
    color: var(--text-medium);
    margin-bottom: 1rem;
}

/* Listes propres */
main ul, main ol {
    padding-left: 1.25rem;
}

main li {
    margin-bottom: .4rem;
}

/* Définitions (mentions légales) */
main dl dt {
    font-weight: 600;
    color: var(--text-primary);
    margin-top: .4rem;
}

main dl dd {
    margin-left: 1rem;
}

/* 5) En-têtes de blocs “services” : on garde le titre, on simplifie */
main .service-header {
    margin-bottom: .5rem !important;
    align-items: baseline;
}

main .service-number {
    display: none !important;
}
/* masque 01/02/03 */
main .service-title-block h2 {
    margin: 0 !important;
}

/* 6) Héro : compact pour ne pas “manger” la hauteur ; reste full-width */
.hero.hero--about {
    min-height: 220px !important;
    padding: 3rem 1rem !important;
}

    .hero.hero--about .hero-container {
        max-width: none !important;
        padding: 0 !important;
    }

    .hero.hero--about h1 {
        font-size: clamp(1.6rem, 3.6vw, 2rem) !important;
    }

    .hero.hero--about .hero-subtitle {
        font-size: clamp(.95rem, 1.8vw, 1.05rem) !important;
        opacity: .9;
    }

/* 7) Marges verticales du contenu */
.section-padding {
    padding-top: 2.25rem !important;
    padding-bottom: 2.5rem !important;
}

/* 8) Liens */
main a {
    color: var(--primary);
    text-decoration: underline;
}

    main a:hover {
        color: var(--accent);
    }

/* 9) Responsive : un peu plus d’air sur grands écrans */
@media (min-width: 1024px) {
    main .container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
}



/* Espace sous le header (header ≈ 64–72px) */
.hero.hero--about {
    margin-top: 72px; /* décale le hero sous le header */
    min-height: clamp(280px, 45vh, 440px); /* pas trop petit = évite l’effet “coupé” */
    padding: clamp(2rem, 5vw, 3.5rem) 1.25rem;
}

/* Sur mobile, header un peu plus compact */
@media (max-width: 768px) {
    .hero.hero--about {
        margin-top: 64px;
    }
}

/* Laisse la largeur par défaut du container du hero pour éviter les surprises */
.hero.hero--about .hero-container {
    max-width: 900px !important;
    margin: 0 auto;
    padding: 0 1.25rem;
}

/* Titres du hero lisibles et sans troncature */
.hero.hero--about h1 {
    font-size: clamp(1.6rem, 3.6vw, 2.1rem) !important;
    line-height: 1.2;
}

.hero.hero--about .hero-subtitle {
    font-size: clamp(0.95rem, 1.8vw, 1.05rem) !important;
    opacity: .9;
}

/* Taille du texte réduite pour les pages légales */
main p,
main li,
main dl,
main dd,
main dt {
    font-size: 0.95rem; /* taille plus petite (≈15px) */
    line-height: 1.6; /* un peu plus serré */
}
