/* ==========================================================================
   MAIN.CSS - Estilos generales globales para toda la Extranet
   Este archivo complementa layout.css, components.css y theme-haltermatch.css
   ========================================================================== */

/* --- Tipografía general --- */
body {
  font-size: var(--tamano-base);
  background-color: var(--color-fondo);
  color: var(--color-texto);
}

/* --- Enlaces generales --- */
a {
  transition: color 0.3s ease-in-out;
}

a:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--color-primario);
}

/* --- Imágenes --- */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* --- Formularios en general --- */
label {
  display: block;
  margin-bottom: var(--espaciado-xs);
  font-weight: 600;
  color: var(--color-secundario);
}

/* --- Separadores / líneas --- */
.hr {
  border: none;
  height: 1px;
  background-color: var(--color-borde);
  margin: var(--espaciado-md) 0;
}

/* --- Utilidades globales --- */
.text-center { text-align: center !important; }
.text-right  { text-align: right !important; }
.text-left   { text-align: left !important; }

.hidden { display: none !important; }
.bold   { font-weight: 700; }

.bg-light {
  background-color: #f9f9f9;
}

.rounded {
  border-radius: var(--borde-radio);
}

/* --- Loader / Spinner --- */
.loader {
  border: 4px solid #f3f3f3;
  border-top: 4px solid var(--color-primario);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  animation: spin 0.8s linear infinite;
  margin: auto;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}