/* ══════════════════════════════════════════════════════════════════
   GPTimmo Pro — pro.css
   Hérite TOUS les tokens du patron (calcul-plus-value-immobiliere.html).
   Ce fichier ajoute : tokens Pro/white-label + blocs .brand-panel +
   .pdf-* + .bento* + @media print.
   ══════════════════════════════════════════════════════════════════ */

/* ── Tokens — repris du patron + extensions Pro ── */
:root{
  /* surfaces */
  --bg:#FBFCFE;--bg-2:#F4F6FB;--surface:#FFFFFF;
  --line:#E6EAF2;--line-2:#D7DDEA;

  /* encre */
  --ink:#161A23;--ink-2:#414A5C;--ink-3:#6B7488;

  /* accent indigo (titres, CTA, focus) */
  --accent:#4658E8;--accent-ink:#2A38B4;--accent-50:#EEF1FE;--accent-100:#E0E5FD;

  /* statuts */
  --ok:#1A7F4B;--ok-50:#E8F6EE;

  /* radii */
  --radius:14px;--radius-sm:10px;--radius-lg:18px;--radius-pill:999px;

  /* typo */
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;

  /* ombres */
  --sh-xs:0 1px 2px rgba(22,26,35,.05);
  --sh-sm:0 1px 2px rgba(22,26,35,.05),0 2px 6px rgba(22,26,35,.05);
  --sh-md:0 2px 4px rgba(22,26,35,.05),0 8px 20px rgba(22,26,35,.07);

  /* ── Pro : or = signal premium (déco/bordures/icônes UNIQUEMENT, jamais texte pur) ── */
  --gold:#D4AF37;
  --gold-50:#FBF6E6;
  --gold-line:#EAD9A0;
  --gold-ink:#8A6D1B; /* usage texte doré : ~5:1 sur blanc — WCAG AA */

  /* ── White-label : pilote UNIQUEMENT .pdf-doc, pas le chrome GPTimmo ── */
  --brand-1:#4658E8;  /* couleur agence 1 — défaut indigo ; overridé par brand.js */
  --brand-2:#D4AF37;  /* couleur agence 2 — défaut or    ; overridé par brand.js */
  --brand-ink:#161A23;
}

/* ── Reset minimal ── */
*{box-sizing:border-box}
html,body{margin:0;font-family:var(--sans);color:var(--ink-2);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-.006em}
a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{color:var(--accent);text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}

/* ── Nav partagée ── */
.nav{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(140%) blur(8px)}
.nav-in{max-width:1040px;margin:0 auto;padding:13px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit;flex:1;min-width:0}
.brand:hover{text-decoration:none}
.brand .bname{font-weight:700;font-size:19px;color:var(--ink);line-height:1;letter-spacing:-.02em}
.brand .bname .cur{color:var(--gold-ink)}
.brand .by{display:block;font-size:11px;font-weight:500;color:var(--ink-3);margin-top:3px}
.back{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:600 13.5px var(--sans);border-radius:var(--radius-pill);padding:8px 15px;text-decoration:none;box-shadow:var(--sh-xs);transition:border-color .15s,box-shadow .15s,transform .15s,color .15s}
.back:hover{border-color:var(--accent-100);color:var(--accent-ink);box-shadow:var(--sh-sm);transform:translateY(-1px);text-decoration:none}
.btn-brand-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--gold-line);background:var(--gold-50);color:var(--gold-ink);font:600 13px var(--sans);border-radius:var(--radius-pill);padding:8px 15px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.btn-brand-toggle:hover{border-color:var(--gold);box-shadow:var(--sh-sm)}

/* ── Identité Pro (badge, filet) ── */
.tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;letter-spacing:.005em;color:var(--accent-ink);background:var(--accent-50);border:1px solid var(--accent-100);padding:6px 13px;border-radius:var(--radius-pill);margin-bottom:14px}
.tag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:0 0 auto}
.tag.pro{background:var(--gold-50);border-color:var(--gold-line);color:var(--gold-ink)}
.tag.pro .dot{background:var(--gold)}

