/* CSV38 — Corrección quirúrgica de botones y contraste.
   Regla: el color se decide por la función visual del control, no mediante
   detección automática del gradiente, evitando falsos positivos por reflejos. */

/* Promoción Repsol: conserva inequívocamente el material naranja. */
#promocion .btn,
.promo .btn,
.promotion .btn,
.promo-card .btn{
  background:
    radial-gradient(circle at 28% 12%,#ffd37a 0 7%,transparent 22%),
    linear-gradient(160deg,#ff9a18,#ff7600 55%,#d84a00)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:rgba(255,255,255,.72)!important;
  text-shadow:0 1px 2px rgba(117,43,0,.34)!important;
}
#promocion .btn *,
.promo .btn *,
.promotion .btn *,
.promo-card .btn *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Explorador de estaciones: tres materiales y contrastes fijos. */
.station-actions .btn.dark,
.station-actions a[data-station-phone-link]{
  background:
    radial-gradient(circle at 27% 10%,rgba(194,225,255,.82) 0 5%,transparent 23%),
    linear-gradient(180deg,#145b95,#06365f 64%,#032846)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 1px 2px rgba(0,24,58,.44)!important;
}
.station-actions .btn.dark *,
.station-actions a[data-station-phone-link] *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.station-actions .btn.outline,
.station-actions a[data-station-route]{
  background:linear-gradient(180deg,#fff,#eef3f7)!important;
  color:#083861!important;
  -webkit-text-fill-color:#083861!important;
  text-shadow:none!important;
  border-color:rgba(8,56,97,.14)!important;
}
.station-actions .btn.outline *,
.station-actions a[data-station-route] *{
  color:#083861!important;
  -webkit-text-fill-color:#083861!important;
}

.station-actions .btn:not(.dark):not(.outline),
.station-actions a[data-station-page]{
  background:
    radial-gradient(circle at 28% 12%,#ffd37a 0 7%,transparent 22%),
    linear-gradient(160deg,#ff9a18,#ff7600 55%,#d84a00)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 1px 2px rgba(117,43,0,.34)!important;
  border-color:rgba(255,255,255,.72)!important;
}
.station-actions .btn:not(.dark):not(.outline) *,
.station-actions a[data-station-page] *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Clases semánticas generales: sin alterar fondos ya correctos. */
.btn.dark,
a.location,
.hero-station-nav a,
.nav-wa{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.btn.dark *,
a.location *,
.hero-station-nav a *,
.nav-wa *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.btn.outline,
.btn.alt{
  color:#083861!important;
  -webkit-text-fill-color:#083861!important;
}
.btn.outline *,
.btn.alt *{
  color:#083861!important;
  -webkit-text-fill-color:#083861!important;
}

/* El estado visitado nunca cambia el contraste del botón. */
#promocion .btn:visited,
.station-actions .btn.dark:visited,
.station-actions a[data-station-phone-link]:visited,
.station-actions .btn:not(.dark):not(.outline):visited,
.station-actions a[data-station-page]:visited{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.station-actions .btn.outline:visited,
.station-actions a[data-station-route]:visited{
  color:#083861!important;
  -webkit-text-fill-color:#083861!important;
}
