/* ==========================================================
   ANIMYJOB HUBS + SOUS-HUBS PREMIUM V3.4
   Feuille autonome, isolée du CSS historique du site.
   Aucun vert. Mise en page inspirée du mockup validé.
   ========================================================== */

.aj-subhub-page {
    --aj-ink: #2c2b2a;
    --aj-ink-strong: #171717;
    --aj-muted: #696764;
    --aj-coral: #ef5e4f;
    --aj-coral-dark: #c94035;
    --aj-orange: #f49b55;
    --aj-yellow: #f4c75c;
    --aj-peach: #fff1e8;
    --aj-cream: #fffaf6;
    --aj-lavender: #efe9ff;
    --aj-lavender-strong: #d9cdff;
    --aj-border: #ecdcd1;
    --aj-white: #ffffff;
    --aj-soft-shadow: 0 8px 24px rgba(75, 54, 41, .07);
    --aj-card-shadow: 0 10px 28px rgba(75, 54, 41, .08);

    width: min(1180px, calc(100% - 28px)) !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 18px 0 58px !important;
    color: var(--aj-ink) !important;
    font-family: inherit !important;
    background: transparent !important;
}

.aj-subhub-page *,
.aj-subhub-page *::before,
.aj-subhub-page *::after {
    box-sizing: border-box !important;
}

.aj-subhub-page h1,
.aj-subhub-page h2,
.aj-subhub-page h3,
.aj-subhub-page p,
.aj-subhub-page ul {
    padding-top: 0;
}

.aj-subhub-page img {
    display: block;
    max-width: 100%;
}

.aj-subhub-page a {
    text-decoration: none;
}

