.ico { width: 16px; height: 16px; flex: none; }
.btn { position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 12px 26px; border-radius: 999px; background: linear-gradient(180deg, var(--color-gold-light), var(--color-gold)); color: #1b1710; font-weight: 600; font-size: 0.88rem; letter-spacing: .09em; text-transform: uppercase; box-shadow: 0 8px 24px -8px rgba(185,139,87,.55); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.btn::after { content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-20deg); transition: left .7s var(--ease); }
.btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px -8px rgba(185,139,87,.75); }
.btn:hover::after { left: 140%; }
.btn .ico { transition: transform .35s var(--ease); }
.btn:hover .ico { transform: translateX(4px); }
.btn--sm { padding: 8px 20px; font-size: 0.8rem; }
.btn--lg { padding: 16px 36px; font-size: 0.92rem; }

.card { background: var(--color-bg-card); border: 1px solid var(--color-border); border-radius: var(--radius); }

/* Brilho que segue o mouse */
.spotlight { position: relative; overflow: hidden; }
.spotlight::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0; transition: opacity .4s; background: radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%), rgba(214,171,116,.16), transparent 60%); }
.spotlight:hover { border-color: rgba(185,139,87,.45); }
.spotlight:hover::before { opacity: 1; }
