/* ======================================================
   H155 — Restauration accueil + assistant masqué
   - Autour de vous : conserve le rendu H126, 2 cartes + un bout
   - CTA : pas de ligne "Inscription gratuite", hauteur réduite
   - Assistant : masqué par défaut, visible uniquement via #assistant
====================================================== */

/* Renfort Autour de vous mobile : 2 cartes + bout de la 3e, gap réduit */
@media (max-width: 767px) {
  body.home .home-grid-near,
  body.front-page .home-grid-near {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 8px !important;
    column-gap: 8px !important;
    padding-right: 22px !important;
    scroll-snap-type: x proximity !important;
  }

  body.home .home-grid-near .home-card,
  body.front-page .home-grid-near .home-card {
    flex: 0 0 calc(44.5% + 7px) !important;
    min-width: calc(44.5% + 7px) !important;
    max-width: calc(44.5% + 7px) !important;
    scroll-snap-align: start !important;
  }
}

/* CTA commerçant compact, sans trait oblique */
body.home .home-cta,
body.front-page .home-cta {
  margin-top: 20px !important;
  padding-bottom: 22px !important;
}

body.home .home-cta-box,
body.front-page .home-cta-box {
  min-height: 0 !important;
  padding: 26px 18px 28px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

body.home .home-cta-box::before,
body.front-page .home-cta-box::before {
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,0.13), transparent 20%),
    radial-gradient(circle at 82% 78%, rgba(255,255,255,0.11), transparent 18%),
    radial-gradient(circle at 50% 0%, rgba(255,255,255,0.08), transparent 28%) !important;
  opacity: .55 !important;
  transform: none !important;
}

body.home .home-cta-box h2,
body.front-page .home-cta-box h2 {
  margin-bottom: 6px !important;
}

body.home .home-cta-box p,
body.front-page .home-cta-box p {
  margin: 0 auto 16px !important;
  max-width: 330px !important;
}

body.home .home-cta-btn,
body.front-page .home-cta-btn {
  margin-top: 8px !important;
  min-height: 42px !important;
  padding: 0 24px !important;
}

/* Assistant masqué par défaut */
.home-assistant-h155 {
  display: none;
  padding: 0 14px;
  margin: 22px 0 8px;
  scroll-margin-top: 80px;
}

/* Il s'ouvre uniquement quand on clique sur l'onglet Assistant (#assistant) */
.home-assistant-h155:target {
  display: block;
}

.home-assistant-card-h155 {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 18px 16px;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.22), transparent 24%),
    linear-gradient(135deg, #0f172a 0%, #1d4ed8 54%, #38bdf8 100%);
  color: #fff;
  box-shadow: 0 18px 36px rgba(15,23,42,.18);
}

.home-assistant-card-h155::after {
  content: "";
  position: absolute;
  right: -34px;
  top: -44px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
  pointer-events: none;
}

.home-assistant-kicker-h155 {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.home-assistant-card-h155 h2 {
  position: relative;
  margin: 10px 0 5px;
  color: #fff;
  font-size: 20px;
  line-height: 1.14;
  font-weight: 950;
}

.home-assistant-card-h155 p {
  position: relative;
  margin: 0;
  color: rgba(255,255,255,.88);
  font-size: 13.5px;
  line-height: 1.35;
  font-weight: 750;
}

.home-assistant-actions-h155 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.home-assistant-actions-h155 a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: #0f172a;
  text-decoration: none;
  font-size: 12.5px;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(15,23,42,.12);
}

@media (max-width: 390px) {
  .home-assistant-card-h155 {
    padding: 16px 14px;
  }

  .home-assistant-card-h155 h2 {
    font-size: 18px;
  }
}


/* ======================================================
   H156 — Accueil : Autour + CTA ajustés
   - 2 cartes visibles + bout de la 3e à droite
   - espace plus grand avant le CTA
   - CTA plus compact verticalement
   - titre CTA plus grand
====================================================== */

@media (max-width: 767px) {
  /* Le conteneur Autour doit démarrer à gauche, sans décalage négatif */
  body.home .home-grid-near,
  body.front-page .home-grid-near,
  body.home .home-near-grid,
  body.front-page .home-near-grid,
  body.home .nearby-grid,
  body.front-page .nearby-grid,
  body.home .home-around-list,
  body.front-page .home-around-list {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 8px !important;
    column-gap: 8px !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-right: 42px !important;
    scroll-padding-left: 0 !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    direction: ltr !important;
  }

  body.home .home-grid-near > *,
  body.front-page .home-grid-near > *,
  body.home .home-near-grid > *,
  body.front-page .home-near-grid > *,
  body.home .nearby-grid > *,
  body.front-page .nearby-grid > *,
  body.home .home-around-list > *,
  body.front-page .home-around-list > * {
    direction: ltr !important;
    flex: 0 0 calc((100% - 8px) / 2.18) !important;
    min-width: calc((100% - 8px) / 2.18) !important;
    max-width: calc((100% - 8px) / 2.18) !important;
    scroll-snap-align: start !important;
  }

  /* Annule les anciens décalages qui faisaient apparaître le bout à gauche */
  body.home .home-grid-near > *:first-child,
  body.front-page .home-grid-near > *:first-child,
  body.home .home-near-grid > *:first-child,
  body.front-page .home-near-grid > *:first-child,
  body.home .nearby-grid > *:first-child,
  body.front-page .nearby-grid > *:first-child,
  body.home .home-around-list > *:first-child,
  body.front-page .home-around-list > *:first-child {
    margin-left: 0 !important;
  }

  /* Espace plus grand entre Autour de vous et le bloc suivant */
  body.home .home-near,
  body.front-page .home-near,
  body.home .home-nearby,
  body.front-page .home-nearby,
  body.home .home-around,
  body.front-page .home-around,
  body.home .section-around,
  body.front-page .section-around {
    margin-bottom: 24px !important;
    padding-bottom: 0 !important;
  }

  body.home .home-grid-near,
  body.front-page .home-grid-near,
  body.home .home-near-grid,
  body.front-page .home-near-grid {
    margin-bottom: 18px !important;
  }
}

/* CTA commerçant : titre plus fort, hauteur réduite */
body.home .home-cta,
body.front-page .home-cta {
  margin-top: 26px !important;
}

body.home .home-cta-box,
body.front-page .home-cta-box {
  padding-top: 16px !important;
  padding-bottom: 18px !important;
  min-height: 0 !important;
}

body.home .home-cta-box h2,
body.front-page .home-cta-box h2 {
  font-size: 24px !important;
  line-height: 1.12 !important;
  font-weight: 950 !important;
  margin-top: 0 !important;
  margin-bottom: 7px !important;
}

body.home .home-cta-box p,
body.front-page .home-cta-box p {
  margin-bottom: 14px !important;
}

body.home .home-cta-btn,
body.front-page .home-cta-btn {
  min-height: 40px !important;
  margin-top: 4px !important;
}

/* Assistant reste masqué tant qu'on n'a pas cliqué sur l'onglet */
.home-assistant-h155 {
  display: none !important;
}

.home-assistant-h155:target {
  display: block !important;
}


/* ======================================================
   H157 — Correction ferme Autour de vous
   Objectif exact :
   - pas de morceau de carte à gauche
   - 2 cartes visibles
   - un bout de la 3e à droite
====================================================== */

