/* INFIVO ACTION BUTTONS V11 — semantic, high-contrast and touch-friendly */
:root{
  --iv-btn-blue-a:#1769e8;
  --iv-btn-blue-b:#3d92ff;
  --iv-btn-green-a:#078b63;
  --iv-btn-green-b:#19c58c;
  --iv-btn-red-a:#c52f3d;
  --iv-btn-red-b:#ef5d66;
  --iv-btn-ink:#102448;
}

.main button:not(.context-help):not(.help-close):not(.v4-mobile-toggle),
.main a.btn,
.main input[type="submit"],
.main input[type="button"]{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:46px!important;
  padding:11px 19px!important;
  overflow:hidden!important;
  border:1px solid rgba(29,104,222,.34)!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,var(--iv-btn-blue-a) 0%,var(--iv-btn-blue-b) 100%)!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1.25!important;
  letter-spacing:.005em!important;
  text-align:center!important;
  text-decoration:none!important;
  text-shadow:0 1px 1px rgba(7,30,75,.2)!important;
  box-shadow:0 9px 20px rgba(24,104,224,.24),inset 0 1px 0 rgba(255,255,255,.3)!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}

.main button:not(.context-help):not(.help-close):not(.v4-mobile-toggle)::after,
.main a.btn::after{
  content:""!important;
  position:absolute!important;
  top:-70%!important;
  left:-28%!important;
  width:45%!important;
  height:240%!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)!important;
  transform:rotate(18deg)!important;
  pointer-events:none!important;
  transition:left .36s ease!important;
}

.main button:not(.context-help):not(.help-close):not(.v4-mobile-toggle):hover,
.main a.btn:hover,
.main input[type="submit"]:hover,
.main input[type="button"]:hover{
  filter:saturate(1.08) brightness(1.03)!important;
  transform:translateY(-2px)!important;
  box-shadow:0 13px 27px rgba(24,104,224,.3),inset 0 1px 0 rgba(255,255,255,.35)!important;
}

.main button:not(.context-help):not(.help-close):not(.v4-mobile-toggle):hover::after,
.main a.btn:hover::after{left:110%!important}

.main button:not(.context-help):not(.help-close):not(.v4-mobile-toggle):active,
.main a.btn:active,
.main input[type="submit"]:active,
.main input[type="button"]:active{
  transform:translateY(1px) scale(.985)!important;
  box-shadow:0 4px 10px rgba(24,104,224,.2),inset 0 2px 4px rgba(5,30,75,.14)!important;
}

.main button:focus-visible,
.main a.btn:focus-visible,
.main input[type="submit"]:focus-visible,
.main input[type="button"]:focus-visible{
  outline:3px solid rgba(69,144,255,.3)!important;
  outline-offset:3px!important;
}

.main :is(button,.btn,input[type="submit"],input[type="button"]):is(.green,.success,.infivo-btn-success){
  border-color:rgba(5,132,92,.42)!important;
  background:linear-gradient(135deg,var(--iv-btn-green-a) 0%,var(--iv-btn-green-b) 100%)!important;
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,72,48,.25)!important;
  box-shadow:0 9px 20px rgba(9,157,108,.24),inset 0 1px 0 rgba(255,255,255,.32)!important;
}
.main :is(button,.btn):is(.infivo-btn-success)::before{content:"✓";font-size:15px;font-weight:950}

.main :is(button,.btn,input[type="submit"],input[type="button"]):is(.danger,.red,.infivo-btn-danger){
  border-color:rgba(176,36,50,.42)!important;
  background:linear-gradient(135deg,var(--iv-btn-red-a) 0%,var(--iv-btn-red-b) 100%)!important;
  color:#fff!important;
  text-shadow:0 1px 1px rgba(89,8,17,.28)!important;
  box-shadow:0 9px 20px rgba(206,48,61,.23),inset 0 1px 0 rgba(255,255,255,.3)!important;
}
.main :is(button,.btn):is(.infivo-btn-danger)::before{content:"×";font-size:18px;font-weight:900;line-height:1}

.main :is(button,.btn,input[type="submit"],input[type="button"]):is(.secondary,.infivo-btn-secondary){
  border-color:#cbd9eb!important;
  background:linear-gradient(180deg,#fff 0%,#edf3fa 100%)!important;
  color:var(--iv-btn-ink)!important;
  text-shadow:none!important;
  box-shadow:0 7px 16px rgba(22,52,92,.1),inset 0 1px 0 #fff!important;
}
.main :is(button,.btn):is(.infivo-btn-secondary)::before{content:"←";font-size:14px;font-weight:900}

.main :is(button,.btn,input[type="submit"],input[type="button"]):disabled,
.main :is(button,.btn,input[type="submit"],input[type="button"])[aria-disabled="true"]{
  border-color:#d9e1ec!important;
  background:#e9eef5!important;
  color:#8794a7!important;
  text-shadow:none!important;
  box-shadow:none!important;
  cursor:not-allowed!important;
  filter:none!important;
  transform:none!important;
}

@media(max-width:620px){
  .main button:not(.context-help):not(.help-close):not(.v4-mobile-toggle),
  .main a.btn,
  .main input[type="submit"],
  .main input[type="button"]{
    min-height:50px!important;
    padding:12px 17px!important;
    border-radius:15px!important;
    font-size:12.5px!important;
  }
}
