/* =========================================
   EXCLUSION DES BLOCS DU HEADER (anti-auréole)
   ========================================= */

/* ✅ Annule TOUS les styles du sélecteur global pour les blocs du header */
.header .block,
.header-actions-region .block,
.header-actions-region .contextual-region,
.header-actions-region nav,
.header-actions-region .block-content {
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transition: none !important;
}

/* ✅ Désactive le hover sur ces blocs */
.header .block:hover,
.header-actions-region .block:hover,
.header-actions-region .contextual-region:hover,
.header-actions-region nav:hover {
  border-color: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

/* =========================================
   FORMULAIRES, BLOCS ET LIGNES DE VUES
   ========================================= */
.form-item, 
.block:not(.exclude-styles):not(.header *):not(.header-actions-region *), 
.views-row {
  border-radius: 16px !important;
  padding: 16px;
  margin: 10px 0 20px;
  border: 1.5px solid #E2E8F0 !important;
  background-color: #ffffff !important;
  
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02), 0 4px 12px rgba(0, 0, 0, 0.04);
  
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Effet au survol moderne */
.form-item:hover, 
.block:not(.exclude-styles):not(.header *):not(.header-actions-region *):hover, 
.views-row:hover {
  border-color: #1a2644 !important;
  
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.04), 0 8px 20px rgba(26, 38, 68, 0.15);
  transform: translateY(-2px);
}

/* =========================================
   CHAMPS DE FORMULAIRE (INPUTS, TEXTAREAS, SELECTS)
   ========================================= */
.form-item input[type="text"],
.form-item input[type="email"],
.form-item input[type="password"],
.form-item input[type="number"],
.form-item input[type="tel"],
.form-item input[type="url"],
.form-item input[type="search"],
.form-item input[type="date"],
.form-item textarea,
.form-item select {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #E2E8F0 !important;
  border-radius: 10px !important;
  background-color: #ffffff !important;
  color: #334155 !important;
  
  font-size: 14px;
  line-height: 1.5;
  
  transition: all 0.2s ease;
}

/* Focus moderne avec halo bleu marine */
.form-item input:focus,
.form-item textarea:focus,
.form-item select:focus {
  outline: none !important;
  border-color: #1a2644 !important;
  box-shadow: 0 0 0 3px rgba(26, 38, 68, 0.15) !important;
}

/* Placeholder */
.form-item input::placeholder,
.form-item textarea::placeholder {
  color: #94A3B8 !important;
}

/* =========================================
   LABELS
   ========================================= */
.form-item label {
  display: block;
  margin-bottom: 6px;
  color: #1a2644 !important;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.01em;
}

/* =========================================
   BOUTONS SUBMIT (MODERNES)
   ========================================= */
button[type="submit"],
input[type="submit"],
.button,
.btn-primary {
  background: linear-gradient(135deg, #1a2644 0%, #0f172a 100%) !important;
  border: none !important; 
  color: #ffffff !important; 
  padding: 10px 20px !important;
  border-radius: 10px !important;
  cursor: pointer; 
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.01em;
  
  box-shadow: 0 2px 4px #1a264433, 0 4px 8px rgba(26, 38, 68, 0.15);
  
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* Hover avec effet de lévitation */
button[type="submit"]:hover,
input[type="submit"]:hover,
.button:hover,
.btn-primary:hover {
  background: linear-gradient(135deg, #0f172a 0%, #020617 100%) !important;
  
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(26, 38, 68, 0.3), 0 8px 16px rgba(26, 38, 68, 0.2);
}

/* Focus avec halo */
button[type="submit"]:focus,
input[type="submit"]:focus,
.button:focus,
.btn-primary:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(26, 38, 68, 0.3), 0 2px 4px rgba(26, 38, 68, 0.2) !important;
}

/* Active (clic) */
button[type="submit"]:active,
input[type="submit"]:active,
.button:active,
.btn-primary:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(26, 38, 68, 0.2);
}

/* =========================================
   BOUTONS SECONDAIRES - CORRIGÉ ET MODERNE
   ========================================= */
.btn-secondary,
button[type="button"],
input[type="button"],
input[type="reset"] {
  background-color: #1a2644 !important;
  border: 1.3px solid #ffffff !important;
  color: #ffffff !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.01em;
  
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.btn-secondary:hover,
button[type="button"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
  background-color: #1a2644 !important;
  border-color: #ffffff !important;
  color: #1a2644 !important;
  
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(26, 38, 68, 0.2), 0 8px 16px rgba(26, 38, 68, 0.15);
}

.btn-secondary:focus,
button[type="button"]:focus,
input[type="button"]:focus,
input[type="reset"]:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(26, 38, 68, 0.2), 0 2px 4px rgba(26, 38, 68, 0.1) !important;
}

.btn-secondary:active,
button[type="button"]:active,
input[type="button"]:active,
input[type="reset"]:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* =========================================
   CHECKBOXES ET RADIOS
   ========================================= */
.form-item input[type="checkbox"],
.form-item input[type="radio"] {
  width: 18px;
  height: 18px;
  margin-right: 8px;
  accent-color: #1a2644;
  cursor: pointer;
}

/* =========================================
   MESSAGES D'ERREUR
   ========================================= */
.form-item .error,
.form-item input.error,
.form-item textarea.error {
  border-color: #DC2626 !important;
  background-color: #FEF2F2 !important;
}

.form-item .error-message {
  color: #DC2626 !important;
  font-size: 12px;
  margin-top: 4px;
  font-weight: 500;
}

