/* FIX90 · Prueba visual inspirada en botones tipo cápsula con icono circular. */
:root{
  --vazztec-btn-shadow:0 3px 0 rgba(15,23,42,.17),0 6px 13px rgba(15,23,42,.14);
  --vazztec-btn-shadow-hover:0 4px 0 rgba(15,23,42,.15),0 9px 18px rgba(15,23,42,.18);
}

:where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-ai-spark,label.btn-primary,label.btn-secondary,label.btn-success,label.btn-danger):not(.btn-close-header):not(.cantidad-btn):not(.btn-icono-minimo){
  border-radius:999px;
  min-height:34px;
  padding:6px 14px;
  letter-spacing:.025em;
  font-weight:750;
  box-shadow:var(--vazztec-btn-shadow);
}

:where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-ai-spark).btn-capsula-icono{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding-left:5px;
}

.btn-icon-bubble{
  width:26px;
  height:26px;
  flex:0 0 26px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#475569;
  box-shadow:0 1px 3px rgba(15,23,42,.32);
  font-size:.9rem;
  font-family:"Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji",sans-serif;
  font-weight:900;
  line-height:1;
}

.btn-primary .btn-icon-bubble{color:#0d9488}
.btn-success .btn-icon-bubble{color:#16a34a}
.btn-danger .btn-icon-bubble{color:#dc2626}
.btn-secondary .btn-icon-bubble{color:#475569}
.btn-ai-spark .btn-icon-bubble{color:#0d9488}

:where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-ai-spark):not(.btn-close-header):hover:not(:disabled){
  box-shadow:var(--vazztec-btn-shadow-hover);
}

/* Los controles densos conservan su tamaño operativo. */
:where(table,.paginacion-vazztec,.historial-entregas-acciones,.revision-solicitud-acciones,.acuse-pasos,.preview-documento-extemporaneo) button,
.btn-capsula-compacta{
  min-height:0;
  border-radius:999px;
  letter-spacing:0;
  box-shadow:0 2px 5px rgba(15,23,42,.14);
}

.modal-header .btn-close-header,
.cantidad-control button,
.carrito-cantidad-controles button{
  min-height:0;
  border-radius:6px;
  box-shadow:none;
  letter-spacing:0;
}

@media(max-width:600px){
  :where(button,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-ai-spark).btn-capsula-icono{
    gap:6px;
  }
  .btn-icon-bubble{width:24px;height:24px;flex-basis:24px;font-size:.84rem}
}

@media(prefers-reduced-motion:reduce){
  .btn-icon-bubble{box-shadow:none}
}
