/* Page catégorie boutique : même langage visuel que la fiche vendeur
   (filtre en pastilles, cartes pièces). Les tokens sont locaux : la boutique
   ne charge pas fc-theme.css. */
#category,
#index {
  --fc-green-50: #eef7e7;
  --fc-green-700: #3a731b;
  --fc-grey-100: #eef1f4;
  --brand-primary: #57a62b;
  --brand-primary-hover: #498f23;
  --text-strong: #112437;
  --text-muted: #7d8896;
  --text-link: #498f23;
  --border-subtle: #e1e6ec;
  --border-default: #cdd5de;
  --font-display: 'Archivo', 'Open Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fs-sm: .8125rem;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;
  --shadow-xs: 0 1px 2px rgba(17, 36, 55, .06);
}

#category .search-hero,
#index .search-hero {
  min-height: 250px;
  padding: 28px 0 24px;
}

/* Le header a déjà le champ pièce. La copie dans le hero ne sert plus sur mobile. */
#fc-home-category-search-hero .search-hero-form-container.hidden-desktop {
  display: none;
}

#category .search-hero .search-container,
#index .search-hero .search-container {
  max-width: 760px;
}

#category .search-hero .search-card,
#index .search-hero .search-card {
  padding: 16px 18px 14px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-xs);
}

#category .search-hero .search-card:hover,
#index .search-hero .search-card:hover {
  box-shadow: var(--shadow-xs);
}

#category .search-hero .search-card-title,
#index .search-hero .search-card-title {
  margin: 0 0 12px;
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--text-strong);
}

#category .search-hero #searchForms,
#index .search-hero #searchForms {
  display: grid;
  grid-template-columns: 1fr;
  padding: 0;
}

#category .search-hero #searchForms>.search-card-title,
#index .search-hero #searchForms>.search-card-title {
  grid-column: 1;
  grid-row: 1;
}

/* Les deux formulaires occupent la même cellule : la carte garde la hauteur
   du plus grand et le contenu en dessous ne saute pas au changement. */
#category .search-hero #searchForms>.search-form-container,
#index .search-hero #searchForms>.search-form-container {
  grid-column: 1;
  grid-row: 2;
  display: block;
  width: 100%;
  height: 100%;
  justify-self: stretch;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: none;
  animation: none;
}

#category .search-hero #searchForms>.search-form-container.active,
#index .search-hero #searchForms>.search-form-container.active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

#category .search-hero .search-form-container>form,
#index .search-hero .search-form-container>form {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

#category .search-hero .plate-input-container,
#index .search-hero .plate-input-container {
  width: 100%;
}

#category .search-hero .alternative-search,
#index .search-hero .alternative-search,
#category .search-hero .form-actions,
#index .search-hero .form-actions {
  margin-top: auto;
}

#category .search-hero #form-search-immat .plate-input,
#index .search-hero #form-search-immat .plate-input {
  border: 1px solid #9aa6b2;
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}

#category .search-hero #form-search-immat .plate-input:focus-within,
#index .search-hero #form-search-immat .plate-input:focus-within {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 2px rgba(87, 166, 43, .16);
}

#category .search-hero #form-search-immat .btn-search,
#index .search-hero #form-search-immat .btn-search {
  height: 60px;
  align-self: center;
}

#category .search-hero .btn-search,
#index .search-hero .btn-search {
  min-width: 56px;
  padding: 0 18px;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--brand-primary);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}

#category .search-hero .btn-search:hover,
#index .search-hero .btn-search:hover {
  background: var(--brand-primary-hover);
  color: #fff;
}

#category .search-hero .model-search-layout,
#index .search-hero .model-search-layout {
  display: flex;
  align-items: center;
  gap: 12px;
}

#category .search-hero .model-search-selects,
#index .search-hero .model-search-selects {
  flex: 1 1 auto;
  min-width: 0;
}

#category .search-hero .model-search-selects .row,
#index .search-hero .model-search-selects .row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
  margin: 0;
}

#category .search-hero .model-search-selects .row::before,
#index .search-hero .model-search-selects .row::before,
#category .search-hero .model-search-selects .row::after,
#index .search-hero .model-search-selects .row::after {
  display: none;
}