@media (max-width: 767px) {
  /* Section Autour : largeur propre, pas de décalage hérité */
  body.home .home-near,
  body.front-page .home-near,
  body.home .home-nearby,
  body.front-page .home-nearby,
  body.home .home-around,
  body.front-page .home-around,
  body.home .section-around,
  body.front-page .section-around {
    overflow: hidden !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 30px !important;
  }

  /* Le carousel démarre à gauche et ne doit jamais être pré-scrollé visuellement */
  body.home .home-grid-near,
  body.front-page .home-grid-near,
  body.home .home-near-grid,
  body.front-page .home-near-grid,
  body.home .nearby-grid,
  body.front-page .nearby-grid,
  body.home .home-around-list,
  body.front-page .home-around-list,
  body.home .home-around-track,
  body.front-page .home-around-track,
  body.home .home-near-track,
  body.front-page .home-near-track {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 8px !important;
    column-gap: 8px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 44px !important;
    transform: none !important;
    direction: ltr !important;
    scroll-padding-left: 0 !important;
    scroll-snap-type: x proximity !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.home .home-grid-near::-webkit-scrollbar,
  body.front-page .home-grid-near::-webkit-scrollbar,
  body.home .home-near-grid::-webkit-scrollbar,
  body.front-page .home-near-grid::-webkit-scrollbar,
  body.home .nearby-grid::-webkit-scrollbar,
  body.front-page .nearby-grid::-webkit-scrollbar,
  body.home .home-around-list::-webkit-scrollbar,
  body.front-page .home-around-list::-webkit-scrollbar,
  body.home .home-around-track::-webkit-scrollbar,
  body.front-page .home-around-track::-webkit-scrollbar,
  body.home .home-near-track::-webkit-scrollbar,
  body.front-page .home-near-track::-webkit-scrollbar {
    display: none !important;
  }

  /* Chaque carte : environ 2.18 cartes visibles = 2 cartes + bout de la 3e */
  body.home .home-grid-near > *,
  body.front-page .home-grid-near > *,
  body.home .home-near-grid > *,
  body.front-page .home-near-grid > *,
  body.home .nearby-grid > *,
  body.front-page .nearby-grid > *,
  body.home .home-around-list > *,
  body.front-page .home-around-list > *,
  body.home .home-around-track > *,
  body.front-page .home-around-track > *,
  body.home .home-near-track > *,
  body.front-page .home-near-track > * {
    flex: 0 0 calc((100% - 8px) / 2.18) !important;
    width: calc((100% - 8px) / 2.18) !important;
    min-width: calc((100% - 8px) / 2.18) !important;
    max-width: calc((100% - 8px) / 2.18) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    direction: ltr !important;
    scroll-snap-align: start !important;
  }

  /* Très important : aucune marge négative sur la première carte */
  body.home .home-grid-near > *:first-child,
  body.front-page .home-grid-near > *:first-child,
  body.home .home-near-grid > *:first-child,
  body.front-page .home-near-grid > *:first-child,
  body.home .nearby-grid > *:first-child,
  body.front-page .nearby-grid > *:first-child,
  body.home .home-around-list > *:first-child,
  body.front-page .home-around-list > *:first-child,
  body.home .home-around-track > *:first-child,
  body.front-page .home-around-track > *:first-child,
  body.home .home-near-track > *:first-child,
  body.front-page .home-near-track > *:first-child {
    margin-left: 0 !important;
    transform: none !important;
  }

  /* Si une ancienne règle avait inversé l'ordre, on force l'ordre naturel */
  body.home .home-grid-near > *:nth-child(1),
  body.front-page .home-grid-near > *:nth-child(1),
  body.home .home-near-grid > *:nth-child(1),
  body.front-page .home-near-grid > *:nth-child(1),
  body.home .nearby-grid > *:nth-child(1),
  body.front-page .nearby-grid > *:nth-child(1),
  body.home .home-around-list > *:nth-child(1),
  body.front-page .home-around-list > *:nth-child(1) {
    order: 1 !important;
  }

  body.home .home-grid-near > *:nth-child(2),
  body.front-page .home-grid-near > *:nth-child(2),
  body.home .home-near-grid > *:nth-child(2),
  body.front-page .home-near-grid > *:nth-child(2),
  body.home .nearby-grid > *:nth-child(2),
  body.front-page .nearby-grid > *:nth-child(2),
  body.home .home-around-list > *:nth-child(2),
  body.front-page .home-around-list > *:nth-child(2) {
    order: 2 !important;
  }

  body.home .home-grid-near > *:nth-child(3),
  body.front-page .home-grid-near > *:nth-child(3),
  body.home .home-near-grid > *:nth-child(3),
  body.front-page .home-near-grid > *:nth-child(3),
  body.home .nearby-grid > *:nth-child(3),
  body.front-page .nearby-grid > *:nth-child(3),
  body.home .home-around-list > *:nth-child(3),
  body.front-page .home-around-list > *:nth-child(3) {
    order: 3 !important;
  }
}

/* CTA : un peu plus d'air au-dessus, sans reprendre trop de hauteur */
body.home .home-cta,
body.front-page .home-cta {
  margin-top: 34px !important;
}

body.home .home-cta-box,
body.front-page .home-cta-box {
  padding-top: 14px !important;
  padding-bottom: 16px !important;
}

body.home .home-cta-box h2,
body.front-page .home-cta-box h2 {
  font-size: 26px !important;
  line-height: 1.08 !important;
}


/* ======================================================
   H158 — Autour de vous : cartes +10px
   On garde 2 cartes + un bout à droite, mais chaque carte
   gagne environ 10px en largeur.
====================================================== */

@media (max-width: 767px) {
  body.home .home-grid-near > *,
  body.front-page .home-grid-near > *,
  body.home .home-near-grid > *,
  body.front-page .home-near-grid > *,
  body.home .nearby-grid > *,
  body.front-page .nearby-grid > *,
  body.home .home-around-list > *,
  body.front-page .home-around-list > *,
  body.home .home-around-track > *,
  body.front-page .home-around-track > *,
  body.home .home-near-track > *,
  body.front-page .home-near-track > * {
    flex-basis: calc(((100% - 8px) / 2.18) + 10px) !important;
    width: calc(((100% - 8px) / 2.18) + 10px) !important;
    min-width: calc(((100% - 8px) / 2.18) + 10px) !important;
    max-width: calc(((100% - 8px) / 2.18) + 10px) !important;
  }
}


/* ======================================================
   H159 — Autour de vous : force width 180px
   Correction directe de la règle existante width:170px.
====================================================== */

@media (max-width: 767px) {
  body.home .home-grid-near > *,
  body.front-page .home-grid-near > *,
  body.home .home-near-grid > *,
  body.front-page .home-near-grid > *,
  body.home .nearby-grid > *,
  body.front-page .nearby-grid > *,
  body.home .home-around-list > *,
  body.front-page .home-around-list > *,
  body.home .home-around-track > *,
  body.front-page .home-around-track > *,
  body.home .home-near-track > *,
  body.front-page .home-near-track > *,
  body.home .home-grid-near .home-card,
  body.front-page .home-grid-near .home-card,
  body.home .home-near-grid .home-card,
  body.front-page .home-near-grid .home-card,
  body.home .nearby-grid .home-card,
  body.front-page .nearby-grid .home-card {
    flex: 0 0 180px !important;
    flex-basis: 180px !important;
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
  }

  /* Le conteneur reste horizontal avec le bout de la carte suivante à droite */
  body.home .home-grid-near,
  body.front-page .home-grid-near,
  body.home .home-near-grid,
  body.front-page .home-near-grid,
  body.home .nearby-grid,
  body.front-page .nearby-grid,
  body.home .home-around-list,
  body.front-page .home-around-list,
  body.home .home-around-track,
  body.front-page .home-around-track,
  body.home .home-near-track,
  body.front-page .home-near-track {
    gap: 8px !important;
    column-gap: 8px !important;
    padding-left: 0 !important;
    padding-right: 42px !important;
    overflow-x: auto !important;
    justify-content: flex-start !important;
  }
}


html body .home-card:not(.verified-card) .verified-badge {
  display: none !important;
}

html body .home-card.verified-card .verified-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html body .home-card.verified-card .verified-badge::before {
  content: "✓" !important;
}


/* ======================================================
   ACCUEIL — AUTOUR DE VOUS HTML PROPRE
   Cartes proximité : photo claire + texte sous photo.
   Ne touche pas Mis en avant ni Offres du moment.
====================================================== */
html body .home-section-near #near-container {
  padding-left: 18px !important;
  padding-right: 18px !important;
  scroll-padding-left: 18px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}

