/* ======================================================================
   H61 — Menu intelligent + avis liés aux menus / prestations
   ====================================================================== */
.menu-sections-nav{
  margin-top: 8px;
  padding: 0 0 10px;
}
.menu-section-btn.is-active,
.menu-section-btn:hover{
  background: linear-gradient(135deg,#ff7a00,#ff2d55);
  color:#fff;
  border-color: transparent;
  box-shadow: 0 10px 18px rgba(255,90,40,.16);
}
.menu-card-img{
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  display:block;
  text-align:left;
}
.menu-card-title{
  margin:0;
}


.seva-menu-modal__insight{
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#64748b;
  font-size:calc(13px + var(--nt-km-font-boost, 0px));
  line-height:1.45;
  font-weight:750;
}
.seva-review-menu-context{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
}
.seva-review-menu-context label{
  font-size:calc(13px + var(--nt-km-font-boost, 0px));
  line-height:1.35;
  font-weight:900;
  color:#0f172a;
}
.seva-review-menu-context select,
.seva-review-menu-context input{
  width:100%;
  min-height:42px;
  border-radius:14px;
  border:1px solid #dbe3ef;
  background:#fff;
  color:#0f172a;
  padding:0 12px;
  font-weight:800;
  outline:none;
}
.seva-review-menu-context small{
  color:#64748b;
  font-size:calc(12px + var(--nt-km-font-boost, 0px));
  line-height:1.35;
  font-weight:700;
}
@media (max-width:520px){
  .menu-card-img img{height:190px;}
  .seva-menu-modal__image-wrap img{height:230px;}
}

/* ======================================================================
   H61B — Menu intelligent finition
   ====================================================================== */


.menu-section-btn {
  text-transform: none;
}

.seva-menu-modal__insight {
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;
  background: #f8fbff;
  border: 1px solid #e4edf7;
  color: #667085;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  line-height: 1.45;
}

.seva-menu-modal__insight strong {
  display: block;
  margin-bottom: 4px;
  color: #0b132b;
  font-size: calc(14px + var(--nt-km-font-boost, 0px));
}

.seva-menu-modal__insight span {
  display: block;
}

.seva-menu-modal__signals {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.seva-menu-modal__signals span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff7ed;
  color: #7c2d12;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 800;
}

.seva-menu-modal__signals strong {
  color: #f05a24;
}

.menu-like-btn:disabled,
.seva-menu-modal__like:disabled {
  opacity: .65;
  cursor: wait;
}


/* ======================================================================
   H61D/H61E — Menu : détails plus compacts + avis liés
   ====================================================================== */
.menu-card-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 14px 14px;
}

.menu-card-desc {
  margin: 0;
}



.seva-menu-modal__engagement {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 12px;
  margin-top: 12px;
}

.seva-menu-modal__signals {
  margin-top: 0;
  flex: 1 1 auto;
}

.seva-menu-modal__like {
  margin-top: 0;
  flex: 0 0 auto;
}

