/* ============================================
   COMITARI - TEXT FORMATTING & TYPOGRAPHY
   Justification et alignement professionnel
   ============================================ */

/* ===== JUSTIFICATION AUTOMATIQUE ===== */

/* Tous les paragraphes sont justifiés par défaut */
p {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    line-height: 1.7;
}

/* Hero et Footer - Alignés à gauche */
.hero p,
.hero-subtitle,
.footer p,
.footer-description {
    text-align: left !important;
}

/* Exceptions pour les éléments qui doivent rester centrés */
.text-center p,
.cta-section p,
.badge,
.btn {
    text-align: center;
    hyphens: none;
}

/* Descriptions de cartes - justifiées */
.card-description,
.pain-desc,
.service-description,
.benefit-text,
.step-description {
    text-align: justify !important;
    text-justify: inter-word;
    hyphens: auto;
}

/* Titres - toujours centrés ou alignés à gauche selon le contexte */
h1,
h2,
h3,
h4,
h5,
h6 {
    text-align: left;
    text-justify: none;
    hyphens: none;
}

/* Section headers centrés */
.section-header h2,
.text-center h1,
.text-center h2,
.text-center h3 {
    text-align: center;
}

/* Sous-titres et descriptions - TOUJOURS centrés sous leurs titres */
.pain-subtitle,
.section-subtitle,
.text-muted,
.guarantee-text,
.guarantee-card p,
.stat-label,
.stat-description {
    text-align: center !important;
}

/* ===== AMÉLIORATION DE LA LISIBILITÉ ===== */

/* Espacement optimal entre les lignes */
.service-intro,
.hero-subtitle,
.section-intro {
    line-height: 1.8;
    text-align: justify;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* Paragraphes dans les sections */
.section p,
.container p {
    margin-bottom: 1.25rem;
}

/* Listes justifiées */
ul li,
ol li {
    text-align: justify;
    margin-bottom: 0.75rem;
}

/* ===== CLASSES UTILITAIRES ===== */

.text-justify {
    text-align: justify !important;
    text-justify: inter-word;
    hyphens: auto;
}

.text-left {
    text-align: left !important;
}

.text-right {
    text-align: right !important;
}

.text-center-force {
    text-align: center !important;
}

/* Pas de césure pour les titres courts */
.no-hyphen {
    hyphens: none !important;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 768px) {
    p {
        text-align: left;
        /* Sur mobile, alignement à gauche plus lisible */
        hyphens: auto;
    }

    .card-description,
    .pain-desc,
    .service-description {
        text-align: left !important;
    }
}

/* ===== QUOTES & TESTIMONIALS ===== */

blockquote,
.testimonial-text,
.expert-quote p {
    text-align: justify;
    font-style: italic;
    padding: 1.5rem;
    border-left: 4px solid var(--secondary-green);
    background: rgba(55, 142, 86, 0.05);
    margin: 1.5rem 0;
}

/* ===== GARANTIES & BENEFITS ===== */

.guarantee-card p,
.benefit-card p,
.feature-card p {
    text-align: justify;
    line-height: 1.7;
}

/* ===== STATS & NUMBERS ===== */

.stat-label,
.stat-description {
    text-align: center;
    /* Les stats restent centrées */
}

/* ===== FORMULAIRES ===== */

label,
.form-label,
.form-help-text {
    text-align: left;
}

/* ===== FOOTER ===== */

.footer-description {
    text-align: justify;
    max-width: 300px;
}

.footer-links li {
    text-align: left;
}