#category .search-hero .model-search-selects [class*="col-"],
#index .search-hero .model-search-selects [class*="col-"] {
  width: auto;
  max-width: none;
  float: none;
  padding: 0;
  margin: 0;
}

#category .search-hero .model-search-selects .select2-container,
#index .search-hero .model-search-selects .select2-container {
  width: 100% !important;
}

#category .search-hero .search-button-container,
#index .search-hero .search-button-container {
  align-self: center;
  display: flex;
  align-items: center;
}

#category .search-hero .btn-search-model,
#index .search-hero .btn-search-model {
  height: 40px;
  width: auto;
  align-self: center;
  padding: 0 22px;
  border-radius: var(--radius-pill);
}

#category .search-hero .btn-link,
#index .search-hero .btn-link {
  color: var(--text-link);
  font-size: 1rem;
  font-weight: 700;
}

#category .search-hero .btn-link:hover,
#index .search-hero .btn-link:hover {
  color: #fff;
}

#category .search-hero .form-control:not(#fc_immat),
#index .search-hero .form-control:not(#fc_immat),
#category .search-hero .select2-container .select2-selection--single,
#index .search-hero .select2-container .select2-selection--single {
  display: flex;
  align-items: center;
  height: 40px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-pill);
  background: #fff;
  font-size: 1rem;
}

#category .search-hero .select2-container--default .select2-selection--single .select2-selection__rendered,
#index .search-hero .select2-container--default .select2-selection--single .select2-selection__rendered {
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0;
  line-height: 1.2;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 16px;
  padding-right: 58px;
  color: var(--text-strong);
  font-size: 1rem;
  white-space: nowrap;
}

#category .search-hero .select2-container--default .select2-selection--single .select2-selection__clear,
#index .search-hero .select2-container--default .select2-selection--single .select2-selection__clear {
  position: absolute;
  right: 30px;
  top: 50%;
  height: auto;
  width: auto;
  margin: 0;
  padding: 0 2px;
  transform: translateY(-50%);
  font-weight: 700;
  z-index: 2;
}

#category .search-hero .select2-container--default .select2-selection--single .select2-selection__arrow,
#index .search-hero .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
  top: 0;
  right: 4px;
  width: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#category .same_category_pieces_list.row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(105px, 1fr));
  gap: 8px;
  margin: 0 0 14px;
  padding: 16px 12px 20px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: #fff;
}

#category .same_category_pieces_list.row .col-md-1-img {
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 8px 6px 6px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

#category .same_category_pieces_list.row .col-md-1-img:hover,
#category .same_category_pieces_list.row .col-md-1-img:focus {
  border-color: var(--brand-primary);
  box-shadow: var(--shadow-xs);
  color: inherit;
  text-decoration: none;
}

#category .same_category_pieces_list.row .col-md-1-img img {
  max-width: 100%;
  height: auto;
}

#category .same_category_pieces_list .btn-show-other-modeles-wrapper {
  display: block;
  grid-column: 1 / -1;
  width: 100%;
  clear: both;
  margin: 2px 0 0;
  padding: 0;
  text-align: center;
}

#category .same_category_pieces_list .text-category-name {
  color: var(--text-strong);
  font-size: 11px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

@media (min-width:992px) {
  #category .same_category_pieces_list.row {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
}

@media (max-width:767px) {
  #category .same_category_pieces_list.row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

#category .same_category_pieces_list .text-category-somme {
  color: var(--text-muted);
}

#category .btn-show-other-modeles-wrapper .btn {
  margin: 0;
  padding: 8px 16px;
  border: 0;
  border-radius: var(--radius-pill);
  background-color: var(--brand-primary) !important;
  background-image: none !important;
  color: #fff;
  font-size: var(--fs-sm);
  font-weight: 700;
  text-transform: none;
}

#category .btn-show-other-modeles-wrapper .btn:hover {
  background-color: var(--brand-primary-hover) !important;
  background-image: none !important;
  color: #fff;
}

/* Bloc « marques les mieux cotées » (page 3-pieces sans véhicule et accueil) */
#category #fc-home-category-marque {
  margin: 0 0 20px;
}

