/* Page Intégrateur : compléments du style imagé partagé (execution-gap.css). */

/* LE METIER : les deux factures */
.ig-receipts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(var(--space-5), 4vw, var(--space-10)); width: min(960px, 100%); margin: var(--section-gap-media) auto 0; }
.ig-receipt { position: relative; overflow: hidden; padding: var(--space-6) var(--space-6) var(--space-5); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); background: var(--surface-raised); box-shadow: var(--shadow-2); }
.ig-receipt::before { position: absolute; top: 0; right: 0; left: 0; height: 6px; content: ""; }
.ig-receipt.is-exec { transform: rotate(-1.2deg); }
.ig-receipt.is-exec::before { background: var(--tension-300); }
.ig-receipt.is-archi { border: 2px solid var(--success-border); transform: rotate(1deg); }
.ig-receipt.is-archi::before { background: var(--croco-500); }
.ig-receipt__head { display: flex; align-items: center; gap: var(--space-4); padding-bottom: var(--space-4); border-bottom: 2px dashed var(--border-subtle); }
.ig-receipt__emoji { display: grid; width: 52px; height: 52px; place-items: center; border-radius: var(--radius-card); background: var(--sable-100); font-size: var(--heading-md); }
.ig-receipt.is-archi .ig-receipt__emoji { background: var(--success-surface); }
.ig-receipt__head strong { display: block; color: var(--text-strong); font-family: var(--font-display); font-size: var(--heading-md); font-weight: var(--weight-display-max); }
.ig-receipt__head small { color: var(--text-muted); font-family: var(--font-mono); font-size: var(--mono-xs); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.ig-receipt__lines { display: grid; gap: var(--space-3); margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.ig-receipt__lines li { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); color: var(--text-body); font-family: var(--font-mono); font-size: var(--mono-sm); }
.ig-receipt__lines b { flex: 0 0 auto; color: var(--text-muted); }
.ig-receipt.is-archi .ig-receipt__lines b { color: var(--success-text); }
.ig-receipt__total { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); max-width: none; margin: var(--space-5) 0 0; padding-top: var(--space-4); border-top: 2px solid var(--text-strong); color: var(--text-strong); font-family: var(--font-display); font-size: var(--heading-sm); font-weight: var(--weight-display-max); }
.ig-receipt__stamp { flex: 0 0 auto; padding: 4px 12px; border: 3px solid currentColor; border-radius: var(--radius-control); font-family: var(--font-mono); font-size: var(--mono-sm); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; opacity: .8; transform: rotate(-12deg); pointer-events: none; }
.ig-receipt.is-exec .ig-receipt__stamp { color: var(--danger-text); }
.ig-receipt.is-archi .ig-receipt__stamp { color: var(--success-text); }
.ig-receipt__tags { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.ig-receipt__tags li { padding: 5px 11px; border-radius: var(--radius-pill); font-size: var(--caption); font-weight: var(--weight-semibold); }
.ig-receipt.is-exec .ig-receipt__tags li { background: var(--danger-surface); color: var(--danger-text); }
.ig-receipt.is-archi .ig-receipt__tags li { background: var(--success-surface); color: var(--success-text); }

/* L'EXECUTION GAP : qui ferme quoi */
.ig-reach { display: grid; gap: var(--space-3); margin-top: var(--space-8); }
.ig-reach__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, .8fr) minmax(0, 1fr) minmax(150px, .8fr) minmax(0, 1fr); align-items: center; }
.ig-reach__who { grid-column: 1; color: var(--nuit-text-strong); font-family: var(--font-mono); font-size: var(--mono-xs); font-weight: var(--weight-semibold); text-transform: uppercase; }
.ig-reach__bar { display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 6px 14px; border-radius: var(--radius-pill); font-size: var(--caption); font-weight: var(--weight-bold); text-align: center; }
.ig-reach__row.is-exec .ig-reach__bar { grid-column: 4 / 6; border: 1px dashed color-mix(in srgb, var(--tension-300) 60%, transparent); background: color-mix(in srgb, var(--tension-300) 10%, transparent); color: var(--tension-300); }
.ig-reach__row.is-archi .ig-reach__bar { grid-column: 2 / 6; border: 1px solid color-mix(in srgb, var(--accent) 55%, transparent); background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); box-shadow: 0 0 28px color-mix(in srgb, var(--accent) 16%, transparent); }
.ig-punchline { max-width: 30ch; margin: var(--space-10) auto 0; color: var(--nuit-text-strong); font-family: var(--font-display); font-size: var(--heading-lg); font-weight: var(--weight-display-max); line-height: 1.2; text-align: center; text-wrap: balance; }
.ig-punchline em { color: var(--accent); font-style: normal; }

