/* CSV62 · Corrección quirúrgica de botones
   Solo diferencia acabados blancos y azules. Los CTA naranjas no se modifican. */
:root{
  --csv62-navy:#082b4d;
  --csv62-gold-1:#fff0a8;
  --csv62-gold-2:#dba62f;
  --csv62-gold-3:#8a5a09;
}

/* BOTONES BLANCOS: texto azul oscuro, marco dorado y acabado plástico brillante. */
:where(
  a.btn.outline,button.btn.outline,
  .utility-pill,
  .csv-object--route.btn.outline
){
  color:var(--csv62-navy)!important;
  -webkit-text-fill-color:var(--csv62-navy)!important;
  border:1px solid var(--csv62-gold-2)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 34%,rgba(238,244,249,.98) 67%,rgba(215,226,236,.98) 100%)!important;
  box-shadow:
    inset 0 2px 1px rgba(255,255,255,1),
    inset 0 -5px 10px rgba(7,43,77,.13),
    inset 0 0 0 2px rgba(255,255,255,.56),
    0 2px 0 var(--csv62-gold-3),
    0 8px 15px rgba(6,23,43,.20),
    0 15px 30px rgba(219,166,47,.20)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.95)!important;
}

:where(
  a.btn.outline,button.btn.outline,
  .utility-pill,
  .csv-object--route.btn.outline
):visited,
:where(
  a.btn.outline,button.btn.outline,
  .utility-pill,
  .csv-object--route.btn.outline
) :where(span,strong,b,em,small,i,svg,use,path){
  color:var(--csv62-navy)!important;
  -webkit-text-fill-color:var(--csv62-navy)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.95)!important;
}

:where(
  a.btn.outline,button.btn.outline,
  .utility-pill,
  .csv-object--route.btn.outline
)::before{
  content:""!important;
  position:absolute!important;
  z-index:0!important;
  left:7%!important;
  right:7%!important;
  top:5%!important;
  height:43%!important;
  border-radius:inherit!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.28))!important;
  opacity:.92!important;
  pointer-events:none!important;
}

/* BOTONES AZULES: letras blancas y volumen premium. */
:where(
  a.btn.alt,button.btn.alt,a.btn.dark,button.btn.dark,
  .csv-object--call,
  .csv-utility-actions .btn:not(.outline),
  .csv-aenor-actions .btn:not(.outline),
  #informacion-oficial .actions .btn:not(.outline),
  .services-section .actions .btn:not(.outline),
  .v-link,.v-call
){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border:1px solid rgba(255,255,255,.76)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.45) 0%,rgba(255,255,255,.10) 31%,rgba(255,255,255,0) 48%),
    radial-gradient(120% 108% at 50% -10%,#63c8ff 0%,#0868df 48%,#043a9f 100%)!important;
  box-shadow:
    inset 0 2px 1px rgba(255,255,255,.9),
    inset 0 -5px 9px rgba(0,22,69,.28),
    inset 0 0 0 2px rgba(255,255,255,.14),
    0 2px 0 #032c7b,
    0 8px 14px rgba(6,23,43,.20),
    0 14px 30px rgba(14,111,224,.34)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.48)!important;
}

:where(
  a.btn.alt,button.btn.alt,a.btn.dark,button.btn.dark,
  .csv-object--call,
  .csv-utility-actions .btn:not(.outline),
  .csv-aenor-actions .btn:not(.outline),
  #informacion-oficial .actions .btn:not(.outline),
  .services-section .actions .btn:not(.outline),
  .v-link,.v-call
):visited,
:where(
  a.btn.alt,button.btn.alt,a.btn.dark,button.btn.dark,
  .csv-object--call,
  .csv-utility-actions .btn:not(.outline),
  .csv-aenor-actions .btn:not(.outline),
  #informacion-oficial .actions .btn:not(.outline),
  .services-section .actions .btn:not(.outline),
  .v-link,.v-call
) :where(span,strong,b,em,small,i,svg,use,path){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Verde WhatsApp y CTA naranjas quedan fuera de esta hoja. */
@media (hover:hover){
  :where(a.btn.outline,button.btn.outline,.utility-pill,.csv-object--route.btn.outline):hover{
    transform:translateY(-3px) scale(1.012)!important;
    filter:brightness(1.025)!important;
    box-shadow:
      inset 0 2px 1px #fff,
      inset 0 -5px 10px rgba(7,43,77,.11),
      inset 0 0 0 2px rgba(255,255,255,.64),
      0 3px 0 var(--csv62-gold-3),
      0 12px 20px rgba(6,23,43,.22),
      0 20px 38px rgba(219,166,47,.25)!important;
  }
}
