/* ============================================================
   COMPONENTS.CSS — Componentes UI compartidos
   Badge, Button, Mock items de tarjeta
   ============================================================ */

/* ──────────────────────────────────────────
   BADGE
   ────────────────────────────────────────── */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  font-family: var(--font-display);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border: 1px solid var(--color-border-mid);
  background: rgba(26, 143, 255, 0.06);
  color: var(--color-primary);
  clip-path: polygon(8px 0%, 100% 0%, calc(100% - 8px) 100%, 0% 100%);
}

.badge--teal    { border-color: rgba(0,200,255,0.3);   background: rgba(0,200,255,0.06);   color: var(--color-accent-teal); }
.badge--magenta { border-color: rgba(255,45,120,0.3);  background: rgba(255,45,120,0.06);  color: var(--color-accent-magenta); }
.badge--gold    { border-color: rgba(255,208,0,0.3);   background: rgba(255,208,0,0.06);   color: var(--color-accent-gold); }


/* ──────────────────────────────────────────
   BUTTON
   ────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px;
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  border: 2px solid transparent;
  transition: var(--transition);
  cursor: pointer;
  position: relative;
  overflow: hidden;
  clip-path: polygon(12px 0%, 100% 0%, calc(100% - 12px) 100%, 0% 100%);
}

/* Efecto shimmer en hover */
.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.08), transparent);
  transition: 0.5s;
}
.btn:hover::before { left: 100%; }

/* Variantes */
.btn--primary {
  background: var(--color-primary);
  color: var(--color-dark);
  border-color: var(--color-primary);
  box-shadow: 0 0 20px rgba(26,143,255,0.4);
  font-weight: 900;
}
.btn--primary:hover {
  background: var(--color-accent-teal);
  border-color: var(--color-accent-teal);
  box-shadow: var(--glow-teal);
  transform: translateY(-2px);
  color: var(--color-dark);
}

.btn--outline {
  background: transparent;
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.btn--outline:hover {
  background: rgba(26,143,255,0.08);
  box-shadow: 0 0 20px rgba(26,143,255,0.2);
  transform: translateY(-2px);
}

/* Tamaños */
.btn--lg { padding: 17px 42px; font-size: 0.82rem; }
.btn--sm { padding: 9px 20px;  font-size: 0.72rem; }


/* ──────────────────────────────────────────
   MOCK ITEMS (decoración interior de tarjetas)
   ────────────────────────────────────────── */
.mock-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: var(--color-dark-3);
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
}

.mock-item-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.mock-item-line {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.mock-line-a {
  height: 7px;
  border-radius: 4px;
  background: rgba(255,255,255,0.07);
}

.mock-line-b {
  height: 5px;
  border-radius: 4px;
  background: rgba(255,255,255,0.04);
  width: 60%;
}

.mock-item-tag {
  font-family: var(--font-display);
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 20px;
}
