/**
 * Clube Pro — refinamentos só para telemóvel (≤768px).
 * Usa body.cdm-page-{slug} definido em index.php (ex.: cdm-page-agenda).
 * Carregar depois de style.css.
 */

@media (max-width: 768px) {
    /* ── Notificações ── */
    body.cdm-page-notifications .ntf-page {
        padding: 8px !important;
    }

    body.cdm-page-notifications .ntf-header {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 14px 16px !important;
    }

    body.cdm-page-notifications .ntf-header > div[style*="display:flex"] {
        flex-direction: column;
    }

    body.cdm-page-notifications .ntf-header button {
        width: 100%;
        justify-content: center;
    }

    body.cdm-page-notifications .ntf-type-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.cdm-page-notifications .ntf-prio-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.cdm-page-notifications .ntf-target-tabs {
        grid-template-columns: 1fr !important;
    }

    body.cdm-page-notifications .ntf-modal-wrap {
        margin: 12px auto !important;
        max-width: calc(100vw - 16px) !important;
        border-radius: 14px !important;
    }

    body.cdm-page-notifications .ntf-modal-body {
        padding: 16px !important;
    }

    body.cdm-page-notifications .ntf-item {
        flex-wrap: wrap;
    }

    body.cdm-page-notifications .ntf-item-actions {
        width: 100%;
        justify-content: flex-end;
        margin-top: 6px;
    }

    body.cdm-page-notifications .ntf-time {
        margin-left: 0 !important;
    }

    body.cdm-page-notifications .ntf-toast {
        left: max(12px, env(safe-area-inset-left, 0px));
        right: max(12px, env(safe-area-inset-right, 0px));
        bottom: max(20px, env(safe-area-inset-bottom, 0px));
        min-width: 0;
    }

    body.cdm-page-notifications .ntf-toolbar select,
    body.cdm-page-notifications .ntf-toolbar input,
    body.cdm-page-notifications .ntf-field input,
    body.cdm-page-notifications .ntf-field textarea,
    body.cdm-page-notifications .ntf-field select {
        font-size: 16px;
    }

    /* ── Agenda de eventos ── */
    body.cdm-page-agenda .agenda-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.cdm-page-agenda .container-fluid[style*="padding"] {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    /* ── Calendário desportivo (FullCalendar) ── */
    body.cdm-page-calendar .fc .fc-toolbar {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px !important;
    }

    body.cdm-page-calendar .fc .fc-toolbar-chunk {
        display: flex !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }

    body.cdm-page-calendar #cal-container {
        padding: 12px 8px !important;
        border-radius: 14px !important;
    }

    body.cdm-page-calendar .cal-top-card {
        padding: 16px 14px !important;
        border-radius: 14px !important;
    }

    body.cdm-page-calendar .cal-wrapper {
        padding: 0 !important;
    }

    body.cdm-page-calendar .fc .fc-daygrid-day {
        min-height: 62px !important;
    }

    body.cdm-page-calendar .cal-filter-btn {
        padding: 7px 12px 7px 8px !important;
    }

    /* ── Busca global ── */
    body.cdm-page-global-search .container-fluid.p-4 {
        padding: 12px !important;
    }

    body.cdm-page-global-search .display-4 {
        font-size: 2rem;
    }

    body.cdm-page-global-search .input-group-lg > .form-control {
        font-size: 16px;
    }

    /* ── Permissões (grelha lateral + conteúdo) ── */
    body.cdm-page-permissions .pm-body {
        grid-template-columns: 1fr !important;
    }

    /* ── Hub social ── */
    body.cdm-page-social-panel .mood-stats-row,
    body.cdm-page-social-panel .mood-team-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.cdm-page-social-panel .msg-audience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.cdm-page-social-panel .msg-composer {
        padding: 12px !important;
    }

    body.cdm-page-social-panel .msg-send-row {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    body.cdm-page-social-panel .msg-send-btn {
        width: 100%;
    }

    body.cdm-page-social-panel .coach-comment-area {
        flex-direction: column;
    }

    body.cdm-page-social-panel .coach-comment-btn {
        width: 100%;
    }

    body.cdm-page-social-panel .rank-table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* ── Centro atleta (grelhas densas) ── */
    body.cdm-page-athlete-hub .goals-cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    /* ── Notas automáticas / relatórios com grelhas 2 col ── */
    body.cdm-page-automatic-notifications .an-grid-2 {
        grid-template-columns: 1fr !important;
    }

    /* ── Dirigentes / gestão clube (grelha de permissões) ── */
    body.cdm-page-clube-management .perm-check-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.cdm-page-clube-management .dir-header {
        padding: 18px 16px !important;
    }

    body.cdm-page-clube-management .dir-header .btn {
        width: 100%;
    }

    /* ── Mensagens (chat duas colunas) ── */
    body.cdm-page-messages .row > .col-md-4,
    body.cdm-page-messages .row > .col-md-8 {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    body.cdm-page-messages .card-body[style*="max-height"] {
        max-height: min(42vh, 360px) !important;
    }

    body.cdm-page-messages #messagesArea {
        height: min(48vh, 420px) !important;
        min-height: 220px !important;
    }

    body.cdm-page-messages .card-footer .input-group {
        flex-wrap: nowrap;
    }

    body.cdm-page-messages .card-footer .btn {
        flex-shrink: 0;
    }

    /* ── Configurações do sistema ── */
    body.cdm-page-system .container-fluid.py-4 {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }

    body.cdm-page-system .d-flex.align-items-center.gap-3.mb-4 {
        flex-direction: column;
        align-items: flex-start !important;
        text-align: left;
    }

    /* ── Finanças / pagamentos / listagens densas ── */
    body.cdm-page-finances .table-responsive,
    body.cdm-page-payments .table-responsive,
    body.cdm-page-fees .table-responsive,
    body.cdm-page-activity-logs .table-responsive {
        -webkit-overflow-scrolling: touch;
        margin-bottom: 0.75rem;
    }

    /* ── Atletas / utilizadores ── */
    body.cdm-page-athletes .card-header,
    body.cdm-page-users .card-header {
        flex-direction: column;
        align-items: stretch !important;
    }

    /* ── Treinadores (grelha de cartões) ── */
    body.cdm-page-trainers .gt-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    /* ── Dashboard (grelha admin já responsiva; espaçamento) ── */
    body.cdm-page-dashboard .dashboard-compact {
        padding-left: 0;
        padding-right: 0;
    }

    /* ── Export / relatórios ── */
    body.cdm-page-export .card .card-body,
    body.cdm-page-custom-reports .card .card-body {
        padding: 14px !important;
    }

    /* ── Reuniões / documentos ── */
    body.cdm-page-meetings .table-responsive,
    body.cdm-page-club-documents .table-responsive {
        -webkit-overflow-scrolling: touch;
    }

    /* ── Galeria ── */
    body.cdm-page-gallery .row {
        --bs-gutter-x: 0.5rem;
        --bs-gutter-y: 0.5rem;
    }
}

/* Ecrãs muito estreitos: uma coluna nas estatísticas da agenda */
@media (max-width: 480px) {
    body.cdm-page-agenda .agenda-stats-grid {
        grid-template-columns: 1fr !important;
    }

    body.cdm-page-notifications .ntf-type-grid {
        grid-template-columns: 1fr !important;
    }

    body.cdm-page-social-panel .mood-stats-row,
    body.cdm-page-social-panel .mood-team-grid,
    body.cdm-page-social-panel .msg-audience-grid {
        grid-template-columns: 1fr !important;
    }

    body.cdm-page-athlete-hub .goals-cards-grid {
        grid-template-columns: 1fr !important;
    }

    body.cdm-page-clube-management .perm-check-grid {
        grid-template-columns: 1fr !important;
    }

    body.cdm-page-trainers .gt-grid {
        grid-template-columns: 1fr !important;
    }
}