/* LA METHODE */
.ig-method { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--section-gap-media); }

/* EXEMPLE DE MISSION */
.ig-mission { display: grid; gap: var(--space-8); margin-top: var(--section-gap-media); }
.ig-story { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin: 0; padding: 0; list-style: none; }
.ig-story::before { position: absolute; top: 23px; right: 12%; left: 12%; height: 2px; content: ""; background: linear-gradient(90deg, var(--tension-300), var(--croco-500) 55%, var(--accent)); }
.ig-story li { position: relative; display: grid; align-content: start; justify-items: center; gap: var(--space-3); text-align: center; }
.ig-story__emoji { position: relative; z-index: 1; display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid color-mix(in srgb, var(--nuit-text-strong) 16%, transparent); border-radius: 50%; background: var(--marais-900); font-size: var(--heading-sm); }
.ig-story small { color: var(--croco-300); font-family: var(--font-mono); font-size: var(--mono-xs); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.ig-story p { max-width: 26ch; margin: var(--space-1) auto 0; color: var(--nuit-text-body); line-height: 1.5; }
.ig-story li:first-child p { color: var(--nuit-text-strong); font-family: var(--font-display); font-size: var(--heading-sm); font-weight: var(--weight-display-max); }
.ig-story li:last-child p { color: var(--accent); font-weight: var(--weight-semibold); }
.ig-roadmap { width: min(1080px, 100%); margin: 0 auto; overflow: hidden; border: 1px solid color-mix(in srgb, var(--nuit-text-strong) 16%, transparent); border-radius: var(--radius-card); background: var(--marais-900); box-shadow: 0 30px 80px color-mix(in srgb, var(--black) 50%, transparent), 0 0 40px color-mix(in srgb, var(--accent) 8%, transparent); }
.ig-roadmap__bar { display: flex; align-items: center; gap: var(--space-3); padding: 12px 16px; border-bottom: 1px solid color-mix(in srgb, var(--nuit-text-strong) 10%, transparent); color: var(--nuit-text-muted); font-family: var(--font-mono); font-size: var(--mono-xs); }
.ig-roadmap__bar span:not(.ig-roadmap__dots) { color: var(--croco-300); font-weight: var(--weight-semibold); }
.ig-roadmap__bar b { margin-left: auto; color: var(--nuit-text-strong); font-weight: var(--weight-semibold); }
.ig-roadmap__dots { display: inline-flex; gap: 6px; }
.ig-roadmap__dots i { width: 9px; height: 9px; border-radius: 50%; background: color-mix(in srgb, var(--nuit-text-strong) 22%, transparent); }
.ig-roadmap__zoom { display: block; cursor: zoom-in; }
.ig-roadmap img { display: block; width: 100%; height: auto; }
.ig-roadmap figcaption { padding: 12px 16px; border-top: 1px solid color-mix(in srgb, var(--nuit-text-strong) 10%, transparent); color: var(--nuit-text-muted); font-size: var(--caption); }

/* LE PARCOURS : l'escalier */
.ig-stairs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; gap: var(--space-4); margin: var(--section-gap-media) 0 0; padding: 0; list-style: none; }
.ig-stairs > li { display: grid; align-content: start; gap: var(--space-2); min-height: calc(200px + (var(--step) * 56px)); padding: var(--space-5); border: 1px solid var(--border-subtle); border-top: 6px solid var(--croco-500); border-radius: var(--radius-card) var(--radius-card) 0 0; background: var(--surface-raised); box-shadow: var(--shadow-1); }
.ig-stairs > li:last-child { border-top-color: var(--accent); background: linear-gradient(180deg, var(--success-surface), var(--surface-raised) 60%); }
.ig-stairs__emoji { font-size: var(--display-md); line-height: 1; }
.ig-stairs small { margin-top: var(--space-3); color: var(--brand-text); font-family: var(--font-mono); font-size: var(--mono-xs); text-transform: uppercase; }
.ig-stairs strong { color: var(--text-strong); font-family: var(--font-display); font-size: var(--heading-md); font-weight: var(--weight-display-max); }
.ig-stairs p { max-width: none; margin: 0; color: var(--text-muted); line-height: 1.5; }

