/* Responsive CSS untuk Template Logdaf */

/* Responsive untuk semua ukuran layar */
@media (max-width: 1200px) {
    /* Tablet landscape */
    .container-fluid {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

@media (max-width: 992px) {
    /* Tablet portrait */
    .auth-wrapper {
        min-height: 100vh;
        padding: 2rem 1rem;
    }
    
    .auth-card {
        max-width: 500px;
        margin: 0 auto;
    }
    
    .auth-header h1 {
        font-size: 2rem;
    }
    
    .auth-header p {
        font-size: 1.1rem;
    }
}

@media (max-width: 768px) {
    /* Mobile landscape */
    .auth-wrapper {
        padding: 1.5rem 0.75rem;
    }
    
    .auth-card {
        max-width: 100%;
        margin: 0;
        border-radius: 15px;
    }
    
    .auth-header h1 {
        font-size: 1.75rem;
    }
    
    .auth-header p {
        font-size: 1rem;
    }
    
    .auth-form .form-label {
        font-size: 0.9rem;
    }
    
    .auth-form .form-control {
        font-size: 0.9rem;
        padding: 0.75rem 1rem;
    }
    
    .auth-form .btn {
        font-size: 0.9rem;
        padding: 0.75rem 1.5rem;
    }
    
    .auth-footer {
        font-size: 0.9rem;
    }
}

@media (max-width: 576px) {
    /* Mobile portrait */
    .auth-wrapper {
        padding: 1rem 0.5rem;
    }
    
    .auth-card {
        border-radius: 10px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    }
    
    .auth-header h1 {
        font-size: 1.5rem;
    }
    
    .auth-header p {
        font-size: 0.9rem;
    }
    
    .auth-form .form-label {
        font-size: 0.875rem;
        margin-bottom: 0.5rem;
    }
    
    .auth-form .form-control {
        font-size: 0.875rem;
        padding: 0.625rem 0.875rem;
    }
    
    .auth-form .btn {
        font-size: 0.875rem;
        padding: 0.625rem 1.25rem;
        width: 100%;
    }
    
    .auth-footer {
        font-size: 0.875rem;
    }
    
    .auth-links {
        flex-direction: column;
        gap: 0.5rem;
        text-align: center;
    }
    
    .auth-links a {
        display: block;
        width: 100%;
        padding: 0.5rem;
    }
}

@media (max-width: 480px) {
    /* Mobile sangat kecil */
    .auth-wrapper {
        padding: 0.75rem 0.25rem;
    }
    
    .auth-card {
        border-radius: 8px;
        margin: 0.5rem;
    }
    
    .auth-header h1 {
        font-size: 1.25rem;
    }
    
    .auth-header p {
        font-size: 0.8rem;
    }
    
    .auth-form .form-label {
        font-size: 0.8rem;
    }
    
    .auth-form .form-control {
        font-size: 0.8rem;
        padding: 0.5rem 0.75rem;
    }
    
    .auth-form .btn {
        font-size: 0.8rem;
        padding: 0.5rem 1rem;
    }
    
    .auth-footer {
        font-size: 0.8rem;
    }
}

/* Responsive untuk logo */
@media (max-width: 768px) {
    .auth-logo {
        width: 80px !important;
        height: 80px !important;
    }
    
    .auth-logo img {
        max-width: 100%;
        height: auto;
    }
}

@media (max-width: 576px) {
    .auth-logo {
        width: 60px !important;
        height: 60px !important;
    }
}

@media (max-width: 480px) {
    .auth-logo {
        width: 50px !important;
        height: 50px !important;
    }
}

/* Responsive untuk form validation */
@media (max-width: 576px) {
    .invalid-feedback {
        font-size: 0.75rem;
    }
    
    .valid-feedback {
        font-size: 0.75rem;
    }
}

/* Responsive untuk alert messages */
@media (max-width: 576px) {
    .alert {
        padding: 0.75rem;
        font-size: 0.875rem;
    }
    
    .alert .d-flex {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .alert i {
        margin-bottom: 0.5rem;
        margin-right: 0 !important;
    }
}

/* Responsive untuk password toggle */
@media (max-width: 576px) {
    .password-toggle {
        right: 0.75rem;
        top: 50%;
        transform: translateY(-50%);
    }
    
    .password-toggle i {
        font-size: 0.9rem;
    }
}

/* Responsive untuk checkbox dan radio */
@media (max-width: 576px) {
    .form-check {
        margin-bottom: 0.75rem;
    }
    
    .form-check-label {
        font-size: 0.875rem;
    }
}

/* Responsive untuk divider */
@media (max-width: 576px) {
    .divider {
        margin: 1rem 0;
    }
    
    .divider-text {
        font-size: 0.875rem;
        padding: 0 0.75rem;
    }
}

/* Responsive untuk social login buttons */
@media (max-width: 576px) {
    .social-login {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .social-login .btn {
        width: 100%;
        justify-content: center;
    }
}

/* Responsive untuk registration form */
@media (max-width: 768px) {
    .registration-form .row {
        margin: 0;
    }
    
    .registration-form .col-md-6 {
        padding: 0;
        margin-bottom: 1rem;
    }
}

@media (max-width: 576px) {
    .registration-form .form-group {
        margin-bottom: 1rem;
    }
    
    .registration-form .btn-submit {
        width: 100%;
        margin-top: 1rem;
    }
}

/* Responsive untuk terms and conditions */
@media (max-width: 576px) {
    .terms-text {
        font-size: 0.8rem;
        line-height: 1.4;
    }
    
    .terms-link {
        font-size: 0.8rem;
    }
}

/* Responsive untuk loading state */
@media (max-width: 576px) {
    .btn-loading {
        font-size: 0.875rem;
    }
    
    .spinner-border-sm {
        width: 0.875rem;
        height: 0.875rem;
    }
}

/* Responsive untuk background */
@media (max-width: 768px) {
    .auth-bg {
        background-size: cover;
        background-position: center;
    }
}

/* Responsive untuk card shadows */
@media (max-width: 576px) {
    .auth-card {
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }
}

/* Responsive untuk input groups */
@media (max-width: 576px) {
    .input-group-text {
        font-size: 0.875rem;
        padding: 0.5rem 0.75rem;
    }
    
    .input-group .form-control {
        font-size: 0.875rem;
        padding: 0.5rem 0.75rem;
    }
}

/* Responsive untuk floating labels */
@media (max-width: 576px) {
    .form-floating > .form-control {
        font-size: 0.875rem;
        padding: 1rem 0.75rem;
    }
    
    .form-floating > label {
        font-size: 0.875rem;
        padding: 1rem 0.75rem;
    }
}

/* Responsive untuk custom select */
@media (max-width: 576px) {
    .form-select {
        font-size: 0.875rem;
        padding: 0.5rem 0.75rem;
    }
}

/* Responsive untuk tooltips */
@media (max-width: 576px) {
    .tooltip {
        font-size: 0.75rem;
    }
}

/* Responsive untuk modal dialogs */
@media (max-width: 576px) {
    .modal-dialog {
        margin: 0.5rem;
        max-width: calc(100% - 1rem);
    }
    
    .modal-header {
        padding: 1rem;
    }
    
    .modal-body {
        padding: 1rem;
    }
    
    .modal-footer {
        padding: 1rem;
    }
}

/* Responsive untuk sweetalert */
@media (max-width: 576px) {
    .swal2-popup {
        font-size: 0.875rem;
        padding: 1rem;
    }
    
    .swal2-title {
        font-size: 1.25rem;
    }
    
    .swal2-content {
        font-size: 0.875rem;
    }
    
    .swal2-actions {
        gap: 0.5rem;
    }
    
    .swal2-actions .swal2-confirm,
    .swal2-actions .swal2-cancel {
        font-size: 0.875rem;
        padding: 0.5rem 1rem;
    }
} 