/* ======================================================
   H127 — Recherche : cartes plus compactes
   - étoiles plus petites
   - paddings réduits
   - ville sur la même ligne que la note
   - garde les catégories/search sans rajouter de hauteur
====================================================== */
.search-card,
.search-card.is-boosted,
.search-card.is-visibility-featured-h51{
  border-radius:16px!important;
}

.search-card-photo-strip{
  padding:7px 7px 0!important;
  gap:7px!important;
  grid-auto-columns:calc((100% - 14px) / 2.2)!important;
}

.search-card-photo{
  height:96px!important;
  border-radius:11px!important;
}

.search-card-info{
  padding:7px 10px 9px!important;
}

.search-card-title-row{
  gap:7px!important;
}

.search-card-title-row h3{
  font-size:17px!important;
  line-height:1.07!important;
}

.search-card-title-row .search-distance{
  font-size:12.5px!important;
  padding-top:2px!important;
}

.search-card-r\61 ting-row,
.search-card-r\61 ting-row-h127{
  margin-top:6px!important;
  gap:4px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}

.search-stars{
  gap:2px!important;
}

body .search-stars .search-star,
.search-stars span,
.search-star{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px!important;
  border-radius:5px!important;
}

body .search-stars .search-star svg,
.search-stars svg,
.search-star svg{
  width:10px!important;
  height:10px!important;
}

.search-card-r\61 ting-row strong{
  font-size:13.5px!important;
  line-height:1!important;
}

.search-reviews-count-h127,
.search-card-r\61 ting-row > span:not(.search-stars):not(.search-inline-verified):not(.search-no-review):not(.search-r\61 ting-city-h127){
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
  color:#475569!important;
}

.search-r\61 ting-city-h127{
  display:inline-flex!important;
  align-items:center!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  color:#334155!important;
  white-space:nowrap!important;
}

.search-r\61 ting-city-h127::before{
  content:"•"!important;
  margin:0 3px 0 1px!important;
  color:#cbd5e1!important;
  font-weight:900!important;
}

.search-card-details-row,
.search-card-details-row-h127{
  margin-top:5px!important;
  font-size:12px!important;
  line-height:1.1!important;
}

.search-card-description{
  margin-top:5px!important;
  font-size:12px!important;
  line-height:1.25!important;
  -webkit-line-clamp:2!important;
}

.search-featured-corner-h52d,
.search-offer-corner-h60{
  min-height:18px!important;
  padding:0 6px!important;
  font-size:8.8px!important;
}

.search-results-grid{
  gap:10px!important;
}

.search-results-header{
  margin-bottom:8px!important;
}

.search-filters-results{
  gap:6px!important;
  margin-bottom:10px!important;
}

.search-filter{
  min-height:29px!important;
  padding:0 11px!important;
  font-size:12.5px!important;
}

@media(max-width:420px){
  .search-card-photo{
    height:94px!important;
  }

  .search-card-info{
    padding:7px 9px 9px!important;
  }

  .search-card-title-row h3{
    font-size:16.5px!important;
  }

  body .search-stars .search-star,
  .search-stars span,
  .search-star{
    width:17px!important;
    height:17px!important;
    flex-basis:17px!important;
  }

  body .search-stars .search-star svg,
  .search-stars svg,
  .search-star svg{
    width:9.5px!important;
    height:9.5px!important;
  }
}


/* ======================================================
   H128 — Recherche compacte réelle
   - catégories retirées/masquées en haut
   - étoiles plus petites avec moins de padding
   - ville alignée à droite sur la ligne note
   - espace léger entre titre commerce et étoiles
====================================================== */
.search-panel-top.is-search-compact-h128,
.search-panel-top.has-categories {
  padding-top: 10px !important;
}

