/* ProJuriste.fr — feuille de style du site et des documents */
:root {
	--navy: #122b4f;
	--navy-2: #1c3d6b;
	--navy-soft: #eef2f8;
	--gold: #b39361;
	--gold-dark: #7d6233;
	--gold-soft: #f7f1e6;
	--blue: #1f6feb;
	--blue-soft: #e8f0fe;
	--ink: #17202e;
	--muted: #556070;
	--line: #dde3ec;
	--bg: #f7f8fb;
	--white: #fff;
	--ok: #13795b;
	--warn: #9a5b00;
	--warn-bg: #fff6e6;
	--err: #b42318;
	--err-bg: #fdecea;
	--radius: 12px;
	--shadow: 0 1px 2px rgba(18, 43, 79, .06), 0 6px 24px rgba(18, 43, 79, .07);
	--side: 316px;
	--head: 68px;
	--f-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--f-title: "Montserrat", "Inter", system-ui, sans-serif;
	--f-doc: "EB Garamond", Garamond, Georgia, "Times New Roman", serif;
}

*, *::before, *::after { box-sizing: border-box; }
.pj [hidden] { display: none !important; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
html:has(body.pj) { overflow-x: clip; }
body.pj { overflow-x: clip; margin: 0; background: var(--bg); color: var(--ink); font: 400 16px/1.6 var(--f-ui); }
.pj a { color: var(--navy-2); }
.pj img { max-width: 100%; height: auto; }
.pj h1, .pj h2, .pj h3 { font-family: var(--f-title); color: var(--navy); line-height: 1.25; margin: 0 0 .5em; }
.pj h1 { font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.3rem); font-weight: 700; letter-spacing: -.01em; }
.pj h2 { font-size: clamp(1.25rem, 1rem + .8vw, 1.55rem); font-weight: 700; }
.pj h3 { font-size: 1.05rem; font-weight: 600; }
.pj-ico { width: 20px; height: 20px; flex: none; }
.pj-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pj-skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--navy); color: #fff !important; padding: 10px 16px; border-radius: 8px; }
.pj-skip:focus { left: 8px; }
.pj :focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; border-radius: 6px; }
.pj-lead { font-size: 1.08rem; color: var(--muted); max-width: 62ch; }

/* En-tête */
.pj-header { position: sticky; top: 0; z-index: 40; background: rgba(255, 255, 255, .96); backdrop-filter: saturate(1.4) blur(8px); border-bottom: 1px solid var(--line); }
.pj-header-in { height: var(--head); display: flex; align-items: center; gap: 24px; padding: 0 24px; max-width: 1480px; margin: 0 auto; }
.pj-logo { display: flex; align-items: center; flex: none; }
.pj-logo img { height: 40px; width: auto; display: block; }
.pj-nav { display: flex; gap: 4px; }
.pj-nav a { text-decoration: none; color: var(--ink); font-weight: 500; padding: 10px 14px; border-radius: 8px; min-height: 44px; display: inline-flex; align-items: center; }
.pj-nav a:hover, .pj-nav a[aria-current] { background: var(--navy-soft); color: var(--navy); }
.pj-menu-btn { display: none; }

/* Recherche */
.pj-search { position: relative; display: flex; align-items: center; }
.pj-search > .pj-ico { position: absolute; left: 14px; color: var(--muted); pointer-events: none; }
.pj-search input { width: 100%; min-height: 44px; padding: 10px 14px 10px 44px; border: 1px solid var(--line); border-radius: 999px; font: inherit; background: #fff; color: var(--ink); }
.pj-search input:focus { border-color: var(--navy-2); outline: none; box-shadow: 0 0 0 3px rgba(31, 111, 235, .18); }
.pj-search-header { margin-left: auto; width: min(380px, 34vw); }
.pj-search-big { max-width: 640px; margin: 22px 0 14px; }
.pj-search-big input { min-height: 56px; font-size: 1.05rem; box-shadow: var(--shadow); border-color: transparent; }
.pj-search-big > .pj-ico { left: 18px; width: 22px; height: 22px; }
.pj-search-big input { padding-left: 52px; }
.pj-search-res { position: absolute; top: calc(100% + 6px); left: 0; right: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); max-height: 60vh; overflow: auto; z-index: 50; padding: 6px; }
.pj-search-res a { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 8px; text-decoration: none; color: var(--ink); min-height: 44px; align-items: center; }
.pj-search-res a:hover, .pj-search-res a.is-active { background: var(--navy-soft); }
.pj-search-res small { color: var(--muted); white-space: nowrap; }
.pj-search-res p { margin: 8px 12px; color: var(--muted); }