html body .home-section-near #near-container .nt-home-near-card-clean {
  flex: 0 0 calc(50% - 7px) !important;
  min-width: calc(50% - 7px) !important;
  max-width: calc(50% - 7px) !important;
  height: auto !important;
  min-height: 0 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 12px 26px rgba(15,23,42,.08) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
}

html body .home-section-near #near-container .nt-home-near-card-photo {
  position: relative !important;
  height: 136px !important;
  min-height: 136px !important;
  max-height: 136px !important;
  width: 100% !important;
  overflow: hidden !important;
  border-radius: 18px 18px 0 0 !important;
  background: #e5e7eb !important;
}

html body .home-section-near #near-container .nt-home-near-card-photo img {
  width: 100% !important;
  height: 136px !important;
  min-height: 136px !important;
  max-height: 136px !important;
  object-fit: cover !important;
  display: block !important;
  filter: none !important;
  border-radius: 18px 18px 0 0 !important;
}

html body .home-section-near #near-container .nt-home-near-offer-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 3 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.14) !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

html body .home-section-near #near-container .nt-home-near-card-body {
  position: static !important;
  min-height: 62px !important;
  padding: 10px 11px 12px !important;
  background: #fff !important;
  color: #0f172a !important;
  display: grid !important;
  gap: 5px !important;
}

html body .home-section-near #near-container .nt-home-near-card-body h3 {
  margin: 0 !important;
  color: #0f172a !important;
  text-shadow: none !important;
  font-size: 15.5px !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body .home-section-near #near-container .nt-home-near-card-meta {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

html body .home-section-near #near-container .nt-home-near-distance,
html body .home-section-near #near-container .nt-home-near-rating,
html body .home-section-near #near-container .nt-home-near-category {
  color: #475569 !important;
  text-shadow: none !important;
  font-size: 11.5px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

html body .home-section-near #near-container .nt-home-near-rating {
  color: #f59e0b !important;
}

html body .home-section-near #near-container .nt-home-near-category {
  min-width: 0 !important;
  max-width: 68px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

@media (max-width: 420px) {
  html body .home-section-near #near-container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  html body .home-section-near #near-container .nt-home-near-card-clean {
    flex-basis: calc(50% - 7px) !important;
    min-width: calc(50% - 7px) !important;
    max-width: calc(50% - 7px) !important;
  }

  html body .home-section-near #near-container .nt-home-near-card-photo,
  html body .home-section-near #near-container .nt-home-near-card-photo img {
    height: 132px !important;
    min-height: 132px !important;
    max-height: 132px !important;
  }
}


/* ======================================================
   ACCUEIL — CATÉGORIES MONOCHROMES + PANNEAU
====================================================== */
html body .home-app .home-categories {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 10px 18px 8px !important;
  scroll-padding-left: 18px !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch !important;
}

html body .home-app .home-categories::-webkit-scrollbar {
  display: none !important;
}

html body .home-app .home-categories .home-cat {
  flex: 0 0 auto !important;
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  padding: 0 14px 0 11px !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;
  border: 1px solid rgba(226,232,240,.95) !important;
  box-shadow: 0 8px 18px rgba(15,23,42,.045) !important;
  text-decoration: none !important;
  color: #64748b !important;
  overflow: hidden !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  font-family: inherit !important;
}

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

html body .home-app .home-categories .home-icon {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  color: currentColor !important;
}

html body .home-app .home-categories .home-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;
}

html body .home-app .home-categories .home-cat span:not(.home-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;
  white-space: nowrap !important;
  letter-spacing: -.01em !important;
}

html body .home-app .home-categories .home-cat:hover span:not(.home-icon),
html body .home-app .home-categories .home-cat:focus span:not(.home-icon) {
  color: #2563eb !important;
}

html body .nt-home-categories-panel {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2200 !important;
  display: none !important;
}

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

html body .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-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-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-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-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-home-categories-panel-close {
  width: 42px !important;
  height: 42px !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-home-categories-panel-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

html body .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-home-category-panel-item:hover,
html body .nt-home-category-panel-item:focus {
  background: #eff6ff !important;
  color: #2563eb !important;
  border-color: rgba(37,99,235,.18) !important;
}

html body .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-home-category-panel-icon svg {
  width: 22px !important;
  height: 22px !important;
  fill: currentColor !important;
  display: block !important;
}

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


/* ======================================================
   ACCUEIL — SUGGESTIONS SVG MONOCHROMES SYNCHRONISÉES
====================================================== */
html body .home-suggestion-item .home-suggestion-icon,
html body .search-tag.home-suggestion-item .home-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 .home-suggestion-item .home-suggestion-icon svg,
html body .search-tag.home-suggestion-item .home-suggestion-icon svg {
  width: 21px !important;
  height: 21px !important;
  fill: currentColor !important;
  display: block !important;
}

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

/* ======================================================
   Novtinis — navigateur catégories (Accueil)
   Une seule entrée « Autres » dans le rail. Le panneau
   explore famille principale puis sous-catégories.
====================================================== */
html body .nt-home-categories-panel .nt-category-browser-view[hidden] { display:none !important; }
html body .nt-home-categories-panel .nt-category-browser-section { margin:0 0 18px !important; }
html body .nt-home-categories-panel .nt-category-browser-section.is-all { padding-top:16px !important; border-top:1px solid #e5eaf2 !important; }
html body .nt-home-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-home-categories-panel .nt-category-browser-list { display:grid !important; gap:0 !important; }
html body .nt-home-categories-panel .nt-category-browser-row,
html body .nt-home-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-home-categories-panel .nt-category-browser-row:last-child { border-bottom:0 !important; }
html body .nt-home-categories-panel .nt-category-browser-row:hover,
html body .nt-home-categories-panel .nt-category-browser-row:focus,
html body .nt-home-categories-panel .nt-category-browser-all-link:hover,
html body .nt-home-categories-panel .nt-category-browser-all-link:focus { color:#2563eb !important; background:#f8fbff !important; outline:none !important; }
html body .nt-home-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-home-categories-panel .nt-category-browser-icon svg { width:22px !important; height:22px !important; display:block !important; fill:currentColor !important; }
html body .nt-home-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-home-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-home-categories-panel .nt-category-browser-detail-head > div { min-width:0 !important; }
html body .nt-home-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-home-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-home-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-home-categories-panel .nt-category-browser-row,
  html body .nt-home-categories-panel .nt-category-browser-all-link { min-height:54px !important; font-size:14px !important; }
}


/* =====================================================
   ACCUEIL — Découverte structurée
   Les cartes Mise en avant, Offres et Nouveautés gardent
   l'image libre : titre, note et distance passent dessous.
===================================================== */
body.home .nt-home-discovery-section,
body.front-page .nt-home-discovery-section {
  padding-top: 28px !important;
}

body.home .nt-home-section-head-with-link,
body.front-page .nt-home-section-head-with-link {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.nt-home-section-head-with-link > div {
  min-width: 0;
}

.nt-home-section-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid rgba(37, 99, 235, .16);
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: #2563eb;
  font-size: 11.5px;
  font-weight: 900;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgba(15,23,42,.05);
}

.nt-home-section-link:active {
  transform: scale(.97);
}

body.home .home-grid-discovery,
body.front-page .home-grid-discovery {
  display: flex !important;
  gap: 12px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 0 16px 3px !important;
  scroll-snap-type: x proximity;
  scroll-padding-left: 16px;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch;
}

body.home .home-grid-discovery::-webkit-scrollbar,
body.front-page .home-grid-discovery::-webkit-scrollbar {
  display: none;
}

body.home .nt-home-discovery-card,
body.front-page .nt-home-discovery-card {
  position: relative;
  display: flex !important;
  flex: 0 0 46.5% !important;
  min-width: 46.5% !important;
  max-width: 46.5% !important;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 18px;
  background: #fff;
  color: #0f172a;
  text-decoration: none;
  scroll-snap-align: start;
  box-shadow: 0 12px 28px rgba(15,23,42,.08) !important;
}

body.home .nt-home-discovery-card::before,
body.front-page .nt-home-discovery-card::before {
  display: none !important;
}

body.home .nt-home-discovery-card:hover,
body.front-page .nt-home-discovery-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(15,23,42,.12) !important;
}

.nt-home-discovery-media {
  position: relative;
  height: 132px;
  overflow: hidden;
  background: #e2e8f0;
}

.nt-home-discovery-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.nt-home-discovery-body {
  display: flex;
  min-height: 106px;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 10px 11px 11px;
}

/* Les rubriques portent déjà leur contexte : aucun badge redondant sur
   les cartes Mise en avant et Nouveaux. Les offres affichent directement
   leur avantage réel, synchronisé avec les réglages du commerce. */
.nt-home-discovery-offer-line {
  display: flex;
  width: 100%;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 5px;
  margin: 0 0 7px;
  color: #e11d48;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.15;
}

.nt-home-discovery-offer-line strong {
  color: #e11d48;
  font-size: 16px;
  font-weight: 950;
  letter-spacing: -.02em;
}

.nt-home-discovery-offer-line span {
  color: #be123c;
  font-size: 11px;
  font-weight: 850;
}

.nt-home-discovery-body h3 {
  width: 100%;
  min-height: 34px;
  margin: 0 0 7px !important;
  overflow: hidden;
  color: #172033 !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  letter-spacing: -.02em;
  line-height: 1.13 !important;
  text-shadow: none !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.nt-home-discovery-meta {
  display: flex;
  width: 100%;
  min-height: 16px;
  align-items: center;
  gap: 5px;
  margin-top: auto;
  overflow: hidden;
  color: #64748b;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.15;
  white-space: nowrap;
}

.nt-home-discovery-meta > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nt-home-discovery-meta .home-r\61 ting {
  flex: 0 0 auto;
  color: #d97706;
}

.nt-home-discovery-meta .home-category-label {
  min-width: 0;
  color: #475569;
}

/* Cartes Offre : 1 carte large + aperçu de la suivante. */
body.home .home-grid-offers .nt-home-discovery-card,
body.front-page .home-grid-offers .nt-home-discovery-card {
  flex-basis: 72% !important;
  min-width: 72% !important;
  max-width: 72% !important;
}

body.home .home-grid-offers .nt-home-discovery-media,
body.front-page .home-grid-offers .nt-home-discovery-media {
  height: 198px;
}

body.home .home-grid-offers .nt-home-discovery-body,
body.front-page .home-grid-offers .nt-home-discovery-body {
  min-height: 110px;
}

/* L'ancien pictogramme offre ne s'affiche plus sur les cartes Accueil. */
body.home .home-grid-discovery .home-card-offers-stack,
body.front-page .home-grid-discovery .home-card-offers-stack,
body.home .home-grid-discovery .home-offer-stack-icon,
body.front-page .home-grid-discovery .home-offer-stack-icon {
  display: none !important;
}

/* CTA : deux actions réellement distinctes, sans promettre un statut commerçant automatique. */
.nt-home-cta-actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
  margin-top: 11px;
}

body.home .home-cta-btn,
body.front-page .home-cta-btn {
  margin-top: 0 !important;
}

.nt-home-cta-secondary {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 999px;
  color: #fff;
  font-size: 12.5px;
  font-weight: 900;
  text-decoration: none;
}

/* Fin d'Accueil : bloc informatif court, sans mini-blog ni vidéo. */
.nt-home-how-it-works {
  margin: 0 14px 28px;
  padding: 21px 17px 19px;
  border: 1px solid rgba(148,163,184,.20);
  border-radius: 23px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 12px 30px rgba(15,23,42,.055);
}

.nt-home-how-head > span {
  display: inline-flex;
  min-height: 23px;
  align-items: center;
  padding: 0 9px;
  border-radius: 999px;
  background: #eff6ff;
  color: #2563eb;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.nt-home-how-head h2 {
  margin: 9px 0 5px;
  color: #172033;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: -.03em;
  line-height: 1.1;
}

.nt-home-how-head p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}