.search-panel-top .search-home-categories,
.search-home-categories {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.search-input-wrap.search-input-wrap-home {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}

.search-card-info {
  padding-top: 7px !important;
}

.search-card-title-row {
  margin-bottom: 5px !important;
}

.search-card-r\61 ting-row,
.search-card-r\61 ting-row-h127 {
  width: 100% !important;
  margin-top: 5px !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-wrap: nowrap !important;
  min-width: 0 !important;
}

.search-card .search-stars,
body .search-card .search-stars {
  gap: 2px !important;
  flex: 0 0 auto !important;
}

.search-card .search-stars .search-star,
body .search-card .search-stars .search-star,
body .search-stars .search-star {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  padding: 0 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.search-card .search-stars .search-star svg,
body .search-card .search-stars .search-star svg,
body .search-stars .search-star svg {
  width: 11px !important;
  height: 11px !important;
  min-width: 11px !important;
  max-width: 11px !important;
}

.search-card-r\61 ting-row strong,
.search-card-r\61 ting-row-h127 strong {
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

.search-reviews-count-h127 {
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.search-r\61 ting-city-h127 {
  margin-left: auto !important;
  text-align: right !important;
  justify-content: flex-end !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  color: #475569 !important;
  white-space: nowrap !important;
  min-width: 0 !important;
  max-width: 34% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.search-r\61 ting-city-h127::before {
  content: none !important;
  display: none !important;
}

.search-inline-verified {
  flex: 0 0 auto !important;
}

@media (max-width: 420px) {
  .search-results-section {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .search-card {
    padding: 9px 10px 10px !important;
  }

  .search-card-info {
    padding-top: 6px !important;
  }

  .search-card-title-row h3 {
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  .search-card .search-stars .search-star,
  body .search-card .search-stars .search-star,
  body .search-stars .search-star {
    width: 19px !important;
    height: 19px !important;
    flex-basis: 19px !important;
    min-width: 19px !important;
    max-width: 19px !important;
    border-radius: 5px !important;
  }

  .search-card .search-stars .search-star svg,
  body .search-card .search-stars .search-star svg,
  body .search-stars .search-star svg {
    width: 10.5px !important;
    height: 10.5px !important;
  }

  .search-card-r\61 ting-row,
  .search-card-r\61 ting-row-h127 {
    gap: 3px !important;
  }

  .search-reviews-count-h127,
  .search-r\61 ting-city-h127 {
    font-size: 12.5px !important;
  }
}

/* ======================================================
   H129 — Recherche mobile optimisée
   Objectif : gagner de la place au-dessus des résultats.
   - Masque le bloc titre "Résultats" + nombre de commerces sur mobile
   - Masque les filtres publics Tous / Mis en avant / Offres / Fidélité / Vérifiés
   - Réduit le bouton de tri
====================================================== */
@media (max-width: 767px) {
  body.page-template-page-rechercher .search-results-head,
  body.page-template-page-rechercher .search-results-header,
  body.page-template-page-rechercher .results-header,
  body.page-template-page-rechercher .nt-results-header,
  body.page-template-page-rechercher .nt-search-results-header,
  body.page-template-page-rechercher .search-title-wrap,
  body.page-template-page-rechercher .search-results-title,
  body.page-template-page-rechercher .results-title,
  body.page-template-page-rechercher h1.search-title,
  body.page-template-page-rechercher h2.search-title,
  body.page-template-page-rechercher .results-count,
  body.page-template-page-rechercher .search-count,
  body.page-template-page-rechercher .nt-results-count,
  body.page-rechercher .search-results-head,
  body.page-rechercher .search-results-header,
  body.page-rechercher .results-header,
  body.page-rechercher .nt-results-header,
  body.page-rechercher .nt-search-results-header,
  body.page-rechercher .search-title-wrap,
  body.page-rechercher .search-results-title,
  body.page-rechercher .results-title,
  body.page-rechercher h1.search-title,
  body.page-rechercher h2.search-title,
  body.page-rechercher .results-count,
  body.page-rechercher .search-count,
  body.page-rechercher .nt-results-count {
    display: none !important;
  }

  body.page-template-page-rechercher .search-filter-tabs,
  body.page-template-page-rechercher .search-filters-tabs,
  body.page-template-page-rechercher .results-filter-tabs,
  body.page-template-page-rechercher .nt-filter-tabs,
  body.page-template-page-rechercher .nt-search-filter-tabs,
  body.page-template-page-rechercher .search-tabs,
  body.page-template-page-rechercher .listing-filter-tabs,
  body.page-template-page-rechercher [class*="filter-tabs"],
  body.page-template-page-rechercher [class*="filters-tabs"],
  body.page-rechercher .search-filter-tabs,
  body.page-rechercher .search-filters-tabs,
  body.page-rechercher .results-filter-tabs,
  body.page-rechercher .nt-filter-tabs,
  body.page-rechercher .nt-search-filter-tabs,
  body.page-rechercher .search-tabs,
  body.page-rechercher .listing-filter-tabs,
  body.page-rechercher [class*="filter-tabs"],
  body.page-rechercher [class*="filters-tabs"] {
    display: none !important;
  }

  body.page-template-page-rechercher .sort-control,
  body.page-template-page-rechercher .sort-button,
  body.page-template-page-rechercher .nt-sort-button,
  body.page-template-page-rechercher [class*="sort"],
  body.page-rechercher .sort-control,
  body.page-rechercher .sort-button,
  body.page-rechercher .nt-sort-button,
  body.page-rechercher [class*="sort"] {
    min-height: 32px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.page-template-page-rechercher .search-results,
  body.page-template-page-rechercher .results-list,
  body.page-template-page-rechercher .nt-search-results,
  body.page-template-page-rechercher .listings-results,
  body.page-rechercher .search-results,
  body.page-rechercher .results-list,
  body.page-rechercher .nt-search-results,
  body.page-rechercher .listings-results {
    margin-top: 8px !important;
    padding-top: 0 !important;
  }

  /* Filtres contextuels compacts : plus utiles que Tous/Mis en avant/Offres/Fidélité/Vérifiés */
  body.page-template-page-rechercher .nt-context-filters-h129,
  body.page-rechercher .nt-context-filters-h129 {
    display: flex !important;
    gap: 7px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 7px 14px 4px !important;
    margin: 0 !important;
    scrollbar-width: none !important;
  }

  body.page-template-page-rechercher .nt-context-filters-h129::-webkit-scrollbar,
  body.page-rechercher .nt-context-filters-h129::-webkit-scrollbar {
    display: none !important;
  }

  body.page-template-page-rechercher .nt-context-filters-h129 button,
  body.page-rechercher .nt-context-filters-h129 button {
    flex: 0 0 auto !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(226,232,240,.95) !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.06) !important;
  }
}


/* ======================================================
   H130 — Recherche : suppression réelle des filtres génériques
   - retire Tous / Mis en avant / Offres / Fidélité / Vérifiés
   - retire le titre Résultats + compteur
   - ajoute une ligne compacte de filtres utiles
====================================================== */
.search-results-head,
.search-filters-results,
.search-results-section > .search-filters,
.search-results-section .search-filters-results {
  display: none !important;
}

.nt-context-filters-h129 {
  display: none !important;
}

.nt-context-filters-h130 {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 6px 0 10px !important;
  margin: 0 0 4px !important;
  scrollbar-width: none !important;
}

.nt-context-filters-h130::-webkit-scrollbar {
  display: none !important;
}

.nt-context-filters-h130 button {
  flex: 0 0 auto !important;
  min-height: 32px !important;
  padding: 0 13px !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.055) !important;
}

.nt-context-filters-h130 .nt-context-more-h130 {
  color: #1d4ed8 !important;
  border-color: rgba(37,99,235,.26) !important;
}

.search-results-section {
  padding-top: 10px !important;
}

@media (max-width: 767px) {
  .search-panel-top {
    padding-bottom: 8px !important;
  }

  .search-results-section {
    padding-top: 8px !important;
  }

  .search-results-grid {
    margin-top: 0 !important;
  }

  .nt-context-filters-h130 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* ======================================================
   H134 SAFE — Panneau filtres sans modification PHP
   Correction du critical error : aucune injection PHP/HTML dans page-rechercher.php.
   Le panneau est créé en JavaScript côté navigateur.
====================================================== */
.nt-context-filters-h134 {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 8px 14px 6px !important;
  margin: 0 !important;
  scrollbar-width: none !important;
}
.nt-context-filters-h134::-webkit-scrollbar { display: none !important; }
.nt-context-filters-h134 button {
  flex: 0 0 auto !important;
  min-height: 32px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.06) !important;
}
.nt-context-filters-h134 button.is-active {
  background: linear-gradient(135deg, #ff4b35, #ff6a2a) !important;
  border-color: transparent !important;
  color: #fff !important;
}

.nt-filter-overlay-h134 {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  display: none !important;
  align-items: flex-end !important;
  justify-content: center !important;
  background: rgba(15, 23, 42, 0.42) !important;
  padding: 0 12px calc(86px + env(safe-area-inset-bottom)) !important;
}
.nt-filter-overlay-h134.is-open { display: flex !important; }

.nt-filter-sheet-h134 {
  width: min(100%, 520px) !important;
  max-height: 72vh !important;
  overflow: auto !important;
  border-radius: 24px 24px 20px 20px !important;
  background: #fff !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  box-shadow: 0 -18px 50px rgba(15,23,42,.24) !important;
  padding: 10px 14px 14px !important;
}
.nt-filter-sheet-h134__bar {
  width: 44px !important;
  height: 5px !important;
  border-radius: 99px !important;
  background: #cbd5e1 !important;
  margin: 0 auto 10px !important;
}
.nt-filter-sheet-h134__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}
.nt-filter-sheet-h134__head strong {
  font-size: 18px !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  color: #0f172a !important;
}
.nt-filter-close-h134 {
  width: 34px !important;
  height: 34px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f1f5f9 !important;
  color: #334155 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.nt-filter-sheet-h134__section { margin-top: 12px !important; }
.nt-filter-sheet-h134__section > span {
  display: block !important;
  margin-bottom: 8px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
.nt-filter-sheet-h134__chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.nt-filter-sheet-h134__chips button {
  min-height: 34px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  background: #f8fafc !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.nt-filter-sheet-h134__chips button.is-active {
  background: #0f172a !important;
  color: #fff !important;
  border-color: #0f172a !important;
}
.nt-filter-sheet-h134__note {
  margin: 12px 0 0 !important;
  color: #64748b !important;
  font-size: 11.5px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}
.nt-filter-apply-h134 {
  width: 100% !important;
  min-height: 44px !important;
  margin-top: 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff4b35, #ff6a2a) !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}
body.nt-filters-open-h134 { overflow: hidden !important; }

/* Masquage renforcé des anciens filtres génériques */
@media (max-width: 767px) {
  .nt-filter-tabs:not(.nt-context-filters-h134),
  .nt-search-filter-tabs:not(.nt-context-filters-h134),
  .search-filter-tabs:not(.nt-context-filters-h134),
  .search-filters-tabs:not(.nt-context-filters-h134),
  .results-filter-tabs:not(.nt-context-filters-h134),
  .listing-filter-tabs:not(.nt-context-filters-h134) {
    display: none !important;
  }
}


/* ======================================================
   H135 — Recherche : une seule ligne de filtres
   - supprime visuellement la ligne JS H134 dupliquée au-dessus de la recherche
   - garde la ligne existante sous la barre
   - le bouton Filtres de la ligne existante ouvre l'overlay
====================================================== */
body.page-rechercher .nt-context-filters-h134,
body[class*="page-template-page-rechercher"] .nt-context-filters-h134,
body.search .nt-context-filters-h134 {
  display: none !important;
}

/* La ligne conservée sous la recherche reste compacte */
.nt-context-filters-h129,
.nt-context-filters-h131,
.nt-context-filters-h132,
.nt-context-filters-h133,
.search-context-filters,
.search-quick-filters {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding: 8px 14px 6px !important;
  margin: 0 !important;
  scrollbar-width: none !important;
}

.nt-context-filters-h129::-webkit-scrollbar,
.nt-context-filters-h131::-webkit-scrollbar,
.nt-context-filters-h132::-webkit-scrollbar,
.nt-context-filters-h133::-webkit-scrollbar,
.search-context-filters::-webkit-scrollbar,
.search-quick-filters::-webkit-scrollbar {
  display: none !important;
}

.nt-context-filters-h129 button,
.nt-context-filters-h131 button,
.nt-context-filters-h132 button,
.nt-context-filters-h133 button,
.search-context-filters button,
.search-quick-filters button {
  flex: 0 0 auto !important;
  min-height: 32px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  background: #fff !important;
  color: #334155 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.06) !important;
}

.nt-context-filters-h129 button.is-active,
.nt-context-filters-h131 button.is-active,
.nt-context-filters-h132 button.is-active,
.nt-context-filters-h133 button.is-active,
.search-context-filters button.is-active,
.search-quick-filters button.is-active {
  background: linear-gradient(135deg, #ff4b35, #ff6a2a) !important;
  border-color: transparent !important;
  color: #fff !important;
}


/* ======================================================
   H136 — État actif visible sur tous les filtres
   Quand on clique sur Wifi / Clim / Ouvert / Pas cher,
   le fond change clairement de couleur.
====================================================== */
button[data-filter-context].is-active,
a[data-filter-context].is-active,
.nt-context-filters-h134 button[data-filter-context].is-active,
.nt-context-filters-h135 button[data-filter-context].is-active,
.nt-context-filters-h129 button[data-filter-context].is-active,
.nt-context-filters-h131 button[data-filter-context].is-active,
.nt-context-filters-h132 button[data-filter-context].is-active,
.nt-context-filters-h133 button[data-filter-context].is-active,
.search-context-filters button[data-filter-context].is-active,
.search-quick-filters button[data-filter-context].is-active {
  background: linear-gradient(135deg, #ff4b35, #ff6a2a) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(255, 75, 53, .22) !important;
}

button[data-filter-context].is-active::before,
a[data-filter-context].is-active::before {
  color: #fff !important;
}

/* État actif dans le panneau overlay */
.nt-filter-sheet-h134 button[data-filter-context].is-active,
.nt-filter-sheet-h135 button[data-filter-context].is-active {
  background: #0f172a !important;
  border-color: #0f172a !important;
  color: #fff !important;
}


.nt-context-filters-h134 button.nt-filter-chip-active-h139,
.nt-context-filters-h129 button.nt-filter-chip-active-h139,
.nt-context-filters-h130 button.nt-filter-chip-active-h139,
.nt-context-filters-h131 button.nt-filter-chip-active-h139,
.nt-context-filters-h132 button.nt-filter-chip-active-h139,
.nt-filter-sheet-h134 button.nt-filter-chip-active-h139 {
  background: linear-gradient(135deg, #ff4b35, #ff6a2a) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(255, 75, 53, .24) !important;
}

.nt-filter-sheet-h134 button.nt-filter-chip-active-h139 {
  background: #0f172a !important;
  border-color: #0f172a !important;
  color: #fff !important;
}


/* ======================================================
   H140 — Panneau filtres : état actif visible
   Correction : les boutons du panneau changent de couleur au clic.
====================================================== */
.nt-filter-sheet-h134 button.nt-panel-chip-active-h140,
.nt-filter-sheet-h134 [data-filter-context].nt-panel-chip-active-h140,
.nt-filter-sheet-h134 button[aria-pressed="true"].nt-panel-chip-active-h140 {
  background: #0f172a !important;
  border-color: #0f172a !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .18) !important;
}

.nt-filter-sheet-h134 button.nt-panel-chip-active-h140 * {
  color: #fff !important;
}

/* La ligne de filtres rapide reste orange quand active */
.nt-context-filters-h134 button.nt-panel-chip-active-h140,
.nt-context-filters-h129 button.nt-panel-chip-active-h140,
.nt-context-filters-h130 button.nt-panel-chip-active-h140,
.nt-context-filters-h131 button.nt-panel-chip-active-h140,
.nt-context-filters-h132 button.nt-panel-chip-active-h140 {
  background: linear-gradient(135deg, #ff4b35, #ff6a2a) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(255, 75, 53, .24) !important;
}


/* ======================================================
   H142 — Mode Autour : tri distance réel
   Quand l'utilisateur arrive depuis Accueil > Autour,
   la page recherche ne doit pas agir comme Offres.
====================================================== */
body.nt-around-mode-h142 .nt-context-filters-h134 button[data-filter-context="near"],
body.nt-around-mode-h142 .nt-context-filters-h134 button[data-filter-context="distance"],
body.nt-around-mode-h142 .nt-context-filters-h129 button[data-filter-context="near"],
body.nt-around-mode-h142 .nt-context-filters-h129 button[data-filter-context="distance"],
body.nt-around-mode-h142 .nt-context-filters-h130 button[data-filter-context="near"],
body.nt-around-mode-h142 .nt-context-filters-h130 button[data-filter-context="distance"],
body.nt-around-mode-h142 .nt-context-filters-h131 button[data-filter-context="near"],
body.nt-around-mode-h142 .nt-context-filters-h131 button[data-filter-context="distance"],
body.nt-around-mode-h142 .nt-context-filters-h132 button[data-filter-context="near"],
body.nt-around-mode-h142 .nt-context-filters-h132 button[data-filter-context="distance"] {
  background: linear-gradient(135deg, #ff4b35, #ff6a2a) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(255, 75, 53, .24) !important;
}


html body .search-home-categories .search-home-cat {
  color: #64748b !important;
}

html body .search-home-categories .search-home-cat:hover,
html body .search-home-categories .search-home-cat:focus,
html body .search-home-categories .search-home-cat.is-active {
  color: #2563eb !important;
}

html body .search-home-categories .search-home-cat-icon {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: currentColor !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

html body .search-home-categories .search-home-cat-icon svg {
  width: 21px !important;
  height: 21px !important;
  fill: currentColor !important;
  display: block !important;
}

html body .search-suggestion-item .search-suggestion-icon,
html body .search-suggestions-list .search-suggestion-icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  border-radius: 12px !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

html body .search-suggestion-item .search-suggestion-icon svg,
html body .search-suggestions-list .search-suggestion-icon svg {
  width: 21px !important;
  height: 21px !important;
  fill: currentColor !important;
  display: block !important;
}

html body .search-suggestion-item:hover .search-suggestion-icon,
html body .search-suggestion-item:focus .search-suggestion-icon {
  color: #2563eb !important;
  background: #eff6ff !important;
}


/* ======================================================
   RECHERCHE — Catégories + filtres publics compacts
   - deux rangées horizontales sous la barre de recherche
   - conserve le tri métier existant, sans menu de tri visuel
   - les contrôles restent accessibles pendant le scroll
====================================================== */
.search-panel-top .nt-search-discovery-controls {
  display: grid !important;
  gap: 8px !important;
  padding: 2px 0 2px !important;
}

.search-panel-top .nt-search-discovery-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  overflow-x: auto !important;
  overscroll-behavior-x: contain !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

.search-panel-top .nt-search-discovery-row::-webkit-scrollbar {
  display: none !important;
}

.search-panel-top .nt-search-category-row {
  padding: 2px 0 0 !important;
}

.search-panel-top .nt-search-public-filter-row {
  padding: 0 !important;
}

.search-panel-top .nt-search-category-chip,
.search-panel-top .nt-search-category-chip:link,
.search-panel-top .nt-search-category-chip:visited,
.search-panel-top .nt-search-category-chip:hover,
.search-panel-top .nt-search-category-chip:focus,
.search-panel-top .nt-search-category-chip:active {
  flex: 0 0 auto !important;
  min-width: auto !important;
  min-height: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #475569 !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.06) !important;
}

.search-panel-top .nt-search-category-chip .search-home-cat-icon {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.search-panel-top .nt-search-category-chip .search-home-cat-icon svg {
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
}

.search-panel-top .nt-search-category-chip.is-active,
.search-panel-top .nt-search-category-chip[aria-current="page"] {
  border-color: #2563eb !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  box-shadow: 0 7px 16px rgba(37, 99, 235, 0.14) !important;
}

.search-panel-top .nt-search-public-filter {
  flex: 0 0 auto !important;
  min-height: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  color: #475569 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

.search-panel-top .nt-search-public-filter.is-active,
.search-panel-top .nt-search-public-filter[aria-pressed="true"] {
  border-color: transparent !important;
  background: linear-gradient(135deg, #ff6b18, #ff3d59) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(255, 75, 53, 0.22) !important;
}

/* Les anciens contrôles cachés ne doivent pas créer une seconde rangée. */
.search-panel-top .search-home-categories,
.search-results-section > .search-results-head,
.search-results-section > .search-filters-results,
.nt-context-filters-h134 {
  display: none !important;
}

@media (max-width: 767px) {
  .search-panel-top {
    padding-bottom: 10px !important;
  }

  .search-panel-top .nt-search-discovery-controls {
    gap: 7px !important;
  }

  .search-panel-top .nt-search-category-chip,
  .search-panel-top .nt-search-category-chip:link,
  .search-panel-top .nt-search-category-chip:visited {
    min-height: 33px !important;
    height: 33px !important;
    padding: 0 11px !important;
    font-size: 11.5px !important;
  }

  .search-panel-top .nt-search-public-filter {
    min-height: 31px !important;
    height: 31px !important;
    padding: 0 11px !important;
    font-size: 11.5px !important;
  }
}


/* ======================================================
   RECHERCHE — Composant catégories commun avec l’accueil
   Le rail et le panneau reprennent volontairement les mêmes
   dimensions, pictogrammes et interactions que front-page.
====================================================== */
.search-panel-top .nt-search-category-row {
  gap: 10px !important;
  padding: 8px 0 2px !important;
  scroll-padding-left: 2px !important;
}

.search-panel-top .nt-search-category-row .home-cat,
.search-panel-top .nt-search-category-row .home-cat:link,
.search-panel-top .nt-search-category-row .home-cat:visited {
  flex: 0 0 auto !important;
  min-width: auto !important;
  width: auto !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  margin: 0 !important;
  padding: 0 14px 0 11px !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  background: rgba(255,255,255,.96) !important;
  color: #64748b !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.045) !important;
  overflow: hidden !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  font-family: inherit !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.search-panel-top .nt-search-category-row .home-cat:hover,
.search-panel-top .nt-search-category-row .home-cat:focus,
.search-panel-top .nt-search-category-row .home-cat.is-active,
.search-panel-top .nt-search-category-row .home-cat[aria-current="page"] {
  color: #2563eb !important;
  background: #eff6ff !important;
  border-color: rgba(37,99,235,.18) !important;
  box-shadow: 0 8px 18px rgba(37,99,235,.11) !important;
}

.search-panel-top .nt-search-category-row .home-icon,
.search-panel-top .nt-search-category-row .search-home-cat-icon {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  color: currentColor !important;
  box-shadow: none !important;
}

.search-panel-top .nt-search-category-row .home-icon svg,
.search-panel-top .nt-search-category-row .search-home-cat-icon svg {
  width: 21px !important;
  height: 21px !important;
  min-width: 21px !important;
  min-height: 21px !important;
  display: block !important;
  fill: currentColor !important;
  color: currentColor !important;
}

.search-panel-top .nt-search-category-row .home-cat > span:not(.home-icon):not(.search-home-cat-icon) {
  display: inline-block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #334155 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
}

.search-panel-top .nt-search-category-row .home-cat:hover > span:not(.home-icon):not(.search-home-cat-icon),
.search-panel-top .nt-search-category-row .home-cat:focus > span:not(.home-icon):not(.search-home-cat-icon),
.search-panel-top .nt-search-category-row .home-cat.is-active > span:not(.home-icon):not(.search-home-cat-icon) {
  color: #2563eb !important;
}

/* Panneau exactement aligné sur le panneau “Autres” de l’accueil. */
html body .nt-search-categories-panel {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2200 !important;
  display: none !important;
}

html body .nt-search-categories-panel.is-open {
  display: block !important;
}

html body .nt-search-categories-panel .nt-home-categories-panel-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(15,23,42,.46) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}

html body .nt-search-categories-panel .nt-home-categories-panel-sheet {
  position: absolute !important;
  left: 12px !important;
  right: 12px !important;
  bottom: 72px !important;
  max-height: min(72vh, 560px) !important;
  overflow: auto !important;
  padding: 16px !important;
  border-radius: 28px !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 24px 70px rgba(15,23,42,.28) !important;
}

html body .nt-search-categories-panel .nt-home-categories-panel-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 14px !important;
}

html body .nt-search-categories-panel .nt-home-categories-panel-head p {
  margin: 0 0 4px !important;
  color: #2563eb !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

html body .nt-search-categories-panel .nt-home-categories-panel-head h2 {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

html body .nt-search-categories-panel .nt-home-categories-panel-close {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}

html body .nt-search-categories-panel .nt-home-categories-panel-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

html body .nt-search-categories-panel .nt-home-category-panel-item {
  min-height: 54px !important;
  padding: 10px 12px !important;
  border-radius: 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(226,232,240,.95) !important;
  color: #334155 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
}

html body .nt-search-categories-panel .nt-home-category-panel-item:hover,
html body .nt-search-categories-panel .nt-home-category-panel-item:focus {
  background: #eff6ff !important;
  color: #2563eb !important;
  border-color: rgba(37,99,235,.18) !important;
}

html body .nt-search-categories-panel .nt-home-category-panel-icon {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: currentColor !important;
}

html body .nt-search-categories-panel .nt-home-category-panel-icon svg {
  width: 22px !important;
  height: 22px !important;
  fill: currentColor !important;
  display: block !important;
}

html.nt-search-categories-panel-open,
body.nt-search-categories-panel-open {
  overflow: hidden !important;
}

@media (max-width: 767px) {
  .search-panel-top .nt-search-category-row {
    padding-top: 8px !important;
  }

  .search-panel-top .nt-search-category-row .home-cat {
    height: 37px !important;
    min-height: 37px !important;
    padding: 0 13px 0 10px !important;
  }
}

/* ======================================================
   Novtinis — navigateur catégories (Recherche)
   Même composant d'exploration que l'accueil.
====================================================== */
html body .nt-search-categories-panel .nt-category-browser-view[hidden] { display:none !important; }
html body .nt-search-categories-panel .nt-category-browser-section { margin:0 0 18px !important; }
html body .nt-search-categories-panel .nt-category-browser-section.is-all { padding-top:16px !important; border-top:1px solid #e5eaf2 !important; }
html body .nt-search-categories-panel .nt-category-browser-section h3 { margin:0 0 8px !important; color:#34445f !important; font-size:14px !important; font-weight:950 !important; }
html body .nt-search-categories-panel .nt-category-browser-list { display:grid !important; gap:0 !important; }
html body .nt-search-categories-panel .nt-category-browser-row,
html body .nt-search-categories-panel .nt-category-browser-all-link { width:100% !important; min-height:56px !important; padding:11px 4px !important; margin:0 !important; display:grid !important; grid-template-columns:32px minmax(0,1fr)18px !important; align-items:center !important; gap:10px !important; border:0 !important; border-bottom:1px solid #edf1f6 !important; border-radius:0 !important; background:transparent !important; color:#27364f !important; text-decoration:none !important; text-align:left !important; font:inherit !important; font-size:15px !important; line-height:1.2 !important; font-weight:850 !important; box-shadow:none !important; cursor:pointer !important; }
html body .nt-search-categories-panel .nt-category-browser-row:last-child { border-bottom:0 !important; }
html body .nt-search-categories-panel .nt-category-browser-row:hover,
html body .nt-search-categories-panel .nt-category-browser-row:focus,
html body .nt-search-categories-panel .nt-category-browser-all-link:hover,
html body .nt-search-categories-panel .nt-category-browser-all-link:focus { color:#2563eb !important; background:#f8fbff !important; outline:none !important; }
html body .nt-search-categories-panel .nt-category-browser-icon { width:28px !important; height:28px !important; min-width:28px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; color:currentColor !important; }
html body .nt-search-categories-panel .nt-category-browser-icon svg { width:22px !important; height:22px !important; display:block !important; fill:currentColor !important; }
html body .nt-search-categories-panel .nt-category-browser-arrow { color:#a4afc0 !important; font-size:28px !important; line-height:1 !important; font-weight:400 !important; justify-self:end !important; }
html body .nt-search-categories-panel .nt-category-browser-detail-head { display:grid !important; grid-template-columns:42px minmax(0,1fr)42px !important; align-items:start !important; }
html body .nt-search-categories-panel .nt-category-browser-detail-head > div { min-width:0 !important; }
html body .nt-search-categories-panel .nt-category-browser-back { width:42px !important; height:42px !important; padding:0 !important; border:1px solid #e2e8f0 !important; border-radius:999px !important; background:#f8fafc !important; color:#0f172a !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; font-size:32px !important; line-height:1 !important; cursor:pointer !important; }
html body .nt-search-categories-panel .nt-category-browser-all-link { margin:0 0 12px !important; padding:11px 8px !important; border:1px solid #dbe7f5 !important; border-radius:16px !important; background:#f8fbff !important; color:#1d4ed8 !important; }
@media (max-width:767px) {
  html body .nt-search-categories-panel .nt-home-categories-panel-sheet { left:10px !important; right:10px !important; bottom:74px !important; max-height:min(75vh, 620px) !important; padding:17px !important; }
  html body .nt-search-categories-panel .nt-category-browser-row,
  html body .nt-search-categories-panel .nt-category-browser-all-link { min-height:54px !important; font-size:14px !important; }
}

/* ======================================================================
   PUBLICITÉ LOCALE — 3 formats automatiques
   1. Accueil   : rendu par home-local-ad-h76 (photo large).
   2. Recherche : grand encart dans le flux / Autour / Offres.
   3. Catégorie : mini encart contextuel en tête de famille.
   ====================================================================== */
.search-results-grid > .nt-search-sponsored-card{
  width:100% !important;
  margin:0 !important;
}

.nt-search-sponsored-card{
  position:relative !important;
  overflow:hidden !important;
  color:#10203b !important;
  text-decoration:none !important;
  isolation:isolate;
}

.nt-search-sponsored-card::before{
  z-index:1 !important;
}

.nt-search-sponsored-card__media,
.nt-search-sponsored-card__content{
  position:relative;
  z-index:2;
}

/* FORMAT 2 — Encadré dans les résultats : photo large, message lisible. */
.nt-search-sponsored-card--search{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  min-height:0 !important;
  padding:11px !important;
  border:1px solid rgba(37,99,235,.22) !important;
  border-radius:21px !important;
  background:linear-gradient(145deg,#f4f8ff 0%,#ffffff 72%) !important;
  box-shadow:0 14px 30px rgba(15,23,42,.08) !important;
}

.nt-search-sponsored-card--search .nt-search-sponsored-card__media{
  order:0;
  width:100%;
  height:166px;
  min-height:166px;
  border-radius:15px;
  background:linear-gradient(135deg,#dbeafe,#bfdbfe);
}

.nt-search-sponsored-card--search .nt-search-sponsored-card__content{
  display:block;
  min-width:0;
  padding:12px 4px 3px;
}

.nt-search-sponsored-card--search .nt-search-sponsored-card__kicker{
  min-height:22px;
  margin:0 0 8px;
}

.nt-search-sponsored-card--search .nt-search-sponsored-card__title{
  font-size:20px;
  line-height:1.12;
  letter-spacing:-.03em;
}

.nt-search-sponsored-card--search .nt-search-sponsored-card__copy{
  margin-top:7px;
  color:#42536c;
  font-size:13.5px;
  font-weight:700;
  line-height:1.4;
  -webkit-line-clamp:2;
}

.nt-search-sponsored-card--search .nt-search-sponsored-card__meta{
  margin-top:9px;
  font-size:12.5px;
}

.nt-search-sponsored-card--search .nt-search-sponsored-card__cta{
  margin-top:12px;
  padding-top:0;
  font-size:13px;
}

/* FORMAT 3 — Catégorie : mini encart, image verticale à droite. */
.nt-search-sponsored-card--category{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 96px !important;
  gap:12px !important;
  align-items:stretch !important;
  min-height:146px !important;
  padding:12px !important;
  border:1px solid rgba(22,163,74,.22) !important;
  border-radius:21px !important;
  background:linear-gradient(135deg,#f2fcf6 0%,#ffffff 74%) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.075) !important;
}

.nt-search-sponsored-card--category::before{
  background:linear-gradient(90deg,#16a34a,#34d399) !important;
}

.nt-search-sponsored-card--category .nt-search-sponsored-card__media{
  order:2;
  width:96px;
  min-height:122px;
  border-radius:16px;
  background:linear-gradient(135deg,#dcfce7,#bbf7d0);
}

.nt-search-sponsored-card--category .nt-search-sponsored-card__content{
  order:1;
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
}

.nt-search-sponsored-card--category .nt-search-sponsored-card__kicker{
  min-height:21px;
  margin-bottom:7px;
}

.nt-search-sponsored-card--category .nt-search-sponsored-card__kicker span{
  color:#15803d;
  border-color:rgba(22,163,74,.16);
}

.nt-search-sponsored-card--category .nt-search-sponsored-card__title{
  font-size:18px;
  line-height:1.12;
}

.nt-search-sponsored-card--category .nt-search-sponsored-card__copy{
  margin-top:6px;
  font-size:12.5px;
  -webkit-line-clamp:2;
}

.nt-search-sponsored-card--category .nt-search-sponsored-card__meta{
  margin-top:8px;
  font-size:12px;
}

.nt-search-sponsored-card--category .nt-search-sponsored-card__cta{
  margin-top:auto;
  padding-top:10px;
  color:#167349;
  font-size:12.5px;
}

@media (max-width:430px){
  .nt-search-sponsored-card--search{
    padding:10px !important;
    border-radius:19px !important;
  }

  .nt-search-sponsored-card--search .nt-search-sponsored-card__media{
    height:152px;
    min-height:152px;
    border-radius:14px;
  }

  .nt-search-sponsored-card--search .nt-search-sponsored-card__content{
    padding:11px 3px 3px;
  }

  .nt-search-sponsored-card--search .nt-search-sponsored-card__title{
    font-size:19px;
  }

  .nt-search-sponsored-card--category{
    grid-template-columns:minmax(0,1fr) 90px !important;
    gap:10px !important;
    min-height:138px !important;
    padding:10px !important;
    border-radius:19px !important;
  }

  .nt-search-sponsored-card--category .nt-search-sponsored-card__media{
    width:90px;
    min-height:116px;
    border-radius:14px;
  }

  .nt-search-sponsored-card--category .nt-search-sponsored-card__title{
    font-size:17px;
  }
}



/* Recherche : désactive les anciens badges / galeries issus des correctifs historiques. */
.search-card.search-card--compact .search-featured-corner-h52d,
.search-card.search-card--compact .search-offer-corner-h60,
.search-card.search-card--compact .search-offer-corner-h201 { display:none !important; }

/* =====================================================
   RECHERCHE — Cartes retravaillées
   - photo pleine largeur et plus haute
   - badge promo uniquement sur l'image, à gauche, sans retour à la ligne
   - titre sur l'image avec léger dégradé bas pour la lisibilité
   - ligne méta plus espacée, note mieux mise en valeur
   - Fidélité+ et statut ouverts/fermés sous l'image
   - léger padding latéral autour de la liste
===================================================== */
body.page-template-page-rechercher .search-app .search-results-grid {
  padding: 0 10px 14px !important;
  gap: 14px !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact {
  border-radius: 18px !important;
  overflow: hidden !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-photo-strip {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  grid-template-columns: 1fr !important;
  grid-auto-columns: 100% !important;
  overflow: hidden !important;
  scroll-snap-type: none !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-photo {
  position: relative !important;
  isolation: isolate;
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  height: clamp(198px, 55.4vw, 220px) !important;
  margin: 0 !important;
  border-radius: 18px 18px 0 0 !important;
  overflow: hidden !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-photo::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 42%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to top, rgba(8, 18, 38, 0.78) 0%, rgba(8, 18, 38, 0.46) 36%, rgba(8, 18, 38, 0) 100%);
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-benefit-stack {
  position: absolute !important;
  z-index: 7 !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 6px !important;
  max-width: calc(100% - 24px) !important;
  pointer-events: none !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-benefit-stack .nt-home-photo-discount {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
  min-height: 30px !important;
  padding: 5px 9px 4px !important;
  border-radius: 11px !important;
  align-items: flex-start !important;
  white-space: nowrap !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-benefit-stack .nt-home-photo-discount,
body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-benefit-stack .nt-home-photo-discount * {
  white-space: nowrap !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-benefit-stack .nt-home-photo-discount strong {
  font-size: 15px !important;
  letter-spacing: -0.03em !important;
  line-height: 1 !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-benefit-stack .nt-home-photo-discount small {
  font-size: 9px !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-title-on-image {
  position: absolute !important;
  z-index: 6 !important;
  left: 13px !important;
  right: 13px !important;
  bottom: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: clamp(20px, 5.65vw, 23px) !important;
  font-weight: 950 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
  text-wrap: balance;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  -webkit-text-stroke: 0.35px rgba(4, 12, 27, 0.62) !important;
  paint-order: stroke fill !important;
  text-shadow:
    0 1px 1px rgba(4, 12, 27, 0.86),
    0 2px 10px rgba(4, 12, 27, 0.34),
    1px 0 1px rgba(4, 12, 27, 0.58),
    -1px 0 1px rgba(4, 12, 27, 0.58) !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-info {
  padding: 12px 14px 15px !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-summary-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  color: #24344e !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.28 !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-summary-row > [aria-hidden="true"] {
  display: none !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-distance {
  color: #0f172a !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-summary-rating {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  color: #111827 !important;
  font-weight: 950 !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-summary-star {
  color: #f59e0b !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-summary-rating strong {
  color: #111827 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-summary-pill {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 4px 9px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-summary-pill--loyalty {
  background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
  color: #ffffff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18) !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-summary-pill--open {
  background: rgba(22, 163, 74, 0.12) !important;
  color: #15803d !important;
  box-shadow: inset 0 0 0 1px rgba(34, 197, 94, 0.22) !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-summary-pill--closed {
  background: rgba(148, 163, 184, 0.16) !important;
  color: #475569 !important;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.22) !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-summary-context {
  color: #475569 !important;
  font-size: 13.5px !important;
  font-weight: 850 !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-description {
  margin-top: 8px !important;
  color: #44526a !important;
  font-size: 13px !important;
  line-height: 1.34 !important;
}

@media (max-width: 420px) {
  body.page-template-page-rechercher .search-app .search-results-grid {
    padding-left: 8px !important;
    padding-right: 8px !important;
    gap: 12px !important;
  }

  body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-photo {
    height: clamp(194px, 56vw, 212px) !important;
  }

  body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-benefit-stack {
    top: 10px !important;
    left: 10px !important;
    gap: 5px !important;
    max-width: calc(100% - 20px) !important;
  }

  body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-title-on-image {
    left: 11px !important;
    right: 11px !important;
    bottom: 11px !important;
    font-size: 20px !important;
  }

  body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-info {
    padding: 11px 13px 14px !important;
  }

  body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-summary-row {
    gap: 9px !important;
  }
}



/* =====================================================
   RECHERCHE — Badge promo compact et stable
   - une seule ligne : « -15% »
   - largeur selon le contenu, jamais comprimée
   - centrage vertical net sur toutes les cartes
===================================================== */
body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-benefit-stack .nt-home-photo-discount {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  width: max-content !important;
  min-width: 58px !important;
  max-width: none !important;
  min-height: 34px !important;
  box-sizing: border-box !important;
  padding: 0 10px !important;
  gap: 0 !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  background: #ff4f37 !important;
  border: 1px solid rgba(255, 255, 255, 0.82) !important;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.22) !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-card-benefit-stack .nt-home-photo-discount strong {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

/* =====================================================
   RECHERCHE — Badge note premium
   Étoile et note restent parfaitement centrées verticalement.
===================================================== */
body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-summary-rating {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  min-height: 30px !important;
  padding: 0 10px 0 6px !important;
  gap: 6px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(217, 144, 0, 0.28) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #fff9e8 0%, #fff1bf 100%) !important;
  color: #7c4a03 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 2px 8px rgba(146, 89, 0, .10) !important;
  font-variant-numeric: tabular-nums !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-summary-star {
  display: inline-grid !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #ffbd2f 0%, #ee8b00 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    0 2px 5px rgba(191, 112, 0, .26) !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

body.page-template-page-rechercher .search-app .search-results-grid .search-card.search-card--compact .search-summary-rating strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #7c4a03 !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}
