/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://numerique-senior.fr
 Description:  Thème enfant de GeneratePress — personnalisations pipeline
 Author:       Antoine
 Template:     generatepress
 Version:      1.0.0
 Text Domain:  generatepress-child
*/


/* ─────────────────────────────────────────────────────────────────────────────
   VARIABLES — Charte numerique-senior.fr
───────────────────────────────────────────────────────────────────────────── */
:root {
    --ns-bleu-primaire   : #1A5276;
    --ns-bleu-hover      : #2E86C1;
    --ns-orange          : #E67E22;
    --ns-texte           : #2C3E50;
    --ns-gris-clair      : #F4F6F7;
    --ns-gris-bordure    : #E0E0E0;
    --ns-gris-secondaire : #7F8C8D;
    --ns-blanc           : #FFFFFF;
    --ns-radius          : 6px;
}


/* ─────────────────────────────────────────────────────────────────────────────
   GLOBAL — Lisibilité senior
───────────────────────────────────────────────────────────────────────────── */
body {
    color     : var(--ns-texte);
    font-size : 17px;
    line-height: 1.75;
}

a {
    color           : var(--ns-bleu-primaire);
    text-decoration : none;
}

a:hover {
    color           : var(--ns-bleu-hover);
    text-decoration : underline;
}


/* ─────────────────────────────────────────────────────────────────────────────
   NAVIGATION — Menu principal
───────────────────────────────────────────────────────────────────────────── */
.main-navigation a {
    font-size   : 16px;
    font-weight : 600;
    color       : var(--ns-texte);
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a {
    color : var(--ns-bleu-primaire);
}

/* Bouton CTA dans le menu (dernière entrée) */
.main-navigation .menu-item-cta > a {
    background-color : var(--ns-orange);
    color            : var(--ns-blanc) !important;
    padding          : 8px 18px;
    border-radius    : var(--ns-radius);
    font-weight      : 700;
    transition       : background-color 0.2s ease;
}

.main-navigation .menu-item-cta > a:hover {
    background-color : var(--ns-bleu-primaire);
    text-decoration  : none;
}

/* Header sticky */
.site-header.sticky {
    box-shadow : 0 2px 8px rgba(0, 0, 0, 0.08);
}


/* ─────────────────────────────────────────────────────────────────────────────
   FIL D'ARIANE — ns-ariane
───────────────────────────────────────────────────────────────────────────── */
.ns-ariane {
    background-color : var(--ns-gris-clair);
    border-bottom    : 1px solid var(--ns-gris-bordure);
    padding          : 10px 20px;
    font-size        : 14px;
    color            : var(--ns-gris-secondaire);
}

.ns-ariane a {
    color           : var(--ns-bleu-primaire);
    text-decoration : none;
    font-weight     : 500;
}

.ns-ariane a:hover {
    color           : var(--ns-orange);
    text-decoration : underline;
}

.ns-ariane span {
    color       : var(--ns-gris-secondaire);
    font-style  : italic;
}


/* ─────────────────────────────────────────────────────────────────────────────
   BLOC AUTEUR — ns-author-box
───────────────────────────────────────────────────────────────────────────── */
.ns-author-box {
    margin-top        : 50px;
    padding           : 25px 30px;
    border-top        : 3px solid var(--ns-bleu-primaire);
    background-color  : var(--ns-gris-clair);
    border-radius     : var(--ns-radius);
}

.ns-author-header {
    display        : flex;
    gap            : 20px;
    align-items    : flex-start;
    margin-bottom  : 0;
}

.ns-author-avatar img {
    border-radius : 50%;
    border        : 3px solid var(--ns-bleu-primaire);
    flex-shrink   : 0;
}

.ns-author-info {
    display        : flex;
    flex-direction : column;
    gap            : 4px;
}

.ns-author-info strong a {
    font-size       : 17px;
    font-weight     : 700;
    color           : var(--ns-bleu-primaire);
    text-decoration : none;
}

.ns-author-info strong a:hover {
    color : var(--ns-orange);
}

.ns-author-info p {
    margin    : 0;
    font-size : 15px;
    color     : var(--ns-gris-secondaire);
    line-height: 1.5;
}

.ns-author-info a[itemprop="sameAs"] {
    display          : inline-block;
    margin-top       : 6px;
    font-size        : 13px;
    font-weight      : 600;
    color            : var(--ns-blanc);
    background-color : #0A66C2; /* couleur LinkedIn */
    padding          : 4px 12px;
    border-radius    : 4px;
    text-decoration  : none;
    transition       : background-color 0.2s ease;
}

.ns-author-info a[itemprop="sameAs"]:hover {
    background-color : #004182;
}

/* Articles de l'auteur */
.ns-author-posts ul {
    margin : 10px 0 0 20px;
}


/* ─────────────────────────────────────────────────────────────────────────────
   PAGE D'ACCUEIL — ns-home
───────────────────────────────────────────────────────────────────────────── */

/* Sections communes */
.ns-section-inner {
    max-width : 1200px;
    margin    : 0 auto;
    padding   : 0 20px;
}

.ns-section-title {
    font-size     : 26px;
    font-weight   : 700;
    color         : var(--ns-bleu-primaire);
    margin-bottom : 30px;
    padding-bottom: 12px;
    border-bottom : 3px solid var(--ns-orange);
    display       : inline-block;
}

/* ── Hero ── */
.ns-hero {
    background    : linear-gradient(135deg, var(--ns-bleu-primaire) 0%, #2E86C1 100%);
    padding       : 60px 20px;
    text-align    : center;
}

.ns-hero-inner {
    max-width : 780px;
    margin    : 0 auto;
}

.ns-hero-title {
    font-size   : 38px;
    font-weight : 800;
    color       : var(--ns-blanc);
    margin      : 0 0 16px;
    line-height : 1.2;
}

.ns-hero-title span {
    color : var(--ns-orange);
}

.ns-hero-subtitle {
    font-size   : 18px;
    color       : rgba(255, 255, 255, 0.88);
    margin      : 0 0 32px;
    line-height : 1.6;
}

.ns-hero-search {
    display         : flex;
    max-width       : 580px;
    margin          : 0 auto;
    border-radius   : var(--ns-radius);
    overflow        : hidden;
    box-shadow      : 0 4px 20px rgba(0,0,0,0.2);
}

.ns-hero-search input {
    flex        : 1;
    border      : none;
    padding     : 16px 20px;
    font-size   : 16px;
    outline     : none;
    color       : var(--ns-texte);
    background  : var(--ns-blanc);
    border-radius: 0;
}

.ns-hero-search button {
    background-color : var(--ns-orange);
    color            : var(--ns-blanc);
    border           : none;
    padding          : 16px 28px;
    font-size        : 16px;
    font-weight      : 700;
    cursor           : pointer;
    transition       : background-color 0.2s ease;
    border-radius    : 0;
}

.ns-hero-search button:hover {
    background-color : #C0680F;
}

/* ── Catégories ── */
.ns-categories {
    padding    : 50px 20px;
    background : var(--ns-blanc);
}

.ns-cat-grid {
    display               : grid;
    grid-template-columns : repeat(auto-fill, minmax(180px, 1fr));
    gap                   : 16px;
}

.ns-cat-card {
    display          : flex;
    flex-direction   : column;
    align-items      : center;
    text-align       : center;
    padding          : 22px 14px;
    background       : var(--ns-gris-clair);
    border-radius    : var(--ns-radius);
    border           : 2px solid transparent;
    text-decoration  : none;
    transition       : all 0.2s ease;
    gap              : 8px;
}

.ns-cat-card:hover {
    border-color     : var(--ns-bleu-primaire);
    background       : var(--ns-blanc);
    box-shadow       : 0 4px 16px rgba(26, 82, 118, 0.12);
    text-decoration  : none;
    transform        : translateY(-2px);
}

.ns-cat-icon {
    font-size : 32px;
    line-height: 1;
}

.ns-cat-name {
    font-size   : 14px;
    font-weight : 700;
    color       : var(--ns-bleu-primaire);
    line-height : 1.3;
}

.ns-cat-count {
    font-size : 12px;
    color     : var(--ns-gris-secondaire);
}

/* ── Derniers articles ── */
.ns-latest {
    padding    : 50px 20px;
    background : var(--ns-gris-clair);
}

.ns-articles-grid {
    display               : grid;
    grid-template-columns : repeat(3, 1fr);
    gap                   : 24px;
}

.ns-article-card {
    background    : var(--ns-blanc);
    border-radius : var(--ns-radius);
    overflow      : hidden;
    box-shadow    : 0 2px 8px rgba(0,0,0,0.06);
    transition    : box-shadow 0.2s ease;
    display       : flex;
    flex-direction: column;
}

.ns-article-card:hover {
    box-shadow : 0 6px 20px rgba(0,0,0,0.1);
}

.ns-article-thumb img {
    width      : 100%;
    height     : 180px;
    object-fit : cover;
    display    : block;
}

.ns-article-body {
    padding        : 18px;
    display        : flex;
    flex-direction : column;
    flex           : 1;
    gap            : 8px;
}

.ns-article-cat {
    font-size       : 12px;
    font-weight     : 700;
    color           : var(--ns-blanc);
    background      : var(--ns-bleu-primaire);
    padding         : 3px 8px;
    border-radius   : 3px;
    text-decoration : none;
    display         : inline-block;
    width           : fit-content;
}

.ns-article-title {
    font-size   : 17px;
    font-weight : 700;
    margin      : 0;
    line-height : 1.4;
}

.ns-article-title a {
    color           : var(--ns-texte);
    text-decoration : none;
}

.ns-article-title a:hover {
    color : var(--ns-bleu-primaire);
}

.ns-article-excerpt {
    font-size   : 14px;
    color       : var(--ns-gris-secondaire);
    margin      : 0;
    flex        : 1;
    line-height : 1.55;
}

.ns-article-lire {
    font-size       : 14px;
    font-weight     : 600;
    color           : var(--ns-orange);
    text-decoration : none;
    margin-top      : auto;
}

.ns-article-lire:hover {
    color           : var(--ns-bleu-primaire);
    text-decoration : none;
}

/* ── Valeurs ── */
.ns-valeurs {
    padding    : 50px 20px;
    background : var(--ns-blanc);
}

.ns-valeurs-grid {
    display               : grid;
    grid-template-columns : repeat(3, 1fr);
    gap                   : 24px;
}

.ns-valeur-card {
    padding       : 28px 24px;
    background    : var(--ns-gris-clair);
    border-radius : var(--ns-radius);
    border-top    : 4px solid var(--ns-bleu-primaire);
    transition    : border-color 0.2s ease;
}

.ns-valeur-card:hover {
    border-top-color : var(--ns-orange);
}

.ns-valeur-icon {
    font-size     : 36px;
    display       : block;
    margin-bottom : 12px;
    line-height   : 1;
}

.ns-valeur-card h3 {
    font-size     : 18px;
    font-weight   : 700;
    color         : var(--ns-bleu-primaire);
    margin        : 0 0 10px;
}

.ns-valeur-card p {
    font-size   : 15px;
    color       : var(--ns-gris-secondaire);
    margin      : 0;
    line-height : 1.65;
}

/* ── Home — pas de sidebar ── */
.home .site-content .content-area {
    width : 100% !important;
}

.home .widget-area {
    display : none !important;
}


/* ─────────────────────────────────────────────────────────────────────────────
   PAGE AUTEUR — ns-author-page
───────────────────────────────────────────────────────────────────────────── */

.ns-author-page {
    max-width  : 100%;
    overflow-x : hidden;
}

/* Hero */
.ns-author-hero {
    background : linear-gradient( 135deg, var(--ns-bleu-primaire) 0%, var(--ns-bleu-hover) 100% );
    padding    : 60px 20px;
    color      : var(--ns-blanc);
}

.ns-author-hero-inner {
    max-width   : 860px;
    margin      : 0 auto;
    display     : flex;
    gap         : 40px;
    align-items : center;
}

.ns-author-avatar-wrap img {
    width         : 120px;
    height        : 120px;
    border-radius : 50%;
    border        : 4px solid rgba(255,255,255,0.3);
    object-fit    : cover;
    display       : block;
}

.ns-author-name {
    font-size   : 32px;
    font-weight : 700;
    color       : var(--ns-blanc);
    margin      : 0 0 6px;
}

.ns-author-titre {
    font-size   : 16px;
    color       : var(--ns-orange);
    font-weight : 600;
    margin      : 0 0 12px;
}

.ns-author-tagline-text {
    font-size   : 15px;
    color       : rgba(255,255,255,0.82);
    line-height : 1.7;
    margin      : 0 0 20px;
    max-width   : 580px;
}

/* Boutons réseaux sociaux */
.ns-author-socials {
    display : flex;
    gap     : 12px;
    flex-wrap: wrap;
}

.ns-social-btn {
    display         : inline-flex;
    align-items     : center;
    gap             : 7px;
    padding         : 8px 16px;
    border-radius   : var(--ns-radius);
    font-size       : 13px;
    font-weight     : 600;
    text-decoration : none;
    transition      : opacity 0.2s ease;
}

.ns-social-btn:hover {
    opacity         : 0.85;
    text-decoration : none;
}

.ns-social-linkedin {
    background-color : #0A66C2;
    color            : #fff;
}

.ns-social-facebook {
    background-color : #1877F2;
    color            : #fff;
}

/* Contenu parcours */
.ns-author-content {
    background : var(--ns-gris-clair);
    padding    : 50px 20px;
}

.ns-author-content-inner {
    max-width             : 860px;
    margin                : 0 auto;
    display               : grid;
    grid-template-columns : 1fr 1fr;
    gap                   : 50px;
}

.ns-author-section-title {
    font-size     : 18px;
    font-weight   : 700;
    color         : var(--ns-bleu-primaire);
    margin        : 0 0 24px;
    padding-bottom: 10px;
    border-bottom : 2px solid var(--ns-gris-bordure);
}

/* Timeline */
.ns-timeline {
    display        : flex;
    flex-direction : column;
    gap            : 0;
    position       : relative;
    padding-left   : 24px;
    border-left    : 2px solid var(--ns-gris-bordure);
}

.ns-timeline-item {
    position      : relative;
    padding       : 0 0 28px 20px;
}

.ns-timeline-item:last-child {
    padding-bottom : 0;
}

.ns-timeline-dot {
    position      : absolute;
    left          : -9px;
    top           : 5px;
    width         : 14px;
    height        : 14px;
    border-radius : 50%;
    background    : var(--ns-gris-bordure);
    border        : 2px solid var(--ns-blanc);
}

.ns-timeline-actuel .ns-timeline-dot {
    background : var(--ns-orange);
}

.ns-timeline-dot-formation {
    background : var(--ns-bleu-hover);
}

.ns-timeline-body {
    display        : flex;
    flex-direction : column;
    gap            : 3px;
}

.ns-tl-poste {
    font-size   : 15px;
    font-weight : 700;
    color       : var(--ns-texte);
}

.ns-tl-org {
    font-size   : 14px;
    font-weight : 600;
    color       : var(--ns-bleu-hover);
}

.ns-tl-contrat {
    display          : inline-block;
    font-size        : 11px;
    font-weight      : 600;
    background-color : var(--ns-gris-clair);
    color            : var(--ns-gris-secondaire);
    padding          : 2px 8px;
    border-radius    : 20px;
    border           : 1px solid var(--ns-gris-bordure);
    width            : fit-content;
}

.ns-timeline-actuel .ns-tl-contrat {
    background-color : #FEF3E8;
    color            : var(--ns-orange);
    border-color     : #F5C49A;
}

.ns-tl-meta {
    font-size : 12px;
    color     : var(--ns-gris-secondaire);
}

/* Articles de l'auteur */
.ns-author-articles {
    padding : 50px 20px;
}


/* ─────────────────────────────────────────────────────────────────────────────
   FOOTER — ns-footer
───────────────────────────────────────────────────────────────────────────── */
.ns-footer {
    background-color : var(--ns-bleu-primaire);
    color            : rgba(255, 255, 255, 0.85);
    margin-top       : 60px;
}

.ns-footer-inner {
    max-width       : 1200px;
    margin          : 0 auto;
    padding         : 50px 20px 40px;
    display         : grid;
    grid-template-columns : 1fr 2fr;
    gap             : 60px;
    align-items     : start;
}

/* Brand */
.ns-footer-logo {
    display         : block;
    text-decoration : none;
    margin-bottom   : 20px;
}

.ns-footer-tagline {
    font-size   : 14px;
    line-height : 1.7;
    color       : rgba(255, 255, 255, 0.65);
    margin      : 0;
}

/* Colonnes */
.ns-footer-cols {
    display               : grid;
    grid-template-columns : repeat(3, 1fr);
    gap                   : 30px;
}

.ns-footer-col h4 {
    font-size     : 13px;
    font-weight   : 700;
    color         : var(--ns-blanc);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin        : 0 0 16px;
    padding-bottom: 10px;
    border-bottom : 1px solid rgba(255, 255, 255, 0.15);
}

.ns-footer-col ul {
    list-style : none;
    margin     : 0;
    padding    : 0;
}

.ns-footer-col ul li {
    margin-bottom : 10px;
}

.ns-footer-col ul li a {
    color           : rgba(255, 255, 255, 0.7);
    text-decoration : none;
    font-size       : 14px;
    transition      : color 0.2s ease;
}

.ns-footer-col ul li a:hover {
    color           : var(--ns-orange);
    text-decoration : none;
}

/* Copyright bar */
.ns-footer-bottom {
    background-color : rgba(0, 0, 0, 0.2);
    border-top       : 1px solid rgba(255, 255, 255, 0.08);
}

.ns-footer-bottom-inner {
    max-width       : 1200px;
    margin          : 0 auto;
    padding         : 16px 20px;
    display         : flex;
    justify-content : space-between;
    align-items     : center;
    font-size       : 13px;
    color           : rgba(255, 255, 255, 0.45);
}

.ns-footer-bottom-inner a {
    color           : rgba(255, 255, 255, 0.45);
    text-decoration : none;
}

.ns-footer-bottom-inner a:hover {
    color : var(--ns-orange);
}

/* Masquer le footer natif GeneratePress */
.site-footer .site-info {
    display : none;
}


/* ─────────────────────────────────────────────────────────────────────────────
   BARRE SUPÉRIEURE — ns-top-bar
───────────────────────────────────────────────────────────────────────────── */
.ns-top-bar {
    background-color : var(--ns-bleu-primaire);
    color            : var(--ns-blanc);
    font-size        : 13px;
    padding          : 7px 0;
}

.ns-top-bar-inner {
    max-width       : 1200px;
    margin          : 0 auto;
    padding         : 0 20px;
    display         : flex;
    justify-content : space-between;
    align-items     : center;
}

.ns-top-bar-left {
    opacity : 0.9;
}

.ns-top-bar-right {
    color            : var(--ns-blanc);
    text-decoration  : none;
    font-weight      : 600;
    border           : 1px solid rgba(255, 255, 255, 0.4);
    padding          : 3px 10px;
    border-radius    : 3px;
    transition       : background-color 0.2s ease;
}

.ns-top-bar-right:hover {
    background-color : rgba(255, 255, 255, 0.15);
    color            : var(--ns-blanc);
    text-decoration  : none;
}

/* Barre de recherche permanente sous la top bar */
.ns-search-bar {
    background    : var(--ns-bleu-primaire);
    border-top    : 1px solid rgba(255,255,255,0.12);
    padding       : 14px 20px;
}

.ns-search-bar-inner {
    max-width : 700px;
    margin    : 0 auto;
}

.ns-search-bar form {
    display     : flex;
    align-items : center;
    background  : rgba(255,255,255,0.12);
    border      : 1px solid rgba(255,255,255,0.3);
    border-radius : var(--ns-radius);
    overflow    : hidden;
}

.ns-search-bar-icon {
    color       : rgba(255,255,255,0.6);
    margin-left : 14px;
    flex-shrink : 0;
}

.ns-search-bar input[type="search"] {
    flex        : 1;
    background  : transparent;
    border      : none;
    color       : #fff;
    font-size   : 0.95rem;
    padding     : 10px 14px;
    outline     : none;
    min-width   : 0;
}

.ns-search-bar input[type="search"]::placeholder {
    color : rgba(255,255,255,0.6);
}

.ns-search-bar button[type="submit"] {
    background    : transparent;
    border        : none;
    border-left   : 1px solid rgba(255,255,255,0.2);
    color         : rgba(255,255,255,0.8);
    font-size     : 0.88rem;
    font-weight   : 600;
    padding       : 10px 20px;
    cursor        : pointer;
    flex-shrink   : 0;
    transition    : background 0.2s, color 0.2s;
}

.ns-search-bar button[type="submit"]:hover {
    background : rgba(255,255,255,0.15);
    color      : #fff;
}


/* ─────────────────────────────────────────────────────────────────────────────
   RESPONSIVE — Mobile / tablette (seniors souvent sur tablette)
───────────────────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {

    body {
        font-size : 16px;
    }

    .ns-top-bar-inner {
        flex-direction : column;
        gap            : 5px;
        text-align     : center;
    }

    .ns-hero-title {
        font-size : 26px;
    }

    .ns-hero-subtitle {
        font-size : 16px;
    }

    .ns-hero-search {
        flex-direction : column;
    }

    .ns-hero-search input,
    .ns-hero-search button {
        border-radius : var(--ns-radius);
        width         : 100%;
    }

    .ns-cat-grid {
        grid-template-columns : repeat(2, 1fr);
    }

    .ns-articles-grid {
        grid-template-columns : 1fr;
    }

    .ns-valeurs-grid {
        grid-template-columns : 1fr;
    }

    .ns-footer-inner {
        grid-template-columns : 1fr;
        gap                   : 30px;
        padding               : 40px 20px 30px;
    }

    .ns-footer-cols {
        grid-template-columns : 1fr;
        gap                   : 24px;
    }

    .ns-footer-bottom-inner {
        flex-direction : column;
        gap            : 6px;
        text-align     : center;
    }

    .ns-ariane {
        font-size : 13px;
        padding   : 8px 15px;
    }

    .ns-author-hero-inner {
        flex-direction : column;
        align-items    : center;
        text-align     : center;
    }

    .ns-author-tagline-text {
        margin-left  : auto;
        margin-right : auto;
    }

    .ns-author-socials {
        justify-content : center;
    }

    .ns-author-content-inner {
        grid-template-columns : 1fr;
        gap                   : 30px;
    }

    .ns-author-header {
        flex-direction : column;
        align-items    : center;
        text-align     : center;
    }

    .ns-author-box {
        padding : 20px 15px;
    }

}


/* ─────────────────────────────────────────────────────────────────────────────
   PAGE À PROPOS
───────────────────────────────────────────────────────────────────────────── */

/* Masquer sidebar sur page à propos */
.page-template-page-apropos .widget-area { display: none !important; }
.page-template-page-apropos .site-content .content-area { width: 100% !important; }

.ns-apropos-page {
    max-width  : 100%;
    overflow-x : hidden;
}

/* Hero */
.ns-apropos-hero {
    background    : linear-gradient(135deg, #1A5276 0%, #2E86C1 100%);
    padding       : 70px 20px;
    text-align    : center;
    color         : #fff;
    margin-bottom : 0;
}

.ns-apropos-hero-inner {
    max-width : 780px;
    margin    : 0 auto;
}

.ns-apropos-overtitle {
    font-size      : 13px;
    font-weight    : 600;
    letter-spacing : 2px;
    text-transform : uppercase;
    color          : rgba(255,255,255,0.7);
    margin-bottom  : 14px;
}

.ns-apropos-titre {
    font-size     : 2rem;
    font-weight   : 700;
    color         : #fff;
    margin-bottom : 20px;
    line-height   : 1.3;
}

.ns-apropos-tagline {
    font-size   : 1.1rem;
    color       : rgba(255,255,255,0.88);
    line-height : 1.7;
    max-width   : 640px;
    margin      : 0 auto;
}

/* Sections communes */
.ns-apropos-section-inner {
    max-width : 1100px;
    margin    : 0 auto;
    padding   : 60px 20px;
}

.ns-apropos-section-inner h2,
.ns-apropos-section-inner .ns-section-title {
    font-size     : 1.6rem;
    font-weight   : 700;
    color         : var(--ns-bleu-primaire);
    margin-bottom : 30px;
    text-align    : center;
}

/* Mission */
.ns-apropos-mission {
    background : var(--ns-gris-clair);
}

.ns-apropos-mission-grid {
    display               : grid;
    grid-template-columns : 1fr 1fr;
    gap                   : 60px;
    align-items           : start;
}

.ns-apropos-mission-text h2 {
    text-align    : left;
    margin-bottom : 20px;
}

.ns-apropos-mission-text p {
    color         : var(--ns-texte);
    margin-bottom : 16px;
    font-size     : 1rem;
}

.ns-apropos-mission-chiffres {
    display               : grid;
    grid-template-columns : 1fr 1fr;
    gap                   : 20px;
}

.ns-apropos-chiffre {
    background    : #fff;
    border-radius : var(--ns-radius);
    padding       : 24px 20px;
    text-align    : center;
    border        : 1px solid var(--ns-gris-bordure);
}

.ns-chiffre-nb {
    display       : block;
    font-size     : 2.2rem;
    font-weight   : 700;
    color         : var(--ns-orange);
    line-height   : 1;
    margin-bottom : 8px;
}

.ns-chiffre-label {
    font-size  : 0.85rem;
    color      : var(--ns-gris-secondaire);
    line-height: 1.3;
}

/* Valeurs */
.ns-apropos-valeurs {
    background : #fff;
}

.ns-valeurs-grid {
    display               : grid;
    grid-template-columns : repeat(3, 1fr);
    gap                   : 24px;
}

.ns-valeur-card {
    background    : var(--ns-gris-clair);
    border-radius : var(--ns-radius);
    padding       : 28px 24px;
    border        : 1px solid var(--ns-gris-bordure);
    transition    : transform 0.2s, box-shadow 0.2s;
}

.ns-valeur-card:hover {
    transform  : translateY(-3px);
    box-shadow : 0 6px 20px rgba(0,0,0,0.08);
}

.ns-valeur-emoji {
    font-size     : 2rem;
    display       : block;
    margin-bottom : 12px;
}

.ns-valeur-titre {
    font-size     : 1rem;
    font-weight   : 700;
    color         : var(--ns-bleu-primaire);
    margin-bottom : 10px;
}

.ns-valeur-texte {
    font-size   : 0.92rem;
    color       : var(--ns-gris-secondaire);
    line-height : 1.6;
    margin      : 0;
}

/* Équipe */
.ns-apropos-equipe {
    background : var(--ns-gris-clair);
}

.ns-equipe-intro {
    text-align    : center;
    color         : var(--ns-gris-secondaire);
    margin-bottom : 40px;
    margin-top    : -10px;
}

.ns-equipe-grid {
    display               : grid;
    grid-template-columns : 1fr 1fr;
    gap                   : 30px;
}

.ns-equipe-card {
    background    : #fff;
    border-radius : var(--ns-radius);
    padding       : 36px 32px;
    border        : 1px solid var(--ns-gris-bordure);
    display       : flex;
    gap           : 28px;
    align-items   : flex-start;
}

.ns-equipe-avatar {
    flex-shrink : 0;
    width       : 100px;
    height      : 100px;
}

.ns-equipe-avatar img {
    border-radius    : 50% !important;
    width            : 100px !important;
    height           : 100px !important;
    object-fit       : cover !important;
    object-position  : center top !important;
    border           : 3px solid var(--ns-bleu-primaire) !important;
    display          : block !important;
    contain-intrinsic-size: auto !important;
}

.ns-equipe-nom {
    font-size     : 1.2rem;
    font-weight   : 700;
    color         : var(--ns-bleu-primaire);
    margin-bottom : 4px;
}

.ns-equipe-titre {
    font-size     : 0.88rem;
    color         : var(--ns-orange);
    font-weight   : 600;
    margin-bottom : 12px;
}

.ns-equipe-bio {
    font-size     : 0.92rem;
    color         : var(--ns-gris-secondaire);
    line-height   : 1.6;
    margin-bottom : 18px;
}

.ns-equipe-links {
    display   : flex;
    gap       : 10px;
    flex-wrap : wrap;
}

.ns-equipe-btn-profil {
    background    : var(--ns-bleu-primaire);
    color         : #fff !important;
    padding       : 8px 16px;
    border-radius : var(--ns-radius);
    font-size     : 0.88rem;
    font-weight   : 600;
    text-decoration: none !important;
    transition    : background 0.2s;
}

.ns-equipe-btn-profil:hover {
    background : var(--ns-bleu-hover);
    color      : #fff !important;
}

.ns-equipe-btn-linkedin {
    background    : #0A66C2;
    color         : #fff !important;
    padding       : 8px 14px;
    border-radius : var(--ns-radius);
    font-size     : 0.88rem;
    font-weight   : 600;
    text-decoration: none !important;
    display       : flex;
    align-items   : center;
    gap           : 6px;
    transition    : background 0.2s;
}

.ns-equipe-btn-linkedin:hover {
    background : #004182;
    color      : #fff !important;
}

.ns-equipe-btn-facebook {
    background    : #1877F2;
    color         : #fff !important;
    padding       : 8px 14px;
    border-radius : var(--ns-radius);
    font-size     : 0.88rem;
    font-weight   : 600;
    text-decoration: none !important;
    display       : flex;
    align-items   : center;
    gap           : 6px;
    transition    : background 0.2s;
}

.ns-equipe-btn-facebook:hover {
    background : #0b5fcc;
    color      : #fff !important;
}

/* Contact */
.ns-apropos-contact {
    background : var(--ns-bleu-primaire);
    color      : #fff;
    text-align : center;
}

.ns-apropos-contact h2 {
    color         : #fff !important;
    margin-bottom : 12px;
}

.ns-apropos-contact p {
    color         : rgba(255,255,255,0.85);
    margin-bottom : 30px;
}

.ns-apropos-contact-links {
    display         : flex;
    gap             : 16px;
    justify-content : center;
    flex-wrap       : wrap;
}

.ns-apropos-btn-contact,
.ns-apropos-btn-email,
.ns-apropos-btn-partenariat {
    padding       : 12px 22px;
    border-radius : var(--ns-radius);
    font-size     : 0.95rem;
    font-weight   : 600;
    text-decoration: none !important;
    transition    : opacity 0.2s;
}

.ns-apropos-btn-contact {
    background : var(--ns-orange);
    color      : #fff !important;
}

.ns-apropos-btn-email {
    background : rgba(255,255,255,0.15);
    color      : #fff !important;
    border     : 1px solid rgba(255,255,255,0.4);
}

.ns-apropos-btn-partenariat {
    background : rgba(255,255,255,0.1);
    color      : #fff !important;
    border     : 1px solid rgba(255,255,255,0.3);
}

.ns-apropos-btn-contact:hover,
.ns-apropos-btn-email:hover,
.ns-apropos-btn-partenariat:hover {
    opacity : 0.85;
    color   : #fff !important;
}

/* Responsive */
@media (max-width: 768px) {

    .ns-apropos-titre { font-size: 1.5rem; }

    .ns-apropos-mission-grid {
        grid-template-columns : 1fr;
        gap                   : 30px;
    }

    .ns-valeurs-grid {
        grid-template-columns : 1fr;
    }

    .ns-equipe-grid {
        grid-template-columns : 1fr;
    }

    .ns-equipe-card {
        flex-direction : column;
        align-items    : center;
        text-align     : center;
    }

    .ns-equipe-links {
        justify-content : center;
    }

    .ns-apropos-contact-links {
        flex-direction : column;
        align-items    : center;
    }

}


/* ─────────────────────────────────────────────────────────────────────────────
   ARTICLES — Pleine largeur (pas de sidebar)
───────────────────────────────────────────────────────────────────────────── */

.single .content-area {
    width : 100% !important;
}

.single .widget-area {
    display : none !important;
}


/* Masquer la méta GP native sur les articles (remplacée par ns-article-meta) */
.single .entry-header .entry-meta {
    display : none !important;
}


/* ─────────────────────────────────────────────────────────────────────────────
   ARTICLES — Barre méta auteur
───────────────────────────────────────────────────────────────────────────── */

.ns-article-meta {
    display        : flex;
    align-items    : center;
    gap            : 14px;
    flex-wrap      : wrap;
    margin-bottom  : 28px;
    padding-bottom : 20px;
    border-bottom  : 1px solid var(--ns-gris-bordure);
}

.ns-meta-cat {
    background      : var(--ns-bleu-primaire);
    color           : #fff !important;
    font-size       : 0.75rem;
    font-weight     : 700;
    text-transform  : uppercase;
    letter-spacing  : 1px;
    padding         : 4px 10px;
    border-radius   : 3px;
    text-decoration : none !important;
    white-space     : nowrap;
}

.ns-meta-cat:hover {
    background : var(--ns-bleu-hover);
    color      : #fff !important;
}

.ns-meta-author {
    display     : flex;
    align-items : center;
    gap         : 10px;
}

.ns-meta-avatar {
    display         : block;
    text-decoration : none !important;
    flex-shrink     : 0;
}

.ns-meta-details {
    display        : flex;
    flex-direction : column;
    gap            : 2px;
}

.ns-meta-name {
    font-size       : 0.92rem;
    font-weight     : 700;
    color           : var(--ns-bleu-primaire) !important;
    text-decoration : none !important;
    line-height     : 1.2;
}

.ns-meta-name:hover {
    color : var(--ns-bleu-hover) !important;
}

.ns-meta-date-time {
    display     : flex;
    align-items : center;
    gap         : 6px;
    font-size   : 0.82rem;
    color       : var(--ns-gris-secondaire);
}

.ns-meta-sep {
    color : var(--ns-gris-bordure);
}

.ns-meta-read {
    color : var(--ns-gris-secondaire);
}


/* ─────────────────────────────────────────────────────────────────────────────
   ARTICLES — Sommaire (Table des matières)
───────────────────────────────────────────────────────────────────────────── */

.ns-toc {
    background    : var(--ns-gris-clair);
    border        : 1px solid var(--ns-gris-bordure);
    border-left   : 4px solid var(--ns-bleu-primaire);
    border-radius : var(--ns-radius);
    padding       : 20px 24px;
    margin-bottom : 36px;
    max-width     : 680px;
}

.ns-toc-header {
    display         : flex;
    align-items     : center;
    gap             : 10px;
    margin-bottom   : 14px;
}

.ns-toc-icon {
    font-size : 1.1rem;
}

.ns-toc-title {
    font-size   : 1rem;
    font-weight : 700;
    color       : var(--ns-bleu-primaire);
    flex        : 1;
}

.ns-toc-toggle {
    background      : transparent;
    border          : 1px solid var(--ns-gris-bordure);
    border-radius   : 4px;
    padding         : 3px 10px;
    font-size       : 0.8rem;
    color           : var(--ns-gris-secondaire);
    cursor          : pointer;
    transition      : all 0.2s;
}

.ns-toc-toggle:hover {
    background : var(--ns-bleu-primaire);
    color      : #fff;
    border-color : var(--ns-bleu-primaire);
}

#ns-toc-list {
    margin      : 0;
    padding     : 0 0 0 20px;
    list-style  : decimal;
}

#ns-toc-list li {
    margin-bottom : 8px;
    font-size     : 0.95rem;
    line-height   : 1.4;
}

#ns-toc-list li a {
    color           : var(--ns-bleu-primaire);
    text-decoration : none;
    transition      : color 0.15s;
}