/* ── Brand panel (panneau « Régler ma marque ») ── */
.brand-panel{background:var(--surface);border:1px solid var(--gold-line);border-top:3px solid var(--gold);border-radius:var(--radius-lg);padding:clamp(16px,2.5vw,24px);margin:0 0 22px;box-shadow:var(--sh-md);display:none}
.brand-panel.open{display:block;animation:fade .2s ease}
.brand-panel h2{font-size:15px;font-weight:700;color:var(--ink);margin:0 0 16px;letter-spacing:-.015em}
.bp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}
@media(max-width:560px){.bp-grid{grid-template-columns:1fr}}
.bp-fld{display:flex;flex-direction:column;gap:6px}
.bp-fld.full{grid-column:1 / -1}
.bp-fld label{font-size:13px;font-weight:600;color:var(--ink)}
.bp-fld .hint{font-size:11.5px;color:var(--ink-3);font-weight:400}
.bp-fld input[type=text],.bp-fld input[type=email],.bp-fld input[type=tel],.bp-fld input[type=url]{width:100%;font:500 14px var(--sans);color:var(--ink);background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:10px 13px;outline:none;transition:border-color .15s,box-shadow .15s}
.bp-fld input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-50);background:var(--surface)}

/* dropzone logo */
.bp-logo-zone{border:2px dashed var(--line-2);border-radius:var(--radius-sm);padding:16px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.bp-logo-zone:hover{border-color:var(--accent);background:var(--accent-50)}
.bp-logo-zone input[type=file]{display:none}
.bp-logo-preview{max-height:52px;max-width:160px;object-fit:contain;display:none;margin:0 auto 8px}
.bp-logo-preview.has-logo{display:block}
.bp-logo-zone .bp-logo-label{font-size:13px;color:var(--ink-3)}
.bp-logo-zone .bp-logo-label b{color:var(--ink);font-weight:600}
.bp-logo-error{font-size:12px;color:#C0392B;margin-top:6px;display:none}

/* color inputs */
.bp-colors{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.bp-color-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}
.bp-color-wrap label{font-size:11.5px;color:var(--ink-3);font-weight:600}
.bp-color-wrap input[type=color]{width:40px;height:40px;border:1px solid var(--line-2);border-radius:var(--radius-sm);cursor:pointer;padding:2px}

/* toggle "Propulsé par Vendrelibre" */
.bp-toggle-row{display:flex;align-items:center;gap:12px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px}
.bp-toggle-row .bp-tgl-label{font-size:13.5px;color:var(--ink);flex:1}
.bp-toggle-row .bp-tgl-label span{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}
.bp-switch{position:relative;display:inline-block;width:40px;height:22px;flex:0 0 auto}
.bp-switch input{opacity:0;width:0;height:0}
.bp-switch .slider{position:absolute;inset:0;background:var(--line-2);border-radius:var(--radius-pill);cursor:pointer;transition:background .2s}
.bp-switch .slider:before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.bp-switch input:checked + .slider{background:var(--accent)}
.bp-switch input:checked + .slider:before{transform:translateX(18px)}
.bp-switch input:focus-visible + .slider{outline:2px solid var(--accent);outline-offset:2px}

/* panel footer */
.bp-actions{display:flex;gap:10px;margin-top:16px;justify-content:flex-end}
.btn-bp-reset{font:600 13px var(--sans);color:var(--ink-3);background:none;border:1px solid var(--line-2);border-radius:var(--radius-pill);padding:8px 16px;cursor:pointer;transition:border-color .15s,color .15s}
.btn-bp-reset:hover{border-color:var(--ink-3);color:var(--ink)}
.btn-bp-save{font:600 13px var(--sans);color:#fff;background:var(--accent);border:0;border-radius:var(--radius-pill);padding:8px 18px;cursor:pointer;transition:background .15s}
.btn-bp-save:hover{background:var(--accent-ink)}

/* ── Layout 2 colonnes des pages-outils ── */
.tool-layout{max-width:1040px;margin:0 auto;padding:clamp(20px,3.5vw,40px) 22px clamp(40px,6vw,72px);display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
@media(max-width:720px){.tool-layout{grid-template-columns:1fr}}
.tool-col-form{min-width:0}
.tool-col-preview{min-width:0}

/* ── Formulaire (système patron) ── */
.calc{background:var(--surface);border:1px solid var(--line-2);border-top:3px solid var(--gold);border-radius:var(--radius-lg);padding:clamp(18px,3vw,28px);box-shadow:var(--sh-md)}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
@media(max-width:480px){.calc-grid{grid-template-columns:1fr}}
.fld{display:flex;flex-direction:column;gap:6px}
.fld.full{grid-column:1 / -1}
.fld label{font-size:13.5px;font-weight:600;color:var(--ink)}
.fld .hint{font-size:12px;color:var(--ink-3);font-weight:400}
.inp{position:relative;display:flex;align-items:center}
.inp input[type=number],.inp input[type=text]{width:100%;font:500 16px var(--sans);color:var(--ink);background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:11px 38px 11px 13px;outline:none;transition:border-color .15s,box-shadow .15s}
.inp input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-50);background:var(--surface)}
.inp .unit{position:absolute;right:13px;font-size:14px;font-weight:600;color:var(--ink-3);pointer-events:none}
.inp input::-webkit-outer-spin-button,.inp input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.inp input[type=number]{-moz-appearance:textfield}
select.sel{width:100%;font:500 15px var(--sans);color:var(--ink);background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:11px 13px;outline:none;cursor:pointer}
select.sel:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-50)}
.chk{display:flex;align-items:flex-start;gap:10px;background:var(--accent-50);border:1px solid var(--accent-100);border-radius:var(--radius-sm);padding:12px 14px;cursor:pointer}
.chk input{margin-top:2px;width:17px;height:17px;accent-color:var(--accent);flex:0 0 auto;cursor:pointer}
.chk .ct{font-size:13.5px;line-height:1.45;color:var(--ink)}
.chk .ct b{font-weight:600}
.chk .ct span{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}
.calc-btn{grid-column:1 / -1;margin-top:4px;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--accent);color:#fff;font:600 16px var(--sans);border:0;border-radius:var(--radius);padding:15px;cursor:pointer;box-shadow:0 6px 18px rgba(70,88,232,.22);transition:background .15s,transform .15s,box-shadow .15s}
.calc-btn:hover{background:var(--accent-ink);transform:translateY(-1px);box-shadow:0 10px 24px rgba(70,88,232,.28)}
.calc-btn:active{transform:translateY(0)}

