/* =========================== */
/* RESPONSIVITÉ GLOBALE POUR TOUTES LES PAGES */
/* =========================== */

/* CSS à inclure dans toutes les pages utilisant main.css */

/* Amélioration de la responsivité pour les pages de connexion/inscription */

/* Tablettes et petits ordinateurs portables */
@media (max-width: 1024px) {
  .container-login100 {
    padding: 10px !important;
  }
  
  .wrap-login100 {
    width: 95% !important;
    max-width: 450px !important;
    padding: 50px 40px 30px 40px !important;
  }
}

/* Tablettes en mode portrait */
@media (max-width: 768px) {
  .wrap-login100 {
    width: 95% !important;
    max-width: 400px !important;
    padding: 40px 30px 25px 30px !important;
    margin: 10px !important;
  }
  
  .login100-form-title {
    font-size: 24px !important;
    margin-bottom: 20px !important;
  }
  
  .login100-form-title i {
    font-size: 60px !important;
  }
  
  .input100 {
    font-size: 16px !important; /* Évite le zoom sur iOS */
  }
  
  .focus-input100::before {
    font-size: 14px !important;
  }
  
  /* Alerts responsive */
  .alert {
    font-size: 14px !important;
    padding: 10px 15px !important;
    margin-bottom: 15px !important;
  }
  
  /* Password requirements responsive */
  .password-requirements {
    padding: 12px !important;
    margin-bottom: 15px !important;
  }
  
  .password-requirements h6 {
    font-size: 14px !important;
  }
  
  .password-requirements ul {
    font-size: 12px !important;
  }
  
  .password-requirements li {
    margin-bottom: 3px !important;
  }
}

/* Smartphones et petites tablettes */
@media (max-width: 576px) {
  .container-login100 {
    padding: 5px !important;
    min-height: 100vh !important;
  }
  
  .wrap-login100 {
    width: 98% !important;
    padding: 30px 20px 20px 20px !important;
    margin: 5px !important;
    border-radius: 8px !important;
  }
  
  .login100-form-title {
    font-size: 20px !important;
    margin-bottom: 15px !important;
    line-height: 1.3 !important;
  }
  
  .login100-form-title i {
    font-size: 50px !important;
    margin-bottom: 15px !important;
  }
  
  .wrap-input100 {
    margin-bottom: 20px !important;
  }
  
  .input100 {
    font-size: 16px !important;
    padding: 15px 0 !important;
  }
  
  .login100-form-btn {
    font-size: 16px !important;
    padding: 15px !important;
  }
  
  .container-login100-form-btn {
    margin-top: 25px !important;
    margin-bottom: 20px !important;
  }
  
  .txt1, .txt2 {
    font-size: 12px !important;
  }
  
  .p-t-40 {
    padding-top: 25px !important;
  }
  
  .p-t-20 {
    padding-top: 15px !important;
  }
  
  /* Password requirements pour petits écrans */
  .password-requirements {
    padding: 10px !important;
    margin-bottom: 12px !important;
  }
  
  .password-requirements h6 {
    font-size: 13px !important;
    margin-bottom: 8px !important;
  }
  
  .password-requirements ul {
    font-size: 11px !important;
    padding-left: 15px !important;
  }
}

/* Très petits smartphones */
@media (max-width: 480px) {
  .wrap-login100 {
    padding: 25px 15px 15px 15px !important;
  }
  
  .login100-form-title {
    font-size: 18px !important;
  }
  
  .login100-form-title i {
    font-size: 45px !important;
  }
  
  .input100 {
    font-size: 15px !important;
  }
  
  .focus-input100::before {
    font-size: 13px !important;
  }
}

/* Smartphones très étroits */
@media (max-width: 360px) {
  .wrap-login100 {
    padding: 20px 12px 12px 12px !important;
  }
  
  .login100-form-title {
    font-size: 16px !important;
  }
  
  .login100-form-title i {
    font-size: 40px !important;
  }
  
  .password-requirements h6 {
    font-size: 12px !important;
  }
  
  .password-requirements ul {
    font-size: 10px !important;
  }
}

/* =========================== */
/* RESPONSIVITÉ POUR SELECT_ROOM */
/* =========================== */

/* Amélioration de room_selection.css */
@media (max-width: 992px) {
  .col-md-6 {
    max-width: 90% !important;
  }
}

