/* ==========================================================
   HERO
========================================================== */

.ap-hero{
    position:relative;
    overflow:hidden;
    background:linear-gradient(
        180deg,
        #F8FBFD 0%,
        #FFFFFF 100%
    );
    padding:80px 0;
}

.ap-hero-content{
    width:min(
        var(--ap-container),
        calc(100% - clamp(32px,6vw,48px))
    );
    margin:auto;
    position:relative;
    z-index:2;
}

.ap-hero-copy{
    max-width:620px;
}

.ap-hero h1 {
    max-width: 760px;
    margin: 0 0 14px;
    color: var(--ap-brand);
    font-size: 48px;
    line-height: 1.1;
}

.ap-hero-subtitle {
    margin: 0 0 36px;
    color: var(--ap-accent);
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
}

.ap-hero-text {
    max-width: 560px;
    margin: 0 0 32px;
    color: var(--ap-text-muted);
    font-size: 18px;
    line-height: 1.75;
}

.ap-hero-buttons {
    display: flex;
    flex-wrap: wrap;

    gap: 20px;
}

/* ---------- Illustration ---------- */

.ap-hero-visual{
    position:absolute;
    right:-40px;
    top:-45px;
    z-index:1;
    pointer-events:none;
}

.ap-hero-visual img{
    width:760px;
    max-width:none;
    opacity:.50;
}


/* ==========================================================
   PAGE D'ACCUEIL — masquer le titre WordPress
========================================================== */

.home .entry-header {
  display: none;
}



/* ==========================================================
   HOME — EXPLORER LA PLATEFORME
========================================================== */

.ap-home-paths {
    padding-top: 56px;
    padding-bottom: 80px;
    background: var(--ap-bg);
}

.ap-home-paths__header {
    max-width: 680px;
    margin-bottom: clamp(32px, 5vw, 48px);
}

.ap-home-paths__header h2 {
    margin: 0 0 var(--ap-3);
    color: var(--ap-brand);
    font-size: 32px;
    line-height: 1.2;
}

.ap-home-paths__header p {
    margin: 0;
    color: var(--ap-text-muted);
    font-size: 17px;
    line-height: 1.6;
}

.ap-home-paths__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 28px);
}

.ap-path-card {
    display: flex;
    flex-direction: column;

    min-height: 190px;

    padding: clamp(24px, 3vw, 32px);

    background: #FFFFFF;
    color: var(--ap-text);

    border: 1px solid var(--ap-border);
    border-radius: var(--ap-radius-lg);
    box-shadow:0 8px 22px rgba(0,0,0,.04);
    text-decoration: none;

    transition:
        transform var(--ap-transition),
        border-color var(--ap-transition),
        box-shadow var(--ap-transition);
}

.ap-path-card:hover{
    transform:translateY(-6px);
    border-color:var(--ap-brand);
    box-shadow:0 14px 40px rgba(30,78,121,.08);
    color:var(--ap-text);
    text-decoration:none;

}

.ap-path-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    margin-bottom: var(--ap-5);
    background: var(--ap-brand-weak);
    border-radius: var(--ap-radius-md);
    overflow: hidden;
}