/* résultats */
.res{margin-top:22px;border-top:1px dashed var(--line-2);padding-top:22px;display:none}
.res.show{display:block;animation:fade .3s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.res-head{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px}
.res-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;background:var(--accent-50);border:1px solid var(--accent-100);border-radius:var(--radius);padding:18px 20px;margin-bottom:8px}
.res-total .rt-lbl{font-size:14.5px;font-weight:600;color:var(--ink)}
.res-total .rt-val{font-size:clamp(28px,5vw,38px);font-weight:700;letter-spacing:-.02em;color:var(--accent-ink);line-height:1}
.res-total.exo{background:var(--ok-50);border-color:#BDE5CD}
.res-total.exo .rt-val{color:var(--ok)}
.res-sub{font-size:13.5px;color:var(--ink-2);margin:0 0 16px;padding:0 2px}
.res-sub b{color:var(--ink);font-weight:600}
.bd{list-style:none;padding:0;margin:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.bd li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;background:var(--surface);padding:11px 15px;font-size:14px}
.bd li .k{color:var(--ink-2)}.bd li .k small{color:var(--ink-3);font-size:12px}
.bd li .v{font-weight:600;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.bd li.neg .v{color:var(--ok)}
.bd li.tot{background:var(--bg-2)}.bd li.tot .k,.bd li.tot .v{font-weight:700;color:var(--ink)}

/* ── Export gate ── */
.export-gate{background:var(--surface);border:1px solid var(--gold-line);border-radius:var(--radius);padding:18px 20px;margin-top:22px;box-shadow:var(--sh-sm)}
.export-gate-lbl{font-size:13.5px;font-weight:600;color:var(--ink);margin:0 0 12px}
.export-email-row{display:flex;gap:8px;flex-wrap:wrap}
.export-email-row input[type=email]{flex:1;min-width:180px;font:500 14px var(--sans);color:var(--ink);background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:10px 14px;outline:none;transition:border-color .15s,box-shadow .15s}
.export-email-row input[type=email]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-50);background:var(--surface)}
.export-email-row input[type=email].err{border-color:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.12)}
.btn-export{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font:600 14px var(--sans);border:0;border-radius:var(--radius-sm);padding:10px 18px;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}
.btn-export:hover:not(:disabled){background:var(--accent-ink)}
.btn-export:disabled{opacity:.45;cursor:not-allowed}
.export-note{font-size:12px;color:var(--ink-3);margin-top:8px}
.export-ok{font-size:13px;color:var(--ok);font-weight:600;margin-top:8px;display:none}
.export-ok.show{display:block}

