/* Responsive public pages — empêche les mots coupés au trait d'union (DREAM-ELITE) */
.brand-name {
    white-space: nowrap;
}

.page-header h1,
.section-title,
.about-intro-content h2,
.about-content h2,
.why-us-content h2,
.partner-section h2,
.cta-title,
.company-title,
.product-title,
.hero-title {
    hyphens: none;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    word-break: normal;
    overflow-wrap: break-word;
}

img, video, iframe, svg {
    max-width: 100%;
}

@media (max-width: 992px) {
    .page-header h1,
    .section-title,
    .about-intro-content h2,
    .about-content h2,
    .why-us-content h2,
    .partner-section h2,
    .cta-title {
        font-size: clamp(1.55rem, 5vw, 2.2rem) !important;
        line-height: 1.3 !important;
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    html,
    body {
        overflow-x: hidden;
        max-width: 100%;
    }

    .container {
        max-width: 100%;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .page-header h1,
    .section-title,
    .about-intro-content h2,
    .about-content h2,
    .why-us-content h2,
    .partner-section h2,
    .cta-title,
    .company-title,
    .product-title {
        font-size: clamp(1.35rem, 6.4vw, 1.95rem) !important;
        line-height: 1.28 !important;
        letter-spacing: 0 !important;
    }

    .section-subtitle {
        letter-spacing: 1.5px !important;
        font-size: 0.8rem !important;
    }

    .breadcrumb {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 6px;
        font-size: 0.85rem !important;
        padding: 0 8px;
    }
}

@media (max-width: 480px) {
    .page-header h1,
    .section-title,
    .cta-title,
    .company-title {
        font-size: clamp(1.22rem, 6.8vw, 1.65rem) !important;
    }
}
