/* ============================================================
   NEXPAY — Responsive Adjustments
   File: assets/css/responsive.css
   Loaded last. Global breakpoint tuning across all pages.
   ============================================================ */

/* NEXPAY: START - Extra large (≥1440px) */
@media (min-width: 1440px) {
    :root {
        --nx-container: 1280px;
    }
}
/* NEXPAY: END - Extra large */


/* NEXPAY: START - Desktop (≥1024px) */
@media (min-width: 1024px) {
    .nx-hide-desktop { display: none !important; }
}
/* NEXPAY: END - Desktop */


/* NEXPAY: START - Tablet (≤1024px) */
@media (max-width: 1024px) {
    :root {
        --nx-container: 100%;
        --nx-navbar-h: 64px;
    }
    .nx-hide-tablet { display: none !important; }

    h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); }
    h2 { font-size: clamp(1.375rem, 3vw, 1.875rem); }
    .nx-section { padding: 72px 0; }
    .nx-num-lg { font-size: 2rem; }
}
/* NEXPAY: END - Tablet */


/* NEXPAY: START - Mobile (≤640px) */
@media (max-width: 640px) {
    body { font-size: 15px; }
    .nx-hide-mobile { display: none !important; }

    h1 { font-size: 1.75rem; }
    h2 { font-size: 1.375rem; }
    h3 { font-size: 1.125rem; }

    .nx-section { padding: 56px 0; }
    .nx-section-sm { padding: 40px 0; }
    .nx-section-head { margin-bottom: 36px; }
    .nx-section-head p { font-size: 0.9375rem; }

    .nx-card { padding: 20px; }
    .nx-form-panel { padding: 20px; }
    .nx-form-panel-head { margin-bottom: 18px; padding-bottom: 14px; }

    .nx-btn { padding: 12px 18px; }
    .nx-btn-lg { padding: 14px 20px; font-size: 15px; }

    .nx-pay-shell { padding: 20px 14px 60px; }
    .nx-pay-header { padding: 24px 20px 20px; }
    .nx-pay-amount { padding: 22px 20px; }
    .nx-pay-amount-value { font-size: 2rem; }
    .nx-pay-methods { padding: 22px 20px; }
    .nx-pay-actions { padding: 18px 20px 24px; }

    .nx-result-card { padding: 32px 22px; }
    .nx-result-amount { font-size: 1.875rem; }

    .nx-wallet-hero { padding: 22px; }
    .nx-wallet-hero-actions { gap: 8px; }
    .nx-wallet-hero-actions .nx-btn { flex: 1 1 auto; min-width: 120px; justify-content: center; }

    .nx-amount-input { padding: 14px 16px; }
    .nx-amount-input input { font-size: 1.625rem; }

    .nx-table th, .nx-table td { padding: 10px 14px; font-size: 13px; }
    .nx-table-head { padding: 14px 16px; }

    .nx-footer { margin-top: 64px; padding: 56px 0 28px; }
}
/* NEXPAY: END - Mobile */


/* NEXPAY: START - Small mobile (≤400px) */
@media (max-width: 400px) {
    .nx-container { padding-inline: 16px; }
    .nx-quick-actions { grid-template-columns: 1fr; }
    .nx-wallet-hero-amount { font-size: 1.75rem; }
    .nx-pay-amount-value { font-size: 1.75rem; }
}
/* NEXPAY: END - Small mobile */


/* NEXPAY: START - Print */
@media print {
    .nx-navbar, .nx-footer, .nx-bottom-nav, .nx-topbar-actions, .nx-admin-sidebar, .nx-admin-navbar { display: none !important; }
    .nx-app, .nx-admin-shell { grid-template-columns: 1fr; }
    .nx-content, .nx-admin-content { padding: 0; }
    body { background: #FFFFFF; }
}
/* NEXPAY: END - Print */


/* NEXPAY: START - Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
/* NEXPAY: END - Reduced motion */