/**
 * Leo vehicle-page Diagrame link (4th control). Loaded only on MMY search.
 * Does nothing unless JS adds .has-advrider-diagram after a successful lookup.
 * Never uses .leo-adv-view-btn (Leo would treat the click as a panel switch).
 */

/* -------------------------------------------------------------------------- */
/* Split header: match neighbouring .leo-adv-view-btn (2px #AAB2BD, 36px)     */
/* -------------------------------------------------------------------------- */

#module-leopartsfilter-search .leo-search-header-row .leo-search-header-toolbar-col [data-advrider-veh-diagram],
.leo-search-header-row .leo-search-header-toolbar-col [data-advrider-veh-diagram] {
  box-sizing: border-box;
  flex: none;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  min-width: 0;
  max-width: none;
  min-height: 37px !important;
  height: 37px !important;
  padding: 0 0.35rem !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-align: center;
  text-decoration: none !important;
  white-space: nowrap;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: #fff !important;
  color: #000 !important;
  border: 2px solid #AAB2BD !important;
  cursor: pointer;
}

#module-leopartsfilter-search .leo-search-header-row .leo-search-header-toolbar-col [data-advrider-veh-diagram]:hover,
#module-leopartsfilter-search .leo-search-header-row .leo-search-header-toolbar-col [data-advrider-veh-diagram]:focus,
.leo-search-header-row .leo-search-header-toolbar-col [data-advrider-veh-diagram]:hover,
.leo-search-header-row .leo-search-header-toolbar-col [data-advrider-veh-diagram]:focus {
  background-color: #f5f5f5 !important;
  color: #000 !important;
  border: 2px solid #000 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Header caption lives in the 1/3 vehicle column; hoist (JS) then span full width. */
#module-leopartsfilter-search .leo-search-header-row.has-advrider-diagram > .selected-filters-label.top-block,
.leo-search-header-row.has-advrider-diagram > .selected-filters-label.top-block {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  box-sizing: border-box;
  white-space: normal;
  line-height: 1.35;
}

/* -------------------------------------------------------------------------- */
/* 4-column strip when Diagrame is present (Leo default is repeat(3))        */
/* -------------------------------------------------------------------------- */

#module-leopartsfilter-search .leo-search-header-row.has-advrider-diagram .leo-search-header-toolbar-col .leo-adv-view-toolbar > .leo-adv-view-toolbar-buttons-wrap > .btn-group.has-advrider-diagram,
.leo-search-header-row.has-advrider-diagram .leo-search-header-toolbar-col .leo-adv-view-toolbar > .leo-adv-view-toolbar-buttons-wrap > .btn-group.has-advrider-diagram {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: 37px !important;
  align-items: stretch;
  justify-content: stretch;
  flex-wrap: nowrap;
  width: 100%;
  gap: var(--leo-split-toolbar-gap, 6px);
}

.leo-search-header-row.has-advrider-diagram .leo-search-header-toolbar-col .btn-group.has-advrider-diagram > .btn,
.leo-search-header-row.has-advrider-diagram .leo-search-header-toolbar-col .btn-group.has-advrider-diagram > [data-advrider-veh-diagram] {
  margin-left: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  height: 37px !important;
  min-height: 37px !important;
}

@media (min-width: 768px) {
  #module-leopartsfilter-search .leo-search-header-row.has-advrider-diagram,
  .leo-search-header-row.has-advrider-diagram {
    row-gap: var(--leo-split-toolbar-gap, 6px) !important;
    /* Drop the faded white frame: past mobile it pinned controls to the inner edge. */
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* Desktop: model 1/3, four buttons 2/3 on one line */
@media (min-width: 1100px) {
  #module-leopartsfilter-search .leo-search-header-row--toolbar-right.has-advrider-diagram,
  #module-leopartsfilter-search .leo-search-header-row--toolbar-left.has-advrider-diagram,
  .leo-search-header-row--toolbar-right.has-advrider-diagram,
  .leo-search-header-row--toolbar-left.has-advrider-diagram {
    align-items: flex-end;
  }

  #module-leopartsfilter-search .leo-search-header-row--toolbar-right.has-advrider-diagram > .col-12.leo-search-header-filter-col,
  .leo-search-header-row--toolbar-right.has-advrider-diagram > .col-12.leo-search-header-filter-col {
    flex: 0 0 calc(33.333% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    max-width: calc(33.333% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    width: calc(33.333% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #module-leopartsfilter-search .leo-search-header-row--toolbar-right.has-advrider-diagram > .col-12.leo-search-header-toolbar-col,
  .leo-search-header-row--toolbar-right.has-advrider-diagram > .col-12.leo-search-header-toolbar-col {
    flex: 0 0 calc(66.667% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    max-width: calc(66.667% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    width: calc(66.667% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #module-leopartsfilter-search .leo-search-header-row--toolbar-left.has-advrider-diagram > .col-12.leo-search-header-toolbar-col,
  .leo-search-header-row--toolbar-left.has-advrider-diagram > .col-12.leo-search-header-toolbar-col {
    flex: 0 0 calc(66.667% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    max-width: calc(66.667% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    width: calc(66.667% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #module-leopartsfilter-search .leo-search-header-row--toolbar-left.has-advrider-diagram > .col-12.leo-search-header-filter-col,
  .leo-search-header-row--toolbar-left.has-advrider-diagram > .col-12.leo-search-header-filter-col {
    flex: 0 0 calc(33.333% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    max-width: calc(33.333% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    width: calc(33.333% - (var(--leo-split-toolbar-gap, 6px) / 2)) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #module-leopartsfilter-search .leo-search-header-row--toolbar-right.has-advrider-diagram > .leo-pf-fitments-split-extras,
  #module-leopartsfilter-search .leo-search-header-row--toolbar-left.has-advrider-diagram > .leo-pf-fitments-split-extras,
  .leo-search-header-row--toolbar-right.has-advrider-diagram > .leo-pf-fitments-split-extras,
  .leo-search-header-row--toolbar-left.has-advrider-diagram > .leo-pf-fitments-split-extras {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Gap to the 4 buttons is only the row column-gap (6px), same as between buttons. */
  #module-leopartsfilter-search .leo-search-header-row.has-advrider-diagram .leo-search-header-filter-col #leo_partsfilter .wrapper,
  .leo-search-header-row.has-advrider-diagram .leo-search-header-filter-col #leo_partsfilter .wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Tablet / narrow desktop: model full width, four buttons on the next row */
@media (min-width: 768px) and (max-width: 1099.98px) {
  #module-leopartsfilter-search .leo-search-header-row--toolbar-right.has-advrider-diagram,
  #module-leopartsfilter-search .leo-search-header-row--toolbar-left.has-advrider-diagram,
  .leo-search-header-row--toolbar-right.has-advrider-diagram,
  .leo-search-header-row--toolbar-left.has-advrider-diagram {
    align-items: stretch;
  }

  #module-leopartsfilter-search .leo-search-header-row.has-advrider-diagram > .col-12.leo-search-header-toolbar-col,
  #module-leopartsfilter-search .leo-search-header-row.has-advrider-diagram > .col-12.leo-search-header-filter-col,
  .leo-search-header-row.has-advrider-diagram > .col-12.leo-search-header-toolbar-col,
  .leo-search-header-row.has-advrider-diagram > .col-12.leo-search-header-filter-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-left: none !important;
    border-right: none !important;
  }

  /* Same 6px as between buttons; flush with the selected-vehicle bar below. */
  #module-leopartsfilter-search .leo-search-header-row.has-advrider-diagram .leo-search-header-filter-col #leo_partsfilter .wrapper,
  .leo-search-header-row.has-advrider-diagram .leo-search-header-filter-col #leo_partsfilter .wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #module-leopartsfilter-search .leo-search-header-row.has-advrider-diagram .leo-search-header-toolbar-col .leo-adv-view-toolbar,
  .leo-search-header-row.has-advrider-diagram .leo-search-header-toolbar-col .leo-adv-view-toolbar {
    padding: 0 !important;
    box-sizing: border-box;
  }

  #module-leopartsfilter-search .leo-search-header-row.has-advrider-diagram > .leo-pf-fitments-split-extras,
  .leo-search-header-row.has-advrider-diagram > .leo-pf-fitments-split-extras {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }
}

/* Mobile: two buttons per row (2×2). Without .has-advrider-diagram Leo keeps 3-across. */
@media (max-width: 767.98px) {
  #module-leopartsfilter-search .leo-search-header-row.has-advrider-diagram .leo-search-header-toolbar-col .leo-adv-view-toolbar > .leo-adv-view-toolbar-buttons-wrap > .btn-group.has-advrider-diagram,
  .leo-search-header-row.has-advrider-diagram .leo-search-header-toolbar-col .leo-adv-view-toolbar > .leo-adv-view-toolbar-buttons-wrap > .btn-group.has-advrider-diagram {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 37px !important;
  }

  #module-leopartsfilter-search .leo-search-header-row.has-advrider-diagram .leo-search-header-toolbar-col [data-advrider-veh-diagram],
  .leo-search-header-row.has-advrider-diagram .leo-search-header-toolbar-col [data-advrider-veh-diagram] {
    min-height: 37px !important;
    height: 37px !important;
    padding: 0 0.5rem !important;
    font-size: 14px !important;
  }
}

/* -------------------------------------------------------------------------- */
/* Alternate toolbar-above-columns layout (same 4 / 2×2, 1px black chrome)    */
/* -------------------------------------------------------------------------- */

#module-leopartsfilter-search .leo-adv-view-toolbar-above-columns [data-advrider-veh-diagram],
.leo-adv-view-toolbar-above-columns [data-advrider-veh-diagram] {
  box-sizing: border-box;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0.5rem 1rem !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  white-space: nowrap;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: #fff !important;
  color: #000 !important;
  border: 1px solid #000 !important;
}

#module-leopartsfilter-search .leo-adv-view-toolbar-above-columns [data-advrider-veh-diagram]:hover,
#module-leopartsfilter-search .leo-adv-view-toolbar-above-columns [data-advrider-veh-diagram]:focus,
.leo-adv-view-toolbar-above-columns [data-advrider-veh-diagram]:hover,
.leo-adv-view-toolbar-above-columns [data-advrider-veh-diagram]:focus {
  background-color: #f5f5f5 !important;
  color: #000 !important;
  border: 1px solid #000 !important;
  text-decoration: none !important;
}

.leo-adv-view-toolbar-above-columns.has-advrider-diagram .btn-group.has-advrider-diagram,
.leo-adv-view-toolbar-above-columns .leo-adv-view-toolbar.has-advrider-diagram > .leo-adv-view-toolbar-buttons-wrap > .btn-group.has-advrider-diagram {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  gap: 4px;
}

@media (max-width: 767.98px) {
  .leo-adv-view-toolbar-above-columns.has-advrider-diagram .btn-group.has-advrider-diagram,
  .leo-adv-view-toolbar-above-columns .leo-adv-view-toolbar.has-advrider-diagram > .leo-adv-view-toolbar-buttons-wrap > .btn-group.has-advrider-diagram {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
