/* Bornwiz Homepage Studio 1.5.30 : fins de page (accueil + pages services). Icônes Lucide (ISC). */
.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close {
  --bg: #f5f1e6; --panel: #fcfaf6; --art: #ebe5d6; --text: #1e1c1d; --text-2: #2c2830; --muted: #57505c;
  --line: rgba(30, 28, 29, .12); --line-strong: rgba(30, 28, 29, .24); --violet: #644cf4; --violet-text: #5035dc;
  --violet-soft: rgba(100, 76, 244, .11); --on-violet: #f5f1e6; --shadow: 0 1px 0 rgba(30, 28, 29, .06), 0 18px 40px -18px rgba(30, 28, 29, .28);
  background: var(--bg); color: var(--text);
  font: 400 17px/1.65 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html[data-theme="dark"] :is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) {
  --bg: #1e1c1d; --panel: #2c2830; --art: #252227; --text: #f5f1e6; --text-2: #ddd6d0; --muted: #c4bdb9;
  --line: rgba(245, 241, 230, .12); --line-strong: rgba(245, 241, 230, .24); --violet-text: #b9aaff;
  --violet-soft: rgba(185, 170, 255, .14); --shadow: 0 18px 40px -18px rgba(0, 0, 0, .6);
}
:is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) *, :is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) *::before, :is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) *::after { box-sizing: border-box; }
:is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) :where(h2, h3, p, ul, ol, li, figure, fieldset, legend) { margin: 0; padding: 0; border: 0; }
html body :is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) :is(ul, ol) { list-style: none !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
html body :is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) li { list-style: none !important; padding-left: 0; margin-left: 0; }
:is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) a { text-decoration: none; }
:is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
:is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) [hidden] { display: none !important; }
.bwz-i { width: 20px; height: 20px; flex: 0 0 auto; display: block; }
.bwz-shell { width: 100%; max-width: 1296px; margin: 0 auto; padding: 0 28px; }
.bwz-kicker { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 20px !important; font: 700 11.5px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--text-2); }
.bwz-kicker span { width: 7px; height: 7px; border-radius: 50%; background: var(--violet); box-shadow: 0 0 0 5px rgba(100, 76, 244, .14); }
html body :is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) h2 { color: var(--text) !important; font: 700 clamp(2.1rem, 3.6vw, 3.3rem)/1.03 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; letter-spacing: -.046em !important; max-width: 16ch; padding: 0 !important; }
html body :is(.bwz-steps, .bwz-quiz) h3 { color: var(--text) !important; font: 700 clamp(1.5rem, 2.2vw, 2rem)/1.1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important; letter-spacing: -.035em !important; padding: 0 !important; }
:is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) :focus-visible { outline: 2px solid var(--violet); outline-offset: 3px; }
html body :is(.bwz-steps__next, .bwz-check__cta, .bwz-quiz__cta) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 22px; border-radius: 13px; background: var(--violet); color: #fff !important; font-weight: 700; font-size: 15px; line-height: 1.2; transition: background-color .18s ease; }
html body :is(.bwz-steps__next, .bwz-check__cta, .bwz-quiz__cta):hover { background: #5035dc; }
.bwz-steps__next .bwz-i { width: 18px; height: 18px; }

/* ---------- Étapes ---------- */
.bwz-steps { padding: clamp(88px, 9vw, 120px) 0; border-top: 1px solid var(--line); }
.bwz-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.bwz-head__note { display: flex; align-items: center; gap: 10px; max-width: 34ch; font-weight: 600; line-height: 1.45; color: var(--text-2); }
.bwz-head__note .bwz-i { color: var(--violet-text); }
.bwz-steps__grid { display: grid; grid-template-columns: minmax(240px, 300px) minmax(0, 1fr); gap: 32px; margin-top: 48px; align-items: start; }
.bwz-steps:not(.is-ready) .bwz-steps__grid { grid-template-columns: minmax(0, 1fr); }
.bwz-steps__tabs { position: relative; display: grid; gap: 6px; }
.bwz-steps__tabs::before { content: ""; position: absolute; left: 37px; top: 30px; bottom: 30px; width: 1px; background: var(--line-strong); }
.bwz-steps__tab { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid transparent !important; border-radius: 16px; text-align: left; transition: background-color .18s ease, border-color .18s ease; }
.bwz-steps__tab:hover { background: var(--panel) !important; }
.bwz-steps__tab[aria-selected="true"] { background: var(--panel) !important; border-color: var(--line-strong) !important; box-shadow: var(--shadow); }
.bwz-steps__ico { grid-row: 1 / 3; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: var(--bg); border: 1px solid var(--line-strong); color: var(--violet-text); }
.bwz-steps__tab.is-done .bwz-steps__ico { background: linear-gradient(var(--violet-soft), var(--violet-soft)), var(--bg); border-color: transparent; }
.bwz-steps__tab[aria-selected="true"] .bwz-steps__ico { background: var(--violet); border-color: var(--violet); color: #fff; }
.bwz-steps__num { font: 700 11px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .12em; color: var(--muted); }
.bwz-steps__tab strong { font-size: 1.08rem; line-height: 1.25; color: var(--text); }
.bwz-steps__panels { display: grid; gap: 16px; }
.bwz-steps__panel { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 26px; background: var(--panel); box-shadow: var(--shadow); }
.bwz-steps__copy { display: flex; flex-direction: column; padding: 28px 24px 20px; }
.bwz-steps__count { font: 700 11.5px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--violet-text); margin-bottom: 14px !important; }
.bwz-steps__copy h3 + p { margin-top: 14px !important; color: var(--muted); }
.bwz-steps__nav { display: flex; align-items: center; gap: 18px; margin-top: auto; padding-top: 28px; }
.bwz-steps__bar { flex: 1 1 auto; height: 4px; border-radius: 4px; background: var(--line); overflow: hidden; }
.bwz-steps__bar i { display: block; height: 100%; border-radius: 4px; background: var(--violet); }
.bwz-steps:not(.is-ready) .bwz-steps__nav { display: none; }

/* ---------- Checklist ---------- */
.bwz-check { padding: clamp(88px, 9vw, 120px) 0; border-top: 1px solid var(--line); }
.bwz-check__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); gap: clamp(40px, 6vw, 80px); align-items: start; }
.bwz-check__intro { margin-top: 14px !important; color: var(--muted); }
.bwz-check__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 32px !important; }
.bwz-check__list label { position: relative; display: flex; align-items: flex-start; gap: 14px; height: 100%; padding: 18px; border: 1px solid var(--line-strong); border-radius: 16px; background: var(--panel); cursor: pointer; font-weight: 600; line-height: 1.4; transition: border-color .18s ease, background-color .18s ease; }
.bwz-check__list label:hover { border-color: var(--violet); }
.bwz-check__list input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bwz-check__box { display: grid; place-items: center; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 8px; border: 1.5px solid var(--line-strong); background: var(--bg); color: transparent; transition: background-color .15s ease, border-color .15s ease; }
.bwz-check__box .bwz-i { width: 16px; height: 16px; stroke-width: 2.4; }
.bwz-check__list input:checked + .bwz-check__box { background: var(--violet); border-color: var(--violet); color: #fff; }
.bwz-check__list label:has(input:checked) { border-color: var(--violet); background: var(--violet-soft); }
.bwz-check__list input:focus-visible + .bwz-check__box { outline: 2px solid var(--violet); outline-offset: 3px; }
.bwz-check__score { position: sticky; top: 110px; display: grid; justify-items: center; gap: 20px; padding: 34px 30px 30px; border: 1px solid var(--line); border-radius: 26px; background: var(--panel); box-shadow: var(--shadow); text-align: center; }
.bwz-check__ring { position: relative; width: 156px; height: 156px; }
.bwz-check__ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.bwz-check__ring circle { fill: none; stroke: var(--line); stroke-width: 10; }
.bwz-check__ring .bwz-check__arc { stroke: var(--violet); stroke-linecap: round; transition: stroke-dashoffset .4s ease; }
.bwz-check__ring p { position: absolute; inset: 0; display: grid; place-content: center; line-height: 1; }
.bwz-check__ring strong { font-size: 3rem; letter-spacing: -.04em; color: var(--text); }
.bwz-check__ring span { margin-top: 6px; font-size: .9rem; color: var(--muted); }
.bwz-check__msg { min-height: 3.2em; font-weight: 650; font-size: 1.08rem; line-height: 1.45; color: var(--text); }
.bwz-check__cta { width: 100%; }

/* ---------- Mini-diagnostic ---------- */
.bwz-quiz { padding: clamp(88px, 9vw, 120px) 0 0; border-top: 1px solid var(--line); }
.bwz-quiz__panel { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); border: 1px solid var(--line); border-radius: 30px; background: var(--panel); box-shadow: var(--shadow); overflow: hidden; }
.bwz-quiz__main { padding: clamp(32px, 4vw, 56px); }
.bwz-quiz__intro { margin-top: 14px !important; color: var(--muted); }
.bwz-quiz__progress { display: flex; gap: 8px; max-width: 240px; margin: 30px 0 28px !important; }
.bwz-quiz__progress li { flex: 1; height: 6px; border-radius: 6px; background: var(--line); transition: background-color .25s ease; }
.bwz-quiz__progress li.is-on { background: var(--violet); }
.bwz-quiz__q legend { display: block; width: 100%; font-size: clamp(1.35rem, 2vw, 1.7rem); font-weight: 700; letter-spacing: -.03em; line-height: 1.2; color: var(--text); }
.bwz-quiz__q legend span { display: block; margin-bottom: 8px; font: 700 11.5px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--violet-text); }
.bwz-quiz__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.bwz-quiz__opts label { position: relative; display: block; cursor: pointer; }
.bwz-quiz__opts input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bwz-quiz__opts label > span { display: flex; align-items: center; gap: 14px; height: 100%; padding: 16px; border: 1px solid var(--line-strong); border-radius: 16px; background: var(--bg); font-weight: 650; line-height: 1.3; transition: border-color .18s ease, background-color .18s ease; }
.bwz-quiz__opts label > span .bwz-i { box-sizing: content-box; padding: 10px; border-radius: 12px; background: var(--violet-soft); color: var(--violet-text); }
.bwz-quiz__opts label:hover > span { border-color: var(--violet); }
.bwz-quiz__opts input:checked + span { border-color: var(--violet); background: var(--violet-soft); }
.bwz-quiz__opts input:focus-visible + span { outline: 2px solid var(--violet); outline-offset: 3px; }
.bwz-quiz__back { margin-top: 20px; padding: 6px 0 !important; color: var(--muted) !important; font-size: .95rem; font-weight: 600; border-bottom: 1px solid var(--line-strong) !important; }
.bwz-quiz__result { outline: none; }
.bwz-quiz__result h3 + p { margin-top: 14px !important; color: var(--muted); max-width: 44ch; }
.bwz-quiz__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 28px; }
.bwz-quiz__page { color: var(--violet-text) !important; font-weight: 650; border-bottom: 1px solid currentColor; }
.bwz-quiz__reset { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; color: var(--muted) !important; font-size: .95rem; font-weight: 600; }
.bwz-quiz__reset .bwz-i { width: 16px; height: 16px; }
.bwz-quiz__visual { position: relative; min-height: 480px; background: var(--art); }
.bwz-quiz__view { position: absolute; inset: 0; display: grid; }
.bwz-quiz__view .bwz-art { border-radius: 0; min-height: 100%; }
@media (min-width: 981px) { .bwz-quiz__view .bwz-art:not(.bwz-art--portrait) > * { zoom: 1.15; } }

