/* ==========================================================================
   admin-mobile-activites.css — zone « Activités » de l'admin sur mobile (≤ 700 px)
   Complète admin-mobile.css (base commune). Rien ne s'applique au-dessus de 700 px.
   Classes posées par admin.js (activRenderInscriptions) :
     tr.act-insc-row, td.act-insc-who / -contact / -date / -st / -mt / -actions,
     span.act-insc-danger (Refuser / Archiver / Supprimer)
   ========================================================================== */

@media (max-width: 700px) {

  /* ── Onglet Activités : cartes (icône + titre sur une ligne, actions dessous) ── */
  #act-list-wrap .act-admin-card {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start !important;
    gap: .55rem .7rem !important;
    padding: .8rem .85rem !important;
  }
  #act-list-wrap .act-admin-card > span:first-child { line-height: 1.2; padding-top: .1rem; }
  #act-list-wrap .act-admin-card > div:nth-child(2) { width: auto !important; flex: none !important; }
  #act-list-wrap .act-admin-card > div:last-child {
    grid-column: 1 / -1;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .5rem !important;
    width: 100%;
  }
  #act-list-wrap .act-admin-card > div:last-child select { flex: 1 1 6rem !important; min-width: 0 !important; width: auto !important; }
  #act-list-wrap .act-admin-card > div:last-child button { min-width: 44px; min-height: 40px; flex: 0 0 auto; }
  /* Supprimer : écarté des autres boutons */
  #act-list-wrap .act-admin-card [data-action="activDelete"] { margin-left: .5rem; }

  /* Barre « Exemples / Nouvelle activité » : deux boutons pleine largeur à parts égales */
  #act-tab-list > div:first-child > div { width: 100%; display: grid !important; grid-template-columns: 1fr 1fr; gap: .5rem !important; }
  #act-examples-grid { grid-template-columns: minmax(0, 1fr) !important; }
  #act-examples-grid > button { min-height: 44px; }

  /* Formulaire d'activité */
  #act-form-wrap { padding: 1rem .85rem !important; margin-top: 1rem !important; }
  #act-form-wrap > div:last-child { display: grid !important; grid-template-columns: 1fr 1fr; gap: .5rem !important; }
  #act-form-wrap > div:last-child > button { width: 100%; min-height: 44px; padding-left: .5rem !important; padding-right: .5rem !important; }

  /* ── Onglet Inscriptions : filtres et envois groupés ──────────────── */
  #act-tab-inscriptions > div:first-child { gap: .35rem !important; margin-bottom: .8rem !important; }
  #act-tab-inscriptions > div:first-child > div:first-child {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem !important;
    align-items: stretch !important;
    width: 100%;
  }
  /* chaque filtre sur sa ligne, pleine largeur, texte entier */
  #act-insc-filter, #act-insc-status-filter {
    grid-column: 1 / -1;
    width: 100% !important;
    text-overflow: ellipsis;
  }
  /* boutons d'envoi groupé : grille 2 colonnes, libellé sur 2 lignes au besoin, jamais de mot coupé */
  #act-tab-inscriptions > div:first-child > div:first-child > .btn {
    width: 100%;
    min-height: 48px;
    margin: 0 !important;
    padding: .45rem .5rem !important;
    font-size: .8rem !important;
    line-height: 1.2;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none;
  }
  #act-rappel-etat { grid-column: 1 / -1; }
  #act-rappel-etat:empty { display: none; }
  #act-insc-count { margin-top: .1rem; }

  /* ── Encarts chèques à déposer / paiements HelloAsso à rapprocher ───── */
  #act-paiements-nr > div { padding: .75rem .8rem !important; }
  #act-paiements-nr label { min-height: 44px; align-items: flex-start !important; padding: .55rem 0 !important; }
  #act-paiements-nr label input[type="checkbox"] { margin-top: .1rem; }
  #act-paiements-nr [data-paiement-sel] { flex: 1 1 100% !important; width: 100% !important; }
  #act-paiements-nr [data-action="activPaiementAssocier"],
  #act-paiements-nr [data-action="activPaiementIgnorer"] { flex: 1 1 0 !important; min-height: 44px; font-size: .82rem !important; }

  /* ── En-tête de groupe (une activité) ─────────────────────────────── */
  #act-insc-list-wrap > div > div:first-child { padding: .65rem .75rem !important; }
  #act-insc-list-wrap > div > div:first-child > div { margin-left: 0 !important; justify-content: flex-start !important; width: 100%; }
  #act-insc-list-wrap > div > div:first-child > div > span:first-child { margin-left: 0 !important; }
  #act-insc-list-wrap > div > div:last-child { padding: .6rem .5rem .1rem; background: #f9fafb; }

  /* ── Fiche d'inscription compacte ─────────────────────────────────── */
  /* ligne 1 : enfant + statut · ligne 2 : contact · ligne 3 : montant/paiement · ligne 4 : actions */
  #act-insc-list-wrap table.m-cards > tbody > tr.act-insc-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: .5rem;
    padding: .2rem .8rem .1rem;
  }
  #act-insc-list-wrap tr.act-insc-row > td {
    grid-column: 1 / -1;
    padding: .45rem 0 !important;
    min-height: 0 !important;
  }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-who {
    grid-column: 1; grid-row: 1;
    font-size: 1rem;
    border-bottom: 0 !important;
    padding-top: .6rem !important;
  }
  /* la cellule statut s'efface : la pastille va en haut à droite, le motif de refus dessous */
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-st { display: contents !important; }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-st > span {
    grid-column: 2; grid-row: 1;
    align-self: start;
    margin-top: .65rem;
    font-size: .74rem !important;
  }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-st > .motif-tag {
    grid-column: 1 / -1; grid-row: 2;
    max-width: none !important;
    margin: 0 0 .4rem !important;
  }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-contact { grid-row: 3; padding-top: 0 !important; font-size: .82rem !important; }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-contact > a { display: inline !important; margin-right: .5rem; }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-contact:empty { display: none; }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-who:has(+ td.act-insc-contact:not(:empty)) { padding-bottom: .15rem !important; }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-mt {
    grid-row: 4;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .6rem;
    border-top: 1px solid #f3f4f6 !important;
  }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-mt > div { margin-top: 0 !important; }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-mt > div:first-child { font-size: 1rem; }
  /* Sélecteur de tarif : police 16 px (pas de zoom iOS) mais pastille compacte */
  #act-insc-list-wrap [data-tarif-force] {
    width: auto !important;
    max-width: 13rem;
    min-height: 40px !important;
    padding: .2rem .55rem !important;
    font-size: 16px !important;
    flex: 0 1 auto !important;
  }
  /* encart « paiement saisi à la main » : pleine largeur sous le montant */
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-mt > div[title] { flex: 1 1 100%; max-width: none !important; }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-mt > div[title] button { min-height: 40px; padding: 0 .3rem !important; font-size: .8rem !important; }
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-mt [data-action="activPaiementManuel"]:not([style*="underline"]) { min-height: 40px; padding: .2rem .7rem !important; font-size: .78rem !important; }

  /* Actions : boutons de 44 px bien espacés ; les gestes destructifs sont séparés à droite */
  #act-insc-list-wrap tr.act-insc-row > td.act-insc-actions {
    grid-row: 5;
    gap: .5rem !important;
    justify-content: flex-start;
    padding: .55rem 0 .65rem !important;
    border-top: 1px solid #f3f4f6 !important;
  }
  #act-insc-list-wrap td.act-insc-actions button {
    min-width: 44px !important;
    min-height: 44px !important;
    font-size: 1rem !important;
    border-radius: 8px !important;
    padding: .3rem .5rem !important;
  }
  /* Refuser / Archiver / Supprimer : groupe poussé à droite, loin de Valider ;
     s'il ne tient plus, il passe en bloc à la ligne suivante (toujours à droite) */
  #act-insc-list-wrap td.act-insc-actions > span.act-insc-danger {
    margin-left: auto;
    flex-wrap: nowrap;
    gap: .5rem;
  }
  #act-insc-list-wrap td.act-insc-actions .act-insc-danger > [data-action="activInscDelete"] { margin-left: .35rem !important; outline: 1px solid #fecaca; }

  /* ── Modale « Détails inscription » ───────────────────────────────── */
  #act-insc-detail-card > div:nth-child(2) { padding: .8rem .9rem !important; }
  #act-insc-detail-card > div:last-child { padding: .7rem .8rem .8rem !important; }
  #act-insc-detail-card > div:last-child > div:last-child { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem !important; }
  #act-insc-detail-card > div:last-child > div:last-child > button {
    min-width: 0 !important;
    width: 100%;
    min-height: 44px;
    padding: .5rem .45rem !important;
    font-size: .8rem !important;
    overflow-wrap: normal !important;
  }
  /* lignes de l'échéancier : cases faciles à toucher */
  #act-insc-detail-card [data-cheque-recu], #act-insc-detail-card [data-cheque-enc] { width: 22px !important; height: 22px !important; }
  #act-insc-detail-card label:has([data-cheque-recu]), #act-insc-detail-card label:has([data-cheque-enc]) { min-height: 40px; padding-right: .3rem; }

  /* ── Modale « Paiement reçu » : Montant / Date côte à côte trop serrés → empilés ── */
  #act-paie-modal > div > div:nth-child(2) > div[style*="display:flex"] { flex-direction: column; gap: 0 !important; }
  #act-paie-modal > div > div:last-child > button { flex: 1 1 0; min-height: 44px; }
}
