/* Shared native checkboxes. Switches with their own tracks keep their existing presentation. */
body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input)) {
  -webkit-appearance:none;
  appearance:none;
  display:inline-block;
  position:relative;
  width:22px!important;
  min-width:22px!important;
  max-width:22px;
  height:22px!important;
  min-height:22px!important;
  padding:0!important;
  margin:2px 0;
  flex:0 0 22px;
  vertical-align:middle;
  border:1.5px solid var(--color-input-border,#8298bc);
  border-radius:6px;
  background-color:#fff;
  background-position:center;
  background-repeat:no-repeat;
  background-size:16px 16px;
  box-shadow:none;
  cursor:pointer;
  transition:border-color .15s,background-color .15s;
}
body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input)):checked {
  border-color:var(--color-primary,#3e6ab3);
  background-color:var(--color-primary,#3e6ab3);
  background-image:none;
}
body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input)):checked::after {
  content:"";
  position:absolute;
  left:6px;
  top:2px;
  width:6px;
  height:11px;
  border-right:2px solid var(--color-on-primary,#fff);
  border-bottom:2px solid var(--color-on-primary,#fff);
  transform:rotate(45deg);
  pointer-events:none;
}
body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input)):indeterminate {
  border-color:var(--color-primary,#3e6ab3);
  background-color:var(--color-primary,#3e6ab3);
  background-image:none;
}
body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input)):indeterminate::after {
  content:"";
  position:absolute;
  left:4px;
  top:8px;
  width:11px;
  height:2px;
  border:0;
  border-radius:1px;
  background:var(--color-on-primary,#fff);
  transform:none;
  pointer-events:none;
}
body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input)):focus-visible {
  outline:3px solid var(--color-focus,var(--color-primary,#3e6ab3));
  outline-offset:3px;
}
body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input)):disabled {
  opacity:.5;
  cursor:not-allowed;
}
body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input))[aria-invalid="true"] {
  border-color:var(--color-error,#b63838);
}
@media(hover:hover) {
  body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input)):not(:disabled):hover {
    border-color:var(--color-primary,#3e6ab3);
  }
}
@media(prefers-reduced-motion:reduce) {
  body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input)) {transition:none;}
}
@media(forced-colors:active) {
  body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input)) {
    -webkit-appearance:auto;
    appearance:auto;
    background-image:none!important;
    background-color:Canvas!important;
    color:CanvasText;
    border-color:ButtonText;
    forced-color-adjust:auto;
  }
  body input[type="checkbox"]:not([role="switch"]):not([hidden]):not(:where(.cms-design-toggle input,.cms-toggle input,.cms-switch input))::after {display:none!important;}
}

/* Checkbox labels stay centered with both one-line and wrapped text across form themes. */
body :is(.check-label,.catalog-checkout-consent,.dental-chat-consent,.rental-consent,.kv-popup-consent,.cms-admin .cms-check-row,.cms-admin .cms-legal-check,.cms-admin .cms-doctor-checks>label) {
  align-items:center!important;
}
body :is(.check-label,.catalog-checkout-consent,.dental-chat-consent,.rental-consent,.kv-popup-consent,.cms-admin .cms-check-row,.cms-admin .cms-legal-check,.cms-admin .cms-doctor-checks>label) > input[type="checkbox"]:not([role="switch"]) {
  align-self:center;
  margin:0!important;
}
