/* Search Parts BMW V0.5.9 - hero compact avec formulaires empilés */
.spb-ce-searchbox--v059 {
  grid-template-columns: minmax(0, .92fr) minmax(360px, .98fr) !important;
  gap: clamp(20px, 3vw, 34px) !important;
  align-items: center !important;
  padding: clamp(20px, 3vw, 34px) clamp(18px, 3.2vw, 40px) !important;
  min-height: 0 !important;
}

.spb-ce-searchbox--v059 .spb-ce-searchbox__content h2 {
  font-size: clamp(29px, 3.2vw, 42px) !important;
  line-height: 1.04 !important;
  margin: 0 0 12px !important;
  max-width: 520px !important;
}

.spb-ce-searchbox--v059 .spb-kicker {
  margin-bottom: 10px !important;
}

.spb-ce-searchbox--v059 .spb-vin-helper {
  max-width: 520px !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.spb-ce-searchbox--v059 .spb-vin-helper strong {
  color: #ffbd59 !important;
  font-weight: 800 !important;
}

.spb-ce-searchbox--v059 .spb-vin-helper span {
  display: inline-block !important;
  padding: 1px 8px !important;
  border-radius: 999px !important;
  background: rgba(255,189,89,.18) !important;
  color: #fff !important;
  font-weight: 800 !important;
}

.spb-ce-searchbox--v059 .spb-ce-searchbox__forms--stacked {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  align-self: center !important;
  width: 100% !important;
}

.spb-ce-searchbox--v059 .spb-ce-searchbox__form {
  margin: 0 !important;
  padding: 12px 14px !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.10) !important;
}

.spb-ce-searchbox--v059 .spb-ce-searchbox__form--vin {
  border-left: 4px solid #ffbd59 !important;
}

.spb-ce-searchbox--v059 .spb-ce-searchbox__form--search {
  display: block !important;
  border-left: 4px solid #2f80ed !important;
}

.spb-ce-searchbox--v059 .spb-ce-searchbox__form--reference {
  border-left: 4px solid #f59e0b !important;
}

.spb-ce-searchbox--v059 .spb-search-label {
  display: block !important;
  margin: 0 0 8px !important;
  font-size: 12px !important;
  line-height: 1.15 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  font-weight: 800 !important;
  color: #111827 !important;
}

.spb-ce-searchbox--v059 .spb-search-line,
.spb-ce-searchbox--v059 .spb-vin-search-line,
.spb-ce-searchbox--v059 .spb-model-search-line {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: stretch !important;
}

.spb-ce-searchbox--v059 input[type="text"],
.spb-ce-searchbox--v059 input[type="search"] {
  width: 100% !important;
  height: 43px !important;
  min-height: 43px !important;
  line-height: 43px !important;
  border-radius: 10px !important;
  border: 1px solid #ddd !important;
  background: #fff !important;
  padding: 0 13px !important;
  color: #111827 !important;
  box-shadow: none !important;
}

.spb-ce-searchbox--v059 input:focus {
  border-color: #b10f18 !important;
  box-shadow: 0 0 0 3px rgba(177,15,24,.10) !important;
  outline: none !important;
}

.spb-ce-searchbox--v059 .spb-btn-primary {
  min-height: 43px !important;
  height: 43px !important;
  border-radius: 10px !important;
  padding: 0 17px !important;
  white-space: nowrap !important;
  font-size: 12px !important;
}

.spb-ce-searchbox--v059 .spb-btn-vin {
  padding: 0 19px !important;
}

.spb-ce-searchbox--v059 .spb-search-note {
  display: block !important;
  margin-top: 7px !important;
  font-size: 12px !important;
  line-height: 1.28 !important;
  color: #5b6472 !important;
}

.spb-ce-searchbox--v059 .spb-vin-note {
  color: #8a2c12 !important;
  font-weight: 700 !important;
}

/* La recherche modèle est désormais dans le hero. On évite un doublon au-dessus des gammes. */
.spb-ce-wrapper .spb-ce-searchbox--v059 + .spb-ce-model-grids .spb-model-finder {
  display: none !important;
}

@media (max-width: 991px) {
  .spb-ce-searchbox--v059 {
    grid-template-columns: 1fr !important;
  }
  .spb-ce-searchbox--v059 .spb-ce-searchbox__content h2,
  .spb-ce-searchbox--v059 .spb-vin-helper {
    max-width: none !important;
  }
}

@media (max-width: 575px) {
  .spb-ce-searchbox--v059 {
    padding: 18px 14px !important;
  }
  .spb-ce-searchbox--v059 .spb-ce-searchbox__content h2 {
    font-size: 28px !important;
  }
  .spb-ce-searchbox--v059 .spb-search-line,
  .spb-ce-searchbox--v059 .spb-vin-search-line,
  .spb-ce-searchbox--v059 .spb-model-search-line {
    grid-template-columns: 1fr !important;
  }
  .spb-ce-searchbox--v059 .spb-btn-primary {
    width: 100% !important;
  }
}