/* Accueil : on garde le centrage (margin auto) défini dans fchomeparts */
#index #fc-home-category-marque {
  margin-bottom: 20px;
}

#category #fc-home-category-marque>.content,
#index #fc-home-category-marque>.content {
  padding: 16px 24px 20px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xs);
}

#category #fc-home-category-marque .item-category-home.row,
#index #fc-home-category-marque .item-category-home.row {
  margin: 0;
}

#category #list-marque-principales p.text-center,
#index #list-marque-principales p.text-center {
  margin: 0 0 12px;
  color: var(--text-strong);
}

/* Cartes marques : même rendu que les cartes modèles (.same_category_pieces_list) */
#category #list-marque-principales .centered,
#index #list-marque-principales .centered {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(105px, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width:992px) {
  #category #list-marque-principales .centered,
  #index #list-marque-principales .centered {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
}

@media (max-width:767px) {
  #category #list-marque-principales .centered,
  #index #list-marque-principales .centered {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

#category #list-marque-principales li.center-block,
#index #list-marque-principales li.center-block {
  display: block;
  flex: none;
  margin: 0;
  padding: 0;
}

#category #list-marque-principales li.center-block a,
#index #list-marque-principales li.center-block a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  height: 100%;
  padding: 10px 6px 8px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--text-strong);
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

#category #list-marque-principales li.center-block a:hover,
#index #list-marque-principales li.center-block a:hover,
#category #list-marque-principales li.center-block a:focus,
#index #list-marque-principales li.center-block a:focus {
  border-color: var(--brand-primary);
  box-shadow: var(--shadow-xs);
  text-decoration: none;
}

#category #list-marque-principales .img-responsive,
#index #list-marque-principales .img-responsive {
  width: auto;
  height: 50px;
  max-width: 100%;
  object-fit: contain;
}

#category #list-marque-principales .marque-name,
#index #list-marque-principales .marque-name {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  overflow-wrap: anywhere;
}

#category #fc-home-category-marque .btn-show-other-modeles-wrapper,
#index #fc-home-category-marque .btn-show-other-modeles-wrapper {
  margin-top: 14px;
}

#category #js-product-list-top.products-selection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  margin: 0 0 12px;
}

#category .products-selection>.col-md-6 {
  width: auto;
  max-width: none;
  float: none;
  padding: 0;
  flex: 1 1 auto;
}

#category .products-selection>.col-md-6:last-child {
  flex: 0 0 auto;
}

#category .products-selection .total-products h2 {
  margin: 0;
  color: #fff;
  font-size: var(--fs-sm);
  font-weight: 600;
  line-height: 1.3;
}

#category .products-selection .sort-by-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: auto;
  margin: 0;
  position: static;
}

#category .products-selection .wrapper-sort-by {
  width: auto;
  float: none;
  padding: 0;
  flex: 0 0 auto;
}

#category .products-sort-order {
  width: auto;
  position: relative;
}

#category .products-sort-order .select-title {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: auto;
  height: auto;
  margin: 0;
  padding: 8px 14px;
  background: var(--brand-primary);
  color: #fff;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  font-size: var(--fs-sm);
  font-weight: 600;
  white-space: nowrap;
  box-shadow: none;
}

#category .products-sort-order .select-title i {
  color: #fff;
}

#category .products-sort-order .select-title:hover {
  background: var(--brand-primary-hover);
  border-color: transparent;
  color: #fff;
}

#category .products-sort-order .select-title:hover i {
  color: #fff;
}

#category .products-sort-order .dropdown-menu {
  z-index: 30;
  min-width: 12rem;
  padding: 6px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
}

#category .products-sort-order .select-list {
  display: block;
  padding: 8px 10px;
  border-radius: 6px;
  cursor: pointer;
  color: var(--text-strong);
}

#category .products-sort-order .select-list:hover,
#category .products-sort-order .select-list.current {
  background: var(--fc-green-50);
  color: var(--text-strong);
}

#category .product-item {
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xs);
  margin-bottom: 12px;
  background: #fff;
  overflow: hidden;
}

