/* Consistent, centered checkbox controls across the public site.
   Native checkbox input stays focusable/accessible; custom switches are excluded. */
:root{
  --kf-checkbox-size:19px;
  --kf-checkbox-accent:#405bd2;
  --kf-checkbox-border:#cbd6e5;
}

/* Filter checkboxes used by category, collection, publisher and search lists. */
.category-sidebar .filter-row,
.search-filter-card .filter-row {
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:37px!important;
  margin:4px 0!important;
}
.category-sidebar .filter-label-main,
.search-filter-card .filter-label-main {
  display:flex!important;
  flex:1 1 auto;
  min-width:0;
  min-height:30px;
  align-items:center!important;
  gap:11px!important;
  line-height:1.4;
}
.category-sidebar .filter-label-main>span:not(.filter-stars),
.search-filter-card .filter-label-main>span:not(.filter-stars){
  display:block;
  min-width:0;
  line-height:1.4!important;
}
.category-sidebar .filter-count,
.search-filter-card .filter-count {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:flex-end;
  align-self:center;
  margin-left:auto!important;
  line-height:1!important;
  font-variant-numeric:tabular-nums;
}

.category-sidebar .filter-label-main input[type="checkbox"],
.search-filter-card .filter-label-main input[type="checkbox"]{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:relative;
  display:inline-grid!important;
  place-items:center!important;
  box-sizing:border-box!important;
  width:var(--kf-checkbox-size)!important;
  height:var(--kf-checkbox-size)!important;
  min-width:var(--kf-checkbox-size)!important;
  min-height:var(--kf-checkbox-size)!important;
  flex:0 0 var(--kf-checkbox-size)!important;
  margin:0!important;
  padding:0!important;
  vertical-align:middle!important;
  align-self:center!important;
  border:1.5px solid var(--kf-checkbox-border)!important;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:inset 0 1px 2px rgba(32,54,87,.035);
  cursor:pointer;
  outline:0;
  transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;
}
.category-sidebar .filter-label-main input[type="checkbox"]:hover,
.search-filter-card .filter-label-main input[type="checkbox"]:hover{
  border-color:#809fce!important;
  box-shadow:0 0 0 3px rgba(64,91,210,.065);
}
.category-sidebar .filter-label-main input[type="checkbox"]:checked,
.search-filter-card .filter-label-main input[type="checkbox"]:checked{
  background:var(--kf-checkbox-accent)!important;
  border-color:var(--kf-checkbox-accent)!important;
  box-shadow:0 1px 4px rgba(64,91,210,.16);
}
.category-sidebar .filter-label-main input[type="checkbox"]::after,
.search-filter-card .filter-label-main input[type="checkbox"]::after{
  content:""!important;
  position:absolute;
  width:9px!important;
  height:5px!important;
  box-sizing:content-box;
  border-left:2px solid #fff!important;
  border-bottom:2px solid #fff!important;
  border-top:0!important;
  border-right:0!important;
  transform:translateY(-1px) rotate(-45deg) scale(0)!important;
  transform-origin:center;
  transition:transform .12s ease!important;
}
.category-sidebar .filter-label-main input[type="checkbox"]:checked::after,
.search-filter-card .filter-label-main input[type="checkbox"]:checked::after{
  transform:translateY(-1px) rotate(-45deg) scale(1)!important;
}
.category-sidebar .filter-label-main input[type="checkbox"]:focus-visible,
.search-filter-card .filter-label-main input[type="checkbox"]:focus-visible{
  outline:3px solid rgba(64,91,210,.22)!important;
  outline-offset:3px!important;
}
.category-sidebar .rating-filter-row .filter-label-main input[type="checkbox"],
.search-filter-card .rating-filter-row .filter-label-main input[type="checkbox"]{
  width:var(--kf-checkbox-size)!important;
  height:var(--kf-checkbox-size)!important;
  flex:0 0 var(--kf-checkbox-size)!important;
}
.category-sidebar .rating-filter-row,
.search-filter-card .rating-filter-row{
  min-height:37px!important;
  margin:4px 0!important;
}

/* Other visible, ordinary frontend checkboxes share the same accent.
   Do not affect hidden toggle inputs (notification switches, shipping switches). */
.preference-list input[type="checkbox"],
.cookie-option input[type="checkbox"],
.theme-ann-grid .theme-ann-check input[type="checkbox"]{
  accent-color:var(--kf-checkbox-accent);
  vertical-align:middle;
  align-self:center;
  margin:0;
}
.preference-list label,
.cookie-option,
.theme-ann-grid .theme-ann-check{
  align-items:center;
}
@media(prefers-reduced-motion:reduce){
  .category-sidebar .filter-label-main input[type="checkbox"],
  .search-filter-card .filter-label-main input[type="checkbox"]{transition:none}
}