@media (max-width: 768px) {
  .container.mt-5 {
    margin-top: 2rem !important;
    padding: 0 10px !important;
  }
  
  .col-md-6 {
    max-width: 100% !important;
    padding: 0 5px !important;
  }
  
  .card {
    margin: 10px 0 !important;
    border-radius: 12px !important;
  }
  
  .card-header {
    padding: 15px !important;
    flex-direction: column !important;
    text-align: center !important;
  }
  
  .card-header h4 {
    font-size: 18px !important;
    margin-bottom: 10px !important;
  }
  
  .btn-outline-danger {
    font-size: 14px !important;
    padding: 6px 12px !important;
  }
  
  .card-body {
    padding: 15px !important;
  }
  
  .nav-tabs {
    flex-direction: column !important;
    border-bottom: none !important;
  }
  
  .nav-tabs .nav-link {
    text-align: center !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 8px !important;
    margin: 2px 0 !important;
    font-size: 14px !important;
  }
  
  .nav-tabs .nav-link.active {
    background-color: #007bff !important;
    color: white !important;
    border-color: #007bff !important;
  }
  
  .tab-content {
    margin-top: 15px !important;
  }
  
  .list-group {
    max-height: 250px !important;
  }
  
  .list-group-item {
    padding: 12px !important;
  }
  
  .list-group-item h6 {
    font-size: 14px !important;
  }
  
  .list-group-item p {
    font-size: 12px !important;
  }
  
  .list-group-item small {
    font-size: 11px !important;
  }
  
  .badge {
    font-size: 0.6rem !important;
  }
  
  .form-group label {
    font-size: 14px !important;
    font-weight: 600 !important;
  }
  
  .form-control {
    font-size: 14px !important;
  }
  
  .form-check-label {
    font-size: 14px !important;
  }
  
  .form-check-label small {
    font-size: 12px !important;
  }
}

@media (max-width: 576px) {
  .container.mt-5 {
    margin-top: 1rem !important;
    padding: 0 5px !important;
  }
  
  .card {
    margin: 5px 0 !important;
    border-radius: 10px !important;
  }
  
  .card-header {
    padding: 12px !important;
  }
  
  .card-header h4 {
    font-size: 16px !important;
  }
  
  .card-body {
    padding: 12px !important;
  }
  
  .nav-tabs .nav-link {
    font-size: 12px !important;
    padding: 8px 10px !important;
  }
  
  .list-group {
    max-height: 200px !important;
  }
  
  .list-group-item {
    padding: 10px !important;
  }
  
  .form-group {
    margin-bottom: 15px !important;
  }
  
  .btn {
    font-size: 14px !important;
    padding: 8px 15px !important;
  }
}

@media (max-width: 480px) {
  .card-header h4 {
    font-size: 15px !important;
  }
  
  .nav-tabs .nav-link {
    font-size: 11px !important;
    padding: 6px 8px !important;
  }
  
  .list-group-item h6 {
    font-size: 13px !important;
  }
  
  .form-control, .form-check-label {
    font-size: 13px !important;
  }
}

/* =========================== */
/* ORIENTATION LANDSCAPE MOBILE */
/* =========================== */

@media (max-height: 500px) and (orientation: landscape) {
  .container-login100 {
    padding: 5px !important;
  }
  
  .wrap-login100 {
    padding: 20px 25px 15px 25px !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
  }
  
  .login100-form-title {
    font-size: 18px !important;
    margin-bottom: 10px !important;
  }
  
  .login100-form-title i {
    font-size: 35px !important;
    margin-bottom: 10px !important;
  }
  
  .wrap-input100 {
    margin-bottom: 15px !important;
  }
  
  .p-t-40, .p-t-20 {
    padding-top: 10px !important;
  }
  
  .password-requirements {
    padding: 8px !important;
    margin-bottom: 10px !important;
  }
}

/* =========================== */
/* PRINT STYLES */
/* =========================== */

@media print {
  .wrap-login100, .card {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
  }
  
  .login100-form-bgbtn {
    background: #333 !important;
  }
  
  .btn {
    border: 1px solid #333 !important;
  }
}

/* =========================== */
/* ACCESSIBILITÉ */
/* =========================== */

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
} 