#category .product-item .product-header {
  background: #fff;
  border-bottom: 1px solid var(--border-subtle);
  padding: 12px 16px;
  align-items: flex-start;
  gap: 10px;
}

#category .product-item .product-title-wrapper {
  flex: 1 1 auto;
  min-width: 0;
}

#category .product-item .occasion-badge,
#category .product-item .new-badge {
  flex: 0 0 auto;
}

#category #js-product-list .product-item .h3.product-title,
#category .product-item .product-title-listing .h3.product-title,
#category .product-item .h3.product-title {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}

#category .product-item .product-title a {
  color: var(--text-strong);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.3;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: break-word;
}

#category .product-item .product-title a:hover {
  color: var(--text-link);
}

#category .product-item .occasion-badge,
#category .product-item .new-badge {
  border-radius: var(--radius-pill);
  padding: 4px 10px;
  font-size: 11px;
  letter-spacing: .04em;
}

#category .product-item .product-content {
  flex-direction: row;
  align-items: center;
  padding: 16px;
  gap: 16px;
  min-height: 0;
}

#category .product-item .product-right {
  order: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  align-self: center;
  width: 180px;
  flex: 0 0 180px;
  height: auto;
}

#category .product-item .product-description-item {
  min-height: 0;
  margin-bottom: 8px;
  text-transform: none;
}

#category .product-item .product-image {
  width: 100%;
  height: 112px;
  flex: 0 0 auto;
  margin: 0 0 8px;
  box-sizing: border-box;
  border-radius: var(--radius-md);
  background-color: var(--fc-grey-100);
}

#category .product-item .view-product-btn {
  align-self: stretch;
  flex: 0 0 auto;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  background: var(--brand-primary);
  color: #fff;
  border-radius: var(--radius-pill);
  font-weight: 700;
  text-decoration: none;
}

#category .product-item .view-product-btn:hover {
  background: var(--brand-primary-hover);
  color: #fff;
}

#category .product-item .current-price-item {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--fc-green-700);
}

@media (max-width:767.98px) {
  #category #js-product-list-top.products-selection {
    flex-direction: column;
    align-items: flex-start;
  }

  #category .products-selection>.col-md-6,
  #category .products-selection>.col-md-6:last-child {
    width: 100%;
    flex: 1 1 100%;
  }

  #category .products-selection .sort-by-row {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  #category .products-selection .wrapper-sort-by,
  #category .products-sort-order,
  #category .products-sort-order .select-title {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  #category .products-sort-order .select-title {
    justify-content: space-between;
    white-space: normal;
  }

  #category .product-item .product-content {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    min-height: 0;
    padding: 14px;
    gap: 12px;
  }

  #category .product-item .product-left {
    flex: 1 1 auto;
    min-width: 0;
  }

  #category .product-item .product-right {
    order: 0;
    width: 128px;
    flex: 0 0 128px;
    min-width: 0;
  }

  #category .product-item .product-image {
    width: 100%;
    height: 96px;
    margin-bottom: 8px;
  }

  #category .product-item .view-product-btn {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: 8px 8px;
    font-size: 12px;
    line-height: 1.2;
    white-space: normal;
    text-align: center;
  }

  #category .product-item .price-section,
  #category .product-item .price-info {
    min-width: 0;
    width: 100%;
    align-items: flex-start;
  }

  #category .product-item .detail-row {
    flex-wrap: wrap;
    min-width: 0;
  }

  #category .product-item .detail-value {
    min-width: 0;
    overflow-wrap: break-word;
  }

  #category .product-item .livraison_inclue {
    margin-left: 0;
    font-size: 13px !important;
    white-space: normal;
  }

  #category .search-hero,
  #index .search-hero {
    min-height: 0;
    padding: 16px 12px 12px;
  }

  #category .search-hero .search-card,
  #index .search-hero .search-card {
    padding: 14px 14px 12px;
  }

  #category .search-hero #searchForms,
  #index .search-hero #searchForms {
    display: block;
  }

  #category .search-hero #searchForms>.search-form-container,
  #index .search-hero #searchForms>.search-form-container {
    display: none;
    height: auto;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }

  #category .search-hero #searchForms>.search-form-container.active,
  #index .search-hero #searchForms>.search-form-container.active {
    display: block;
  }

  #category .search-hero .search-form-container>form,
  #index .search-hero .search-form-container>form {
    height: auto;
  }

  #category .search-hero .alternative-search,
  #index .search-hero .alternative-search,
  #category .search-hero .form-actions,
  #index .search-hero .form-actions {
    margin-top: 12px;
  }

  #category .search-hero .plate-input-container,
  #index .search-hero .plate-input-container,
  #category .search-hero .model-search-layout,
  #index .search-hero .model-search-layout {
    margin-bottom: 0;
  }

  #category .search-hero .model-search-layout,
  #index .search-hero .model-search-layout {
    flex-direction: column;
    align-items: stretch;
  }

  #category .search-hero .model-search-selects .row,
  #index .search-hero .model-search-selects .row {
    grid-template-columns: 1fr;
  }

  #category .search-hero .btn-search-model,
  #index .search-hero .btn-search-model {
    width: 100%;
  }
}

