/* FIJ 1.8.8.39 — Jobs sidebar control alignment
   Canonical control geometry follows the Freelancer search filter language. */

.fij-jobs-reference-v18837{
  --fij-sidebar-control-size:16px;
  --fij-sidebar-row-gap:9px;
  --fij-sidebar-count-width:38px;
}

/* One stable grid for every filter row: control | label | count. */
.fij-jobs-reference-v18837 .fij-jobs-reference-filter-option-v18837{
  display:grid!important;
  grid-template-columns:var(--fij-sidebar-control-size) minmax(0,1fr) var(--fij-sidebar-count-width)!important;
  align-items:center!important;
  column-gap:var(--fij-sidebar-row-gap)!important;
  min-height:32px!important;
  padding:3px 0!important;
  color:#475467!important;
  font-size:12px!important;
  line-height:1.35!important;
  cursor:pointer!important;
}

/* The filter is single-select, so use the same native radio treatment as Freelancer.
   Do not fake a tiny square checkbox for radio semantics. */
.fij-jobs-reference-v18837 .fij-jobs-reference-filter-option-v18837 input[type="radio"]{
  -webkit-appearance:radio!important;
  appearance:auto!important;
  display:block!important;
  width:var(--fij-sidebar-control-size)!important;
  height:var(--fij-sidebar-control-size)!important;
  min-width:var(--fij-sidebar-control-size)!important;
  min-height:var(--fij-sidebar-control-size)!important;
  margin:0!important;
  padding:0!important;
  align-self:center!important;
  justify-self:start!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  box-shadow:none!important;
  accent-color:#009b7a!important;
  cursor:pointer!important;
  vertical-align:middle!important;
}

.fij-jobs-reference-v18837 .fij-jobs-reference-filter-option-v18837 > span{
  display:block!important;
  min-width:0!important;
  align-self:center!important;
  overflow-wrap:anywhere;
}

.fij-jobs-reference-v18837 .fij-jobs-reference-filter-option-v18837 > small{
  display:block!important;
  width:var(--fij-sidebar-count-width)!important;
  min-width:var(--fij-sidebar-count-width)!important;
  justify-self:end!important;
  align-self:center!important;
  margin:0!important;
  color:#98a2b3!important;
  font-size:10px!important;
  line-height:1.2!important;
  text-align:right!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums;
}

.fij-jobs-reference-v18837 .fij-jobs-reference-filter-option-v18837:hover,
.fij-jobs-reference-v18837 .fij-jobs-reference-filter-option-v18837:focus-within{
  color:#08715e!important;
}

.fij-jobs-reference-v18837 .fij-jobs-reference-filter-option-v18837:has(input:checked){
  color:#08715e!important;
  font-weight:700;
}

/* Keep expanded rows on the same geometry instead of collapsing into a tight stack. */
.fij-jobs-reference-v18837 .fij-jobs-reference-more-v18837 > div{
  display:grid;
  gap:2px;
  margin-top:4px;
}

/* Location result counts align with the filter count column. */
.fij-jobs-reference-v18837 .fij-jobs-reference-location-list-v18837 a{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) var(--fij-sidebar-count-width)!important;
  align-items:center!important;
  gap:var(--fij-sidebar-row-gap)!important;
  min-height:30px!important;
}
.fij-jobs-reference-v18837 .fij-jobs-reference-location-list-v18837 a > small{
  width:var(--fij-sidebar-count-width)!important;
  min-width:var(--fij-sidebar-count-width)!important;
  justify-self:end!important;
  margin:0!important;
  font-size:10px!important;
  line-height:1.2!important;
  text-align:right!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums;
}

/* Desktop: slightly more breathing room, matching Freelancer sidebar density. */
@media(min-width:861px){
  .fij-jobs-reference-v18837 .fij-jobs-reference-filters-v18837 fieldset{
    gap:4px!important;
  }
  .fij-jobs-reference-v18837 .fij-jobs-reference-filters-v18837 legend{
    padding-bottom:9px!important;
  }
}

/* Mobile filter drawer uses exactly the same control size and row alignment. */
@media(max-width:860px){
  .fij-jobs-reference-v18837{
    --fij-sidebar-control-size:18px;
    --fij-sidebar-count-width:42px;
  }
  .fij-jobs-reference-v18837 .fij-jobs-reference-filter-option-v18837{
    min-height:40px!important;
    padding:5px 0!important;
    font-size:13px!important;
  }
}
