.btn-primary {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--black);
  background: var(--gold-bright);
  border: none;
  padding: 14px 34px;
  border-radius: 2px;
  cursor: none;
  position: relative;
  overflow: hidden;
  transition: transform .2s;
  text-decoration: none;
  display: inline-block;
}
.btn-primary::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,0.25),transparent);
  transform: translateX(-120%);
  transition: transform .5s;
}
.btn-primary:hover { transform: translateY(-1px); }
.btn-primary:hover::after { transform: translateX(120%); }

.btn-ghost {
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold-pale);
  background: transparent;
  border: 0.5px solid rgba(200,134,10,0.4);
  padding: 13px 28px;
  border-radius: 2px;
  cursor: none;
  transition: border-color .25s, color .25s;
  text-decoration: none;
  display: inline-block;
}
.btn-ghost:hover { border-color: var(--gold-bright); color: var(--gold-bright); }

.btn-flagship {
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--black);
  background: var(--gold-bright);
  border: none;
  padding: 18px 38px;
  border-radius: 2px;
  cursor: none;
  position: relative;
  overflow: hidden;
  transition: transform .2s, box-shadow .3s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  box-shadow: 0 8px 32px rgba(239,159,39,0.25);
}
.btn-flagship:hover { transform: translateY(-2px); box-shadow: 0 14px 40px rgba(239,159,39,0.4); }
.btn-flagship::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);
  transform: translateX(-120%);
  transition: transform .6s;
}
.btn-flagship:hover::after { transform: translateX(120%); }
.btn-flagship .arrow { display: inline-block; transition: transform .25s; }
.btn-flagship:hover .arrow { transform: translateX(4px); }

/* Light theme overrides */
body.light-theme .btn-primary { background: #B85C00; color: #FFFFFF; }
body.light-theme .btn-flagship { background: #FAC775; color: #1F0A02; box-shadow: 0 8px 32px rgba(250,199,117,0.3); }
body.light-theme .btn-flagship:hover { box-shadow: 0 14px 40px rgba(250,199,117,0.5); }
body.light-theme .btn-ghost { color: #B85C00; border-color: rgba(140,89,8,0.5); }
body.light-theme .btn-ghost:hover { color: #1F0A02; border-color: #B85C00; background: rgba(184,92,0,0.06); }
body.light-theme #flagship .btn-ghost { color: #FAC775; border-color: rgba(250,199,117,0.4); }
body.light-theme #flagship .btn-ghost:hover { color: #F8EED7; border-color: #FAC775; background: transparent; }

@media (max-width: 640px) {
  .btn-primary, .btn-ghost, .btn-flagship { cursor: auto; }
}