#ns-toc-list li a:hover {
    color           : var(--ns-orange);
    text-decoration : underline;
}


/* ─────────────────────────────────────────────────────────────────────────────
   ARTICLES — Bloc auteur en bas (refait)
───────────────────────────────────────────────────────────────────────────── */

.ns-author-box {
    background    : var(--ns-gris-clair);
    border        : 1px solid var(--ns-gris-bordure);
    border-top    : 4px solid var(--ns-bleu-primaire);
    border-radius : var(--ns-radius);
    padding       : 32px;
    margin-top    : 40px;
}

.ns-author-box-inner {
    display     : flex;
    gap         : 28px;
    align-items : flex-start;
}

.ns-author-box-avatar {
    flex-shrink : 0;
}

.ns-author-box-avatar a {
    display : block;
}

.ns-author-box-label {
    font-size      : 0.72rem;
    font-weight    : 700;
    text-transform : uppercase;
    letter-spacing : 1.5px;
    color          : var(--ns-gris-secondaire);
    margin-bottom  : 6px;
}

.ns-author-box-name {
    font-size     : 1.2rem;
    font-weight   : 700;
    margin-bottom : 4px;
}

.ns-author-box-name a {
    color           : var(--ns-bleu-primaire) !important;
    text-decoration : none !important;
}

