/* =========================================================
   bootstrap_barrio_giguellerie — 60-views.css
   Views (etalons) + exposed filters + sliders
   ========================================================= */

.view-etalons .stallion-cards{}

/* Grille */
.view-etalons .stallion-cards.row{
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}

.view-etalons .stallion-cards.row + .row{
  margin-top: 1.5rem;
}

.view-etalons .view-content{
  padding-bottom: 2rem;
}

/* Card */
.view-etalons .stallion-card{
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.12);
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

@media (hover:hover){
  .view-etalons .stallion-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 10px 26px rgba(0,0,0,.10);
    border-color: rgba(0,0,0,.18);
  }
  .view-etalons .stallion-card:hover .stallion-card-media img{
    transform: scale(1.06);
  }
}

.view-etalons .stallion-card > .card-body{
  padding: 0 !important;
}

.view-etalons .stallion-card .card-text{
  padding: 0 !important;
  margin: 0 !important;
}

/* Lien */
.view-etalons .views-field-view-node .field-content > a{
  display: block;
  text-decoration: none !important;
  color: inherit !important;
}
.view-etalons .views-field-view-node .field-content > a:hover,
.view-etalons .views-field-view-node .field-content > a:focus{
  color: inherit !important;
}

/* Media */
.view-etalons .stallion-card-media{
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
}

.view-etalons .stallion-card-media .field--type-image,
.view-etalons .stallion-card-media .field--name-field-media-image,
.view-etalons .stallion-card-media .field__item{
  margin: 0 !important;
  padding: 0 !important;
}

.view-etalons .stallion-card-media img{
  display: block !important;
  width: 100% !important;
  height: clamp(180px, 22vw, 260px) !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
  margin: 0 !important;
  transform: scale(1);
  transform-origin: center;
  transition: transform .35s ease;
  will-change: transform;
}

.view-etalons .stallion-card:focus-within .stallion-card-media img{
  transform: scale(1.06);
}

.view-etalons .stallion-card-media picture,
.view-etalons .stallion-card-media .field,
.view-etalons .stallion-card-media .field__item{
  display: block;
  width: 100%;
}

/* Texte */
.view-etalons .stallion-card-content{
  padding: 0.5rem 1rem 1rem;
  color: #111;
}

.view-etalons .stallion-card-title{
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.15;
  margin: 0;
  color: #111;
}

.view-etalons .stallion-card-meta{
  font-size: 1rem;
  line-height: 1.35;
  margin: 0;
  color: rgba(0,0,0,.70);
}

.view-etalons .stallion-card .contextual-region{
  max-width: 100%;
}

.view-etalons .views-field-view-node .field-content > a:focus-visible{
  outline: 3px solid color-mix(in srgb, var(--bs-primary) 55%, transparent);
  outline-offset: 2px;
  border-radius: 14px;
}

/* Exposed filters */
.view-etalons .view-filters{
  margin: 1.25rem 0 1.75rem;
}

.view-etalons .view-filters form.views-exposed-form{
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: .9rem;
  padding: .9rem 1rem;
  box-shadow: 0 .35rem 1.1rem rgba(0,0,0,.05);
}

.view-etalons .view-filters form .d-flex.flex-wrap{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: .75rem 1rem;
}

.view-etalons .view-filters form .d-flex.flex-wrap > *{
  flex: 0 0 auto;
  min-width: 0;
}

.view-etalons .view-filters .form-item-title{
  flex: 0 0 16rem;
}
@media (max-width: 576px){
  .view-etalons .view-filters .form-item-title{ flex-basis: 100%; }
}

.view-etalons .view-filters [data-drupal-selector="edit-field-prix-value-wrapper"]{
  flex: 0 0 22rem;
}
.view-etalons .view-filters [data-drupal-selector="edit-field-prix-value-wrapper"] fieldset{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.view-etalons .view-filters [data-drupal-selector="edit-field-prix-value-wrapper"] .fieldset-wrapper{
  display: flex;
  gap: .75rem;
  align-items: flex-end;
}
.view-etalons .view-filters .form-item-field-prix-value-min,
.view-etalons .view-filters .form-item-field-prix-value-max{
  margin: 0 !important;
  flex: 1 1 0;
}

.view-etalons .view-filters details.form-item{
  flex: 0 0 auto;
  min-width: 12rem;
  margin: 0 !important;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: .65rem;
  background: #fff;
}

.view-etalons .view-filters details.form-item > summary{
  list-style: none;
  cursor: pointer;
  padding: .55rem .75rem;
  font-weight: 600;
  user-select: none;
}
.view-etalons .view-filters details.form-item > summary::-webkit-details-marker{
  display: none;
}
.view-etalons .view-filters details.form-item > summary::after{
  content: "▾";
  float: right;
  opacity: .7;
}
.view-etalons .view-filters details.form-item[open] > summary::after{
  content: "▴";
}

.view-etalons .view-filters details.form-item .details-wrapper{
  padding: .5rem .75rem .75rem;
  border-top: 1px solid rgba(0,0,0,.08);
  max-height: 16rem;
  overflow: auto;
}

.view-etalons .view-filters .form-checkboxes .form-check{
  margin: .25rem 0 !important;
}
.view-etalons .view-filters .form-checkboxes .form-check-label{
  font-size: .95rem;
}

.view-etalons .view-filters details#edit-secondary{
  min-width: 14rem;
}

.view-etalons .view-filters #edit-actions{
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto;
  align-self: flex-end;
}
.view-etalons .view-filters #edit-submit-etalons{
  padding: .45rem .8rem !important;
  font-weight: 600;
  border-radius: .6rem;
  width: auto !important;
}
.view-etalons .view-filters form[data-bef-auto-submit] #edit-actions{
  display: none;
}

/* Fix sliders qui “descendent” */
.view-etalons .field-prix-value-slider-wrapper,
.view-etalons .field-taille-value-slider-wrapper{
  display: block !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  position: static !important;
  inset: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  margin: .35rem 0 0 !important;
  padding: 0 !important;
}

.view-etalons .field-prix-value-slider-wrapper * ,
.view-etalons .field-taille-value-slider-wrapper *{
  position: relative;
}

.view-etalons .field-prix-value-slider-wrapper .ui-slider,
.view-etalons .field-taille-value-slider-wrapper .ui-slider,
.view-etalons .field-prix-value-slider-wrapper .noUi-target,
.view-etalons .field-taille-value-slider-wrapper .noUi-target{
  position: relative !important;
  width: 100% !important;
}

.view-etalons .view-filters .views-exposed-form > .d-flex.flex-wrap{
  gap: 1rem 1rem;
  align-items: flex-start;
}

.view-etalons .view-filters .views-exposed-form .form-item,
.view-etalons .view-filters .views-exposed-form .form-wrapper,
.view-etalons .view-filters .views-exposed-form fieldset,
.view-etalons .view-filters .views-exposed-form details{
  flex: 0 1 22rem;
  min-width: 18rem;
}

.view-etalons .view-filters #edit-field-prix-value-wrapper,
.view-etalons .view-filters #edit-field-taille-value-wrapper{
  flex: 1 1 26rem;
  min-width: 22rem;
}

.view-etalons .view-filters .field-prix-value-slider-wrapper,
.view-etalons .view-filters .field-taille-value-slider-wrapper,
.view-etalons .view-filters [id^="edit-slider-wrapper"]{
  display: block !important;
  position: relative !important;
  width: 100% !important;
  min-height: 18px;
  margin-top: .5rem !important;
}

.view-etalons .view-filters .bef-slider.noUi-target{
  position: relative !important;
  bottom: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
}