/*
 * Novtinis — Revendication commerce
 * Refonte de présentation. Les règles métier restent dans le template PHP.
 */

:root {
  --nt-claim-ink: #10213e;
  --nt-claim-muted: #64748b;
  --nt-claim-line: #e2e8f0;
  --nt-claim-soft: #f5f8fc;
  --nt-claim-blue: #1e5fc5;
  --nt-claim-blue-deep: #102f65;
  --nt-claim-white: #ffffff;
  --nt-claim-green: #149653;
}

body.page-template-page-revendication-commerce,
body.page-template-page-revendication-commerce-php {
  background: #f5f8fc !important;
  overflow-x: hidden;
}

/* Keep Astra chrome out of this standalone flow without hiding our custom header. */
body.page-template-page-revendication-commerce .site-header,
body.page-template-page-revendication-commerce .site-footer,
body.page-template-page-revendication-commerce .entry-header,
body.page-template-page-revendication-commerce .ast-primary-header-bar,
body.page-template-page-revendication-commerce .ast-builder-grid-row-container,
body.page-template-page-revendication-commerce-php .site-header,
body.page-template-page-revendication-commerce-php .site-footer,
body.page-template-page-revendication-commerce-php .entry-header,
body.page-template-page-revendication-commerce-php .ast-primary-header-bar,
body.page-template-page-revendication-commerce-php .ast-builder-grid-row-container {
  display: none !important;
}

body.page-template-page-revendication-commerce .site,
body.page-template-page-revendication-commerce .site-content,
body.page-template-page-revendication-commerce .content-area,
body.page-template-page-revendication-commerce .ast-container,
body.page-template-page-revendication-commerce .site-main,
body.page-template-page-revendication-commerce article,
body.page-template-page-revendication-commerce .entry-content,
body.page-template-page-revendication-commerce-php .site,
body.page-template-page-revendication-commerce-php .site-content,
body.page-template-page-revendication-commerce-php .content-area,
body.page-template-page-revendication-commerce-php .ast-container,
body.page-template-page-revendication-commerce-php .site-main,
body.page-template-page-revendication-commerce-php article,
body.page-template-page-revendication-commerce-php .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.nt-claim-desktop-header { display: none; }