.ns-author-box-name a:hover {
    color : var(--ns-bleu-hover) !important;
}

.ns-author-box-job {
    font-size     : 0.88rem;
    color         : var(--ns-orange);
    font-weight   : 600;
    margin-bottom : 12px;
}

.ns-author-box-bio {
    font-size     : 0.95rem;
    color         : var(--ns-texte);
    line-height   : 1.7;
    margin-bottom : 18px;
}

.ns-author-box-links {
    display   : flex;
    gap       : 10px;
    flex-wrap : wrap;
}

.ns-author-box-btn-profil {
    background      : var(--ns-bleu-primaire);
    color           : #fff !important;
    padding         : 9px 18px;
    border-radius   : var(--ns-radius);
    font-size       : 0.88rem;
    font-weight     : 600;
    text-decoration : none !important;
    transition      : background 0.2s;
}

.ns-author-box-btn-profil:hover {
    background : var(--ns-bleu-hover);
    color      : #fff !important;
}

.ns-author-box-btn-linkedin,
.ns-author-box-btn-facebook {
    padding         : 9px 14px;
    border-radius   : var(--ns-radius);
    font-size       : 0.88rem;
    font-weight     : 600;
    text-decoration : none !important;
    display         : inline-flex;
    align-items     : center;
    gap             : 6px;
    transition      : background 0.2s;
}