/* Mise en page */
.pj-layout { display: grid; grid-template-columns: var(--side) minmax(0, 1fr); max-width: 1480px; margin: 0 auto; }
.pj-side { position: sticky; top: var(--head); height: calc(100vh - var(--head)); overflow-y: auto; border-right: 1px solid var(--line); background: #fff; padding: 16px 12px 40px; overscroll-behavior: contain; }
.pj-side-head { display: none; }
.pj-side-filter { position: relative; display: flex; align-items: center; margin: 0 4px 12px; }
.pj-side-filter .pj-ico { position: absolute; left: 12px; width: 18px; color: var(--muted); }
.pj-side-filter input { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px 8px 38px; font: inherit; font-size: .95rem; background: var(--bg); }
.pj-cat { border-radius: 10px; margin-bottom: 2px; }
.pj-cat summary { list-style: none; display: flex; align-items: center; gap: 10px; padding: 10px; min-height: 48px; border-radius: 10px; cursor: pointer; font-weight: 600; font-size: .93rem; color: var(--navy); line-height: 1.3; }
.pj-cat summary::-webkit-details-marker { display: none; }
.pj-cat summary:hover { background: var(--navy-soft); }
.pj-cat-ico { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; background: var(--gold-soft); color: var(--gold-dark); flex: none; }
.pj-cat-letter { color: var(--gold-dark); }
.pj-cat-name { flex: 1; }
.pj-cat-n { font-size: .78rem; font-weight: 600; color: var(--muted); background: var(--bg); border-radius: 999px; padding: 1px 8px; }
.pj-cat-chev .pj-ico { width: 16px; height: 16px; color: var(--muted); transition: transform .2s; }
.pj-cat[open] .pj-cat-chev .pj-ico { transform: rotate(90deg); }
.pj-cat ul { list-style: none; margin: 2px 0 10px; padding: 0 0 0 22px; border-left: 2px solid var(--gold-soft); margin-left: 26px; }
.pj-cat li a { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; padding: 8px 10px; border-radius: 8px; text-decoration: none; color: var(--ink); font-size: .9rem; line-height: 1.35; min-height: 40px; }
.pj-cat li a small { color: var(--muted); white-space: nowrap; font-size: .78rem; }
.pj-cat li a:hover { background: var(--navy-soft); color: var(--navy); }
.pj-cat li a[aria-current] { background: var(--navy); color: #fff; }
.pj-cat li a[aria-current] small { color: #d9e2f0; }
.pj-cat li[hidden] { display: none; }
.pj-main { min-width: 0; overflow-x: clip; padding: 28px clamp(16px, 3.5vw, 56px) 0; outline: none; }
.pj-main > * { max-width: 920px; }
.pj-main > .pj-footer { max-width: none; }

/* Accueil */
.pj-hero { padding: 36px 0 18px; }
.pj-kicker { text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 600; color: var(--gold-dark); margin: 0 0 10px; }
.pj-trust { display: flex; flex-wrap: wrap; gap: 8px 22px; list-style: none; padding: 0; margin: 6px 0 0; color: var(--muted); font-size: .95rem; }
.pj-trust li { display: flex; gap: 8px; align-items: center; }
.pj-trust .pj-ico { color: var(--ok); }
.pj-steps, .pj-home-cats, .pj-why { margin: 44px 0; }
.pj-steps ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pj-steps li { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; }
.pj-steps li > span { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--navy); color: #fff; font-weight: 700; margin-bottom: 10px; font-family: var(--f-title); }
.pj-steps li strong { display: block; color: var(--navy); }
.pj-steps li p { margin: 6px 0 0; color: var(--muted); font-size: .95rem; }
.pj-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.pj-grid-3 { grid-template-columns: repeat(3, 1fr); }
.pj-catcard { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; display: flex; flex-direction: column; }
.pj-catcard-h { display: flex; gap: 12px; align-items: center; margin-bottom: 8px; }
.pj-catcard h3 { margin: 0; font-size: 1rem; }
.pj-catcard small { color: var(--muted); }
.pj-catcard ul { margin: 6px 0 10px; padding-left: 18px; font-size: .93rem; }
.pj-catcard li { margin: 4px 0; }
.pj-catcard li a { color: var(--ink); text-decoration: none; }
.pj-catcard li a:hover { color: var(--navy-2); text-decoration: underline; }
.pj-more { margin-top: auto; display: inline-flex; align-items: center; gap: 4px; font-weight: 600; text-decoration: none; font-size: .93rem; min-height: 44px; }
.pj-more .pj-ico { width: 16px; }
.pj-why .pj-grid > div { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; }
.pj-why .pj-ico { color: var(--gold-dark); width: 26px; height: 26px; margin-bottom: 8px; }
.pj-why p { margin: 0; color: var(--muted); font-size: .95rem; }

/* Catalogue */
.pj-page-head { padding: 12px 0 8px; }
.pj-cat-block { margin: 30px 0; scroll-margin-top: calc(var(--head) + 16px); }
.pj-cat-block h2 { display: flex; align-items: center; gap: 12px; }
.pj-card { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; text-decoration: none; color: var(--ink); transition: border-color .15s, box-shadow .15s; }
.pj-card:hover { border-color: var(--navy-2); box-shadow: var(--shadow); }
.pj-card strong { color: var(--navy); font-family: var(--f-title); font-size: .98rem; }
.pj-card span { color: var(--muted); font-size: .9rem; }
.pj-card em { font-style: normal; color: var(--gold-dark); font-weight: 600; font-size: .85rem; margin-top: auto; }
.pj-card[hidden], .pj-cat-block[hidden] { display: none; }

/* Page document */
.pj-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: .88rem; color: var(--muted); margin-bottom: 14px; }
.pj-crumbs a { color: var(--muted); text-decoration: none; }
.pj-crumbs a:hover { text-decoration: underline; color: var(--navy); }
.pj-crumbs .pj-ico { width: 14px; height: 14px; }
.pj-badges { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 14px 0 0; }
.pj-badge { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px; font-size: .86rem; color: var(--muted); }
.pj-badge .pj-ico { width: 16px; height: 16px; }
.pj-badge-price { background: var(--navy); border-color: var(--navy); color: #fff; font-weight: 700; }
.pj-about { margin: 22px 0; display: grid; gap: 10px; }
.pj-about details { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 0 18px; }
.pj-about summary { cursor: pointer; font-weight: 600; color: var(--navy); padding: 14px 0; min-height: 48px; }
.pj-about details > p, .pj-about details > ul { margin: 0 0 16px; color: var(--ink); }
.pj-about ul { padding-left: 20px; }
.pj-about li { margin: 6px 0; }
.pj-before { border-left: 4px solid var(--gold) !important; }

/* Application formulaire */
.pj-app { background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); margin: 0 0 40px; overflow: visible; }
.pj-loading { padding: 40px; text-align: center; color: var(--muted); }
.pj-progress { padding: 20px 24px 0; }
.pj-progress-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.pj-progress-top strong { font-family: var(--f-title); color: var(--navy); }
.pj-progress-top span { color: var(--muted); font-size: .9rem; }
.pj-bar { height: 6px; background: var(--navy-soft); border-radius: 999px; margin: 10px 0 0; overflow: hidden; }
.pj-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--navy-2), var(--gold)); border-radius: 999px; transition: width .3s; }
.pj-stepnav { display: flex; gap: 6px; list-style: none; padding: 14px 24px 0; margin: 0; overflow-x: auto; scrollbar-width: thin; }
.pj-stepnav button { display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 12px 6px 6px; font: inherit; font-size: .85rem; color: var(--muted); cursor: pointer; white-space: nowrap; min-height: 40px; }
.pj-stepnav button b { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--navy-soft); color: var(--navy); font-size: .8rem; }
.pj-stepnav button[aria-current] { border-color: var(--navy); color: var(--navy); font-weight: 600; }
.pj-stepnav button[aria-current] b { background: var(--navy); color: #fff; }
.pj-stepnav button.is-done b { background: var(--ok); color: #fff; }
.pj-stepnav button:disabled { cursor: not-allowed; opacity: .55; }
.pj-help-legend { margin: 14px 24px 0; padding: 10px 14px; background: var(--blue-soft); color: #173a7a; border-radius: 10px; font-size: .9rem; display: flex; gap: 10px; align-items: center; }
.pj-help-legend .pj-star { pointer-events: none; }
.pj-stepbody { padding: 22px 24px 8px; }
.pj-stepbody > h2 { margin-bottom: 4px; }
.pj-step-intro { color: var(--muted); margin: 0 0 18px; }
.pj-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.pj-f { position: relative; grid-column: span 2; min-width: 0; }
.pj-f.is-half { grid-column: span 1; }
.pj-f[hidden] { display: none; }
.pj-f > label, .pj-f > .pj-legend { display: block; font-weight: 600; color: var(--ink); margin: 0 26px 6px 0; line-height: 1.4; }
.pj-opt { font-weight: 400; color: var(--muted); font-size: .88rem; }
.pj-input, .pj-f select, .pj-f textarea { width: 100%; min-height: 48px; padding: 11px 14px; border: 1.5px solid #c9d2df; border-radius: 10px; font: inherit; font-size: 16px; color: var(--ink); background: #fff; transition: border-color .15s, box-shadow .15s; max-width: 100%; min-width: 0; display: block; }
.pj-f input[type="date"] { -webkit-appearance: none; appearance: none; text-align: left; line-height: 1.3; }
.pj-f input[type="date"]::-webkit-date-and-time-value { text-align: left; }
.pj-f input[type="date"]::-webkit-calendar-picker-indicator { opacity: .6; }
.pj-f textarea { min-height: 110px; resize: vertical; line-height: 1.5; }
.pj-f select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23556070' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 18px; padding-right: 40px; }
.pj-input:hover, .pj-f select:hover, .pj-f textarea:hover { border-color: #9fb0c6; }
.pj-input:focus, .pj-f select:focus, .pj-f textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(31, 111, 235, .18); }
.pj-input::placeholder, .pj-f textarea::placeholder { color: #8a94a3; }
.pj-affix { position: relative; display: flex; }
.pj-affix .pj-input { padding-right: 44px; }
.pj-affix span { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--muted); font-weight: 600; pointer-events: none; }
.pj-f.is-error .pj-input, .pj-f.is-error select, .pj-f.is-error textarea { border-color: var(--err); }
.pj-err { color: var(--err); font-size: .88rem; margin: 6px 0 0; display: flex; gap: 6px; align-items: flex-start; }
.pj-err::before { content: "!"; display: inline-grid; place-items: center; flex: none; width: 18px; height: 18px; border-radius: 50%; background: var(--err); color: #fff; font-weight: 700; font-size: .75rem; margin-top: 2px; }
.pj-hint { color: var(--muted); font-size: .86rem; margin: 6px 0 0; }

/* Choix (radio / liste courte) en cartes */
.pj-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px; }
.pj-choice { position: relative; display: flex; gap: 10px; align-items: flex-start; border: 1.5px solid #c9d2df; border-radius: 10px; padding: 12px 14px; cursor: pointer; min-height: 48px; background: #fff; line-height: 1.4; transition: border-color .15s, background .15s; }
.pj-choice:hover { border-color: #9fb0c6; }
.pj-choice input { position: absolute; opacity: 0; pointer-events: none; }
.pj-choice i { flex: none; width: 20px; height: 20px; border: 2px solid #9fb0c6; border-radius: 50%; margin-top: 1px; display: grid; place-items: center; background: #fff; }
.pj-choice input:checked + i { border-color: var(--navy); }
.pj-choice input:checked + i::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--navy); }
.pj-choice:has(input:checked) { border-color: var(--navy); background: var(--navy-soft); }
.pj-choice input:focus-visible + i { outline: 3px solid var(--blue); outline-offset: 2px; }
.pj-check { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; padding: 12px 14px; border: 1.5px solid #c9d2df; border-radius: 10px; min-height: 48px; line-height: 1.45; margin-right: 26px; }
.pj-check:has(input:checked) { border-color: var(--navy); background: var(--navy-soft); }
.pj-check input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--navy); }
.pj-check span { font-weight: 500; }
.pj-info { grid-column: span 2; display: flex; gap: 10px; background: var(--gold-soft); border-left: 4px solid var(--gold); border-radius: 8px; padding: 12px 14px; color: #4a3a1c; font-size: .95rem; }
.pj-info[hidden] { display: none; }

/* Astérisque bleu d'aide (coin de chaque question) */
.pj-star { position: absolute; top: 2px; right: 2px; width: 18px; height: 18px; border: 0; border-radius: 50%; background: var(--blue-soft); color: var(--blue); cursor: help; display: inline-grid; place-items: center; padding: 0; transition: background .15s, color .15s, transform .15s; z-index: 2; }
.pj-star::before { content: ""; position: absolute; inset: -12px -2px -12px -14px; }
.pj-star svg { width: 10px; height: 10px; }
.pj-star:hover, .pj-star:focus-visible, .pj-star[aria-expanded="true"] { background: var(--blue); color: #fff; transform: scale(1.06); }
.pj-help-legend .pj-star { position: static; flex: none; }
.pj-tip { position: absolute; z-index: 60; max-width: min(340px, calc(100vw - 32px)); background: var(--navy); color: #fff; padding: 12px 14px; border-radius: 10px; font-size: .92rem; line-height: 1.5; box-shadow: 0 10px 30px rgba(18, 43, 79, .3); pointer-events: none; }
.pj-tip strong { display: block; color: #f3d9a8; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 4px; }
.pj-tip::after { content: ""; position: absolute; top: -6px; right: var(--arrow, 16px); border: 6px solid transparent; border-top: 0; border-bottom-color: var(--navy); }
.pj-tip.is-above::after { top: auto; bottom: -6px; border-bottom: 0; border-top: 6px solid var(--navy); }

/* Groupes répétables */
.pj-group { grid-column: span 2; position: relative; }
.pj-group-item { border: 1px solid var(--line); border-radius: 12px; padding: 16px; margin: 0 0 12px; background: #fbfcfe; }
.pj-group-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.pj-group-head h3 { margin: 0; font-size: 1rem; }
.pj-btn-link { background: none; border: 0; color: var(--err); font: inherit; font-size: .9rem; cursor: pointer; min-height: 44px; padding: 0 8px; border-radius: 8px; }
.pj-btn-link:hover { background: var(--err-bg); }
.pj-add { display: inline-flex; align-items: center; gap: 8px; border: 1.5px dashed #9fb0c6; background: #fff; color: var(--navy); font: inherit; font-weight: 600; padding: 10px 16px; border-radius: 10px; cursor: pointer; min-height: 48px; width: 100%; justify-content: center; }
.pj-add:hover { border-color: var(--navy); background: var(--navy-soft); }

/* Alertes */
.pj-alerts { display: grid; gap: 10px; margin: 18px 0 0; }
.pj-alert { display: flex; gap: 10px; border-radius: 10px; padding: 12px 14px; font-size: .95rem; line-height: 1.5; margin: 0; }
.pj-alert::before { flex: none; display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-weight: 700; font-size: .8rem; color: #fff; margin-top: 1px; }
.pj-alert-info { background: var(--blue-soft); color: #173a7a; }
.pj-alert-info::before { content: "i"; background: var(--blue); }
.pj-alert-attention { background: var(--warn-bg); color: #5c3700; }
.pj-alert-attention::before { content: "!"; background: var(--warn); }
.pj-alert-bloquant { background: var(--err-bg); color: #7a1610; border: 1px solid #f3b8b2; }
.pj-alert-bloquant::before { content: "✕"; background: var(--err); }

/* Boutons */
.pj-actions-nav { display: flex; justify-content: space-between; gap: 12px; padding: 18px 24px 24px; border-top: 1px solid var(--line); margin-top: 22px; flex-wrap: wrap; }
.pj-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 22px; border-radius: 10px; border: 1.5px solid transparent; font: 600 1rem var(--f-ui); cursor: pointer; text-decoration: none; transition: background .15s, border-color .15s, transform .1s; }
.pj-btn:active { transform: translateY(1px); }
.pj-btn:disabled { opacity: .6; cursor: progress; }
.pj-btn-primary { background: var(--navy); color: #fff; }
.pj-btn-primary:hover { background: var(--navy-2); }
.pj-btn-gold { background: var(--gold); color: #1d1608; }
.pj-btn-gold:hover { background: #c4a574; }
.pj-btn-ghost { background: #fff; color: var(--navy); border-color: #c9d2df; }
.pj-btn-ghost:hover { border-color: var(--navy); background: var(--navy-soft); }
.pj-saved { color: var(--muted); font-size: .85rem; align-self: center; display: flex; align-items: center; gap: 6px; }
.pj-saved .pj-ico { width: 16px; color: var(--ok); }

/* Récapitulatif et résultat */
.pj-recap { display: grid; gap: 12px; margin: 10px 0 0; }
.pj-recap section { border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; }
.pj-recap header { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 6px; }
.pj-recap h3 { margin: 0; }
.pj-recap dl { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 4px 14px; margin: 0; font-size: .93rem; }
.pj-recap dt { color: var(--muted); }
.pj-recap dd { margin: 0; word-break: break-word; white-space: pre-line; }
.pj-recap .pj-btn-edit { background: none; border: 0; color: var(--navy-2); font: inherit; font-weight: 600; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; min-height: 44px; padding: 0 8px; border-radius: 8px; }
.pj-recap .pj-btn-edit:hover { background: var(--navy-soft); }
.pj-recap .pj-btn-edit .pj-ico { width: 16px; }
.pj-final { margin: 22px 0 0; padding: 20px; border-radius: 14px; background: linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%); color: #fff; }
.pj-final h3 { color: #fff; margin: 0 0 4px; font-size: 1.15rem; }
.pj-final p { margin: 0 0 14px; color: #d9e2f0; font-size: .95rem; }
.pj-final-btns { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.pj-mailbox { margin: 12px 0 0; padding: 16px; border-radius: 12px; background: #fff; color: var(--ink); display: grid; gap: 10px; }
.pj-mailbox label { font-weight: 600; color: var(--navy); }
.pj-final .pj-mailbox .pj-mail-hint { margin: 0; color: var(--muted); font-size: .88rem; }
.pj-mail-btns { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.pj-final .pj-mailbox .pj-btn { flex-direction: row; padding: 10px 16px; }
.pj-final .pj-mailbox .pj-btn-ghost { background: #fff; color: var(--navy); border-color: var(--line); }
.pj-final .pj-btn-ghost { background: rgba(255, 255, 255, .08); color: #fff; border-color: rgba(255, 255, 255, .35); }
.pj-final .pj-btn-ghost:hover { background: rgba(255, 255, 255, .16); border-color: #fff; }
.pj-final .pj-btn small { display: block; font-weight: 400; font-size: .78rem; opacity: .85; }
.pj-final .pj-btn { flex-direction: column; gap: 2px; padding: 12px; }
.pj-final .pj-btn span { display: flex; align-items: center; gap: 8px; }
.pj-notice { margin: 18px 0 0; background: var(--gold-soft); border-radius: 12px; padding: 14px 18px; }
.pj-notice h3 { margin: 0 0 6px; }
.pj-notice p { margin: 6px 0; }
.pj-status { margin: 12px 0 0; font-size: .95rem; }

/* Modale d'aperçu */
.pj-modal { position: fixed; inset: 0; z-index: 90; background: rgba(10, 22, 40, .66); display: flex; align-items: center; justify-content: center; padding: 16px; }
.pj-modal[hidden] { display: none; }
.pj-modal-box { background: #e9edf3; border-radius: 16px; width: min(940px, 100%); max-height: calc(100vh - 32px); display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.pj-modal-head { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px 12px 22px; background: #fff; border-bottom: 1px solid var(--line); }
.pj-modal-head h2 { margin: 0; font-size: 1.1rem; }
.pj-modal-close { width: 44px; height: 44px; border: 0; background: none; border-radius: 10px; cursor: pointer; color: var(--ink); display: grid; place-items: center; }
.pj-modal-close:hover { background: var(--navy-soft); }
.pj-modal-body { overflow: auto; padding: 22px; -webkit-user-select: none; user-select: none; }
.pj-modal-foot { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; padding: 12px 16px; background: #fff; border-top: 1px solid var(--line); }
.pj-modal-foot:empty { display: none; }
body.pj-noscroll { overflow: hidden; }

/* Pied de page */
.pj-footer { margin: 50px 0 0; padding: 30px 0 30px; border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; }
.pj-footer-in { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.pj-footer-in img { height: 32px; width: auto; }
.pj-footer-in p { max-width: 42ch; }
.pj-footer nav { display: flex; flex-direction: column; gap: 2px; }
.pj-footer nav a { color: var(--ink); text-decoration: none; min-height: 36px; display: flex; align-items: center; }
.pj-footer nav a:hover { color: var(--navy); text-decoration: underline; }
.pj-disclaimer { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; font-size: .85rem; }
.pj-copy { font-size: .82rem; }
.pj-empty { padding: 20px; background: #fff; border-radius: var(--radius); border: 1px solid var(--line); }

/* Mobile et tablette */
.pj-side-overlay { position: fixed; inset: 0; background: rgba(10, 22, 40, .45); z-index: 44; }
@media (max-width: 1020px) {
	.pj-layout { grid-template-columns: minmax(0, 1fr); }
	.pj-side { position: fixed; top: 0; left: 0; bottom: 0; height: 100%; width: min(360px, 88vw); z-index: 45; transform: translateX(-102%); transition: transform .25s ease; box-shadow: 0 0 40px rgba(0, 0, 0, .2); padding-top: 8px; }
	.pj-side.is-open { transform: none; }
	.pj-side-head { display: flex; justify-content: space-between; align-items: center; padding: 6px 6px 10px 10px; font-family: var(--f-title); color: var(--navy); }
	.pj-side-close { width: 44px; height: 44px; border: 0; background: none; border-radius: 10px; display: grid; place-items: center; cursor: pointer; }
	.pj-menu-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--navy); font: 600 .92rem var(--f-ui); cursor: pointer; }
	.pj-nav { display: none; }
	.pj-header-in { gap: 12px; padding: 0 16px; }
	.pj-search-header { width: auto; flex: 1; max-width: 360px; }
}
@media (max-width: 720px) {
	:root { --head: 60px; }
	.pj-logo img { height: 32px; }
	.pj-search-header { display: none; }
	.pj-header-in { justify-content: space-between; }
	.pj-menu-btn { order: 2; }
	.pj-main { padding: 18px 16px 0; }
	.pj-steps ol, .pj-grid-3 { grid-template-columns: 1fr; }
	.pj-fields { grid-template-columns: 1fr; }
	.pj-f, .pj-f.is-half, .pj-info, .pj-group { grid-column: span 1; }
	.pj-progress, .pj-stepbody { padding-left: 16px; padding-right: 16px; }
	.pj-stepnav { padding-left: 16px; padding-right: 16px; }
	.pj-help-legend { margin-left: 16px; margin-right: 16px; }
	.pj-actions-nav { padding: 16px; }
	.pj-actions-nav .pj-btn { flex: 1; }
	.pj-final-btns { grid-template-columns: 1fr; }
	.pj-mail-btns .pj-btn { flex: 1; }
	.pj-recap dl { grid-template-columns: 1fr; }
	.pj-recap dd { margin-bottom: 6px; }
	.pj-modal { padding: 0; }
	.pj-modal-box { max-height: 100vh; height: 100%; border-radius: 0; }
	.pj-modal-body { padding: 10px; }
	.pjd { padding: 28px 20px !important; font-size: 15px !important; }
}

/* =====================================================================
 * Document généré (aperçu, PDF, impression) — présentation de cabinet
 * ================================================================== */
.pjd { font-family: var(--f-doc); font-size: 12pt; line-height: 1.5; color: #1b1b1b; background: #fff; padding: 72px 76px 80px; max-width: 794px; margin: 0 auto; text-align: justify; hyphens: auto; -webkit-hyphens: auto; font-variant-numeric: oldstyle-nums proportional-nums; font-kerning: normal; box-shadow: 0 2px 16px rgba(0, 0, 0, .12); }
.pjd h1 { font-family: var(--f-doc); font-size: 17pt; font-weight: 600; text-align: center; text-transform: uppercase; letter-spacing: .12em; color: #111; margin: 0 0 30px; padding: 0 0 16px; line-height: 1.3; border-bottom: 3px double #2b2b2b; }
.pjd h2 { font-family: var(--f-doc); font-size: 12.5pt; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: #111; margin: 30px 0 12px; text-align: center; break-after: avoid; page-break-after: avoid; }
.pjd h2::after { content: ""; display: block; width: 46px; height: 1px; background: #8a8a8a; margin: 8px auto 0; }
.pjd h3 { font-family: var(--f-doc); font-size: 12pt; font-weight: 700; font-variant: small-caps; letter-spacing: .03em; color: #111; margin: 20px 0 6px; text-align: left; break-after: avoid; page-break-after: avoid; }
.pjd h4 { font-family: var(--f-doc); font-size: 12pt; font-weight: 500; font-style: italic; color: #111; margin: 12px 0 4px; break-after: avoid; page-break-after: avoid; }
.pjd p { margin: 0 0 8pt; orphans: 3; widows: 3; }
.pjd strong { font-weight: 600; }
.pjd ul { margin: 0 0 9pt; padding-left: 0; list-style: none; }
.pjd li { margin: 3px 0; padding-left: 22px; position: relative; }
.pjd li::before { content: "–"; position: absolute; left: 6px; }
.pjd .pjd-break { height: 0; border-top: 1px solid #bdbdbd; margin: 22px 30%; }
.pjd p.pjd-right { margin: 0 0 3px 55%; text-align: left; }
.pjd p.pjd-right + p:not(.pjd-right) { margin-top: 14pt; }
.pjd .pjd-signs { display: flex; gap: 28px; margin-top: 30px; break-inside: avoid; page-break-inside: avoid; }
.pjd .pjd-sign { flex: 1; min-height: 130px; border: 1px solid #c9c9c9; padding: 10px 12px; }
.pjd .pjd-sign span { display: block; font-weight: 600; font-size: 11pt; margin-bottom: 2px; }
.pjd .pjd-sign span::after { content: "Signature précédée de la mention manuscrite « Lu et approuvé »"; display: block; font-weight: 400; font-style: italic; font-size: 9pt; color: #666; margin-top: 2px; }
.pjd .pjd-sign i { display: block; height: 70px; }
.pjd-lettre { text-align: left; }
.pjd-lettre p { text-align: justify; }
.pjd-lettre h1 { font-size: 12pt; text-align: center; letter-spacing: .14em; border-bottom: 1px solid #2b2b2b; padding-bottom: 10px; }
.pjd-lettre h1.pjd-title-letter { display: none; }
.pjd-lettre .pjd-signs { justify-content: flex-end; }
.pjd-lettre .pjd-sign { flex: 0 1 46%; border: 0; padding: 0; }
.pjd-lettre .pjd-sign span::after { content: none; }

/* Filigrane de l'aperçu : lignes diagonales répétées */
.pjd-preview { position: relative; overflow: hidden; max-width: 794px; margin: 0 auto; -webkit-user-select: none; user-select: none; }
.pjd-preview .pjd { box-shadow: 0 2px 16px rgba(0, 0, 0, .12); }
.pjd-wm { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; pointer-events: none; }
.pjd-wm-band { position: absolute; top: 0; left: 0; right: 0; z-index: 4; background: rgba(18, 43, 79, .92); color: #fff; text-align: center; font: 700 .8rem/1 var(--f-title); letter-spacing: .2em; padding: 8px; pointer-events: none; }

/* Conteneur PDF (html2pdf) */
.pjd-pdf .pjd { box-shadow: none; padding: 0; max-width: none; font-size: 11.5pt; }

@media print {
	body.pj > *:not(.pj-print) { display: none !important; }
	.pjd { box-shadow: none; padding: 0; max-width: none; }
	@page { size: A4; margin: 20mm 18mm; }
}

/* Barre d'administration WordPress (utilisateurs connectés) */
body.admin-bar .pj-header { top: 32px; }
body.admin-bar .pj-side { top: calc(var(--head) + 32px); height: calc(100vh - var(--head) - 32px); }
@media (max-width: 782px) { body.admin-bar .pj-header { top: 0; } }

/* =====================================================================
 * Accueil (version 2)
 * ================================================================== */
.pj-hero2 { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); gap: 36px; align-items: center; padding: 30px 0 10px; }
.pj-hero2 h1 { font-size: clamp(1.75rem, 1.1rem + 2.4vw, 2.7rem); line-height: 1.15; }
.pj-hero2 .pj-lead strong { color: var(--navy); white-space: nowrap; }
.pj-mock { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 18px 50px rgba(18, 43, 79, .14); padding: 20px; transform: rotate(1.2deg); }
.pj-mock-top { display: flex; justify-content: space-between; gap: 10px; font: 600 .95rem var(--f-title); color: var(--navy); }
.pj-mock-top b { background: var(--navy); color: #fff; border-radius: 999px; padding: 2px 10px; font-size: .85rem; }
.pj-mock-bar { height: 6px; background: var(--navy-soft); border-radius: 9px; margin: 14px 0 6px; overflow: hidden; }
.pj-mock-bar i { display: block; width: 60%; height: 100%; background: linear-gradient(90deg, var(--navy-2), var(--gold)); }
.pj-mock-step { margin: 0 0 12px; font-size: .82rem; color: var(--muted); }
.pj-mock-field { border: 1.5px solid #c9d2df; border-radius: 10px; padding: 8px 12px; margin-bottom: 10px; display: flex; flex-direction: column; }
.pj-mock-field em { font-style: normal; font-size: .75rem; color: var(--muted); }
.pj-mock-field span { font-weight: 600; }
.pj-mock-tip { background: var(--navy); color: #fff; border-radius: 10px; padding: 10px 12px; font-size: .82rem; line-height: 1.45; margin: 4px 0 12px; }
.pj-mock-tip strong { display: block; color: #f3d9a8; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.pj-mock-btn { background: var(--navy); color: #fff; text-align: center; border-radius: 10px; padding: 10px; font-weight: 600; font-size: .9rem; }
.pj-sec-head { max-width: 760px; margin-bottom: 16px; }
.pj-sec-head p { color: var(--muted); margin: 0; }
.pj-prices, .pj-popular, .pj-why2, .pj-home-guides, .pj-faq, .pj-cta-final { margin: 48px 0; }
.pj-price-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.pj-price-card { display: flex; flex-direction: column; gap: 6px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px; text-decoration: none; color: var(--ink); transition: border-color .15s, transform .15s; }
.pj-price-card:hover { border-color: var(--navy-2); transform: translateY(-2px); }
.pj-price-card strong { font: 600 .92rem/1.3 var(--f-title); color: var(--navy); }
.pj-price-card em { font-style: normal; color: var(--muted); font-size: .9rem; }
.pj-price-card em b { color: var(--navy); font-size: 1.35rem; font-family: var(--f-title); }
.pj-price-free em b { font-size: 1rem; color: var(--ok); }
.pj-why-cheap { margin: 16px 0 0; background: var(--gold-soft); border-left: 4px solid var(--gold); border-radius: 10px; padding: 14px 16px; }
.pj-price-tag { color: var(--navy); font-family: var(--f-title); }
.pj-why2 .pj-grid > div { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; }
.pj-why2 .pj-ico { color: var(--gold-dark); width: 26px; height: 26px; margin-bottom: 8px; }
.pj-why2 p { margin: 0; color: var(--muted); font-size: .95rem; }
.pj-faq details { background: #fff; border: 1px solid var(--line); border-radius: 12px; margin-bottom: 8px; padding: 0 18px; }
.pj-faq summary { cursor: pointer; font-weight: 600; color: var(--navy); padding: 14px 0; min-height: 48px; }
.pj-faq details p { margin: 0 0 16px; color: var(--ink); }
.pj-cta-final { background: linear-gradient(135deg, var(--navy), var(--navy-2)); color: #fff; border-radius: 18px; padding: 30px; text-align: center; }
.pj-cta-final h2 { color: #fff; }
.pj-cta-final p { color: #d9e2f0; }

/* =====================================================================
 * Pages légales
 * ================================================================== */
.pj-legal { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: clamp(20px, 4vw, 44px); margin-bottom: 30px; }
.pj-legal h2 { font-size: 1.15rem; margin-top: 28px; }
.pj-legal p, .pj-legal li { line-height: 1.7; }
.pj-legal-maj { color: var(--muted); font-size: .9rem; }
.pj-legal-box { border: 1px solid var(--line); background: var(--bg); border-radius: 10px; padding: 14px 18px; font-size: .95rem; }
.pj-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 12px 0 18px; }
.pj-table-wrap table { border-collapse: collapse; width: 100%; min-width: 560px; font-size: .92rem; }
.pj-table-wrap th, .pj-table-wrap td { border: 1px solid var(--line); padding: 9px 11px; text-align: left; vertical-align: top; }
.pj-table-wrap th { background: var(--navy-soft); color: var(--navy); }

/* =====================================================================
 * Guides
 * ================================================================== */
.pj-main > .pj-guide { max-width: 1180px; }
.pj-guide { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 36px; align-items: stretch; }
.pj-guide-main { min-width: 0; font-size: 1.04rem; }
.pj-guide-main p, .pj-guide-main li { line-height: 1.75; }
.pj-guide-meta { color: var(--muted); font-size: .9rem; }
.pj-guide-label { text-transform: uppercase; letter-spacing: .1em; font-size: .74rem; font-weight: 700; color: var(--gold-dark); margin: 0 0 6px; }
.pj-guide-answer { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--navy); border-radius: 12px; padding: 18px 20px; margin: 18px 0; }
.pj-guide-answer p:last-of-type { margin-bottom: 8px; }
.pj-guide-answer ul { margin: 0; padding-left: 20px; }
.pj-guide-sec { scroll-margin-top: calc(var(--head) + 14px); margin: 30px 0; }
.pj-guide-sec h2 { font-size: clamp(1.25rem, 1rem + .7vw, 1.5rem); }
.pj-guide-sec h3 { margin-top: 20px; }
.pj-guide-sec blockquote { border-left: 3px solid var(--gold); margin: 14px 0; padding: 4px 16px; color: #3b4656; font-style: italic; }
.pj-g-box { border-radius: 12px; padding: 14px 18px; margin: 16px 0; }
.pj-g-alert { background: var(--warn-bg); border: 1px solid #f2d39b; }
.pj-g-tip { background: var(--blue-soft); border: 1px solid #c8dafc; }
.pj-g-box > :last-child { margin-bottom: 0; }
.pj-g-steps ol { counter-reset: st; list-style: none; padding: 0; }
.pj-g-steps li { counter-increment: st; position: relative; padding: 2px 0 14px 48px; }
.pj-g-steps li::before { content: counter(st); position: absolute; left: 0; top: 0; width: 32px; height: 32px; border-radius: 50%; background: var(--navy); color: #fff; display: grid; place-items: center; font: 700 .9rem var(--f-title); }
.pj-cta-box { display: flex; gap: 18px; align-items: center; justify-content: space-between; background: linear-gradient(135deg, var(--navy), var(--navy-2)); color: #fff; border-radius: 16px; padding: 18px 20px; margin: 22px 0; }
.pj-cta-box strong { font: 700 1.05rem var(--f-title); }
.pj-cta-box p { margin: 4px 0; color: #d9e2f0; font-size: .95rem; }
.pj-cta-box .pj-guide-label { color: #f3d9a8; }
.pj-cta-meta { font-size: .85rem !important; }
.pj-cta-box .pj-btn { flex: none; }
.pj-guide-aside { position: relative; }
.pj-guide-sticky { position: sticky; top: calc(var(--head) + 16px); display: grid; gap: 14px; }
.pj-aside-cta { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 16px; box-shadow: var(--shadow); }
.pj-aside-cta strong { font-family: var(--f-title); color: var(--navy); }
.pj-aside-cta p { font-size: .9rem; color: var(--muted); }
.pj-aside-price { font: 700 1.3rem var(--f-title); color: var(--navy) !important; }
.pj-aside-price small { font: 400 .8rem var(--f-ui); color: var(--muted); }
.pj-aside-cta .pj-btn { width: 100%; }
.pj-toc { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; }
.pj-toc ol, .pj-toc-mobile ol { margin: 0; padding-left: 18px; font-size: .9rem; }
.pj-toc li { margin: 6px 0; }
.pj-toc a { color: var(--muted); text-decoration: none; }
.pj-toc a:hover, .pj-toc a.is-active { color: var(--navy); font-weight: 600; }
.pj-toc-mobile { display: none; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 0 16px; margin: 12px 0; }
.pj-toc-mobile summary { min-height: 48px; padding: 13px 0; font-weight: 600; color: var(--navy); cursor: pointer; }
.pj-toc-mobile ol { padding-bottom: 14px; }
.pj-guide-related, .pj-guide-sources { margin: 34px 0; }
.pj-guide-links li { margin: 6px 0; }
.pj-guide-sources ul { font-size: .92rem; }
.pj-guide-note { color: var(--muted); font-size: .88rem; }
.pj-sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 35; display: none; gap: 10px; align-items: center; justify-content: space-between; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -6px 20px rgba(18, 43, 79, .1); padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); font-size: .9rem; }
.pj-sticky-cta .pj-btn { min-height: 44px; padding: 8px 16px; }

/* Verrou téléchargement / impression */
.pj-btn.is-locked { opacity: .55; cursor: not-allowed; }
.pj-lock-note { margin: 10px 0 0; font-size: .9rem; color: #f3d9a8 !important; display: flex; gap: 8px; align-items: center; }
.pj-lock-note .pj-ico { width: 16px; height: 16px; }

@media (max-width: 1020px) {
	.pj-guide { grid-template-columns: minmax(0, 1fr); }
	.pj-guide-aside { display: none; }
	.pj-toc-mobile { display: block; }
	.pj-sticky-cta:not([hidden]) { display: flex; }
	.pj-hero2 { grid-template-columns: minmax(0, 1fr); }
	.pj-hero2-card { display: none; }
}
@media (max-width: 720px) {
	.pj-cta-box { flex-direction: column; align-items: stretch; }
	.pj-cta-box .pj-btn { width: 100%; }
	.pjd { padding: 30px 22px !important; font-size: 14px !important; }
	.pjd .pjd-signs { flex-direction: column; }
	.pjd p.pjd-right { margin-left: 30%; }
	.pj-f > label, .pj-f > .pj-legend { margin-right: 24px; }
}

/* Accueil : sélecteur de situation */
.pj-starter { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 18px 50px rgba(18, 43, 79, .12); padding: 20px; }
.pj-starter-title { font: 700 1.15rem/1.3 var(--f-title); color: var(--navy); margin: 0 0 4px; }
.pj-starter-sub { color: var(--muted); font-size: .92rem; margin: 0 0 14px; }
.pj-starter-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.pj-starter-tabs button { border: 1px solid var(--line); background: var(--bg); color: var(--ink); border-radius: 999px; padding: 7px 12px; font: 500 .85rem var(--f-ui); cursor: pointer; min-height: 36px; }
.pj-starter-tabs button:hover { border-color: var(--navy-2); }
.pj-starter-tabs button[aria-selected="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.pj-starter-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pj-starter-list a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; color: var(--ink); min-height: 52px; transition: border-color .15s, background .15s, transform .15s; }
.pj-starter-list a:hover, .pj-starter-list a:focus-visible { border-color: var(--navy-2); background: var(--navy-soft); transform: translateX(2px); }
.pj-starter-list a > span { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pj-starter-list strong { font-weight: 600; color: var(--navy); font-size: .95rem; }
.pj-starter-list small { color: var(--muted); font-size: .8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pj-starter-list em { font-style: normal; font-weight: 700; color: var(--navy); font-size: .88rem; white-space: nowrap; }
.pj-starter-list .pj-ico { width: 16px; color: var(--muted); }
.pj-starter-all { display: inline-flex; align-items: center; gap: 4px; margin-top: 12px; font-weight: 600; text-decoration: none; min-height: 40px; }
.pj-starter-all .pj-ico { width: 16px; }
@media (max-width: 1020px) { .pj-hero2-card { display: block !important; } }
.pj-hero2-card, .pj-starter, .pj-starter-list, .pj-starter-list li, .pj-starter-list a { min-width: 0; }
.pj-starter-list a { width: 100%; box-sizing: border-box; }
.pj-starter-list small { display: block; max-width: 100%; }

/* Commande et paiement */
.pj-checkout { margin-top: 14px; }
.pj-checkout-open { width: 100%; font-size: 1.05rem; }
.pj-checkout-form { background: #fff; color: var(--ink); border-radius: 14px; padding: 18px; display: grid; gap: 10px; }
.pj-checkout-form label { font-weight: 600; font-size: .92rem; color: var(--ink); }
.pj-co-title { font: 700 1rem var(--f-title); color: var(--navy) !important; margin: 0 !important; }
.pj-co-code { display: flex; gap: 8px; }
.pj-co-code .pj-input { flex: 1; }
.pj-co-apply { flex: none; min-height: 48px; }
.pj-co-msg { margin: 0 !important; font-size: .9rem; }
.pj-co-msg.is-ok { color: var(--ok) !important; }
.pj-co-msg.is-ko { color: var(--err) !important; }
.pj-co-check { display: flex; gap: 10px; align-items: flex-start; font-weight: 400 !important; line-height: 1.45; cursor: pointer; }
.pj-co-check input { width: 20px; height: 20px; flex: none; margin-top: 2px; accent-color: var(--navy); }
.pj-co-check a { color: var(--navy-2); }
.pj-co-total { margin: 4px 0 0 !important; color: var(--ink) !important; font-size: 1rem !important; }
.pj-co-err { color: var(--err) !important; margin: 0 !important; font-weight: 600; }
.pj-co-pay { width: 100%; }
.pj-co-secure { display: flex; gap: 8px; align-items: center; margin: 0 !important; font-size: .82rem !important; color: var(--muted) !important; }
.pj-co-secure .pj-ico, .pj-paid-note .pj-ico { width: 16px; height: 16px; }
.pj-paid-note { display: flex; gap: 8px; align-items: center; color: #b9f3d6 !important; font-size: .92rem; margin: 10px 0 0 !important; }
.pj-final .pj-checkout-form .pj-btn-ghost { background: #fff; color: var(--navy); border-color: #c9d2df; flex-direction: row; }
.pj-final .pj-checkout-form .pj-btn-ghost:hover { background: var(--navy-soft); border-color: var(--navy); }
.pj-final .pj-checkout-form .pj-btn { flex-direction: row; }
