/**
 * Touch targets accessibilite (Apple HIG 44x44, WCAG 2.5.5 AAA)
 * Cible : pages publiques. Charge APRES public.css.
 * Audit cycle 6 prof-ux-mobile : 31/38 cibles sub-44px sur public/*.php
 *
 * Strategie : min-height + inline-flex pour preserver le rendu visuel,
 * etendre la hitbox sans casser le padding existant.
 */

/* ========================================================================
   BASELINE GLOBALE — toutes interactives clickables
   ======================================================================== */
button,
a.btn,
input[type="submit"],
input[type="button"],
.btn,
.btn-sm,
.btn-xs,
.btn-lg,
.btn-block,
.nav-item,
.nav-dropdown-btn,
[role="button"] {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    box-sizing: border-box;
}

/* ========================================================================
   FORUM (public/forum.php + public/forum-thread.php)
   ======================================================================== */
.f-cat,
.f-btn,
.f-file-label {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    box-sizing: border-box;
}

/* ========================================================================
   REGLES (public/regles.php)
   ======================================================================== */
.rules-cat-btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    box-sizing: border-box;
}

/* ========================================================================
   FRIENDLY (public/friendly.php) — accept/decline / report / rematch
   Cas critique : explique probablement les "3 jours sur match classe"
   ======================================================================== */
.fr-accept-btn,
.fr-decline-btn,
.fr-report-btn,
.fr-rm-invite-btn,
.friends-challenge-btn {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    box-sizing: border-box;
    padding-left: 14px;
    padding-right: 14px;
}

/* ========================================================================
   CHAT (public/chat.php) — toggle online users
   ======================================================================== */
#chat-toggle-online,
.chat-action-btn {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
}

/* ========================================================================
   COMPTE (collection / amis / messages)
   ======================================================================== */
.collection-action,
.friends-action,
#toggle-pwd,
#toggle-pwd2 {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
}

/* ========================================================================
   PUBLIC NAV mobile (≤800px) — items menu
   ======================================================================== */
@media (max-width: 800px) {
    .public-nav > a,
    .public-nav .nav-dropdown-btn,
    .nav-dropdown-panel a {
        min-height: 44px;
        display: flex;
        align-items: center;
        touch-action: manipulation;
    }
}

/* ========================================================================
   CYCLE 7 — pages restantes (match / joueur / casiers / fidelite / elo / index)
   Audit cycle 13 prof-ux-mobile : 14 KO sub-44px residuels.
   ======================================================================== */

/* MATCH (public/match.php) — boutons inject par JS, styles inline */
#btn-report,
#btn-start,
#btn-submit,
#match-vm-confirm,
#match-vm-dispute,
.btn-validate-presence,
.winner-btn,
.rank-btn,
#report-submit,
#report-cancel {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    box-sizing: border-box;
}
.rank-btn {
    width: 44px !important;
    height: 44px !important;
}

/* JOUEUR (public/joueur.php) — challenge + block */
#joueur-challenge-btn,
#btn-block-player {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    box-sizing: border-box;
}

/* CASIERS (public/casiers.php) */
.cs-btn {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    box-sizing: border-box;
}

/* FIDELITE (public/fidelite.php) — override padding faible */
.fid-cta .btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    box-sizing: border-box;
}

/* ELO (public/elo.php) — onglets ajoutes class .elo-tab */
.elo-tab {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    box-sizing: border-box;
}

/* INDEX (public/index.php) — bouton desinscription tournoi miniature */
.tour-unregister-btn {
    min-height: 44px;
    min-width: 44px;
    padding: 8px 12px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    touch-action: manipulation;
    box-sizing: border-box;
}

/* ONBOARDING (public/onboarding.php) — garde-fou */
.ob-btn {
    min-height: 44px;
    box-sizing: border-box;
}

/* ========================================================================
   Garde-fou : ne pas grossir les badges / pills decoratifs
   ======================================================================== */
.badge-public,
.role-badge,
.tl-version,
.elo-change {
    min-height: auto !important;
    display: inline-block !important;
}
