/* Accueil de l'appli : blocs « Mis en avant », « Les rubriques », « Rejoindre », « Trouver une compétition », « Club mis en avant ».
   Couleurs par variables (mobile_header.php) pour suivre les modes jour et nuit. Grille de 8 pt, cartes sans ombre. */
.ap-bloc { padding: 0 16px; margin-top: 24px; }
.ap-entete {
    margin: 0 0 12px; font-family: 'Barlow Condensed', 'Bebas Neue', sans-serif; font-weight: 700;
    font-size: 1.25rem; line-height: 1.3; text-transform: uppercase; letter-spacing: .02em; color: var(--white);
}
.ap-liste { display: grid; gap: 8px; }
.ap-liste[hidden] { display: none; }
.ap-ligne, .ap-carte {
    display: flex; gap: 12px; padding: 12px; border-radius: 16px; background: var(--ink2);
    border: 1px solid var(--rule); color: var(--white); text-decoration: none; transition: transform .15s ease-out;
}
.ap-ligne:active { transform: scale(.985); }
.ap-carte:active { transform: scale(.98); }
.ap-vignette { width: 88px; height: 64px; flex-shrink: 0; border-radius: 12px; overflow: hidden; background: var(--ink3, var(--rule)); }
.ap-vignette img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ap-corps { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ap-titre { font-size: 1rem; line-height: 1.35; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ap-date { font-size: .8125rem; line-height: 1.4; color: var(--muted); }
.ap-puces { display: flex; gap: 8px; overflow-x: auto; margin: 0 -16px 12px; padding: 0 16px; scrollbar-width: none; }
.ap-puces::-webkit-scrollbar { display: none; }
.ap-puce {
    flex-shrink: 0; min-height: 44px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--rule);
    background: var(--ink2); color: var(--white); font-size: .875rem; font-weight: 600; white-space: nowrap;
}
.ap-puce[aria-selected="true"] { background: var(--blue); border-color: var(--blue); color: var(--sur-blue, #fff); }
.ap-lien { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; font-weight: 700; color: var(--blue-hi, var(--blue)); text-decoration: none; }
.ap-cartes { display: grid; gap: 8px; }
.ap-carte { flex-direction: column; gap: 4px; padding: 16px; }
.ap-carte-titre { font-family: 'Barlow Condensed', 'Bebas Neue', sans-serif; font-weight: 700; font-size: 1.5rem; line-height: 1.1; text-transform: uppercase; }
.ap-carte-texte { font-size: .9375rem; line-height: 1.45; color: color-mix(in srgb, var(--white) 78%, transparent); }
.ap-carte-action { margin-top: 4px; font-size: .875rem; font-weight: 700; color: var(--blue-hi, var(--blue)); }
.ap-carte-forte { background: var(--blue); border-color: var(--blue); color: var(--sur-blue, #fff); }
.ap-carte-forte .ap-carte-texte, .ap-carte-forte .ap-carte-action { color: var(--sur-blue, #fff); }
.ap-trouver { gap: 12px; }
.ap-champ {
    width: 100%; min-height: 44px; padding: 8px 12px; border-radius: 12px; border: 1px solid var(--rule);
    background: var(--ink); color: var(--white); font-size: 16px;
}
.ap-bouton {
    min-height: 44px; border-radius: 14px; border: 0; background: var(--blue); color: var(--sur-blue, #fff);
    font-weight: 700; font-size: 1rem;
}
.ap-club { flex-direction: row; align-items: center; gap: 12px; }
.ap-club-logo {
    width: 64px; height: 64px; flex-shrink: 0; border-radius: 12px; background: #fff; border: 1px solid var(--rule);
    display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 4px;
    font-family: 'Barlow Condensed', sans-serif; font-weight: 800; font-size: 2rem; color: #111418;
}
.ap-club-logo img { width: 100%; height: 100%; object-fit: contain; }
.ap-puce:focus-visible, .ap-ligne:focus-visible, .ap-carte:focus-visible, .ap-champ:focus-visible, .ap-bouton:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
    .ap-ligne, .ap-carte { transition: none; }
    .ap-ligne:active, .ap-carte:active { transform: none; }
}