/* Demande de pièce : mêmes pastilles que le formulaire véhicule.
   Les ids et classes utilisés par le JS (plaque, étranger, pièces, CP, pays) restent en place. */
#form-search-francecasse {
  --brand-primary: #57a62b;
  --brand-primary-hover: #498f23;
  --fc-green-50: #eef7e7;
  --text-strong: #112437;
  --text-muted: #7d8896;
  --text-link: #498f23;
  --border-subtle: #e1e6ec;
  --border-default: #cdd5de;
  --radius-lg: 12px;
  --radius-pill: 999px;
  color: var(--text-strong);
  font-size: 1rem;
}

#category .product-item.is-request {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  overflow: visible;
}

#category #form-search-francecasse,
#form-request-wrapper #form-search-francecasse {
  background: #fff;
  border: 1px solid #d5e4cb;
  border-top: 4px solid var(--brand-primary);
  border-radius: var(--radius-lg);
  box-shadow: 0 10px 28px rgba(17, 36, 55, .12);
  padding: 22px 22px 8px;
}

#form-search-francecasse .header-fc-search {
  padding: 0;
}

#form-search-francecasse .top-title-fc-search,
#form-search-francecasse .top-title-fc-search span {
  display: block;
  width: auto;
  margin: 0 0 10px;
  padding: 0;
  color: #3a731b;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}

#form-search-francecasse .top-subtitle-fc-search {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-left: 4px solid var(--brand-primary);
  border-radius: 8px;
  background: var(--fc-green-50);
  color: #3a4741;
  font-size: 15px;
  line-height: 1.45;
  text-align: left;
}

#form-search-francecasse .content-fc-search {
  background: none;
  padding: 4px 0 12px;
}

#form-search-francecasse .title-content-fc.box-title-fc {
  margin: 0 0 14px;
  padding: 14px 16px;
  border-radius: 10px;
  background: #112437;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
  text-transform: none;
}

#form-search-francecasse .content-fc-search-item {
  margin: 0 0 14px;
  padding: 0 14px 8px;
  border: 1px solid #d5e4cb;
  border-radius: 12px;
  background: #f7fbf4;
}

#form-search-francecasse .subtitle-content-fc.box-title-fc.box-title-fc-vert {
  margin: 0 -14px 12px;
  padding: 10px 16px;
  border: 0;
  border-radius: 11px 11px 0 0;
  background: var(--brand-primary);
  color: #fff;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: left;
  text-transform: none;
}

#form-search-francecasse .form-content-fc {
  padding: 0 0 6px;
}

#form-search-francecasse .form-content-fc>.row,
#form-search-francecasse .content-fc-search>.row {
  margin: 0 0 12px;
}

#form-search-francecasse .form-content-fc>.row>.form-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0;
}

#form-search-francecasse .form-content-fc>.row>.form-group:has(.hide_on_not_france) {
  grid-template-columns: 1.4fr 1fr 1fr;
}

#form-search-francecasse .form-group::before,
#form-search-francecasse .form-group::after,
#form-search-francecasse .row::before,
#form-search-francecasse .row::after {
  display: none;
}

#form-search-francecasse .form-content-fc [class*="col-"] {
  width: auto;
  max-width: none;
  float: none;
  padding: 0;
  margin: 0;
}

