/* Family SEO V6.2 — navigation premium des hubs parents.
   Aucun style global n'est remplacé. */

.aj-family-seo-cluster{
    margin:34px 0 54px;
    padding:8px 0 0;
    color:#16203f;
}

.aj-family-seo-cluster__heading{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(300px,.68fr);
    gap:38px;
    align-items:end;
    margin:0 0 26px;
}

.aj-family-seo-cluster__eyebrow{
    display:block;
    margin:0 0 7px;
    color:#ff6d32;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.115em;
}

.aj-family-seo-cluster__heading h2{
    margin:0;
    max-width:760px;
    color:#15204a;
    font-size:clamp(1.75rem,3vw,2.45rem);
    line-height:1.08;
    letter-spacing:-.035em;
}

.aj-family-seo-cluster__heading>p{
    margin:0;
    color:#667085;
    font-size:.94rem;
    line-height:1.68;
}

/* Anniversaire : quatre vraies portes d'entrée, sans grand cadre englobant. */
.aj-family-seo-age-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
}

.aj-family-seo-age-card{
    position:relative;
    display:flex;
    min-height:230px;
    padding:23px;
    flex-direction:column;
    overflow:hidden;
    border:0;
    border-radius:23px;
    background:#f1f4ff;
    box-shadow:0 13px 34px rgba(20,32,74,.075);
    color:#15204a!important;
    text-decoration:none!important;
    transition:transform .2s ease,box-shadow .2s ease;
}

.aj-family-seo-age-card:nth-child(even){
    background:#fff3ed;
}

.aj-family-seo-age-card::after{
    content:"";
    position:absolute;
    width:120px;
    height:120px;
    right:-54px;
    top:-52px;
    border-radius:50%;
    background:rgba(49,86,245,.075);
}

.aj-family-seo-age-card:nth-child(even)::after{
    background:rgba(255,120,23,.10);
}

.aj-family-seo-age-card:hover,
.aj-family-seo-age-card:focus{
    transform:translateY(-4px);
    box-shadow:0 20px 44px rgba(20,32,74,.12);
}

.aj-family-seo-age-card__age{
    position:relative;
    z-index:1;
    align-self:flex-start;
    margin-bottom:22px;
    padding:6px 10px;
    border-radius:999px;
    background:#fff;
    color:#3156f5;
    font-size:.73rem;
    font-weight:900;
    box-shadow:0 5px 14px rgba(20,32,74,.06);
}

.aj-family-seo-age-card:nth-child(even) .aj-family-seo-age-card__age{
    color:#e85c10;
}

.aj-family-seo-age-card strong{
    position:relative;
    z-index:1;
    display:block;
    margin-bottom:9px;
    font-size:1.07rem;
    line-height:1.25;
}

.aj-family-seo-age-card p{
    position:relative;
    z-index:1;
    margin:0 0 20px;
    color:#65708a;
    font-size:.84rem;
    line-height:1.58;
}

.aj-family-seo-age-card__cta{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:auto;
    color:#3156f5;
    font-size:.8rem;
    font-weight:900;
}

.aj-family-seo-age-card:nth-child(even) .aj-family-seo-age-card__cta{
    color:#e85c10;
}

/* Famille : sections éditoriales plutôt qu'un mur de 36 boutons. */
.aj-family-seo-context-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
}

.aj-family-seo-context-card{
    min-width:0;
    padding:22px;
    border:0;
    border-radius:22px;
    background:#f4f6fb;
    box-shadow:0 11px 30px rgba(20,32,74,.055);
}

.aj-family-seo-context-card:nth-child(3n+2){
    background:#fff4ef;
}

.aj-family-seo-context-card:nth-child(3n+3){
    background:#f1f4ff;
}

.aj-family-seo-context-card__head{
    display:flex;
    gap:11px;
    align-items:center;
    margin-bottom:11px;
}

.aj-family-seo-context-card__head>span{
    display:grid;
    width:34px;
    height:34px;
    place-items:center;
    flex:0 0 34px;
    border-radius:11px;
    background:#fff;
    color:#3156f5;
    font-size:.69rem;
    font-weight:950;
    box-shadow:0 5px 14px rgba(20,32,74,.055);
}

.aj-family-seo-context-card h3{
    margin:0;
    color:#15204a;
    font-size:1rem;
    line-height:1.2;
}

.aj-family-seo-context-card>p{
    min-height:62px;
    margin:0 0 17px;
    color:#667085;
    font-size:.81rem;
    line-height:1.58;
}

.aj-family-seo-context-card__ages{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
}

.aj-family-seo-context-card__ages a{
    display:flex;
    min-height:35px;
    align-items:center;
    justify-content:center;
    padding:7px 8px;
    border-radius:11px;
    background:#fff;
    color:#3156f5!important;
    font-size:.73rem;
    font-weight:900;
    text-decoration:none!important;
    box-shadow:0 4px 12px rgba(20,32,74,.045);
    transition:transform .15s ease,background .15s ease,color .15s ease;
}

.aj-family-seo-context-card__ages a:hover,
.aj-family-seo-context-card__ages a:focus{
    transform:translateY(-1px);
    background:#3156f5;
    color:#fff!important;
}

@media(max-width:980px){
    .aj-family-seo-cluster__heading{
        grid-template-columns:1fr;
        gap:10px;
    }
    .aj-family-seo-age-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .aj-family-seo-context-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .aj-family-seo-cluster{
        margin:28px 0 42px;
    }
    .aj-family-seo-cluster__heading{
        margin-bottom:19px;
    }
    .aj-family-seo-cluster__heading h2{
        font-size:1.72rem;
    }
    .aj-family-seo-cluster__heading>p{
        font-size:.88rem;
    }
    .aj-family-seo-age-grid,
    .aj-family-seo-context-grid{
        grid-template-columns:1fr;
    }
    .aj-family-seo-age-card{
        min-height:0;
        padding:20px;
    }
    .aj-family-seo-age-card__age{
        margin-bottom:15px;
    }
    .aj-family-seo-context-card{
        padding:19px;
    }
    .aj-family-seo-context-card>p{
        min-height:0;
    }
}