/* ── .pdf-doc — aperçu + impression ── */
.pdf-doc{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-lg);box-shadow:var(--sh-md);overflow:hidden;min-height:400px}
.pdf-head{background:var(--brand-1);padding:20px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.pdf-logo{max-height:48px;max-width:140px;object-fit:contain;display:none;border-radius:4px}
.pdf-logo.has-logo{display:block}
.pdf-agency{color:#fff;flex:1;min-width:0}
.pdf-agency .ag-name{font-weight:700;font-size:16px;letter-spacing:-.01em;line-height:1.2}
.pdf-agency .ag-contact{font-size:12.5px;opacity:.85;margin-top:3px}
.pdf-body{padding:20px 24px}
.pdf-body h3{font-size:14px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--brand-1);margin:0 0 12px;border-bottom:1px solid var(--line);padding-bottom:8px}
.pdf-body .pdf-section{margin-bottom:16px}
.pdf-bd{list-style:none;padding:0;margin:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}
.pdf-bd li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:var(--surface);padding:9px 13px;font-size:13.5px}
.pdf-bd li .k{color:var(--ink-2)}.pdf-bd li .k small{color:var(--ink-3);font-size:11.5px}
.pdf-bd li .v{font-weight:600;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.pdf-bd li.neg .v{color:var(--ok)}
.pdf-bd li.tot{background:var(--bg-2)}.pdf-bd li.tot .k,.pdf-bd li.tot .v{font-weight:700;color:var(--ink)}
.pdf-net{display:flex;align-items:baseline;gap:10px;background:color-mix(in srgb,var(--brand-1) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--brand-1) 22%,var(--surface));border-radius:var(--radius-sm);padding:14px 16px;margin-top:12px}
.pdf-net .lbl{font-size:14px;font-weight:600;color:var(--ink)}
.pdf-net .val{font-size:clamp(22px,4vw,30px);font-weight:700;letter-spacing:-.02em;color:var(--brand-1);line-height:1}
.pdf-note{font-size:11.5px;color:var(--ink-3);line-height:1.55;margin-top:14px;padding:10px 12px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-sm)}
.pdf-cta{margin-top:14px;padding:10px 12px;background:var(--accent-50);border:1px solid var(--accent-100);border-radius:var(--radius-sm);font-size:12.5px;color:var(--ink-2)}
.pdf-cta a{color:var(--accent-ink)}
.pdf-foot{font-size:11px;color:var(--ink-3);border-top:1px solid var(--line);padding:10px 24px;text-align:center}