/* TEMOIGNAGES : le mur */
.ig-testimonials { padding-top: 0; }
.ig-wall { columns: 3 300px; column-gap: var(--space-4); margin: var(--section-gap-media) 0 0; padding: 0; list-style: none; }
.ig-quote { display: grid; gap: var(--space-4); margin-bottom: var(--space-4); padding: var(--space-5); break-inside: avoid; border: 1px solid var(--border-subtle); border-radius: var(--radius-card); background: var(--surface-raised); box-shadow: var(--shadow-1); }
.ig-quote__result { width: fit-content; padding: 5px 11px; border-radius: var(--radius-pill); background: var(--success-surface); color: var(--success-text); font-family: var(--font-mono); font-size: var(--mono-xs); font-weight: var(--weight-semibold); }
.ig-quote blockquote { margin: 0; color: var(--text-strong); font-size: var(--body-md); line-height: 1.55; }
.ig-quote footer { display: flex; align-items: center; gap: var(--space-3); }
.ig-quote img, .ig-quote__initials { width: 44px; height: 44px; flex: 0 0 auto; border-radius: 50%; object-fit: cover; }
.ig-quote__initials { display: grid; place-items: center; background: var(--croco-100); color: var(--croco-900); font-family: var(--font-display); font-weight: var(--weight-display-max); }
.ig-quote footer strong { display: block; color: var(--text-strong); font-size: var(--body-sm); }
.ig-quote footer small { color: var(--text-muted); font-size: var(--caption); }

/* POUR QUI */
.ig-fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--section-gap-media); }
.ig-fit__card { padding: var(--space-8); border: 1px solid color-mix(in srgb, var(--nuit-text-strong) 12%, transparent); border-left-width: 4px; border-radius: var(--radius-card); background: var(--marais-900); }
.ig-fit__card.is-yes { border-left-color: var(--croco-500); }
.ig-fit__card.is-no { border-left-color: var(--danger-text); }
.ig-fit__card h3 { margin: 0; color: var(--nuit-text-strong); font-family: var(--font-display); font-size: var(--heading-md); line-height: var(--heading-md-lh); }
.ig-fit__card ul { display: grid; gap: var(--space-3); margin: var(--space-5) 0 0; padding: 0; list-style: none; }
.ig-fit__card li { position: relative; padding-left: 18px; color: var(--nuit-text-muted); line-height: 1.55; }
.ig-fit__card li::before { position: absolute; top: .72em; left: 0; width: 5px; height: 5px; content: ""; border-radius: 50%; background: currentColor; }
.ig-fit__card a { color: var(--croco-300); font-weight: var(--weight-semibold); }


/* FAQ */
.ig-faq { display: grid; gap: var(--space-3); width: min(800px, 100%); margin: var(--section-gap-media) auto 0; }
.ig-faq details { border: 1px solid color-mix(in srgb, var(--nuit-text-strong) 12%, transparent); border-radius: var(--radius-control); background: var(--marais-900); }
.ig-faq summary { position: relative; padding: 20px 56px 20px 22px; color: var(--nuit-text-strong); font-weight: var(--weight-bold); list-style: none; cursor: pointer; }
.ig-faq summary::-webkit-details-marker { display: none; }
.ig-faq summary::after { position: absolute; top: 50%; right: 22px; content: "+"; color: var(--croco-300); font-family: var(--font-display); font-size: var(--heading-md); transform: translateY(-50%); transition: transform var(--dur-snap) var(--ease-snap); }
.ig-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.ig-faq details p { max-width: none; margin: 0; padding: 0 22px 22px; color: var(--nuit-text-muted); line-height: 1.6; }


/* LE PARCOURS : livrables sous chaque marche */
.ig-stairs ul { display: grid; gap: 6px; margin: var(--space-3) 0 0; padding: 0; list-style: none; }
.ig-stairs ul li { position: relative; padding-left: 22px; color: var(--text-body); font-size: var(--body-sm); line-height: 1.4; }
.ig-stairs ul li::before { position: absolute; top: 0; left: 0; content: "✓"; color: var(--success-text); font-weight: var(--weight-bold); }