.ns-author-box-btn-linkedin {
    background : #0A66C2;
    color      : #fff !important;
}

.ns-author-box-btn-linkedin:hover {
    background : #004182;
    color      : #fff !important;
}

.ns-author-box-btn-facebook {
    background : #1877F2;
    color      : #fff !important;
}

.ns-author-box-btn-facebook:hover {
    background : #0b5fcc;
    color      : #fff !important;
}

/* Responsive articles */
@media (max-width: 768px) {

    .ns-article-meta {
        gap : 10px;
    }

    .ns-toc {
        max-width : 100%;
    }

    .ns-author-box-inner {
        flex-direction : column;
        align-items    : center;
        text-align     : center;
    }

    .ns-author-box-links {
        justify-content : center;
    }

}


/* Fix couleurs texte cartes catégories home */
.ns-cat-card,
.ns-cat-card .ns-cat-name,
.ns-cat-card .ns-cat-count {
    color : var(--ns-texte) !important;
}

.ns-cat-card:hover .ns-cat-name {
    color : var(--ns-bleu-primaire) !important;
}

/* Pleine largeur — masquer sidebar */
.category .content-area    { width: 100% !important; }
.category .widget-area     { display: none !important; }

/* Masquer le h1 GP natif (remplacé par ns-cat-header) */
.category .page-header { display: none !important; }