.nt-home-how-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 18px 0 14px;
  padding: 0;
  list-style: none;
}

.nt-home-how-steps li {
  min-width: 0;
  padding: 0 2px;
}

.nt-home-how-steps li > span {
  display: inline-flex;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  margin-bottom: 7px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2563eb, #38bdf8);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 7px 14px rgba(37,99,235,.18);
}

.nt-home-how-steps strong,
.nt-home-how-steps small {
  display: block;
}

.nt-home-how-steps strong {
  color: #1e293b;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.2;
}

.nt-home-how-steps small {
  margin-top: 4px;
  color: #64748b;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.25;
}

.nt-home-how-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 15px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 950;
  text-decoration: none;
}

@media (min-width: 768px) {
  body.home .home-grid-discovery,
  body.front-page .home-grid-discovery {
    max-width: 980px;
    margin: 0 auto;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.home .nt-home-discovery-card,
  body.front-page .nt-home-discovery-card {
    flex-basis: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
  }

  body.home .home-grid-offers .nt-home-discovery-card,
  body.front-page .home-grid-offers .nt-home-discovery-card {
    flex-basis: 310px !important;
    min-width: 310px !important;
    max-width: 310px !important;
  }

  .nt-home-how-it-works {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 380px) {
  body.home .nt-home-discovery-card,
  body.front-page .nt-home-discovery-card {
    flex-basis: 48% !important;
    min-width: 48% !important;
    max-width: 48% !important;
  }

  .nt-home-discovery-meta {
    gap: 4px;
    font-size: 10.5px;
  }

  .nt-home-how-it-works {
    padding-left: 14px;
    padding-right: 14px;
  }
}

/* =====================================================
   ACCUEIL — Publicité pleine largeur + cartes compactes
   - La publicité locale devient un flux pleine largeur,
     sans carte beige arrondie.
   - Mise en avant, Offres et Nouveautés reprennent la
     densité des cartes « Autour de vous ».
   - Le rail Offres démarre toujours sur la première carte.
===================================================== */

/* Publicité locale : présentation éditoriale pleine largeur, type fil social. */
body.home .home-local-ad-h76,
body.front-page .home-local-ad-h76 {
  margin: 0 0 22px !important;
  padding: 0 !important;
}

body.home .home-local-ad-card-h76,
body.front-page .home-local-ad-card-h76 {
  display: block !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  color: inherit !important;
}

body.home .home-local-ad-media-h76,
body.front-page .home-local-ad-media-h76 {
  height: 236px !important;
  border-radius: 0 !important;
}

body.home .home-local-ad-content-h76,
body.front-page .home-local-ad-content-h76 {
  display: grid !important;
  gap: 7px !important;
  padding: 13px 16px 16px !important;
}

body.home .home-local-ad-kicker-h76,
body.front-page .home-local-ad-kicker-h76 {
  gap: 8px !important;
}

body.home .home-local-ad-kicker-h76 span,
body.front-page .home-local-ad-kicker-h76 span {
  min-height: 23px !important;
  padding: 0 9px !important;
}

body.home .home-local-ad-content-h76 strong,
body.front-page .home-local-ad-content-h76 strong {
  font-size: 19px !important;
  line-height: 1.13 !important;
}

body.home .home-local-ad-content-h76 p,
body.front-page .home-local-ad-content-h76 p {
  font-size: 13px !important;
  line-height: 1.35 !important;
}

body.home .home-local-ad-meta-h76,
body.front-page .home-local-ad-meta-h76 {
  gap: 6px !important;
}

/* Même densité que « Autour de vous » : aucune zone basse forcée. */
body.home .nt-home-discovery-body,
body.front-page .nt-home-discovery-body {
  min-height: 0 !important;
  flex: 0 0 auto !important;
  padding: 9px 11px 10px !important;
}

body.home .nt-home-discovery-body h3,
body.front-page .nt-home-discovery-body h3 {
  min-height: 0 !important;
  margin: 0 0 6px !important;
}

body.home .nt-home-discovery-meta,
body.front-page .nt-home-discovery-meta {
  min-height: 0 !important;
  margin-top: 0 !important;
}

body.home .home-grid-offers .nt-home-discovery-body,
body.front-page .home-grid-offers .nt-home-discovery-body {
  min-height: 0 !important;
}

/* Les offres restent lisibles : une carte complète puis un aperçu de la suivante. */
@media (max-width: 767px) {
  body.home .home-grid-offers,
  body.front-page .home-grid-offers {
    justify-content: flex-start !important;
    direction: ltr !important;
    padding-left: 16px !important;
    padding-right: 34px !important;
    scroll-padding-left: 16px !important;
    scroll-snap-type: x mandatory !important;
  }

  body.home .home-grid-offers > *,
  body.front-page .home-grid-offers > * {
    margin-left: 0 !important;
    order: initial !important;
    scroll-snap-align: start !important;
  }

  body.home .home-grid-offers > *:first-child,
  body.front-page .home-grid-offers > *:first-child {
    margin-left: 0 !important;
  }

  body.home .home-grid-offers .nt-home-discovery-card,
  body.front-page .home-grid-offers .nt-home-discovery-card {
    flex: 0 0 78% !important;
    min-width: 78% !important;
    max-width: 78% !important;
  }
}

/* CTA : les deux parcours restent distincts, alignés côte à côte. */
body.home .nt-home-cta-actions,
body.front-page .nt-home-cta-actions {
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 8px !important;
  margin-top: 13px !important;
}

body.home .nt-home-cta-actions > a,
body.front-page .nt-home-cta-actions > a {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  min-height: 42px !important;
  margin-top: 0 !important;
  padding: 0 8px !important;
  font-size: 11.25px !important;
  line-height: 1.1 !important;
  letter-spacing: -.015em !important;
  white-space: nowrap !important;
}

body.home .nt-home-cta-secondary,
body.front-page .nt-home-cta-secondary {
  display: inline-flex !important;
}

@media (max-width: 380px) {
  body.home .nt-home-cta-actions > a,
  body.front-page .nt-home-cta-actions > a {
    padding: 0 5px !important;
    font-size: 10.5px !important;
  }

  body.home .home-local-ad-media-h76,
  body.front-page .home-local-ad-media-h76 {
    height: 210px !important;
  }
}


/* =====================================================
   ACCUEIL — Badges de publicité sur la photo
   et cartes découverte en un seul bloc continu.
===================================================== */

/* Publicité locale : les informations de campagne se posent directement
   au bas de l'image, avec un voile léger pour garder la photo lisible. */
body.home .home-local-ad-media-h76,
body.front-page .home-local-ad-media-h76 {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
}

body.home .home-local-ad-media-h76::after,
body.front-page .home-local-ad-media-h76::after {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  height: 48%;
  content: '';
  pointer-events: none;
  background: linear-gradient(to top, rgba(15, 23, 42, .58), rgba(15, 23, 42, 0));
}

body.home .home-local-ad-kicker-h76,
body.front-page .home-local-ad-kicker-h76 {
  position: absolute !important;
  z-index: 2;
  right: 14px;
  bottom: 12px;
  left: 14px;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
  overflow: hidden;
  flex-wrap: nowrap !important;
}

body.home .home-local-ad-kicker-h76 span,
body.front-page .home-local-ad-kicker-h76 span {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center !important;
  min-height: 23px !important;
  padding: 0 9px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .96) !important;
  color: #1d4ed8 !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  letter-spacing: .08em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-shadow: 0 3px 12px rgba(15, 23, 42, .16) !important;
}

body.home .home-local-ad-kicker-h76 em,
body.front-page .home-local-ad-kicker-h76 em {
  display: inline-block !important;
  min-width: 0;
  overflow: hidden;
  color: #ffffff !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: 0 1px 2px rgba(15, 23, 42, .50);
}

/* Cartes Mis en avant / Offres / Nouveaux : une seule silhouette.
   Le rayon appartient au conteneur global. L'image et le corps ne portent
   aucun rayon indépendant, donc ils se raccordent sans effet de deux cartes. */
body.home .nt-home-discovery-card,
body.front-page .nt-home-discovery-card {
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #ffffff !important;
}

body.home .nt-home-discovery-card .nt-home-discovery-media,
body.front-page .nt-home-discovery-card .nt-home-discovery-media,
body.home .nt-home-discovery-card .nt-home-discovery-media img,
body.front-page .nt-home-discovery-card .nt-home-discovery-media img,
body.home .nt-home-discovery-card .nt-home-discovery-body,
body.front-page .nt-home-discovery-card .nt-home-discovery-body {
  border-radius: 0 !important;
}

body.home .nt-home-discovery-card .nt-home-discovery-media,
body.front-page .nt-home-discovery-card .nt-home-discovery-media {
  flex: 0 0 auto;
  overflow: hidden !important;
}

body.home .nt-home-discovery-card .nt-home-discovery-media img,
body.front-page .nt-home-discovery-card .nt-home-discovery-media img {
  display: block !important;
}

body.home .nt-home-discovery-card .nt-home-discovery-body,
body.front-page .nt-home-discovery-card .nt-home-discovery-body {
  width: 100%;
  box-sizing: border-box;
  background: #ffffff !important;
}


/* =====================================================
   ACCUEIL — Taux actif directement sur les photos
   Les taux ne s'affichent que lorsqu'une campagne effective existe.
   Aucun badge « Offre » générique, aucune valeur dupliquée.
===================================================== */
body.home .nt-home-near-card-photo,
body.front-page .nt-home-near-card-photo,
body.home .nt-home-discovery-media,
body.front-page .nt-home-discovery-media,
body.home .home-local-ad-media-h76,
body.front-page .home-local-ad-media-h76 {
  position: relative !important;
}

body.home .nt-home-photo-discount,
body.front-page .nt-home-photo-discount {
  position: absolute;
  z-index: 5;
  top: 9px;
  right: 9px;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  max-width: calc(100% - 18px);
  min-height: 27px;
  padding: 5px 8px 4px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 10px;
  background: rgba(255, 79, 55, .96);
  color: #ffffff;
  box-shadow: 0 5px 14px rgba(15,23,42,.20);
  line-height: 1;
}

body.home .nt-home-photo-discount strong,
body.front-page .nt-home-photo-discount strong {
  color: inherit;
  font-size: 14px;
  font-weight: 950;
  letter-spacing: -.02em;
  line-height: 1;
}

body.home .nt-home-photo-discount small,
body.front-page .nt-home-photo-discount small {
  overflow: hidden;
  max-width: 100%;
  color: rgba(255,255,255,.96);
  font-size: 9.5px;
  font-weight: 850;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 380px) {
  body.home .nt-home-photo-discount,
  body.front-page .nt-home-photo-discount {
    top: 7px;
    right: 7px;
    min-height: 25px;
    padding: 4px 7px;
  }

  body.home .nt-home-photo-discount strong,
  body.front-page .nt-home-photo-discount strong {
    font-size: 13px;
  }
}

/* Petites cartes 2,2 : la photo porte l'arrondi (10 px), puis les textes
   s'alignent directement dessous. Il n'y a plus de bloc blanc distinct. */
body.home .home-grid-mise-en-avant-h54 .nt-home-discovery-card,
body.front-page .home-grid-mise-en-avant-h54 .nt-home-discovery-card,
body.home .home-grid-new .nt-home-discovery-card,
body.front-page .home-grid-new .nt-home-discovery-card {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.home .home-grid-mise-en-avant-h54 .nt-home-discovery-card:hover,
body.front-page .home-grid-mise-en-avant-h54 .nt-home-discovery-card:hover,
body.home .home-grid-new .nt-home-discovery-card:hover,
body.front-page .home-grid-new .nt-home-discovery-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

body.home .home-grid-mise-en-avant-h54 .nt-home-discovery-media,
body.front-page .home-grid-mise-en-avant-h54 .nt-home-discovery-media,
body.home .home-grid-new .nt-home-discovery-media,
body.front-page .home-grid-new .nt-home-discovery-media {
  height: auto !important;
  aspect-ratio: 4 / 3;
  border-radius: 10px !important;
  overflow: hidden !important;
}

body.home .home-grid-mise-en-avant-h54 .nt-home-discovery-media img,
body.front-page .home-grid-mise-en-avant-h54 .nt-home-discovery-media img,
body.home .home-grid-new .nt-home-discovery-media img,
body.front-page .home-grid-new .nt-home-discovery-media img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 10px !important;
}

body.home .home-grid-mise-en-avant-h54 .nt-home-discovery-body,
body.front-page .home-grid-mise-en-avant-h54 .nt-home-discovery-body,
body.home .home-grid-new .nt-home-discovery-body,
body.front-page .home-grid-new .nt-home-discovery-body {
  width: auto !important;
  padding: 8px 0 1px !important;
  background: transparent !important;
}

body.home .home-grid-mise-en-avant-h54 .nt-home-discovery-body h3,
body.front-page .home-grid-mise-en-avant-h54 .nt-home-discovery-body h3,
body.home .home-grid-new .nt-home-discovery-body h3,
body.front-page .home-grid-new .nt-home-discovery-body h3 {
  margin-bottom: 5px !important;
}


/* =====================================================
   ACCUEIL — Cartes compactes harmonisées
   Les petites cartes utilisent la photo comme élément
   principal : rayon 10 px, texte compact dessous.
===================================================== */

/* Plus de métadonnées coupées : les cartes compactes gardent
   uniquement distance + note. La catégorie reste visible sur la fiche. */
body.home .nt-home-discovery-meta .home-category-label,
body.front-page .nt-home-discovery-meta .home-category-label,
html body .home-section-near #near-container .nt-home-near-category {
  display: none !important;
}