#form-search-francecasse .wrap-immatriculation-f,
#form-search-francecasse .form-content-fc .col-lg-12 {
  grid-column: 1 / -1;
}

#form-search-francecasse .form-content-fc .wrap-immatriculation-f {
  justify-self: center;
  box-sizing: border-box;
  width: min(420px, 100%);
  max-width: 420px;
  min-width: 0;
  margin: 0 auto;
}

#form-search-francecasse .form-control,
#form-search-francecasse input.form-control.fc_search_piece_autocomplete.ui-autocomplete-input {
  height: 44px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-pill);
  background: #fff;
  box-shadow: none;
  color: var(--text-strong);
  font-size: 1rem;
  line-height: normal;
}

#form-search-francecasse select.form-control {
  padding-right: 32px;
}

#form-search-francecasse .form-control:focus {
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 3px rgba(87, 166, 43, .18);
  outline: none;
}

#form-search-francecasse .form-control::placeholder,
#form-search-francecasse input.form-control.fc_search_piece_autocomplete.ui-autocomplete-input::placeholder {
  color: var(--text-muted);
  font-size: 1rem;
}

#form-search-francecasse .form-content-fc .immatriculation-field {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  height: 44px;
  padding: 0 16px 0 46px;
  text-indent: 0;
  font-size: 1rem;
  letter-spacing: 0;
}

#form-search-francecasse .form-content-fc>.row>.text-center,
#form-search-francecasse .marque-version-modele>.col-lg-12 {
  width: 100%;
  margin: 10px 0 0;
  padding: 0;
  text-align: center;
}

#form-search-francecasse #show-marque-vehicule-version,
#form-search-francecasse #show-immatriculation-fr {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: auto;
  margin: 0;
  padding: 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--brand-primary);
  font-size: .95rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}

#form-search-francecasse #show-marque-vehicule-version:hover,
#form-search-francecasse #show-immatriculation-fr:hover {
  background: transparent;
  color: var(--brand-primary-hover);
  text-decoration: underline;
}

#form-search-francecasse #list-piece-demandes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

#form-search-francecasse #list-piece-demandes:empty {
  display: none;
}

#form-search-francecasse #list-piece-demandes .list-group-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  margin: 0;
  padding: 6px 8px 6px 14px;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-pill);
  background: var(--fc-green-50);
  color: var(--text-strong);
  font-weight: 700;
}

#form-search-francecasse #list-piece-demandes .badge {
  float: none;
  margin: 0;
  padding: 0;
  background: transparent;
}

#form-search-francecasse #list-piece-demandes .btn-remove-item-list {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #b42318;
  line-height: 1;
}

#form-search-francecasse #message-error-pieces {
  margin: 8px 0 0;
  border-radius: 8px;
}

#form-search-francecasse label.error {
  display: block;
  margin: 4px 0 0;
  color: #b42318;
  font-size: 13px;
  font-weight: 600;
}

#form-search-francecasse .submit-wrapper-fc {
  margin: 8px 0 12px;
}

#form-search-francecasse .big-btn.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: auto;
  min-width: 240px;
  height: 48px;
  padding: 0 28px;
  border: 0;
  border-radius: var(--radius-pill);
  background: var(--brand-primary) !important;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  text-transform: none;
}

#form-search-francecasse .big-btn.btn-primary img {
  width: 18px;
  height: 18px;
}

#form-search-francecasse .big-btn.btn-primary:hover {
  background: var(--brand-primary-hover) !important;
}

@media (max-width:767.98px) {

  #category .product-item.is-request,
  #form-request-wrapper #form-search-francecasse {
    padding: 16px 14px 4px;
  }

  #form-search-francecasse .content-fc-search {
    padding: 4px 0 8px !important;
  }

  #form-search-francecasse .form-content-fc>.row>.form-group,
  #form-search-francecasse .form-content-fc>.row>.form-group:has(.hide_on_not_france) {
    grid-template-columns: 1fr;
  }

  #form-search-francecasse .form-content-fc .wrap-immatriculation-f,
  #form-search-francecasse .form-content-fc .immatriculation-field {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}