/* CSV48.0 · Consolidación visual quirúrgica
   Corrige contraste, jerarquía, proporción y alineación sin alterar funcionalidad. */

/* 1. CTA azules: contraste estable frente a cascadas antiguas. */
.csv-utility-actions .btn.alt,
.csv-aenor-actions .btn.alt,
.csv-aenor-actions .csv-aenor-verify,
#informacion-oficial .actions .btn,
.services-section .actions .btn,
a.btn.dark,
button.btn.dark,
.contact-toggle .btn.dark{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.42)!important;
}
.csv-utility-actions .btn.alt *,
.csv-aenor-actions .btn.alt *,
.csv-aenor-actions .csv-aenor-verify *,
#informacion-oficial .actions .btn *,
.services-section .actions .btn *,
a.btn.dark *,button.btn.dark *,
.contact-toggle .btn.dark *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* El brillo queda por encima del campo de lectura y nunca oscurece el rótulo. */
.btn::after,
.contact-card::after{
  pointer-events:none!important;
  opacity:.42!important;
  transform:translateY(-18%)!important;
}
.btn,.btn .csv-object__label,.contact-card,.contact-card .csv-object__label{
  font-weight:800!important;
}

/* 2. Tarjetas de servicios: proporción y ritmo editorial coherentes. */
.service-cloud{
  align-items:stretch!important;
}
.service-chip{
  min-height:0!important;
  padding:24px 22px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:4px!important;
}
.service-chip i{margin:0 0 5px!important;line-height:1!important}
.service-chip b{
  margin:0 0 7px!important;
  font-size:clamp(1.05rem,1.6vw,1.2rem)!important;
  line-height:1.18!important;
  letter-spacing:-.012em!important;
}
.service-chip span{
  margin:0!important;
  font-size:.96rem!important;
  line-height:1.5!important;
}

/* 3. Contacto: todas las tarjetas conservan la misma arquitectura. */
.contact-cards{
  align-items:stretch!important;
}
.contact-card{
  min-width:0!important;
  overflow:hidden!important;
}
.csv-contact-brand__text,
.csv-contact-brand__text span{
  min-width:0!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.csv-contact-brand__text span{
  font-size:clamp(.82rem,2.8vw,1rem)!important;
  line-height:1.3!important;
}
.contact-cards > a.contact-card.csv-object--call{
  overflow:visible!important;
}

/* 4. AENOR: botones y texto con respiración uniforme. */
.csv-aenor-actions{
  gap:16px!important;
  align-items:stretch!important;
}
.csv-aenor-actions .btn{
  min-height:76px!important;
  line-height:1.2!important;
  text-align:center!important;
  justify-content:center!important;
}
.csv-aenor-help{
  margin-top:28px!important;
  line-height:1.55!important;
}

/* 5. Comportamiento móvil específico. */
@media(max-width:720px){
  .service-cloud{gap:18px!important}
  .service-chip{
    min-height:0!important;
    padding:26px 28px!important;
    border-radius:34px!important;
    justify-content:center!important;
  }
  .service-chip b{
    font-size:1.08rem!important;
    margin-bottom:8px!important;
  }
  .service-chip span{
    font-size:.98rem!important;
    line-height:1.48!important;
  }
  .csv-aenor-actions .btn{
    width:100%!important;
    min-height:72px!important;
    padding:16px 22px!important;
  }
  .csv-aenor-actions .csv-object__label{
    font-size:1rem!important;
    line-height:1.18!important;
  }
  .contact-cards .contact-card{
    min-height:104px!important;
  }
  .contact-card.csv-contact-brand{
    padding-inline:18px!important;
  }
}

@media(max-width:390px){
  .service-chip{padding:24px 22px!important}
  .csv-aenor-actions .btn{padding-inline:16px!important}
  .csv-contact-brand__text span{font-size:.78rem!important}
}
