
/* ==========================================================================
   DalonCorp UX overrides — audit 2026-09-03
   1. H1 des pages de contenu : plus de text-transform uppercase + taille lisible
      (.page-header h1 était 1.3rem uppercase => plus petit que les h2)
   2. Lisibilité paragraphe : largeur de ligne et interligne confortables
   3. Focus visible pour la navigation clavier (WCAG 2.4.7)
   4. Liens de listes numérotées correctement espacés
   ========================================================================== */

/* html body prefix + !important: our file loads BEFORE Joomla's template css
   (WebAssetManager flushes its styles later), so specificity must win outright. */
html body .page-header h1 {
    text-transform: none !important;
    font-size: 2.2rem !important;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 1rem 0;
}

html body h1 { text-transform: none !important; }

.com-content-category-blog__child .item-title h3 a,
.page-header a { text-transform: none; }

/* Lisibilité : interligne et longueur de ligne */
.com-content-article__body p,
.item-content p,
p {
    line-height: 1.65;
}

/* Focus visible clavier */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #007bff;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Listes numérotées : espacement correct entre items (fix "1. X 2. Y 3. Z") */
ol > li { margin: 0.4rem 0; }
ol > li > a { display: inline; }

/* ==========================================================================
   Hero + Footer (audit 2026-09-03) — particles hero-daloncorp / footer-grid
   ========================================================================== */

/* HERO */
.hero-daloncorp {
    max-width: 1140px;
    margin: 0 auto;
    padding: 4.5rem 1.5rem 5rem;
    text-align: left;
}
.hero-daloncorp .hero-title {
    font-family: "quicksand", "Helvetica", Arial, sans-serif;
    font-weight: 700;
    font-size: 2.6rem;
    line-height: 1.2;
    color: #ffffff;
    margin: 0 0 1.25rem;
    text-transform: none;
}
.hero-daloncorp .hero-title em { font-style: italic; color: #7fb3ff; }
.hero-daloncorp .hero-title .hero-accent { color: #7fb3ff; }
.hero-daloncorp .hero-baseline {
    font-size: 1.15rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    margin: 0 0 2rem;
    max-width: 46rem;
}
.hero-daloncorp .hero-ctas { display: flex; flex-wrap: wrap; gap: 1rem; }
.hero-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem 1.6rem;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    transition: transform 0.15s ease, background 0.15s ease;
}
.hero-btn:hover { transform: translateY(-1px); }
.hero-btn-primary { background: #007bff; color: #fff; }
.hero-btn-primary:hover { background: #0069d9; }
.hero-btn-outline { border: 1px solid rgba(255,255,255,0.6); color: #fff; }
.hero-btn-outline:hover { background: rgba(255,255,255,0.1); }
.hero-btn .fa-linkedin { margin-left: 0.3rem; }

/* FOOTER */
#g-footer { background: #0d1117; color: #cbd5e1; }
#g-footer .footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 2.5rem;
    max-width: 1140px;
    margin: 0 auto;
    padding: 3rem 1.5rem;
    text-align: left;
}
#g-footer .footer-col h3 {
    color: #fff;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0 0 0.9rem;
}
#g-footer .footer-col ul { list-style: none; margin: 0; padding: 0; }
#g-footer .footer-col li { margin: 0.45rem 0; }
#g-footer .footer-col a { color: #cbd5e1; text-decoration: none; }
#g-footer .footer-col a:hover { color: #7fb3ff; }
#g-footer .footer-brand p { margin: 0.8rem 0 0; font-size: 0.92rem; line-height: 1.6; color: #94a3b8; }
#g-footer .footer-linkedin .fa-linkedin { margin-right: 0.45rem; }

/* Responsive: 1 colonne sous 900px */
@media (max-width: 900px) {
    #g-footer .footer-grid { grid-template-columns: 1fr; gap: 1.8rem; }
    .hero-daloncorp .hero-title { font-size: 1.9rem; }
}

/* Respiration: alternance des fonds de sections sur l'accueil */
.g-main .blog-featured { padding-bottom: 2rem; }


/* ==========================================================================
   Hero CTA hover fix (2026-09-03 v2): #g-slideshow a:hover passait le texte en
   #007bff => bleu-sur-bleu invisible sur le CTA primaire. Scope les boutons hero
   hors de cette règle + affinement du hover outline.
   ========================================================================== */
#g-slideshow .hero-btn-primary:hover,
#g-slideshow .hero-btn-primary:focus {
    color: #ffffff;
    background: #0062cc;
}
#g-slideshow .hero-btn-outline:hover,
#g-slideshow .hero-btn-outline:focus {
    color: #7fb3ff;
    border-color: #7fb3ff;
    background: rgba(255, 255, 255, 0.08);
}
