
/* ===== NOS Buttons (CTA) ===== */
:root{
  --btn-radius: 14px;
  --btn-shadow: 0 10px 24px rgba(0,0,0,.35);
  --btn-grad-1: #ff6a00;
  --btn-grad-2: #ffb300;
  --btn-text: #121212;
  --btn-border: rgba(255,255,255,.12);
}

.btn-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  padding: .85rem 1.15rem;
  border-radius: var(--btn-radius);
  background: linear-gradient(135deg, var(--btn-grad-1), var(--btn-grad-2));
  border: 1px solid var(--btn-border);
  color: #fff; font-weight: 900; letter-spacing:.25px; text-decoration: none;
  box-shadow: var(--btn-shadow);
  transition: transform .06s ease-out, filter .2s ease, box-shadow .2s ease;
  will-change: transform;
}
.btn-cta:hover{ filter: brightness(1.12); transform: translateY(-1px); }
.btn-cta:active{ transform: translateY(0); filter: brightness(1.0); }

/* Outline variant */
.btn-cta--outline{
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,.22);
}
.btn-cta--outline:hover{
  border-color: rgba(255,255,255,.45);
  background: rgba(255,255,255,.06);
}

/* Full width helper */
.btn-cta--block{ display:flex; width:100%; }

/* Size helpers */
.btn-cta--sm{ padding:.6rem .9rem; font-weight:800; }
.btn-cta--lg{ padding:1rem 1.3rem; font-size:1.05rem; }

/* Subtle text button */
.btn-text{
  display:inline-flex; align-items:center; gap:.4rem;
  color:#fff; opacity:.85; text-decoration:none; font-weight:700;
}
.btn-text:hover{ opacity:1; text-decoration: underline; }

/* Icons inside buttons */
.btn-cta > .i{ font-size: 1.05em; line-height: 1; }