/* fiche de bien */
.pdf-bien-photo{width:100%;max-height:180px;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:14px;display:none}
.pdf-bien-photo.has-photo{display:block}
.pdf-bien-price{font-size:clamp(22px,4vw,30px);font-weight:700;letter-spacing:-.02em;color:var(--brand-1);margin:0 0 8px;line-height:1}
.pdf-bien-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:12px}
.pdf-bien-chip{font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-pill);padding:4px 10px}
.dpe-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:700;border:1px solid transparent}
.dpe-A{background:#009e32;color:#fff} .dpe-B{background:#50be5a;color:#fff}
.dpe-C{background:#97d436;color:#161A23} .dpe-D{background:#fbca00;color:#161A23}
.dpe-E{background:#f08600;color:#fff} .dpe-F{background:#e0220d;color:#fff}
.dpe-G{background:#8c0012;color:#fff}
.pdf-bien-points{margin:8px 0 12px;padding-left:1.2em}
.pdf-bien-points li{font-size:13.5px;color:var(--ink-2);margin:4px 0;line-height:1.45}
.pdf-bien-desc{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin:0}

/* ── Bento landing ── */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:720px){.bento{grid-template-columns:1fr}}
.bento-lg{grid-column:span 2;grid-row:span 2}
@media(max-width:720px){.bento-lg{grid-column:1}}
.card{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-lg);padding:clamp(18px,2.5vw,26px);box-shadow:var(--sh-sm);transition:box-shadow .2s,transform .2s}
.card.active{border-top:3px solid var(--gold)}
.card:hover:not(.soon){box-shadow:var(--sh-md);transform:translateY(-2px)}
.card.soon{opacity:.6;cursor:default;filter:grayscale(.4)}
.card a{text-decoration:none;color:inherit;display:block}
.card-icon{font-size:26px;margin-bottom:12px}
.card h3{font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0 0 8px}
.card p{font-size:14px;line-height:1.55;color:var(--ink-2);margin:0}

/* ── Page outil — titres ── */
main.tool-main{max-width:1040px;margin:0 auto;padding:clamp(20px,3.5vw,36px) 22px 0}
h1.tool-h1{font-weight:700;font-size:clamp(23px,3.5vw,34px);line-height:1.12;letter-spacing:-.026em;color:var(--ink);margin:0 0 10px}
.tool-lede{font-size:15px;line-height:1.6;color:var(--ink-2);margin:0 0 20px;max-width:58ch}

/* ── Footer ── */
footer.site{border-top:1px solid var(--line);background:var(--bg);margin-top:36px}
.foot-in{max-width:1040px;margin:0 auto;padding:24px 22px;display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;justify-content:space-between}
.foot-powered{font-size:13px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:9px}
.foot-powered .gm{width:22px;height:22px;border-radius:6px;background:var(--accent);display:grid;place-items:center;flex:0 0 auto}
.foot-meta{font-size:12px;color:var(--ink-3);line-height:1.5}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12.5px}
.foot-links a{color:var(--ink-3);text-decoration:none}
.foot-links a:hover{color:var(--accent-ink);text-decoration:underline}

/* ── Utilitaires ── */
.gi-dot{fill:var(--gold)}

/* ── Blocs SEO (answer / sources / legal) — portés depuis q/ pages
   Scopés HORS .pdf-doc pour ne pas polluer l'impression.
   Utilisés sur les pages-outils Pro sous .tool-layout (avant footer.site). ── */
.tool-seo{max-width:1040px;margin:0 auto;padding:clamp(24px,4vw,48px) 22px clamp(40px,6vw,72px)}
.tool-seo .answer h2{font-weight:700;font-size:clamp(19px,2.6vw,23px);letter-spacing:-.022em;color:var(--ink);margin:34px 0 12px}
.tool-seo .answer h2:first-child{margin-top:0}
.tool-seo .answer h3{font-weight:600;font-size:17px;letter-spacing:-.015em;color:var(--ink);margin:22px 0 8px}
.tool-seo .answer p,.tool-seo .answer li{font-size:16px;line-height:1.68;color:var(--ink-2)}
.tool-seo .answer ul,.tool-seo .answer ol{padding-left:1.3em;margin:8px 0 14px}
.tool-seo .answer li{margin:6px 0}
.tool-seo .answer strong{color:var(--ink);font-weight:600}
.tool-seo .answer blockquote{margin:16px 0;padding:12px 18px;border-left:3px solid var(--accent-100);background:var(--bg-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-2);font-size:15px;line-height:1.6}
.tool-seo .faq-list{display:grid;gap:12px;margin:16px 0}
.tool-seo .faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--sh-xs)}
.tool-seo .faq-item strong{display:block;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:6px}
.tool-seo .faq-item p{font-size:14.5px;line-height:1.6;color:var(--ink-2);margin:0}
.tool-seo .sources{margin:28px 0 0}
.tool-seo .sources h2{font-weight:700;font-size:clamp(19px,2.6vw,23px);letter-spacing:-.022em;color:var(--ink);margin:0 0 12px}
.tool-seo .sources ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.tool-seo .sources li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:13px 16px;font-size:14.5px;line-height:1.5;box-shadow:var(--sh-xs)}
.tool-seo .sources li .src-pub{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-50);border:1px solid var(--accent-100);padding:2px 8px;border-radius:var(--radius-pill);margin-right:8px}
.tool-seo .sources li .src-date{font-size:12px;color:var(--ink-3);margin-left:6px}
.tool-seo .sources li a{font-weight:500;color:var(--ink)}
.tool-seo .legal{margin:24px 0 0}
.tool-seo .legal .box{display:flex;gap:12px;align-items:flex-start;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:15px 17px}
.tool-seo .legal .box svg{color:var(--ink-3);flex:0 0 auto;margin-top:1px}
.tool-seo .legal .box p{margin:0;font-size:13.5px;line-height:1.55;color:var(--ink-2)}
.tool-seo .legal .box strong{color:var(--ink);font-weight:600}
.tool-seo .cta-bridge{display:flex;justify-content:center;margin:28px 0}
.tool-seo .cta-bridge a{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#fff;font:600 15px var(--sans);text-decoration:none;border-radius:var(--radius);padding:14px 22px;box-shadow:0 6px 18px rgba(70,88,232,.22)}
.tool-seo .cta-bridge a:hover{background:var(--accent-ink);color:#fff;text-decoration:none}

/* ── Motion guard ── */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* ── Landing /pro ─────────────────────────────────────────────── */

/* Hero */
.lp-hero{padding:clamp(48px,8vw,88px) 22px clamp(32px,5vw,60px);text-align:center}
.lp-hero-in{max-width:640px;margin:0 auto}
.lp-h1{font-size:clamp(28px,5vw,52px);font-weight:700;line-height:1.08;letter-spacing:-.03em;color:var(--ink);margin:0 0 14px}
.lp-sub{font-size:clamp(15px,2vw,18px);line-height:1.6;color:var(--ink-2);margin:0 0 28px}
.lp-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-lp-primary{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font:700 15px var(--sans);border-radius:var(--radius);padding:14px 26px;text-decoration:none;box-shadow:0 6px 18px rgba(70,88,232,.25);transition:background .15s,transform .15s,box-shadow .15s}
.btn-lp-primary:hover{background:var(--accent-ink);transform:translateY(-1px);box-shadow:0 10px 24px rgba(70,88,232,.32);text-decoration:none;color:#fff}
.btn-lp-secondary{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font:600 14.5px var(--sans);border:1px solid var(--line-2);border-radius:var(--radius);padding:13px 22px;text-decoration:none;transition:border-color .15s,color .15s}
.btn-lp-secondary:hover{border-color:var(--accent);color:var(--accent-ink);text-decoration:none}

/* Sections landing */
.lp-section{padding:clamp(32px,5vw,64px) 22px}
.lp-section--alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-in{max-width:1040px;margin:0 auto}
.lp-section-title{font-size:clamp(20px,3vw,30px);font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:0 0 32px;text-align:center}

/* Cartes bento landing — extensions sur .card existant */
.card h2{font-size:clamp(18px,2.5vw,24px);font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0 0 10px}
.card-list{list-style:none;padding:0;margin:10px 0 16px;display:flex;flex-direction:column;gap:5px}
.card-list li{font-size:13px;color:var(--ink-2);padding-left:16px;position:relative;line-height:1.45}
.card-list li::before{content:'–';position:absolute;left:0;color:var(--gold);font-weight:700}
.card-link{font-size:13.5px;font-weight:700;color:var(--accent-ink);text-decoration:none}
.card.active:hover .card-link{text-decoration:underline}
.card-soon-badge{display:inline-block;margin-top:12px;font-size:12px;font-weight:600;color:var(--ink-3);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-pill);padding:4px 11px}

/* Mini-aperçu PDF mock (grande carte bento-lg) */
.pdf-mock{background:#fff;border:1px solid var(--line-2);border-radius:var(--radius-sm);box-shadow:var(--sh-sm);overflow:hidden;max-width:300px;margin-top:4px}
.pdf-mock-head{background:var(--brand-2);padding:12px 14px;display:flex;align-items:center;gap:12px}
.pdf-mock-logo-ph{width:36px;height:36px;background:rgba(255,255,255,.35);border-radius:6px;flex:0 0 auto}
.pdf-mock-agency{flex:1;display:flex;flex-direction:column;gap:5px}
.pdf-mock-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.pdf-mock-line{height:8px;border-radius:4px;background:var(--line-2)}
.pdf-mock-line--name{width:70%;background:rgba(255,255,255,.6)}
.pdf-mock-line--contact{width:50%;background:rgba(255,255,255,.4)}
.pdf-mock-line--title{width:80%}
.pdf-mock-line--val{width:45%;height:14px;background:var(--accent-100)}
.pdf-mock-rows{display:flex;flex-direction:column;gap:4px}
.pdf-mock-row{height:7px;border-radius:3px;background:var(--bg-2)}
.pdf-mock-row:nth-child(2){width:85%}
.pdf-mock-row:nth-child(3){width:70%}

/* Étapes « Comment ça marche » */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:640px){.steps{grid-template-columns:1fr;gap:20px}}
.step{display:flex;align-items:flex-start;gap:16px;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius-lg);padding:clamp(16px,2.5vw,24px);box-shadow:var(--sh-sm)}
.step-num{width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font:700 16px var(--sans);display:grid;place-items:center;flex:0 0 auto;letter-spacing:-.01em}
.step-body{flex:1}
.step-h3{font-size:16px;font-weight:700;color:var(--ink);margin:0 0 6px;letter-spacing:-.015em}
.step-p{font-size:13.5px;line-height:1.6;color:var(--ink-2);margin:0}

/* Reveal au scroll */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* container-query bento : 1 colonne sous 720 px déjà géré par .bento @media */

/* ── /Landing pro ──────────────────────────────────────────────── */

/* ════════════════════════════════════════════════════════════════
   PRINT SHEET — partagée par les 3 outils Pro
   Garantit 1 page A4 propre : seul .pdf-doc visible, nav/chrome masqués.
   ════════════════════════════════════════════════════════════════ */
@media print{
  @page{ size:A4; margin:14mm }
  body *{ visibility:hidden }
  .pdf-doc, .pdf-doc *{ visibility:visible }
  .pdf-doc{
    position:absolute; inset:0; width:100%;
    box-shadow:none; border:0; border-radius:0;
    page-break-inside:avoid;
  }
  /* le toggle OFF sur pdf-foot = hidden → ne s'imprime pas */
  .pdf-foot[hidden]{ display:none !important }
  /* contrainte 1 page : limiter les hauteurs des zones variables */
  .pdf-bien-photo{ max-height:160px }
  .pdf-body{ padding:14px 18px }
  .pdf-head{ padding:14px 18px }
}
