/* ======================================================================
   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;
}
.menu-card-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  margin-top:10px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  background:#fff4ed;
  color:#ff5a1f;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.menu-card-link:hover{
  background:#ff5a1f;
  color:#fff;
}
.seva-menu-modal__insight{
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#64748b;
  font-size:13px;
  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:13px;
  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:12px;
  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-card-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: none;
  background: #fff4ed;
  color: #f05a24;
  font-size: 13px;
  font-weight: 900;
}

.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: 13px;
  line-height: 1.45;
}

.seva-menu-modal__insight strong {
  display: block;
  margin-bottom: 4px;
  color: #0b132b;
  font-size: 14px;
}

.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: 13px;
  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;
}

.menu-card-link {
  align-self: flex-start;
  margin-top: 2px;
}

.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: 13px;
  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: 13px;
  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: 13px;
  font-weight: 900;
}

.seva-menu-linked-review span {
  color: #ff7a00;
  font-size: 12px;
  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: 11px;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.single-menu-empty-assist-h61f h4 {
  margin: 12px 0 6px;
  color: #0f172a;
  font-size: 22px;
  line-height: 1.15;
  font-weight: 950;
}

.single-menu-empty-assist-h61f p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  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: 14px;
  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: 13px;
  font-weight: 950;
}

.seva-review-menu-assist-h61g span {
  color: #9a3412;
  font-size: 12px;
  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: 10px;
  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: 18px;
  line-height: 1.2;
  font-weight: 950;
}

.single-menu-missing-assist-h61h__head p {
  margin: 6px 0 0;
  color: #64748b;
  font-size: 13px;
  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: 14px;
  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: 12px;
  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: 13px;
  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: 12px;
  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: 13px;
  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: 13px;
  font-weight: 950;
}

.single-menu-photo-upload-h61i input {
  font-size: 12px;
  color: #475569;
}

.single-menu-photo-upload-h61i small {
  color: #9a3412;
  font-size: 12px;
  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: 13px;
  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: 19px !important;
}

.single-menu-missing-assist-h61j .single-menu-missing-assist-h61h__head p {
  margin-top: 6px !important;
  font-size: 13px !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: 12.5px !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: 12.5px !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: 12px !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: 18px !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: 13px !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: 16px !important;
  }

  .single-menu-points-inline-h61j span {
    font-size: 12px !important;
  }
}


/* ======================================================================
   H62 — Règles de confiance fiche commerce
   ====================================================================== */
.single-v3-hero-r\61 ting-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: 13px;
  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: 11px;
  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:23px!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:18px!important;
}

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

body.single-listing .single-advantage-title{
  font-size:16px!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:13px!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:12px!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:10px!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:13px!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-cash\62 ack-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:9.5px!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-cash\62 ack{
  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:24px!important;
  line-height:1!important;
  font-weight:1000!important;
}

body.single-listing .single-advantage-box-combined .single-direct-discount-line span{
  font-size:13px!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:15px!important;
}

body.single-listing .single-advantage-box-combined .single-offer-subhead strong{
  font-size:17px!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:13px!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:12px!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:10px!important;
  line-height:1!important;
  font-weight:950!important;
}

body.single-listing .single-advantage-box-combined .single-loyalty-dot small{
  font-size:7px!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:13px!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-cash\62 ack-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:22px!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:11px!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:9px!important;
  }

  body.single-listing .single-advantage-box-combined .single-loyalty-dot small{
    font-size:6.5px!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:24px!important;
  line-height:1!important;
  font-weight:1000!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-direct-discount-line span{
  font-size:13px!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:11px!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:15px!important;
  line-height:1.1!important;
  font-weight:950!important;
}

body.single-listing .single-flat-loyalty-copy-h116c span{
  color:#64748b!important;
  font-size:12px!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:12px!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:9px!important;
  line-height:1!important;
  font-weight:950!important;
}

body.single-listing .single-advantage-box-flat-h116c .single-loyalty-dot small{
  font-size:6.5px!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:12.5px!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-cash\62 ack-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:22px!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:11px!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:12px!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:9.5px!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:6.5px!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:10.5px!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:9.5px!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:6.5px!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,.82) 0%,
    rgba(11,19,43,.58) 22%,
    rgba(11,19,43,.22) 48%,
    rgba(11,19,43,.03) 100%
  )!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:18px!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:22px!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:19px!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:11px!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:12px!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:17px!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:10.5px!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:11px!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:18px!important;
  line-height:1!important;
  font-weight:950!important;
}