/* ---------- Profils couleur ---------- */
.aj-profile-games { --aj-coral:#765bd9; --aj-coral-dark:#5136b3; --aj-peach:#f3efff; }
.aj-profile-party { --aj-coral:#ef6259; --aj-coral-dark:#bf3e36; --aj-peach:#fff0eb; }
.aj-profile-holiday { --aj-coral:#e55650; --aj-coral-dark:#b73734; --aj-peach:#fff0e8; }
.aj-profile-puzzle { --aj-coral:#7c5bc8; --aj-coral-dark:#5638a3; --aj-peach:#f4efff; }
.aj-profile-education { --aj-coral:#7057c8; --aj-coral-dark:#4f39a0; --aj-peach:#f4f0ff; }
.aj-profile-family { --aj-coral:#db676b; --aj-coral-dark:#aa4148; --aj-peach:#fff0ec; }
.aj-profile-music { --aj-coral:#a65bbb; --aj-coral-dark:#793a92; --aj-peach:#faefff; }
.aj-profile-pro { --aj-coral:#df6258; --aj-coral-dark:#ae4039; --aj-peach:#fff1eb; }

/* ---------- Breadcrumb ---------- */
.aj-subhub-breadcrumb {
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:7px !important;
    margin:2px 0 18px !important;
    color:#766f69 !important;
    font-size:12.5px !important;
    line-height:1.45 !important;
}
.aj-subhub-breadcrumb a { color:var(--aj-coral-dark) !important; font-weight:800 !important; }
.aj-subhub-breadcrumb a:hover { text-decoration:underline !important; text-underline-offset:3px; }

/* ---------- Hero compact premium ---------- */
.aj-subhub-hero {
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(190px,230px) minmax(0,1fr) minmax(240px,285px) !important;
    gap:26px !important;
    align-items:center !important;
    margin:0 0 28px !important;
    padding:24px 26px !important;
    overflow:hidden !important;
    border:1px solid #f0dfd3 !important;
    border-radius:22px !important;
    background:
      radial-gradient(circle at 13% 30%, rgba(244,199,92,.22), transparent 27%),
      linear-gradient(135deg,#fffaf6 0%,#fff4ed 68%,#fffaf7 100%) !important;
    box-shadow:0 11px 30px rgba(76,57,45,.07) !important;
}

.aj-subhub-hero__visual,
.aj-hub-hero__visual {
    position:relative !important;
    display:grid !important;
    place-items:center !important;
    min-height:190px !important;
}
.aj-subhub-hero__visual::before,
.aj-hub-hero__visual::before {
    content:"";
    position:absolute;
    width:178px;
    height:178px;
    border-radius:50%;
    background:rgba(246,192,120,.24);
}
.aj-subhub-hero__visual img,
.aj-hub-hero__visual img {
    position:relative !important;
    z-index:1 !important;
    width:184px !important;
    height:184px !important;
    object-fit:cover !important;
    border:7px solid rgba(255,255,255,.9) !important;
    border-radius:34% 66% 43% 57% / 55% 39% 61% 45% !important;
    box-shadow:0 18px 38px rgba(77,54,39,.16) !important;
}
.aj-subhub-hero__fallback,
.aj-hub-hero__fallback {
    position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    width:175px;
    height:175px;
    border-radius:34% 66% 43% 57% / 55% 39% 61% 45%;
    background:#fff;
    color:var(--aj-coral-dark);
    font-size:52px;
    font-weight:900;
    box-shadow:0 18px 38px rgba(77,54,39,.12);
}

.aj-subhub-hero__content { min-width:0 !important; align-self:center !important; }
.aj-subhub-kicker,
.aj-subhub-eyebrow {
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    margin:0 !important;
    color:var(--aj-coral-dark) !important;
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.06em !important;
    text-transform:uppercase !important;
}
.aj-subhub-kicker::before,
.aj-subhub-eyebrow::before {
    content:"★";
    color:var(--aj-coral);
    font-size:11px;
}
.aj-subhub-hero h1 {
    margin:9px 0 11px !important;
    color:var(--aj-ink-strong) !important;
    font-size:clamp(30px,3.2vw,44px) !important;
    font-weight:900 !important;
    letter-spacing:-.028em !important;
    line-height:1.08 !important;
}
.aj-subhub-intro {
    max-width:700px !important;
    margin:0 !important;
    color:#554f4a !important;
    font-size:14.2px !important;
    line-height:1.62 !important;
}
.aj-hub-chip-row,
.aj-subhub-stats {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
}
.aj-hub-chip-row { margin-top:14px !important; }
.aj-subhub-stats { margin-top:11px !important; }
.aj-hub-chip,
.aj-subhub-stats span {
    display:inline-flex !important;
    align-items:center !important;
    min-height:30px !important;
    padding:6px 10px !important;
    border:1px solid #ead8cb !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.86) !important;
    color:#5f5a55 !important;
    font-size:11px !important;
    font-weight:800 !important;
}
.aj-hub-chip::before { content:"✦"; margin-right:5px; color:var(--aj-coral); }
.aj-subhub-stats strong { margin-right:4px; color:var(--aj-ink-strong); }

.aj-subhub-summary {
    align-self:stretch !important;
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    padding:0 14px 9px !important;
    overflow:hidden !important;
    border:1px solid #ead9cd !important;
    border-radius:17px !important;
    background:rgba(255,255,255,.94) !important;
    box-shadow:0 9px 24px rgba(73,54,44,.08) !important;
}
.aj-subhub-summary__title {
    display:block !important;
    margin:0 -14px 7px !important;
    padding:11px 14px !important;
    background:linear-gradient(135deg,var(--aj-coral),#f37e6f) !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:900 !important;
}
.aj-subhub-summary a {
    position:relative !important;
    display:block !important;
    padding:7px 23px 7px 4px !important;
    border-bottom:1px solid #f1e9e4 !important;
    color:#433f3c !important;
    font-size:11.6px !important;
    font-weight:750 !important;
    line-height:1.35 !important;
}
.aj-subhub-summary a:last-child { border-bottom:0 !important; }
.aj-subhub-summary a::after { content:"›"; position:absolute; right:4px; color:var(--aj-coral); font-weight:900; }
.aj-subhub-summary a:hover { color:var(--aj-coral-dark) !important; }

/* ---------- Section rhythm: no giant boxes ---------- */
.aj-subhub-section {
    scroll-margin-top:90px;
    margin:0 0 30px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
}
.aj-subhub-section + .aj-subhub-section {
    padding-top:2px !important;
}
.aj-subhub-section--soft,
.aj-subhub-section--accent { background:transparent !important; }
.aj-subhub-section__heading {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(260px,430px) !important;
    gap:20px !important;
    align-items:end !important;
    margin:0 0 14px !important;
    padding-bottom:9px !important;
    border-bottom:1px solid #f1e4dc !important;
}
.aj-subhub-section__heading h2 {
    margin:4px 0 0 !important;
    color:var(--aj-ink-strong) !important;
    font-size:22px !important;
    font-weight:900 !important;
    line-height:1.14 !important;
    letter-spacing:-.015em !important;
}
.aj-subhub-section__heading > p {
    margin:0 !important;
    color:#77706b !important;
    font-size:12px !important;
    line-height:1.5 !important;
    text-align:right !important;
}

/* ---------- Featured cards ---------- */
.aj-subhub-feature-grid {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:14px !important;
}
.aj-subhub-card {
    min-width:0 !important;
    overflow:hidden !important;
    border:1px solid #eadbd0 !important;
    border-radius:15px !important;
    background:#fff !important;
    box-shadow:0 6px 18px rgba(71,51,39,.055) !important;
    transition:transform .18s ease, box-shadow .18s ease !important;
}
.aj-subhub-card:hover { transform:translateY(-2px); box-shadow:0 11px 26px rgba(71,51,39,.10) !important; }
.aj-subhub-card__media {
    position:relative !important;
    display:block !important;
    overflow:hidden !important;
    background:linear-gradient(135deg,var(--aj-peach),var(--aj-lavender)) !important;
}
.aj-subhub-card__media img { width:100% !important; height:100% !important; object-fit:cover !important; }
.aj-subhub-card__badge {
    position:absolute !important;
    top:8px !important;
    left:8px !important;
    display:inline-flex !important;
    padding:4px 8px !important;
    border-radius:999px !important;
    background:var(--aj-coral) !important;
    color:#fff !important;
    font-size:9px !important;
    font-weight:900 !important;
    letter-spacing:.03em !important;
    text-transform:uppercase !important;
}
.aj-subhub-card__body { padding:11px 12px 11px !important; }
.aj-subhub-card__body h3 { margin:0 !important; color:var(--aj-ink-strong) !important; font-size:13.5px !important; font-weight:900 !important; line-height:1.28 !important; }
.aj-subhub-card__body h3 a { color:inherit !important; }
.aj-subhub-card__body p { margin:6px 0 0 !important; color:#726c67 !important; font-size:10.8px !important; line-height:1.42 !important; }
.aj-subhub-card__footer { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:8px !important; margin-top:8px !important; padding-top:7px !important; border-top:1px solid #f2e9e3 !important; }
.aj-subhub-card__footer time { color:#918984 !important; font-size:9.5px !important; }
.aj-subhub-card__link { color:var(--aj-coral-dark) !important; font-size:10.2px !important; font-weight:900 !important; }

.aj-subhub-card--feature .aj-subhub-card__media { height:155px !important; }
.aj-subhub-card--feature .aj-subhub-card__body h3 { font-size:14px !important; }
.aj-subhub-card--feature .aj-subhub-card__body p { min-height:30px; }

/* editorial mini cards */
.aj-subhub-card--compact {
    display:grid !important;
    grid-template-columns:74px minmax(0,1fr) !important;
    min-height:76px !important;
    border-radius:12px !important;
    box-shadow:none !important;
}
.aj-subhub-card--compact .aj-subhub-card__media { height:100% !important; min-height:74px !important; }
.aj-subhub-card--compact .aj-subhub-card__body { display:flex !important; flex-direction:column !important; justify-content:center !important; padding:9px 10px !important; }
.aj-subhub-card--compact .aj-subhub-card__body h3 { font-size:11.1px !important; }
.aj-subhub-card--compact .aj-subhub-card__footer { margin-top:5px !important; padding-top:0 !important; border:0 !important; }
.aj-subhub-card--compact .aj-subhub-card__link { font-size:9px !important; }

/* quick cards = screenshot row */
.aj-subhub-card--quick .aj-subhub-card__media { height:108px !important; }
.aj-subhub-card--quick .aj-subhub-card__body { padding:8px 9px !important; }
.aj-subhub-card--quick .aj-subhub-card__body h3 { font-size:11.5px !important; }
.aj-subhub-card--quick .aj-subhub-card__footer { margin-top:5px !important; padding-top:0 !important; border:0 !important; }
.aj-subhub-card--quick .aj-subhub-card__footer time { display:none !important; }

/* latest = horizontal card */
.aj-subhub-card--latest {
    display:grid !important;
    grid-template-columns:118px minmax(0,1fr) !important;
    min-height:92px !important;
}
.aj-subhub-card--latest .aj-subhub-card__media { height:100% !important; min-height:92px !important; }
.aj-subhub-card--latest .aj-subhub-card__body { padding:10px 11px !important; }
.aj-subhub-card--latest .aj-subhub-card__body h3 { font-size:11.7px !important; }
.aj-subhub-card--latest .aj-subhub-card__body p { display:none !important; }
.aj-subhub-card--latest .aj-subhub-card__footer { margin-top:7px !important; padding-top:0 !important; border:0 !important; }

/* archive links */
.aj-subhub-card--archive-link {
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) !important;
    min-height:44px !important;
    border-radius:9px !important;
    box-shadow:none !important;
}
.aj-subhub-card--archive-link .aj-subhub-card__media { height:42px !important; margin:1px !important; border-radius:8px !important; }
.aj-subhub-card--archive-link .aj-subhub-card__badge,
.aj-subhub-card--archive-link .aj-subhub-card__body p,
.aj-subhub-card--archive-link .aj-subhub-card__footer { display:none !important; }
.aj-subhub-card--archive-link .aj-subhub-card__body { display:flex !important; align-items:center !important; padding:7px 9px !important; }
.aj-subhub-card--archive-link .aj-subhub-card__body h3 { font-size:10.7px !important; line-height:1.25 !important; }

/* ---------- Hub/subhub categories ---------- */
.aj-hub-category-grid,
.aj-subhub-category-grid {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:10px !important;
}
.aj-hub-category,
.aj-subhub-category {
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    min-height:78px !important;
    padding:13px 34px 12px 14px !important;
    border:1px solid #eadbd0 !important;
    border-radius:13px !important;
    background:#fff !important;
    box-shadow:0 4px 14px rgba(71,51,39,.04) !important;
}
.aj-hub-category:nth-child(4n+2), .aj-subhub-category:nth-child(4n+2) { background:#fbf9ff !important; }
.aj-hub-category:nth-child(4n+3), .aj-subhub-category:nth-child(4n+3) { background:#fff8ef !important; }
.aj-hub-category strong,
.aj-subhub-category > span { color:var(--aj-ink-strong) !important; font-size:12.2px !important; font-weight:900 !important; line-height:1.25 !important; }
.aj-hub-category small,
.aj-subhub-category small { margin-top:5px !important; color:#857d77 !important; font-size:9.7px !important; }
.aj-hub-category span,
.aj-subhub-category strong { position:absolute !important; right:12px !important; top:50% !important; transform:translateY(-50%) !important; color:var(--aj-coral) !important; font-size:18px !important; }
.aj-hub-category:hover,
.aj-subhub-category:hover { border-color:#e8b4a6 !important; transform:translateY(-1px); }

/* ---------- Editorial groups ---------- */
.aj-subhub-groups { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:13px !important; }
.aj-subhub-group { min-width:0 !important; padding:13px !important; border:1px solid #eadfd8 !important; border-radius:14px !important; background:#fffaf7 !important; }
.aj-subhub-group:nth-child(2n) { background:#fbf9ff !important; }
.aj-subhub-group h3 { margin:0 0 9px !important; color:var(--aj-ink-strong) !important; font-size:13px !important; font-weight:900 !important; }
.aj-subhub-compact-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; }
.aj-subhub-compact-grid--four { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:12px !important; }

/* ---------- Age ---------- */
.aj-subhub-age-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:13px !important; }
.aj-subhub-age { overflow:hidden !important; border:1px solid #eaded5 !important; border-radius:13px !important; background:#fff !important; }
.aj-subhub-age h3 { margin:0 !important; padding:8px 12px !important; background:linear-gradient(90deg,#ffd877,#ffeab5) !important; color:#513d22 !important; text-align:center !important; font-size:12px !important; font-weight:900 !important; }
.aj-subhub-age:nth-child(2n) h3 { background:linear-gradient(90deg,#ddcff8,#eee7ff) !important; color:#493d68 !important; }
.aj-subhub-age ul { margin:0 !important; padding:4px 11px 7px !important; list-style:none !important; }
.aj-subhub-age li { margin:0 !important; border-bottom:1px solid #f1e9e4 !important; }
.aj-subhub-age li:last-child { border-bottom:0 !important; }
.aj-subhub-age a { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:9px !important; padding:8px 2px !important; color:#47423e !important; font-size:10.8px !important; font-weight:750 !important; line-height:1.3 !important; }
.aj-subhub-age a strong { color:var(--aj-coral) !important; }

/* ---------- Resources: 4 cards like reference ---------- */
.aj-subhub-resource-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:11px !important; }
.aj-subhub-resource {
    display:grid !important;
    grid-template-columns:88px minmax(0,1fr) !important;
    gap:10px !important;
    min-width:0 !important;
    padding:9px !important;
    border:1px solid #eadbd0 !important;
    border-radius:13px !important;
    background:#fff !important;
    box-shadow:0 5px 16px rgba(71,51,39,.045) !important;
}
.aj-subhub-resource__preview {
    display:grid !important;
    place-items:center !important;
    overflow:hidden !important;
    min-height:108px !important;
    border-radius:10px !important;
    background:repeating-linear-gradient(135deg,#fff0e7,#fff0e7 10px,#fff8f3 10px,#fff8f3 20px) !important;
    color:var(--aj-coral-dark) !important;
    font-size:14px !important;
    font-weight:900 !important;
}
.aj-subhub-resource__preview img { width:100% !important; height:100% !important; object-fit:cover !important; }
.aj-subhub-resource__type { display:inline-flex !important; padding:3px 6px !important; border-radius:999px !important; background:var(--aj-coral) !important; color:#fff !important; font-size:8px !important; font-weight:900 !important; text-transform:uppercase !important; }
.aj-subhub-resource h3 { margin:6px 0 0 !important; color:var(--aj-ink-strong) !important; font-size:11px !important; font-weight:900 !important; line-height:1.25 !important; }
.aj-subhub-resource h3 a { color:inherit !important; }
.aj-subhub-resource p { margin:5px 0 0 !important; color:#766f69 !important; font-size:9px !important; line-height:1.35 !important; }
.aj-subhub-resource__link { display:inline-flex !important; margin-top:6px !important; color:var(--aj-coral-dark) !important; font-size:9px !important; font-weight:900 !important; }
.aj-subhub-center { margin:14px 0 0 !important; text-align:center !important; }
.aj-subhub-button { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:34px !important; padding:7px 14px !important; border-radius:999px !important; background:var(--aj-coral) !important; color:#fff !important; font-size:10.5px !important; font-weight:900 !important; }

/* ---------- Latest + archive ---------- */
.aj-subhub-latest-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:10px !important; }
.aj-subhub-archive-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:7px !important; }
.aj-subhub-archive .aj-subhub-section__heading { margin-bottom:10px !important; }
.aj-hub-archive-note { display:block !important; margin-top:9px !important; color:#928982 !important; font-size:9px !important; text-align:center !important; }

.aj-subhub-pagination { display:flex !important; flex-wrap:wrap !important; align-items:center !important; justify-content:center !important; gap:6px !important; margin-top:14px !important; }
.aj-subhub-pagination a,
.aj-subhub-pagination .is-current,
.aj-subhub-pagination__gap { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-width:30px !important; min-height:30px !important; padding:5px 8px !important; border:1px solid #eadbd0 !important; border-radius:8px !important; background:#fff !important; color:#48433f !important; font-size:10px !important; font-weight:850 !important; }
.aj-subhub-pagination .is-current { border-color:var(--aj-coral) !important; background:var(--aj-coral) !important; color:#fff !important; }
.aj-subhub-pagination__gap { border-color:transparent !important; background:transparent !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1020px) {
    .aj-subhub-hero { grid-template-columns:165px minmax(0,1fr) !important; }
    .aj-subhub-summary { grid-column:1 / -1 !important; display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
    .aj-subhub-summary__title { grid-column:1 / -1 !important; }
    .aj-hub-category-grid,.aj-subhub-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
    .aj-subhub-resource-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 760px) {
    .aj-subhub-page { width:min(100% - 18px,1180px) !important; padding-top:10px !important; }
    .aj-subhub-hero { grid-template-columns:1fr !important; gap:16px !important; padding:18px !important; }
    .aj-subhub-hero__visual,.aj-hub-hero__visual { min-height:130px !important; justify-content:start !important; place-items:start !important; }
    .aj-subhub-hero__visual::before,.aj-hub-hero__visual::before { width:125px; height:125px; }
    .aj-subhub-hero__visual img,.aj-hub-hero__visual img,.aj-subhub-hero__fallback,.aj-hub-hero__fallback { width:130px !important; height:130px !important; }
    .aj-subhub-summary { display:flex !important; }
    .aj-subhub-section__heading { grid-template-columns:1fr !important; gap:5px !important; }
    .aj-subhub-section__heading > p { text-align:left !important; }
    .aj-subhub-feature-grid,.aj-subhub-latest-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .aj-hub-category-grid,.aj-subhub-category-grid,.aj-subhub-age-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .aj-subhub-groups { grid-template-columns:1fr !important; }
    .aj-subhub-compact-grid--four { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .aj-subhub-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}

@media (max-width: 520px) {
    .aj-subhub-hero h1 { font-size:29px !important; }
    .aj-subhub-feature-grid,.aj-subhub-latest-grid,.aj-hub-category-grid,.aj-subhub-category-grid,.aj-subhub-age-grid,.aj-subhub-resource-grid,.aj-subhub-archive-grid { grid-template-columns:1fr !important; }
    .aj-subhub-compact-grid { grid-template-columns:1fr !important; }
    .aj-subhub-compact-grid--four { grid-template-columns:1fr !important; }
    .aj-subhub-resource { grid-template-columns:92px minmax(0,1fr) !important; }
}

@media (prefers-reduced-motion: reduce) {
    .aj-subhub-page * { transition:none !important; scroll-behavior:auto !important; }
}


/* ---------- V3.7 Professional tools ---------- */
.aj-pro-tools-section {
    position:relative !important;
    overflow:hidden !important;
    border:1px solid #eadfd8 !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,#fffaf7 0%,#fff 52%,#fbf8ff 100%) !important;
    padding:20px !important;
}
.aj-pro-tools-section::before {
    content:"" !important;
    position:absolute !important;
    right:-55px !important;
    top:-60px !important;
    width:180px !important;
    height:180px !important;
    border-radius:50% !important;
    background:rgba(128,87,204,.08) !important;
    pointer-events:none !important;
}
.aj-pro-tools-grid {
    position:relative !important;
    z-index:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
}
.aj-pro-tool-card {
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    min-height:174px !important;
    padding:15px !important;
    border:1px solid #eaded7 !important;
    border-radius:15px !important;
    background:#fff !important;
    box-shadow:0 7px 20px rgba(72,49,36,.055) !important;
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease !important;
}
.aj-pro-tool-card:nth-child(3n+2) { background:#fffdf8 !important; }
.aj-pro-tool-card:nth-child(3n) { background:#fcfaff !important; }
.aj-pro-tool-card:hover {
    transform:translateY(-2px) !important;
    border-color:#d9c7ef !important;
    box-shadow:0 10px 26px rgba(72,49,36,.09) !important;
}
.aj-pro-tool-card__eyebrow {
    display:inline-flex !important;
    align-self:flex-start !important;
    padding:4px 8px !important;
    border-radius:999px !important;
    background:#efe7ff !important;
    color:#6243a2 !important;
    font-size:8.5px !important;
    font-weight:950 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
}
.aj-pro-tool-card h3 {
    margin:10px 0 0 !important;
    color:var(--aj-ink-strong) !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1.25 !important;
}
.aj-pro-tool-card h3 a { color:inherit !important; text-decoration:none !important; }
.aj-pro-tool-card p {
    margin:7px 0 12px !important;
    color:#746b65 !important;
    font-size:10px !important;
    line-height:1.45 !important;
}
.aj-pro-tool-card__cta {
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;
    margin-top:auto !important;
    color:#6a45b3 !important;
    font-size:9.5px !important;
    font-weight:950 !important;
    text-decoration:none !important;
}
.aj-pro-tool-card__cta span { color:var(--aj-coral) !important; }

@media (max-width: 860px) {
    .aj-pro-tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 520px) {
    .aj-pro-tools-section { padding:15px !important; }
    .aj-pro-tools-grid { grid-template-columns:1fr !important; }
    .aj-pro-tool-card { min-height:0 !important; }
}


/* ---------- V3.8 Outils & générateurs enfants ---------- */
.aj-child-tools-section {
    position:relative !important;
    overflow:hidden !important;
    padding:20px !important;
    border:1px solid #eadfd8 !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,#fff9f5 0%,#fff 53%,#faf7ff 100%) !important;
}
.aj-child-tools-section::after {
    content:"" !important;
    position:absolute !important;
    width:190px !important;
    height:190px !important;
    right:-80px !important;
    bottom:-110px !important;
    border-radius:50% !important;
    background:rgba(240,82,67,.06) !important;
    pointer-events:none !important;
}
.aj-child-tools-grid {
    position:relative !important;
    z-index:1 !important;
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
}
.aj-child-tool-card {
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) !important;
    gap:12px !important;
    min-width:0 !important;
    min-height:170px !important;
    padding:15px !important;
    border:1px solid #eaded7 !important;
    border-radius:15px !important;
    background:#fff !important;
    box-shadow:0 7px 20px rgba(72,49,36,.055) !important;
}
.aj-child-tool-card:nth-child(2n) { background:#fffdf8 !important; }
.aj-child-tool-card:nth-child(3n) { background:#fcfaff !important; }
.aj-child-tool-card__icon {
    display:grid !important;
    width:46px !important;
    height:46px !important;
    place-items:center !important;
    border-radius:13px !important;
    background:#fff0eb !important;
    font-size:23px !important;
}
.aj-child-tool-card__body { display:flex !important; flex-direction:column !important; min-width:0 !important; }
.aj-child-tool-card__eyebrow {
    color:#7252bd !important;
    font-size:8.5px !important;
    font-weight:950 !important;
    letter-spacing:.045em !important;
    text-transform:uppercase !important;
}
.aj-child-tool-card h3 { margin:6px 0 0 !important; font-size:14px !important; line-height:1.25 !important; font-weight:900 !important; }
.aj-child-tool-card h3 a { color:var(--aj-ink-strong) !important; text-decoration:none !important; }
.aj-child-tool-card p { margin:7px 0 10px !important; color:#746b65 !important; font-size:10px !important; line-height:1.45 !important; }
.aj-child-tool-card__cta { margin-top:auto !important; color:#6947b0 !important; font-size:9.5px !important; font-weight:950 !important; text-decoration:none !important; }
.aj-child-tool-card__cta span { color:var(--aj-coral) !important; }
@media (max-width:860px) { .aj-child-tools-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media (max-width:520px) { .aj-child-tools-grid { grid-template-columns:1fr !important; } .aj-child-tool-card { min-height:0 !important; } }