/* Autour de vous adopte le même langage visuel que Mis en avant
   et Nouveaux : photo entière arrondie, sans carte blanche assemblée. */
html body .home-section-near #near-container .nt-home-near-card-clean {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body .home-section-near #near-container .nt-home-near-card-photo,
html body .home-section-near #near-container .nt-home-near-card-photo img {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 4 / 3 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

html body .home-section-near #near-container .nt-home-near-card-photo img {
  object-fit: cover !important;
}

html body .home-section-near #near-container .nt-home-near-card-body {
  min-height: 0 !important;
  padding: 8px 0 1px !important;
  background: transparent !important;
  gap: 5px !important;
}

html body .home-section-near #near-container .nt-home-near-card-body h3 {
  margin: 0 !important;
}

html body .home-section-near #near-container .nt-home-near-card-meta {
  gap: 6px !important;
}

/* Aucun retour de hauteur fixe sur petits écrans. */
@media (max-width: 420px) {
  html body .home-section-near #near-container .nt-home-near-card-photo,
  html body .home-section-near #near-container .nt-home-near-card-photo img {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
  }
}


/* Accueil — simplification des intitulés secondaires */
.home-section-subtitle {
  display: none !important;
}


/* =====================================================
   ACCUEIL — contexte court synchronisé avec la fiche
   Sous-catégorie concise ou tag éditorial : jamais la
   catégorie racine longue et jamais de texte tronqué.
===================================================== */
body.home .nt-home-discovery-meta .home-category-label.home-card-context-label,
body.front-page .nt-home-discovery-meta .home-category-label.home-card-context-label,
html body .home-section-near #near-container .nt-home-near-category.home-card-context-label {
  display: inline !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: visible !important;
  color: #475569 !important;
  font-weight: 800 !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}