/* ---------- Questions + contact ---------- */
.bwz-close { padding: clamp(88px, 9vw, 120px) 0 clamp(56px, 6vw, 80px); border-top: 1px solid var(--line); }
.bwz-quiz + .bwz-close { border-top: 0; }
.bwz-close__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: clamp(40px, 6vw, 88px); align-items: start; }
.bwz-close__items { margin-top: 36px; border-top: 1px solid var(--line-strong); }
.bwz-close__items details { border-bottom: 1px solid var(--line-strong); }
.bwz-close__items summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; cursor: pointer; list-style: none; font-weight: 650; font-size: 1.08rem; line-height: 1.35; color: var(--text); }
.bwz-close__items summary::-webkit-details-marker { display: none; }
.bwz-close__items summary > span { flex: 0 0 auto; position: relative; width: 30px; height: 30px; border: 1px solid var(--line-strong); border-radius: 50%; font-size: 0 !important; }
.bwz-close__items summary > span::before, .bwz-close__items summary > span::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1.5px; background: var(--text); transform: translate(-50%, -50%); }
.bwz-close__items summary > span::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .2s ease; }
.bwz-close__items details[open] summary > span::after { transform: translate(-50%, -50%) rotate(0deg); }
.bwz-close__items summary:hover { color: var(--violet-text); }
.bwz-close__items details > p { padding: 0 54px 24px 0; color: var(--muted); max-width: 64ch; }
.bwz-close__card { position: sticky; top: 110px; padding: 28px 28px 24px; border-radius: 26px; background: var(--violet); color: var(--on-violet); outline: none; }
html body .bwz-close__card :is(h2, p, strong, small, span, a) { color: var(--on-violet) !important; }
html body .bwz-close .bwz-close__card h2 { margin-top: 24px !important; font-size: clamp(1.75rem, 2.3vw, 2.2rem) !important; max-width: none; }
.bwz-close__who { display: flex; align-items: center; gap: 14px; }
.bwz-close__who img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(245, 241, 230, .7); }
.bwz-close__who strong { display: block; font-size: 1.02rem; line-height: 1.25; }
.bwz-close__who span { font-size: .9rem; }
.bwz-close__copy { margin-top: 14px !important; line-height: 1.6; }
.bwz-close__cta { display: flex; align-items: center; justify-content: center; min-height: 52px; margin-top: 24px; padding: 0 22px; border-radius: 13px; background: #f5f1e6; color: #1e1c1d !important; font-weight: 700; font-size: 15px; transition: background-color .18s ease; }
html body .bwz-close__card .bwz-close__cta { color: #1e1c1d !important; }
.bwz-close__cta:hover { background: #fff; }
.bwz-close__card :focus-visible { outline: 2px solid #f5f1e6; outline-offset: 3px; }
.bwz-close__direct { margin-top: 22px !important; }
.bwz-close__direct a { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid rgba(245, 241, 230, .28); font-weight: 650; }
.bwz-close__direct a:hover > span:last-child { text-decoration: underline; text-underline-offset: 3px; }
.bwz-close__dico { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: rgba(245, 241, 230, .16); }
.bwz-close__dico .bwz-i { width: 19px; height: 19px; }
.bwz-close__direct small { display: block; font: 700 10.5px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; }
.bwz-close__rating { display: flex; align-items: center; gap: 10px; margin-top: 8px; padding-top: 16px; border-top: 1px solid rgba(245, 241, 230, .28); font-size: .92rem; font-weight: 600; }
.bwz-close__rating span { letter-spacing: .08em; }
.bwz-close__more { display: grid; grid-template-columns: auto repeat(var(--bwz-more, 2), minmax(0, 1fr)) auto; align-items: stretch; gap: 14px; margin-top: clamp(56px, 6vw, 80px); padding-top: 28px; border-top: 1px solid var(--line); }
.bwz-close__more-title { order: -1; align-self: center; padding-right: 10px; font: 700 11.5px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--text-2); }
.bwz-close__more a:not(.bwz-close__more-all) { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); transition: border-color .18s ease; }
.bwz-close__more a:not(.bwz-close__more-all):hover { border-color: var(--violet); }
.bwz-close__ico { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; background: var(--violet-soft); color: var(--violet-text); }
.bwz-close__more a > span:last-child { display: grid; gap: 3px; }
.bwz-close__more strong { color: var(--text); font-size: 1rem; line-height: 1.3; }
.bwz-close__more small { color: var(--muted); font-size: .86rem; line-height: 1.45; }
.bwz-close__more-all { order: 2; align-self: center; color: var(--violet-text) !important; font-weight: 650; border-bottom: 1px solid currentColor; white-space: nowrap; }

/* ---------- Mini-maquettes ---------- */
.bwz-art { position: relative; display: grid; place-items: center; min-height: 300px; padding: 28px; border-radius: 18px; background: var(--art); overflow: hidden; font-size: 14px; line-height: 1.35; color: var(--text); }
.bwz-art .bwz-i { width: 16px; height: 16px; }
.bwz-art__label { display: flex; align-items: center; gap: 8px; margin-bottom: 12px !important; font: 700 10.5px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--text-2); }
.bwz-art__label .bwz-i { color: var(--violet-text); }
:is(.bwz-art__note, .bwz-art__search, .bwz-art__reduce, .bwz-art__prio, .bwz-art__check, .bwz-art__track, .bwz-art__flow) { width: min(100%, 340px); padding: 20px; border-radius: 16px; background: var(--panel); box-shadow: var(--shadow); }
.bwz-art__note li, .bwz-art__check li { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--line); font-weight: 600; }
.bwz-art__note li > span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid var(--line-strong); flex: 0 0 auto; }
.bwz-art__note li.is-done > span { background: var(--violet); border-color: var(--violet); color: #fff; }
.bwz-art__tick { width: 13px !important; height: 13px !important; stroke-width: 2.6; }
.bwz-art__check li .bwz-art__tick { box-sizing: content-box; padding: 3px; border-radius: 50%; background: var(--violet); color: #fff; }
.bwz-art__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px !important; }
.bwz-art__chips span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: var(--violet-soft); color: var(--violet-text); font-size: 12.5px; font-weight: 650; }
.bwz-art__bar { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border: 1px solid var(--line-strong); border-radius: 999px; font-weight: 600; }
.bwz-art__bar .bwz-i { color: var(--violet-text); }
.bwz-art__local { display: flex; gap: 12px; margin-top: 14px; padding: 12px; border: 1px solid var(--violet); border-radius: 12px; background: var(--violet-soft); }
.bwz-art__pin { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--violet); color: #fff; flex: 0 0 auto; }
.bwz-art__local strong { display: block; }
.bwz-art__local small { display: block; color: var(--muted); font-size: 12.5px; }
html body .bwz-art .bwz-art__local .bwz-art__stars { color: #8a5a00 !important; letter-spacing: .08em; }
html[data-theme="dark"] body .bwz-art .bwz-art__local .bwz-art__stars { color: #f2c14e !important; }
.bwz-art__res { display: grid; gap: 6px; margin-top: 12px; }
.bwz-art__res i { display: block; height: 8px; border-radius: 4px; background: var(--line-strong); width: 82%; }
.bwz-art__res i + i { width: 58%; background: var(--line); }
.bwz-art__plan { display: grid; justify-items: center; width: min(100%, 420px); }
.bwz-art__node { position: relative; display: grid; justify-items: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--panel); font-weight: 650; box-shadow: var(--shadow); }
.bwz-art__node.is-root { margin-bottom: 26px !important; padding: 12px 22px; }
.bwz-art__node.is-root::after { content: ""; position: absolute; left: 50%; bottom: -27px; width: 1px; height: 26px; background: var(--line-strong); }
.bwz-art__branches { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: 100%; padding-top: 22px; align-items: start; }
.bwz-art__branches::before { content: ""; position: absolute; top: 0; left: 16.6%; right: 16.6%; height: 1px; background: var(--line-strong); }
.bwz-art__branches .bwz-art__node::before { content: ""; position: absolute; left: 50%; top: -23px; width: 1px; height: 22px; background: var(--line-strong); }
.bwz-art__node.is-key { border-color: var(--violet); }
.bwz-art__btn { display: inline-block; padding: 5px 10px; border-radius: 8px; background: var(--violet); color: #fff; font-size: 12px; font-weight: 700; white-space: nowrap; }
.bwz-art__reduce ol, .bwz-art__prio ol { display: grid; gap: 8px; }
.bwz-art__reduce li { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid var(--line-strong); border-radius: 10px; font-weight: 600; }
.bwz-art__reduce li.is-cut { border-style: dashed; color: var(--muted); text-decoration: line-through; text-decoration-color: var(--violet); text-decoration-thickness: 2px; }
.bwz-art__reduce li.is-tool { background: var(--violet); border-color: var(--violet); color: #fff; }
.bwz-art__prio li { display: grid; grid-template-columns: 28px 76px minmax(0, 1fr); align-items: center; gap: 10px; padding: 8px 0; border-top: 1px solid var(--line); font-weight: 600; }
.bwz-art__prio b { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--violet); color: #fff; font-size: 13px; }
.bwz-art__prio li:nth-child(2) b { background: var(--violet-soft); color: var(--violet-text); }
.bwz-art__prio li:nth-child(3) b { background: var(--line); color: var(--text); }
.bwz-art__prio i { display: block; height: 8px; border-radius: 4px; background: var(--violet); }
.bwz-art__prio li:nth-child(2) i { width: 70%; opacity: .55; }
.bwz-art__prio li:nth-child(3) i { width: 42%; background: var(--line-strong); }
.bwz-art__build { position: relative; width: min(100%, 460px); padding: 0 8% 8% 0; }
.bwz-art__browser { border: 1px solid var(--line-strong); border-radius: 12px; background: var(--panel); overflow: hidden; box-shadow: var(--shadow); }
.bwz-art__browser p { display: flex; gap: 6px; padding: 9px 12px; border-bottom: 1px solid var(--line); }
.bwz-art__browser p i { width: 8px; height: 8px; border-radius: 50%; background: var(--line-strong); }
.bwz-art__browser img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top center; }
.bwz-art__phone { position: absolute; right: 0; bottom: 0; width: 27%; aspect-ratio: 9 / 18; border: 5px solid #1e1c1d; border-radius: 20px; background: #1e1c1d; overflow: hidden; box-shadow: var(--shadow); }
.bwz-art__phone img { width: 100%; height: 100%; object-fit: cover; object-position: 18% top; border-radius: 14px; }
.bwz-art__badges { position: absolute; left: 12px; bottom: 0; display: grid; gap: 6px; }
.bwz-art__badges li, .bwz-art__chip { display: inline-flex; align-items: center; gap: 6px; width: max-content; padding: 6px 11px 6px 8px; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--panel); font-size: 12.5px; font-weight: 700; box-shadow: var(--shadow); }
.bwz-art__badges .bwz-art__tick { box-sizing: content-box; padding: 2px; border-radius: 50%; background: var(--violet); color: #fff; }
.bwz-art__chip { position: absolute; left: 14px; top: 46px; background: var(--violet); border-color: var(--violet); color: #fff; padding-left: 11px; }
.bwz-art__posts { display: flex; align-items: flex-end; gap: 16px; }
.bwz-art__post { width: 200px; padding: 12px; border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); }
.bwz-art__post > p { display: flex; align-items: center; gap: 8px; margin-bottom: 10px !important; font-size: 12.5px; font-weight: 700; }
.bwz-art__post > p span { width: 22px; height: 22px; border-radius: 50%; background: var(--violet); }
.bwz-art__visual { display: flex; align-items: flex-end; aspect-ratio: 1; padding: 14px; border-radius: 10px; background: var(--violet); }
.bwz-art__visual b { color: #fff; font-size: 17px; line-height: 1.1; letter-spacing: -.02em; }
.bwz-art__post > i { display: block; height: 7px; margin-top: 9px; border-radius: 4px; background: var(--line-strong); width: 86%; }
.bwz-art__post > i + i { width: 60%; background: var(--line); margin-top: 6px; }
.bwz-art__story { position: relative; width: 128px; aspect-ratio: 9 / 16; padding: 8px; border-radius: 16px; background: #1e1c1d; box-shadow: var(--shadow); }
.bwz-art__story .bwz-art__visual { aspect-ratio: auto; height: 100%; align-items: flex-start; background: #3a2fa0; }
.bwz-art__story .bwz-art__btn { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); background: #f5f1e6; color: #1e1c1d; }
.bwz-art__chain { display: flex; align-items: center; gap: 6px; }
.bwz-art__step { display: grid; justify-items: center; gap: 10px; width: 112px; padding: 16px 10px; border-radius: 14px; background: var(--panel); box-shadow: var(--shadow); text-align: center; font-size: 13px; font-weight: 650; }
.bwz-art__step .bwz-i { box-sizing: content-box; width: 20px; height: 20px; padding: 10px; border-radius: 12px; background: var(--violet-soft); color: var(--violet-text); }
.bwz-art__step:last-child .bwz-i { background: var(--violet); color: #fff; }
.bwz-art__dots { display: flex; gap: 4px; }
.bwz-art__dots i { width: 4px; height: 4px; border-radius: 50%; background: var(--violet); }
.bwz-art__row { display: grid; grid-template-columns: 118px minmax(0, 1fr); align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--line); font-weight: 600; }
.bwz-art__row svg { width: 100%; height: 30px; }
.bwz-art__row polyline { fill: none; stroke: var(--violet); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.bwz-art__legend { display: flex; justify-content: space-between; padding-left: 130px; font: 700 10.5px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.bwz-art__boxes { display: grid; gap: 10px; }
.bwz-art__boxes span { position: relative; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: 10px; font-weight: 650; }
.bwz-art__boxes span .bwz-i { color: var(--violet-text); }
.bwz-art__boxes span + span::before { content: ""; position: absolute; left: 20px; top: -11px; width: 1px; height: 10px; background: var(--violet); }
.bwz-art--portrait { padding: 0; place-items: stretch; }
.bwz-art__portrait { position: relative; margin: 0; height: 100%; min-height: 300px; }
.bwz-art__portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 16%; }
.bwz-art__portrait figcaption { position: absolute; left: 20px; right: 20px; bottom: 20px; padding: 14px 16px; border-radius: 14px; background: var(--panel); color: var(--text); font-size: 15px; font-weight: 650; box-shadow: var(--shadow); }

/* ---------- Mobile ---------- */
@media (max-width: 980px) {
  .bwz-shell { padding: 0 20px; }
  :is(.bwz-steps, .bwz-check, .bwz-close) { padding: 72px 0 56px; font-size: 16px; }
  .bwz-quiz { padding: 72px 0 0; font-size: 16px; }
  .bwz-head { display: block; }
  .bwz-head__note { margin-top: 22px !important; font-size: .95rem; }
  .bwz-steps__grid { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 32px; }
  .bwz-steps__tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; }
  .bwz-steps__tabs::before { left: 12.5%; right: 12.5%; top: 34px; bottom: auto; width: auto; height: 1px; }
  .bwz-steps__tab { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; justify-items: center; row-gap: 8px; padding: 10px 2px; text-align: center; }
  .bwz-steps__tab[aria-selected="true"] { box-shadow: none; }
  .bwz-steps__ico { grid-row: auto; }
  .bwz-steps__num { display: none; }
  .bwz-steps__tab strong { font-size: .82rem; }
  .bwz-steps__panel { grid-template-columns: minmax(0, 1fr); padding: 8px; border-radius: 22px; }
  .bwz-steps__copy { padding: 20px 14px 14px; }
  .bwz-art { min-height: 240px; padding: 20px; }
  .bwz-check__grid, .bwz-close__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .bwz-check__list { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 24px !important; }
  .bwz-check__list label { padding: 15px; }
  .bwz-check__score { position: static; grid-template-columns: 104px minmax(0, 1fr); justify-items: start; align-items: center; gap: 12px 18px; padding: 20px; text-align: left; }
  .bwz-check__ring { width: 104px; height: 104px; grid-row: 1 / 3; }
  .bwz-check__ring strong { font-size: 2.1rem; }
  .bwz-check__msg { min-height: 0; font-size: 1rem; }
  .bwz-check__cta { grid-column: 1 / -1; }
  .bwz-quiz__panel { grid-template-columns: minmax(0, 1fr); border-radius: 24px; }
  .bwz-quiz__visual { order: -1; min-height: 0; }
  .bwz-quiz__view { position: relative; inset: auto; }
  .bwz-quiz__view .bwz-art__portrait { min-height: 280px; }
  .bwz-quiz__view .bwz-art__portrait figcaption { left: 14px; right: 14px; bottom: 14px; }
  .bwz-quiz__main { padding: 26px 20px 28px; }
  .bwz-quiz__opts { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .bwz-quiz__opts label > span { padding: 12px 14px; }
  .bwz-close__card { position: static; padding: 24px 20px 20px; }
  .bwz-close__items details > p { padding-right: 0; }
  .bwz-close__more { grid-template-columns: minmax(0, 1fr); }
  .bwz-close__more-all { justify-self: start; margin-top: 6px; }
  .bwz-art__chain { transform: scale(.88); }
  .bwz-art__posts { transform: scale(.9); }
}
@media (prefers-reduced-motion: reduce) {
  :is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) * { transition: none !important; }
}
:is(.bwz-steps, .bwz-check, .bwz-quiz, .bwz-close) br { display: none !important; }

/* ---------- Visuels réels (1.5.30) : photo d'Antony, captures et photos des réalisations ---------- */
.bwz-photo { position: relative; display: flex; flex-direction: column; margin: 0; min-height: 320px; height: 100%; border-radius: 18px; overflow: hidden; background: var(--art); }
.bwz-photo figcaption { display: grid; gap: 2px; padding: 11px 14px; border-radius: 12px; background: var(--panel); box-shadow: var(--shadow); color: var(--muted); font-size: 13.5px; line-height: 1.4; }
html body .bwz-photo figcaption strong { color: var(--text) !important; font-size: 14px; font-weight: 700; }
html body .bwz-photo figcaption span { color: var(--muted) !important; }
/* Photo (personne, scène, affiche) : l'image remplit le cadre, la légende se pose dessus. */
.bwz-photo:not(.bwz-photo--screen) > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.bwz-photo--person > img { object-position: var(--bwz-pos, center 16%) !important; }
.bwz-photo--poster { background: #10131a; }
.bwz-photo--poster > img { object-fit: contain !important; object-position: center 30% !important; }
.bwz-photo:not(.bwz-photo--screen) figcaption { position: absolute; left: 14px; right: 14px; bottom: 14px; }
/* Capture d'écran : cadre de navigateur, image entière en largeur, légende dessous. */
.bwz-photo--screen { justify-content: center; gap: 12px; padding: 16px; }
.bwz-photo__frame { position: relative; flex: 0 0 auto; padding-top: 22px; border-radius: 12px; background: var(--panel); box-shadow: 0 0 0 1px var(--line), var(--shadow); overflow: hidden; }
.bwz-photo__frame::before { content: ""; position: absolute; left: 12px; top: 8px; width: 6px; height: 6px; border-radius: 50%; background: var(--line-strong); box-shadow: 10px 0 0 var(--line-strong), 20px 0 0 var(--line-strong); }
.bwz-photo__frame img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top left; }
.bwz-photo__duo { display: grid; grid-template-columns: minmax(0, 1fr) 27%; gap: 12px; align-items: end; }
.bwz-photo__duo .bwz-photo__frame img { aspect-ratio: 16 / 11; }
.bwz-photo__mob { display: block; width: 100%; aspect-ratio: 9 / 18; object-fit: cover; object-position: top center; border-radius: 16px; box-shadow: 0 0 0 4px #1e1c1d, var(--shadow); }
/* Étapes : tous les panneaux à la même hauteur, rien ne saute quand on change d'étape. */
.bwz-steps.is-ready .bwz-steps__panels { display: grid; }
.bwz-steps.is-ready .bwz-steps__panel { grid-area: 1 / 1; }
html body .bwz-steps.is-ready .bwz-steps__panel[hidden] { display: grid !important; visibility: hidden; pointer-events: none; }
.bwz-quiz__view .bwz-photo { border-radius: 0; min-height: 100%; }
.bwz-quiz__view .bwz-photo--screen { padding: 32px; }
.bwz-check__say { display: flex; align-items: flex-start; gap: 12px; width: 100%; text-align: left; }
.bwz-check__say img { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.bwz-check__say .bwz-check__msg { flex: 1 1 auto; }
@media (max-width: 980px) {
  .bwz-photo { min-height: 280px; }
  .bwz-photo--screen { padding: 12px; }
  .bwz-quiz__view .bwz-photo { min-height: 300px; }
  .bwz-quiz__view .bwz-photo--screen { padding: 18px; }
  .bwz-check__say img { width: 36px; height: 36px; }
}