/* Aligner Voir photos + compteur sur la ligne note/étoiles */
body.single-listing .single-v3-hero-r\61 ting-row,
.single-v3-hero-r\61 ting-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:11px!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-r\61 ting-row,
  .single-v3-hero-r\61 ting-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:10px!important;
  }
}

@media(max-width:390px){
  body.single-listing .single-v3-hero-r\61 ting-row,
  .single-v3-hero-r\61 ting-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:16px!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:13px!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:11px!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:15px!important;
  }

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

  .single-related-meta-h118 em{
    font-size:10px!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:16px!important;
  line-height:1.1!important;
}

.single-related-item-h118 .single-related-copy > span{
  font-size:13px!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:10.5px!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:15px!important;
  }

  .single-related-meta-h118 em{
    font-size:10px!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:16px!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:13px!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:10.5px!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:15px!important;
  }

  .single-related-meta-h118 em{
    font-size:10px!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:22px!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;
  }
}


/* ======================================================
   Novtinis — Listing : nav mobile alignée sur le modèle validé
   Modèle :
   - nav height 58px / bottom -4px ;
   - bouton central 58px ;
   - margin -22px auto 0 ;
   - padding 8px 0 0 ;
   - texte dans le cercle.
====================================================== */
html body .nt-listing-bottom-nav-clean {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -4px !important;
  z-index: 1100 !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.97) !important;
  border-top: 1px solid rgba(226,232,240,.9) !important;
  box-shadow: 0 -6px 18px rgba(15,23,42,.055) !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: center !important;
  overflow: visible !important;
  transform: none !important;
}

html body .nt-listing-bottom-nav-clean .nt-client-bottom-nav-link-h145 {
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  color: #64748b !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  overflow: visible !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

html body .nt-listing-bottom-nav-clean .nt-client-bottom-nav-link-h145.is-active,
html body .nt-listing-bottom-nav-clean .nt-client-bottom-nav-link-h145:hover,
html body .nt-listing-bottom-nav-clean .nt-client-bottom-nav-link-h145:focus {
  color: #2563eb !important;
}

html body .nt-listing-bottom-nav-clean .nt-client-bottom-nav-icon-h145 {
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: currentColor !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .nt-listing-bottom-nav-clean .nt-client-bottom-nav-icon-h145 svg {
  width: 22px !important;
  height: 22px !important;
  display: block !important;
  fill: currentColor !important;
}

html body .nt-listing-bottom-nav-clean .nt-client-bottom-nav-label-h145 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: currentColor !important;
  font-size: 10.5px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

html body .nt-listing-bottom-nav-clean .nt-listing-center-offres {
  position: relative !important;
  overflow: visible !important;
  color: #fff !important;
}

html body .nt-listing-bottom-nav-clean .nt-listing-center-circle {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  max-width: 58px !important;
  max-height: 58px !important;
  margin: -22px auto 0 !important;
  padding: 8px 0 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff4b35, #ff6a2a) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(255,75,53,.24) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 2px !important;
  overflow: hidden !important;
  z-index: 5 !important;
}

html body .nt-listing-bottom-nav-clean .nt-listing-center-symbol {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  flex: 0 0 22px !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

html body .nt-listing-bottom-nav-clean .nt-listing-center-symbol svg {
  width: 22px !important;
  height: 22px !important;
  fill: currentColor !important;
  display: block !important;
}

html body .nt-listing-bottom-nav-clean .nt-listing-center-label {
  position: static !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 54px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: none !important;
}


/* ======================================================
   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:clamp(28px,7vw,36px)!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: 14px;
  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: 22px;
  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: 12px;
  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: 18px;
  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: 14px;
  line-height: 1.45;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-link {
  align-self: flex-start;
  margin-top: auto;
  min-height: 34px;
}

.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: 20px;
  }
  .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: 13px;
  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: 13px;
  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: 13px;
  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: 12px;
  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: 11px;
  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: 13px;
  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: 13px;
  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: 12px;
  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: 11px;
  font-weight: 850;
}

.seva-menu-linked-review-text {
  margin-top: 7px !important;
  color: #334155 !important;
  font-size: 13px !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: 14px;
  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: 11px;
  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: 12px;
  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: 11.5px;
  }
}



/* =====================================================
   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: 16px !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: 13px;
  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: 10px !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: 12px !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: 15px !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: 12px;
  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: 11px;
  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: 12px;
  line-height: 1;
  font-weight: 800;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-rating-star {
  color: #f97316;
  font-size: 14px;
  line-height: 1;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-rating strong {
  color: #9a3412;
  font-size: 13px;
  font-weight: 950;
}

.single-v4-panel[data-panel-content="menu"] .menu-card-rating span:last-child {
  color: #a16207;
  font-size: 12px;
  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;
}