/* CE QUE TU REÇOIS */
.ig-included { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); margin: var(--section-gap-media) 0 0; padding: 0; list-style: none; }
.ig-included li { display: grid; align-content: start; gap: var(--space-2); padding: var(--space-5); border: 1px solid color-mix(in srgb, var(--nuit-text-strong) 12%, transparent); border-radius: var(--radius-card); background: var(--marais-900); }
.ig-included__emoji { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: var(--space-2); border: 1px solid color-mix(in srgb, var(--croco-300) 30%, transparent); border-radius: var(--radius-card); background: color-mix(in srgb, var(--croco-500) 12%, transparent); font-size: var(--heading-md); }
.ig-included strong { color: var(--nuit-text-strong); font-family: var(--font-display); font-size: var(--heading-sm); font-weight: var(--weight-display-max); line-height: 1.25; }
.ig-included p { max-width: none; margin: 0; color: var(--nuit-text-muted); font-size: var(--body-sm); line-height: 1.5; }

/* CANDIDATURE */
.ig-apply { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); width: min(860px, 100%); margin: var(--section-gap-media) auto 0; padding: 0; list-style: none; counter-reset: apply; }
.ig-apply li { position: relative; display: grid; justify-items: center; gap: var(--space-2); padding: var(--space-8) var(--space-6) var(--space-6); border: 1px solid var(--border-subtle); border-radius: var(--radius-card); background: var(--surface-raised); box-shadow: var(--shadow-1); text-align: center; }
.ig-apply__step { position: absolute; top: calc(-1 * var(--space-4)); left: 50%; display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--marais-950); color: var(--accent); font-family: var(--font-mono); font-size: var(--mono-sm); font-weight: var(--weight-semibold); transform: translateX(-50%); }
.ig-apply__emoji { font-size: var(--display-md); line-height: 1; }
.ig-apply strong { margin-top: var(--space-2); color: var(--text-strong); font-family: var(--font-display); font-size: var(--heading-md); font-weight: var(--weight-display-max); }
.ig-apply p { max-width: 34ch; margin: 0; color: var(--text-muted); line-height: 1.5; }
.ig-apply__link { display: inline-flex; align-items: center; gap: var(--space-2); margin-top: var(--space-2); color: var(--text-strong); font-weight: var(--weight-semibold); text-decoration: underline; text-underline-offset: 3px; }
.ig-apply__link svg, .ig-apply__link i { width: 16px; height: 16px; }
.ig-apply__cta { display: grid; justify-items: center; gap: var(--space-3); margin-top: var(--space-8); text-align: center; }
.ig-apply__cta p { max-width: none; margin: 0; color: var(--text-muted); font-size: var(--body-sm); }

/* CROCOTOOLS : section reprise de la page Accélérateur */
.acc-tools { --blend-cream: var(--sable-50); }
.acc-shell-wide { width: min(calc(100% - (2 * var(--grid-margin))), var(--container-wide)); margin-inline: auto; }
.acc-tools { background: var(--surface-page); }
.acc-tools-main {
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(var(--space-6), 4vw, var(--space-10));
  margin-top: var(--section-gap-media);
  padding: clamp(var(--space-6), 4vw, var(--space-10));
  border: 1px solid color-mix(in srgb, var(--croco-500) 24%, var(--border-default));
  border-radius: var(--radius-modal);
  background: var(--marais-950);
  align-items: center;
  box-shadow: 0 24px 64px -12px color-mix(in srgb, var(--black) 50%, transparent), inset 0 1px 0 color-mix(in srgb, var(--white) 6%, transparent);
}
.acc-tools-copy { align-self: center; }
.acc-tools-copy .acc-badge { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border: 1px solid color-mix(in srgb, var(--croco-300) 32%, transparent); border-radius: var(--radius-pill); background: color-mix(in srgb, var(--croco-500) 10%, transparent); color: var(--croco-300); font-family: var(--font-mono); font-size: var(--mono-xs); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.acc-tools-copy .acc-badge svg { color: currentColor; }
.acc-tools-copy h3 { max-width: 18ch; margin: var(--space-5) 0 0; color: var(--nuit-text-strong); font-family: var(--font-display); font-size: clamp(var(--heading-lg), 3vw, var(--display-md)); font-weight: 700; line-height: 1.05; letter-spacing: var(--tracking-display); }
.acc-tools-copy p { max-width: 46ch; margin: var(--space-4) 0 0; color: var(--nuit-text-muted); line-height: 1.6; font-size: var(--body-md); }

.acc-tools-feature-list {
  display: grid;
  gap: var(--space-4);
  margin-top: var(--space-6);
}
.acc-tools-feature-item {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}
.acc-tools-feature-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--croco-500) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--croco-500) 25%, transparent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--heading-sm);
  flex-shrink: 0;
}
.acc-tools-feature-content strong {
  display: block;
  color: var(--nuit-text-strong);
  font-family: var(--font-display);
  font-size: var(--body-md);
  font-weight: 700;
  line-height: 1.25;
}
.acc-tools-feature-content span {
  display: block;
  margin-top: 0.25rem;
  color: var(--nuit-text-muted);
  font-size: var(--body-sm);
  line-height: 1.45;
}