/* ── Header catégorie ── */
.ns-cat-header {
    background    : linear-gradient(135deg, #1A5276 0%, #2E86C1 100%);
    padding       : 50px 20px 40px;
    margin-bottom : 40px;
    text-align    : center;
    color         : #fff;
}

.ns-cat-header-inner {
    max-width : 760px;
    margin    : 0 auto;
}

.ns-cat-overtitle {
    font-size      : 11px;
    font-weight    : 700;
    letter-spacing : 2.5px;
    text-transform : uppercase;
    color          : rgba(255,255,255,0.65);
    margin-bottom  : 10px;
}

.ns-cat-title {
    font-size     : 2rem;
    font-weight   : 700;
    color         : #fff;
    margin-bottom : 14px;
    line-height   : 1.25;
}

.ns-cat-desc {
    font-size   : 1rem;
    color       : rgba(255,255,255,0.85);
    line-height : 1.65;
    margin-bottom : 16px;
    max-width   : 620px;
    margin-left : auto;
    margin-right: auto;
}

.ns-cat-count {
    display         : inline-block;
    background      : rgba(255,255,255,0.15);
    border          : 1px solid rgba(255,255,255,0.3);
    border-radius   : 20px;
    padding         : 5px 16px;
    font-size       : 0.85rem;
    color           : rgba(255,255,255,0.9);
    margin          : 0;
}

.ns-cat-count span {
    font-weight : 700;
    color       : #fff;
}

/* ── Grille d'articles en catégorie ── */
.category .site-main {
    max-width : 1100px;
    margin    : 0 auto;
    padding   : 0 20px 40px;
}

/* Grille 3 colonnes via CSS grid sur les articles */
.category .site-main > article {
    background    : #fff;
    border-radius : var(--ns-radius);
    border        : 1px solid var(--ns-gris-bordure);
    overflow      : hidden;
    transition    : box-shadow 0.2s, transform 0.2s;
    margin-bottom : 0;
}

.category .site-main > article:hover {
    box-shadow : 0 6px 24px rgba(0,0,0,0.09);
    transform  : translateY(-2px);
}

/* Wrapper grille */
.category .site-main {
    display               : grid;
    grid-template-columns : repeat(3, 1fr);
    gap                   : 24px;
    align-items           : start;
}

/* Image mise en avant */
.category .post-image {
    margin : 0;
}

.category .post-image img {
    width         : 100%;
    height        : 180px;
    object-fit    : cover;
    display       : block;
    border-radius : 0;
}

/* Contenu carte */
.category .inside-article {
    padding : 0;
}

.category .entry-header {
    padding : 16px 18px 0;
}

.category .entry-title {
    font-size     : 1.05rem;
    font-weight   : 700;
    line-height   : 1.4;
    margin-bottom : 8px;
}

.category .entry-title a {
    color           : var(--ns-bleu-primaire) !important;
    text-decoration : none !important;
}

.category .entry-title a:hover {
    color : var(--ns-bleu-hover) !important;
}

.category .entry-meta {
    font-size     : 0.8rem;
    color         : var(--ns-gris-secondaire);
    margin-bottom : 0;
    padding-bottom: 0;
}

.category .entry-meta .author a {
    color : var(--ns-bleu-primaire);
}

.category .entry-summary {
    padding   : 10px 18px 0;
    font-size : 0.9rem;
    color     : var(--ns-gris-secondaire);
    line-height : 1.55;
}

.category .entry-summary p {
    margin : 0;
}

/* Footer carte — catégories + tags discrets */
.category footer.entry-meta {
    padding    : 12px 18px;
    font-size  : 0.78rem;
    border-top : 1px solid var(--ns-gris-bordure);
    margin-top : 14px;
}

.category footer.entry-meta a {
    color : var(--ns-bleu-primaire);
}

/* Pager de pagination */
.category .paging-navigation {
    grid-column   : 1 / -1;
    text-align    : center;
    padding       : 20px 0;
}

.category .paging-navigation .nav-links {
    display         : flex;
    justify-content : center;
    gap             : 8px;
    flex-wrap       : wrap;
}

.category .paging-navigation a,
.category .paging-navigation span {
    display       : inline-block;
    padding       : 8px 16px;
    border-radius : var(--ns-radius);
    font-size     : 0.9rem;
    font-weight   : 600;
    border        : 1px solid var(--ns-gris-bordure);
    color         : var(--ns-bleu-primaire);
    text-decoration: none !important;
    transition    : all 0.2s;
}

.category .paging-navigation a:hover {
    background : var(--ns-bleu-primaire);
    color      : #fff !important;
    border-color: var(--ns-bleu-primaire);
}

.category .paging-navigation .current {
    background   : var(--ns-bleu-primaire);
    color        : #fff;
    border-color : var(--ns-bleu-primaire);
}

/* Responsive catégorie */
@media (max-width: 900px) {
    .category .site-main {
        grid-template-columns : repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .ns-cat-title { font-size: 1.5rem; }

    .category .site-main {
        grid-template-columns : 1fr;
    }
}


/* ─────────────────────────────────────────────────────────────────────────────
   PAGE PARTENARIATS
───────────────────────────────────────────────────────────────────────────── */

/* Masquer sidebar */
.page-template-page-partenariats .widget-area { display: none !important; }
.page-template-page-partenariats .site-content .content-area { width: 100% !important; }

.ns-part-page { max-width: 100%; overflow-x: hidden; }

/* Hero */
.ns-part-hero {
    background  : linear-gradient(135deg, #1A5276 0%, #2E86C1 100%);
    padding     : 70px 20px;
    text-align  : center;
    color       : #fff;
}

.ns-part-hero-inner {
    max-width : 800px;
    margin    : 0 auto;
}

.ns-part-overtitle {
    font-size      : 12px;
    font-weight    : 700;
    letter-spacing : 2.5px;
    text-transform : uppercase;
    color          : rgba(255,255,255,0.65);
    margin-bottom  : 14px;
}

.ns-part-titre {
    font-size     : 2.2rem;
    font-weight   : 700;
    color         : #fff;
    line-height   : 1.25;
    margin-bottom : 20px;
}

.ns-part-tagline {
    font-size     : 1.05rem;
    color         : rgba(255,255,255,0.85);
    line-height   : 1.7;
    max-width     : 660px;
    margin        : 0 auto 32px;
}

.ns-part-cta {
    display         : inline-block;
    background      : var(--ns-orange);
    color           : #fff !important;
    padding         : 14px 28px;
    border-radius   : var(--ns-radius);
    font-size       : 1rem;
    font-weight     : 700;
    text-decoration : none !important;
    transition      : background 0.2s, transform 0.2s;
}

.ns-part-cta:hover {
    background : #d35400;
    transform  : translateY(-2px);
    color      : #fff !important;
}

/* Sections communes */
.ns-part-section-inner {
    max-width : 1100px;
    margin    : 0 auto;
    padding   : 60px 20px;
}

.ns-part-section-title {
    font-size     : 1.6rem;
    font-weight   : 700;
    color         : var(--ns-bleu-primaire);
    margin-bottom : 36px;
    text-align    : center;
}

/* Chiffres */
.ns-part-chiffres { background: var(--ns-gris-clair); }

.ns-part-stats {
    display               : grid;
    grid-template-columns : repeat(6, 1fr);
    gap                   : 20px;
}

.ns-part-stat {
    background    : #fff;
    border-radius : var(--ns-radius);
    padding       : 28px 16px;
    text-align    : center;
    border        : 1px solid var(--ns-gris-bordure);
}

.ns-part-stat-nb {
    display       : block;
    font-size     : 2rem;
    font-weight   : 700;
    color         : var(--ns-orange);
    line-height   : 1;
    margin-bottom : 8px;
}

.ns-part-stat-label {
    font-size  : 0.82rem;
    color      : var(--ns-gris-secondaire);
    line-height: 1.3;
}

/* Offres */
.ns-part-offres { background: #fff; }

.ns-part-offres-grid {
    display               : grid;
    grid-template-columns : repeat(3, 1fr);
    gap                   : 24px;
}

.ns-part-offre {
    background    : var(--ns-gris-clair);
    border-radius : var(--ns-radius);
    padding       : 32px 28px;
    border        : 1px solid var(--ns-gris-bordure);
    border-top    : 4px solid var(--ns-bleu-primaire);
    transition    : transform 0.2s, box-shadow 0.2s;
}

.ns-part-offre:hover {
    transform  : translateY(-3px);
    box-shadow : 0 8px 24px rgba(0,0,0,0.08);
}

.ns-part-offre-icon {
    font-size     : 2.2rem;
    display       : block;
    margin-bottom : 14px;
}

.ns-part-offre h3 {
    font-size     : 1.1rem;
    font-weight   : 700;
    color         : var(--ns-bleu-primaire);
    margin-bottom : 12px;
}

.ns-part-offre p {
    font-size     : 0.92rem;
    color         : var(--ns-gris-secondaire);
    line-height   : 1.65;
    margin-bottom : 16px;
}

.ns-part-offre ul {
    list-style  : none;
    padding     : 0;
    margin      : 0;
}

.ns-part-offre ul li {
    font-size     : 0.88rem;
    color         : var(--ns-texte);
    padding       : 5px 0;
    padding-left  : 18px;
    position      : relative;
}

.ns-part-offre ul li::before {
    content   : '→';
    position  : absolute;
    left      : 0;
    color     : var(--ns-orange);
    font-weight: 700;
}

/* Secteurs */
.ns-part-secteurs { background: var(--ns-gris-clair); }

.ns-part-secteurs-intro {
    text-align    : center;
    color         : var(--ns-gris-secondaire);
    margin-bottom : 32px;
    margin-top    : -16px;
    font-size     : 0.98rem;
}

.ns-part-secteurs-grid {
    display               : grid;
    grid-template-columns : repeat(5, 1fr);
    gap                   : 14px;
}

.ns-part-secteur {
    background    : #fff;
    border-radius : var(--ns-radius);
    padding       : 16px 14px;
    font-size     : 0.88rem;
    font-weight   : 600;
    color         : var(--ns-texte);
    border        : 1px solid var(--ns-gris-bordure);
    display       : flex;
    align-items   : center;
    gap           : 10px;
    transition    : border-color 0.2s;
}

.ns-part-secteur:hover {
    border-color : var(--ns-bleu-primaire);
}

.ns-part-secteur span {
    font-size : 1.3rem;
}

/* Valeurs */
.ns-part-valeurs { background: #fff; }

.ns-part-valeurs-grid {
    display               : grid;
    grid-template-columns : 1fr 1fr;
    gap                   : 60px;
    align-items           : center;
}

.ns-part-valeur-text h2 {
    font-size     : 1.5rem;
    font-weight   : 700;
    color         : var(--ns-bleu-primaire);
    margin-bottom : 18px;
}

.ns-part-valeur-text p {
    font-size     : 0.97rem;
    color         : var(--ns-texte);
    line-height   : 1.75;
    margin-bottom : 14px;
}

.ns-part-valeur-pictos {
    display        : flex;
    flex-direction : column;
    gap            : 14px;
}

.ns-part-picto {
    display     : flex;
    align-items : center;
    gap         : 14px;
    background  : var(--ns-gris-clair);
    border-radius : var(--ns-radius);
    padding     : 14px 18px;
    border      : 1px solid var(--ns-gris-bordure);
}

.ns-part-picto span {
    font-size   : 1.3rem;
    flex-shrink : 0;
}

.ns-part-picto p {
    margin    : 0;
    font-size : 0.92rem;
    color     : var(--ns-texte);
    font-weight: 500;
}

/* Contact */
.ns-part-contact {
    background : var(--ns-bleu-primaire);
    color      : #fff;
    text-align : center;
}

.ns-part-contact h2 {
    font-size     : 1.6rem;
    color         : #fff !important;
    margin-bottom : 12px;
}

.ns-part-contact p {
    color         : rgba(255,255,255,0.85);
    font-size     : 1rem;
    margin-bottom : 30px;
}

.ns-part-btn-email {
    display         : inline-block;
    background      : var(--ns-orange);
    color           : #fff !important;
    padding         : 14px 28px;
    border-radius   : var(--ns-radius);
    font-size       : 1rem;
    font-weight     : 700;
    text-decoration : none !important;
    transition      : background 0.2s, transform 0.2s;
}

.ns-part-btn-email:hover {
    background : #d35400;
    transform  : translateY(-2px);
    color      : #fff !important;
}

/* Responsive */
@media (max-width: 900px) {
    .ns-part-stats { grid-template-columns: repeat(3, 1fr); }
    .ns-part-offres-grid { grid-template-columns: 1fr; }
    .ns-part-secteurs-grid { grid-template-columns: repeat(2, 1fr); }
    .ns-part-valeurs-grid { grid-template-columns: 1fr; gap: 30px; }
}

@media (max-width: 600px) {
    .ns-part-titre { font-size: 1.6rem; }
    .ns-part-stats { grid-template-columns: repeat(2, 1fr); }
    .ns-part-secteurs-grid { grid-template-columns: 1fr; }
}