.nt-claim-page,
.claim-commerce-page,
.seva-claim-page {
  min-height: 100vh;
  padding: 24px 16px 104px;
  background:
    radial-gradient(circle at 8% 0%, rgba(54, 117, 220, .10), transparent 26%),
    radial-gradient(circle at 96% 6%, rgba(255, 165, 75, .10), transparent 20%),
    linear-gradient(180deg, #f7f9fd 0%, #eef4fb 100%);
  color: var(--nt-claim-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Inter", "Noto Sans Khmer", "Segoe UI", sans-serif;
}

.nt-claim-shell,
.claim-commerce-shell,
.seva-claim-shell {
  width: min(100%, 680px);
  margin: 0 auto;
}

.nt-claim-intro { margin: 4px 2px 20px; }
.nt-claim-intro-kicker,
.nt-claim-action-kicker,
.nt-claim-context-kicker,
.nt-claim-benefits-intro > span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--nt-claim-blue);
  background: #e8f0ff;
  font-size: calc(11px + var(--nt-km-font-boost, 0px));
  line-height: 1;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.nt-claim-intro h1,
.nt-claim-success-card h1,
.nt-claim-empty h1 {
  margin: 13px 0 0 !important;
  color: var(--nt-claim-ink) !important;
  font-size: calc(clamp(34px, 10vw, 48px) + var(--nt-km-font-boost, 0px)) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
  font-weight: 900 !important;
}

.nt-claim-intro > p {
  max-width: 610px;
  margin: 12px 0 0 !important;
  color: #53657f !important;
  font-size: calc(16px + var(--nt-km-font-boost, 0px)) !important;
  line-height: 1.5 !important;
  font-weight: 650 !important;
}

.nt-claim-stage { display: grid; gap: 16px; }

.nt-claim-context-card {
  padding: 22px;
  border-radius: 28px;
  color: #fff;
  background:
    radial-gradient(circle at 88% 6%, rgba(103, 178, 255, .42), transparent 32%),
    linear-gradient(145deg, #174b92 0%, #102f65 56%, #0b1e3e 100%);
  box-shadow: 0 22px 48px rgba(16, 47, 101, .20);
}

.nt-claim-context-kicker {
  color: #dceaff;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.14);
}

.nt-claim-target { margin-top: 14px; }
.nt-claim-target-label { display:none; }

.nt-claim-listing,
.claim-commerce-listing,
.seva-claim-listing {
  padding: 12px;
  border-radius: 18px;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  color: var(--nt-claim-ink);
  background: rgba(255,255,255,.97);
  box-shadow: 0 12px 26px rgba(5, 22, 53, .14);
}

.nt-claim-listing.is-no-image,
.claim-commerce-listing.is-no-image,
.seva-claim-listing.is-no-image { grid-template-columns: 1fr; }

.nt-claim-listing img,
.claim-commerce-listing img,
.seva-claim-listing img {
  width: 62px;
  height: 62px;
  border-radius: 15px;
  object-fit: cover;
  background: #dbeafe;
}

.nt-claim-listing strong,
.claim-commerce-listing strong,
.seva-claim-listing strong {
  display:block;
  color: var(--nt-claim-ink);
  font-size: calc(16px + var(--nt-km-font-boost, 0px));
  line-height:1.16;
  font-weight: 900;
  overflow-wrap:anywhere;
}

.nt-claim-listing span,
.claim-commerce-listing span,
.seva-claim-listing span {
  display:block;
  margin-top:5px;
  color:#63728a;
  font-size:calc(12px + var(--nt-km-font-boost, 0px));
  line-height:1.35;
  font-weight:650;
  overflow-wrap:anywhere;
}

.nt-claim-context-return {
  width: max-content;
  max-width: 100%;
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ffffff !important;
  font-size: calc(13px + var(--nt-km-font-boost, 0px));
  line-height: 1;
  font-weight: 800;
  text-decoration: none !important;
}
.nt-claim-context-return:hover { text-decoration: underline !important; }

.nt-claim-context-steps {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.18);
}
.nt-claim-context-steps > p { margin:0 0 12px; color:#d9e7ff; font-size:calc(12px + var(--nt-km-font-boost, 0px)); font-weight:800; }
.nt-claim-context-steps ol { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.nt-claim-context-steps li { display:grid; grid-template-columns:26px minmax(0,1fr); gap:9px; align-items:start; }
.nt-claim-context-steps li > span { width:26px; height:26px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#154784; background:#fff; font-size:calc(11px + var(--nt-km-font-boost, 0px)); font-weight:900; }
.nt-claim-context-steps strong { display:block; color:#fff; font-size:calc(13px + var(--nt-km-font-boost, 0px)); line-height:1.2; font-weight:850; }
.nt-claim-context-steps small { display:block; margin-top:2px; color:#c8d9f4; font-size:calc(12px + var(--nt-km-font-boost, 0px)); line-height:1.3; font-weight:600; }

.nt-claim-card,
.claim-commerce-card,
.seva-claim-card,
.nt-claim-empty,
.claim-commerce-empty,
.seva-claim-empty {
  padding: 24px;
  border: 1px solid rgba(207, 220, 237, .92);
  border-radius: 28px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 44px rgba(36, 63, 102, .08), inset 0 1px 0 rgba(255,255,255,.94);
}

.nt-claim-card h2,
.claim-commerce-card h2,
.seva-claim-card h2,
.nt-claim-empty h2,
.nt-claim-next h2 {
  margin: 13px 0 0 !important;
  color:var(--nt-claim-ink) !important;
  font-size:calc(28px + var(--nt-km-font-boost, 0px)) !important;
  line-height:1.03 !important;
  letter-spacing:-.045em !important;
  font-weight:900 !important;
}

.nt-claim-card p,
.claim-commerce-card p,
.seva-claim-card p,
.nt-claim-empty p {
  margin:11px 0 0 !important;
  color:var(--nt-claim-muted) !important;
  font-size:calc(15px + var(--nt-km-font-boost, 0px)) !important;
  line-height:1.48 !important;
  font-weight:620 !important;
}
.nt-claim-card p strong { color:var(--nt-claim-ink); font-weight:850; }

.nt-claim-form,
.claim-commerce-form,
.seva-claim-form { margin-top:20px; display:grid; gap:14px; }

.nt-claim-form label,
.claim-commerce-form label,
.seva-claim-form label { display:grid; gap:7px; margin:0; }
.nt-claim-form label > span,
.claim-commerce-form label > span,
.seva-claim-form label > span { color:#385778; font-size:calc(12px + var(--nt-km-font-boost, 0px)); line-height:1.1; font-weight:850; }
.nt-claim-form label em,
.claim-commerce-form label em,
.seva-claim-form label em { font-style:normal; color:#8797ad; font-weight:650; }

.nt-claim-form input,
.nt-claim-form select,
.nt-claim-form textarea,
.claim-commerce-form input,
.claim-commerce-form select,
.claim-commerce-form textarea,
.seva-claim-form input,
.seva-claim-form select,
.seva-claim-form textarea {
  width:100%;
  min-height:52px;
  padding:0 14px;
  border:1px solid #dbe5f1;
  border-radius:14px;
  outline:none;
  color:var(--nt-claim-ink);
  background:#fbfdff;
  font-size:calc(15px + var(--nt-km-font-boost, 0px));
  line-height:1.3;
  font-weight:650;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.nt-claim-form textarea,
.claim-commerce-form textarea,
.seva-claim-form textarea { min-height:112px; padding-top:13px; padding-bottom:13px; resize:vertical; }
.nt-claim-form input:focus,
.nt-claim-form select:focus,
.nt-claim-form textarea:focus,
.claim-commerce-form input:focus,
.claim-commerce-form select:focus,
.claim-commerce-form textarea:focus,
.seva-claim-form input:focus,
.seva-claim-form select:focus,
.seva-claim-form textarea:focus { border-color:#4b83dc; background:#fff; box-shadow:0 0 0 3px rgba(75,131,220,.16); }
.nt-claim-help,
.claim-commerce-help,
.seva-claim-help { color:#798aa2; font-size:calc(12px + var(--nt-km-font-boost, 0px)); line-height:1.34; font-weight:600; }

.nt-claim-rib-note {
  padding:13px 14px;
  border-radius:14px;
  display:grid;
  gap:3px;
  color:#566982;
  background:#f2f6fb;
  border:1px solid #e1eaf4;
}
.nt-claim-rib-note strong { color:#263b58; font-size:calc(13px + var(--nt-km-font-boost, 0px)); font-weight:850; }
.nt-claim-rib-note span { font-size:calc(12px + var(--nt-km-font-boost, 0px)); line-height:1.35; font-weight:600; }

.nt-claim-actions,
.claim-commerce-actions,
.seva-claim-actions { margin-top:20px; display:grid; gap:10px; }

.nt-claim-btn,
.claim-commerce-btn,
.seva-claim-btn,
.nt-claim-form button[type="submit"],
.claim-commerce-form button[type="submit"],
.seva-claim-form button[type="submit"] {
  width:100%;
  min-height:54px;
  padding:0 18px;
  border:0;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff !important;
  background:linear-gradient(135deg, #1b4b93 0%, #2e70d0 100%);
  box-shadow:0 13px 24px rgba(34,91,179,.22);
  font-size:calc(14px + var(--nt-km-font-boost, 0px));
  line-height:1;
  font-weight:850;
  text-align:center;
  text-decoration:none !important;
  cursor:pointer;
}
.nt-claim-btn.is-secondary,
.claim-commerce-btn.is-secondary,
.seva-claim-btn.is-secondary { color:#245592 !important; background:#fff; border:1px solid #d5e1ef; box-shadow:none; }

.nt-claim-assurance { display:flex; align-items:flex-start; gap:8px; margin-top:16px !important; color:#64748b !important; font-size:calc(12.5px + var(--nt-km-font-boost, 0px)) !important; line-height:1.4 !important; }
.nt-claim-assurance > span { width:18px; height:18px; flex:0 0 18px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; background:var(--nt-claim-green); font-size:calc(11px + var(--nt-km-font-boost, 0px)); font-weight:900; }

.nt-claim-alert,
.claim-commerce-alert,
.seva-claim-alert,
.nt-claim-status-box { padding:14px 16px; border-radius:16px; font-size:calc(14px + var(--nt-km-font-boost, 0px)); line-height:1.42; font-weight:700; }
.nt-claim-alert { margin-bottom:16px; }
.nt-claim-alert.is-error { color:#a91b1b; background:#fff0f0; border:1px solid #ffd0d0; }
.nt-claim-status-box--pending { margin-top:18px; color:#965206; background:#fff8e7; border:1px solid #f6d99c; }
.nt-claim-status-box strong,
.nt-claim-status-box small { display:block; }
.nt-claim-status-box small { margin-top:4px; font-size:calc(12px + var(--nt-km-font-boost, 0px)); line-height:1.35; }

.nt-claim-benefits-strip {
  margin-top:16px;
  padding:22px;
  border:1px solid rgba(207,220,237,.92);
  border-radius:26px;
  background:rgba(255,255,255,.84);
  box-shadow:0 12px 30px rgba(36,63,102,.05);
}
.nt-claim-benefits-intro h2 { margin:9px 0 0; color:var(--nt-claim-ink); font-size:calc(22px + var(--nt-km-font-boost, 0px)); line-height:1.05; letter-spacing:-.035em; font-weight:900; }
.nt-claim-benefits { margin-top:18px; display:grid; gap:10px; }
.nt-claim-benefit,
.claim-commerce-benefit,
.seva-claim-benefit { padding:14px; border-radius:16px; display:grid; grid-template-columns:34px minmax(0,1fr); gap:11px; align-items:start; background:#f8fbff; border:1px solid #e6edf6; }
.nt-claim-benefit-icon,
.claim-commerce-benefit-icon,
.seva-claim-benefit-icon { width:34px; height:34px; border-radius:11px; display:inline-flex; align-items:center; justify-content:center; color:#1d5cb8; background:#e6f0ff; font-size:calc(10px + var(--nt-km-font-boost, 0px)); line-height:1; font-weight:900; }
.nt-claim-benefit strong,
.claim-commerce-benefit strong,
.seva-claim-benefit strong { display:block; color:var(--nt-claim-ink); font-size:calc(14px + var(--nt-km-font-boost, 0px)); line-height:1.2; font-weight:850; }
.nt-claim-benefit span:not(.nt-claim-benefit-icon),
.claim-commerce-benefit span:not(.claim-commerce-benefit-icon),
.seva-claim-benefit span:not(.seva-claim-benefit-icon) { display:block; margin-top:4px; color:#71829a; font-size:calc(12px + var(--nt-km-font-boost, 0px)); line-height:1.36; font-weight:600; }

.nt-claim-next { margin-top:20px; padding:15px; border-radius:18px; background:#f7faff; border:1px solid #e1eaf4; }
.nt-claim-next h2 { margin:0 !important; font-size:calc(20px + var(--nt-km-font-boost, 0px)) !important; }
.nt-claim-step,
.claim-commerce-step,
.seva-claim-step { margin-top:10px; display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; align-items:start; }
.nt-claim-step-icon,
.claim-commerce-step-icon,
.seva-claim-step-icon { width:28px; height:28px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; background:#1e5fc5; font-size:calc(11px + var(--nt-km-font-boost, 0px)); font-weight:900; }
.nt-claim-step strong,
.claim-commerce-step strong,
.seva-claim-step strong { display:block; color:var(--nt-claim-ink); font-size:calc(13px + var(--nt-km-font-boost, 0px)); font-weight:850; }
.nt-claim-step span:not(.nt-claim-step-icon),
.claim-commerce-step span:not(.claim-commerce-step-icon),
.seva-claim-step span:not(.seva-claim-step-icon) { display:block; margin-top:2px; color:#71829a; font-size:calc(12px + var(--nt-km-font-boost, 0px)); line-height:1.35; font-weight:600; }

.nt-claim-empty,
.nt-claim-success-layout { width:min(680px,100%); margin:32px auto 0; }
.nt-claim-success-card { padding:30px; }

@media (min-width: 900px) {
  .nt-claim-desktop-header {
    display:block;
    position:relative;
    z-index:10;
    padding:22px 36px 0;
    background:transparent;
  }
  .nt-claim-desktop-header-inner {
    width:min(1220px,100%);
    min-height:58px;
    margin:0 auto;
    display:grid;
    grid-template-columns:220px minmax(0,1fr) 180px;
    align-items:center;
    gap:28px;
  }
  .nt-claim-desktop-brand { display:inline-flex; align-items:center; justify-self:start; text-decoration:none; }
  .nt-claim-desktop-brand img { display:block; width:154px; height:auto; }
  .nt-claim-desktop-links { display:flex; justify-content:center; align-items:center; gap:30px; white-space:nowrap; }
  .nt-claim-desktop-links a { color:#40516a; font-size:calc(14px + var(--nt-km-font-boost, 0px)); line-height:1; font-weight:780; text-decoration:none; }
  .nt-claim-desktop-links a:hover,
  .nt-claim-desktop-links a:focus-visible { color:#1e5fc5; }
  .nt-claim-desktop-account { justify-self:end; min-height:44px; padding:0 18px; border:1px solid #d8e3f0; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; color:#235394 !important; background:rgba(255,255,255,.86); box-shadow:0 8px 18px rgba(36,63,102,.05); font-size:calc(13px + var(--nt-km-font-boost, 0px)); font-weight:850; text-decoration:none !important; }
  .nt-claim-bottom-nav-clean { display:none !important; }

  .nt-claim-page,
  .claim-commerce-page,
  .seva-claim-page { min-height:calc(100vh - 80px); padding:42px 36px 80px; }
  .nt-claim-shell,
  .claim-commerce-shell,
  .seva-claim-shell { width:min(1180px,100%); }
  .nt-claim-intro { max-width:610px; margin:0 0 28px; }
  .nt-claim-intro h1 { font-size:calc(54px + var(--nt-km-font-boost, 0px)) !important; }
  .nt-claim-intro > p { font-size:calc(17px + var(--nt-km-font-boost, 0px)) !important; }
  .nt-claim-stage { grid-template-columns:minmax(340px,.82fr) minmax(520px,1.18fr); gap:22px; align-items:stretch; }
  .nt-claim-context-card { min-height:420px; padding:30px; border-radius:30px; display:flex; flex-direction:column; }
  .nt-claim-context-return { margin-top:18px; }
  .nt-claim-context-steps { margin-top:auto; }
  .nt-claim-primary-card { min-height:420px; padding:36px 38px; border-radius:30px; display:flex; flex-direction:column; justify-content:center; }
  .nt-claim-primary-card h2 { font-size:calc(34px + var(--nt-km-font-boost, 0px)) !important; }
  .nt-claim-primary-card .nt-claim-actions { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:12px; }
  .nt-claim-primary-card .nt-claim-btn,
  .nt-claim-primary-card button[type="submit"] { min-width:0; }
  .nt-claim-benefits-strip { margin-top:22px; padding:24px 26px; display:grid; grid-template-columns:220px minmax(0,1fr); gap:26px; align-items:center; }
  .nt-claim-benefits { margin-top:0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .nt-claim-benefit,
  .claim-commerce-benefit,
  .seva-claim-benefit { min-height:112px; padding:14px; }
  .nt-claim-success-card { padding:42px; border-radius:30px; }
  .nt-claim-form { gap:15px; }
}

@media (min-width: 900px) and (max-width: 1080px) {
  .nt-claim-desktop-header-inner { grid-template-columns:175px minmax(0,1fr) 150px; gap:18px; }
  .nt-claim-desktop-links { gap:18px; }
  .nt-claim-desktop-links a { font-size:calc(13px + var(--nt-km-font-boost, 0px)); }
  .nt-claim-stage { grid-template-columns:minmax(300px,.78fr) minmax(450px,1.22fr); }
}

@media (max-width: 899px) {
  .nt-claim-desktop-header { display:none !important; }
}

@media (max-width: 480px) {
  .nt-claim-page,
  .claim-commerce-page,
  .seva-claim-page { padding:18px 13px 100px; }
  .nt-claim-context-card,
  .nt-claim-card,
  .nt-claim-benefits-strip { border-radius:23px; }
  .nt-claim-intro h1 { font-size:calc(36px + var(--nt-km-font-boost, 0px)) !important; }
  .nt-claim-primary-card .nt-claim-actions { grid-template-columns:1fr; }
}

/* ================================================================
   Correctif structurel — revendication commerce, cadre global desktop
   Réinitialise le shell Astra afin que le header et la page occupent
   réellement toute la largeur disponible. Aucune règle métier modifiée.
   ================================================================ */

body.page-template-page-revendication-commerce,
body.page-template-page-revendication-commerce-php {
  min-width: 0 !important;
}

body.page-template-page-revendication-commerce #content,
body.page-template-page-revendication-commerce-php #content,
body.page-template-page-revendication-commerce .site-content,
body.page-template-page-revendication-commerce-php .site-content,
body.page-template-page-revendication-commerce .site-content > .ast-container,
body.page-template-page-revendication-commerce-php .site-content > .ast-container,
body.page-template-page-revendication-commerce #primary,
body.page-template-page-revendication-commerce-php #primary,
body.page-template-page-revendication-commerce .content-area,
body.page-template-page-revendication-commerce-php .content-area,
body.page-template-page-revendication-commerce .site-main,
body.page-template-page-revendication-commerce-php .site-main,
body.page-template-page-revendication-commerce article,
body.page-template-page-revendication-commerce-php article,
body.page-template-page-revendication-commerce .entry-content,
body.page-template-page-revendication-commerce-php .entry-content {
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  inset: auto !important;
  transform: none !important;
}

body.page-template-page-revendication-commerce #secondary,
body.page-template-page-revendication-commerce-php #secondary,
body.page-template-page-revendication-commerce .widget-area,
body.page-template-page-revendication-commerce-php .widget-area,
body.page-template-page-revendication-commerce .sidebar-main,
body.page-template-page-revendication-commerce-php .sidebar-main {
  display: none !important;
}

body.page-template-page-revendication-commerce header.nt-claim-desktop-header,
body.page-template-page-revendication-commerce-php header.nt-claim-desktop-header,
body.page-template-page-revendication-commerce .nt-claim-page,
body.page-template-page-revendication-commerce-php .nt-claim-page {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

@media (min-width: 900px) {
  body.page-template-page-revendication-commerce header.nt-claim-desktop-header,
  body.page-template-page-revendication-commerce-php header.nt-claim-desktop-header {
    display: block !important;
    padding: 24px 32px 0 !important;
  }

  body.page-template-page-revendication-commerce .nt-claim-desktop-header-inner,
  body.page-template-page-revendication-commerce-php .nt-claim-desktop-header-inner {
    width: min(1240px, 100%) !important;
    min-height: 60px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(170px, 1fr) auto minmax(170px, 1fr) !important;
    align-items: center !important;
    column-gap: 30px !important;
  }

  body.page-template-page-revendication-commerce .nt-claim-desktop-brand,
  body.page-template-page-revendication-commerce-php .nt-claim-desktop-brand {
    justify-self: start !important;
  }

  body.page-template-page-revendication-commerce .nt-claim-desktop-brand img,
  body.page-template-page-revendication-commerce-php .nt-claim-desktop-brand img {
    width: 156px !important;
    max-width: 100% !important;
    height: auto !important;
  }

  body.page-template-page-revendication-commerce .nt-claim-desktop-links,
  body.page-template-page-revendication-commerce-php .nt-claim-desktop-links {
    justify-self: center !important;
    justify-content: center !important;
    gap: 28px !important;
    white-space: nowrap !important;
  }

  body.page-template-page-revendication-commerce .nt-claim-desktop-account,
  body.page-template-page-revendication-commerce-php .nt-claim-desktop-account {
    justify-self: end !important;
  }

  body.page-template-page-revendication-commerce .nt-claim-page,
  body.page-template-page-revendication-commerce-php .nt-claim-page {
    padding: 38px 32px 84px !important;
  }

  body.page-template-page-revendication-commerce .nt-claim-shell,
  body.page-template-page-revendication-commerce-php .nt-claim-shell {
    width: min(1240px, 100%) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
  }

  body.page-template-page-revendication-commerce .nt-claim-intro,
  body.page-template-page-revendication-commerce-php .nt-claim-intro {
    width: min(760px, 100%) !important;
    max-width: none !important;
    margin: 0 0 28px !important;
  }

  body.page-template-page-revendication-commerce .nt-claim-stage,
  body.page-template-page-revendication-commerce-php .nt-claim-stage {
    grid-template-columns: minmax(380px, .88fr) minmax(520px, 1.12fr) !important;
    gap: 24px !important;
  }
}

@media (min-width: 900px) and (max-width: 1120px) {
  body.page-template-page-revendication-commerce .nt-claim-desktop-header-inner,
  body.page-template-page-revendication-commerce-php .nt-claim-desktop-header-inner {
    grid-template-columns: 160px minmax(0, 1fr) 140px !important;
    column-gap: 18px !important;
  }

  body.page-template-page-revendication-commerce .nt-claim-desktop-links,
  body.page-template-page-revendication-commerce-php .nt-claim-desktop-links {
    gap: 17px !important;
  }

  body.page-template-page-revendication-commerce .nt-claim-desktop-links a,
  body.page-template-page-revendication-commerce-php .nt-claim-desktop-links a {
    font-size: calc(13px + var(--nt-km-font-boost, 0px)) !important;
  }
}

/* ================================================================
   Finition « Après validation » — hiérarchie et numérotation.
   Les bénéfices sont maintenant marqués 1, 2, 3.
   ================================================================ */
.nt-claim-benefits-intro h2 {
  font-size: calc(28px + var(--nt-km-font-boost, 0px));
  line-height: 1.02;
  letter-spacing: -.045em;
}

.nt-claim-benefit-icon,
.claim-commerce-benefit-icon,
.seva-claim-benefit-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(135deg, #2f79ef 0%, #215fd5 100%);
  box-shadow: 0 8px 16px rgba(33, 95, 213, .20);
  font-size: calc(16px + var(--nt-km-font-boost, 0px));
  line-height: 1;
  font-weight: 900;
}

.nt-claim-benefit,
.claim-commerce-benefit,
.seva-claim-benefit {
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 13px;
}

@media (min-width: 900px) {
  .nt-claim-benefits-intro h2 {
    font-size: calc(34px + var(--nt-km-font-boost, 0px));
    line-height: 1.02;
  }

  .nt-claim-benefit,
  .claim-commerce-benefit,
  .seva-claim-benefit {
    min-height: 124px;
    padding: 18px;
  }
}
