/* =========================================
   Button System V1 (Primary / Secondary / Link)
   Objetivo: unificar CTAs sin reescribir todo el sitio.
   Uso:
     class="cl-btn cl-btn--primary"
     class="cl-btn cl-btn--secondary"
     class="cl-btn cl-btn--link"
   ========================================= */

:root{
  --cl-gold-1: #D4AF37;
  --cl-gold-2: #FFD700;
  --cl-black: #0A0A0A;
  --cl-white: #ffffff;
}

.cl-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;

  padding: .9rem 2.2rem;
  border-radius: 999px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 900;
  font-size: .92rem;
  letter-spacing: .9px;
  text-transform: uppercase;

  text-decoration: none;
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease, background .22s ease, color .22s ease;
  user-select:none;
}

.cl-btn:active{ transform: translateY(0); }
.cl-btn:focus-visible{ outline: 3px solid rgba(255, 215, 0, 0.22); outline-offset: 4px; }

.cl-btn--primary{
  background: linear-gradient(135deg, var(--cl-gold-1), var(--cl-gold-2));
  color: var(--cl-black);
  border: 1px solid rgba(255, 215, 0, 0.18);
  box-shadow: 0 6px 18px rgba(212,175,55,.22);
}
.cl-btn--primary:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(212,175,55,.32);
  filter: none;
}

.cl-btn--secondary{
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.90);
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: none;
}
.cl-btn--secondary:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.26);
}

/* Variante secundaria sobre fondos claros */
.cl-btn--secondary.is-on-white{
  background: #fff;
  color: #0A0A0A;
  border: 1px solid rgba(15,23,42,0.16);
}
.cl-btn--secondary.is-on-white:hover{
  background: rgba(255,255,255,0.96);
}

.cl-btn--link{
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border: 0;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 800;
  color: rgba(212,175,55,0.95);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.cl-btn--link:hover{
  color: var(--cl-gold-2);
}

/* Tamaños */
.cl-btn--lg{ padding: 1.05rem 2.6rem; font-size: 1.02rem; }

/* Mobile: botones full width cuando se quiera */
@media (max-width: 520px){
  .cl-btn.is-full{ width: 100%; }
}
