/* ============================================================
   CMS PUBLIC - COMPOSANTS SEO - CSS TECHNIQUE
   ============================================================

   Structure et comportement des zones SEO publiques :
   contexte local, ressources, témoignages, informations
   pratiques et engagements.

   L'habillage visuel est géré par la CharteGraph.
   ============================================================ */


/* ============================================================
   SEO - CONTEXTE LOCAL / RESSOURCES - STRUCTURE
   ============================================================ */

.site-seo-context {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--site-max-width, 1180px);
    margin-left: auto;
    margin-right: auto;
}

.site-seo-context__services-content {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    align-items: start;
}

.site-seo-context__image {
    display: block;
    width: 160px;
    max-width: 100%;
    height: auto;
}

.site-seo-context__resource a {
    overflow-wrap: anywhere;
}

@media (max-width: 600px) {
    .site-seo-context__services-content {
        grid-template-columns: 110px minmax(0, 1fr);
    }

    .site-seo-context__image {
        width: 110px;
    }
}

@media (max-width: 420px) {
    .site-seo-context__services-content {
        display: block;
    }

    .site-seo-context__image {
        width: 140px;
        margin-left: auto;
        margin-right: auto;
    }
}


/* ============================================================
   SEO - PANNEAUX COMPLÉMENTAIRES - STRUCTURE
   ============================================================ */

.site-seo-panels {
    width: 100%;
}

.site-seo-panels__inner {
    width: min(var(--site-max-width, 1180px), calc(100% - 3rem));
    margin: 0 auto;

    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.site-seo-panels__panel {
    min-width: 0;
}

.site-seo-panels__testimonials {
    display: grid;
}

.site-seo-panels__testimonial-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
}

.site-seo-panels__testimonial-meta time {
    white-space: nowrap;
}

.site-seo-panels__testimonial-context {
    display: inline-block;
    margin-left: auto;
    white-space: nowrap;
}

.site-seo-panels__practical-links,
.site-seo-panels__commitments {
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-seo-panels__practical-links a {
    display: block;
}

.site-seo-panels__commitments strong,
.site-seo-panels__commitments span {
    display: block;
}

@media (max-width: 1000px) {
    .site-seo-panels__inner {
        grid-template-columns: 1fr 1fr;
    }

    .site-seo-panels__panel--testimonials {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .site-seo-panels__inner {
        width: min(100% - 2rem, var(--site-max-width, 1180px));
        grid-template-columns: 1fr;
    }

    .site-seo-panels__panel--testimonials {
        grid-column: auto;
    }

    .site-seo-panels__testimonial-context {
        margin-left: 0;
    }
}