/* ==========================================================================
   Solutions - hub et single
   ========================================================================== */


#primary.single-solution,
#primary.page-nos-solutions {
    margin-top: 0 !important;
}

/* Correction du padding horizontal selon le type de page :
   - nos-solutions (page WP) : Astra applique 20px sur #content > .ast-container → on zeroise
     l'article pour ne pas doubler. Total : 20px par côté.
   - single-solution (CPT) : Astra applique 8.64px (0.54em) sur #content > .ast-container →
     on conserve 8.64px sur l'article pour atteindre ~17px total = parité avec taxonomy.
   Classes métier post_class() : .solution-single et .nos-solutions-page n'existent jamais
   sur les cartes imbriquées (.solution-card). Spécificité (0,3,0) > Astra (0,2,0). */
.ast-separate-container .page-nos-solutions .nos-solutions-page {
    padding-left: 0;
    padding-right: 0;
}
.ast-separate-container .single-solution .solution-single {
    padding-left: 8.64px;
    padding-right: 8.64px;
}

/* L'intro a son propre ast-container imbriqué — on retire son padding horizontal. */
.page-nos-solutions .nos-solutions-intro.ast-container {
    padding-left: 0;
    padding-right: 0;
}

.nos-solutions-intro.ast-container {
    margin-top: var(--mdcf-space-3xl);
}

/* ── Grille hub (2 colonnes) ──────────────────────────────────────────────── */

.page-nos-solutions .solutions-grid,
.page-vous-etes .solutions-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--mdcf-space-xl);
    margin-top: var(--mdcf-space-3xl);
}

/* Premier élément pleine largeur quand le total est impair */
.page-nos-solutions .solutions-grid > .solution-card-link:first-child:nth-last-child(odd),
.page-vous-etes .solutions-grid > .solution-card-link:first-child:nth-last-child(odd) {
    grid-column: 1 / -1;
}

/* ── Carte solution horizontale ──────────────────────────────────────────── */

.solution-card-link {
    display: flex;
    text-decoration: none;
    color: inherit;
}

.solution-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: var(--mdcf-color-white);
    border: 1px solid var(--mdcf-color-border-soft);
    border-radius: var(--mdcf-radius-md);
    box-shadow: var(--mdcf-shadow-card-soft);
    overflow: hidden;
    padding: var(--mdcf-space-xl);
    gap: var(--mdcf-space-md);
    transition: box-shadow var(--mdcf-transition-fast), transform var(--mdcf-transition-fast);
}

.solution-card-link:hover .solution-card {
    box-shadow: var(--mdcf-shadow-card-hover-soft);
    transform: translateY(-3px);
}

/* Ligne du haut : image gauche + titre droite */
.solution-card__header {
    display: flex;
    align-items: center;
    gap: var(--mdcf-space-lg);
}

.solution-card__thumbnail {
    flex: 0 0 96px;
    height: 96px;
    border-radius: var(--mdcf-radius-sm);
    overflow: hidden;
}

.solution-card__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.solution-card-link:hover .solution-card__thumbnail img {
    transform: scale(1.06);
}

.solution-card__title {
    flex: 1;
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
}

/* Texte en dessous */
.solution-card__excerpt {
    font-size: 0.9rem;
    color: var(--mdcf-color-text-muted);
    margin: 0;
    line-height: 1.55;
}

.solution-card__excerpt p {
    margin: 0;
}

/* ── Single solution ─────────────────────────────────────────────────────── */

.solution-single__formations-by-domain,
.single-solution .formations-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--mdcf-space-xl);
}

.solution-single__header,
.page-nos-solutions .page-header {
    margin-bottom: var(--mdcf-space-3xl);
}

.solution-single__subtitle {
    margin-top: 10px;
    font-size: 1.1rem;
    opacity: 0.8;
}

.solution-single__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mdcf-space-md);
    margin-top: var(--mdcf-space-xl);
}

.solution-single__benefits {
    margin: var(--mdcf-space-2xl) 0;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    .page-nos-solutions .solutions-grid,
    .page-vous-etes .solutions-grid {
        grid-template-columns: 1fr;
    }
}
