/* ═══════════════════════════════════════════════════════════════════
   BOTONES — buttons.css
   ──────────────────────────────────────────────────────────────────
   Todos los estilos de botones del sitio en un solo lugar.
   PRINCIPIO: Open/Closed — para agregar un nuevo botón, añadir una
   nueva clase .btn-[nombre] SIN modificar las clases existentes.

   Clases disponibles:
   .btn            → base (siempre requerida)
   .btn-primary    → fondo verde, texto blanco (CTA principal)
   .btn-outline    → transparente con borde blanco (sobre imágenes)
   .btn-white      → fondo blanco, texto verde (sobre fondos de color)
   .btn-ghost      → semitransparente con borde blanco (CTAs secundarios)
   .btn-nav        → solo para el botón del nav (no usar en otro lugar)
   ═══════════════════════════════════════════════════════════════════ */

/* ── Base de todos los botones ──────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 26px;
  border-radius: var(--radius);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: none;
  font-family: inherit;
  line-height: 1;
  transition: var(--transition-base);
  white-space: nowrap;
}

/* ── Verde sólido — botón principal ─────────────────────────── */
/* Úsalo en: sección hero, secciones CTA, llamadas a acción     */
.btn-primary {
  background: var(--color-accent);
  color: var(--color-white);
  box-shadow: 0 4px 15px rgba(27, 140, 94, 0.35);
}
.btn-primary:hover {
  background: var(--color-accent-lt);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(27, 140, 94, 0.42);
}

/* ── Borde blanco transparente — sobre imágenes oscuras ─────── */
/* Úsalo en: slides del hero, secciones con fondo oscuro        */
.btn-outline {
  background: rgba(255, 255, 255, 0.10);
  color: var(--color-white);
  border: 1.5px solid rgba(255, 255, 255, 0.35);
}
.btn-outline:hover {
  background: rgba(255, 255, 255, 0.20);
  border-color: rgba(255, 255, 255, 0.55);
}

/* ── Blanco sólido — sobre fondos de color ───────────────────── */
/* Úsalo en: sección CTA (fondo verde)                          */
.btn-white {
  background: var(--color-white);
  color: var(--color-accent);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.12);
}
.btn-white:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
}

/* ── Fantasma / ghost — secundario sobre fondo de color ──────── */
/* Úsalo en: sección CTA como opción alternativa al btn-white   */
.btn-ghost {
  background: rgba(255, 255, 255, 0.15);
  color: var(--color-white);
  border: 1.5px solid rgba(255, 255, 255, 0.40);
}
.btn-ghost:hover {
  background: rgba(255, 255, 255, 0.25);
}

/* ── Submit — botón de formulario ───────────────────────────── */
/* Úsalo solo en: formulario de contacto (.contact-form)        */
.btn-submit {
  width: 100%;
  padding: 15px;
  background: var(--color-accent);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: var(--transition-base);
}
.btn-submit:hover {
  background: var(--color-accent-lt);
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(27, 140, 94, 0.30);
}
