/* ======================================================
   ARVENSIS: 1. BASE
   Reset, Variables Globales, y Estilos Base
   ====================================================== */

/* ----------------------------------
   Variables Globales (Custom Properties)
   ---------------------------------- */
:root {
  /* Paleta de Colores */
  --color-primario: #084549;
  --color-primario-oscuro: #06383c;
  --color-acento: #d79045;
  --color-acento-oscuro: #b97530;
  --color-fondo: #eff7f6;
  --color-fondo-secundario: #f9ecca;
  --color-texto: #0b2322;
  --color-texto-secundario: #333;
  --color-blanco: #fff;
  --color-negro: #000;
  --color-borde: rgba(0, 0, 0, 0.05);

  /* Tipografía */
  --fuente-principal: -apple-system, BlinkMacSystemFont, "Roboto", "Arial", sans-serif;
  --fuente-titulos: 'Georgia', serif;

  /* Sombras */
  --sombra-header: rgba(0, 0, 0, 0.1) 0px 4px 12px;
  --sombra-card: 0 6px 18px rgba(0, 0, 0, 0.06);
  --sombra-card-hover: 0 10px 22px rgba(0, 0, 0, 0.08);

  /* Tamaños y Radios */
  --altura-header: 100px;
  --radio-borde-sm: 6px;
  --radio-borde-md: 8px;
  --radio-borde-lg: 12px;

  /* Transiciones */
  --transicion-rapida: all 0.2s ease;
}

/* ----------------------------------
   Reset y Estilos Base
   ---------------------------------- */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  height: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--fuente-principal);
  background-color: var(--color-fondo);
  color: var(--color-texto);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  padding-top: var(--altura-header);
  /* espacio para el header fijo */
}

/* ----------------------------------
   Scrollbar
   ---------------------------------- */
*::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

*::-webkit-scrollbar-track {
  background: var(--color-fondo);
}

*::-webkit-scrollbar-thumb {
  background: var(--color-primario);
  border-radius: 10px;
}

*::-webkit-scrollbar-thumb:hover {
  background: var(--color-primario-oscuro);
}

/* ----------------------------------
   Utilidades Generales
   ---------------------------------- */
.container {
  width: 96%;
  max-width: 1200px;
  margin: 0 auto;
}

.section {
  padding: 4rem 0;
}

.colorSection {
  background: var(--color-fondo-secundario);
}

.section-title {
  font-size: 2rem;
  color: var(--color-primario);
  margin-bottom: 1.5rem;
  text-align: center;
  font-weight: 700;
  font-family: var(--fuente-titulos);
}

/* Iconos de Material Symbols */
.material-symbols-outlined {
  font-size: 1.2rem;
  vertical-align: middle;
  color: var(--color-primario);
}

/* ----------------------------------
   Botones Base
   ---------------------------------- */
.btn {
  display: inline-block;
  background: transparent;
  color: var(--color-primario);
  border: 2px solid var(--color-primario);
  padding: 0.6rem 1rem;
  border-radius: var(--radio-borde-md);
  text-decoration: none;
  font-weight: 600;
  transition: var(--transicion-rapida);
  cursor: pointer;
  text-align: center;
}

.btn:hover {
  opacity: 0.95;
  transform: translateY(-1px);
}

.btn-cta {
  background: var(--color-primario);
  color: var(--color-blanco);
  border-color: var(--color-primario);
}

.btn-cta:hover {
  background: var(--color-primario-oscuro);
  border-color: var(--color-primario-oscuro);
}

.btn-secondary {
  background: var(--color-acento);
  color: var(--color-blanco);
  border: none;
}

.btn-secondary:hover {
  background: var(--color-acento-oscuro);
}

a {
  text-decoration: none;
}