/* Fenêtre Live Preview CrocoTools */
.acc-tools-live-frame {
  border-radius: var(--radius-card);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--white) 12%, transparent);
  background: var(--black);
  box-shadow: 0 20px 60px color-mix(in srgb, var(--black) 60%, transparent);
  display: flex;
  flex-direction: column;
}
.acc-tools-live-header {
  padding: 0.85rem 1.25rem;
  background: var(--marais-950);
  border-bottom: 1px solid color-mix(in srgb, var(--white) 8%, transparent);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.acc-tools-live-title {
  font-family: var(--font-mono);
  font-size: var(--mono-xs);
  color: var(--croco-300);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.acc-tools-live-title::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--croco-500);
  box-shadow: 0 0 8px var(--croco-500);
}
.acc-tools-live-badge {
  font-family: var(--font-mono);
  font-size: var(--mono-xs);
  font-weight: var(--weight-semibold);
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background: color-mix(in srgb, var(--croco-500) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--croco-500) 30%, transparent);
  color: var(--croco-300);
}
.acc-tools-live-body {
  position: relative;
  width: 100%;
  background: var(--black);
  overflow: hidden;
}
.acc-tools-live-body img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.acc-bonus-head { display: flex; justify-content: space-between; gap: var(--space-5); align-items: end; margin-top: var(--space-12); }
.acc-bonus-head h3 { margin: 0; color: var(--text-strong); font-family: var(--font-display); font-size: var(--heading-lg); line-height: var(--heading-lg-lh); }
.acc-bonus-head p { max-width: 54ch; margin: 0; color: var(--text-muted); }
.acc-bonus-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-6); }
.acc-bonus-card { min-height: 920px; display: grid; grid-template-columns: 1fr; grid-template-rows: 320px minmax(0, 1fr); overflow: hidden; border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border-default)); border-radius: var(--radius-modal); background: var(--surface-card); box-shadow: var(--shadow-2); }
.acc-bonus-card__visual { display: grid; place-items: center; padding: clamp(var(--space-6), 4vw, var(--space-10)); background: var(--marais-950); color: var(--nuit-text-strong); text-align: center; }
.acc-bonus-card__visual img { width: min(340px, 86%); max-height: 96px; object-fit: contain; }
.acc-bonus-card__number { display: block; margin-top: var(--space-8); color: var(--accent); font-family: var(--font-display); font-size: clamp(var(--display-xl), 10vw, var(--display-2xl)); font-weight: var(--weight-display-max); letter-spacing: var(--tracking-display); line-height: .8; }
.acc-bonus-card__unit { display: block; margin-top: var(--space-6); color: var(--nuit-text-muted); font-family: var(--font-mono); font-size: var(--mono-sm); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.acc-bonus-card__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(var(--space-6), 5vw, var(--space-12)); background: var(--blend-cream); }
.acc-bonus-card__copy > small { color: var(--brand-text); font-family: var(--font-mono); font-size: var(--mono-sm); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.acc-bonus-card__copy h4 { margin: var(--space-5) 0 0; color: var(--text-strong); font-family: var(--font-display); font-size: var(--display-md); letter-spacing: var(--tracking-display); line-height: 1; }
.acc-bonus-card__copy > p { max-width: 54ch; margin: var(--space-5) 0 0; color: var(--text-muted); font-size: var(--body-lg); font-weight: var(--weight-semibold); line-height: 1.6; }
.acc-bonus-features { display: grid; gap: var(--space-4); margin: var(--space-8) 0 0; padding: 0; list-style: none; }
.acc-bonus-card.is-click .acc-bonus-card__copy > p { color: var(--marais-900); font-size: var(--body-md); }
.acc-bonus-features li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: var(--space-3); align-items: start; color: var(--encre-500); font-weight: var(--weight-semibold); }
.acc-bonus-features svg { width: 21px; height: 21px; margin-top: 2px; color: var(--brand-text); }
.acc-bonus-note { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--space-3); align-items: center; margin-top: var(--space-8); padding: var(--space-5); border: 1px dashed color-mix(in srgb, var(--accent) 58%, var(--border-default)); border-radius: var(--radius-control); background: color-mix(in srgb, var(--accent) 4%, var(--surface-card)); color: var(--text-body); }
.acc-bonus-note svg { width: 24px; height: 24px; color: var(--accent); }
.acc-bonus-note strong { color: var(--text-strong); }
.acc-bonus-card.is-club .acc-bonus-card__visual { background: linear-gradient(145deg, var(--marais-950), color-mix(in srgb, var(--accent) 10%, var(--marais-950))); }