.ap-path-card__icon img {
    display: block;
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.ap-path-card h3 {
    margin: 0 0 var(--ap-3);
    color: var(--ap-brand);
    text-decoration:none;
    font-size: 21px;
    line-height: 1.25;
}

.ap-path-card p {
    max-width: 46ch;
    margin: 0 0 var(--ap-5);
    color: var(--ap-text-muted);
    font-size: 15px;
    line-height: 1.65;
}

.ap-path-card__link {
    margin-top: auto;
    color: var(--ap-brand);
    font-size: 14px;
    font-weight: 600;
}

.ap-path-card:hover .ap-path-card__link {
    color: var(--ap-accent);
}

.ap-path-card,
.ap-path-card:hover,
.ap-path-card:visited{
    text-decoration:none !important;
}

.ap-path-card h3,
.ap-path-card p,
.ap-path-card span{
    text-decoration:none !important;
}


/* ---------- Responsive ---------- */

@media (max-width: 720px) {

    .ap-home-paths__grid {
        grid-template-columns: 1fr;
    }
    .ap-path-card {
        min-height: auto;
    }

}


/* ==========================================================
   HOME — NOTRE DÉMARCHE
========================================================== */

.ap-home-approach {
    padding: 72px 0 88px;
    background: #F7FAFC;
    border-top: 1px solid #EEF2F5;
    border-bottom: 1px solid #EEF2F5;
}

.ap-home-approach__inner {
    max-width: 820px;
}

.ap-home-approach h2 {
    margin: 0 0 20px;
    color: var(--ap-brand);
    font-size: 32px;
    line-height: 1.15;
}

.ap-home-approach__lead {
    margin: 0 0 22px;
    color: var(--ap-text);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.45;
}

.ap-home-approach p {
    margin: 0 0 20px;
    max-width: 68ch;
    color: var(--ap-text-muted);
    font-size: 18px;
    line-height: 1.8;
}

.ap-home-approach__link {
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    color: var(--ap-brand);
    font-weight: 600;
    text-decoration: none;
}

.ap-home-approach__link:hover {
    color: var(--ap-accent);
    text-decoration: none;
}

/* =====================================================================
   ACCUEIL — ACTUALITÉS : ÉTAT VIDE
   ===================================================================== */

.ap-home-news__empty {
    padding: 24px 0;
    border-top: 1px solid var(--ap-border);
    border-bottom: 1px solid var(--ap-border);
}

.ap-home-news__empty p {
    margin: 0;
    color: var(--ap-text-muted);
    font-size: 15px;
    line-height: 1.6;
}


/* =====================================================================
   ACCUEIL — RESSOURCES / ACTUALITÉS / SOURCES
   ===================================================================== */

/* ---------- Structure commune ---------- */

.ap-home-section {
    padding: 56px 0;
}

.ap-home-section + .ap-home-section {
    border-top: 1px solid var(--ap-border);
}

.ap-home-head {
    max-width: 64ch;
    margin: 0 0 32px;
}

.ap-home-head h2 {
    margin: 0 0 10px;
    color: var(--ap-text);
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.01em;
}

.ap-home-head p {
    margin: 0;
    color: var(--ap-text-muted);
    font-size: 17px;
    line-height: 1.55;
}

.ap-home-more {
    margin-top: 28px;
}

.ap-home-more a {
    color: var(--ap-brand);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.ap-home-more a:hover {
    text-decoration: underline;
}


/* =====================================================================
   NOS DERNIÈRES RESSOURCES
   ===================================================================== */

.ap-home-resources__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 24px;
}

@media (min-width: 900px) {
    .ap-home-resources__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.ap-rescard {
    display: flex;
    flex-direction: column;
    gap: 10px;

    padding: 26px 24px;

    background: var(--ap-bg);
    color: inherit;

    border: 1px solid var(--ap-border);
    border-top: 3px solid var(--ap-brand);
    border-radius: var(--ap-radius-md);

    text-decoration: none !important;

    transition:
        transform .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;
}

.ap-rescard:hover {
    border-color: var(--ap-brand);
    box-shadow: 0 8px 22px rgba(30,78,121,.06);
    transform: translateY(-2px);
}

.ap-rescard__cat {
    color: var(--ap-accent);

    font-size: 11px;
    font-weight: 600;

    letter-spacing: .1em;
    text-transform: uppercase;
}

.ap-rescard__title {
    margin: 0;

    color: var(--ap-text);

    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;

    text-decoration: none;
}

.ap-rescard__desc {
    flex: 1;

    margin: 0;

    color: var(--ap-text-muted);

    font-size: 14.5px;
    line-height: 1.55;
}

.ap-rescard__action {
    margin-top: 4px;

    color: var(--ap-brand);

    font-size: 14px;
    font-weight: 600;
}

.ap-rescard:hover .ap-rescard__action {
    text-decoration: underline;
}


/* =====================================================================
   DERNIÈRES ACTUALITÉS
   ===================================================================== */

/* ---------- Liste ---------- */

.ap-home-news__list {
    list-style: none;
    margin: 0;
    padding: 0;

    border-top: 1px solid var(--ap-border);
}

.ap-newsitem {
    margin: 0;
    padding: 0;

    border-bottom: 1px solid var(--ap-border);
}

.ap-newsitem a {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) auto;
    align-items: baseline;

    column-gap: 24px;

    padding: 20px 4px;

    color: inherit;
    text-decoration: none !important;
}


/* ---------- Métadonnées ---------- */

.ap-newsitem__meta {
    display: flex;
    flex-direction: column;

    gap: 6px;
}

.ap-newsitem__date {
    color: var(--ap-text-muted);

    font-size: 13px;
    line-height: 1.4;

    font-variant-numeric: tabular-nums;
}

.ap-newsitem__cat {
    color: var(--ap-accent);

    font-size: 10.5px;
    font-weight: 600;
    line-height: 1.3;

    letter-spacing: .1em;
    text-transform: uppercase;
}


/* ---------- Contenu ---------- */

.ap-newsitem__body {
    display: block;
    min-width: 0;
}

.ap-newsitem__title {
    display: block;

    margin: 0 0 4px;

    color: var(--ap-text);

    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;

    text-decoration: none;
}

.ap-newsitem__ctx {
    display: block;

    margin: 0;

    color: var(--ap-text-muted);

    font-size: 14px;
    line-height: 1.55;
}


/* ---------- Flèche ---------- */

.ap-newsitem__arrow {
    align-self: center;

    color: var(--ap-brand);

    font-weight: 600;

    transition: transform .15s ease;
}


/* ---------- Survol ---------- */

.ap-newsitem a:hover {
    color: inherit;
    text-decoration: none !important;
}

.ap-newsitem a:hover .ap-newsitem__title {
    color: var(--ap-brand);
}

.ap-newsitem a:hover .ap-newsitem__arrow {
    transform: translateX(3px);
}


/* ---------- État vide ---------- */

.ap-home-news__empty {
    padding: 24px 0;

    border-top: 1px solid var(--ap-border);
    border-bottom: 1px solid var(--ap-border);
}

.ap-home-news__empty p {
    margin: 0;

    color: var(--ap-text-muted);

    font-size: 15px;
    line-height: 1.6;
}


/* ---------- Responsive ---------- */

@media (max-width: 720px) {

    .ap-newsitem a {
        grid-template-columns: 1fr;

        row-gap: 8px;
    }

    .ap-newsitem__meta {
        flex-direction: row;
        align-items: baseline;

        gap: 12px;
    }

    .ap-newsitem__arrow {
        display: none;
    }
}


/* =====================================================================
   CONSULTER LES SOURCES
   ===================================================================== */

.ap-home-library {
    background: var(--ap-brand-weak);

    border-top: 1px solid var(--ap-border);
    border-bottom: 1px solid var(--ap-border);
}

.ap-home-library__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;

    gap: 32px;

    padding-top: 40px;
    padding-bottom: 40px;
}

.ap-home-library__text {
    max-width: 64ch;
}

.ap-home-library__text h2 {
    margin: 0 0 8px;

    color: var(--ap-text);

    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.01em;
}

.ap-home-library__text p {
    margin: 0;

    color: var(--ap-text-muted);

    font-size: 16px;
    line-height: 1.55;
}

.ap-home-library__cta {
    color: var(--ap-brand);

    font-size: 16px;
    font-weight: 600;

    text-decoration: none;
    white-space: nowrap;
}

.ap-home-library__cta:hover {
    text-decoration: underline;
}


/* ---------- Responsive ---------- */

@media (max-width: 720px) {

    .ap-home-library__cta {
        white-space: normal;
    }

}