.seva-menu-modal__review {
  min-height: 38px;
  padding: 0 14px;
  border: 0;
  border-radius: 999px;
  background: #fff4ed;
  color: #f05a24;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}

.seva-menu-modal__review:hover {
  background: #f05a24;
  color: #fff;
}

.seva-menu-modal__linked-reviews {
  margin-top: 12px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid #e4edf7;
  background: #f8fbff;
}

.seva-menu-modal__linked-reviews p {
  margin: 0;
  color: #64748b;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  line-height: 1.45;
  font-weight: 750;
}

.seva-menu-linked-review + .seva-menu-linked-review {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e2e8f0;
}

.seva-menu-linked-review strong {
  display: inline-flex;
  margin-right: 8px;
  color: #0f172a;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
}

.seva-menu-linked-review span {
  color: #ff7a00;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
}

.seva-menu-linked-review p {
  margin-top: 5px;
}

@media (max-width: 520px) {
  .seva-menu-modal__engagement {
    align-items: stretch;
  }

  .seva-menu-modal__like,
  .seva-menu-modal__review {
    width: 100%;
    justify-content: center;
  }
}


/* ======================================================================
   H61F — Menu : avis au-dessus + création assistée si vide
   ====================================================================== */
.seva-review-modal {
  z-index: 4200;
}

.seva-menu-modal {
  z-index: 4000;
}

.single-menu-empty-assist-h61f {
  margin-top: 14px;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid #e4edf7;
  background: linear-gradient(135deg, #fff, #f8fbff);
  box-shadow: 0 14px 28px rgba(15, 23, 42, .06);
}

.single-menu-empty-assist-h61f__badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff4ed;
  color: #f05a24;
  font-size: calc(11px + var(--nt-km-font-boost, 0px));
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.single-menu-empty-assist-h61f h4 {
  margin: 12px 0 6px;
  color: #0f172a;
  font-size: calc(22px + var(--nt-km-font-boost, 0px));
  line-height: 1.15;
  font-weight: 950;
}

.single-menu-empty-assist-h61f p {
  margin: 0;
  color: #64748b;
  font-size: calc(14px + var(--nt-km-font-boost, 0px));
  line-height: 1.5;
  font-weight: 750;
}

.single-menu-empty-assist-h61f__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin-top: 14px;
  padding: 0 16px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff7a00, #ff2d55);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 950;
  font-size: calc(14px + var(--nt-km-font-boost, 0px));
  box-shadow: 0 12px 22px rgba(255, 90, 40, .2);
}


/* ======================================================================
   H61G — Suggestion de menu non répertorié
   ====================================================================== */
.seva-review-menu-assist-h61g {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 10px;
  padding: 12px;
  border-radius: 16px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
}

.seva-review-menu-assist-h61g[hidden] {
  display: none !important;
}

.seva-review-menu-assist-h61g strong {
  color: #9a3412;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 950;
}

.seva-review-menu-assist-h61g span {
  color: #9a3412;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  line-height: 1.4;
  font-weight: 750;
}

.seva-review-menu-assist-h61g input {
  width: 100%;
  min-height: 42px;
  border: 1px solid #fdba74;
  border-radius: 14px;
  background: #fff;
  padding: 0 12px;
  color: #0f172a;
  font-weight: 850;
}

.single-menu-empty-assist-h61g__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.single-menu-empty-assist-h61f__cta.is-secondary {
  background: #eef4ff;
  color: #0f5bd5 !important;
  box-shadow: none;
}

@media (max-width: 520px) {
  .single-menu-empty-assist-h61g__actions {
    flex-direction: column;
  }
}


/* ======================================================================
   H61H — Assistant menu visible dans l’onglet Menu
   ====================================================================== */
.single-menu-missing-assist-h61h {
  margin: 12px 0 18px;
  padding: 16px;
  border-radius: 24px;
  border: 1px solid #ffe1d2;
  background: linear-gradient(135deg, #fff7ed, #fff);
  box-shadow: 0 14px 28px rgba(255, 90, 40, .08);
}

.single-menu-missing-assist-h61h__head span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff;
  color: #f05a24;
  font-size: calc(10px + var(--nt-km-font-boost, 0px));
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.single-menu-missing-assist-h61h__head strong {
  display: block;
  margin-top: 10px;
  color: #0f172a;
  font-size: calc(18px + var(--nt-km-font-boost, 0px));
  line-height: 1.2;
  font-weight: 950;
}

.single-menu-missing-assist-h61h__head p {
  margin: 6px 0 0;
  color: #64748b;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  line-height: 1.45;
  font-weight: 750;
}

.single-menu-missing-assist-h61h__toggle,
.single-menu-missing-assist-h61h__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  width: 100%;
  margin-top: 12px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff7a00, #ff2d55);
  color: #fff;
  font-size: calc(14px + var(--nt-km-font-boost, 0px));
  font-weight: 950;
  cursor: pointer;
}

.single-menu-missing-assist-h61h__form {
  margin-top: 14px;
}

.single-menu-missing-assist-h61h__form[hidden] {
  display: none !important;
}

.single-menu-assist-options-h61h,
.single-menu-assist-checks-h61h {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.single-menu-assist-options-h61h label,
.single-menu-assist-checks-h61h label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #ffe1d2;
  color: #334155;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  font-weight: 850;
}

.single-menu-assist-fields-h61h {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.single-menu-assist-fields-h61h input,
.single-menu-assist-fields-h61h textarea {
  width: 100%;
  border: 1px solid #ffd2bd;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  font-weight: 800;
  padding: 12px;
  outline: none;
}

.single-menu-missing-assist-h61h__feedback {
  margin-top: 10px;
  color: #64748b;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 800;
}

.single-menu-missing-assist-h61h__feedback.is-success {
  color: #047857;
}

.single-menu-missing-assist-h61h__feedback.is-error {
  color: #b42318;
}

.single-menu-missing-assist-h61h__feedback.is-success {
  display: grid;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #ecfdf5;
  color: #047857;
}

.single-menu-assist-success-points {
  display: inline-flex;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: #d1fae5;
  color: #065f46;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  font-weight: 950;
}

.single-menu-assist-success-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 2px;
}

.single-menu-assist-success-btn {
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff6b00, #ff2d55);
  color: #fff;
  font-weight: 950;
  cursor: pointer;
}

.single-menu-assist-success-btn.is-secondary {
  background: #fff;
  color: #0f172a;
  border: 1px solid #dbe3ef;
}

@media (max-width: 520px) {
  .single-menu-assist-success-actions {
    grid-template-columns: 1fr;
  }
}


/* ======================================================================
   H61I — Contribution menu client avec photos
   ====================================================================== */
.single-menu-missing-assist-h61i .single-menu-missing-assist-h61h__head p + p {
  margin-top: 8px;
}

.single-menu-photo-actions-h61i {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 14px;
}

.single-menu-photo-btn-h61i {
  min-height: 42px;
  border: 1px solid #ffe1d2;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 950;
  cursor: pointer;
}

.single-menu-photo-upload-h61i {
  display: grid;
  gap: 10px;
  margin: 12px 0;
}

.single-menu-photo-upload-h61i label {
  display: grid;
  gap: 7px;
  padding: 12px;
  border-radius: 16px;
  border: 1px dashed #fdba74;
  background: #fffaf5;
}

.single-menu-photo-upload-h61i span {
  color: #9a3412;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 950;
}

.single-menu-photo-upload-h61i input {
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  color: #475569;
}

.single-menu-photo-upload-h61i small {
  color: #9a3412;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  line-height: 1.45;
  font-weight: 750;
}

.single-menu-points-note-h61i {
  margin: 12px 0 0;
  padding: 11px 12px;
  border-radius: 16px;
  background: #ecfdf5;
  color: #047857;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  line-height: 1.4;
  font-weight: 850;
}

@media (max-width: 520px) {
  .single-menu-photo-actions-h61i {
    grid-template-columns: 1fr;
  }
}


/* ======================================================================
   H61J — Assistant menu compact en bas de l’onglet
   ====================================================================== */
.single-menu-missing-assist-h61j {
  margin: 18px 0 4px !important;
  padding: 14px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #fffaf7, #fff) !important;
}

.single-menu-missing-assist-h61j .single-menu-missing-assist-h61h__head strong {
  margin-top: 8px !important;
  font-size: calc(19px + var(--nt-km-font-boost, 0px)) !important;
}

.single-menu-missing-assist-h61j .single-menu-missing-assist-h61h__head p {
  margin-top: 6px !important;
  font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.42 !important;
}

.single-menu-points-inline-h61j {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  margin-top: 10px !important;
  padding: 0 11px !important;
  border-radius: 999px !important;
  background: #ecfdf5 !important;
  color: #047857 !important;
  font-size: calc(12.5px + var(--nt-km-font-boost, 0px)) !important;
  font-weight: 900 !important;
}

.single-menu-photo-actions-h61i {
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

.single-menu-photo-btn-h61i {
  min-height: 40px !important;
  padding: 0 8px !important;
  font-size: calc(12.5px + var(--nt-km-font-boost, 0px)) !important;
  white-space: nowrap !important;
}

.single-menu-missing-assist-h61j .single-menu-missing-assist-h61h__toggle {
  min-height: 44px !important;
  margin-top: 10px !important;
}

@media (max-width: 520px) {
  .single-menu-photo-actions-h61i {
    grid-template-columns: 1fr 1fr !important;
  }

  .single-menu-photo-btn-h61i {
    font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
  }
}


/* ======================================================================
   H61K — Assistant menu : texte + points plus propres
   ====================================================================== */
.single-menu-missing-assist-h61j .single-menu-missing-assist-h61h__head p {
  max-width: 92% !important;
}

.single-menu-points-inline-h61j {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 46px !important;
  margin-top: 12px !important;
  padding: 9px 13px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #ecfdf5, #f0fdf4) !important;
  border: 1px solid #bbf7d0 !important;
  color: #047857 !important;
  box-sizing: border-box !important;
}

.single-menu-points-inline-h61j strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 72px !important;
  min-height: 32px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #047857 !important;
  font-size: calc(18px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

.single-menu-points-inline-h61j span {
  display: block !important;
  color: #047857 !important;
  font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

@media (max-width: 420px) {
  .single-menu-points-inline-h61j {
    gap: 8px !important;
    padding: 8px 10px !important;
  }

  .single-menu-points-inline-h61j strong {
    min-width: 64px !important;
    font-size: calc(16px + var(--nt-km-font-boost, 0px)) !important;
  }

  .single-menu-points-inline-h61j span {
    font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
  }
}


/* ======================================================================
   H62 — Règles de confiance fiche commerce
   ====================================================================== */
.single-v3-hero-rating-count-empty {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  color: #fff;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
}

.single-smart-reason-card .single-smart-reason-icon {
  flex: 0 0 auto;
}


/* ======================================================================
   H62C — Aide décision masquée si signal faible
   ====================================================================== */
.single-smart-decision-block:empty {
  display: none !important;
}


/* ======================================================================
   H63B — Menu professionnel : badges cuisine / signaux
   ====================================================================== */
.menu-card-taxonomy-badges-h63b {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.menu-card-taxonomy-badges-h63b span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eef4ff;
  color: #0f5bd5;
  font-size: calc(11px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
}

.menu-card-taxonomy-badges-h63b span.is-novtinis {
  background: linear-gradient(135deg, #ff7a00, #ff2d55);
  color: #fff;
}

.single-menu-assist-fields-h61h select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #ffd2bd;
  border-radius: 16px;
  background: #fff;
  color: #0f172a;
  font-weight: 800;
  padding: 0 12px;
}


/* H114 — masquer avantages vides fiche commerce */
body.single-listing .single-v3-advantages-list:empty,
body.single-listing .single-v3-advantages-list:not(:has(.single-advantage-box)),
body.single-listing .single-v3-card:has(.single-section-title):has(.single-v3-advantages-list:empty){
  display:none!important;
}

/* Fallback : si le titre Avantages disponibles est rendu sans carte d’avantage */
body.single-listing .nt-h114-hide-empty-advantages{
  display:none!important;
}


/* H114B — masquer toute section avantages vide */
body.single-listing .nt-h114b-empty-advantages-hidden{
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:0!important;
  overflow:hidden!important;
}

/* Cache les variantes de listes vides, même si le titre est rendu par un autre bloc */
body.single-listing .single-v3-advantages-list:empty,
body.single-listing .single-v3-advantages-list:not(:has(.single-advantage-box)):not(:has([data-scan-offer="1"])),
body.single-listing .single-advantages-list:empty,
body.single-listing [class*="advantages-list"]:empty{
  display:none!important;
}

/* Quand un conteneur contient uniquement le titre vide détecté, il disparaît via JS */
body.single-listing [aria-hidden="true"].nt-h114b-empty-advantages-hidden{
  display:none!important;
}


/* H115 — nettoyage sections vides fiche commerce */
body.single-listing .nt-h115-empty-section-hidden{
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:0!important;
  overflow:hidden!important;
  border:0!important;
}

/* Supprime les conteneurs explicitement vides */
body.single-listing .single-v3-card:empty,
body.single-listing section:empty,
body.single-listing article:empty,
body.single-listing [class*="gallery"]:empty,
body.single-listing [class*="menu-list"]:empty,
body.single-listing [class*="advantages-list"]:empty{
  display:none!important;
}

/* Réduit l’espace si plusieurs blocs ont été masqués */
body.single-listing .nt-h115-empty-section-hidden + .nt-h115-empty-section-hidden{
  display:none!important;
}


/* H116 — avantages fidélité compact */
body.single-listing .single-v3-card:has(.single-v3-advantages-list),
body.single-listing .single-v3-card:has(.single-advantage-box){
  padding:16px!important;
}

body.single-listing .single-v3-card:has(.single-v3-advantages-list) .single-section-title,
body.single-listing .single-v3-card:has(.single-advantage-box) .single-section-title{
  margin:0 0 12px!important;
  padding-left:0!important;
  font-size:calc(23px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.12!important;
}

body.single-listing .single-v3-advantages-list{
  gap:10px!important;
}

body.single-listing .single-advantage-box,
body.single-listing .single-advantage-box-combined,
body.single-listing .single-advantage-box-loyalty,
body.single-listing .single-advantage-box-highlight{
  padding:14px!important;
  border-radius:20px!important;
  gap:10px!important;
}

body.single-listing .single-advantage-box-combined .single-advantage-header,
body.single-listing .single-advantage-box-loyalty .single-advantage-header,
body.single-listing .single-advantage-box-highlight .single-advantage-header{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:10px!important;
  align-items:start!important;
}

body.single-listing .single-advantage-icon{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border-radius:14px!important;
  font-size:calc(18px + var(--nt-km-font-boost, 0px))!important;
}

body.single-listing .single-advantage-content{
  gap:5px!important;
}

body.single-listing .single-advantage-title{
  font-size:calc(16px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.16!important;
}

body.single-listing .single-advantage-text,
body.single-listing .single-loyalty-message,
body.single-listing .nt-v452d8-loyalty-explain{
  font-size:calc(13px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.32!important;
  margin:0!important;
}

/* Boîte fidélité interne : moins de sous-cartes visuelles */
body.single-listing .single-loyalty-card,
body.single-listing .single-loyalty-box,
body.single-listing .single-loyalty-panel,
body.single-listing [class*="loyalty-card"],
body.single-listing [class*="loyalty-box"],
body.single-listing [class*="loyalty-panel"]{
  padding:10px!important;
  border-radius:16px!important;
  margin-top:8px!important;
}

/* Texte achats/palier */
body.single-listing .single-loyalty-stats,
body.single-listing .single-loyalty-current,
body.single-listing [class*="loyalty"] [class*="stats"],
body.single-listing [class*="loyalty"] [class*="current"]{
  padding:10px!important;
  border-radius:14px!important;
  font-size:calc(12px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.3!important;
}

/* Cases fidélité : exploite la largeur */
body.single-listing .single-loyalty-progress,
body.single-listing .single-loyalty-steps,
body.single-listing .single-loyalty-dots,
body.single-listing [class*="loyalty"] [class*="progress"],
body.single-listing [class*="loyalty"] [class*="steps"],
body.single-listing [class*="loyalty"] [class*="dots"]{
  display:grid!important;
  grid-template-columns:repeat(10,minmax(0,1fr))!important;
  gap:5px!important;
  margin-top:8px!important;
}

body.single-listing .single-loyalty-progress > *,
body.single-listing .single-loyalty-steps > *,
body.single-listing .single-loyalty-dots > *,
body.single-listing [class*="loyalty"] [class*="progress"] > *,
body.single-listing [class*="loyalty"] [class*="steps"] > *,
body.single-listing [class*="loyalty"] [class*="dots"] > *{
  min-width:0!important;
  width:auto!important;
  height:28px!important;
  padding:3px 2px!important;
  border-radius:9px!important;
  font-size:calc(10px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
}

body.single-listing .single-loyalty-next,
body.single-listing .seva-loyalty-next,
body.single-listing [class*="loyalty"] .next{
  margin-top:8px!important;
  font-size:calc(13px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.25!important;
}

/* CTA scan plus proche du contenu */
body.single-listing .single-advantage-actions{
  margin-top:10px!important;
}

body.single-listing .single-advantage-actions .activate-cashback-btn,
body.single-listing .single-advantage-actions [data-scan-offer="1"],
body.single-listing .single-advantage-actions .single-login-required-cta{
  min-height:48px!important;
  border-radius:18px!important;
}

/* Mobile : encore plus compact */
@media(max-width:560px){
  body.single-listing .single-v3-card:has(.single-v3-advantages-list),
  body.single-listing .single-v3-card:has(.single-advantage-box){
    padding:14px!important;
  }

  body.single-listing .single-advantage-box,
  body.single-listing .single-advantage-box-combined,
  body.single-listing .single-advantage-box-loyalty,
  body.single-listing .single-advantage-box-highlight{
    padding:12px!important;
    border-radius:18px!important;
  }

  body.single-listing .single-loyalty-progress,
  body.single-listing .single-loyalty-steps,
  body.single-listing .single-loyalty-dots,
  body.single-listing [class*="loyalty"] [class*="progress"],
  body.single-listing [class*="loyalty"] [class*="steps"],
  body.single-listing [class*="loyalty"] [class*="dots"]{
    gap:4px!important;
  }

  body.single-listing .single-loyalty-progress > *,
  body.single-listing .single-loyalty-steps > *,
  body.single-listing .single-loyalty-dots > *,
  body.single-listing [class*="loyalty"] [class*="progress"] > *,
  body.single-listing [class*="loyalty"] [class*="steps"] > *,
  body.single-listing [class*="loyalty"] [class*="dots"] > *{
    height:27px!important;
    border-radius:8px!important;
    font-size:calc(9.5px + var(--nt-km-font-boost, 0px))!important;
  }
}


/* H116B — compact exact avantage combiné remise fidélité */
/* Cible le HTML réel :
   single-advantage-box-combined > single-advantage-content > single-offer-section-cash\62 ack + single-direct-loyalty-box
*/
body.single-listing .single-advantage-box.single-advantage-box-combined{
  padding:12px!important;
  border-radius:20px!important;
}

body.single-listing .single-advantage-box-combined > .single-advantage-content{
  display:grid!important;
  gap:10px!important;
}

/* Ligne remise immédiate : compacte, sans sous-carte inutile */
body.single-listing .single-advantage-box-combined .single-offer-section-cashback{
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
}

body.single-listing .single-advantage-box-combined .single-direct-discount-line{
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
  line-height:1.1!important;
}

body.single-listing .single-advantage-box-combined .single-direct-discount-line strong{
  font-size:calc(24px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:1000!important;
}

body.single-listing .single-advantage-box-combined .single-direct-discount-line span{
  font-size:calc(13px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.2!important;
  font-weight:850!important;
}

/* Fidélité+ : on retire l'effet grosse carte dans la carte */
body.single-listing .single-advantage-box-combined .single-direct-loyalty-box{
  margin:0!important;
  padding:12px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.66)!important;
  border:1px solid rgba(226,232,240,.88)!important;
}

/* En-tête Fidélité+ sur une ligne compacte */
body.single-listing .single-advantage-box-combined .single-offer-subhead{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0 0 7px!important;
  padding:0!important;
}

body.single-listing .single-advantage-box-combined .single-offer-subicon{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:12px!important;
  font-size:calc(15px + var(--nt-km-font-boost, 0px))!important;
}

body.single-listing .single-advantage-box-combined .single-offer-subhead strong{
  font-size:calc(17px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.05!important;
  font-weight:950!important;
}

/* Description fidélité moins haute */
body.single-listing .single-advantage-box-combined .single-loyalty-short-desc{
  margin:0 0 9px!important;
  padding:0!important;
  font-size:calc(13px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.28!important;
  font-weight:800!important;
}

/* Achats cumulés + palier : ligne horizontale, pas gros encart */
body.single-listing .single-advantage-box-combined .single-loyalty-current{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 9px!important;
  padding:9px 10px!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
}

body.single-listing .single-advantage-box-combined .single-loyalty-current span,
body.single-listing .single-advantage-box-combined .single-loyalty-current strong{
  margin:0!important;
  font-size:calc(12px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.18!important;
  font-weight:900!important;
}

body.single-listing .single-advantage-box-combined .single-loyalty-current strong{
  white-space:nowrap!important;
}

/* Grille 10 cases : compacte, hauteur réduite */
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid,
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j{
  display:grid!important;
  grid-template-columns:repeat(10,minmax(0,1fr))!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
}

body.single-listing .single-advantage-box-combined .single-loyalty-dot{
  width:auto!important;
  min-width:0!important;
  height:27px!important;
  padding:3px 1px!important;
  border-radius:8px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
}

body.single-listing .single-advantage-box-combined .single-loyalty-dot b{
  font-size:calc(10px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:950!important;
}

body.single-listing .single-advantage-box-combined .single-loyalty-dot small{
  font-size:calc(7px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:850!important;
}

/* Message palier suivant : plus proche et moins haut */
body.single-listing .single-advantage-box-combined .single-loyalty-message{
  margin:8px 0 0!important;
  padding:0!important;
  font-size:calc(13px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.2!important;
  font-weight:950!important;
}

/* Bouton scan : moins d'espace perdu autour */
body.single-listing .single-advantage-box-combined .single-advantage-actions{
  margin:0!important;
  padding:0!important;
}

body.single-listing .single-advantage-box-combined .activate-cashback-btn{
  min-height:46px!important;
  margin-top:2px!important;
  border-radius:18px!important;
}

/* Mobile serré */
@media(max-width:560px){
  body.single-listing .single-advantage-box.single-advantage-box-combined{
    padding:10px!important;
  }

  body.single-listing .single-advantage-box-combined .single-direct-loyalty-box{
    padding:10px!important;
    border-radius:16px!important;
  }

  body.single-listing .single-advantage-box-combined .single-direct-discount-line strong{
    font-size:calc(22px + var(--nt-km-font-boost, 0px))!important;
  }

  body.single-listing .single-advantage-box-combined .single-loyalty-current{
    padding:8px 9px!important;
  }

  body.single-listing .single-advantage-box-combined .single-loyalty-current span,
  body.single-listing .single-advantage-box-combined .single-loyalty-current strong{
    font-size:calc(11px + var(--nt-km-font-boost, 0px))!important;
  }

  body.single-listing .single-advantage-box-combined .single-loyalty-dot{
    height:25px!important;
    border-radius:7px!important;
  }

  body.single-listing .single-advantage-box-combined .single-loyalty-dot b{
    font-size:calc(9px + var(--nt-km-font-boost, 0px))!important;
  }

  body.single-listing .single-advantage-box-combined .single-loyalty-dot small{
    font-size:calc(6.5px + var(--nt-km-font-boost, 0px))!important;
  }
}


/* H116C — HTML aplati avantage remise fidélité */
body.single-listing .single-advantage-box-flat-h116c{
  padding:14px!important;
  border-radius:20px!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-flat-offer-head-h116c{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:0 0 10px!important;
  padding:0!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-direct-discount-line{
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-direct-discount-line strong{
  font-size:calc(24px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:1000!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-direct-discount-line span{
  font-size:calc(13px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.15!important;
  font-weight:850!important;
}

body.single-listing .single-flat-loyalty-badge-h116c{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#fff7ed!important;
  color:#c2410c!important;
  font-size:calc(11px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:950!important;
  white-space:nowrap!important;
}

body.single-listing .single-flat-loyalty-h116c{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
  padding:10px!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(226,232,240,.95)!important;
}

body.single-listing .single-flat-loyalty-copy-h116c{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}

body.single-listing .single-flat-loyalty-copy-h116c strong{
  color:#0f172a!important;
  font-size:calc(15px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.1!important;
  font-weight:950!important;
}

body.single-listing .single-flat-loyalty-copy-h116c span{
  color:#64748b!important;
  font-size:calc(12px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-align:right!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0!important;
  padding:8px 10px!important;
  border-radius:13px!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current span,
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current strong{
  font-size:calc(12px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.15!important;
  font-weight:900!important;
  margin:0!important;
  white-space:nowrap!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j{
  display:grid!important;
  grid-template-columns:repeat(10,minmax(0,1fr))!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot{
  width:auto!important;
  min-width:0!important;
  height:25px!important;
  padding:2px 1px!important;
  border-radius:7px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot b{
  font-size:calc(9px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:950!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot small{
  font-size:calc(6.5px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:850!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-message{
  margin:0!important;
  padding:0!important;
  font-size:calc(12.5px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.2!important;
  font-weight:950!important;
}

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

body.single-listing .single-advantage-box-flat-h116c .activate-cashback-btn{
  min-height:46px!important;
  border-radius:17px!important;
}

@media(max-width:560px){
  body.single-listing .single-advantage-box-flat-h116c{
    padding:12px!important;
  }

  body.single-listing .single-flat-loyalty-copy-h116c{
    align-items:flex-start!important;
  }

  body.single-listing .single-flat-loyalty-copy-h116c span{
    max-width:58%!important;
  }

  body.single-listing .single-advantage-box-flat-h116c .single-direct-discount-line strong{
    font-size:calc(22px + var(--nt-km-font-boost, 0px))!important;
  }

  body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current span,
  body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current strong{
    font-size:calc(11px + var(--nt-km-font-boost, 0px))!important;
  }
}


/* H116D — fidélité ligne unique et progression atteinte */
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current-h116d{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
  padding:8px 10px!important;
  border-radius:13px!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
  white-space:nowrap!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current-h116d span,
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current-h116d strong{
  display:inline-flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  width:auto!important;
  max-width:none!important;
  font-size:calc(12px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:950!important;
  white-space:nowrap!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current-h116d span{
  color:#64748b!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current-h116d strong{
  color:#0f172a!important;
  text-align:right!important;
}

/* Progression : couleurs par palier, clair si non atteint */
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j{
  display:grid!important;
  grid-template-columns:repeat(10,minmax(0,1fr))!important;
  gap:4px!important;
  margin:0!important;
  padding:0!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot{
  width:auto!important;
  min-width:0!important;
  height:26px!important;
  padding:2px 1px!important;
  border-radius:8px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  box-shadow:none!important;
  opacity:1!important;
}

/* Non atteint : couleur très claire selon palier */
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot.tier-1:not(.is-filled){
  background:#dcfce7!important;
  color:#166534!important;
  border:1px solid rgba(22,101,52,.10)!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot.tier-2:not(.is-filled){
  background:#dbeafe!important;
  color:#1d4ed8!important;
  border:1px solid rgba(29,78,216,.10)!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot.tier-3:not(.is-filled){
  background:#fef3c7!important;
  color:#92400e!important;
  border:1px solid rgba(146,64,14,.12)!important;
}

/* Atteint : même famille de couleur, mais pleine */
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot.tier-1.is-filled{
  background:#22c55e!important;
  color:#ffffff!important;
  border:1px solid rgba(22,101,52,.28)!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot.tier-2.is-filled{
  background:#3b82f6!important;
  color:#ffffff!important;
  border:1px solid rgba(29,78,216,.28)!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot.tier-3.is-filled{
  background:#f59e0b!important;
  color:#ffffff!important;
  border:1px solid rgba(146,64,14,.28)!important;
}

/* Case courante */
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot.is-current{
  outline:2px solid rgba(15,23,42,.28)!important;
  outline-offset:2px!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot b{
  display:block!important;
  margin:0!important;
  font-size:calc(9.5px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:1000!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot small{
  display:block!important;
  margin:1px 0 0!important;
  font-size:calc(6.5px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:900!important;
}

/* Si aucune validation : garder les 10 cases claires, pas de faux rempli */
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot:not(.is-filled) small{
  opacity:.92!important;
}

@media(max-width:390px){
  body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current-h116d{
    gap:6px!important;
    padding:8px!important;
  }

  body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current-h116d span,
  body.single-listing .single-advantage-box-flat-h116c .single-loyalty-current-h116d strong{
    font-size:calc(10.5px + var(--nt-km-font-boost, 0px))!important;
  }

  body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j{
    gap:3px!important;
  }

  body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot{
    height:24px!important;
    border-radius:7px!important;
  }
}


/* H116E — progression fidélité couleurs atteinte non atteinte fortes */
/* Sélecteurs sans body.single-listing pour éviter les cas où la classe body diffère. */
.single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot,
.single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot{
  width:auto!important;
  min-width:0!important;
  height:26px!important;
  padding:2px 1px!important;
  border-radius:8px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  opacity:1!important;
  box-shadow:none!important;
}

/* NON ATTEINT : très clair, mais palier toujours identifiable */
.single-advantage-box-flat-h116c .single-loyalty-dot.tier-1.is-unreached,
.single-advantage-box-combined .single-loyalty-dot.tier-1.is-unreached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-unreached{
  background:#e9fbf0!important;
  color:#15803d!important;
  border:1px solid rgba(34,197,94,.18)!important;
}

.single-advantage-box-flat-h116c .single-loyalty-dot.tier-2.is-unreached,
.single-advantage-box-combined .single-loyalty-dot.tier-2.is-unreached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-unreached{
  background:#e8f1ff!important;
  color:#2563eb!important;
  border:1px solid rgba(59,130,246,.18)!important;
}

.single-advantage-box-flat-h116c .single-loyalty-dot.tier-3.is-unreached,
.single-advantage-box-combined .single-loyalty-dot.tier-3.is-unreached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-unreached{
  background:#fff4d8!important;
  color:#b45309!important;
  border:1px solid rgba(245,158,11,.22)!important;
}

/* ATTEINT : couleur pleine */
.single-advantage-box-flat-h116c .single-loyalty-dot.tier-1.is-reached,
.single-advantage-box-flat-h116c .single-loyalty-dot.tier-1.is-filled,
.single-advantage-box-combined .single-loyalty-dot.tier-1.is-reached,
.single-advantage-box-combined .single-loyalty-dot.tier-1.is-filled,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-reached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-filled{
  background:#22c55e!important;
  color:#ffffff!important;
  border:1px solid rgba(21,128,61,.40)!important;
}

.single-advantage-box-flat-h116c .single-loyalty-dot.tier-2.is-reached,
.single-advantage-box-flat-h116c .single-loyalty-dot.tier-2.is-filled,
.single-advantage-box-combined .single-loyalty-dot.tier-2.is-reached,
.single-advantage-box-combined .single-loyalty-dot.tier-2.is-filled,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-reached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-filled{
  background:#3b82f6!important;
  color:#ffffff!important;
  border:1px solid rgba(29,78,216,.40)!important;
}

.single-advantage-box-flat-h116c .single-loyalty-dot.tier-3.is-reached,
.single-advantage-box-flat-h116c .single-loyalty-dot.tier-3.is-filled,
.single-advantage-box-combined .single-loyalty-dot.tier-3.is-reached,
.single-advantage-box-combined .single-loyalty-dot.tier-3.is-filled,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-reached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-filled{
  background:#f59e0b!important;
  color:#ffffff!important;
  border:1px solid rgba(180,83,9,.42)!important;
}

/* Texte interne lisible */
.single-loyalty-progress-grid-v452j .single-loyalty-dot b{
  color:inherit!important;
  display:block!important;
  margin:0!important;
  font-size:calc(9.5px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:1000!important;
}

.single-loyalty-progress-grid-v452j .single-loyalty-dot small{
  color:inherit!important;
  display:block!important;
  margin:1px 0 0!important;
  font-size:calc(6.5px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:900!important;
}

/* Case courante : contour visible */
.single-loyalty-progress-grid-v452j .single-loyalty-dot.is-current{
  outline:2px solid rgba(15,23,42,.35)!important;
  outline-offset:2px!important;
}


/* H116F — cases non atteintes neutres */
/* Règle finale :
   - non atteint = neutre unique
   - atteint = couleur du palier
*/

/* Toutes les cases non atteintes deviennent neutres, peu importe le palier */
.single-loyalty-progress-grid-v452j .single-loyalty-dot.is-unreached,
.single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-unreached,
.single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-unreached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-unreached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-unreached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-unreached{
  background:#f1f5f9!important;
  color:#64748b!important;
  border:1px solid #e2e8f0!important;
  opacity:1!important;
  box-shadow:none!important;
}

/* Atteint : couleur pleine selon palier */
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-reached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-filled{
  background:#22c55e!important;
  color:#ffffff!important;
  border:1px solid rgba(21,128,61,.45)!important;
}

.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-reached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-filled{
  background:#3b82f6!important;
  color:#ffffff!important;
  border:1px solid rgba(29,78,216,.45)!important;
}

.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-reached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-filled{
  background:#f59e0b!important;
  color:#ffffff!important;
  border:1px solid rgba(180,83,9,.45)!important;
}

/* Texte des cases */
.single-loyalty-progress-grid-v452j .single-loyalty-dot.is-unreached b,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.is-unreached small{
  color:#64748b!important;
}

.single-loyalty-progress-grid-v452j .single-loyalty-dot.is-reached b,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.is-reached small,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.is-filled b,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.is-filled small{
  color:#ffffff!important;
}

/* Case courante seulement si elle est vraiment atteinte */
.single-loyalty-progress-grid-v452j .single-loyalty-dot.is-current.is-reached,
.single-loyalty-progress-grid-v452j .single-loyalty-dot.is-current.is-filled{
  outline:2px solid rgba(15,23,42,.36)!important;
  outline-offset:2px!important;
}

.single-loyalty-progress-grid-v452j .single-loyalty-dot.is-current.is-unreached{
  outline:none!important;
}


/* H116G — override final cases non atteintes neutres */
/* Cette règle est volontairement plus spécifique que :
   body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot.tier-1:not(.is-filled)
*/

/* NON ATTEINT = neutre unique, même si tier-1 / tier-2 / tier-3 */
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-unreached:not(.is-filled),
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-unreached:not(.is-filled),
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-unreached:not(.is-filled),
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-unreached:not(.is-filled),
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-unreached:not(.is-filled),
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-unreached:not(.is-filled){
  background:#f1f5f9!important;
  color:#64748b!important;
  border:1px solid #e2e8f0!important;
  opacity:1!important;
  box-shadow:none!important;
}

/* Texte non atteint neutre */
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-unreached:not(.is-filled) b,
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-unreached:not(.is-filled) small,
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-unreached:not(.is-filled) b,
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.is-unreached:not(.is-filled) small{
  color:#64748b!important;
}

/* ATTEINT = couleur pleine du palier */
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-reached,
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-filled,
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-reached,
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-1.is-filled{
  background:#22c55e!important;
  color:#ffffff!important;
  border:1px solid rgba(21,128,61,.45)!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-reached,
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-filled,
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-reached,
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-2.is-filled{
  background:#3b82f6!important;
  color:#ffffff!important;
  border:1px solid rgba(29,78,216,.45)!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-reached,
body.single-listing .single-advantage-box-flat-h116c .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-filled,
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-reached,
body.single-listing .single-advantage-box-combined .single-loyalty-progress-grid-v452j .single-loyalty-dot.tier-3.is-filled{
  background:#f59e0b!important;
  color:#ffffff!important;
  border:1px solid rgba(180,83,9,.45)!important;
}


/* H117 — fiche commerce hero propre */
/* Hero : garder avis + nombre d’avis + Mis en avant, retirer Offre/Fidélité+ */
body.single-listing .single-hero-offer-chips,
.single-hero-offer-chips{
  display:none!important;
}

/* Overlay moins gris : sombre surtout en bas pour lire le titre */
body.single-listing .single-v3-overlay,
.single-v3-overlay{
  background:linear-gradient(
    to top,
    rgba(11,19,43,.68) 0%,
    rgba(11,19,43,.30) 15%,
    rgba(11,19,43,.08) 28%,
    rgba(11,19,43,0) 42%
  )!important;
  opacity:1!important;
}

/* Boutons haut plus discrets */
body.single-listing .single-v3-topbar,
.single-v3-topbar{
  top:14px!important;
  left:14px!important;
  right:14px!important;
}

body.single-listing .single-v3-top-actions,
.single-v3-top-actions{
  gap:9px!important;
}

body.single-listing .single-v3-back,
body.single-listing .single-top-icon,
.single-v3-back,
.single-top-icon{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.74)!important;
  color:#0f172a!important;
  border:1px solid rgba(255,255,255,.44)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.12)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  opacity:.92!important;
  font-size:calc(18px + var(--nt-km-font-boost, 0px))!important;
  font-weight:850!important;
}

body.single-listing .single-v3-back:hover,
body.single-listing .single-top-icon:hover,
.single-v3-back:hover,
.single-top-icon:hover{
  opacity:1!important;
  background:rgba(255,255,255,.88)!important;
}

body.single-listing .single-fav-icon,
.single-fav-icon{
  font-size:calc(22px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  transform:none!important;
}

body.single-listing .single-top-icon.share-btn::before,
.single-top-icon.share-btn::before{
  font-size:calc(19px + var(--nt-km-font-boost, 0px))!important;
  color:#0f172a!important;
  font-weight:900!important;
}

/* Outils photos : bouton discret + compteur */
body.single-listing .single-h117-photo-tools,
.single-h117-photo-tools{
  position:absolute!important;
  right:14px!important;
  bottom:14px!important;
  z-index:5!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}

body.single-listing .single-h117-see-photos,
.single-h117-see-photos{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:8px 11px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:999px!important;
  background:rgba(11,19,43,.64)!important;
  color:#fff!important;
  font-size:calc(11px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:950!important;
  cursor:pointer!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.16)!important;
}

body.single-listing .single-h117-see-photos .is-open,
.single-h117-see-photos .is-open{
  display:none!important;
}

body.single-listing .single-v3-hero.is-h117-photo-mode .single-h117-see-photos .is-closed,
.single-v3-hero.is-h117-photo-mode .single-h117-see-photos .is-closed{
  display:none!important;
}

body.single-listing .single-v3-hero.is-h117-photo-mode .single-h117-see-photos .is-open,
.single-v3-hero.is-h117-photo-mode .single-h117-see-photos .is-open{
  display:inline!important;
}

body.single-listing .single-h117-photo-tools .single-slider-counter,
.single-h117-photo-tools .single-slider-counter{
  position:static!important;
  right:auto!important;
  bottom:auto!important;
  padding:8px 11px!important;
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  background:rgba(11,19,43,.68)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  font-size:calc(12px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(0,0,0,.16)!important;
}

/* Ancien compteur s’il reste ailleurs */
body.single-listing .single-v3-slider > .single-slider-counter{
  right:14px!important;
  bottom:14px!important;
}

/* Mode Voir photos : photo réelle sans voile fort */
body.single-listing .single-v3-hero.is-h117-photo-mode .single-v3-overlay,
.single-v3-hero.is-h117-photo-mode .single-v3-overlay{
  opacity:0!important;
}

body.single-listing .single-v3-hero.is-h117-photo-mode .single-v3-hero-content,
.single-v3-hero.is-h117-photo-mode .single-v3-hero-content{
  opacity:0!important;
  pointer-events:none!important;
}

body.single-listing .single-v3-hero.is-h117-photo-mode .single-v3-topbar,
.single-v3-hero.is-h117-photo-mode .single-v3-topbar{
  opacity:.55!important;
}

body.single-listing .single-v3-hero.is-h117-photo-mode .single-h117-see-photos,
.single-v3-hero.is-h117-photo-mode .single-h117-see-photos{
  background:rgba(255,255,255,.86)!important;
  color:#0f172a!important;
}

/* Éviter que le bouton photos se colle au titre */
body.single-listing .single-v3-hero-content,
.single-v3-hero-content{
  padding-right:102px!important;
}

@media(max-width:560px){
  body.single-listing .single-v3-back,
  body.single-listing .single-top-icon,
  .single-v3-back,
  .single-top-icon{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    font-size:calc(17px + var(--nt-km-font-boost, 0px))!important;
  }

  body.single-listing .single-v3-top-actions,
  .single-v3-top-actions{
    gap:8px!important;
  }

  body.single-listing .single-h117-photo-tools,
  .single-h117-photo-tools{
    right:12px!important;
    bottom:12px!important;
    gap:6px!important;
  }

  body.single-listing .single-h117-see-photos,
  .single-h117-see-photos{
    min-height:32px!important;
    padding:7px 9px!important;
    font-size:calc(10.5px + var(--nt-km-font-boost, 0px))!important;
  }

  body.single-listing .single-h117-photo-tools .single-slider-counter,
  .single-h117-photo-tools .single-slider-counter{
    min-height:32px!important;
    padding:7px 9px!important;
    font-size:calc(11px + var(--nt-km-font-boost, 0px))!important;
  }

  body.single-listing .single-v3-hero-content,
  .single-v3-hero-content{
    padding-right:88px!important;
  }
}


/* H117B — hero boutons/photos alignés */
/* Bouton partager : éviter double flèche texte + pseudo-element */
body.single-listing .single-top-icon.share-btn,
.single-top-icon.share-btn{
  font-size:0!important;
  color:transparent!important;
  text-indent:-9999px!important;
  overflow:hidden!important;
}

body.single-listing .single-top-icon.share-btn::before,
.single-top-icon.share-btn::before{
  content:"↗"!important;
  text-indent:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  color:#0f172a!important;
  font-size:calc(18px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:950!important;
}

/* Aligner Voir photos + compteur sur la ligne note/étoiles */
body.single-listing .single-v3-hero-rating-row,
.single-v3-hero-rating-row{
  position:relative!important;
  padding-right:128px!important;
  min-height:36px!important;
}

body.single-listing .single-h117-photo-tools,
.single-h117-photo-tools{
  right:14px!important;
  bottom:13px!important;
  z-index:6!important;
  align-items:center!important;
}

/* Les outils photos doivent avoir la même hauteur visuelle que les badges de note */
body.single-listing .single-h117-see-photos,
body.single-listing .single-h117-photo-tools .single-slider-counter,
.single-h117-see-photos,
.single-h117-photo-tools .single-slider-counter{
  min-height:32px!important;
  height:32px!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  font-size:calc(11px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
}

/* Le contenu hero n’a plus besoin d’un gros padding global à droite */
body.single-listing .single-v3-hero-content,
.single-v3-hero-content{
  padding-right:0!important;
}

/* En mode photo : fermer reste visible, mais les boutons haut restent discrets */
body.single-listing .single-v3-hero.is-h117-photo-mode .single-h117-photo-tools,
.single-v3-hero.is-h117-photo-mode .single-h117-photo-tools{
  opacity:1!important;
}

@media(max-width:560px){
  body.single-listing .single-v3-hero-rating-row,
  .single-v3-hero-rating-row{
    padding-right:116px!important;
    min-height:34px!important;
  }

  body.single-listing .single-h117-photo-tools,
  .single-h117-photo-tools{
    right:10px!important;
    bottom:12px!important;
    gap:5px!important;
  }

  body.single-listing .single-h117-see-photos,
  body.single-listing .single-h117-photo-tools .single-slider-counter,
  .single-h117-see-photos,
  .single-h117-photo-tools .single-slider-counter{
    min-height:30px!important;
    height:30px!important;
    padding:0 8px!important;
    font-size:calc(10px + var(--nt-km-font-boost, 0px))!important;
  }
}

@media(max-width:390px){
  body.single-listing .single-v3-hero-rating-row,
  .single-v3-hero-rating-row{
    padding-right:104px!important;
  }

  body.single-listing .single-h117-see-photos,
  .single-h117-see-photos{
    max-width:68px!important;
  }
}


/* H118 — onglets conditionnels et suggestions enrichies */
.single-v4-tabs{
  overflow-x:auto!important;
  scrollbar-width:none!important;
  -webkit-overflow-scrolling:touch!important;
}

.single-v4-tabs::-webkit-scrollbar{
  display:none!important;
}

.single-v4-tab{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* Suggestions autres commerces enrichies */
.single-related-list-h118{
  display:grid!important;
  gap:12px!important;
}

.single-related-item-h118{
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  padding:12px!important;
  border-radius:20px!important;
  background:#f8fafc!important;
  border:1px solid #edf2f7!important;
  text-decoration:none!important;
  color:#0f172a!important;
  box-shadow:0 10px 24px rgba(15,23,42,.04)!important;
}

.single-related-item-h118 img{
  width:78px!important;
  height:78px!important;
  border-radius:16px!important;
  object-fit:cover!important;
  background:#e2e8f0!important;
}

.single-related-item-h118 .single-related-copy{
  min-width:0!important;
  display:grid!important;
  gap:5px!important;
}

.single-related-item-h118 .single-related-copy strong{
  color:#0f172a!important;
  font-size:calc(16px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.15!important;
  font-weight:950!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.single-related-item-h118 .single-related-copy > span{
  color:#64748b!important;
  font-size:calc(13px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.2!important;
  font-weight:750!important;
}

.single-related-meta-h118{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  margin-top:2px!important;
}

.single-related-meta-h118 em{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:24px!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:#eef2ff!important;
  color:#334155!important;
  font-size:calc(11px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:900!important;
}

.single-related-meta-h118 em.is-offer{
  background:linear-gradient(135deg,#ff6b22,#ff2f6d)!important;
  color:#fff!important;
}

@media(max-width:560px){
  .single-related-item-h118{
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px!important;
    border-radius:18px!important;
  }

  .single-related-item-h118 img{
    width:70px!important;
    height:70px!important;
    border-radius:15px!important;
  }

  .single-related-item-h118 .single-related-copy strong{
    font-size:calc(15px + var(--nt-km-font-boost, 0px))!important;
  }

  .single-related-meta-h118{
    gap:5px!important;
  }

  .single-related-meta-h118 em{
    font-size:calc(10px + var(--nt-km-font-boost, 0px))!important;
    padding:5px 7px!important;
  }
}


/* H118B — suggestions compactes photos grandes distance */
.single-v4-tab[data-panel="pricing"]{
  text-transform:none!important;
}

.single-related-list-h118{
  gap:9px!important;
}

.single-related-item-h118{
  grid-template-columns:92px minmax(0,1fr)!important;
  gap:12px!important;
  padding:9px 10px!important;
  border-radius:18px!important;
  min-height:104px!important;
}

.single-related-item-h118 img{
  width:92px!important;
  height:92px!important;
  border-radius:16px!important;
}

.single-related-item-h118 .single-related-copy{
  gap:4px!important;
}

.single-related-item-h118 .single-related-copy strong{
  font-size:calc(16px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.1!important;
}

.single-related-item-h118 .single-related-copy > span{
  font-size:calc(13px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.1!important;
}

.single-related-meta-h118{
  gap:5px!important;
  margin-top:4px!important;
}

.single-related-meta-h118 em{
  min-height:22px!important;
  padding:5px 7px!important;
  font-size:calc(10.5px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
}

.single-related-meta-h118 em.is-distance{
  background:#e0f2fe!important;
  color:#0369a1!important;
}

.single-related-meta-h118 em.is-offer{
  background:linear-gradient(135deg,#ff6b22,#ff2f6d)!important;
  color:#fff!important;
}

@media(max-width:560px){
  .single-related-list-h118{
    gap:8px!important;
  }

  .single-related-item-h118{
    grid-template-columns:88px minmax(0,1fr)!important;
    gap:10px!important;
    padding:8px 9px!important;
    border-radius:17px!important;
    min-height:100px!important;
  }

  .single-related-item-h118 img{
    width:88px!important;
    height:88px!important;
    border-radius:15px!important;
  }

  .single-related-item-h118 .single-related-copy strong{
    font-size:calc(15px + var(--nt-km-font-boost, 0px))!important;
  }

  .single-related-meta-h118 em{
    font-size:calc(10px + var(--nt-km-font-boost, 0px))!important;
    padding:5px 6px!important;
  }
}

@media(max-width:390px){
  .single-related-item-h118{
    grid-template-columns:82px minmax(0,1fr)!important;
  }

  .single-related-item-h118 img{
    width:82px!important;
    height:82px!important;
  }
}


/* H118C — suggestions top aligned photos 100px */
.single-related-list-h118{
  display:grid!important;
  gap:8px!important;
}

.single-related-item-h118{
  grid-template-columns:100px minmax(0,1fr)!important;
  align-items:start!important;
  gap:11px!important;
  padding:8px!important;
  min-height:116px!important;
  border-radius:18px!important;
}

.single-related-item-h118 img{
  width:100px!important;
  height:100px!important;
  min-width:100px!important;
  border-radius:16px!important;
  object-fit:cover!important;
}

.single-related-item-h118 .single-related-copy,
.single-related-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  min-height:100px!important;
  gap:4px!important;
  padding-top:2px!important;
}

.single-related-item-h118 .single-related-copy strong{
  margin:0!important;
  font-size:calc(16px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.12!important;
  font-weight:950!important;
  white-space:normal!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.single-related-item-h118 .single-related-copy > span{
  margin:0!important;
  font-size:calc(13px + var(--nt-km-font-boost, 0px))!important;
  line-height:1.15!important;
  font-weight:800!important;
}

.single-related-meta-h118{
  margin-top:5px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  flex-wrap:wrap!important;
}

.single-related-meta-h118 em{
  min-height:22px!important;
  padding:5px 7px!important;
  border-radius:999px!important;
  font-size:calc(10.5px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  font-weight:900!important;
}

/* Badge distance en premier, plus lisible */
.single-related-meta-h118 em.is-distance{
  background:#e0f2fe!important;
  color:#0369a1!important;
}

/* Onglet Tarif : majuscule forcée même si ancien cache */
.single-v4-tab[data-panel="pricing"]{
  text-transform:none!important;
}
.single-v4-tab[data-panel="pricing"]::first-letter{
  text-transform:uppercase!important;
}

@media(max-width:560px){
  .single-related-list-h118{
    gap:8px!important;
  }

  .single-related-item-h118{
    grid-template-columns:100px minmax(0,1fr)!important;
    gap:10px!important;
    padding:8px!important;
    min-height:116px!important;
  }

  .single-related-item-h118 img{
    width:100px!important;
    height:100px!important;
    min-width:100px!important;
  }

  .single-related-item-h118 .single-related-copy{
    min-height:100px!important;
    padding-top:1px!important;
  }

  .single-related-item-h118 .single-related-copy strong{
    font-size:calc(15px + var(--nt-km-font-boost, 0px))!important;
  }

  .single-related-meta-h118 em{
    font-size:calc(10px + var(--nt-km-font-boost, 0px))!important;
    padding:5px 6px!important;
  }
}

@media(max-width:390px){
  .single-related-item-h118{
    grid-template-columns:94px minmax(0,1fr)!important;
  }

  .single-related-item-h118 img{
    width:94px!important;
    height:94px!important;
    min-width:94px!important;
  }

  .single-related-item-h118 .single-related-copy{
    min-height:94px!important;
  }
}


/* H119 — coeur favori rouge actif */
/* État normal : discret */
body.single-listing .single-fav-btn .single-fav-icon,
.single-fav-btn .single-fav-icon{
  color:#0f172a!important;
  transition:color .18s ease, transform .18s ease!important;
}

/* État actif : cœur rouge */
body.single-listing .single-fav-btn.active .single-fav-icon,
body.single-listing .single-fav-btn.is-active .single-fav-icon,
body.single-listing .single-fav-btn[aria-pressed="true"] .single-fav-icon,
.single-fav-btn.active .single-fav-icon,
.single-fav-btn.is-active .single-fav-icon,
.single-fav-btn[aria-pressed="true"] .single-fav-icon{
  color:#ef4444!important;
  fill:#ef4444!important;
}

/* Bouton actif : garder discret, juste un léger fond rouge clair */
body.single-listing .single-fav-btn.active,
body.single-listing .single-fav-btn.is-active,
body.single-listing .single-fav-btn[aria-pressed="true"],
.single-fav-btn.active,
.single-fav-btn.is-active,
.single-fav-btn[aria-pressed="true"]{
  background:rgba(255,255,255,.88)!important;
  border-color:rgba(239,68,68,.25)!important;
  box-shadow:0 8px 18px rgba(239,68,68,.12)!important;
}

/* Si l’icône est en texte cœur, on la transforme visuellement en cœur plein */
body.single-listing .single-fav-btn.active .single-fav-icon::before,
body.single-listing .single-fav-btn.is-active .single-fav-icon::before,
body.single-listing .single-fav-btn[aria-pressed="true"] .single-fav-icon::before,
.single-fav-btn.active .single-fav-icon::before,
.single-fav-btn.is-active .single-fav-icon::before,
.single-fav-btn[aria-pressed="true"] .single-fav-icon::before{
  content:"♥"!important;
}

body.single-listing .single-fav-btn.active .single-fav-icon,
body.single-listing .single-fav-btn.is-active .single-fav-icon,
body.single-listing .single-fav-btn[aria-pressed="true"] .single-fav-icon,
.single-fav-btn.active .single-fav-icon,
.single-fav-btn.is-active .single-fav-icon,
.single-fav-btn[aria-pressed="true"] .single-fav-icon{
  font-size:0!important;
}

body.single-listing .single-fav-btn.active .single-fav-icon::before,
body.single-listing .single-fav-btn.is-active .single-fav-icon::before,
body.single-listing .single-fav-btn[aria-pressed="true"] .single-fav-icon::before,
.single-fav-btn.active .single-fav-icon::before,
.single-fav-btn.is-active .single-fav-icon::before,
.single-fav-btn[aria-pressed="true"] .single-fav-icon::before{
  font-size:calc(22px + var(--nt-km-font-boost, 0px))!important;
  line-height:1!important;
  color:#ef4444!important;
}

/* Petit effet au clic */
body.single-listing .single-fav-btn.active .single-fav-icon,
body.single-listing .single-fav-btn.is-active .single-fav-icon,
body.single-listing .single-fav-btn[aria-pressed="true"] .single-fav-icon,
.single-fav-btn.active .single-fav-icon,
.single-fav-btn.is-active .single-fav-icon,
.single-fav-btn[aria-pressed="true"] .single-fav-icon{
  transform:scale(1.04)!important;
}


/* H122 — navigation mobile globale */
.nt-bottom-nav,
.bottom-nav,
.mobile-bottom-nav,
.novtinis-bottom-nav,
[class*="bottom-nav"]{
  z-index:999!important;
}

.nt-bottom-nav a,
.bottom-nav a,
.mobile-bottom-nav a,
.novtinis-bottom-nav a,
[class*="bottom-nav"] a{
  text-decoration:none!important;
  -webkit-tap-highlight-color:transparent!important;
}

.nt-bottom-nav a.is-active,
.nt-bottom-nav a.active,
.nt-bottom-nav a[aria-current="page"],
.bottom-nav a.is-active,
.bottom-nav a.active,
.bottom-nav a[aria-current="page"],
.mobile-bottom-nav a.is-active,
.mobile-bottom-nav a.active,
.mobile-bottom-nav a[aria-current="page"],
.novtinis-bottom-nav a.is-active,
.novtinis-bottom-nav a.active,
.novtinis-bottom-nav a[aria-current="page"],
[class*="bottom-nav"] a.is-active,
[class*="bottom-nav"] a.active,
[class*="bottom-nav"] a[aria-current="page"]{
  color:#2563eb!important;
  font-weight:950!important;
}

/* Le bouton central Offres/Scan garde sa priorité visuelle */
.nt-bottom-nav a.is-active[href*="offres"],
.bottom-nav a.is-active[href*="offres"],
.mobile-bottom-nav a.is-active[href*="offres"],
.novtinis-bottom-nav a.is-active[href*="offres"]{
  color:#111827!important;
}

/* Sécurité : le contenu ne passe pas sous la nav */
body{
  padding-bottom:max(92px, env(safe-area-inset-bottom))!important;
}

@media(max-width:560px){
  main,
  #content,
  .site-content,
  .ast-container,
  .entry-content{
    padding-bottom:24px;
  }
}


/* Navigation basse : styles centralisés dans css/nt-client-bottom-nav.css. */

/* ======================================================
   LISTING — ICÔNE CATÉGORIE SVG MONOCHROME
   Synchronisé avec Accueil / Rechercher.
====================================================== */
html body .single-v3-chip.nt-listing-category-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

html body .single-v3-chip.nt-listing-category-chip .nt-listing-category-icon {
  width: 21px !important;
  height: 21px !important;
  min-width: 21px !important;
  min-height: 21px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #64748b !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .single-v3-chip.nt-listing-category-chip .nt-listing-category-icon svg {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  fill: currentColor !important;
  display: block !important;
}

html body .single-v3-chip.nt-listing-category-chip:hover .nt-listing-category-icon {
  color: #2563eb !important;
}



/* LOT 5 — Offre éclair : taux client mis en avant et minuterie exacte */
body.single-listing .single-advantage-box-cashback-eclair.single-advantage-box-flat-h116c{
  border-color:rgba(249,115,22,.34)!important;
  box-shadow:0 18px 38px rgba(249,115,22,.12)!important;
  background:
    radial-gradient(circle at 100% 0,rgba(168,85,247,.14),transparent 34%),
    linear-gradient(145deg,#fff7ed 0%,#fff 48%,#fdf4ff 100%)!important;
}

body.single-listing .single-advantage-box-cashback-eclair .single-direct-discount-line strong{
  color:#ea580c!important;
  font-size:calc(clamp(28px,7vw,36px) + var(--nt-km-font-boost, 0px))!important;
}

body.single-listing .single-flat-loyalty-badge-h116c.is-eclair{
  background:linear-gradient(135deg,#7c3aed 0%,#ff2d55 58%,#f97316 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(255,45,85,.18)!important;
}

body.single-listing .single-advantage-box-cashback-eclair .single-cashback-countdown{
  background:linear-gradient(135deg,rgba(124,58,237,.08),rgba(249,115,22,.10))!important;
  border-color:rgba(249,115,22,.22)!important;
}

/* ======================================================================
   H65 — Menu harmonisé par catégories + slider horizontal
   ====================================================================== */
.single-v4-panel[data-panel-content="menu"] .menu-sections-nav {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 2px 2px 12px;
  margin: 4px -2px 18px;
}

.single-v4-panel[data-panel-content="menu"] .menu-sections-nav::-webkit-scrollbar {
  display: none;
}

.single-v4-panel[data-panel-content="menu"] .menu-section-btn {
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid #dfe7f2;
  background: #fff;
  color: #101828;
  font-size: calc(14px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .05);
}

.single-v4-panel[data-panel-content="menu"] .menu-section-btn.is-active,
.single-v4-panel[data-panel-content="menu"] .menu-section-btn:hover {
  background: linear-gradient(135deg, #ff7a00, #ff2d55);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 14px 28px rgba(255, 90, 40, .18);
}

.single-v4-panel[data-panel-content="menu"] .menu-section-h65 {
  margin: 0 0 30px;
}

.single-v4-panel[data-panel-content="menu"] .menu-section-head-h65 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
}

.single-v4-panel[data-panel-content="menu"] .menu-section-title {
  margin: 0;
  font-size: calc(22px + var(--nt-km-font-boost, 0px));
  line-height: 1.15;
  font-weight: 950;
  color: #111827;
}

.single-v4-panel[data-panel-content="menu"] .menu-section-count-h65 {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #64748b;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
}

.single-v4-panel[data-panel-content="menu"] .menu-slider-h65 {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 14px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 2px 8px 14px 2px;
  margin: 0 -8px 0 0;
}

.single-v4-panel[data-panel-content="menu"] .menu-slider-h65::-webkit-scrollbar {
  display: none;
}

.single-v4-panel[data-panel-content="menu"] .menu-slider-h65 .menu-card {
  flex: 0 0 min(78vw, 330px);
  max-width: 330px;
  min-width: 250px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  border: 1px solid #e5edf6;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .08);
}

.single-v4-panel[data-panel-content="menu"] .menu-slider-h65:not(.is-scrollable) .menu-card {
  flex-basis: min(100%, 360px);
}

.single-v4-panel[data-panel-content="menu"] .menu-card-img img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  background: #eef2f7;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-title {
  margin: 0;
  font-size: calc(18px + var(--nt-km-font-boost, 0px));
  line-height: 1.2;
  font-weight: 950;
  color: #111827;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-desc {
  margin: 0;
  color: #667085;
  font-size: calc(14px + var(--nt-km-font-boost, 0px));
  line-height: 1.45;
}



.single-v4-panel[data-panel-content="menu"] .menu-price-badge {
  left: 14px;
  bottom: 14px;
  min-height: 36px;
  padding: 0 13px;
  background: rgba(15, 23, 42, .88);
}

.single-v4-panel[data-panel-content="menu"] .menu-like-btn {
  top: 14px;
  right: 14px;
  min-height: 38px;
  min-width: 46px;
  justify-content: center;
}

.single-v4-panel[data-panel-content="menu"] .single-menu-missing-assist-h61h {
  margin-top: 22px;
}

@media (min-width: 760px) {
  .single-v4-panel[data-panel-content="menu"] .menu-slider-h65 .menu-card {
    flex-basis: 300px;
  }
}

@media (max-width: 520px) {
  .single-v4-panel[data-panel-content="menu"] .menu-section-title {
    font-size: calc(20px + var(--nt-km-font-boost, 0px));
  }
  .single-v4-panel[data-panel-content="menu"] .menu-slider-h65 {
    gap: 12px;
    padding-right: 18px;
  }
  .single-v4-panel[data-panel-content="menu"] .menu-slider-h65 .menu-card {
    flex-basis: 82vw;
    min-width: 240px;
  }
  .single-v4-panel[data-panel-content="menu"] .menu-card-img img {
    height: 190px;
  }
}

/* Correctif revendication : texte court et espace bas stable. */
.single-claim-box[data-novtinis-claim-box="1"] {
  margin-bottom: 20px !important;
}

.single-claim-box.is-claimed[data-novtinis-claim-box="1"] {
  margin-bottom: 22px !important;
  padding-bottom: 17px !important;
}

.single-claim-box.is-claimed[data-novtinis-claim-box="1"] .single-claim-copy span {
  display: none !important;
}


/* Correctif revendication : ne pas afficher de message public quand la fiche est déjà revendiquée. */
.single-claim-box.is-claimed[data-novtinis-claim-box="1"] {
  display: none !important;
}


/* Correctif avis menu : compteur de caractères sous la description */
.seva-review-char-counter {
  margin: -6px 2px 14px;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 700;
  color: #d35400;
  text-align: right;
}

.seva-review-char-counter.is-ok {
  color: #0f8a4b;
}

/* Sécurité : le bouton Menu/Tarifs ne doit jamais apparaître comme un rond vide. */
.single-v4-tab[data-panel="menu"]:empty::after {
  content: "Menu";
}


/* ======================================================================
   Avis menu : formulaire léger et choix rapides
   ====================================================================== */
.seva-review-form.is-menu-review .seva-review-commerce-only {
  display: none !important;
}

.seva-review-form.is-menu-review .seva-review-menu-context {
  background: #fff7ed;
  border-color: #fed7aa;
}

.seva-review-form.is-menu-review .seva-review-menu-context small {
  color: #9a3412;
}

.seva-menu-review-fast {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.seva-menu-review-fast[hidden] {
  display: none !important;
}

.seva-menu-review-fast__intro {
  color: #475569;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  line-height: 1.4;
  font-weight: 800;
}

.seva-menu-review-fast__group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.seva-menu-review-fast__group strong {
  color: #0f172a;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 950;
}

.seva-menu-review-fast__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.seva-menu-review-chip {
  min-height: 34px;
  border-radius: 999px;
  border: 1px solid #e2e8f0;
  background: #fff;
  color: #475569;
  padding: 0 12px;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  font-weight: 850;
  cursor: pointer;
}

.seva-menu-review-chip.is-selected {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, #0f6bd8, #2878ff);
  box-shadow: 0 8px 16px rgba(15, 107, 216, .16);
}

.seva-review-form.is-menu-review #sevaReviewContent {
  min-height: 88px;
}

.seva-review-form.is-menu-review .seva-review-points-note {
  background: #f0fdf4;
  border-color: #bbf7d0;
  color: #166534;
}

.seva-menu-linked-review-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.seva-menu-linked-review-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eef6ff;
  color: #0f6bd8;
  font-size: calc(11px + var(--nt-km-font-boost, 0px));
  font-weight: 850;
}


/* Correctif menu modal : prix, accès avis liés et photos des avis menu */
.seva-menu-modal__price[hidden] {
  display: none !important;
}

.seva-menu-modal__signals span,
.seva-menu-modal__signals button.seva-menu-modal__signal {
  appearance: none;
  border: 0;
  cursor: pointer;
  font: inherit;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff7ed;
  color: #7c2d12;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 800;
}

.seva-menu-modal__signals button.seva-menu-modal__signal.is-disabled,
.seva-menu-modal__signals button.seva-menu-modal__signal:disabled {
  cursor: default;
  opacity: .65;
}

.seva-menu-linked-review-title {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 950;
}

.seva-menu-linked-review-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.seva-menu-linked-review-photos {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 2px;
}

.seva-menu-linked-review-photo {
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #e5edf6;
  cursor: pointer;
}

.seva-menu-linked-review-photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.seva-menu-linked-review-more {
  margin-top: 10px;
  color: #64748b;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  font-weight: 800;
}

/* Correctif menu modal : prix typographique, insight supprimé, avis liés plus lisibles */
.seva-menu-modal__insight {
  display: none !important;
}

.seva-menu-modal__linked-reviews {
  max-height: min(420px, 44vh);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 10px;
  background: #fff;
}

.seva-menu-linked-review-title {
  position: sticky;
  top: 0;
  z-index: 1;
  margin: -10px -10px 8px;
  padding: 10px 10px 8px;
  background: #fff;
  border-bottom: 1px solid #eef2f7;
}

.seva-menu-linked-review {
  padding: 10px 0;
}

.seva-menu-linked-review + .seva-menu-linked-review {
  margin-top: 0;
  padding-top: 12px;
  border-top: 1px solid #eef2f7;
}

.seva-menu-linked-review-head {
  align-items: center;
}

.seva-menu-linked-review-head span {
  color: #ff7a00;
  letter-spacing: .5px;
}

.seva-menu-linked-review-tags {
  margin-top: 7px;
  gap: 5px;
}

.seva-menu-linked-review-tags span {
  min-height: 22px;
  padding: 0 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #475569;
  font-size: calc(11px + var(--nt-km-font-boost, 0px));
  font-weight: 850;
}

.seva-menu-linked-review-text {
  margin-top: 7px !important;
  color: #334155 !important;
  font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.45 !important;
  font-weight: 650 !important;
}

.seva-menu-linked-review-photos {
  margin-top: 8px;
}

.seva-menu-linked-review-more {
  position: sticky;
  bottom: 0;
  margin: 10px -10px -10px;
  padding: 8px 10px 10px;
  background: linear-gradient(180deg, rgba(255,255,255,.86), #fff 35%);
  color: #64748b;
  text-align: center;
}

/* Correctif menu modal : prix visible + scroll complet des avis liés */
.seva-menu-modal__dialog {
  display: flex;
  flex-direction: column;
  max-height: min(94vh, 94dvh);
  overflow: hidden !important;
}

.seva-menu-modal__image-wrap {
  flex: 0 0 auto;
}

.seva-menu-modal__content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(34px + env(safe-area-inset-bottom));
}

.seva-menu-modal__price:not([hidden]) {
  display: inline-flex !important;
}

.seva-menu-modal__linked-reviews {
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: 18px;
}

.seva-menu-linked-review-more {
  position: static !important;
  margin: 10px 0 0;
  padding: 8px 0 0;
  background: transparent;
}

@media (max-width: 520px) {
  .seva-menu-modal__dialog {
    max-height: min(96vh, 96dvh);
  }

  .seva-menu-modal__content {
    padding-bottom: calc(42px + env(safe-area-inset-bottom));
  }
}

/* ======================================================
   TAGS PUBLICS — FICHE COMMERCE
   - Affiche uniquement les tags enregistrés par le commerce.
   - Aucune rubrique n'existe sans au moins une pastille.
====================================================== */
.single-smart-about-block .nt-listing-public-tags {
  margin: 16px 0 0;
  padding: 15px 0 0;
  border-top: 1px solid #e6edf5;
}

.single-smart-about-block .nt-listing-public-tags-title {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: calc(14px + var(--nt-km-font-boost, 0px));
  line-height: 1.2;
  font-weight: 950;
}

.single-smart-about-block .nt-listing-public-tag-group + .nt-listing-public-tag-group {
  margin-top: 11px;
}

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

.single-smart-about-block .nt-listing-public-tag-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.single-smart-about-block .nt-listing-public-tag-chip {
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid #dbe7f4;
  border-radius: 999px;
  background: #f6f9fd;
  color: #334e72;
  display: inline-flex;
  align-items: center;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  line-height: 1.15;
  font-weight: 850;
}

.single-smart-about-block .nt-listing-public-tag-group--services .nt-listing-public-tag-chip {
  background: #eef8ff;
  border-color: #d4edf9;
  color: #0f6d9a;
}

.single-smart-about-block .nt-listing-public-tag-group--other .nt-listing-public-tag-chip {
  background: #fff8ef;
  border-color: #f8e6c7;
  color: #9a5a10;
}

@media (max-width: 420px) {
  .single-smart-about-block .nt-listing-public-tags {
    margin-top: 14px;
    padding-top: 13px;
  }

  .single-smart-about-block .nt-listing-public-tag-chip {
    min-height: 28px;
    padding: 5px 9px;
    font-size: calc(11.5px + var(--nt-km-font-boost, 0px));
  }
}



/* =====================================================
   TAGS PUBLICS — BLOC INDÉPENDANT DE LA DESCRIPTION
   Les tags sont déplacés après les contrôles de traduction : ils ne font
   jamais partie du texte traduit et restent donc affichés au retour FR.
======================================================= */
.single-smart-about-block .nt-listing-public-tags {
  margin: 16px 0 2px !important;
  padding: 15px !important;
  border: 1px solid #dce9f7 !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #f8fbff 0%, #ffffff 100%) !important;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .045) !important;
}

.single-smart-about-block .nt-listing-public-tags-title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 13px !important;
  color: #0f172a !important;
  font-size: calc(16px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
  letter-spacing: -.01em !important;
}

.single-smart-about-block .nt-listing-public-tags-title::before {
  content: "✦";
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: #e9f2ff;
  color: #2563eb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
  flex: 0 0 auto;
}

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

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

.single-smart-about-block .nt-listing-public-tag-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}

.single-smart-about-block .nt-listing-public-tag-chip {
  min-height: 31px !important;
  padding: 6px 11px !important;
  border: 1px solid #d9e7f6 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #345072 !important;
  display: inline-flex !important;
  align-items: center !important;
  font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
}

.single-smart-about-block .nt-listing-public-tag-group--cuisines .nt-listing-public-tag-chip {
  background: #f3f7ff !important;
  border-color: #d7e4fb !important;
  color: #34568d !important;
}

.single-smart-about-block .nt-listing-public-tag-group--services .nt-listing-public-tag-chip {
  background: #effaff !important;
  border-color: #cbeef9 !important;
  color: #08759f !important;
}

.single-smart-about-block .nt-listing-public-tag-group--other .nt-listing-public-tag-chip {
  background: #fff8ee !important;
  border-color: #f8e1bd !important;
  color: #9a5a10 !important;
}

@media (max-width: 420px) {
  .single-smart-about-block .nt-listing-public-tags {
    padding: 13px !important;
    border-radius: 16px !important;
  }

  .single-smart-about-block .nt-listing-public-tags-title {
    margin-bottom: 11px !important;
    font-size: calc(15px + var(--nt-km-font-boost, 0px)) !important;
  }
}


/* ======================================================
   AVIS MENU / PRESTATIONS — TRADUCTION
   Bouton discret dans la modale détail, sans modifier les
   critères rapides, les photos ni les compteurs.
====================================================== */
.seva-menu-linked-review-translate-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.seva-menu-linked-review-translate-btn,
.seva-menu-linked-review-translate-btn:hover,
.seva-menu-linked-review-translate-btn:focus,
.seva-menu-linked-review-translate-btn:active,
.seva-menu-linked-review-translate-btn:disabled {
  min-height: 29px;
  padding: 0 10px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #f8fafc;
  color: #64748b;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  line-height: 1;
  font-weight: 850;
  white-space: nowrap;
  box-shadow: none;
  cursor: pointer;
}

.seva-menu-linked-review-translate-btn.is-translated {
  border-color: #dbeafe;
  background: #eef4ff;
  color: #2563eb;
}

.seva-menu-linked-review-translate-btn.is-loading {
  cursor: wait;
  opacity: .72;
}

.seva-menu-linked-review-translate-wrap .nt-review-translation-note {
  flex: 1 1 100%;
  color: #64748b;
  font-size: calc(11px + var(--nt-km-font-boost, 0px));
  line-height: 1.35;
  font-weight: 750;
}

.seva-menu-linked-review-translate-wrap .nt-review-translation-note.is-success {
  color: #15803d;
}

.seva-menu-linked-review-translate-wrap .nt-review-translation-note.is-error {
  color: #b91c1c;
}

.seva-menu-linked-review-translate-wrap .nt-review-translation-note.is-info {
  color: #475569;
}


/* ======================================================================
   Cartes Menu/Tarif — note publique et ordre par popularité
   ====================================================================== */
.single-v4-panel[data-panel-content="menu"] .menu-card-rating {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  flex-wrap: wrap;
  gap: 5px;
  min-height: 26px;
  padding: 0 9px;
  border-radius: 999px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  line-height: 1;
  font-weight: 800;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-rating-star {
  color: #f97316;
  font-size: calc(14px + var(--nt-km-font-boost, 0px));
  line-height: 1;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-rating strong {
  color: #9a3412;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 950;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-rating span:last-child {
  color: #a16207;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  font-weight: 850;
}

/* ======================================================================
   Cartes Menu / Tarif — masquer les badges contextuels sous le titre
   Les informations restent disponibles dans la fiche détaillée, tandis que
   la carte publique conserve titre, note, description et bouton Détails.
   ====================================================================== */
.single-v4-panel[data-panel-content="menu"] .menu-card-taxonomy-badges-h63b {
  display: none !important;
}

/* ======================================================
   NOVTINIS — MÉTADONNÉES FICHE : HORAIRES SUR UNE LIGNE
   Les badges restent accessibles par défilement horizontal
   au lieu de passer sur une seconde ligne.
====================================================== */
.single-v3-meta-line {
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
  -webkit-overflow-scrolling: touch;
}

.single-v3-meta-line::-webkit-scrollbar {
  display: none !important;
}

.single-v3-meta-line .single-v3-chip,
.single-v3-meta-line .single-link-hours {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* ======================================================
   NOVTINIS — CORRECTIF RÉGRESSION FICHE COMMERCE
   - sans vraie photo : fond gris + « Proposer votre photo »
   - restauration du fond de la barre Info / Avis / Menu / Tarif / Autres
====================================================== */

/* Hero sans vraie photo : aucun faux compteur 1/1, aucune image cassée. */
body.single-listing .single-v3-hero--photo-request .single-v3-slider,
body.single-listing .single-v3-hero--photo-request .slider-track,
body.single-listing .single-v3-hero--photo-request .single-v3-empty-photo-slide,
.single-v3-hero--photo-request .single-v3-slider,
.single-v3-hero--photo-request .slider-track,
.single-v3-hero--photo-request .single-v3-empty-photo-slide {
  background: #cbd5e1 !important;
}

body.single-listing .single-v3-empty-photo-slide,
.single-v3-empty-photo-slide {
  width: 100% !important;
  min-width: 100% !important;
  min-height: 330px !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

body.single-listing .nt-listing-photo-placeholder,
.nt-listing-photo-placeholder {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  min-height: 330px !important;
  padding: 92px 22px 118px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #cbd5e1 !important;
}

body.single-listing .nt-listing-photo-placeholder__cta,
.nt-listing-photo-placeholder__cta {
  position: relative !important;
  z-index: 5 !important;
  min-height: 48px !important;
  padding: 0 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(11, 19, 43, 0.86) !important;
  color: #fff !important;
  font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: 0 12px 26px rgba(11, 19, 43, 0.22) !important;
  -webkit-tap-highlight-color: transparent;
}

body.single-listing .nt-listing-photo-placeholder__cta:active,
.nt-listing-photo-placeholder__cta:active {
  transform: scale(0.98);
}

body.single-listing .single-v3-hero--photo-request .single-v3-overlay,
.single-v3-hero--photo-request .single-v3-overlay {
  background: linear-gradient(
    to top,
    rgba(11, 19, 43, 0.84) 0%,
    rgba(11, 19, 43, 0.22) 48%,
    rgba(11, 19, 43, 0.04) 100%
  ) !important;
}

/* La barre d'onglets retrouve son fond Novtinis distinctif. */
body.single-listing .single-v4-tabs,
.single-v4-tabs {
  background: #0b132b !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

@media (max-width: 560px) {
  body.single-listing .single-v3-empty-photo-slide,
  .single-v3-empty-photo-slide,
  body.single-listing .nt-listing-photo-placeholder,
  .nt-listing-photo-placeholder {
    min-height: 345px !important;
  }
}

/* ======================================================
   NOVTINIS — FICHE INFO MOBILE : LARGEUR UTILE OPTIMISÉE
   - réduit l'empilement de paddings sur smartphone
   - conserve la barre d'onglets pleine largeur
   - aplatit le bloc de tags imbriqué dans « À propos »
   - garde une séparation nette avant « Contribuer à cette fiche »
====================================================== */
@media (max-width: 767px) {
  body.single-listing #singleTabsBlock.single-v3-panels-card {
    margin-left: 8px !important;
    margin-right: 8px !important;
    border-radius: 24px !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panels-content,
  body.single-listing #singleTabsBlock .single-v4-panel,
  body.single-listing #singleTabsBlock .single-v4-panel.open {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-v3-panel-inner {
    padding: 16px 8px 22px !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j {
    width: 100% !important;
    padding: 0 2px 8px !important;
    margin: 0 0 8px !important;
  }

  body.single-listing #singleTabsBlock .single-info-list {
    gap: 12px !important;
  }

  body.single-listing #singleTabsBlock .single-smart-about-block {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 14px 12px !important;
    border-radius: 18px !important;
  }

  /* Le bloc « Ce que propose ce commerce » devient une section du même
     contenant au lieu d'une carte dans une carte : on récupère de la largeur. */
  body.single-listing #singleTabsBlock .single-smart-about-block .nt-listing-public-tags {
    margin: 14px 0 0 !important;
    padding: 14px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid #dce9f7 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing #singleTabsBlock .single-smart-about-block .nt-listing-public-tags-title {
    margin-bottom: 11px !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-card--info {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 14px 0 4px !important;
    padding: 14px 12px !important;
    border-radius: 18px !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-actions {
    gap: 8px !important;
  }

  body.single-listing #singleTabsBlock .single-contribute-btn {
    min-height: 44px !important;
  }
}

@media (max-width: 420px) {
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-v3-panel-inner {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  body.single-listing #singleTabsBlock .single-smart-about-block,
  body.single-listing #singleTabsBlock .single-contribute-card--info {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
}

/* ======================================================
   NOVTINIS — FICHE INFO MOBILE : PANNEAU PLEINE LARGEUR
   - le conteneur des onglets s'aligne bord à bord
   - supprime les marges latérales et arrondis externes hérités
   - garde une seule couche de padding utile dans le contenu
   - évite les pertes de largeur dues aux conteneurs imbriqués
====================================================== */
@media (max-width: 767px) {
  body.single-listing #singleTabsBlock.single-v3-card.single-v3-panels-card {
    width: 100% !important;
    max-width: none !important;
    margin: 16px 0 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tabs {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 12px 12px 10px !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panels-content {
    margin-top: 0 !important;
    padding: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-v3-panel-inner {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 16px 10px 24px !important;
  }

  body.single-listing #singleTabsBlock .single-smart-about-block,
  body.single-listing #singleTabsBlock .single-contribute-card--info {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 420px) {
  body.single-listing #singleTabsBlock.single-v3-card.single-v3-panels-card {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-v3-panel-inner {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

/* ======================================================
   NOVTINIS — FICHE INFO MOBILE : LARGEUR PROPRE FINALE
   Correctif ciblé :
   - neutralise l'ancien décalage 100vw + translateX(-50%) des onglets
   - supprime les marges héritées des enfants directs du panneau Info
   - conserve un seul gutter mobile cohérent
   - évite l'effet carte imbriquée / perte de largeur
====================================================== */
@media (max-width: 767px) {
  body.single-listing #singleTabsBlock.single-v3-card.single-v3-panels-card {
    width: 100% !important;
    max-width: none !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  /* L'ancienne feuille mobile applique width:100vw + translateX(-50%).
     On neutralise explicitement ce décalage pour garder la barre entière. */
  body.single-listing #singleTabsBlock .single-v4-tabs {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
    padding: 12px 10px 10px !important;
    background: #0b132b !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panels-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-v3-panel-inner {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 16px 10px 24px !important;
  }

  /* La feuille mobile ajoutait encore 10px de marge à chaque enfant direct,
     en plus du padding du panneau. On retire ce doublon uniquement dans Info. */
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-v3-panel-inner > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.single-listing #singleTabsBlock .single-info-head-h60j {
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 10px !important;
    padding: 0 2px 8px !important;
  }

  body.single-listing #singleTabsBlock .single-info-list {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 14px !important;
  }

  body.single-listing #singleTabsBlock .single-smart-about-block,
  body.single-listing #singleTabsBlock .single-contribute-card--info {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    border-radius: 18px !important;
  }

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

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

@media (max-width: 420px) {
  body.single-listing #singleTabsBlock .single-v4-panel[data-panel-content="about"] .single-v3-panel-inner {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.single-listing #singleTabsBlock .single-smart-about-block,
  body.single-listing #singleTabsBlock .single-contribute-card--info {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
}

/* ======================================================
   NOVTINIS — ONGLET FICHE MOBILE : COMPACT + PLEINE LARGEUR
   - réduit la hauteur de la bande marine
   - conserve le scroll horizontal naturel
   - exploite toute la largeur disponible sans 100vw/translate
   - laisse un léger aperçu de l'onglet suivant sur petits écrans
====================================================== */
@media (max-width: 767px) {
  body.single-listing #singleTabsBlock .single-v4-tabs {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 6px 6px !important;
    gap: 6px !important;
    transform: none !important;
    align-items: center !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-left: 6px !important;
    scroll-padding-right: 6px !important;
    background: #0b132b !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tab {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tabs::after {
    flex: 0 0 4px !important;
    min-width: 4px !important;
  }
}

@media (max-width: 420px) {
  body.single-listing #singleTabsBlock .single-v4-tabs {
    padding: 5px 5px !important;
    gap: 5px !important;
    scroll-padding-left: 5px !important;
    scroll-padding-right: 5px !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tab {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    font-size: calc(13.5px + var(--nt-km-font-boost, 0px)) !important;
  }
}

/* ======================================================
   NOVTINIS — ONGLET FICHE MOBILE : VERSION PREMIUM INTÉGRÉE
   - remplace la bande marine trop lourde par un rail clair intégré au panneau
   - réduit encore la hauteur des boutons
   - répartit les 4 onglets sur toute la largeur avec le même retrait à gauche/droite
   - supprime l'espace artificiel après le dernier onglet
   - conserve l'actif orange/rose comme repère fort
====================================================== */
@media (max-width: 767px) {
  body.single-listing #singleTabsBlock .single-v4-tabs {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 7px 8px !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    transform: none !important;
    background: linear-gradient(180deg, #f7f9fc 0%, #f1f5fa 100%) !important;
    border: 0 !important;
    border-top: 1px solid #e6ebf3 !important;
    border-bottom: 1px solid #dfe6f0 !important;
    box-shadow: inset 0 -1px 0 rgba(11, 19, 43, 0.02) !important;
    scrollbar-width: none !important;
  }

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

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

  body.single-listing #singleTabsBlock .single-v4-tab {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 10px !important;
    border: 1px solid #dce4ef !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.94) !important;
    color: #182238 !important;
    font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    box-shadow: 0 1px 2px rgba(11, 19, 43, 0.04) !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tab.active {
    border-color: transparent !important;
    background: linear-gradient(135deg, #ff7a00 0%, #ff2d55 100%) !important;
    color: #fff !important;
    box-shadow: 0 7px 16px rgba(255, 75, 57, 0.20) !important;
  }

  /* Le contenu commence immédiatement sous le rail : la navigation et Info
     appartiennent visuellement au même ensemble. */
  body.single-listing #singleTabsBlock .single-v4-panels-content {
    border-top: 0 !important;
    background: #fff !important;
  }
}

@media (max-width: 420px) {
  body.single-listing #singleTabsBlock .single-v4-tabs {
    padding: 6px 7px !important;
    gap: 5px !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tab {
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 9px !important;
    font-size: calc(12.5px + var(--nt-km-font-boost, 0px)) !important;
  }
}

@media (max-width: 360px) {
  body.single-listing #singleTabsBlock .single-v4-tabs {
    justify-content: flex-start !important;
    scroll-padding-left: 7px !important;
    scroll-padding-right: 7px !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tab {
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
  }
}

/* ======================================================
   NOVTINIS — FICHE MOBILE PREMIUM / ACTIONS COMPACTES
   2026-07-11
   - actions principales moins hautes
   - recommandation déplacée sous le contenu Info
   - boutons de recommandation compacts, sans score visible
   - contribution resserrée
   - localisation allégée, sans grand vide final
====================================================== */

/* La recommandation appartient désormais au contenu Info, pas au header. */
body.single-listing #singleTabsBlock .single-v3-recommend-card--info {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 15px !important;
  border: 1px solid #ffc9ad !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at 0 0, rgba(255, 122, 0, 0.22), transparent 38%),
    radial-gradient(circle at 100% 100%, rgba(255, 45, 85, 0.14), transparent 42%),
    linear-gradient(135deg, #fff0e4 0%, #ffe9ef 100%) !important;
  box-shadow: 0 12px 28px rgba(255, 91, 72, 0.12) !important;
}

body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-v3-recommend-copy {
  min-width: 0 !important;
}

body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-v3-recommend-kicker {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  margin: 0 0 7px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  border: 1px solid rgba(255, 122, 0, 0.22) !important;
  color: #c7461d !important;
  font-size: calc(11px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
}

body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-v3-recommend-title {
  margin: 0 !important;
  color: #0b132b !important;
  font-size: calc(18px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
}

body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-v3-recommend-subtext {
  margin-top: 8px !important;
  color: #64748b !important;
  font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.45 !important;
  font-weight: 650 !important;
}

body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-v3-recommend-subtext:empty {
  display: none !important;
}

body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-v3-recommend-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr) !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  height: 38px !important;
  padding: 0 10px !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border-color: rgba(255, 122, 0, 0.24) !important;
  color: #0b132b !important;
  font-size: calc(clamp(12px, 3.15vw, 13.5px) + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.15 !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.07) !important;
}

body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn.is-dark {
  background: #0b132b !important;
  border-color: #0b132b !important;
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(11, 19, 43, 0.16) !important;
}

/* La carte Contribution reste utile mais devient visuellement secondaire. */
body.single-listing #singleTabsBlock .single-contribute-card--info {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

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

body.single-listing #singleTabsBlock .single-contribute-card--info p {
  margin-top: 6px !important;
  line-height: 1.45 !important;
}

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

body.single-listing #singleTabsBlock .single-contribute-card--info .single-contribute-btn {
  min-height: 44px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* Localisation : suppression des compensations historiques qui créaient un grand vide. */
body.single-listing .single-location-section {
  padding-bottom: 18px !important;
}

body.single-listing .single-location-section__head {
  display: block !important;
  margin-bottom: 12px !important;
}

body.single-listing .single-location-section__head .single-content-title {
  margin: 0 !important;
}

body.single-listing .single-map-cta {
  min-height: 48px !important;
  margin: 12px 0 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.10) !important;
}

@media (max-width: 767px) {
  /* Rangée Poster avis / Appeler / Plan / Partager : plus basse et plus nette. */
  body.single-listing .single-v3-primary-actions-card {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    padding: 0 10px 0 !important;
  }

  body.single-listing .single-v3-primary-actions-card .single-v3-actions-scroll {
    gap: 8px !important;
    padding: 0 !important;
  }

  body.single-listing .single-v3-primary-actions-card .single-action-pill {
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 15px !important;
    border-radius: 999px !important;
    font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1 !important;
  }

  body.single-listing .single-v3-primary-actions-card .single-action-pill-review {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Recommandation intégrée à Info : compacte et alignée avec les autres cartes. */
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info {
    padding: 13px !important;
    border-radius: 18px !important;
  }

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

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

  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn {
    min-height: 38px !important;
    height: 38px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  /* La localisation retrouve une fin de page naturelle, sans centaines de px vides. */
  body.single-listing .single-location-section {
    padding-bottom: 16px !important;
  }

  body.single-listing .single-map-cta {
    min-height: 46px !important;
    margin-bottom: 0 !important;
  }
}

@media (max-width: 380px) {
  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-v3-recommend-actions {
    grid-template-columns: 1fr !important;
  }

  body.single-listing #singleTabsBlock .single-v3-recommend-card--info .single-recommend-btn {
    white-space: normal !important;
  }
}

/* ======================================================
   NOVTINIS — ACTIONS PRINCIPALES + MÉTADONNÉES À 28 PX
   Base : fiche premium validée
====================================================== */
body.single-listing .single-v3-primary-actions-card .single-action-pill {
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 15px !important;
  border-radius: 999px !important;
  font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

body.single-listing .single-v3-meta-line {
  min-height: 28px !important;
  height: 28px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}


/* ======================================================
   NOVTINIS — ONGLETS MOBILE : GRADIENT + PLEINE LARGEUR
   - rail gris bleuté premium
   - supprime les marges blanches aux extrémités
   - conserve les onglets compacts validés
====================================================== */
@media (max-width: 767px) {
  body.single-listing #singleTabsBlock .single-v4-tabs {
    width: calc(100% + 20px) !important;
    max-width: none !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
    background: linear-gradient(180deg, #b5c1d2 0%, #f1f5fa 100%) !important;
    border-radius: 0 !important;
  }
}

/* ======================================================
   NOVTINIS — FICHE COMMERCE : AVANTAGES SIMPLIFIÉS
   ------------------------------------------------------
   - Offre / taux / remise immédiate sur une seule ligne
   - Fidélité+ : palier, progression et 10 cases uniquement
   - Suppression des textes redondants et des sous-cartes lourdes
====================================================== */
body.single-listing .single-v3-advantages-card--streamlined {
  background:
    radial-gradient(circle at 100% 0%, rgba(255, 122, 0, 0.09), transparent 34%),
    linear-gradient(180deg, #fffdf9 0%, #fff8f1 100%) !important;
  border-color: rgba(255, 122, 0, 0.22) !important;
}

body.single-listing .single-v3-advantages-card--streamlined .single-section-title {
  margin-bottom: 12px !important;
}

body.single-listing .single-advantage-box--streamlined {
  display: grid !important;
  gap: 12px !important;
  padding: 14px !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(255, 171, 99, 0.46) !important;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05) !important;
}

body.single-listing .single-compact-benefit-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  min-width: 0 !important;
}

body.single-listing .single-compact-benefit-label {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  background: #fff3e8 !important;
  border: 1px solid rgba(255, 122, 0, 0.14) !important;
  color: #c2410c !important;
  font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}

body.single-listing .single-compact-benefit-label.is-eclair {
  background: #fff6d8 !important;
  color: #b45309 !important;
}

body.single-listing .single-compact-benefit-label.is-loyalty {
  background: #ecfdf5 !important;
  color: #047857 !important;
}

body.single-listing .single-compact-benefit-rate {
  color: #07845f !important;
  font-size: calc(27px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1 !important;
  font-weight: 1000 !important;
  letter-spacing: -0.04em !important;
  white-space: nowrap !important;
}

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

body.single-listing .single-compact-loyalty {
  display: grid !important;
  gap: 9px !important;
  margin: 0 !important;
  padding: 12px 0 0 !important;
  border-top: 1px solid #e2e8f0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

body.single-listing .single-compact-loyalty-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  min-width: 0 !important;
}

body.single-listing .single-compact-loyalty-head > strong {
  color: #0b132b !important;
  font-size: calc(18px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.1 !important;
  font-weight: 950 !important;
  white-space: nowrap !important;
}

body.single-listing .single-compact-loyalty-head > span {
  color: #334155 !important;
  font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-align: right !important;
}

body.single-listing .single-advantage-box--streamlined .single-compact-loyalty-current,
body.single-listing .single-advantage-box--streamlined .single-loyalty-current.single-compact-loyalty-current {
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-listing .single-advantage-box--streamlined .single-compact-loyalty-current span {
  color: #64748b !important;
  font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
}

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

body.single-listing .single-advantage-box--streamlined .single-advantage-actions {
  margin-top: 2px !important;
}

body.single-listing .single-advantage-box--streamlined .single-v3-cta {
  min-height: 50px !important;
  border-radius: 18px !important;
}

@media (max-width: 767px) {
  body.single-listing .single-v3-advantages-card--streamlined {
    margin-top: 12px !important;
    padding: 14px !important;
    border-radius: 24px !important;
  }

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

  body.single-listing .single-advantage-box--streamlined {
    gap: 10px !important;
    padding: 12px !important;
    border-radius: 18px !important;
  }

  body.single-listing .single-compact-benefit-label {
    min-height: 26px !important;
    padding: 0 9px !important;
    font-size: calc(11.5px + var(--nt-km-font-boost, 0px)) !important;
  }

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

  body.single-listing .single-compact-benefit-context {
    font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-compact-loyalty {
    gap: 8px !important;
    padding-top: 10px !important;
  }

  body.single-listing .single-compact-loyalty-head > strong {
    font-size: calc(17px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .single-compact-loyalty-head > span {
    font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
  }

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

  body.single-listing .single-advantage-box--streamlined .single-v3-cta {
    min-height: 48px !important;
  }
}

@media (max-width: 360px) {
  body.single-listing .single-compact-loyalty-head {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 3px !important;
  }

  body.single-listing .single-compact-loyalty-head > span {
    text-align: left !important;
  }
}

/* ======================================================
   NOVTINIS — FINITIONS HERO + FIDÉLITÉ MOBILE
   - titre du commerce plus bas lorsqu'il n'y a aucun avis
   - suppression du contour du bloc Fidélité+
   - cases 1 à 10 agrandies et plus lisibles
====================================================== */

/* Sans avis ni badge Vérifié, la ligne vide ne réserve plus de hauteur.
   Le titre descend naturellement vers le bas du hero. */
body.single-listing .single-v3-hero-rating-row:not(:has(*)) {
  display: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 767px) {
  /* Supprimer le contour gris / effet encadré du bloc Fidélité+ */
  body.single-listing .single-advantage-box--streamlined .single-flat-loyalty-h116c.single-compact-loyalty {
    border: 0 !important;
    border-top: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding-top: 4px !important;
  }

  body.single-listing .single-advantage-box--streamlined .single-compact-loyalty-current,
  body.single-listing .single-advantage-box--streamlined .single-loyalty-current.single-compact-loyalty-current {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  /* 10 paliers plus grands, tout en conservant une seule ligne */
  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;
    margin: 2px 0 0 !important;
    padding: 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: 40px !important;
    min-height: 40px !important;
    padding: 3px 1px !important;
    border-radius: 10px !important;
  }

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

  body.single-listing .single-advantage-box--streamlined .single-loyalty-progress-grid-v452j .single-loyalty-dot small {
    margin-top: 2px !important;
    font-size: calc(7.5px + 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-current {
    outline: 2px solid rgba(15, 23, 42, 0.28) !important;
    outline-offset: 2px !important;
  }
}

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

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

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

/* ======================================================
   NOVTINIS — LISIBILITÉ LABELS SUR SMARTPHONES LARGES
   ------------------------------------------------------
   Cible les écrans mobiles d'environ 400–430 CSS px
   (ex. Pixel 10 Pro), sans agrandir l'ASUS X00TD.
   Le khmer reçoit un renfort supplémentaire car ses glyphes
   paraissent visuellement plus petits à taille CSS égale.
====================================================== */
@media (min-width: 391px) and (max-width: 767px) {
  body.single-listing .single-v3-meta-line {
    min-height: 34px !important;
    height: 34px !important;
  }

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

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

  body.single-listing .single-follow-btn,
  body.single-listing .single-v3-primary-actions-card .single-action-pill {
    font-size: calc(15px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.15 !important;
  }

  body.single-listing .single-compact-benefit-label {
    font-size: calc(12.5px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.15 !important;
  }

  body.single-listing .single-compact-benefit-context,
  body.single-listing .single-compact-loyalty-head > span {
    font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.25 !important;
  }

  body.single-listing #singleTabsBlock .single-v4-tab {
    min-height: 38px !important;
    height: 38px !important;
    font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.1 !important;
  }
}

@media (min-width: 391px) and (max-width: 767px) {
  html[lang^="km"] body.single-listing .single-v3-meta-line .single-v3-chip,
  html[lang^="km"] body.single-listing .single-v3-meta-line .single-link-hours {
    font-size: calc(14.5px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
  }

  html[lang^="km"] body.single-listing .single-stat-label {
    font-size: calc(12.5px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
  }

  html[lang^="km"] body.single-listing .single-follow-btn,
  html[lang^="km"] body.single-listing .single-v3-primary-actions-card .single-action-pill {
    font-size: calc(16px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
  }

  html[lang^="km"] body.single-listing .single-compact-benefit-label {
    min-height: 29px !important;
    font-size: calc(13.5px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
  }

  html[lang^="km"] body.single-listing .single-compact-benefit-context,
  html[lang^="km"] body.single-listing .single-compact-loyalty-head > span {
    font-size: calc(15px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
  }

  html[lang^="km"] body.single-listing #singleTabsBlock .single-v4-tab {
    min-height: 40px !important;
    height: 40px !important;
    font-size: calc(15px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
  }
}

/* ======================================================
   NOVTINIS — LISIBILITÉ PIXEL / KHMER — LOT 2
   ------------------------------------------------------
   Échelle sur smartphones larges (391–767 CSS px) :
   - microtextes : 12 px FR/EN, 13.5 px KM
   - libellés secondaires : 13.5 px FR/EN, 15 px KM
   - boutons / actions : 15 px FR/EN, 16 px KM
   - texte courant : 15 px FR/EN, 16.5 px KM
   ASUS X00TD (<= 390 CSS px) conservé sans changement.
====================================================== */
@media (min-width: 391px) and (max-width: 767px) {
  /* Microtextes contraints dans les 10 cases Fidélité+. */
  body.single-listing .single-advantage-box--streamlined
  .single-loyalty-progress-grid-v452j .single-loyalty-dot small {
    font-size: calc(10px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.05 !important;
  }

  /* Kicker / petites indications de l'onglet Info. */
  body.single-listing #singleTabsBlock .single-smart-section-kicker,
  body.single-listing #singleTabsBlock .single-pro-translation-kicker-h60j,
  body.single-listing #singleTabsBlock .nt-listing-public-tag-group-title,
  body.single-listing #singleTabsBlock .single-v3-recommend-kicker,
  body.single-listing #singleTabsBlock .single-fiche-pro-translations small {
    font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.25 !important;
  }

  /* Libellés secondaires. */
  body.single-listing #singleTabsBlock .single-info-row span,
  body.single-listing #singleTabsBlock .single-smart-reason-card > span:last-child,
  body.single-listing #singleTabsBlock .single-v3-recommend-subtext,
  body.single-listing #singleTabsBlock .single-contribute-card--info p,
  body.single-listing .single-location-address,
  body.single-listing .single-location-section p {
    font-size: calc(13.5px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.42 !important;
  }

  /* Texte courant de présentation. */
  body.single-listing #singleTabsBlock .single-description,
  body.single-listing #singleTabsBlock .nt-description-text,
  body.single-listing #singleTabsBlock .single-description p,
  body.single-listing #singleTabsBlock .single-fiche-pro-translation-panel-h60j p {
    font-size: calc(15px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.52 !important;
  }

  /* Boutons et actions de l'onglet Info. */
  body.single-listing #singleTabsBlock .single-info-quick-title,
  body.single-listing #singleTabsBlock .single-contribute-btn,
  body.single-listing #singleTabsBlock .single-recommend-btn,
  body.single-listing #singleTabsBlock .nt-review-translate-btn,
  body.single-listing .single-map-cta {
    font-size: calc(15px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.2 !important;
  }
}

@media (min-width: 391px) and (max-width: 767px) {
  html[lang^="km"] body.single-listing .single-advantage-box--streamlined
  .single-loyalty-progress-grid-v452j .single-loyalty-dot small {
    font-size: calc(11px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }

  html[lang^="km"] body.single-listing #singleTabsBlock .single-smart-section-kicker,
  html[lang^="km"] body.single-listing #singleTabsBlock .single-pro-translation-kicker-h60j,
  html[lang^="km"] body.single-listing #singleTabsBlock .nt-listing-public-tag-group-title,
  html[lang^="km"] body.single-listing #singleTabsBlock .single-v3-recommend-kicker,
  html[lang^="km"] body.single-listing #singleTabsBlock .single-fiche-pro-translations small {
    font-size: calc(13.5px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  html[lang^="km"] body.single-listing #singleTabsBlock .single-info-row span,
  html[lang^="km"] body.single-listing #singleTabsBlock .single-smart-reason-card > span:last-child,
  html[lang^="km"] body.single-listing #singleTabsBlock .single-v3-recommend-subtext,
  html[lang^="km"] body.single-listing #singleTabsBlock .single-contribute-card--info p,
  html[lang^="km"] body.single-listing .single-location-address,
  html[lang^="km"] body.single-listing .single-location-section p {
    font-size: calc(15px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.52 !important;
    letter-spacing: 0 !important;
  }

  html[lang^="km"] body.single-listing #singleTabsBlock .single-description,
  html[lang^="km"] body.single-listing #singleTabsBlock .nt-description-text,
  html[lang^="km"] body.single-listing #singleTabsBlock .single-description p,
  html[lang^="km"] body.single-listing #singleTabsBlock .single-fiche-pro-translation-panel-h60j p {
    font-size: calc(16.5px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.62 !important;
    letter-spacing: 0 !important;
  }

  html[lang^="km"] body.single-listing #singleTabsBlock .single-info-quick-title,
  html[lang^="km"] body.single-listing #singleTabsBlock .single-contribute-btn,
  html[lang^="km"] body.single-listing #singleTabsBlock .single-recommend-btn,
  html[lang^="km"] body.single-listing #singleTabsBlock .nt-review-translate-btn,
  html[lang^="km"] body.single-listing .single-map-cta {
    font-size: calc(16px + var(--nt-km-font-boost, 0px)) !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
  }
}

/* ======================================================================
   2026-07-23 — Création directe Menu / Tarifs
   ====================================================================== */
.single-v4-panel[data-panel-content="menu"] .single-menu-panel-heading,
.single-v4-panel[data-panel-content="pricing"] .single-menu-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.single-v4-panel[data-panel-content="menu"] .single-menu-panel-heading .single-content-title,
.single-v4-panel[data-panel-content="pricing"] .single-menu-panel-heading .single-content-title {
  margin: 0;
}

.single-menu-primary-create {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  border: 0;
  border-radius: 999px;
  background: #c2410c;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: 0 7px 16px rgba(194, 65, 12, .18);
}

.single-menu-community-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin: 16px 0 4px;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  background: #f8fafc;
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  font-weight: 700;
  line-height: 1.4;
}

.single-menu-community-note a {
  color: #9a3412 !important;
  -webkit-text-fill-color: #9a3412 !important;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.single-menu-missing-assist-h61h.is-direct-publishing {
  margin-top: 14px !important;
  border-color: #fed7aa !important;
  background: linear-gradient(145deg, #fffaf5, #fff) !important;
}

.single-menu-missing-assist-h61h.is-direct-publishing .single-menu-missing-assist-h61h__head span {
  color: #9a3412 !important;
  -webkit-text-fill-color: #9a3412 !important;
}

.single-menu-missing-assist-h61h.is-direct-publishing .single-menu-missing-assist-h61h__toggle,
.single-menu-missing-assist-h61h.is-direct-publishing .single-menu-missing-assist-h61h__submit {
  background: #c2410c !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 8px 18px rgba(194, 65, 12, .18);
}

.single-menu-missing-assist-h61h.is-direct-publishing .single-menu-assist-fields-h61h input,
.single-menu-missing-assist-h61h.is-direct-publishing .single-menu-assist-fields-h61h textarea,
.single-menu-missing-assist-h61h.is-direct-publishing .single-menu-assist-fields-h61h select {
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  background: #fff !important;
}

.single-menu-form-cancel {
  display: inline-flex;
  width: 100%;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  border: 1px solid #cbd5e1;
  border-radius: 999px;
  background: #fff;
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 850;
  cursor: pointer;
}

.single-menu-form-cancel[hidden] {
  display: none !important;
}

.single-menu-manage-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-top: 4px;
}

.single-menu-edit-item,
.single-menu-delete-item {
  min-height: 36px;
  padding: 7px 9px;
  border-radius: 11px;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  font-weight: 850;
  cursor: pointer;
}

.single-menu-edit-item {
  border: 1px solid #fdba74;
  background: #fff7ed;
  color: #9a3412 !important;
  -webkit-text-fill-color: #9a3412 !important;
}

.single-menu-delete-item {
  border: 1px solid #fecaca;
  background: #fff;
  color: #b42318 !important;
  -webkit-text-fill-color: #b42318 !important;
}

.single-menu-claimed-managed-note {
  margin-top: 14px;
  padding: 11px 13px;
  border-radius: 14px;
  background: #f8fafc;
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  font-weight: 750;
  line-height: 1.4;
}

/* Le panneau Tarifs réutilise exactement les cartes Menu. */
.single-v4-panel[data-panel-content="pricing"] .menu-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px;
}
.single-v4-panel[data-panel-content="pricing"] .menu-card-title {
  margin: 0;
  color: #111827;
  font-size: calc(18px + var(--nt-km-font-boost, 0px));
  line-height: 1.2;
  font-weight: 950;
}
.single-v4-panel[data-panel-content="pricing"] .menu-card-desc {
  margin: 0;
  color: #667085;
  font-size: calc(14px + var(--nt-km-font-boost, 0px));
  line-height: 1.45;
}

.single-v4-panel[data-panel-content="pricing"] .menu-price-badge {
  left: 14px;
  bottom: 14px;
  min-height: 36px;
  padding: 0 13px;
  background: rgba(15, 23, 42, .88);
}
.single-v4-panel[data-panel-content="pricing"] .menu-like-btn {
  top: 14px;
  right: 14px;
  min-height: 38px;
  min-width: 46px;
  justify-content: center;
}

@media (min-width: 760px) {
  .single-v4-panel[data-panel-content="pricing"] .menu-slider-h65 .menu-card {
    flex-basis: 300px;
  }
}

@media (max-width: 520px) {
  .single-v4-panel[data-panel-content="menu"] .single-menu-panel-heading,
  .single-v4-panel[data-panel-content="pricing"] .single-menu-panel-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .single-menu-primary-create {
    width: 100%;
    min-height: 43px;
  }

  .single-menu-community-note {
    align-items: flex-start;
    flex-direction: column;
  }

  .single-v4-panel[data-panel-content="pricing"] .menu-section-title {
    font-size: calc(20px + var(--nt-km-font-boost, 0px));
  }
  .single-v4-panel[data-panel-content="pricing"] .menu-slider-h65 {
    gap: 12px;
    padding-right: 18px;
  }
  .single-v4-panel[data-panel-content="pricing"] .menu-slider-h65 .menu-card {
    min-width: 240px;
    flex-basis: 82vw;
  }
  .single-v4-panel[data-panel-content="pricing"] .menu-card-img img {
    height: 190px;
  }
}


/* H173 — Cartes statiques Menu / Prix */
.single-static-menu-block{margin:0 0 18px;padding:16px;border:1px solid #e2e8f0;border-radius:20px;background:#fff}
.single-static-menu-block__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.single-static-menu-block__head span{display:block;color:#9a3412;font-size:calc(11px + var(--nt-km-font-boost, 0px));font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.single-static-menu-block__head strong{display:block;margin-top:4px;color:#111827;font-size:calc(18px + var(--nt-km-font-boost, 0px));line-height:1.25}
.single-static-menu-block__head p{margin:5px 0 0;color:#64748b;font-size:calc(13px + var(--nt-km-font-boost, 0px));line-height:1.45}
.single-official-menu-link,.single-static-menu-upload-toggle,.single-static-menu-upload-form button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border-radius:999px;font-size:calc(13px + var(--nt-km-font-boost, 0px));font-weight:900;text-decoration:none;cursor:pointer}
.single-official-menu-link{flex:0 0 auto;border:1px solid #fdba74;background:#fff7ed;color:#9a3412!important}
.single-static-menu-gallery{display:flex;gap:12px;margin-top:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
.single-static-menu-card{position:relative;flex:0 0 min(82vw,340px);padding:0;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;background:#f8fafc;scroll-snap-align:start;cursor:zoom-in}
.single-static-menu-card img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;background:#fff}
.single-static-menu-card span{position:absolute;left:10px;bottom:10px;padding:6px 9px;border-radius:999px;background:rgba(15,23,42,.82);color:#fff;font-size:calc(11px + var(--nt-km-font-boost, 0px));font-weight:850}
.single-static-menu-upload-toggle{width:100%;margin-top:14px;border:0;background:#c2410c;color:#fff!important}
.single-static-menu-upload-form{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid #fed7aa;border-radius:14px;background:#fffaf5}
.single-static-menu-upload-form[hidden]{display:none!important}
.single-static-menu-upload-form label span{display:block;margin-bottom:5px;color:#334155;font-size:calc(12px + var(--nt-km-font-boost, 0px));font-weight:850}
.single-static-menu-upload-form input{width:100%;min-height:44px;padding:10px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#111827}
.single-static-menu-upload-form button[type=submit]{border:0;background:#c2410c;color:#fff}
.single-static-menu-upload-form button[data-static-menu-upload-cancel]{border:1px solid #cbd5e1;background:#fff;color:#334155}
.single-static-menu-upload-form [data-static-menu-upload-feedback]{font-size:calc(12px + var(--nt-km-font-boost, 0px));font-weight:800;color:#64748b}
@media(max-width:520px){.single-static-menu-block__head{flex-direction:column}.single-official-menu-link{width:100%}.single-static-menu-card{flex-basis:88vw}}


/* =========================================================
   2026-07-24 — Menu : contraste et placeholders
   Règle : texte clair sur fond sombre, texte sombre sur fond clair.
   ========================================================= */
.single-menu-missing-assist-h61h.is-direct-publishing
.single-menu-assist-fields-h61h input::placeholder,
.single-menu-missing-assist-h61h.is-direct-publishing
.single-menu-assist-fields-h61h textarea::placeholder {
  color: #94a3b8 !important;
  -webkit-text-fill-color: #94a3b8 !important;
  opacity: 1 !important;
  font-weight: 600 !important;
}

.single-menu-missing-assist-h61h.is-direct-publishing
.single-menu-assist-fields-h61h select:invalid,
.single-menu-missing-assist-h61h.is-direct-publishing
.single-menu-assist-fields-h61h select option[value=""] {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  font-weight: 600 !important;
}

.single-static-menu-upload-form .nt-file-picker__button,
.single-menu-photo-upload-h61i .nt-file-picker__button {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.single-static-menu-upload-form .nt-file-picker__status,
.single-menu-photo-upload-h61i .nt-file-picker__status {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
}

/* ======================================================================
   2026-07-24 — Carte Menu / Tarifs publiée en pleine largeur
   - aucun titre d’aide autour d’une carte déjà publiée
   - aucun badge visuel "Toucher pour agrandir"
   - image à 100 % de la largeur utile du panneau principal
   ====================================================================== */
.single-static-menu-block.has-static-cards {
  width: 100%;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.single-static-menu-block.has-static-cards .single-static-menu-gallery {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin: 0;
  padding: 0;
  overflow: visible;
  scroll-snap-type: none;
}

.single-static-menu-block.has-static-cards .single-static-menu-card {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  padding: 0;
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  background: transparent;
  box-shadow: none;
  cursor: zoom-in;
  scroll-snap-align: none;
}

.single-static-menu-block.has-static-cards .single-static-menu-card img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  max-height: none;
  margin: 0;
  border: 0;
  border-radius: 18px;
  object-fit: contain;
  background: transparent;
}

.single-static-menu-block.has-static-cards .single-static-menu-card > span {
  display: none !important;
}

.single-static-menu-block.has-static-cards .single-static-menu-actions {
  display: flex;
  justify-content: flex-start;
  margin-top: 10px;
}

.single-static-menu-block.has-static-cards .single-static-menu-upload-toggle {
  margin-top: 12px;
}

@media (max-width: 520px) {
  .single-static-menu-block.has-static-cards,
  .single-static-menu-block.has-static-cards .single-static-menu-gallery,
  .single-static-menu-block.has-static-cards .single-static-menu-card {
    width: 100%;
  }

  .single-static-menu-block.has-static-cards .single-static-menu-card {
    flex-basis: auto;
    border-radius: 16px;
  }

  .single-static-menu-block.has-static-cards .single-static-menu-card img {
    border-radius: 16px;
  }
}

/* 2026-07-24 — Titre Menu / Tarifs sans marge basse héritée */
body.single-listing .single-v4-panel[data-panel-content="menu"] .single-menu-panel-heading .single-content-title,
body.single-listing .single-v4-panel[data-panel-content="pricing"] .single-menu-panel-heading .single-content-title {
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  body.single-listing .single-v3-primary-actions-card {
    margin-top: 14px !important;
    margin-bottom: 0 !important;
    padding: 0 10px 0 !important;
  }
}

.single-static-menu-gallery{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;gap:12px!important}
.single-static-menu-card{position:relative!important;flex:0 0 100%!important;width:100%!important;scroll-snap-align:start!important}
.single-static-menu-card-count{position:absolute!important;left:50%!important;bottom:10px!important;transform:translateX(-50%)!important;padding:5px 10px!important;border-radius:999px!important;background:rgba(15,23,42,.82)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:calc(12px + var(--nt-km-font-boost, 0px))!important;font-weight:850!important}
/* =========================================================
   NOVTINIS — TARIFS STRUCTURÉS PUBLICS
   Rendu premium des prestations saisies manuellement
   ========================================================= */

body.single-listing .nt-structured-pricing-public {
  display: grid;
  gap: 18px;
  margin-top: 22px;
}

/* Une carte distincte par catégorie */
body.single-listing .nt-structured-pricing-group {
  overflow: hidden;
  margin: 0;
  border: 1px solid #e5e7eb;
  border-radius: 20px;
  background: #ffffff;
  box-shadow:
    0 10px 26px rgba(15, 23, 42, 0.06),
    0 2px 6px rgba(15, 23, 42, 0.03);
}

/* Titre de catégorie */
body.single-listing .nt-structured-pricing-group > h4 {
  position: relative;
  margin: 0 !important;
  padding: 14px 17px 13px !important;
  border-bottom: 1px solid #fed7aa;
  background: linear-gradient(135deg, #fff7ed 0%, #fffaf5 100%);
  color: #9a3412 !important;
  -webkit-text-fill-color: #9a3412 !important;
  font-size: calc(18px + var(--nt-km-font-boost, 0px)) !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.015em;
}

body.single-listing .nt-structured-pricing-group > h4::before {
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 9px;
  border-radius: 999px;
  background: #c2410c;
  content: "";
  vertical-align: 2px;
}

/* Liste d’une catégorie */
body.single-listing .nt-structured-pricing-list {
  display: grid;
  padding: 3px 16px 5px;
}

/* Une prestation */
body.single-listing .nt-structured-pricing-item {
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid #edf0f4;
  background: transparent;
}

body.single-listing .nt-structured-pricing-item:last-child {
  border-bottom: 0;
}

/* Photo éventuelle */
body.single-listing .nt-structured-pricing-item.has-photo {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

body.single-listing .nt-structured-pricing-photo {
  overflow: hidden;
  width: 62px;
  height: 62px;
  border: 1px solid #e5e7eb;
  border-radius: 15px;
  background: #f8fafc;
}

body.single-listing .nt-structured-pricing-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Nom à gauche, prix à droite */
body.single-listing .nt-structured-pricing-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  min-width: 0;
}

body.single-listing .nt-structured-pricing-main {
  min-width: 0;
}

/* Masque le libellé répétitif “Prestation” */
body.single-listing .nt-structured-pricing-type {
  display: none !important;
}

body.single-listing .nt-structured-pricing-main > strong {
  display: block;
  margin: 0;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font-size: calc(15.5px + var(--nt-km-font-boost, 0px));
  font-weight: 800;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

body.single-listing .nt-structured-pricing-main > p {
  margin: 5px 0 0;
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 450;
  line-height: 1.45;
}

/* Bloc prix et durée */
body.single-listing .nt-structured-pricing-meta {
  display: flex;
  min-width: 72px;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  text-align: right;
  white-space: nowrap;
}

body.single-listing .nt-structured-pricing-meta b {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff7ed;
  color: #9a3412 !important;
  -webkit-text-fill-color: #9a3412 !important;
  font-size: calc(14px + var(--nt-km-font-boost, 0px));
  font-weight: 850;
  line-height: 1;
}

body.single-listing .nt-structured-pricing-meta span {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  font-size: calc(11.5px + var(--nt-km-font-boost, 0px));
  font-weight: 650;
  line-height: 1.2;
}

/* Effet très léger au toucher ou au survol */
body.single-listing .nt-structured-pricing-item {
  transition:
    background-color 0.18s ease,
    transform 0.18s ease;
}

@media (hover: hover) {
  body.single-listing .nt-structured-pricing-item:hover {
    margin-right: -8px;
    margin-left: -8px;
    padding-right: 8px;
    padding-left: 8px;
    border-radius: 13px;
    background: #fffaf7;
  }
}

/* Smartphone */
@media (max-width: 767px) {
  body.single-listing .nt-structured-pricing-public {
    gap: 15px;
    margin-top: 18px;
  }

  body.single-listing .nt-structured-pricing-group {
    border-radius: 18px;
  }

  body.single-listing .nt-structured-pricing-group > h4 {
    padding: 13px 14px 12px !important;
    font-size: calc(17px + var(--nt-km-font-boost, 0px)) !important;
  }

  body.single-listing .nt-structured-pricing-list {
    padding-right: 12px;
    padding-left: 14px;
  }

  body.single-listing .nt-structured-pricing-item {
    padding: 13px 0;
  }

  body.single-listing .nt-structured-pricing-content {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px;
  }

  body.single-listing .nt-structured-pricing-main > strong {
    font-size: calc(15px + var(--nt-km-font-boost, 0px));
    line-height: 1.3;
  }

  body.single-listing .nt-structured-pricing-main > p {
    font-size: calc(12.5px + var(--nt-km-font-boost, 0px));
  }

  body.single-listing .nt-structured-pricing-meta {
    min-width: 64px;
  }

  body.single-listing .nt-structured-pricing-meta b {
    min-height: 28px;
    padding: 5px 9px;
    font-size: calc(13.5px + var(--nt-km-font-boost, 0px));
  }

  body.single-listing .nt-structured-pricing-meta span {
    font-size: calc(11px + var(--nt-km-font-boost, 0px));
  }

  body.single-listing .nt-structured-pricing-item.has-photo {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 10px;
  }

  body.single-listing .nt-structured-pricing-photo {
    width: 54px;
    height: 54px;
    border-radius: 13px;
  }
}

/* ======================================================================
   2026-07-24 — Adresse et plan déplacés dans l’onglet Info
   ====================================================================== */
body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section {
  display: block !important;
  position: relative;
  width: 100% !important;
  margin: 24px 0 4px !important;
  padding: 18px !important;
  border: 1px solid #e5eaf1 !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06) !important;
  order: initial !important;
}

body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section::before {
  display: block;
  width: 42px;
  height: 4px;
  margin: 0 0 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ff7a00, #ff2d55);
  content: "";
}

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

body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section__head .single-content-title {
  margin: 0 !important;
  padding: 0 !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font-size: calc(22px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em;
}

body.single-listing .single-v4-panel[data-panel-content="about"] .single-address-block {
  margin: 0 0 14px !important;
  padding: 14px !important;
  border: 1px solid #e8edf3 !important;
  border-radius: 18px !important;
  background: #f8fafc !important;
}

body.single-listing .single-v4-panel[data-panel-content="about"] .single-address-text {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.45 !important;
  font-weight: 650 !important;
}

body.single-listing .single-v4-panel[data-panel-content="about"] .single-address-distance {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: fit-content !important;
  min-height: 32px !important;
  margin-top: 10px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #e9eef7 !important;
  color: #172033 !important;
  -webkit-text-fill-color: #172033 !important;
  font-size: calc(12px + var(--nt-km-font-boost, 0px)) !important;
  font-weight: 800 !important;
}

body.single-listing .single-v4-panel[data-panel-content="about"] .single-map-box {
  overflow: hidden !important;
  margin: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  background: #f8fafc !important;
  box-shadow: none !important;
}

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

body.single-listing .single-v4-panel[data-panel-content="about"] .single-map-cta {
  display: inline-flex !important;
  width: 100% !important;
  min-height: 46px !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 12px 0 0 !important;
  padding: 10px 14px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 15px !important;
  background: #ffffff !important;
  color: #0f5bd5 !important;
  -webkit-text-fill-color: #0f5bd5 !important;
  font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.05) !important;
}

body.single-listing .single-v4-panel[data-panel-content="about"] .single-map-cta:hover {
  border-color: #93c5fd !important;
  background: #eff6ff !important;
  color: #1d4ed8 !important;
  -webkit-text-fill-color: #1d4ed8 !important;
}

@media (max-width: 767px) {
  body.single-listing .single-v4-panel[data-panel-content="about"] .single-location-section {
    margin: 22px 0 2px !important;
    padding: 15px !important;
    border-radius: 21px !important;
  }

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

  body.single-listing .single-v4-panel[data-panel-content="about"] .single-address-block {
    padding: 13px !important;
    border-radius: 16px !important;
  }

  body.single-listing .single-v4-panel[data-panel-content="about"] .single-map-box {
    border-radius: 18px !important;
  }

  body.single-listing .single-v4-panel[data-panel-content="about"] .single-map-box iframe {
    height: 240px !important;
  }

  body.single-listing .single-v4-panel[data-panel-content="about"] .single-map-cta {
    min-height: 44px !important;
    border-radius: 14px !important;
  }
}

/* ======================================================================
   2026-07-24 — Avantages premium sous les tarifs structurés
   ====================================================================== */
body.single-listing .nt-pricing-benefits-premium{
  display:grid;
  gap:14px;
  margin:22px 0 30px;
}
body.single-listing .nt-pricing-benefit-banner{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  overflow:hidden;
  padding:16px;
  border:1px solid #fed7aa;
  border-radius:22px;
  background:linear-gradient(135deg,#fff7ed 0%,#fff 72%);
  box-shadow:0 12px 30px rgba(15,23,42,.07);
}
body.single-listing .nt-pricing-benefit-banner::after{
  position:absolute;
  width:120px;
  height:120px;
  right:-52px;
  top:-58px;
  border-radius:50%;
  background:rgba(249,115,22,.09);
  content:"";
}
body.single-listing .nt-pricing-benefit-banner.is-flash{
  border-color:#fecaca;
  background:linear-gradient(135deg,#fff1f2 0%,#fff 72%);
}
body.single-listing .nt-pricing-benefit-banner.is-flash::after{background:rgba(244,63,94,.10)}
body.single-listing .nt-pricing-benefit-icon{
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,#ff7a00,#ff3d5f);
  color:#fff;
  font-size:calc(28px + var(--nt-km-font-boost, 0px));
  line-height:1;
  box-shadow:0 10px 22px rgba(234,88,12,.22);
}
body.single-listing .nt-pricing-benefit-copy{min-width:0}
body.single-listing .nt-pricing-benefit-copy small{
  display:block;
  margin-bottom:4px;
  color:#9a3412;
  font-size:calc(11px + var(--nt-km-font-boost, 0px));
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.single-listing .nt-pricing-benefit-copy strong{
  display:block;
  color:#172033;
  font-size:calc(16px + var(--nt-km-font-boost, 0px));
  line-height:1.25;
  font-weight:850;
}
body.single-listing .nt-pricing-benefit-copy span{
  display:block;
  margin-top:5px;
  color:#64748b;
  font-size:calc(12.5px + var(--nt-km-font-boost, 0px));
  line-height:1.35;
  font-weight:650;
}
body.single-listing .nt-pricing-benefit-rate{
  position:relative;
  z-index:1;
  color:#c2410c;
  font-size:calc(34px + var(--nt-km-font-boost, 0px));
  line-height:1;
  font-weight:950;
  letter-spacing:-.05em;
  white-space:nowrap;
}
body.single-listing .nt-pricing-benefit-banner.is-flash .nt-pricing-benefit-rate{color:#be123c}
body.single-listing .nt-pricing-loyalty-premium{
  padding:16px;
  border:1px solid #ddd6fe;
  border-radius:22px;
  background:linear-gradient(145deg,#faf5ff,#fff);
  box-shadow:0 12px 30px rgba(76,29,149,.07);
}
body.single-listing .nt-pricing-loyalty-head{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
body.single-listing .nt-pricing-loyalty-icon{
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  border-radius:17px;
  background:linear-gradient(135deg,#7c3aed,#4f46e5);
  color:#fff;
  font-size:calc(25px + var(--nt-km-font-boost, 0px));
  box-shadow:0 10px 22px rgba(79,70,229,.20);
}
body.single-listing .nt-pricing-loyalty-title small{
  display:block;
  color:#6d28d9;
  font-size:calc(11px + var(--nt-km-font-boost, 0px));
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.single-listing .nt-pricing-loyalty-title strong{
  display:block;
  margin-top:3px;
  color:#172033;
  font-size:calc(17px + var(--nt-km-font-boost, 0px));
  font-weight:850;
}
body.single-listing .nt-pricing-loyalty-count{
  color:#4f46e5;
  font-size:calc(22px + var(--nt-km-font-boost, 0px));
  font-weight:950;
  white-space:nowrap;
}
body.single-listing .nt-pricing-loyalty-progress{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  gap:5px;
  margin-top:15px;
}
body.single-listing .nt-pricing-loyalty-progress span{
  display:grid;
  height:28px;
  place-items:center;
  border:1px solid #e2e8f0;
  border-radius:9px;
  background:#f1f5f9;
  color:#64748b;
  font-size:calc(10px + var(--nt-km-font-boost, 0px));
  font-weight:900;
}
body.single-listing .nt-pricing-loyalty-progress span.is-done{
  border-color:#6366f1;
  background:#6366f1;
  color:#fff;
}
body.single-listing .nt-pricing-loyalty-message{
  margin:13px 0 0;
  padding:11px 12px;
  border-radius:14px;
  background:#fff;
  color:#475569;
  font-size:calc(13px + var(--nt-km-font-boost, 0px));
  line-height:1.4;
  font-weight:700;
}
body.single-listing .nt-pricing-loyalty-message strong{color:#4f46e5;font-weight:900}
@media(max-width:560px){
  body.single-listing .nt-pricing-benefit-banner{grid-template-columns:50px minmax(0,1fr) auto;gap:10px;padding:14px}
  body.single-listing .nt-pricing-benefit-icon{width:50px;height:50px;border-radius:16px;font-size:calc(24px + var(--nt-km-font-boost, 0px))}
  body.single-listing .nt-pricing-benefit-rate{font-size:calc(29px + var(--nt-km-font-boost, 0px))}
  body.single-listing .nt-pricing-benefit-copy strong{font-size:calc(15px + var(--nt-km-font-boost, 0px))}
  body.single-listing .nt-pricing-benefit-copy span{font-size:calc(12px + var(--nt-km-font-boost, 0px))}
  body.single-listing .nt-pricing-loyalty-premium{padding:14px}
  body.single-listing .nt-pricing-loyalty-head{grid-template-columns:46px minmax(0,1fr) auto;gap:10px}
  body.single-listing .nt-pricing-loyalty-icon{width:46px;height:46px;font-size:calc(22px + var(--nt-km-font-boost, 0px))}
  body.single-listing .nt-pricing-loyalty-count{font-size:calc(19px + var(--nt-km-font-boost, 0px))}
  body.single-listing .nt-pricing-loyalty-progress{gap:4px}
  body.single-listing .nt-pricing-loyalty-progress span{height:26px;font-size:calc(9px + var(--nt-km-font-boost, 0px))}
}

/* ======================================================================
   NOVTINIS — Cartes menu premium 2026-07-25
   Vitrine éditoriale : photo dominante, hiérarchie nette et gestion discrète.
   ====================================================================== */
.single-v4-panel[data-panel-content="menu"] .menu-slider-h65 .menu-card {
  border: 1px solid rgba(148, 163, 184, .24) !important;
  border-radius: 26px !important;
  background: #fff !important;
  box-shadow: 0 18px 48px rgba(15, 23, 42, .10) !important;
  overflow: visible !important;
  isolation: isolate;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

@media (hover: hover) {
  .single-v4-panel[data-panel-content="menu"] .menu-slider-h65 .menu-card:hover {
    transform: translateY(-3px);
    border-color: rgba(255, 90, 31, .28) !important;
    box-shadow: 0 24px 58px rgba(15, 23, 42, .14) !important;
  }
}

.single-v4-panel[data-panel-content="menu"] .menu-card-img {
  margin: 10px 10px 0;
  border-radius: 20px;
  overflow: hidden;
  background: #eef2f7;
  aspect-ratio: 4 / 3;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-media-open {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-img::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(15, 23, 42, .38));
}

.single-v4-panel[data-panel-content="menu"] .menu-card-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: scale(1.002);
  transition: transform .35s ease;
}

@media (hover: hover) {
  .single-v4-panel[data-panel-content="menu"] .menu-card:hover .menu-card-img img {
    transform: scale(1.035);
  }
}

.single-v4-panel[data-panel-content="menu"] .menu-like-btn {
  top: 20px !important;
  right: 20px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 11px !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .92) !important;
  color: #334155 !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .16) !important;
  backdrop-filter: blur(12px);
}

.single-v4-panel[data-panel-content="menu"] .menu-like-btn.is-liked {
  color: #ef2f5a !important;
}

.single-v4-panel[data-panel-content="menu"] .menu-price-badge {
  z-index: 2;
  left: 22px !important;
  bottom: 12px !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px !important;
  background: rgba(15, 23, 42, .86) !important;
  color: #fff !important;
  font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.22);
  backdrop-filter: blur(10px);
}

.single-v4-panel[data-panel-content="menu"] .menu-card-body {
  gap: 10px !important;
  padding: 18px 18px 17px !important;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-title {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: calc(20px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-desc {
  display: -webkit-box;
  min-height: 40px;
  margin: 0 !important;
  overflow: hidden;
  color: #64748b !important;
  font-size: calc(14px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.48 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-rating {
  min-height: 28px !important;
  padding: 0 10px !important;
  border-color: #fde3cf !important;
  background: #fff8f2 !important;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-footer-actions {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: auto;
  padding-top: 3px;
}







.single-v4-panel[data-panel-content="menu"] .single-menu-manage-menu {
  position: relative;
  flex: 0 0 auto;
}

.single-v4-panel[data-panel-content="menu"] .single-menu-manage-menu > summary {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 0 7px;
  border: 1px solid #dbe3ed;
  border-radius: 14px;
  background: #fff;
  color: #475569;
  font-size: calc(18px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
  letter-spacing: 2px;
  cursor: pointer;
  list-style: none;
}

.single-v4-panel[data-panel-content="menu"] .single-menu-manage-menu > summary::-webkit-details-marker {
  display: none;
}

.single-v4-panel[data-panel-content="menu"] .single-menu-manage-menu[open] > summary,
.single-v4-panel[data-panel-content="menu"] .single-menu-manage-menu > summary:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
  color: #0f172a;
}

.single-v4-panel[data-panel-content="menu"] .single-menu-manage-actions {
  position: absolute;
  right: 0;
  bottom: calc(100% + 9px);
  z-index: 12;
  display: grid !important;
  width: 170px;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 8px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .18);
}

.single-v4-panel[data-panel-content="menu"] .single-menu-edit-item,
.single-v4-panel[data-panel-content="menu"] .single-menu-delete-item {
  min-height: 40px !important;
  padding: 0 12px !important;
  border-radius: 11px !important;
  text-align: left;
  font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
}

.single-v4-panel[data-panel-content="menu"] .single-menu-edit-item {
  border-color: transparent !important;
  background: #fff7ed !important;
}

.single-v4-panel[data-panel-content="menu"] .single-menu-delete-item {
  border-color: transparent !important;
  background: #fff1f2 !important;
}

@media (max-width: 520px) {
  .single-v4-panel[data-panel-content="menu"] .menu-slider-h65 .menu-card {
    flex-basis: min(84vw, 344px) !important;
    min-width: 272px !important;
  }

  .single-v4-panel[data-panel-content="menu"] .menu-card-img {
    margin: 9px 9px 0;
  }

  .single-v4-panel[data-panel-content="menu"] .menu-card-body {
    padding: 16px !important;
  }

  .single-v4-panel[data-panel-content="menu"] .menu-card-title {
    font-size: calc(19px + var(--nt-km-font-boost, 0px)) !important;
  }
}


/* ======================================================================
   NOVTINIS — Finition cartes + panneau détail menu 2026-07-25
   - centrage réel de la photo dans la carte
   - image détail plus généreuse sur mobile et desktop
   ====================================================================== */
.single-v4-panel[data-panel-content="menu"] .menu-slider-h65 .menu-card {
  box-sizing: border-box !important;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-img {
  position: relative !important;
  width: calc(100% - 20px) !important;
  max-width: calc(100% - 20px) !important;
  margin: 10px auto 0 !important;
  box-sizing: border-box !important;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-img img {
  display: block !important;
  margin: 0 auto !important;
  object-position: center center !important;
}

.seva-menu-modal__dialog {
  width: min(calc(100% - 24px), 620px) !important;
}

.seva-menu-modal__image-wrap {
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #eef2f7;
}

.seva-menu-modal__image-wrap img {
  width: 100% !important;
  height: clamp(300px, 46vh, 470px) !important;
  max-height: 470px;
  object-fit: cover !important;
  object-position: center center !important;
}

@media (max-width: 520px) {
  .single-v4-panel[data-panel-content="menu"] .menu-card-img {
    width: calc(100% - 18px) !important;
    max-width: calc(100% - 18px) !important;
    margin-top: 9px !important;
  }

  .seva-menu-modal__dialog {
    width: min(calc(100% - 12px), 560px) !important;
  }

  .seva-menu-modal__image-wrap img {
    height: clamp(280px, 43vh, 380px) !important;
  }
}

.single-v3-hero-latin-name{margin:4px 0 8px;color:rgba(255,255,255,.88);font-size:calc(clamp(15px,2vw,19px) + var(--nt-km-font-boost, 0px));font-weight:650;letter-spacing:.01em}

/* ======================================================================
   LOT 42 — Rails Menu / Tarifs sans bande blanche à droite
   Même principe que les rails validés de l'accueil : sur smartphone, la
   section s'étend jusqu'au bord droit du cadre tandis que son en-tête garde
   son retrait. La carte suivante reste partiellement visible sans bande
   blanche entre son image et le bord du viewport.
   ====================================================================== */
@media (max-width: 520px) {
  body.single-listing .single-v4-panel[data-panel-content="menu"] .menu-section-h65,
  body.single-listing .single-v4-panel[data-panel-content="pricing"] .menu-section-h65 {
    width: calc(100% + 12px) !important;
    max-width: none !important;
    margin-right: -12px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  body.single-listing .single-v4-panel[data-panel-content="menu"] .menu-section-head-h65,
  body.single-listing .single-v4-panel[data-panel-content="pricing"] .menu-section-head-h65 {
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }

  body.single-listing .single-v4-panel[data-panel-content="menu"] .menu-slider-h65,
  body.single-listing .single-v4-panel[data-panel-content="pricing"] .menu-slider-h65 {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    overscroll-behavior-inline: contain !important;
    box-sizing: border-box !important;
  }
}

/* ========================================================================
 * Lot 115 — consolidation des finitions mobiles de la fiche commerce
 * Sources historiques intégrées dans l'ordre validé : Lots 106/107 puis 108.
 * ======================================================================== */
/*
 * Lot 106 — finition mobile de la fiche commerce
 * - rails Horaires et Partager réellement défilables ;
 * - aucun fondu ni bande blanche à droite ;
 * - dernier élément aligné contre la bordure en fin de défilement ;
 * - marge basse suffisante au-dessus des barres fixes.
 */

@media (max-width: 767px) {
  /* ------------------------------------------------------
     Rail Distance / Catégorie / Statut / Horaires
     Le rail conserve l'alignement gauche intérieur mais va
     jusqu'à la bordure droite de la fiche.
  ------------------------------------------------------ */
  body.single-listing .single-v3-head-card > .single-v3-meta-line {
    box-sizing: border-box !important;
    width: calc(100% + 12px) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: -12px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-left: 0 !important;
    scroll-padding-right: 0 !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-inline: contain !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-head-card > .single-v3-meta-line::-webkit-scrollbar {
    display: none !important;
  }

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

  body.single-listing .single-v3-head-card > .single-v3-meta-line > :last-child {
    margin-right: 0 !important;
  }

  /* ------------------------------------------------------
     Rail Poster avis / Appeler / Plan / Partager
     Même géométrie bord à bord à droite, sans masque blanc.
  ------------------------------------------------------ */
  body.single-listing .single-v3-head-card > .single-v3-primary-actions-card {
    box-sizing: border-box !important;
    width: calc(100% + 12px) !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: -12px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.single-listing .single-v3-head-card > .single-v3-primary-actions-card::before,
  body.single-listing .single-v3-head-card > .single-v3-primary-actions-card::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }

  body.single-listing .single-v3-primary-actions-card .single-v3-actions-scroll {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-left: 0 !important;
    scroll-padding-right: 0 !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-inline: contain !important;
  }

  body.single-listing .single-v3-primary-actions-card .single-v3-actions-scroll::-webkit-scrollbar {
    display: none !important;
  }

  body.single-listing .single-v3-primary-actions-card .single-v3-actions-scroll::before,
  body.single-listing .single-v3-primary-actions-card .single-v3-actions-scroll::after {
    content: none !important;
    display: none !important;
    flex-basis: 0 !important;
    min-width: 0 !important;
  }

  body.single-listing .single-v3-primary-actions-card .single-v3-actions-scroll > :last-child {
    margin-right: 0 !important;
  }

  /* Après suppression d'Appeler, Horaires reste une action unique et propre. */
  body.single-listing .single-info-head-h60j .single-info-quick-grid {
    max-width: none !important;
    overflow: visible !important;
  }

  /* Le dernier contenu peut défiler entièrement au-dessus de la barre fixe. */
  body.single-listing .single-v3-page {
    padding-bottom: calc(118px + env(safe-area-inset-bottom)) !important;
  }

  body.single-listing .single-sticky-actions,
  body.single-listing nav.nt-listing-bottom-nav-clean {
    box-sizing: border-box !important;
    backface-visibility: hidden !important;
    transform-style: preserve-3d !important;
  }
}

/*
 * Lot 107 — correctif de position initiale du rail d'actions.
 * Une ancienne règle mobile conservait translateX(-50%) alors que le Lot 106
 * avait supprimé la marge-left:50% compensatrice. Le rail partait donc hors
 * écran à gauche et coupait Poster avis / Appeler.
 */
@media (max-width: 767px) {
  body.single-listing .single-v3-head-card > .single-v3-primary-actions-card,
  body.single-listing .single-v3-head-card > .single-v3-primary-actions-card.single-v3-actions-scroll-card {
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }

  body.single-listing .single-v3-primary-actions-card .single-v3-actions-scroll {
    transform: none !important;
  }
}

/*
 * Lot 108 — hauteur naturelle des panneaux de la fiche commerce mobile.
 *
 * Objectif : supprimer le grand espace vide sous le dernier contenu des vues
 * Info / Lire avis / Menu-Tarifs / Autres commerces, tout en conservant une
 * réserve suffisante au-dessus de la barre d'actions fixe.
 */

@media (max-width: 767px) {
  /* Le document ne conserve plus une hauteur minimale artificielle. */
  body.single-listing .single-v3-page,
  body.single-listing .single-v3-shell,
  body.single-listing #singleTabsBlock.single-v3-panels-card,
  body.single-listing #singleTabsBlock .single-v4-panels-content,
  body.single-listing #singleTabsBlock .single-v4-panel,
  body.single-listing #singleTabsBlock .single-v3-panel-inner {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  /* Une seule réserve : hauteur de la barre fixe + environ 18 px d'air. */
  body.single-listing .single-v3-page {
    padding-bottom: calc(90px + env(safe-area-inset-bottom)) !important;
  }

  body.single-listing .single-v3-shell {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  body.single-listing #singleTabsBlock.single-v3-panels-card,
  body.single-listing #singleTabsBlock .single-v4-panels-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Les panneaux inactifs ne doivent conserver aucune géométrie. */
  body.single-listing #singleTabsBlock .single-v4-panel:not(.open) {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Le panneau actif épouse exactement la hauteur de son contenu. */
  body.single-listing #singleTabsBlock .single-v4-panel.open {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.single-listing #singleTabsBlock .single-v4-panel.open > .single-v3-panel-inner {
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 18px !important;
  }

  /* Le dernier bloc ne rajoute pas une marge vide en plus de la réserve page. */
  body.single-listing #singleTabsBlock .single-v4-panel.open > .single-v3-panel-inner > :last-child {
    margin-bottom: 0 !important;
  }
}

/* ======================================================================
   LOT 171 — Séparation avis commerce / avis menu compact
   ====================================================================== */
/* Le bouton principal « Poster avis » concerne uniquement le commerce. */
.seva-review-form:not(.is-menu-review) .seva-review-menu-context,
.seva-review-form:not(.is-menu-review) .seva-menu-review-fast {
  display: none !important;
}

.seva-menu-quick-review {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #fff;
}

.seva-menu-quick-review[hidden] {
  display: none !important;
}

.seva-menu-quick-review__intro {
  margin-bottom: 12px;
  color: #64748b;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  line-height: 1.4;
  font-weight: 750;
}

.seva-menu-quick-review__stars {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

.seva-menu-quick-review__stars button {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  background: #fff;
  color: #f59e0b;
  font-size: calc(26px + var(--nt-km-font-boost, 0px));
  line-height: 1;
  cursor: pointer;
}

.seva-menu-quick-review__stars button.is-active {
  border-color: #f59e0b;
  background: #fff7ed;
}

.seva-menu-quick-review__group {
  margin-top: 12px;
}

.seva-menu-quick-review__group strong {
  display: block;
  margin-bottom: 7px;
  color: #0f172a;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
}

.seva-menu-quick-review__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.seva-menu-quick-review__chips button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  font-weight: 800;
  cursor: pointer;
}

.seva-menu-quick-review__chips button.is-selected {
  border-color: transparent;
  background: #eef6ff;
  color: #0f6bd8;
  box-shadow: inset 0 0 0 1px #bfdbfe;
}

#sevaMenuQuickReviewComment {
  width: 100%;
  min-height: 78px;
  margin-top: 14px;
  padding: 11px 12px;
  border: 1px solid #dbe3ef;
  border-radius: 14px;
  background: #fff;
  color: #0f172a;
  resize: vertical;
}

.seva-menu-quick-review__feedback {
  min-height: 0;
  margin-top: 10px;
  font-size: calc(12px + var(--nt-km-font-boost, 0px));
  line-height: 1.4;
  font-weight: 800;
}

.seva-menu-quick-review__feedback.is-error { color: #b91c1c; }
.seva-menu-quick-review__feedback.is-success { color: #15803d; }
.seva-menu-quick-review__feedback.is-info { color: #0f6bd8; }

.seva-menu-quick-review__submit {
  width: 100%;
  min-height: 46px;
  margin-top: 12px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff7a00, #ff2d55);
  color: #fff;
  font-size: calc(14px + var(--nt-km-font-boost, 0px));
  font-weight: 900;
  cursor: pointer;
}

.seva-menu-quick-review__submit:disabled {
  opacity: .65;
  cursor: wait;
}

.seva-menu-quick-review__points {
  display: block;
  margin-top: 9px;
  color: #64748b;
  font-size: calc(11px + var(--nt-km-font-boost, 0px));
  line-height: 1.4;
  text-align: center;
  font-weight: 700;
}

@media (max-width: 520px) {
  .seva-menu-quick-review__stars {
    justify-content: center;
  }
}