body.home .nt-home-discovery-meta,
body.front-page .nt-home-discovery-meta,
html body .home-section-near #near-container .nt-home-near-card-meta {
  gap: 6px !important;
}


/* =====================================================
   ACCUEIL — Autour de moi : ordre strict de proximité
   Les anciennes règles nth-child attribuaient order: 1, 2
   et 3 seulement aux trois premières cartes. Les suivantes
   gardaient order: 0 et passaient visuellement devant elles.
   La position DOM fournie par le tri distance est désormais
   l'unique ordre d'affichage.
===================================================== */
@media (max-width: 767px) {
  body.home .home-grid-near > *,
  body.front-page .home-grid-near > *,
  body.home .home-near-grid > *,
  body.front-page .home-near-grid > *,
  body.home .nearby-grid > *,
  body.front-page .nearby-grid > *,
  body.home .home-around-list > *,
  body.front-page .home-around-list > *,
  body.home .home-around-track > *,
  body.front-page .home-around-track > *,
  body.home .home-near-track > * {
    order: 0 !important;
  }
}

/* =====================================================
   ACCUEIL — Une seule règle de chargement proximité
   Aucun squelette, aucune carte provisoire et aucun texte d'attente ici.
   La section reste absente jusqu'à l'injection des cartes réelles.
===================================================== */
html body #home-nearby-section[hidden],
html body #home-nearby-section:not(.is-ready) {
  display: none !important;
}

html body #home-nearby-section.is-ready {
  display: block !important;
}

/* =====================================================
   ACCUEIL — Offres du moment : image principale renforcée
   La grande carte gagne 14 px sur mobile afin de mieux
   mettre en valeur l'offre sans rallonger les rails Nouveaux
   ni Autour de vous.
===================================================== */
@media (max-width: 767px) {
  body.home .home-grid-offers .nt-home-discovery-media,
  body.front-page .home-grid-offers .nt-home-discovery-media {
    height: 212px !important;
  }
}


/* =====================================================
   NOVTINIS — AUTORITÉ DESKTOP ACCUEIL
   Chargé après les raffinements mobile : ne s'applique qu'à l'ordinateur.
===================================================== */
@media (min-width: 900px) {
  body.home .home-grid-discovery,
  body.front-page .home-grid-discovery {
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    overflow: visible !important;
  }

  body.home .nt-home-discovery-card,
  body.front-page .nt-home-discovery-card,
  body.home .home-grid-offers .nt-home-discovery-card,
  body.front-page .home-grid-offers .nt-home-discovery-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex-basis: auto !important;
  }

  body.home .home-cta-box,
  body.front-page .home-cta-box {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    grid-template-rows: auto auto !important;
  }

  body.home .home-cta-box h2,
  body.front-page .home-cta-box h2 { grid-column: 1; grid-row: 1; }

  body.home .home-cta-box p,
  body.front-page .home-cta-box p { grid-column: 1; grid-row: 2; }

  body.home .home-cta-box .nt-home-cta-actions,
  body.front-page .home-cta-box .nt-home-cta-actions {
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-content: flex-end;
  }

  body.home .nt-home-how-it-works,
  body.front-page .nt-home-how-it-works {
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.home .nt-home-how-steps,
  body.front-page .nt-home-how-steps {
    margin-bottom: 0 !important;
  }

  body.home .nt-home-how-steps li,
  body.front-page .nt-home-how-steps li {
    padding: 26px !important;
    border: 1px solid #dbe6f2;
    border-radius: 24px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 14px 28px rgba(15,23,42,.06);
  }
}