/* Carousel SEC-017 réinjecté sous le bloc CrocoTools. */
.acc-croco-carousel { width: 100%; margin: var(--space-6) auto var(--space-12); overflow-x: auto; padding: var(--space-2) 0 var(--space-4); scrollbar-width: none; -ms-overflow-style: none; touch-action: pan-x; overscroll-behavior-inline: contain; }
.acc-croco-carousel::-webkit-scrollbar { display: none; width: 0; height: 0; }
.acc-croco-carousel .bc-bonus__track { gap: var(--space-4); padding-right: var(--space-4); }
.acc-croco-carousel .bc-bonus__track.is-marquee { animation-duration: 52s; }
.acc-croco-carousel .bc-bonus__track figure { width: min(76vw, 310px); margin: 0; }
.acc-carousel-shot {
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-card);
  background:
    radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--brand-solid) 10%, transparent), transparent 30%),
    var(--surface-raised);
  box-shadow: var(--shadow-2);
}
.acc-carousel-shot img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.acc-croco-carousel:active .bc-bonus__track { animation-play-state: paused; }
.acc-croco-carousel .bc-bonus__track figcaption { margin-top: var(--space-3); color: var(--text-muted); font-size: var(--body-sm); line-height: 1.4; }

@media (max-width: 980px) {
  .ig-reach__row { grid-template-columns: 110px minmax(0, 1fr); gap: var(--space-3); width: min(420px, 100%); margin-inline: auto; }
  .ig-reach__row.is-exec .ig-reach__bar, .ig-reach__row.is-archi .ig-reach__bar { grid-column: 2; }
  .ig-reach__row.is-exec .ig-reach__bar { width: 55%; justify-self: end; }
  .ig-method, .ig-stairs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ig-stairs > li { min-height: 0; }
  .ig-fit { grid-template-columns: 1fr; }
  .ig-included { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .acc-tools-main { grid-template-columns: 1fr; }
  .acc-bonus-grid { grid-template-columns: 1fr; }
  .acc-bonus-card { min-height: 0; grid-template-columns: 1fr; grid-template-rows: 320px auto; }
  .ig-story { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--space-6); }
  .ig-story::before { display: none; }
}
@media (max-width: 720px) {
  .ig-receipts, .ig-method, .ig-stairs { grid-template-columns: 1fr; }
  .ig-receipt.is-exec, .ig-receipt.is-archi { transform: none; }
  .ig-roadmap__bar b { display: none; }
  .ig-fit__card { padding: var(--space-6); }
  .ig-included, .ig-apply { grid-template-columns: 1fr; }
  .ig-included li { grid-template-columns: 44px minmax(0, 1fr); column-gap: var(--space-4); row-gap: 4px; padding: var(--space-4); }
  .ig-included__emoji { grid-row: span 2; width: 44px; height: 44px; margin-bottom: 0; }
  .ig-apply { row-gap: var(--space-8); }
  .acc-shell-wide { width: min(calc(100% - (2 * var(--space-4))), var(--container-wide)); }
  .acc-tools-gallery { min-height: 0; }
  .acc-bonus-head { align-items: flex-start; flex-direction: column; }
}
