/* ============================================
   VTU WEBSITE - RESPONSIVE STYLESHEET
   Version: 1.0
   ============================================ */

/* ===== LARGE DEVICES (Desktops, 1200px and up) ===== */
@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }
}

/* ===== MEDIUM DEVICES (Tablets, 992px to 1199px) ===== */
@media (max-width: 1199px) {
    .hero-section h1 {
        font-size: 38px;
    }
    
    .wallet-balance-card .balance-amount {
        font-size: 32px;
    }
}

/* ===== SMALL DEVICES (Tablets, 768px to 991px) ===== */
@media (max-width: 991px) {
    /* Sidebar */
    .sidebar-wrapper {
        width: 100%;
        height: auto;
        position: relative;
        min-height: auto;
    }
    
    .sidebar {
        display: flex;
        flex-wrap: wrap;
        padding: 10px 15px;
    }
    
    .sidebar-user {
        display: none;
    }
    
    .sidebar-wallet {
        margin: 0 0 10px 0;
        width: 100%;
        display: none;
    }
    
    .sidebar-menu {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        margin: 0;
        width: 100%;
    }
    
    .sidebar-menu li {
        flex: 1;
        min-width: 120px;
    }
    
    .sidebar-menu li a {
        padding: 8px 12px;
        font-size: 13px;
        border-left: none;
        border-radius: 5px;
    }
    
    .sidebar-menu .divider {
        display: none;
    }
    
    /* Main Content */
    .main-content {
        padding: 15px;
    }
    
    /* Hero */
    .hero-section {
        padding: 60px 0;
        min-height: auto;
    }
    
    .hero-section h1 {
        font-size: 32px;
    }
    
    /* Stats */
    .stats-section h3 {
        font-size: 28px;
    }
    
    /* Wallet Balance */
    .wallet-balance-card .balance-amount {
        font-size: 28px;
    }
    
    /* Transactions */
    .transaction-item {
        flex-wrap: wrap;
    }
}

/* ===== EXTRA SMALL DEVICES (Phones, 576px to 767px) ===== */
@media (max-width: 767px) {
    /* Typography */
    .section-title {
        font-size: 22px;
    }
    
    .hero-section h1 {
        font-size: 28px;
    }
    
    .hero-section .lead {
        font-size: 16px;
    }
    
    /* Buttons */
    .btn-lg {
        padding: 12px 25px;
        font-size: 16px;
    }
    
    /* Cards */
    .stat-card .stat-number {
        font-size: 22px;
    }
    
    /* Wallet */
    .wallet-balance-card {
        padding: 20px;
    }
    
    .wallet-balance-card .balance-amount {
        font-size: 24px;
    }
    
    /* Forms */
    .form-control {
        padding: 10px 15px;
    }
    
    /* Tables */
    .table-responsive {
        font-size: 13px;
    }
    
    .table td, .table th {
        padding: 8px 10px;
    }
    
    /* Modals */
    .modal-body {
        padding: 20px;
    }
    
    /* Notifications */
    .notification-item {
        flex-wrap: wrap;
    }
    
    .notification-item .notification-actions {
        margin-left: 0;
        margin-top: 10px;
        width: 100%;
        justify-content: flex-end;
    }
    
    /* Profile */
    .profile-avatar {
        width: 120px;
        height: 120px;
    }
    
    /* Stats Cards */
    .stat-card {
        margin-bottom: 15px;
    }
    
    /* Quick Actions */
    .quick-action .action-icon {
        font-size: 30px;
    }
    
    /* Network Cards */
    .network-card {
        padding: 10px;
    }
    
    .network-card .network-icon {
        font-size: 20px;
    }
    
    .network-card .network-name {
        font-size: 12px;
    }
    
    /* Plan Cards */
    .plan-card .plan-details {
        flex-wrap: wrap;
    }
}

/* ===== EXTRA EXTRA SMALL (Phones, less than 576px) ===== */
@media (max-width: 575px) {
    /* Container */
    .container {
        padding: 0 10px;
    }
    
    /* Hero */
    .hero-section {
        padding: 40px 0;
        text-align: center;
    }
    
    .hero-section h1 {
        font-size: 24px;
    }
    
    /* Stats */
    .stats-section h3 {
        font-size: 22px;
    }
    
    .stats-section p {
        font-size: 13px;
    }
    
    /* Buttons */
    .btn {
        padding: 8px 18px;
        font-size: 13px;
    }
    
    /* Cards */
    .card-body {
        padding: 15px;
    }
    
    /* Wallet Balance */
    .wallet-balance-card .balance-amount {
        font-size: 20px;
    }
    
    /* Forms */
    .input-group {
        flex-wrap: nowrap;
    }
    
    /* Tables */
    .table td, .table th {
        padding: 6px 8px;
        font-size: 12px;
    }
    
    /* Sidebar Menu */
    .sidebar-menu li {
        min-width: 100%;
    }
    
    /* Network Cards */
    .network-card {
        padding: 8px;
    }
    
    .network-card .network-name {
        font-size: 11px;
    }
    
    /* Quick Amounts */
    .quick-amounts .btn {
        font-size: 12px;
        padding: 4px 10px;
    }
    
    /* Status Badges */
    .status-badge {
        font-size: 10px;
        padding: 2px 8px;
    }
    
    /* Modal */
    .modal-dialog {
        margin: 10px;
    }
    
    /* Wallet Balance Card */
    .wallet-balance-card {
        padding: 15px;
    }
    
    .wallet-balance-card .balance-amount {
        font-size: 22px;
    }
    
    /* Profile */
    .profile-avatar {
        width: 100px;
        height: 100px;
    }
    
    /* Dashboard Stats */
    .stat-card .stat-number {
        font-size: 18px;
    }
}

/* ===== PRINT STYLES ===== */
@media print {
    .sidebar-wrapper,
    .navbar,
    .btn,
    .no-print {
        display: none !important;
    }
    
    .main-content {
        padding: 0 !important;
    }
    
    .dashboard-wrapper {
        display: block !important;
    }
}