/* ============================================================
   edito.css – Styles communs aux pages édito
   (Règlement, RGPD, Mentions légales, Contact…)
   ============================================================ */


/* ── En-tête dans le bloc ── */
.edito-header {
    padding: 2.5rem 3rem 2rem;
    text-align: center;
    border-bottom: 1px solid #eee;
}

.edito-title {
    font-family: "Ubuntu", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #007AC3;
    margin-bottom: .3rem;
}

.edito-subtitle {
     font-size: 1rem;
     color: #333;
     margin: .4rem 0 0;
}

.edito-divider {
    width: 60px;
    border-top: 4px solid #C9D204;
    margin: 1rem auto 0;
    opacity: 1;
}

/* ── Article (section) ── */
.edito-article {
    padding: 1.75rem 3rem;
    border-bottom: 1px solid #f0f0f0;
}

.edito-article:last-child {
    border-bottom: none;
}

/* ── Titre de section h2 ── */
.edito-heading {
    font-family: "Ubuntu", sans-serif;
    font-size: 1.05rem;
    font-weight: 600;
    /* #0d6e94 sur blanc = ratio 5.18:1 — conforme WCAG AA */
    color: #0d6e94;
    border-left: 4px solid #C9D204;
    padding-left: .75rem;
    margin: 0 0 1rem;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.edito-heading .fa {
    font-size: .95rem;
    color: #0d6e94;
    flex-shrink: 0;
}

/* ── Corps de section ── */
.edito-body {
    font-size: .97rem;
    line-height: 1.85;
    color: #333;
}

/* ── Amélioration du contraste pour .text-muted (conforme WCAG AA) ── */
.edito-body .text-muted {
    color: #555 !important;
}

.edito-body p:last-child,
.edito-body ul:last-child {
    margin-bottom: 0;
}

/* ── Listes personnalisées ── */
.edito-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
}

.edito-list li {
    padding: 5px 0 5px 1.6rem;
    position: relative;
    border-bottom: 1px solid #f5f5f5;
}

.edito-list li:last-child {
    border-bottom: none;
}

.edito-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #C9D204;
}

/* ── Tableau (ex : tarifs) ── */
.edito-table thead th {
    background-color: #1e98c2;
    color: #fff;
    font-weight: 600;
    letter-spacing: .02em;
    border-color: #1e98c2;
}

.edito-table tbody tr:nth-child(even) {
    background-color: #f8fafb;
}

/* ── Bloc adresse / contact ── */
.edito-contact {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.edito-contact .fa {
    font-size: 1.4rem;
    color: #0d6e94;
    margin-top: .2rem;
    flex-shrink: 0;
}

.edito-contact address {
    margin-bottom: 0;
    font-style: normal;
    line-height: 1.9;
}

.edito-contact address a {
    color: #0d6e94;
    text-decoration: none;
}

.edito-contact address a:hover {
    text-decoration: underline;
}

/* ── Bloc consentement (inscription) ── */
.edito-consent {
    background: #f0f4f8;
    border: 1px solid #d6e4ef;
    border-radius: .5rem;
    padding: 1rem 1.25rem;
    font-size: .92rem;
    color: #444;
    line-height: 1.6;
}

.edito-consent a {
    color: #0d6e94;
    text-decoration: underline;
}

.edito-consent a:hover {
    color: #004d78;
}

/* ── Grille de cartes contact ── */
.contact-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-top: .5rem;
}

.contact-card {
    border: 1px solid #e4eef5;
    border-radius: .75rem;
    overflow: hidden;
    background: #f8fbfd;
    transition: box-shadow .2s, transform .2s;
}

.contact-card:hover {
    box-shadow: 0 4px 18px rgba(0, 122, 195, .12);
    transform: translateY(-2px);
}

.contact-card-header {
    /* Gradient assombri : blanc sur #005f9a = 6.1:1, blanc sur #0d6e94 = 5.18:1 — conformes WCAG AA */
    background: linear-gradient(135deg, #005f9a 0%, #0d6e94 100%);
    color: #fff;
    padding: 1.1rem 1.25rem .9rem;
    display: flex;
    align-items: center;
    gap: .75rem;
}

.contact-card-icon {
    font-size: 1.6rem;
    line-height: 1;
    flex-shrink: 0;
}

.contact-card-title {
    font-family: "Ubuntu", sans-serif;
    font-size: .97rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.35;
    color: #fff;
}

.contact-card-title small {
    font-weight: 400;
    font-size: .87rem;
    /* opacity supprimée : évite la dégradation du contraste (#fff sur fond sombre = >5:1) */
    color: #fff;
}

.contact-card-info {
    list-style: none;
    padding: 1rem 1.25rem;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .55rem;
}

.contact-card-info li {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: .92rem;
    color: #333;
}

.contact-card-info .fa {
    color: #0d6e94;
    width: 14px;
    text-align: center;
    flex-shrink: 0;
}

.contact-card-info a {
    color: #0d6e94;
    text-decoration: none;
    word-break: break-all;
}

.contact-card-info a:hover {
    text-decoration: underline;
    color: #004d78;
}

/* Focus visible clavier — WCAG 2.4.11 (AA) */
.contact-card-info a:focus-visible {
    outline: 3px solid #C9D204;
    outline-offset: 2px;
    border-radius: 2px;
    text-decoration: underline;
}

.edito-contact address a:focus-visible {
    outline: 3px solid #C9D204;
    outline-offset: 2px;
    border-radius: 2px;
}

/* ── Responsive ── */
@media (max-width: 992px) {
    .contact-cards-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .edito-header {
        padding: 1.5rem 1.25rem 1.25rem;
    }

    .edito-article {
        padding: 1.25rem 1.25rem;
    }

    .edito-title {
        font-size: 1.5rem;
    }

    .contact-cards-grid {
        grid-template-columns: 1fr;
    }
}