/* =====================================================
   NOVTINIS — DESKTOP VITRINE : CORRECTIF DE DENSITÉ
   Cette cascade est volontairement placée après les règles mobile :
   au-dessus de 900 px, les rails deviennent de vraies grilles et les
   sections à 1 ou 2 commerces gardent une composition équilibrée.
===================================================== */
@media (min-width: 900px) {
  /* Logo sombre local sur le header clair. */
  body.home .nt-home-desktop-brand img,
  body.front-page .nt-home-desktop-brand img {
    width: 145px !important;
    max-height: 38px !important;
    object-fit: contain !important;
  }

  /* Les sections éditoriales ne sont plus des rails mobiles. */
  body.home .home-grid-discovery,
  body.front-page .home-grid-discovery {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 22px !important;
    width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
    scroll-snap-type: none !important;
  }

  body.home .home-grid-discovery .nt-home-discovery-card,
  body.front-page .home-grid-discovery .nt-home-discovery-card {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid rgba(148,163,184,.18) !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 30px rgba(15,23,42,.08) !important;
    color: #0f172a !important;
  }

  body.home .home-grid-discovery .nt-home-discovery-card:hover,
  body.front-page .home-grid-discovery .nt-home-discovery-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 22px 42px rgba(15,23,42,.12) !important;
  }

  body.home .home-grid-discovery .nt-home-discovery-media,
  body.front-page .home-grid-discovery .nt-home-discovery-media {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background: #e9eff7 !important;
  }

  body.home .home-grid-discovery .nt-home-discovery-media img,
  body.front-page .home-grid-discovery .nt-home-discovery-media img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
    border-radius: 0 !important;
  }

  body.home .home-grid-discovery .nt-home-discovery-body,
  body.front-page .home-grid-discovery .nt-home-discovery-body {
    width: 100% !important;
    min-height: 106px !important;
    padding: 15px 16px 16px !important;
    background: #ffffff !important;
  }

  body.home .home-grid-discovery .nt-home-discovery-body h3,
  body.front-page .home-grid-discovery .nt-home-discovery-body h3 {
    min-height: 0 !important;
    margin: 0 0 8px !important;
    color: #15223a !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    -webkit-line-clamp: 2 !important;
  }

  body.home .home-grid-discovery .nt-home-discovery-meta,
  body.front-page .home-grid-discovery .nt-home-discovery-meta {
    min-height: 0 !important;
    margin-top: auto !important;
    color: #64748b !important;
    font-size: 12px !important;
  }

  /* Deux cartes restent en duo ; une seule devient une véritable carte éditoriale. */
  body.home .home-grid-discovery.home-grid-count-2,
  body.front-page .home-grid-discovery.home-grid-count-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home .home-grid-discovery.home-grid-count-1,
  body.front-page .home-grid-discovery.home-grid-count-1 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-card,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-card {
    display: grid !important;
    grid-template-columns: minmax(330px, 43%) minmax(0, 1fr) !important;
    min-height: 262px !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-media,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-media {
    height: 100% !important;
    aspect-ratio: auto !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-body,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-body {
    align-self: stretch !important;
    justify-content: center !important;
    padding: 32px 34px !important;
  }

  body.home .home-grid-offers.home-grid-count-1 .nt-home-discovery-body::before,
  body.front-page .home-grid-offers.home-grid-count-1 .nt-home-discovery-body::before {
    content: "Avantage Novtinis disponible";
    display: inline-flex;
    width: fit-content;
    min-height: 27px;
    align-items: center;
    margin-bottom: 11px;
    padding: 0 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .02em;
    text-transform: uppercase;
  }

  body.home .home-grid-mise-en-avant-h54.home-grid-count-1 .nt-home-discovery-body::before,
  body.front-page .home-grid-mise-en-avant-h54.home-grid-count-1 .nt-home-discovery-body::before {
    content: "Commerce mis en avant";
    display: inline-flex;
    width: fit-content;
    min-height: 27px;
    align-items: center;
    margin-bottom: 11px;
    padding: 0 10px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .02em;
    text-transform: uppercase;
  }

  /* Proximité : même grille lisible que les autres sections. */
  html body.home .home-section-near #near-container,
  html body.front-page .home-section-near #near-container {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  html body.home .home-section-near #near-container .nt-home-near-card-clean,
  html body.front-page .home-section-near #near-container .nt-home-near-card-clean {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid rgba(148,163,184,.18) !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 30px rgba(15,23,42,.08) !important;
  }

  html body.home .home-section-near #near-container .nt-home-near-card-photo,
  html body.front-page .home-section-near #near-container .nt-home-near-card-photo,
  html body.home .home-section-near #near-container .nt-home-near-card-photo img,
  html body.front-page .home-section-near #near-container .nt-home-near-card-photo img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 0 !important;
  }

  html body.home .home-section-near #near-container .nt-home-near-card-photo img,
  html body.front-page .home-section-near #near-container .nt-home-near-card-photo img {
    object-fit: cover !important;
  }

  html body.home .home-section-near #near-container .nt-home-near-card-body,
  html body.front-page .home-section-near #near-container .nt-home-near-card-body {
    min-height: 102px !important;
    padding: 15px 16px 16px !important;
    background: #ffffff !important;
  }

  html body.home .home-section-near #near-container .nt-home-near-card-body h3,
  html body.front-page .home-section-near #near-container .nt-home-near-card-body h3 {
    overflow: hidden !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    text-overflow: clip !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  /* CTA et explication : plus d'espace pour les deux actions, moins de vide. */
  body.home .home-cta-box,
  body.front-page .home-cta-box {
    min-height: 178px !important;
    padding: 34px 40px !important;
  }

  body.home .nt-home-cta-actions,
  body.front-page .nt-home-cta-actions {
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    gap: 12px !important;
    margin: 0 !important;
  }

  body.home .nt-home-cta-actions > a,
  body.front-page .nt-home-cta-actions > a {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    font-size: 13px !important;
  }

  body.home .nt-home-how-steps li,
  body.front-page .nt-home-how-steps li {
    min-height: 148px !important;
    padding: 22px !important;
  }
}

