/**
 * NOVTINIS — LOT 360 CONSOLIDÉ
 * Socle final de la fiche publique mobile, sans changement métier.
 * Fusion de la base modern-flat et de la couche finale validée au candidat 43.
 */

@media (max-width: 767px) {
  body.single-listing {
    --nt-single-edge: 8px;
    --nt-single-blue: #2563eb;
    --nt-single-blue-soft: #eff6ff;
    --nt-single-blue-line: #dbe8fb;
    --nt-single-ink: #172033;
    --nt-single-muted: #617087;
    --nt-single-line: #e4ebf3;
    --nt-single-surface: #ffffff;
    --nt-single-page: #eef3f8;
    --nt-single-green: #0f8f6f;
    --nt-single-green-soft: #edf9f5;
    background: var(--nt-single-page) !important;
  }

  /* =====================================================
     1. STRUCTURE : UN SEUL NIVEAU VISUEL PRINCIPAL
  ===================================================== */
  body.single-listing .single-v3-shell {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    gap: 0 !important;
  }

  body.single-listing .single-v3-head-card {
    margin: 0 !important;
    padding: 8px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.single-listing .single-v3-head-card > .single-v3-meta-line,
  body.single-listing .single-v3-head-card > .single-v3-submeta {
    margin-left: var(--nt-single-edge) !important;
    margin-right: var(--nt-single-edge) !important;
  }

  /* Les grandes sections ne sont plus des cartes dans une carte. */
  body.single-listing .single-v3-advantages-card,
  body.single-listing .single-client-gallery-card,
  body.single-listing #singleTabsBlock.single-v3-panels-card,
  body.single-listing .single-location-section,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info,
  body.single-listing #singleTabsBlock .single-contribute-card--info {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-advantages-card,
  body.single-listing .single-client-gallery-card,
  body.single-listing #singleTabsBlock.single-v3-panels-card,
  body.single-listing .single-location-section {
    margin-top: 8px !important;
    border-top: 1px solid var(--nt-single-line) !important;
    border-bottom: 1px solid var(--nt-single-line) !important;
    background: var(--nt-single-surface) !important;
  }

  /* =====================================================
     2. MÉTA + STATS : PLUS DENSES, MOINS DE “CARTE”
  ===================================================== */
  body.single-listing .single-v3-meta-line {
    padding: 0 !important;
    gap: 6px !important;
  }

  body.single-listing .single-v3-chip,
  body.single-listing .single-link-hours {
    min-height: 34px !important;
    padding: 0 11px !important;
    border-radius: 12px !important;
    font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 850 !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-chip.chip-distance {
    background: var(--nt-single-blue) !important;
    color: #fff !important;
  }

  body.single-listing .single-v3-chip.chip-soft,
  body.single-listing .single-link-hours {
    border: 1px solid var(--nt-single-line) !important;
    background: #fff !important;
    color: var(--nt-single-muted) !important;
  }

  body.single-listing .single-v3-submeta {
    min-height: 60px !important;
    margin-top: 8px !important;
    padding: 8px 0 !important;
    border-top: 1px solid var(--nt-single-line) !important;
    border-bottom: 1px solid var(--nt-single-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-stat-item {
    padding: 0 10px !important;
  }

  body.single-listing .single-stat-value {
    font-size: calc(16px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-stat-label {
    font-size: calc(9.5px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following {
    min-height: 40px !important;
    padding: 0 15px !important;
    border-radius: 12px !important;
    border: 1px solid #bfe3db !important;
    background: var(--nt-single-green-soft) !important;
    color: #08745b !important;
    box-shadow: none !important;
  }

  /* Le CTA Avis existe déjà dans la barre fixe : suppression du doublon haut. */
  body.single-listing .single-v3-primary-actions-card .single-action-pill-review {
    display: none !important;
  }

  body.single-listing .single-v3-head-card > .single-v3-primary-actions-card {
    width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 0 var(--nt-single-edge) !important;
    overflow: visible !important;
  }

  body.single-listing .single-v3-primary-actions-card .single-v3-actions-scroll {
    gap: 6px !important;
    overflow-x: visible !important;
    flex-wrap: wrap !important;
  }

  body.single-listing .single-v3-primary-actions-card .single-action-pill {
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 12px !important;
    border: 1px solid var(--nt-single-line) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--nt-single-ink) !important;
    box-shadow: none !important;
    font-size: calc(12.5px + var(--nt-km-font-boost, 0px)) !important;
  }

  /* =====================================================
     3. AVANTAGES : VERT/BLEU, SANS BOÎTES IMBRIQUÉES
  ===================================================== */
  body.single-listing .single-v3-advantages-card--streamlined {
    padding: 14px 12px !important;
    background: #fff !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-section-title {
    margin: 0 0 10px !important;
    font-size: calc(23px + var(--nt-km-font-boost, 0px)) !important;
    color: var(--nt-single-ink) !important;
  }

  body.single-listing .single-advantage-box--streamlined {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-compact-benefit-row {
    padding: 10px 0 !important;
    border-bottom: 1px solid var(--nt-single-line) !important;
  }

  body.single-listing .single-compact-benefit-label {
    background: var(--nt-single-green-soft) !important;
    border-color: #cceade !important;
    color: #08745b !important;
  }

  body.single-listing .single-compact-benefit-rate {
    color: #08745b !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-flat-loyalty-h116c.single-compact-loyalty {
    margin: 0 !important;
    padding: 10px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-v3-cta,
  body.single-listing .single-v3-cta-gold {
    min-height: 48px !important;
    border-radius: 14px !important;
    border: 0 !important;
    background: var(--nt-single-green) !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  /* =====================================================
     4. PHOTOS CLIENTS : QUASI BORD À BORD
  ===================================================== */
  body.single-listing .single-client-gallery-card {
    padding: 14px 0 14px !important;
  }

  body.single-listing .single-client-gallery-head {
    padding: 0 12px !important;
    gap: 6px !important;
  }

  body.single-listing .single-client-gallery-kicker {
    background: var(--nt-single-blue-soft) !important;
    color: #1d4ed8 !important;
  }

  body.single-listing .single-client-gallery-head h2 {
    font-size: calc(22px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-client-gallery-strip {
    padding-left: 12px !important;
    padding-right: 12px !important;
    gap: 8px !important;
  }

  body.single-listing .single-client-gallery-item {
    border-radius: 14px !important;
    box-shadow: none !important;
  }

  /* =====================================================
     5. ONGLETS + INFO : LARGEUR UTILE MAXIMALE
  ===================================================== */
  body.single-listing #singleTabsBlock.single-v3-panels-card {
    overflow: visible !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tabs {
    position: sticky !important;
    top: 0 !important;
    z-index: 15 !important;
    display: flex !important;
    gap: 4px !important;
    padding: 8px 8px !important;
    border-bottom: 1px solid var(--nt-single-line) !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: blur(10px) !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tabs::-webkit-scrollbar {
    display: none !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tab {
    min-height: 38px !important;
    padding: 0 13px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #41506a !important;
    box-shadow: none !important;
    font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tab.active {
    background: var(--nt-single-blue-soft) !important;
    color: #1d4ed8 !important;
  }

  body.single-listing #singleTabsBlock .single-v3-panel-inner {
    padding: 14px 12px 16px !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j {
    margin-bottom: 10px !important;
  }

  body.single-listing #singleTabsBlock .single-content-title {
    font-size: calc(24px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing #singleTabsBlock .single-smart-about-block {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-smart-section-kicker {
    background: var(--nt-single-blue-soft) !important;
    color: #1d4ed8 !important;
  }

  body.single-listing .single-smart-about-block .single-description {
    color: #526177 !important;
    font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.55 !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tags {
    margin-top: 12px !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid var(--nt-single-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-group + .nt-listing-public-tag-group {
    margin-top: 9px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-chip {
    min-height: 30px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    border: 1px solid var(--nt-single-blue-line) !important;
    background: #f8fbff !important;
    color: #36577e !important;
    box-shadow: none !important;
  }

  /* =====================================================
     6. LOCALISATION / DÉCISION / CONTRIBUTION : SECTIONS PLATES
  ===================================================== */
  body.single-listing .single-location-section {
    padding: 14px 12px !important;
  }

  body.single-listing .single-location-section::before {
    background: var(--nt-single-blue) !important;
  }

  body.single-listing .single-map-box,
  body.single-listing .single-map-box iframe {
    border-radius: 14px !important;
  }

  body.single-listing .single-map-box iframe {
    height: 210px !important;
  }

  body.single-listing .single-map-cta {
    min-height: 44px !important;
    border-radius: 12px !important;
    border-color: var(--nt-single-blue-line) !important;
    background: #fff !important;
    color: #1d4ed8 !important;
    box-shadow: none !important;
  }

  body.single-listing #singleTabsBlock .single-smart-decision-block {
    margin: 12px 0 0 !important;
    padding: 12px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--nt-single-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing #singleTabsBlock .single-smart-decision-block .single-smart-reason-card {
    border: 1px solid #dce8f7 !important;
    background: #f8fbff !important;
    box-shadow: none !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-card--info {
    margin-top: 12px !important;
    padding: 12px !important;
    border: 1px solid var(--nt-single-line) !important;
    border-radius: 14px !important;
    background: #f8fafc !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-card--info .single-contribute-btn {
    min-height: 42px !important;
    border-radius: 11px !important;
    border-color: var(--nt-single-blue-line) !important;
    background: #fff !important;
    color: #1d4ed8 !important;
  }

  body.single-listing #singleTabsBlock .single-v3-recommend-card--info {
    margin-top: 12px !important;
    padding: 12px !important;
    border: 1px solid #dfe9f5 !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #f8fbff, #f4f8fc) !important;
  }

  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-v3-recommend-kicker {
    background: var(--nt-single-blue-soft) !important;
    color: #1d4ed8 !important;
  }

  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn {
    border: 1px solid var(--nt-single-blue-line) !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #284667 !important;
    box-shadow: none !important;
  }

  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn.is-dark {
    border-color: #cbdaf0 !important;
    background: #eaf2ff !important;
    color: #2458a6 !important;
  }

  /* =====================================================
     7. BARRE FIXE : PLUS FINE, PALETTE CALME
  ===================================================== */
  body.single-listing .single-sticky-actions {
    width: calc(100% - 12px) !important;
    max-width: 508px !important;
    bottom: 6px !important;
    padding: 6px !important;
    gap: 5px !important;
    border: 1px solid rgba(214,224,236,.96) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 8px 26px rgba(15,23,42,.12) !important;
  }

  body.single-listing .single-sticky-pill {
    min-height: 46px !important;
    border-radius: 11px !important;
    border: 1px solid var(--nt-single-line) !important;
    background: #fff !important;
    color: var(--nt-single-ink) !important;
    box-shadow: none !important;
    font-size: calc(12.5px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-sticky-pill.open-review-modal-btn {
    border-color: var(--nt-single-blue) !important;
    background: var(--nt-single-blue) !important;
    color: #fff !important;
  }

  /* =====================================================
     8. ORANGE / ROUGE : RÉSERVÉ AUX ALERTES, PAS À LA STRUCTURE
  ===================================================== */
  body.single-listing .single-fav-btn.active {
    background: #eaf2ff !important;
    color: #1d4ed8 !important;
    border-color: #cfe0fa !important;
    box-shadow: 0 8px 22px rgba(15,23,42,.14) !important;
  }

  body.single-listing .single-stars-hero .star.full {
    background: #f3b51b !important;
  }

  body.single-listing .single-stars-hero .star.half {
    background: linear-gradient(90deg, #f3b51b 50%, rgba(255,255,255,.20) 50%) !important;
  }

  body.single-listing .single-client-gallery-review-btn {
    border-color: var(--nt-single-blue-line) !important;
    background: var(--nt-single-blue-soft) !important;
    color: #1d4ed8 !important;
  }

  /* Espace final ajusté à la nouvelle barre fixe plus fine. */
  body.single-listing .single-v3-page {
    padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important;
  }
}

/* ==========================================================
   LOT 360 CANDIDAT 2 — densité mobile / largeur utile / sections plates
   Base : candidat 1. Aucun changement métier.
========================================================== */
@media (max-width: 767px) {
  body.single-listing {
    --nt-single-edge: 5px;
    --nt-single-section-x: 9px;
  }

  /* Cadre public : gagner encore de la largeur utile. */
  body.single-listing .single-v3-page,
  body.single-listing .single-v3-shell,
  body.single-listing .single-v3-main,
  body.single-listing .single-v3-content {
    max-width: none !important;
  }

  body.single-listing .single-v3-page {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-listing .single-v3-shell {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Hero/meta : moins de hauteur sous l'image. */
  body.single-listing .single-v3-head-card > .single-v3-meta-line,
  body.single-listing .single-v3-head-card > .single-v3-submeta {
    margin-left: var(--nt-single-edge) !important;
    margin-right: var(--nt-single-edge) !important;
  }

  body.single-listing .single-v3-submeta {
    min-height: 54px !important;
    margin-top: 5px !important;
    padding: 5px 0 !important;
  }

  body.single-listing .single-stat-item {
    padding: 0 7px !important;
  }

  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following {
    min-height: 36px !important;
    padding: 0 12px !important;
  }

  body.single-listing .single-v3-head-card > .single-v3-primary-actions-card {
    padding: 0 var(--nt-single-edge) !important;
    margin-top: 2px !important;
  }

  body.single-listing .single-v3-primary-actions-card .single-action-pill {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
  }

  /* Avantages : encore plus plat, plus de largeur, moins de boîte intérieure. */
  body.single-listing .single-v3-advantages-card--streamlined {
    padding: 12px var(--nt-single-section-x) 13px !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-section-title {
    font-size: calc(21px + var(--nt-km-font-boost, 0px)) !important;
    margin-bottom: 7px !important;
  }

  body.single-listing .single-compact-benefit-row,
  body.single-listing .single-advantage-box--streamlined .single-flat-loyalty-h116c.single-compact-loyalty {
    padding: 8px 0 !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-v3-cta,
  body.single-listing .single-v3-cta-gold {
    min-height: 44px !important;
    border-radius: 11px !important;
  }

  /* Photos clients : plus de carte englobante, bande visuelle ouverte. */
  body.single-listing .single-client-gallery-card {
    padding: 10px 0 11px !important;
    border-top: 1px solid var(--nt-single-line) !important;
    border-bottom: 1px solid var(--nt-single-line) !important;
    background: #fff !important;
  }

  body.single-listing .single-client-gallery-head {
    padding: 0 var(--nt-single-section-x) !important;
  }

  body.single-listing .single-client-gallery-head h2 {
    margin-top: 4px !important;
    font-size: calc(20px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-client-gallery-strip {
    padding-left: var(--nt-single-section-x) !important;
    padding-right: var(--nt-single-section-x) !important;
    gap: 7px !important;
  }

  /* Onglets : vraie barre compacte, pas de boutons flottants. */
  body.single-listing #singleTabsBlock .single-v4-tabs {
    gap: 0 !important;
    padding: 4px var(--nt-single-section-x) !important;
    border-top: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tab {
    min-height: 36px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
  }

  body.single-listing #singleTabsBlock .single-v3-panel-inner {
    padding: 11px var(--nt-single-section-x) 13px !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j {
    margin-bottom: 7px !important;
  }

  body.single-listing #singleTabsBlock .single-content-title {
    font-size: calc(22px + var(--nt-km-font-boost, 0px)) !important;
  }

  /* À propos : texte plus dense + bouton Lire la suite natif existant. */
  body.single-listing .single-smart-about-block .single-description {
    font-size: calc(13.5px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.48 !important;
  }

  body.single-listing .single-smart-about-block .nt-description-more-btn {
    min-height: 34px !important;
    margin-top: 7px !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: var(--nt-single-blue-soft) !important;
    color: #1d4ed8 !important;
    box-shadow: none !important;
    font-weight: 800 !important;
  }

  /* Caractéristiques : réduire fortement les espaces verticaux. */
  body.single-listing .single-smart-about-block .nt-listing-public-tags {
    margin-top: 9px !important;
    padding-top: 9px !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-group + .nt-listing-public-tag-group {
    margin-top: 5px !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-group-title {
    margin-bottom: 4px !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-list {
    gap: 5px !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-chip {
    min-height: 28px !important;
    padding: 0 9px !important;
    border-radius: 9px !important;
  }

  /* Localisation : section ouverte, suppression de la grosse boîte externe. */
  body.single-listing .single-location-section {
    margin-top: 8px !important;
    padding: 11px var(--nt-single-section-x) 12px !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    background: #fff !important;
  }

  body.single-listing .single-location-section::before {
    width: 32px !important;
    height: 3px !important;
    left: var(--nt-single-section-x) !important;
  }

  body.single-listing .single-location-section .single-section-title,
  body.single-listing .single-location-section h3,
  body.single-listing .single-location-section h4 {
    margin-top: 3px !important;
  }

  body.single-listing .single-location-address,
  body.single-listing .single-location-address-card,
  body.single-listing .single-address-box {
    border-radius: 11px !important;
    box-shadow: none !important;
  }

  body.single-listing .single-map-box,
  body.single-listing .single-map-box iframe {
    border-radius: 11px !important;
  }

  body.single-listing .single-map-box iframe {
    height: 186px !important;
  }

  body.single-listing .single-map-cta {
    min-height: 40px !important;
    border-radius: 10px !important;
  }

  /* Aide à la décision : simple bande de preuves rapides. */
  body.single-listing #singleTabsBlock .single-smart-decision-block {
    margin-top: 9px !important;
    padding: 10px 0 0 !important;
  }

  body.single-listing #singleTabsBlock .single-smart-decision-block h4 {
    margin: 3px 0 7px !important;
    font-size: calc(18px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing #singleTabsBlock .single-smart-reasons-grid {
    gap: 6px !important;
  }

  body.single-listing #singleTabsBlock .single-smart-decision-block .single-smart-reason-card {
    min-height: 34px !important;
    padding: 7px 10px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--nt-single-green-soft) !important;
  }

  body.single-listing #singleTabsBlock .single-smart-decision-block .single-smart-reason-card > span:last-child {
    display: none !important;
  }

  /* Contribution + communauté : même zone visuelle, moins de cartes successives. */
  body.single-listing #singleTabsBlock .single-contribute-card--info,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info {
    margin-top: 0 !important;
    padding: 11px 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--nt-single-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-card--info {
    margin-top: 10px !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-card--info h4,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-v3-recommend-title {
    font-size: calc(18px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-card--info p {
    margin: 3px 0 8px !important;
    line-height: 1.4 !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-card--info .single-contribute-btn,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn {
    min-height: 38px !important;
    border-radius: 10px !important;
  }

  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-v3-recommend-kicker {
    background: var(--nt-single-blue-soft) !important;
    border: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn.is-dark {
    background: #f1f6fd !important;
    border-color: #d9e6f7 !important;
    color: #36577e !important;
  }

  /* Barre fixe : encore 4 px plus fine. */
  body.single-listing .single-sticky-actions {
    width: calc(100% - 8px) !important;
    bottom: 4px !important;
    padding: 4px !important;
    gap: 4px !important;
    border-radius: 14px !important;
  }

  body.single-listing .single-sticky-pill {
    min-height: 42px !important;
    border-radius: 9px !important;
  }

  body.single-listing .single-v3-page {
    padding-bottom: calc(68px + env(safe-area-inset-bottom)) !important;
  }
}

/* ==========================================================
   LOT 360 CANDIDAT 3 — fidélité premium + finitions flat
   - paliers uniformes, taux sortis sous les cases
   - Lire la suite replacé avant les caractéristiques
   - localisation / communauté / barres plus plates
   - accent orange de navigation adouci sur la fiche publique
========================================================== */
body.single-listing .single-loyalty-progress-wrap {
  display: grid;
  gap: 4px;
  width: 100%;
}

body.single-listing .single-loyalty-rate-markers {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 5px;
  width: 100%;
  min-height: 16px;
  pointer-events: none;
}

body.single-listing .single-loyalty-rate-marker {
  align-self: start;
  justify-self: center;
  color: #66809f;
  font-size: calc(9px + var(--nt-km-font-boost, 0px));
  line-height: 1.1;
  font-weight: 850;
  white-space: nowrap;
}

body.single-listing .single-loyalty-rate-marker.marker-1 { grid-column: 1; }
body.single-listing .single-loyalty-rate-marker.marker-7 { grid-column: 7; }
body.single-listing .single-loyalty-rate-marker.marker-10 { grid-column: 10; }

@media (max-width: 767px) {
  body.single-listing {
    --nt-single-edge: 4px;
    --nt-single-section-x: 8px;
    --nt-single-blue: #2f6fe7;
    --nt-single-blue-soft: #edf4ff;
    --nt-single-green: #159579;
    --nt-single-green-soft: #eefaf6;
  }

  /* Avantages : plus premium, moins gris et moins de boîtes. */
  body.single-listing .single-v3-advantages-card--streamlined {
    padding: 12px var(--nt-single-section-x) 12px !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-section-title {
    margin-bottom: 9px !important;
    font-size: calc(21px + var(--nt-km-font-boost, 0px)) !important;
    letter-spacing: -.02em !important;
  }

  body.single-listing .single-advantage-box--streamlined {
    gap: 9px !important;
    padding: 9px 10px 10px !important;
    border: 1px solid #e7edf5 !important;
    border-radius: 14px !important;
    background: linear-gradient(180deg, #fff 0%, #fbfefd 100%) !important;
    box-shadow: 0 6px 18px rgba(26, 57, 92, .035) !important;
  }

  body.single-listing .single-compact-benefit-row {
    padding: 4px 0 7px !important;
  }

  body.single-listing .single-compact-benefit-label {
    background: #edf9f5 !important;
    border-color: #cfeee3 !important;
    color: #13735e !important;
  }

  body.single-listing .single-compact-benefit-rate {
    color: #0f8168 !important;
    font-size: calc(24px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-compact-loyalty-head {
    align-items: baseline !important;
  }

  body.single-listing .single-compact-loyalty-head > strong {
    color: #172033 !important;
  }

  body.single-listing .single-compact-loyalty-head > span {
    color: #48617e !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-compact-loyalty-current span {
    color: #6b7d93 !important;
  }

  /* 10 cases strictement identiques : aucun pourcentage dans la case. */
  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j {
    gap: 5px !important;
    margin: 0 !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    border: 1px solid #dfe7f1 !important;
    border-radius: 10px !important;
    background: #f5f8fc !important;
    color: #5f7189 !important;
    box-shadow: none !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot b {
    margin: 0 !important;
    color: inherit !important;
    font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-filled,
  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-reached {
    border-color: #b9d3ff !important;
    background: #eaf2ff !important;
    color: #245fc4 !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-current {
    border-color: #2f6fe7 !important;
    background: #dfeaff !important;
    color: #174ca9 !important;
    outline: 2px solid rgba(47,111,231,.12) !important;
    outline-offset: 2px !important;
  }

  body.single-listing .single-loyalty-rate-markers {
    gap: 5px !important;
    min-height: 15px !important;
    margin-top: 1px !important;
  }

  body.single-listing .single-loyalty-rate-marker {
    color: #6280a4 !important;
    font-size: calc(8.5px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 900 !important;
  }

  body.single-listing .single-v3-cta-gold,
  body.single-listing .single-advantage-box--streamlined .single-v3-cta {
    min-height: 45px !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #158f74, #0f8168) !important;
    box-shadow: 0 6px 14px rgba(15,129,104,.14) !important;
  }

  /* Lire la suite : juste après le texte, avant les tags. */
  body.single-listing .single-smart-about-block .single-description {
    position: relative !important;
  }

  body.single-listing .single-smart-about-block .nt-description-more-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 7px 0 2px !important;
    min-height: 32px !important;
    padding: 0 11px !important;
    border-radius: 8px !important;
    background: #edf4ff !important;
    color: #245fc4 !important;
  }

  body.single-listing .single-smart-about-block .nt-description-more-btn[hidden] {
    display: none !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tags {
    margin-top: 8px !important;
    padding-top: 8px !important;
  }

  /* Localisation : encore moins de carte dans carte. */
  body.single-listing .single-location-section {
    padding: 10px var(--nt-single-section-x) 10px !important;
    border-radius: 0 !important;
    border-top: 1px solid var(--nt-single-line) !important;
    border-bottom: 1px solid var(--nt-single-line) !important;
  }

  body.single-listing .single-location-address,
  body.single-listing .single-location-address-card,
  body.single-listing .single-address-box {
    margin-bottom: 7px !important;
    padding: 10px 11px !important;
    border: 1px solid #e4ebf3 !important;
    border-radius: 9px !important;
    background: #f8fbff !important;
  }

  body.single-listing .single-map-box,
  body.single-listing .single-map-box iframe {
    border-radius: 9px !important;
  }

  body.single-listing .single-map-box iframe {
    height: 174px !important;
  }

  body.single-listing .single-map-cta {
    min-height: 38px !important;
    margin-top: 7px !important;
    border-radius: 9px !important;
  }

  /* Bas de page : moins de cadres et boutons plus sobres. */
  body.single-listing #singleTabsBlock .single-smart-decision-block {
    padding-top: 9px !important;
  }

  body.single-listing #singleTabsBlock .single-smart-decision-block .single-smart-reason-card {
    background: #eefaf6 !important;
    border: 1px solid #d9f1e8 !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-card--info,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info {
    padding: 10px 0 !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-card--info .single-contribute-btn,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn {
    min-height: 36px !important;
    border-radius: 9px !important;
    box-shadow: none !important;
  }

  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn {
    background: #fff !important;
    border-color: #dbe5f0 !important;
    color: #385676 !important;
  }

  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn.is-dark {
    background: #edf4ff !important;
    border-color: #d6e5fb !important;
    color: #315e9b !important;
  }

  /* Barre d'actions fixe plus fine. */
  body.single-listing .single-sticky-actions {
    width: calc(100% - 6px) !important;
    bottom: 3px !important;
    padding: 3px !important;
    gap: 3px !important;
    border-radius: 12px !important;
  }

  body.single-listing .single-sticky-pill {
    min-height: 39px !important;
    border-radius: 8px !important;
    font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-v3-page {
    padding-bottom: calc(64px + env(safe-area-inset-bottom)) !important;
  }

  /* Navigation publique : garder le CTA central, mais calmer l'orange. */
  body.single-listing nav.app-bottom-nav.nt-client-bottom-nav-h145:not(.nt-client-bottom-nav-merchant-h304)
  .nt-client-bottom-nav-center-icon-h145,
  body.single-listing nav.app-bottom-nav.nt-client-bottom-nav-h145:not(.nt-client-bottom-nav-merchant-h304)
  .nt-client-bottom-nav-center-h145 > .app-bottom-icon {
    background: linear-gradient(135deg, #f36a48, #ee7657) !important;
    box-shadow: 0 7px 16px rgba(214,101,74,.18) !important;
  }
}

@media (max-width: 390px) {
  body.single-listing .single-loyalty-rate-markers,
  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j {
    gap: 3px !important;
  }

  body.single-listing .single-loyalty-rate-marker {
    font-size: calc(7.8px + var(--nt-km-font-boost, 0px)) !important;
  }
}


/* ==========================================================
   LOT 360 CANDIDAT 4 — corrections terrain
   - progression Fidélité+ robuste et lisible
   - description réellement repliée avant "Lire la suite"
   - séparateurs du bas adoucis
   - chevauchement du bouton central Offres corrigé
========================================================== */
@media (max-width: 767px) {
  /* Fidélité+ : 10 cases strictement régulières sur toute la largeur. */
  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-wrap {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j {
    display: grid !important;
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    gap: 5px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 7px 0 0 !important;
    padding: 0 !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 9px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot b {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  /* Les taux sont de petits repères sous la ligne, sans chevauchement. */
  body.single-listing .single-loyalty-rate-markers {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 18px !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.single-listing .single-loyalty-rate-marker {
    position: absolute !important;
    top: 0 !important;
    display: block !important;
    width: auto !important;
    max-width: 31% !important;
    color: #6b7f98 !important;
    font-size: calc(8px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.05 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  body.single-listing .single-loyalty-rate-marker.marker-1 {
    left: 0 !important;
    text-align: left !important;
  }

  body.single-listing .single-loyalty-rate-marker.marker-7 {
    left: 65% !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
  }

  body.single-listing .single-loyalty-rate-marker.marker-10 {
    right: 0 !important;
    text-align: right !important;
  }

  /* Description : 5 lignes réelles en mode replié. */
  body.single-listing .single-smart-about-block .nt-description-text.is-collapsible-mobile.is-collapsed {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 5 !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  body.single-listing .single-smart-about-block .nt-description-more-btn {
    margin-top: 8px !important;
  }

  /* Bas de fiche : séparateurs plus discrets. */
  body.single-listing #singleTabsBlock .single-smart-decision-block,
  body.single-listing #singleTabsBlock .single-contribute-card--info,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info {
    border-top-color: #edf2f7 !important;
  }

  /* Empêche le bouton central Offres de dépasser derrière la barre d'actions. */
  body.single-listing nav.app-bottom-nav.nt-client-bottom-nav-h145:not(.nt-client-bottom-nav-merchant-h304)
  .nt-client-bottom-nav-center-h145 {
    transform: translateY(6px) !important;
  }

  body.single-listing .single-sticky-actions {
    z-index: 10030 !important;
    background: rgba(255,255,255,.98) !important;
  }
}


/* ==========================================================
   LOT 360 CANDIDAT 5 — Avantages / Fidélité+ finition terrain
   - suppression du doublon "Remise par défaut" / "Remise immédiate"
   - remise immédiate + taux sur une ligne nette
   - respiration renforcée avant Fidélité+
   - repères de taux éloignés des 10 cases
========================================================== */
@media (max-width: 767px) {
  body.single-listing .single-advantage-box--streamlined {
    gap: 0 !important;
  }

  body.single-listing .single-compact-benefit-row--immediate-only {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 14px !important;
    row-gap: 0 !important;
    width: 100% !important;
    padding: 2px 0 14px !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(148, 163, 184, .18) !important;
  }

  body.single-listing .single-compact-benefit-row--immediate-only .single-compact-benefit-context {
    display: block !important;
    margin: 0 !important;
    color: #475569 !important;
    font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
  }

  body.single-listing .single-compact-benefit-row--immediate-only .single-compact-benefit-rate {
    display: block !important;
    margin: 0 !important;
    color: #0f8f75 !important;
    font-size: calc(27px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
  }

  body.single-listing .single-compact-loyalty {
    margin-top: 16px !important;
    padding-top: 0 !important;
  }

  body.single-listing .single-compact-loyalty-head {
    margin-bottom: 4px !important;
  }

  body.single-listing .single-compact-loyalty-current {
    margin-bottom: 13px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  body.single-listing .single-loyalty-rate-markers {
    min-height: 24px !important;
    margin-top: 9px !important;
  }

  body.single-listing .single-loyalty-rate-marker {
    top: 0 !important;
    color: #718198 !important;
    font-size: calc(8.5px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
    font-weight: 800 !important;
  }

  body.single-listing .single-advantage-actions.single-flat-actions-h116c {
    margin-top: 14px !important;
  }
}

/* ==========================================================
   LOT 360 CANDIDAT 6 — Fidélité+ respiration taux / paliers
   - davantage d'espace vertical entre les cases et les taux
   - alignement conservé sous les paliers 1 / 7 / 10
   - aucune modification métier
========================================================== */
@media (max-width: 767px) {
  body.single-listing .single-loyalty-rate-markers {
    min-height: 28px !important;
    margin-top: 14px !important;
  }

  body.single-listing .single-loyalty-rate-marker {
    top: 0 !important;
    line-height: 1.1 !important;
  }
}

/* ==========================================================
   LOT 360 CANDIDAT 7 — nav fiche + respiration contenu + localisation
   - masque le CTA central Offres sous la barre d'actions de la fiche
   - protège le bas des contenus contre la barre fixe
   - aplatit une dernière fois la section Localisation
========================================================== */
@media (max-width: 767px) {
  /* La fiche possède déjà sa barre d'actions contextuelle : éviter deux CTA superposés. */
  body.single-listing nav.app-bottom-nav.nt-client-bottom-nav-h145:not(.nt-client-bottom-nav-merchant-h304)
  .nt-client-bottom-nav-center-h145 {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: none !important;
  }

  /* Le dernier contenu de chaque panneau reste entièrement visible au-dessus de la barre fixe. */
  body.single-listing #singleTabsBlock,
  body.single-listing .single-info-panel,
  body.single-listing .single-tab-panel {
    padding-bottom: 76px !important;
  }

  /* Localisation : section ouverte, sans enveloppe lourde supplémentaire. */
  body.single-listing .single-location-section {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    border-top: 1px solid #edf2f7 !important;
    padding-left: var(--nt-single-section-x) !important;
    padding-right: var(--nt-single-section-x) !important;
  }

  body.single-listing .single-location-address,
  body.single-listing .single-location-address-card,
  body.single-listing .single-address-box {
    border: 0 !important;
    box-shadow: none !important;
    background: #f7faff !important;
    border-radius: 10px !important;
  }
}

/* ==========================================================
   LOT 360 CANDIDAT 8 — FULL FLAT MOBILE / LARGEUR MAXIMALE
   - suppression visuelle des wrappers imbriqués
   - sections pleine largeur, sans marges latérales de cartes
   - fond continu blanc + séparateurs fins
   - nav principale restaurée, barre d'actions empilée au-dessus
   - palette froide/verte, orange limité au CTA central historique
   Aucun changement métier.
========================================================== */
@media (max-width: 767px) {
  body.single-listing {
    --nt-single-edge: 0px;
    --nt-single-section-x: 12px;
    --nt-single-page: #ffffff;
    --nt-single-surface: #ffffff;
    --nt-single-line: #e8eef5;
    --nt-single-blue: #2f6fe7;
    --nt-single-blue-soft: #eef5ff;
    --nt-single-green: #129276;
    --nt-single-green-soft: #edf9f5;
    background: #fff !important;
  }

  /* 1) Socle : plus de grandes cartes blanches posées sur un fond différent. */
  body.single-listing .single-v3-page,
  body.single-listing .single-v3-shell,
  body.single-listing .single-v3-main,
  body.single-listing .single-v3-content,
  body.single-listing .single-v3-head-card,
  body.single-listing #singleTabsBlock.single-v3-panels-card,
  body.single-listing #singleTabsBlock .single-v3-panel-inner,
  body.single-listing .single-v3-advantages-card,
  body.single-listing .single-client-gallery-card,
  body.single-listing .single-location-section,
  body.single-listing #singleTabsBlock .single-smart-about-block,
  body.single-listing #singleTabsBlock .single-smart-decision-block,
  body.single-listing #singleTabsBlock .single-contribute-card--info,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  body.single-listing .single-v3-page,
  body.single-listing .single-v3-shell,
  body.single-listing .single-v3-main,
  body.single-listing .single-v3-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Chaque section = contenu + séparateur. Aucun cadre englobant. */
  body.single-listing .single-v3-advantages-card,
  body.single-listing .single-client-gallery-card,
  body.single-listing #singleTabsBlock.single-v3-panels-card,
  body.single-listing .single-location-section {
    margin-top: 0 !important;
    border-top: 8px solid #f2f6fa !important;
    border-bottom: 0 !important;
  }

  /* 2) Hero / infos rapides : pleine largeur, sans carte intermédiaire. */
  body.single-listing .single-v3-head-card {
    padding: 0 !important;
  }

  body.single-listing .single-v3-head-card > .single-v3-meta-line,
  body.single-listing .single-v3-head-card > .single-v3-submeta,
  body.single-listing .single-v3-head-card > .single-v3-primary-actions-card {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--nt-single-section-x) !important;
    padding-right: var(--nt-single-section-x) !important;
  }

  body.single-listing .single-v3-meta-line {
    padding-top: 10px !important;
    padding-bottom: 6px !important;
  }

  body.single-listing .single-v3-submeta {
    margin-top: 0 !important;
    min-height: 52px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--nt-single-line) !important;
  }

  body.single-listing .single-v3-head-card > .single-v3-primary-actions-card {
    margin-top: 0 !important;
    padding-top: 7px !important;
    padding-bottom: 8px !important;
  }

  /* 3) Avantages : totalement plat. Seuls les éléments interactifs restent dessinés. */
  body.single-listing .single-v3-advantages-card--streamlined {
    padding: 15px var(--nt-single-section-x) 16px !important;
    background: #fff !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-section-title {
    margin: 0 0 14px !important;
    font-size: calc(22px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-advantage-box--streamlined {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-compact-benefit-row--immediate-only {
    padding: 0 0 14px !important;
    border-bottom: 1px solid var(--nt-single-line) !important;
  }

  body.single-listing .single-compact-loyalty {
    margin-top: 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.single-listing .single-advantage-actions.single-flat-actions-h116c {
    margin-top: 16px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-v3-cta,
  body.single-listing .single-v3-cta-gold {
    width: 100% !important;
    min-height: 48px !important;
    border-radius: 12px !important;
    background: #129276 !important;
    box-shadow: none !important;
  }

  /* 4) Photos clients : carousel réellement bord à bord. */
  body.single-listing .single-client-gallery-card {
    padding: 14px 0 14px !important;
  }

  body.single-listing .single-client-gallery-head {
    padding: 0 var(--nt-single-section-x) !important;
  }

  body.single-listing .single-client-gallery-strip {
    padding-left: 0 !important;
    padding-right: 0 !important;
    scroll-padding-left: var(--nt-single-section-x) !important;
    gap: 8px !important;
  }

  body.single-listing .single-client-gallery-strip::before {
    content: "";
    flex: 0 0 calc(var(--nt-single-section-x) - 8px);
  }

  body.single-listing .single-client-gallery-strip::after {
    content: "";
    flex: 0 0 calc(var(--nt-single-section-x) - 8px);
  }

  /* 5) Onglets : barre simple bord à bord. */
  body.single-listing #singleTabsBlock .single-v4-tabs {
    padding: 0 !important;
    gap: 0 !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--nt-single-line) !important;
    background: #fff !important;
    backdrop-filter: none !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tab {
    flex: 1 0 auto !important;
    min-height: 46px !important;
    padding: 0 12px !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tab.active {
    color: #1f5fd2 !important;
    background: #f7faff !important;
    box-shadow: inset 0 -3px 0 #2f6fe7 !important;
  }

  /* 6) Contenu Info : aucun wrapper visuel, juste 12 px de respiration. */
  body.single-listing #singleTabsBlock .single-v3-panel-inner {
    padding: 14px var(--nt-single-section-x) 0 !important;
  }

  body.single-listing #singleTabsBlock .single-smart-about-block,
  body.single-listing .single-smart-about-block .nt-listing-public-tags {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tags {
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--nt-single-line) !important;
  }

  /* 7) Localisation : pas d'enveloppe. Adresse + carte + CTA sur toute la largeur disponible. */
  body.single-listing .single-location-section {
    margin-left: calc(-1 * var(--nt-single-section-x)) !important;
    margin-right: calc(-1 * var(--nt-single-section-x)) !important;
    width: calc(100% + (2 * var(--nt-single-section-x))) !important;
    padding: 16px var(--nt-single-section-x) 16px !important;
    border-top: 8px solid #f2f6fa !important;
    background: #fff !important;
  }

  body.single-listing .single-location-section::before {
    display: none !important;
  }

  body.single-listing .single-location-address,
  body.single-listing .single-location-address-card,
  body.single-listing .single-address-box {
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-map-box {
    margin-left: calc(-1 * var(--nt-single-section-x)) !important;
    margin-right: calc(-1 * var(--nt-single-section-x)) !important;
    width: calc(100% + (2 * var(--nt-single-section-x))) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body.single-listing .single-map-box iframe {
    width: 100% !important;
    height: 190px !important;
    border-radius: 0 !important;
  }

  body.single-listing .single-map-cta {
    width: 100% !important;
    margin: 10px 0 0 !important;
    min-height: 44px !important;
    border-radius: 10px !important;
  }

  /* 8) Décision / contribuer / communauté : une seule colonne continue, séparateurs fins. */
  body.single-listing #singleTabsBlock .single-smart-decision-block,
  body.single-listing #singleTabsBlock .single-contribute-card--info,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info {
    margin: 0 calc(-1 * var(--nt-single-section-x)) !important;
    width: calc(100% + (2 * var(--nt-single-section-x))) !important;
    padding: 16px var(--nt-single-section-x) !important;
    border: 0 !important;
    border-top: 1px solid var(--nt-single-line) !important;
    border-radius: 0 !important;
    background: #fff !important;
  }

  body.single-listing #singleTabsBlock .single-smart-decision-block .single-smart-reason-card {
    min-height: 36px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--nt-single-green-soft) !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-card--info .single-contribute-btn,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn {
    min-height: 40px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }

  /* 9) NAV : restaurer Offres. La barre contextuelle passe AU-DESSUS de la nav, jamais dessus. */
  body.single-listing nav.app-bottom-nav.nt-client-bottom-nav-h145:not(.nt-client-bottom-nav-merchant-h304)
  .nt-client-bottom-nav-center-h145 {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  body.single-listing nav.app-bottom-nav.nt-client-bottom-nav-h145:not(.nt-client-bottom-nav-merchant-h304)
  .nt-client-bottom-nav-center-icon-h145,
  body.single-listing nav.app-bottom-nav.nt-client-bottom-nav-h145:not(.nt-client-bottom-nav-merchant-h304)
  .nt-client-bottom-nav-center-h145 > .app-bottom-icon {
    background: #f27659 !important;
    box-shadow: 0 5px 13px rgba(190,92,68,.16) !important;
  }

  body.single-listing .single-sticky-actions {
    z-index: 10030 !important;
    width: 100% !important;
    max-width: none !important;
    left: 0 !important;
    right: 0 !important;
    bottom: calc(64px + env(safe-area-inset-bottom)) !important;
    padding: 5px 8px !important;
    gap: 4px !important;
    border: 0 !important;
    border-top: 1px solid var(--nt-single-line) !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 -5px 18px rgba(15,23,42,.06) !important;
  }

  body.single-listing .single-sticky-pill {
    min-height: 42px !important;
    border-radius: 9px !important;
  }

  body.single-listing .single-v3-page {
    padding-bottom: calc(126px + env(safe-area-inset-bottom)) !important;
  }

  body.single-listing #singleTabsBlock,
  body.single-listing .single-info-panel,
  body.single-listing .single-tab-panel {
    padding-bottom: 0 !important;
  }
}

/* ==========================================================
   LOT 360 CANDIDAT 9 — FULL FLAT FINALISATION MOBILE
   - barre contextuelle 4 actions toujours complète
   - localisation réellement sans carte englobante
   - largeur utile maximale sur les sections basses
   Aucun changement métier.
========================================================== */
@media (max-width: 767px) {
  body.single-listing {
    --nt-single-section-x: 10px;
  }

  /* 1) BARRE CONTEXTUELLE : 4 actions garanties, sans rail ni découpe. */
  body.single-listing .single-sticky-actions {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: calc(64px + env(safe-area-inset-bottom)) !important;
    margin: 0 !important;
    padding: 5px 6px !important;
    gap: 4px !important;
    overflow: visible !important;
    transform: none !important;
    border: 0 !important;
    border-top: 1px solid var(--nt-single-line) !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 -4px 14px rgba(15,23,42,.055) !important;
  }

  body.single-listing .single-sticky-actions > *,
  body.single-listing .single-sticky-actions .single-sticky-pill {
    display: inline-flex !important;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.single-listing .single-sticky-pill {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 5px !important;
    border-radius: 9px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* 2) NAV PRINCIPALE : bouton central Offres conservé et au-dessus de sa barre. */
  body.single-listing nav.app-bottom-nav.nt-client-bottom-nav-h145:not(.nt-client-bottom-nav-merchant-h304) {
    overflow: visible !important;
    z-index: 10020 !important;
  }

  body.single-listing nav.app-bottom-nav.nt-client-bottom-nav-h145:not(.nt-client-bottom-nav-merchant-h304)
  .nt-client-bottom-nav-center-h145 {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    z-index: 2 !important;
  }

  /* 3) LOCALISATION : plus aucune enveloppe "carte". */
  body.single-listing .single-location-section {
    margin: 0 calc(-1 * var(--nt-single-section-x)) !important;
    width: calc(100% + (2 * var(--nt-single-section-x))) !important;
    padding: 18px var(--nt-single-section-x) 16px !important;
    border: 0 !important;
    border-top: 8px solid #f2f6fa !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.single-listing .single-location-section > *,
  body.single-listing .single-location-section .single-location-inner,
  body.single-listing .single-location-section .single-location-content,
  body.single-listing .single-location-section .single-location-card {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.single-listing .single-location-address,
  body.single-listing .single-location-address-card,
  body.single-listing .single-address-box {
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-map-box {
    width: calc(100% + (2 * var(--nt-single-section-x))) !important;
    max-width: none !important;
    margin-left: calc(-1 * var(--nt-single-section-x)) !important;
    margin-right: calc(-1 * var(--nt-single-section-x)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.single-listing .single-map-box iframe {
    display: block !important;
    width: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  body.single-listing .single-map-cta {
    width: 100% !important;
    max-width: none !important;
    margin: 10px 0 0 !important;
    border-radius: 8px !important;
  }

  /* 4) BAS DE FICHE : flux pleine largeur, aucun wrapper latéral visible. */
  body.single-listing #singleTabsBlock .single-smart-decision-block,
  body.single-listing #singleTabsBlock .single-contribute-card--info,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info {
    margin-left: calc(-1 * var(--nt-single-section-x)) !important;
    margin-right: calc(-1 * var(--nt-single-section-x)) !important;
    width: calc(100% + (2 * var(--nt-single-section-x))) !important;
    max-width: none !important;
    padding-left: var(--nt-single-section-x) !important;
    padding-right: var(--nt-single-section-x) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Réserve bas : 2 barres fixes sans masquer le dernier contenu. */
  body.single-listing .single-v3-page {
    padding-bottom: calc(132px + env(safe-area-inset-bottom)) !important;
  }
}


/* ==========================================================
   LOT 360 CANDIDAT 10 — FINITION FULL FLAT MOBILE
   - localisation sans carte englobante réelle
   - adresse sans sous-carte
   - sections basses au maximum de largeur utile
   Aucun changement métier.
========================================================== */
@media (max-width: 767px) {
  body.single-listing {
    --nt-single-section-x: 8px;
  }

  /* LOCALISATION — surcharge volontairement plus spécifique que les styles historiques. */
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-location-section,
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-v3-card.single-location-section.single-edge-card {
    display: block !important;
    position: relative !important;
    width: calc(100% + (2 * var(--nt-single-section-x))) !important;
    max-width: none !important;
    margin: 18px calc(-1 * var(--nt-single-section-x)) 0 !important;
    padding: 16px var(--nt-single-section-x) 14px !important;
    border: 0 !important;
    border-top: 1px solid var(--nt-single-line) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-location-section::before,
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section::before {
    content: none !important;
    display: none !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-location-section__head,
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section__head {
    margin: 0 0 10px !important;
    padding: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-location-section__head .single-content-title,
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section__head .single-content-title {
    margin: 0 !important;
    font-size: calc(21px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.2 !important;
  }

  /* Adresse = texte et distance dans le flux, sans carte secondaire. */
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-location-section .single-address-block,
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section .single-address-block {
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section .single-address-text {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.45 !important;
  }

  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section .single-address-distance {
    display: inline-flex !important;
    width: auto !important;
    margin: 7px 0 0 !important;
    padding: 6px 10px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #eef4fb !important;
    box-shadow: none !important;
  }

  /* Carte bord à bord sur la largeur de section, sans coins ni wrapper visuel. */
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-location-section .single-map-box,
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section .single-map-box {
    display: block !important;
    width: calc(100% + (2 * var(--nt-single-section-x))) !important;
    max-width: none !important;
    margin: 12px calc(-1 * var(--nt-single-section-x)) 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-location-section .single-map-box iframe,
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section .single-map-box iframe {
    display: block !important;
    width: 100% !important;
    height: 205px !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-location-section .single-map-cta,
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section .single-map-cta {
    width: 100% !important;
    min-height: 42px !important;
    margin: 10px 0 0 !important;
    padding: 8px 10px !important;
    border-radius: 8px !important;
    box-shadow: none !important;
  }

  /* BAS DE FICHE — largeur utile maximale et rythme plus compact. */
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-smart-decision-block,
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-contribute-card--info,
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-v3-recommend-card--info {
    width: calc(100% + (2 * var(--nt-single-section-x))) !important;
    max-width: none !important;
    margin-left: calc(-1 * var(--nt-single-section-x)) !important;
    margin-right: calc(-1 * var(--nt-single-section-x)) !important;
    padding-left: var(--nt-single-section-x) !important;
    padding-right: var(--nt-single-section-x) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-smart-decision-block,
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-contribute-card--info,
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-v3-recommend-card--info {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
}


/* =====================================================
   Lot 360 candidat 11 — sous-méta compacte + actions Info
   - stats + suivre + partager sur la même ligne
   - suppression des séparateurs verticaux gris
   - Appeler / Plan déplacés dans l’en-tête de la section Info
===================================================== */
@media (max-width: 767px) {
  body.single-listing .single-v3-head-card > .single-v3-primary-actions-card {
    display: none !important;
  }

  body.single-listing .single-v3-submeta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  body.single-listing .single-v3-submeta-stats {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 0 !important;
  }

  body.single-listing .single-stat-item {
    flex: 1 1 0 !important;
    padding: 0 6px !important;
  }

  body.single-listing .single-stat-item + .single-stat-item::before,
  body.single-listing .single-submeta-divider {
    display: none !important;
    content: none !important;
  }

  body.single-listing .single-v3-submeta-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
  }

  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following,
  body.single-listing .single-submeta-share-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 10px !important;
    border-radius: 12px !important;
    font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
  }

  body.single-listing .single-submeta-share-btn {
    border: 1px solid var(--nt-single-line) !important;
    background: #fff !important;
    color: var(--nt-single-ink) !important;
  }

  body.single-listing .single-submeta-share-btn:focus-visible {
    outline: 2px solid var(--nt-single-blue) !important;
    outline-offset: 2px !important;
  }

  body.single-listing .single-v3-submeta .follow-icon {
    font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-v3-submeta .follow-label {
    font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 850 !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j {
    align-items: center !important;
    gap: 8px !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-grid {
    flex: 0 1 auto !important;
    max-width: none !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding-bottom: 0 !important;
    white-space: nowrap !important;
    scrollbar-width: none !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-grid::-webkit-scrollbar {
    display: none !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-card,
  body.single-listing #singleTabsBlock .single-info-head-h60j a.single-info-quick-card {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    border: 1px solid var(--nt-single-line) !important;
    background: #fff !important;
    color: var(--nt-single-ink) !important;
    box-shadow: none !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-icon {
    font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-title {
    font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 850 !important;
  }
}

@media (max-width: 380px) {
  body.single-listing .single-v3-submeta {
    gap: 6px !important;
  }

  body.single-listing .single-stat-item {
    padding: 0 4px !important;
  }

  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following,
  body.single-listing .single-submeta-share-btn {
    padding: 0 8px !important;
  }

  body.single-listing .single-v3-submeta .follow-label {
    font-size: calc(11px + var(--nt-km-font-boost, 0px)) !important;
  }
}


/* =====================================================
   Lot 360 candidat 12 — rail stats justifié + avantages sans conteneur
   - rail Abonnés / Vues / Partages / Suivre / Partager en remplissage complet
   - suppression totale des séparateurs verticaux
   - zone Remise + Fidélité aplatie, sans conteneur interne
   - progression 1..10 élargie, plus moderne, centrée et justifiée
===================================================== */
@media (max-width: 767px) {
  body.single-listing .single-v3-submeta {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto !important;
    align-items: center !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    width: 100% !important;
  }

  body.single-listing .single-v3-submeta-stats,
  body.single-listing .single-v3-submeta-actions {
    display: contents !important;
  }

  body.single-listing .single-stat-item {
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.single-listing .single-stat-item::before,
  body.single-listing .single-stat-item::after,
  body.single-listing .single-stat-item + .single-stat-item::before,
  body.single-listing .single-submeta-divider {
    display: none !important;
    content: none !important;
    background: transparent !important;
    border: 0 !important;
    width: 0 !important;
  }

  body.single-listing .single-stat-value,
  body.single-listing .single-stat-label {
    width: 100% !important;
    text-align: center !important;
  }

  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following,
  body.single-listing .single-submeta-share-btn {
    min-width: max-content !important;
    justify-self: end !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined {
    padding-left: var(--nt-single-section-x) !important;
    padding-right: var(--nt-single-section-x) !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-v3-advantages-list {
    gap: 0 !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-advantage-box--streamlined {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-compact-benefit-row {
    padding: 4px 0 12px !important;
    border-bottom: 1px solid #e8eef5 !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-flat-loyalty-h116c.single-compact-loyalty {
    margin-top: 0 !important;
    padding-top: 12px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-compact-loyalty-head {
    justify-content: space-between !important;
    gap: 8px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-current.single-compact-loyalty-current {
    margin-top: 4px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-wrap {
    gap: 8px !important;
    margin-top: 8px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
    justify-content: center !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot {
    height: 46px !important;
    min-height: 46px !important;
    border-radius: 14px !important;
    border: 1px solid #dbe5f0 !important;
    background: #f6f9fc !important;
    box-shadow: none !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot b {
    font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 900 !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-rate-markers {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 16px !important;
    margin-top: 0 !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-rate-marker,
  body.single-listing .single-advantage-box--streamlined .single-loyalty-rate-marker.marker-1,
  body.single-listing .single-advantage-box--streamlined .single-loyalty-rate-marker.marker-7,
  body.single-listing .single-advantage-box--streamlined .single-loyalty-rate-marker.marker-10 {
    grid-column: auto !important;
    justify-self: auto !important;
    flex: 1 1 0 !important;
    text-align: center !important;
  }

  body.single-listing .single-advantage-actions.single-flat-actions-h116c {
    margin-top: 14px !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 380px) {
  body.single-listing .single-v3-submeta {
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto !important;
    column-gap: 6px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j {
    gap: 6px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot {
    height: 42px !important;
    min-height: 42px !important;
  }
}


/* =====================================================
   Lot 360 candidat 13 — rail sans barres + Fidélité+ 10 paliers
   - suppression des barres verticales de début/fin du rail engagement
   - rail Abonnés / Vues / Partages / Suivre / Partager justifié pleine largeur
   - Remise immédiate / Fidélité+ sans fond coloré
   - retour à 10 paliers sur une seule ligne, largeur utile maximisée
   - marqueurs de taux sur ligne séparée, alignés sous 1 / 7 / 10
===================================================== */
@media (max-width: 767px) {
  /* Rail engagement : aucun trait vertical, y compris aux extrémités. */
  body.single-listing .single-v3-submeta,
  body.single-listing .single-v3-submeta::before,
  body.single-listing .single-v3-submeta::after,
  body.single-listing .single-v3-submeta-stats,
  body.single-listing .single-v3-submeta-stats::before,
  body.single-listing .single-v3-submeta-stats::after,
  body.single-listing .single-v3-submeta-actions,
  body.single-listing .single-v3-submeta-actions::before,
  body.single-listing .single-v3-submeta-actions::after {
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-submeta::before,
  body.single-listing .single-v3-submeta::after,
  body.single-listing .single-v3-submeta-stats::before,
  body.single-listing .single-v3-submeta-stats::after,
  body.single-listing .single-v3-submeta-actions::before,
  body.single-listing .single-v3-submeta-actions::after {
    display: none !important;
    content: none !important;
  }

  body.single-listing .single-v3-submeta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body.single-listing .single-v3-submeta-stats {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  body.single-listing .single-v3-submeta-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
  }

  body.single-listing .single-stat-item {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.single-listing .single-stat-item::before,
  body.single-listing .single-stat-item::after,
  body.single-listing .single-stat-item + .single-stat-item::before,
  body.single-listing .single-stat-item + .single-stat-item::after,
  body.single-listing .single-submeta-divider {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  /* Avantages : aucun fond décoratif derrière les deux lignes métier. */
  body.single-listing .single-v3-advantages-card--streamlined,
  body.single-listing .single-v3-advantages-card--streamlined .single-v3-advantages-list,
  body.single-listing .single-v3-advantages-card--streamlined .single-advantage-box--streamlined,
  body.single-listing .single-v3-advantages-card--streamlined .single-compact-benefit-row,
  body.single-listing .single-v3-advantages-card--streamlined .single-flat-loyalty-h116c.single-compact-loyalty,
  body.single-listing .single-v3-advantages-card--streamlined .single-compact-loyalty-head,
  body.single-listing .single-v3-advantages-card--streamlined .single-loyalty-current.single-compact-loyalty-current {
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-advantage-box--streamlined {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-compact-benefit-row--immediate-only {
    padding: 2px 0 14px !important;
    border-bottom: 1px solid #e8eef5 !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-flat-loyalty-h116c.single-compact-loyalty {
    padding: 14px 0 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  /* Progression : 10 paliers sur une seule ligne, largeur complète. */
  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-wrap {
    display: grid !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 10px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j {
    display: grid !important;
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 5px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border-radius: 11px !important;
    border: 1px solid #dce5ef !important;
    background: #f7f9fc !important;
    color: #566b85 !important;
    box-shadow: none !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot b {
    margin: 0 !important;
    font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-filled,
  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-reached {
    border-color: #bfd4f4 !important;
    background: #edf4ff !important;
    color: #2d63b8 !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-current {
    border-color: #7aa7ec !important;
    background: #e5efff !important;
    color: #1f56a9 !important;
    outline: none !important;
  }

  /* Marqueurs sous les bons paliers, sur une vraie ligne distincte. */
  body.single-listing .single-advantage-box--streamlined .single-loyalty-rate-markers {
    display: grid !important;
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 5px !important;
    width: 100% !important;
    min-height: 18px !important;
    margin-top: 2px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-rate-marker {
    align-self: start !important;
    justify-self: center !important;
    flex: initial !important;
    text-align: center !important;
    color: #6d819a !important;
    font-size: calc(8px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-rate-marker.marker-1 { grid-column: 1 !important; }
  body.single-listing .single-advantage-box--streamlined .single-loyalty-rate-marker.marker-7 { grid-column: 7 !important; }
  body.single-listing .single-advantage-box--streamlined .single-loyalty-rate-marker.marker-10 { grid-column: 10 !important; }

  body.single-listing .single-advantage-actions.single-flat-actions-h116c {
    margin-top: 16px !important;
  }
}

@media (max-width: 380px) {
  body.single-listing .single-v3-submeta {
    gap: 8px !important;
  }

  body.single-listing .single-v3-submeta-stats {
    gap: 6px !important;
  }

  body.single-listing .single-v3-submeta-actions {
    gap: 6px !important;
  }

  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following,
  body.single-listing .single-submeta-share-btn {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j {
    gap: 4px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot {
    height: 39px !important;
    min-height: 39px !important;
    border-radius: 10px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-loyalty-rate-marker {
    font-size: calc(7.5px + var(--nt-km-font-boost, 0px)) !important;
  }
}


/* =====================================================
   Lot 360 candidat 14 — correction robuste rail + Fidélité+
   -----------------------------------------------------
   Cette passe isole la progression Fidélité+ des anciens
   sélecteurs historiques afin d'éviter les collisions CSS
   observées sur le candidat 13.
===================================================== */
@media (max-width: 767px) {
  /* Rail engagement : largeur complète, aucune barre verticale. */
  body.single-listing .single-v3-submeta {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, .72fr)) minmax(0, 1.08fr) minmax(0, 1.12fr) !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    gap: 6px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: var(--nt-single-section-x) !important;
    padding-right: var(--nt-single-section-x) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-submeta-stats,
  body.single-listing .single-v3-submeta-actions {
    display: contents !important;
  }

  body.single-listing .single-v3-submeta::before,
  body.single-listing .single-v3-submeta::after,
  body.single-listing .single-v3-submeta-stats::before,
  body.single-listing .single-v3-submeta-stats::after,
  body.single-listing .single-v3-submeta-actions::before,
  body.single-listing .single-v3-submeta-actions::after,
  body.single-listing .single-stat-item::before,
  body.single-listing .single-stat-item::after,
  body.single-listing .single-stat-item + .single-stat-item::before,
  body.single-listing .single-stat-item + .single-stat-item::after,
  body.single-listing .single-submeta-divider {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-stat-item {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-self: stretch !important;
    align-items: center !important;
  }

  body.single-listing .single-stat-value,
  body.single-listing .single-stat-label {
    width: 100% !important;
    text-align: center !important;
  }

  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following,
  body.single-listing .single-submeta-share-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-self: stretch !important;
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  /* Avantages : section blanche et complètement plate. */
  body.single-listing .single-v3-advantages-card--streamlined {
    background: #fff !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-v3-advantages-list,
  body.single-listing .single-v3-advantages-card--streamlined .single-advantage-box--streamlined,
  body.single-listing .single-v3-advantages-card--streamlined .single-compact-benefit-row,
  body.single-listing .single-v3-advantages-card--streamlined .single-flat-loyalty-h116c.single-compact-loyalty,
  body.single-listing .single-v3-advantages-card--streamlined .single-compact-loyalty-head,
  body.single-listing .single-v3-advantages-card--streamlined .single-loyalty-current.single-compact-loyalty-current {
    background: transparent !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-advantage-box--streamlined {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-compact-benefit-row--immediate-only {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    width: 100% !important;
    padding: 4px 0 14px !important;
    border-bottom: 1px solid #e7edf4 !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-compact-benefit-context {
    color: #445066 !important;
    background: transparent !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-compact-benefit-rate {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    color: #129377 !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-flat-loyalty-h116c.single-compact-loyalty {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-compact-loyalty-head {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-compact-loyalty-head > strong,
  body.single-listing .single-v3-advantages-card--streamlined .single-compact-loyalty-head > span {
    background: transparent !important;
  }

  body.single-listing .single-v3-advantages-card--streamlined .single-loyalty-current.single-compact-loyalty-current {
    display: block !important;
    width: 100% !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body.single-listing .single-advantage-actions.single-flat-actions-h116c {
    width: 100% !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 390px) {
  body.single-listing .single-v3-submeta {
    gap: 4px !important;
  }

  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following,
  body.single-listing .single-submeta-share-btn {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  body.single-listing .single-v3-submeta .follow-label {
    font-size: calc(10.5px + var(--nt-km-font-boost, 0px)) !important;
  }

}

/* ======================================================================
   LOT 360 — COUCHE FINALE VALIDÉE
   Règles finales conservées dans leur ordre de cascade d'origine.
   ====================================================================== */

@media (max-width: 767px) {
  body.single-listing {
    --nt-l360-x: 10px;
    --nt-l360-line: #e9eef5;
    --nt-l360-ink: #172033;
    --nt-l360-muted: #6c7d93;
    --nt-l360-blue: #2f6fe7;
    --nt-l360-green: #129377;
    background: #fff !important;
  }

  /* Le bloc sous le Hero commence immédiatement. */
  body.single-listing .single-v3-card.single-v3-head-card {
    padding-top: 0 !important;
    padding-left: var(--nt-l360-x) !important;
    padding-right: var(--nt-l360-x) !important;
  }

  /* ---------------------------------------------------------------
     1. Rail contexte : Distance / catégorie / statut / horaires
     Plat, sans badge ni fond, aucune marge verticale inutile.
     --------------------------------------------------------------- */
  body.single-listing .single-v3-meta-line {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.single-listing .single-v3-meta-line::before,
  body.single-listing .single-v3-meta-line::after {
    display: none !important;
    content: none !important;
  }

  body.single-listing .single-v3-meta-line .single-v3-chip,
  body.single-listing .single-v3-meta-line .single-link-hours {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #556981 !important;
    font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  body.single-listing .single-v3-meta-line .chip-distance {
    color: var(--nt-l360-blue) !important;
  }

  body.single-listing .single-v3-meta-line .single-status-dot {
    width: 7px !important;
    height: 7px !important;
    margin-right: 6px !important;
  }

  body.single-listing .single-v3-meta-line .nt-listing-category-icon {
    width: 17px !important;
    height: 17px !important;
    flex: 0 0 17px !important;
    margin-right: 6px !important;
  }

  /* ---------------------------------------------------------------
     2. Rail engagement : 3 stats + Abonné + Partager
     Zéro séparateur vertical, zéro padding latéral.
     --------------------------------------------------------------- */
  body.single-listing .single-v3-submeta {
    display: grid !important;
    grid-template-columns: .72fr .72fr .72fr 1.08fr 1.18fr !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 10px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-submeta-stats,
  body.single-listing .single-v3-submeta-actions {
    display: contents !important;
  }

  body.single-listing .single-v3-submeta::before,
  body.single-listing .single-v3-submeta::after,
  body.single-listing .single-v3-submeta-stats::before,
  body.single-listing .single-v3-submeta-stats::after,
  body.single-listing .single-v3-submeta-actions::before,
  body.single-listing .single-v3-submeta-actions::after,
  body.single-listing .single-stat-item::before,
  body.single-listing .single-stat-item::after,
  body.single-listing .single-stat-item + .single-stat-item::before,
  body.single-listing .single-stat-item + .single-stat-item::after,
  body.single-listing .single-follow-btn::before,
  body.single-listing .single-follow-btn::after,
  body.single-listing .single-submeta-share-btn::before,
  body.single-listing .single-submeta-share-btn::after,
  body.single-listing .single-submeta-divider {
    display: none !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-stat-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  body.single-listing .single-stat-value {
    margin: 0 !important;
    color: var(--nt-l360-ink) !important;
    font-size: calc(17px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    text-align: center !important;
  }

  body.single-listing .single-stat-label {
    margin-top: 4px !important;
    color: #8090a5 !important;
    font-size: calc(8.5px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following,
  body.single-listing .single-submeta-share-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 7px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    font-size: calc(11px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 850 !important;
  }

  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following {
    border: 1px solid #bfe7dc !important;
    background: #effaf6 !important;
    color: #08745e !important;
  }

  body.single-listing .single-submeta-share-btn {
    border: 1px solid #dfe7f1 !important;
    background: #fff !important;
    color: #243047 !important;
  }

  /* Ancienne rangée haute définitivement retirée du layout PHP ; sécurité CSS. */
  body.single-listing .single-v3-head-card > .single-v3-primary-actions-card {
    display: none !important;
  }

  /* ---------------------------------------------------------------
     3. Avantages : conserver la structure avantages validée.
     Aucune sous-carte, aucune teinte décorative.
     --------------------------------------------------------------- */
  body.single-listing .single-v3-advantages-card--benefits {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 14px 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .single-section-title {
    margin: 0 0 10px !important;
    font-size: calc(24px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-advantages-content,
body.single-listing .single-v3-advantages-card--benefits .nt-loyalty,
body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-head,
body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-current{
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step.is-reached {
    border-color: #b9d3ff !important;
    background: #eaf2ff !important;
    color: #245fc4 !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step.is-current {
    border-color: #2f6fe7 !important;
    background: #dfeaff !important;
    color: #174ca9 !important;
    outline: 2px solid rgba(47,111,231,.12) !important;
    outline-offset: 2px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-advantage-actions .single-v3-cta {
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
  }

  /* ---------------------------------------------------------------
     4. Photos + onglets : densité plus app, moins de vertical perdu.
     --------------------------------------------------------------- */
  body.single-listing .single-client-gallery-card {
    padding-top: 12px !important;
    padding-bottom: 10px !important;
    border-top: 7px solid #f3f6fa !important;
  }

  body.single-listing .single-client-gallery-head {
    margin-bottom: 8px !important;
  }

  body.single-listing .single-client-gallery-head h2 {
    margin-bottom: 0 !important;
    font-size: calc(20px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-client-gallery-strip {
    gap: 8px !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tabs {
    min-height: 46px !important;
    border-top: 1px solid var(--nt-l360-line) !important;
    border-bottom: 1px solid var(--nt-l360-line) !important;
  }

  /* ---------------------------------------------------------------
     5. Info : actions utiles dans un seul endroit.
     --------------------------------------------------------------- */
  body.single-listing #singleTabsBlock .single-v3-panel-inner {
    padding-top: 12px !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-grid {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-card,
  body.single-listing #singleTabsBlock .single-info-head-h60j a.single-info-quick-card {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
  }

  body.single-listing .single-smart-about-block [data-nt-listing-public-tags] {
    margin-top: 10px !important;
    padding-top: 10px !important;
  }

  /* ---------------------------------------------------------------
     6. Localisation : pleine largeur utile, carte moins haute.
     --------------------------------------------------------------- */
  body.single-listing .single-location-section {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    border-top-width: 7px !important;
  }

  body.single-listing .single-map-box iframe {
    height: 180px !important;
  }

  body.single-listing .single-map-cta {
    min-height: 42px !important;
    margin-top: 8px !important;
  }

  /* ---------------------------------------------------------------
     7. Bas de fiche : sections compactes, séparateurs simples.
     --------------------------------------------------------------- */
  body.single-listing #singleTabsBlock .single-smart-decision-block,
  body.single-listing #singleTabsBlock .single-contribute-card--info,
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    border-top: 1px solid var(--nt-l360-line) !important;
  }

  /* ---------------------------------------------------------------
     8. Navigation : une seule barre fixe = bottom nav principale.
     Le doublon Avis/Appeler/Plan/Partager n'est plus rendu en PHP.
     --------------------------------------------------------------- */
  body.single-listing .single-sticky-actions,
  body.single-listing #singleStickyActions {
    display: none !important;
  }

  body.single-listing nav.app-bottom-nav.nt-client-bottom-nav-h145:not(.nt-client-bottom-nav-merchant-h304) {
    z-index: 10020 !important;
    overflow: visible !important;
  }

  body.single-listing nav.app-bottom-nav.nt-client-bottom-nav-h145:not(.nt-client-bottom-nav-merchant-h304)
  .nt-client-bottom-nav-center-h145 {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    overflow: visible !important;
  }

  body.single-listing .single-v3-page {
    padding-bottom: calc(74px + env(safe-area-inset-bottom)) !important;
  }

  /* ---------------------------------------------------------------
     9. Contrat latéral : 10 px partout, photos + carte inchangées.
     Le head porte les 10 px. Galerie et panneau onglets sortent du head
     afin de conserver leur largeur validée. Le contenu Info reprend 10 px.
     --------------------------------------------------------------- */
  body.single-listing .single-v3-meta-line {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-listing .single-v3-submeta {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
  }

  /* Photos : largeur strictement identique au C21 malgré les 10 px du head. */
  body.single-listing .single-client-gallery-card {
    width: calc(100% + (2 * var(--nt-l360-x))) !important;
    max-width: none !important;
    margin-left: calc(-1 * var(--nt-l360-x)) !important;
    margin-right: calc(-1 * var(--nt-l360-x)) !important;
  }

  /* Le panneau onglets reste bord à bord ; son contenu courant reçoit 10 px. */
  body.single-listing #singleTabsBlock.single-v3-panels-card {
    width: calc(100% + (2 * var(--nt-l360-x))) !important;
    max-width: none !important;
    margin-left: calc(-1 * var(--nt-l360-x)) !important;
    margin-right: calc(-1 * var(--nt-l360-x)) !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] > .single-v3-panel-inner,
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="reviews"] > .single-v3-panel-inner,
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="menu"] > .single-v3-panel-inner,
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="more"] > .single-v3-panel-inner {
    padding-left: var(--nt-l360-x) !important;
    padding-right: var(--nt-l360-x) !important;
  }

  /* Les sections basses restent dans le rythme 10 px, sans anciens débords. */
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-smart-decision-block,
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-contribute-card--info,
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-v3-recommend-card--info {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Localisation : texte/CTA dans les 10 px, carte seule réellement bord à bord.
     On ne dépend plus du nombre de wrappers/paddings parents : la carte prend
     la largeur du viewport mobile et se recentre depuis son propre centre. */
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-location-section,
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-v3-card.single-location-section.single-edge-card {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-location-section .single-map-box,
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section .single-map-box {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-top: 12px !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: -50vw !important;
    padding: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-location-section .single-map-box iframe,
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section .single-map-box iframe {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
}


@media (max-width: 390px) {

  body.single-listing .single-v3-meta-line {
    gap: 6px !important;
  }

  body.single-listing .single-v3-meta-line .single-v3-chip,
  body.single-listing .single-v3-meta-line .single-link-hours {
    font-size: calc(11.5px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-v3-submeta {
    gap: 5px !important;
  }

  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following,
  body.single-listing .single-submeta-share-btn {
    padding-left: 5px !important;
    padding-right: 5px !important;
    font-size: calc(10.5px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-steps,
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-markers {
    gap: 4px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step {
    height: 43px !important;
    min-height: 43px !important;
    border-radius: 10px !important;
  }
}


/* ======================================================================
   LOT 360 — 
   Avantages / Fidélité+ : hiérarchie plus nette, bande colorée sans cadre.
   Cette feuille C24 est la seule surcharge Lot 360 chargée après modern-flat.
   ====================================================================== */
@media (max-width: 767px) {
  /* Titre demandé : aucun espace forcé sous le H2. */
  body.single-listing .single-v3-advantages-card--benefits > .single-section-title {
    margin: 0 !important;
  }

  /* Remise immédiate : départ à zéro, fond strictement blanc/transparent. */
  

  

  /* Fidélité+ : pas de bord/carte. Une bande décorative horizontale autonome
     sert de repère visuel sans réintroduire de wrapper lourd. */
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty {
    position: relative !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 16px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 5px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #2f6fe7 0%, #5f8ff1 48%, #18a37f 100%) !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-head {
    align-items: center !important;
    min-height: 30px !important;
    padding-top: 2px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-head > strong {
    font-size: calc(20px + var(--nt-km-font-boost, 0px)) !important;
    letter-spacing: -.015em !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-current {
    margin-top: 2px !important;
    color: #718096 !important;
  }

  /* Paliers : boutons sans bordure apparente, fond doux et volume léger. */
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-steps {
    display: grid !important;
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step {
    height: 48px !important;
    min-height: 48px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: #f1f5f9 !important;
    color: #526985 !important;
    box-shadow: inset 0 0 0 1px rgba(93, 118, 149, .10) !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step b {
    font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 900 !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step.is-reached {
    border: 0 !important;
    background: #e8f1ff !important;
    color: #285fb8 !important;
    box-shadow: inset 0 0 0 1px rgba(47, 111, 231, .16) !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step.is-current {
    border: 0 !important;
    background: #dce9ff !important;
    color: #184fa9 !important;
    box-shadow: inset 0 0 0 2px rgba(47, 111, 231, .42) !important;
    outline: 0 !important;
  }

  /* Les 3 taux retrouvent une vraie ligne secondaire lisible. */
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-markers {
    display: grid !important;
    grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 18px !important;
    margin: 7px 0 0 !important;
    padding: 0 !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-marker {
    color: #58718f !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    opacity: .95 !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-advantage-actions {
    margin-top: 14px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-advantage-actions .single-v3-cta {
    min-height: 54px !important;
    border-radius: 12px !important;
    font-size: calc(18px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 900 !important;
    box-shadow: 0 7px 18px rgba(18, 147, 119, .14) !important;
  }
}

@media (max-width: 390px) {
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-steps,
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-markers {
    gap: 4px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step {
    height: 44px !important;
    min-height: 44px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-marker {
    font-size: 8px !important;
  }
}


/* ======================================================================
   LOT 360 — 
   Fidélité+ : panneau orangé doux pleine largeur, sans trait.
   Le panneau commence après Remise immédiate et se termine sous les 3 taux.
   ====================================================================== */
@media (max-width: 767px) {
  body.single-listing .single-v3-advantages-card--benefits > .single-section-title {
    margin-bottom: 0 !important;
  }

  

  /* Nouveau panneau demandé : fond doux, aucun trait, aucune marge/padding horizontal. */
  

  /* Suppression définitive de l'ancien trait. */
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty::before{
    content: none !important;
    display: none !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-head {
    min-height: 32px !important;
    padding-top: 0 !important;
    background: transparent !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-head > strong {
    color: #202938 !important;
    font-size: calc(20px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 950 !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-head > span {
    color: #665747 !important;
    font-weight: 850 !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-current {
    margin-top: 1px !important;
    color: #7b6a59 !important;
  }

  /* Paliers plus intégrés au panneau orangé : surface claire, sans bord lourd. */
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-steps {
    gap: 6px !important;
    margin-top: 13px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step {
    height: 48px !important;
    min-height: 48px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.82) !important;
    color: #52657c !important;
    box-shadow: inset 0 0 0 1px rgba(174,111,55,.12) !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step.is-reached {
    background: #fff8f1 !important;
    color: #a35b24 !important;
    box-shadow: inset 0 0 0 1px rgba(213,126,51,.20) !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step.is-current {
    background: #ffe8d2 !important;
    color: #934915 !important;
    box-shadow: inset 0 0 0 2px rgba(224,128,45,.30) !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-markers {
    gap: 6px !important;
    min-height: 18px !important;
    margin-top: 7px !important;
    margin-bottom: 0 !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-marker {
    color: #8b684d !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    opacity: 1 !important;
  }

  /* Le CTA reste hors du panneau orangé. */
  body.single-listing .single-v3-advantages-card--benefits .nt-advantage-actions {
    margin-top: 14px !important;
  }
}

@media (max-width: 390px) {
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-steps,
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-markers {
    gap: 4px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step {
    height: 44px !important;
    min-height: 44px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-marker {
    font-size: 8px !important;
  }
}


/* ======================================================================
   NOVTINIS — LOT 360 — 
   Fidélité+ full-bleed : gradient doux, aucun contour, chiffres/taux renforcés.
   Les règles critiques sont aussi portées inline dans le renderer afin d'éviter
   les anciennes collisions de cascade.
   ====================================================================== */
@media (max-width: 767px) {
  

  

  

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty::before,
body.single-listing .single-v3-advantages-card--benefits .nt-loyalty::after{
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-current {
    display: none !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-steps {
    gap: 6px !important;
    margin-top: 12px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step {
    height: 50px !important;
    min-height: 50px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.78) !important;
    color: #5b6170 !important;
    box-shadow: 0 1px 0 rgba(135,88,45,.05), inset 0 0 0 1px rgba(202,126,61,.10) !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step b {
    font-size: calc(16px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 950 !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step.is-reached {
    background: rgba(255,247,238,.96) !important;
    color: #bb5f2d !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step.is-current {
    background: #ffe1c9 !important;
    color: #a94b20 !important;
    box-shadow: inset 0 0 0 2px rgba(225,105,50,.22) !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-markers {
    min-height: 18px !important;
    margin-top: 9px !important;
    gap: 6px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-marker {
    color: #9a6448 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    opacity: 1 !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-advantage-actions {
    margin-top: 14px !important;
  }

  
}

@media (max-width: 390px) {
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-steps,
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-markers {
    gap: 4px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step {
    height: 47px !important;
    min-height: 47px !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-step b {
    font-size: calc(15px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-marker {
    font-size: 9px !important;
  }
}


/* ======================================================================
   NOVTINIS — LOT 360 — 
   Fidélité+ réellement full-bleed + contenu interne 10 px + CTA resserré.
   La bande utilise la même stratégie que la carte : 100vw centrée puis
   découpée par le conteneur de page, afin de supprimer tout liseré blanc.
   ====================================================================== */
@media (max-width: 767px) {
  

  

  /* Le fond va bord à bord ; seuls les contenus respirent de 10 px. */
  

  /* Scanner l'offre : moins long, centré, avec la teinte orange retenue. */
  body.single-listing .single-v3-advantages-card--benefits .nt-advantage-actions {
    width: 100% !important;
    margin-top: 14px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
  }

  
}


/* ======================================================================
   NOVTINIS — LOT 360 — 
   Correction finale du full-bleed Fidélité+ et centrage du CTA.
   Le breakout se fait désormais par rapport au padding réel de 10 px du
   head-card (et non via 100vw), ce qui évite le clipping de l'ancêtre.
   ====================================================================== */
@media (max-width: 767px) {
  

  

  

  /* Le conteneur CTA sort lui aussi des 10 px du head-card afin que son
     centrage soit calculé sur toute la largeur visuelle de la fiche. */
  body.single-listing .single-v3-advantages-card--benefits .nt-advantage-actions {
    position: relative !important;
    left: auto !important;
    width: calc(100% + 20px) !important;
    max-width: none !important;
    margin: 18px -10px 0 !important;
    padding: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  
}


/* ======================================================================
   NOVTINIS — LOT 360 — 
   Méthode full-bleed robuste : le bloc Avantages lui-même sort des 10 px
   du head-card. La bande Fidélité+ n'a donc plus besoin de marges négatives.
   Le contenu texte garde 10 px à l'intérieur, comme demandé.
   ====================================================================== */
@media (max-width: 767px) {
  /* Le bloc Avantages prend toute la largeur visuelle de la fiche. */
  body.single-listing .single-v3-card.single-v3-advantages-card.single-v3-advantages-card--streamlined.single-v3-advantages-card--benefits {
    position: relative !important;
    left: auto !important;
    width: calc(100% + 20px) !important;
    max-width: none !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    padding: 14px 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* Titre et remise restent respirants à 10 px. */
  body.single-listing .single-v3-advantages-card--benefits > .single-section-title {
    margin: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-advantages-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    box-sizing: border-box !important;
  }

  

  /* Fidélité+ : fond bord à bord, aucun blanc extérieur. */
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-band {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 14px 0 12px !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(135deg,#fff8f1 0%,#fff1e4 52%,#ffe9d6 100%) !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-band::before,
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-band::after {
    content: none !important;
    display: none !important;
  }

  /* Le contenu interne garde exactement 10 px gauche/droite. */
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-band > .nt-loyalty {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  /* Progression : conserver la géométrie stable, sans débordement. */
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-steps,
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-markers {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(10, minmax(0,1fr)) !important;
    gap: 5px !important;
    box-sizing: border-box !important;
  }

  /* CTA : centré sur toute la largeur du bloc, légèrement raccourci. */
  body.single-listing .single-v3-advantages-card--benefits .nt-advantage-actions {
    position: relative !important;
    left: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-advantage-scan-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(100% - 28px) !important;
    max-width: none !important;
    min-height: 52px !important;
    margin: 0 auto !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(135deg,#f5804b 0%,#ef6840 100%) !important;
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(222,94,46,.16) !important;
    box-sizing: border-box !important;
  }
}


/* ======================================================================
   NOVTINIS — Lot 360 — FULL-BLEED FIDÉLITÉ ROBUSTE
   But : le full-bleed ne doit concerner QUE la bande Fidélité+.
   Le titre, Remise immédiate et Scanner l’offre gardent une respiration.
   Les règles critiques sont aussi présentes inline dans le renderer pour
   neutraliser les anciennes déclarations !important du socle.
   ====================================================================== */
@media (max-width: 767px) {
  body.single-listing .single-v3-card.single-v3-advantages-card--benefits {
    position: relative !important;
    width: calc(100% + 20px) !important;
    max-width: none !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body.single-listing .single-v3-advantages-card--benefits > .single-section-title {
    margin-bottom: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
  }

  

  /* Seule cette zone reçoit le full-bleed coloré. */
  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-band {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-loyalty-band > .nt-loyalty {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
  }

  /* Le CTA garde 14 px de respiration de chaque côté et reste centré. */
  body.single-listing .single-v3-advantages-card--benefits .nt-advantage-actions {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-advantage-scan-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}

/* =====================================================
   Lot 360 — Info modernisée + caractéristiques en listes
   - suppression du badge "Info locale"
   - icônes SVG cohérentes Appeler / Plan / Horaires
   - caractéristiques sans badges/pills, sous forme de listes simples
===================================================== */
@media (max-width: 767px) {
  /* En-tête Info : titre + 3 actions compactes et cohérentes */
  body.single-listing #singleTabsBlock .single-info-head-h60j {
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-content-title {
    margin: 0 !important;
    flex: 0 0 auto !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-grid {
    gap: 6px !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-card,
  body.single-listing #singleTabsBlock .single-info-head-h60j a.single-info-quick-card {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 10px !important;
    border: 1px solid #e1e8f1 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #1f2937 !important;
    box-shadow: none !important;
    text-decoration: none !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-card:hover,
  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-card:focus-visible {
    background: #f8fbff !important;
    border-color: #cfdbea !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-icon {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    flex: 0 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: #2563eb !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-icon svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .is-call .single-info-quick-icon {
    color: #ef4444 !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .is-map .single-info-quick-icon {
    color: #2563eb !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .is-hours .single-info-quick-icon {
    color: #2563eb !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-title {
    font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
  }

  /* Neutralise d'anciens pictogrammes générés en CSS. */
  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-title::before,
  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-title::after,
  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-card::before,
  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-card::after {
    display: none !important;
    content: none !important;
  }

  /* Description : le badge "Info locale" n'existe plus ; garder une hiérarchie simple. */
  body.single-listing #singleTabsBlock .single-smart-about-block > h4 {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }

  /* "Ce que propose ce commerce" devient une vraie liste, sans badge. */
  body.single-listing .single-smart-about-block [data-nt-listing-public-tags] {
    margin: 14px 0 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #e8edf4 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tags-title {
    display: block !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #111827 !important;
    font-size: calc(16px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tags-title::before,
  body.single-listing .single-smart-about-block .nt-listing-public-tags-title::after {
    display: none !important;
    content: none !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-group {
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-group + .nt-listing-public-tag-group {
    margin-top: 12px !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-group-title {
    margin: 0 0 5px !important;
    color: #64748b !important;
    font-size: calc(10px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px 14px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-item {
    position: relative !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 2px 0 2px 12px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #334155 !important;
    font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    overflow-wrap: anywhere !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-item::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: .72em !important;
    width: 5px !important;
    height: 5px !important;
    margin-top: -2.5px !important;
    border-radius: 50% !important;
    background: #7aa7e8 !important;
  }
}

@media (max-width: 380px) {
  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-card,
  body.single-listing #singleTabsBlock .single-info-head-h60j a.single-info-quick-card {
    padding-left: 8px !important;
    padding-right: 8px !important;
    gap: 5px !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-title {
    font-size: calc(11px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-list {
    grid-template-columns: 1fr !important;
  }
}


/* =====================================================
   Lot 360 — Info simplifiée + listes fluides + décision remontée
   - Appeler / Plan / Horaires : icône strictement à gauche du libellé
   - suppression du sous-titre "À propos de ce commerce"
   - caractéristiques en liste fluide, nombre d'items par ligne automatique
   - Aide à la décision placée avant Adresse & localisation
===================================================== */
@media (max-width: 767px) {
  /* Actions Info : pictogramme à gauche, libellé à droite. */
  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-card,
  body.single-listing #singleTabsBlock .single-info-head-h60j a.single-info-quick-card {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    line-height: 1 !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-icon {
    order: 0 !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j .single-info-quick-title {
    order: 1 !important;
    display: inline-block !important;
    margin: 0 !important;
    line-height: 1 !important;
  }

  /* Plus de titre intermédiaire sous "Info". */
  body.single-listing #singleTabsBlock .single-smart-about-block > h4 {
    display: none !important;
  }

  body.single-listing #singleTabsBlock .single-smart-about-block {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-smart-about-block .single-description {
    margin-top: 0 !important;
  }

  /* Caractéristiques : vraie liste fluide, pas une grille 2 colonnes. */
  body.single-listing .single-smart-about-block .nt-listing-public-tag-list {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 4px 18px !important;
    width: 100% !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-item {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 1px 0 1px 12px !important;
    white-space: normal !important;
  }

  /* La décision est maintenant physiquement avant la localisation :
     on resserre son rythme pour qu'elle fasse partie du flux Info. */
  body.single-listing #singleTabsBlock .single-smart-decision-block {
    margin-top: 18px !important;
    margin-bottom: 18px !important;
  }

  body.single-listing #singleTabsBlock .single-smart-decision-block + .single-location-section {
    margin-top: 0 !important;
  }
}

@media (max-width: 380px) {
  /* Même logique fluide sur les petits mobiles : ne pas retomber à 1 colonne. */
  body.single-listing .single-smart-about-block .nt-listing-public-tag-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 14px !important;
  }

  body.single-listing .single-smart-about-block .nt-listing-public-tag-item {
    flex: 0 0 auto !important;
    width: auto !important;
  }
}


/* =====================================================
   Lot 360 — fiche publique mobile compacte
   - Abonné / Partager moins hauts
   - taux offre sur la ligne du titre Avantages
   - Photos clients sans sous-titre redondant
   - public tags sans classe nt-listing-public-tags
   - Contribution + Communauté fusionnées en 3 actions
===================================================== */
@media (max-width: 767px) {
  /* Rail engagement : réduire seulement la hauteur des 2 actions. */
  body.single-listing .single-follow-btn,
  body.single-listing .single-follow-btn.is-following,
  body.single-listing .single-submeta-share-btn {
    height: 34px !important;
    min-height: 34px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-radius: 10px !important;
  }

  /* Avantages : une seule ligne titre + taux de remise. */
  body.single-listing .single-v3-advantages-card--benefits .nt-advantages-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 10px 14px !important;
    box-sizing: border-box !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-advantages-head > .single-section-title {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-listing .single-v3-advantages-card--benefits .nt-advantages-rate {
    flex: 0 0 auto !important;
    margin: 0 0 0 auto !important;
    color: #e76535 !important;
    font-size: calc(30px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
  }

  

  /* Photos clients : le kicker devient le seul titre, galerie juste dessous. */
  body.single-listing .single-client-gallery-head {
    margin-bottom: 8px !important;
  }

  body.single-listing .single-client-gallery-head h2 {
    display: none !important;
  }

  body.single-listing .single-client-gallery-kicker {
    display: inline-flex !important;
    margin: 0 !important;
  }

  /* Le wrapper conserve son data-hook JS, mais plus la classe demandée. */
  body.single-listing .single-smart-about-block [data-nt-listing-public-tags] {
    margin: 14px 0 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #e8edf4 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-smart-about-block [data-nt-listing-public-tags] .nt-listing-public-tag-list {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 4px 18px !important;
    width: 100% !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Bloc unique Contribution / Communauté. */
  body.single-listing #singleTabsBlock .single-community-contribution-card {
    width: 100% !important;
    max-width: none !important;
    margin: 18px 0 0 !important;
    padding: 16px 0 14px !important;
    border: 0 !important;
    border-top: 1px solid #e8edf4 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
  }

  body.single-listing #singleTabsBlock .single-community-contribution-card > h4 {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #172033 !important;
    font-size: calc(17px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
  }

  body.single-listing #singleTabsBlock .single-community-contribution-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-community-action,
  body.single-listing #singleTabsBlock button.single-community-action,
  body.single-listing #singleTabsBlock a.single-community-action {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 9px 5px !important;
    border: 1px solid #dbe5f0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #365475 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    text-align: center !important;
    text-decoration: none !important;
    font: inherit !important;
    cursor: pointer !important;
  }

  body.single-listing #singleTabsBlock .single-community-action.is-recommend {
    color: #16785f !important;
    background: #f1fbf7 !important;
    border-color: #cfeee3 !important;
  }

  body.single-listing #singleTabsBlock .single-community-action.is-improve {
    color: #2b62b8 !important;
    background: #f3f7ff !important;
    border-color: #d9e5fb !important;
  }

  body.single-listing #singleTabsBlock .single-community-action.is-report {
    color: #a34b3c !important;
    background: #fff8f5 !important;
    border-color: #f2ddd6 !important;
  }

  body.single-listing #singleTabsBlock .single-community-action-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;
    color: currentColor !important;
  }

  body.single-listing #singleTabsBlock .single-community-action-icon svg {
    display: block !important;
    width: 22px !important;
    height: 22px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  body.single-listing #singleTabsBlock .single-community-action-label {
    display: block !important;
    min-width: 0 !important;
    color: inherit !important;
    font-size: calc(11px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.15 !important;
    font-weight: 850 !important;
    text-align: center !important;
    overflow-wrap: anywhere !important;
  }

  body.single-listing #singleTabsBlock .single-community-contribution-feedback:empty {
    display: none !important;
  }

  body.single-listing #singleTabsBlock .single-community-claim-row {
    margin-top: 10px !important;
  }

  body.single-listing #singleTabsBlock .single-community-claim-row .single-contribute-btn {
    width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
  }
}

@media (max-width: 380px) {
  body.single-listing #singleTabsBlock .single-community-contribution-actions {
    gap: 6px !important;
  }

  body.single-listing #singleTabsBlock .single-community-action,
  body.single-listing #singleTabsBlock button.single-community-action,
  body.single-listing #singleTabsBlock a.single-community-action {
    min-height: 70px !important;
    padding-left: 3px !important;
    padding-right: 3px !important;
  }

  body.single-listing #singleTabsBlock .single-community-action-label {
    font-size: calc(10px + var(--nt-km-font-boost, 0px)) !important;
  }
}

/* =====================================================
   Lot 360 — contribution plus utile + horaires en haut
   - suppression des traits gris de séparation dans le flux Info
   - texte court d'aide à la contribution
   - fenêtre Horaires ancrée en haut sur mobile
===================================================== */
@media (max-width: 767px) {
  /* Les sections du panneau Info ne sont plus séparées par des traits gris.
     Les contours propres aux contrôles/boutons restent conservés. */
  body.single-listing #singleTabsBlock .single-description-block,
  body.single-listing #singleTabsBlock .single-smart-about-block [data-nt-listing-public-tags],
  body.single-listing #singleTabsBlock .single-smart-decision-block,
  body.single-listing #singleTabsBlock .single-location-section,
  body.single-listing #singleTabsBlock .single-community-contribution-card,
  body.single-listing #singleTabsBlock .single-fiche-pro-media-block {
    border-top: 0 !important;
    border-bottom: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-smart-about-block [data-nt-listing-public-tags] {
    padding-top: 10px !important;
  }

  /* Contribution : combler le vide sans recréer une sous-carte. */
  body.single-listing #singleTabsBlock .single-community-contribution-card {
    margin-top: 18px !important;
    padding-top: 12px !important;
  }

  body.single-listing #singleTabsBlock .single-community-contribution-card > h4 {
    margin-bottom: 5px !important;
  }

  body.single-listing #singleTabsBlock .single-community-contribution-copy {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #64748b !important;
    font-size: calc(12.5px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.42 !important;
    font-weight: 650 !important;
  }

  /* Horaires : top-sheet mobile. La liste commence en haut et reste
     intégralement lisible, avec scroll interne seulement si nécessaire. */
  body.single-listing .seva-hours-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
  }

  body.single-listing .seva-hours-modal__dialog {
    position: fixed !important;
    top: max(10px, env(safe-area-inset-top)) !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 20px) !important;
    max-width: 540px !important;
    max-height: calc(100dvh - 20px - env(safe-area-inset-top)) !important;
    margin: 0 !important;
    padding: 20px 18px 22px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
  }

  body.single-listing .seva-hours-modal__dialog > h3 {
    margin-top: 0 !important;
    padding-right: 42px !important;
  }

  body.single-listing .seva-hours-modal__close {
    top: 12px !important;
    right: 12px !important;
  }
}

@media (max-width: 767px) {
  /* Suppression des séparateurs gris visuels de la fiche.
     Le soulignement bleu de l'onglet actif et les bordures des contrôles
     restent volontairement conservés. */
  body.single-listing .single-client-gallery-card {
    border-top: 0 !important;
    border-bottom: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tabs {
    border-top: 0 !important;
    border-bottom: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-info-list,
  body.single-listing #singleTabsBlock .single-smart-about-block,
  body.single-listing #singleTabsBlock .single-smart-decision-block,
  body.single-listing #singleTabsBlock .single-location-section,
  body.single-listing #singleTabsBlock .single-community-contribution-card {
    box-shadow: none !important;
  }
}

/* =====================================================
   Lot 360 — Menu mobile : structure de rail corrigée
   Correction structurelle :
   - panneau Menu/Tarifs sans padding latéral structurel
   - retraits appliqués seulement aux contenus fixes
   - catégories et cartes = rails plein largeur jusqu'au bord droit
   - suppression des anciennes classes menu-grid/menu-section dans le HTML
   - aucune bordure/ombre/scrollbar parasite sous les cartes
   - photos de plats sans retrait et arrondies aux 4 coins
===================================================== */
@media (max-width: 767px) {
  body.single-listing #singleTabsBlock .nt-menu-panel {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 12px 0 0 !important;
    border: 0 !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* Tous les contenus fixes reprennent seulement 10 px de respiration. */
  body.single-listing #singleTabsBlock .nt-menu-panel > .nt-menu-inset,
  body.single-listing #singleTabsBlock .nt-menu-panel .menu-section-head-h65.nt-menu-inset {
    width: auto !important;
    max-width: none !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .single-menu-panel-heading {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
  }

  /* Carte de menu générale : reste dans les 10 px, photo arrondie aux 4 coins. */
  body.single-listing #singleTabsBlock .nt-menu-panel .single-static-menu-block.has-static-cards {
    width: auto !important;
    max-width: none !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
    box-sizing: border-box !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .single-static-menu-gallery {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    scrollbar-width: none !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .single-static-menu-gallery::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .single-static-menu-card,
  body.single-listing #singleTabsBlock .nt-menu-panel .single-static-menu-card img {
    border-radius: 18px !important;
  }

  /* Rail catégories : 10 px uniquement au départ, zéro réserve à droite. */
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-categories-rail {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 18px !important;
    padding: 0 0 10px 10px !important;
    gap: 10px !important;
    border: 0 !important;
    outline: 0 !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    scrollbar-color: transparent transparent !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-categories-rail::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-categories-rail::before,
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-categories-rail::after {
    content: none !important;
    display: none !important;
  }

  /* Section sans ancien .menu-section : pas de socle gris ni marge parasite. */
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-section-block {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 26px !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-section-block::before,
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-section-block::after {
    content: none !important;
    display: none !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .menu-section-head-h65.nt-menu-inset {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    background: #fff !important;
  }

  /* Rail plats : viewport = 100% du panneau. 10 px au départ, 0 px à droite. */
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-items-rail {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 0 10px !important;
    gap: 12px !important;
    border: 0 !important;
    outline: 0 !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    scrollbar-color: transparent transparent !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-inline: contain !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-left: 10px !important;
    scroll-padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-items-rail::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-items-rail::before,
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-items-rail::after {
    content: none !important;
    display: none !important;
  }

  /* Carte : suppression de la bordure/ombre qui pouvait apparaître comme barre grise. */
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-card {
    flex: 0 0 min(84vw, 344px) !important;
    min-width: 272px !important;
    max-width: 344px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
    box-sizing: border-box !important;
  }

  /* Photo bord à bord dans la carte, aucun padding/margin, 4 coins arrondis. */
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-photo {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    background: transparent !important;
    box-sizing: border-box !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-photo .menu-card-media-open,
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-photo img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 22px !important;
    object-fit: cover !important;
    box-sizing: border-box !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-photo::after {
    border-radius: 0 0 22px 22px !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-card .menu-like-btn {
    top: 10px !important;
    right: 10px !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-card .menu-price-badge {
    left: 10px !important;
    bottom: 10px !important;
  }

  /* Les blocs d'assistance restent lisibles dans les 10 px normaux. */
  body.single-listing #singleTabsBlock .nt-menu-panel .single-menu-community-note,
  body.single-listing #singleTabsBlock .nt-menu-panel .single-menu-missing-assist-h61h {
    width: auto !important;
    max-width: none !important;
    margin-left: 10px !important;
    margin-right: 10px !important;
    box-sizing: border-box !important;
  }
}

/* =====================================================
   Lot 360 — correction terrain du rail Menu
   La capture DevTools confirme que l'espace blanc de droite
   n'appartient pas à .nt-menu-card : la carte a margin/padding 0.
   Le viewport horizontal à corriger est le parent
   .nt-menu-items-rail (et le rail catégories équivalent).
   On reprend la technique full-bleed déjà validée pour la carte/photos :
   viewport complet, 10 px seulement au départ, aucune réserve à droite.
===================================================== */
@media (max-width: 767px) {
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-items-rail,
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-categories-rail {
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: 0 !important;
    padding-left: 10px !important;
    padding-right: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    box-sizing: border-box !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-items-rail::-webkit-scrollbar,
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-categories-rail::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-items-rail::before,
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-items-rail::after,
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-categories-rail::before,
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-categories-rail::after {
    content: none !important;
    display: none !important;
  }

  /* La carte n'est pas utilisée pour compenser le bord du viewport. */
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-card {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* Photo réellement bord à bord dans chaque carte, avec 4 coins arrondis. */
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-photo,
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-photo .menu-card-media-open,
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-photo img {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
  }
}

/* =====================================================
   Lot 360 — modal détail Menu entièrement scrollable
   Correctif terrain : la modale Menu utilisait deux niveaux de scroll
   (dialog + contenu) et restait sous la bottom-nav (z-index 10020).
   La modale devient l'unique conteneur de scroll, au-dessus de la nav.
===================================================== */
@media (max-width: 767px) {
  body.single-listing #sevaMenuModal.seva-menu-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147482000 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: max(8px, env(safe-area-inset-top)) 0 max(8px, env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }

  body.single-listing #sevaMenuModal .seva-menu-modal__overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
  }

  body.single-listing #sevaMenuModal .seva-menu-modal__dialog {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    display: block !important;
    width: calc(100% - 20px) !important;
    max-width: 560px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 24px !important;
    background: #fff !important;
    box-sizing: border-box !important;
    z-index: 1 !important;
  }

  body.single-listing #sevaMenuModal .seva-menu-modal__content {
    display: block !important;
    flex: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 18px 16px calc(24px + env(safe-area-inset-bottom)) !important;
    overflow: visible !important;
    -webkit-overflow-scrolling: auto !important;
    box-sizing: border-box !important;
  }

  body.single-listing #sevaMenuModal .seva-menu-modal__linked-reviews {
    max-height: none !important;
    overflow: visible !important;
  }

  body.single-listing #sevaMenuModal .seva-menu-modal__image-wrap {
    flex: none !important;
  }

  body.single-listing #sevaMenuModal .seva-menu-modal__image-wrap img {
    height: clamp(260px, 42vh, 380px) !important;
  }
}


/* =====================================================
   Lot 360 — onglets plus lisibles, séparation Menu,
   ouverture des plats par la photo sans flèche et header Hero allégé.
===================================================== */
@media (max-width: 767px) {
  /* Onglets Info / Lire avis / Menu / Autres commerces : typo plus présente. */
  body.single-listing #singleTabsBlock .single-v4-tab {
    font-size: calc(16px + var(--nt-km-font-boost, 0px)) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
  }

  /* Séparer visuellement la grande carte Menu du rail des catégories. */
  body.single-listing #singleTabsBlock .nt-menu-panel .nt-menu-categories-rail {
    margin-top: 22px !important;
  }

  /* Le bouton Détails est supprimé : la photo porte désormais l'affordance. */
  body.single-listing #singleTabsBlock .nt-menu-panel .menu-card-media-open {
    position: relative !important;
  }



  /* Évite tout espace réservé à l'ancien CTA Détails. */
  body.single-listing #singleTabsBlock .nt-menu-panel .menu-card-footer-actions.nt-menu-card-footer-actions--manage-only {
    margin-top: 8px !important;
  }
}


/* =====================================================
   Lot 360 — scanner offre consolidé
   La modale QR reste au-dessus de la navigation basse et le CTA conserve
   son aspect normal pendant le chargement ou lorsqu'un QR actif est restauré.
===================================================== */
body.single-listing #sevaOfferModal.seva-offer-modal {
  z-index: 2147482500 !important;
  isolation: isolate !important;
}

body.single-listing #sevaOfferModal .seva-offer-modal__overlay {
  z-index: 0 !important;
}

body.single-listing #sevaOfferModal .seva-offer-modal__dialog {
  z-index: 1 !important;
}

body.single-listing [data-scan-offer="1"].is-loading-soft,
body.single-listing .activate-cashback-btn.is-loading-soft {
  opacity: 1 !important;
  transform: none !important;
}


/* Un QR déjà actif reste réutilisable et cliquable après fermeture. */
body.single-listing .activate-cashback-btn.is-restored,
body.single-listing [data-scan-offer="1"].is-restored {
  opacity: 1 !important;
  pointer-events: auto !important;
  transform: none !important;
  filter: none !important;
}