@media (min-width: 900px) and (max-width: 1120px) {
  body.home .home-grid-discovery,
  body.front-page .home-grid-discovery,
  html body.home .home-section-near #near-container,
  html body.front-page .home-section-near #near-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home .home-grid-discovery.home-grid-count-1,
  body.front-page .home-grid-discovery.home-grid-count-1 {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-card,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-card {
    grid-template-columns: minmax(280px, 42%) minmax(0, 1fr) !important;
  }

  body.home .home-cta-box,
  body.front-page .home-cta-box {
    grid-template-columns: 1fr !important;
    row-gap: 22px !important;
  }

  body.home .nt-home-cta-actions,
  body.front-page .nt-home-cta-actions {
    justify-content: flex-start !important;
  }
}


/* =====================================================
   NOVTINIS — ACCUEIL DESKTOP : CATÉGORIES ET CARTES ÉDITORIALES
   Complète uniquement la vitrine desktop. Le rail et les cartes mobiles
   restent inchangés sous 900 px.
===================================================== */
@media (min-width: 900px) {
  /* Le nouveau navigateur desktop évite tout rail tronqué. Le rail mobile
     historique reste dans le DOM pour conserver son panneau modal. */
  body.home .home-hero > .home-categories,
  body.front-page .home-hero > .home-categories {
    display: none !important;
  }

  body.home .home-hero,
  body.front-page .home-hero {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.home .nt-home-desktop-category-explorer,
  body.front-page .nt-home-desktop-category-explorer {
    display: block !important;
    max-width: 1240px !important;
    margin: 12px auto 34px !important;
    padding: 14px 18px !important;
    border: 1px solid rgba(226,232,240,.92) !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.8) !important;
    box-shadow: 0 14px 32px rgba(15,23,42,.055) !important;
  }

  body.home .nt-home-desktop-category-list,
  body.front-page .nt-home-desktop-category-list {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
  }

  body.home .nt-home-desktop-category-chip,
  body.front-page .nt-home-desktop-category-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(203,213,225,.92) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #34445f !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 7px 15px rgba(15,23,42,.045) !important;
    transition: transform .18s ease, color .18s ease, background .18s ease, border-color .18s ease !important;
    cursor: pointer !important;
  }

  body.home .nt-home-desktop-category-chip:hover,
  body.front-page .nt-home-desktop-category-chip:hover,
  body.home .nt-home-desktop-category-chip:focus,
  body.front-page .nt-home-desktop-category-chip:focus {
    transform: translateY(-1px) !important;
    border-color: rgba(37,99,235,.3) !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    outline: none !important;
  }

  body.home .nt-home-desktop-category-icon,
  body.front-page .nt-home-desktop-category-icon {
    display: inline-flex !important;
    width: 20px !important;
    height: 20px !important;
    align-items: center !important;
    justify-content: center !important;
    color: currentColor !important;
  }

  body.home .nt-home-desktop-category-icon svg,
  body.front-page .nt-home-desktop-category-icon svg {
    display: block !important;
    width: 19px !important;
    height: 19px !important;
    fill: currentColor !important;
  }

  body.home .nt-home-desktop-category-more,
  body.front-page .nt-home-desktop-category-more {
    border-color: rgba(37,99,235,.2) !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
  }

  /* La rubrique à une seule carte ne doit plus sembler vide : le renderer
     fournit un contexte et un CTA qui apparaissent seulement à ce format. */
  body.home .nt-home-discovery-editorial-eyebrow,
  body.front-page .nt-home-discovery-editorial-eyebrow,
  body.home .nt-home-discovery-editorial-copy,
  body.front-page .nt-home-discovery-editorial-copy,
  body.home .nt-home-discovery-editorial-cta,
  body.front-page .nt-home-discovery-editorial-cta {
    display: none !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-body::before,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-body::before {
    display: none !important;
    content: none !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-body,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-editorial-eyebrow,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-editorial-eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 27px !important;
    margin: 0 0 12px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .025em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-body h3,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-body h3 {
    margin-bottom: 10px !important;
    color: #15223a !important;
    font-size: 26px !important;
    line-height: 1.13 !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-editorial-copy,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-editorial-copy {
    display: block !important;
    max-width: 44ch !important;
    margin: 0 0 18px !important;
    color: #52637c !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.5 !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-editorial-cta,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-editorial-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 39px !important;
    margin: 0 0 24px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    background: #1d4ed8 !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-editorial-cta span,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-editorial-cta span {
    font-size: 17px !important;
    line-height: 1 !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-meta,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-meta {
    margin-top: auto !important;
  }
}

@media (min-width: 900px) and (max-width: 1120px) {
  body.home .nt-home-desktop-category-explorer,
  body.front-page .nt-home-desktop-category-explorer {
    margin-bottom: 28px !important;
  }

  body.home .home-grid-discovery.home-grid-count-1 .nt-home-discovery-body h3,
  body.front-page .home-grid-discovery.home-grid-count-1 .nt-home-discovery-body h3 {
    font-size: 23px !important;
  }
}

@media (max-width: 899px) {
  body.home .nt-home-desktop-category-explorer,
  body.front-page .nt-home-desktop-category-explorer {
    display: none !important;
  }
}



/* =====================================================
   NOVTINIS — ACCUEIL DESKTOP : PARCOURS PLUS PRÉSENT
   Les explications deviennent une vraie séquence éditoriale sur ordinateur.
   Le comportement compact mobile reste volontairement inchangé.
===================================================== */
.nt-home-how-step-desktop-copy,
.nt-home-how-note {
  display: none;
}

@media (min-width: 900px) {
  body.home .nt-home-how-it-works,
  body.front-page .nt-home-how-it-works {
    padding: 12px 0 20px !important;
  }

  body.home .nt-home-how-head,
  body.front-page .nt-home-how-head {
    max-width: 780px;
  }

  body.home .nt-home-how-head > span,
  body.front-page .nt-home-how-head > span {
    min-height: 31px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    letter-spacing: .08em !important;
  }

  body.home .nt-home-how-head h2,
  body.front-page .nt-home-how-head h2 {
    margin: 13px 0 10px !important;
    color: #14213a !important;
    font-size: clamp(34px, 3vw, 44px) !important;
    font-weight: 950 !important;
    letter-spacing: -.045em !important;
    line-height: 1.05 !important;
  }

  body.home .nt-home-how-head p,
  body.front-page .nt-home-how-head p {
    max-width: 720px !important;
    margin: 0 !important;
    color: #53657e !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.55 !important;
  }

  body.home .nt-home-how-steps,
  body.front-page .nt-home-how-steps {
    gap: 24px !important;
    margin: 30px 0 18px !important;
  }

  body.home .nt-home-how-steps li,
  body.front-page .nt-home-how-steps li {
    display: flex !important;
    min-height: 205px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 28px 30px 26px !important;
    border-color: rgba(203,213,225,.92) !important;
    border-radius: 26px !important;
    background: rgba(255,255,255,.95) !important;
    box-shadow: 0 18px 34px rgba(15,23,42,.075) !important;
  }

  body.home .nt-home-how-steps li > span,
  body.front-page .nt-home-how-steps li > span {
    width: 50px !important;
    height: 50px !important;
    margin: 0 0 16px !important;
    border-radius: 16px !important;
    font-size: 18px !important;
    box-shadow: 0 10px 18px rgba(37,99,235,.22) !important;
  }

  body.home .nt-home-how-steps strong,
  body.front-page .nt-home-how-steps strong {
    color: #182640 !important;
    font-size: 19px !important;
    font-weight: 950 !important;
    line-height: 1.18 !important;
  }

  body.home .nt-home-how-steps small,
  body.front-page .nt-home-how-steps small {
    margin-top: 7px !important;
    color: #4f627b !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.38 !important;
  }

  body.home .nt-home-how-step-desktop-copy,
  body.front-page .nt-home-how-step-desktop-copy {
    display: block !important;
    margin-top: 10px !important;
    color: #718198 !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 650 !important;
    line-height: 1.48 !important;
  }

  body.home .nt-home-how-note,
  body.front-page .nt-home-how-note {
    display: flex !important;
    max-width: 760px !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    color: #53657e !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
  }

  body.home .nt-home-how-note > span:first-child,
  body.front-page .nt-home-how-note > span:first-child {
    display: inline-flex !important;
    width: 26px !important;
    height: 26px !important;
    flex: 0 0 26px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #e8f3ff !important;
    color: #1d4ed8 !important;
    font-size: 14px !important;
    font-weight: 950 !important;
  }

  body.home .nt-home-how-note strong,
  body.front-page .nt-home-how-note strong {
    color: #1e3a5f !important;
    font-weight: 950 !important;
  }
}

/* =====================================================
   NOVTINIS — CARTES ACCUEIL : INFORMATIONS RAPPROCHÉES
   Sur desktop, les petites cartes n'étirent plus leur corps blanc.
   Nom, métadonnées et photo forment un ensemble compact.
===================================================== */
@media (min-width: 900px) {
  body.home .home-grid-discovery:not(.home-grid-count-1),
  body.front-page .home-grid-discovery:not(.home-grid-count-1),
  html body.home .home-section-near #near-container,
  html body.front-page .home-section-near #near-container {
    align-items: start !important;
  }

  body.home .home-grid-discovery:not(.home-grid-count-1) .nt-home-discovery-card,
  body.front-page .home-grid-discovery:not(.home-grid-count-1) .nt-home-discovery-card,
  html body.home .home-section-near #near-container .nt-home-near-card-clean,
  html body.front-page .home-section-near #near-container .nt-home-near-card-clean {
    align-self: start !important;
  }

  body.home .home-grid-discovery:not(.home-grid-count-1) .nt-home-discovery-body,
  body.front-page .home-grid-discovery:not(.home-grid-count-1) .nt-home-discovery-body {
    min-height: 0 !important;
    flex: 0 0 auto !important;
    padding: 14px 16px 15px !important;
  }

  body.home .home-grid-discovery:not(.home-grid-count-1) .nt-home-discovery-body h3,
  body.front-page .home-grid-discovery:not(.home-grid-count-1) .nt-home-discovery-body h3 {
    margin: 0 0 7px !important;
  }

  body.home .home-grid-discovery:not(.home-grid-count-1) .nt-home-discovery-meta,
  body.front-page .home-grid-discovery:not(.home-grid-count-1) .nt-home-discovery-meta {
    margin-top: 0 !important;
  }

  html body.home .home-section-near #near-container .nt-home-near-card-body,
  html body.front-page .home-section-near #near-container .nt-home-near-card-body {
    min-height: 0 !important;
    padding: 14px 16px 15px !important;
  }

  html body.home .home-section-near #near-container .nt-home-near-card-meta,
  html body.front-page .home-section-near #near-container .nt-home-near-card-meta {
    margin-top: 0 !important;
  }
}
