/* CréaGuide — Feuille de style principale */

:root{
  --bg:#FAFAF7; --bg2:#F0EFE8; --bg3:#E5E3D8;
  --text:#1A1F2E; --text2:#454B5A; --text3:#7C8290; --text4:#A0A4AE;
  --accent:#E5523D; --accent2:#C13E2A; --accent-soft:rgba(229,82,61,.07);
  --green:#1A8754; --green-bg:rgba(26,135,84,.06); --green-border:rgba(26,135,84,.15);
  --blue:#2D3863; --red:#DC2626;
  --border:#E2E0D6; --border2:#D0CDC0;

  --serif:'Newsreader',Georgia,serif;
  --sans:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono','Menlo',monospace;

  --radius:10px; --radius-lg:14px;
  --shadow-sm:0 1px 2px rgba(26,31,46,.04);
  --shadow-md:0 4px 14px rgba(26,31,46,.06);
  --shadow-lg:0 12px 32px rgba(26,31,46,.08);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--sans);color:var(--text);background:var(--bg);
  font-size:16px;line-height:1.6;
}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent2);text-decoration:underline}
.muted{color:var(--text3)}
.center{text-align:center}
.small{font-size:.875rem}
em{font-style:italic;color:var(--accent)}

h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.5vw,3.25rem)}
h2{font-size:clamp(1.6rem,3vw,2.25rem)}
h3{font-size:1.25rem;font-weight:600}
h4{font-size:1rem;font-weight:600}

.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text3);margin:0 0 .8rem}

.container{max-width:1160px;margin:0 auto;padding:0 24px}
.container.narrow{max-width:720px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,250,247,.92);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;gap:24px;height:64px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-family:var(--serif);font-size:1.25rem;text-decoration:none}
.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--blue);color:var(--bg);font-family:Georgia,serif;font-weight:600;font-size:.85rem}
.brand-name strong{color:var(--accent)}
.site-nav{display:flex;gap:22px;margin-left:auto;font-size:.95rem}
.site-nav a{color:var(--text2)}
.site-nav a:hover{color:var(--text);text-decoration:none}
.site-cta{display:flex;gap:10px}
@media (max-width:780px){
  .site-nav{display:none}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.7em 1.2em;border-radius:var(--radius);border:1px solid transparent;font-family:var(--sans);font-weight:500;font-size:.95rem;cursor:pointer;text-decoration:none;line-height:1;transition:transform .05s ease,background .15s ease,border-color .15s ease,color .15s ease}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary:hover{background:var(--accent2);border-color:var(--accent2);color:#fff}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border2)}
.btn-ghost:hover{background:var(--bg2);color:var(--text)}
.btn-link{background:transparent;border-color:transparent;color:var(--text2)}
.btn-block{display:flex;width:100%}
.btn-lg{padding:.95em 1.5em;font-size:1rem}

/* Hero */
.hero{padding:80px 0 60px;text-align:center;background:linear-gradient(180deg,var(--bg) 0,var(--bg2) 100%)}
.hero-title{margin:0 0 16px;font-size:clamp(2.4rem,5vw,3.6rem)}
.hero-lead{max-width:680px;margin:0 auto 28px;font-size:1.125rem;color:var(--text2)}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}
.hero-meta{font-family:var(--mono);font-size:.85rem;color:var(--text3);letter-spacing:.04em}

/* Sections */
section{padding:64px 0}
section h2{text-align:center;max-width:780px;margin:0 auto .8em}
section .eyebrow{text-align:center}

/* Features */
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:32px}
.feature{padding:24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.feature h3{font-family:var(--sans);font-size:1.05rem}

/* Pricing */
.pricing{background:var(--bg2)}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:36px;max-width:1080px;margin-left:auto;margin-right:auto}
.plan{position:relative;display:flex;flex-direction:column;gap:14px;padding:32px 24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--bg);border:1px solid var(--border2);padding:4px 12px;border-radius:999px;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text2)}
.plan h3{font-family:var(--serif);font-size:1.5rem;text-align:center;margin:.4em 0 0}
.plan .price{font-family:var(--serif);font-size:2.1rem;text-align:center;margin:0;color:var(--text)}
.plan .price small{font-family:var(--mono);font-size:.65rem;color:var(--text3);letter-spacing:.1em}
.plan-desc{text-align:center;color:var(--text2);font-size:.95rem;margin:0}
.plan-features{list-style:none;padding:0;margin:8px 0;font-size:.95rem}
.plan-features li{padding:6px 0;border-bottom:1px dashed var(--border)}
.plan-features li.off{color:var(--text4)}
.plan-features li:last-child{border-bottom:none}
.plan-guarantee{margin:0;text-align:center;font-size:.8rem;color:var(--text3)}
.plan-featured{border:2px solid var(--accent);box-shadow:var(--shadow-md)}
.plan-featured .plan-badge{background:var(--accent);color:#fff;border-color:var(--accent)}

/* Accompagnement */
.accompagnement{background:var(--bg)}
.acc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:36px 0;align-items:stretch}
.acc-card{display:flex;flex-direction:column;gap:12px;padding:28px 24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg)}
.acc-card h3{font-family:var(--serif);font-size:1.35rem}
.acc-card .price{font-family:var(--serif);font-size:1.8rem;margin:0}
.acc-card .price small{font-family:var(--mono);font-size:.65rem;color:var(--text3)}
.acc-card .tagline{margin:0;color:var(--text2)}
.acc-card ul{padding-left:1.1em;margin:8px 0;color:var(--text2);font-size:.95rem}
.acc-card ul li{margin:6px 0}
.acc-featured{border:2px solid var(--accent)}

.reassurance{text-align:center;padding:40px 24px;background:var(--bg2);border-radius:var(--radius-lg);margin-top:24px}
.reassurance h3{font-family:var(--serif);font-size:1.4rem}

/* FAQ */
.faq{background:var(--bg2)}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;max-width:760px;margin-left:auto;margin-right:auto;overflow:hidden}
.faq-item summary{padding:16px 20px;cursor:pointer;font-weight:500;list-style:none;position:relative;color:var(--text)}
.faq-item summary::after{content:'+';position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.2rem}
.faq-item[open] summary::after{content:'−'}
.faq-answer{padding:0 20px 18px;color:var(--text2);font-size:.95rem}

/* Forms */
.form{display:flex;flex-direction:column;gap:14px;margin:24px 0;max-width:560px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:.9rem;color:var(--text2)}
.form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){ .form .form-row{grid-template-columns:1fr} }
.form input[type=text],
.form input[type=email],
.form input[type=password],
.form select,
.form textarea{
  padding:.65em .85em;font:inherit;color:var(--text);background:#fff;
  border:1px solid var(--border2);border-radius:var(--radius);
}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.form label.checkbox{flex-direction:row;align-items:flex-start;gap:8px;font-size:.9rem}
.form .err{color:var(--red);font-size:.85rem}
.alert{padding:12px 16px;border-radius:var(--radius);margin:12px 0}
.alert-error{background:rgba(220,38,38,.08);color:#7f1d1d;border:1px solid rgba(220,38,38,.2)}
.alert-info{background:var(--green-bg);color:#0a4b2c;border:1px solid var(--green-border)}

.flash{padding:10px 0;border-bottom:1px solid var(--border)}
.flash-info{background:var(--green-bg);color:#0a4b2c}
.flash-error{background:rgba(220,38,38,.08);color:#7f1d1d}

/* Dashboard */
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}
.phase-card{display:block;padding:20px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:transform .12s ease,border-color .12s ease}
.phase-card:hover{transform:translateY(-2px);border-color:var(--accent);text-decoration:none}
.phase-num{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--mono);font-size:.85rem;margin-bottom:10px}
.phase-card h3{margin:0 0 6px;font-family:var(--sans);font-size:1.05rem;font-weight:600}
.phase-card p{margin:0;color:var(--text3);font-size:.9rem}

/* Legal */
.legal h2{font-family:var(--sans);font-size:1.1rem;font-weight:600;margin:1.6em 0 .4em;text-align:left}
.legal h1{text-align:left;margin-bottom:1em}

/* Footer */
.site-footer{background:var(--bg3);border-top:1px solid var(--border);padding:48px 0 24px;margin-top:64px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:32px}
@media (max-width:720px){ .footer-grid{grid-template-columns:1fr 1fr;gap:24px} }
.footer-grid h4{font-family:var(--sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text3);margin:0 0 12px}
.footer-grid ul{list-style:none;padding:0;margin:0;font-size:.9rem}
.footer-grid ul li{margin:6px 0}
.footer-grid ul a{color:var(--text2)}
.footer-grid ul a:hover{color:var(--accent)}
.footer-bottom{margin-top:32px;padding-top:20px;border-top:1px solid var(--border);font-size:.8rem;color:var(--text3)}

.error-page{padding:80px 0;text-align:center}

/* ===== Dashboard / Parcours ===== */
.dash-header{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;flex-wrap:wrap}
.dash-progress{display:flex;flex-direction:column;align-items:center;gap:6px}
.pct-ring{
  --pct:0;
  width:90px;height:90px;border-radius:50%;
  background:conic-gradient(var(--accent) calc(var(--pct)*1%), var(--bg2) 0);
  display:flex;align-items:center;justify-content:center;position:relative;
}
.pct-ring::before{content:'';position:absolute;inset:8px;background:var(--bg);border-radius:50%}
.pct-ring span{position:relative;font-family:var(--serif);font-size:1.4rem;color:var(--text)}

.phase-card{position:relative;padding-bottom:64px}
.phase-icon{position:absolute;top:14px;right:14px;font-size:1.6rem;line-height:1}
.phase-progress{position:absolute;left:20px;right:20px;bottom:16px}
.phase-progress .bar{height:6px;background:var(--bg2);border-radius:99px;overflow:hidden}
.phase-progress .bar span{display:block;height:100%;background:var(--accent);transition:width .25s ease}

/* Page phase */
.phase-page .breadcrumb{margin-bottom:16px;font-size:.9rem}
.phase-header{padding:24px 0;border-bottom:1px solid var(--border);margin-bottom:24px;border-left:4px solid var(--phase-color);padding-left:18px}
.phase-header h1{margin:.1em 0 .2em}
.step-block{margin:32px 0 24px}
.step-title{font-family:var(--serif);font-size:1.25rem;margin:0 0 12px;color:var(--text);border-bottom:1px dashed var(--border);padding-bottom:8px}
.task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.task{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,background .15s}
.task:hover{border-color:var(--border2)}
.task.is-done{background:var(--green-bg);border-color:var(--green-border)}
.task.is-done .task-title{text-decoration:line-through;color:var(--text3)}
.task.is-loading{opacity:.5;pointer-events:none}

.task-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer;flex:1;min-width:0}
.task-check input{position:absolute;opacity:0;width:0;height:0}
.check-box{flex:0 0 20px;width:20px;height:20px;border:2px solid var(--border2);border-radius:5px;display:inline-block;margin-top:2px;position:relative;background:#fff;transition:all .15s ease}
.task-check input:checked + .check-box{background:var(--accent);border-color:var(--accent)}
.task-check input:checked + .check-box::after{content:'';position:absolute;left:4px;top:0px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.task-title{font-size:.97rem;line-height:1.4;color:var(--text)}

.task-actions{display:flex;gap:6px;flex-wrap:wrap}
.btn-mini{display:inline-flex;align-items:center;gap:4px;padding:.35em .65em;font-size:.78rem;border-radius:6px;background:var(--bg2);color:var(--text2);text-decoration:none;border:1px solid var(--border)}
.btn-mini:hover{background:var(--bg3);color:var(--text);text-decoration:none}
.btn-mini-accent{background:var(--accent-soft);color:var(--accent);border-color:rgba(229,82,61,.25)}
.btn-mini-violet{background:rgba(124,58,237,.08);color:#5b21b6;border-color:rgba(124,58,237,.25)}

.phase-nav{display:flex;justify-content:space-between;margin:36px 0 12px;gap:12px;flex-wrap:wrap}

@media (max-width:640px){
  .task{flex-direction:column;align-items:stretch}
  .task-actions{margin-left:30px}
}

/* Checkout */
.checkout-success,.checkout-cancel{padding:64px 0;text-align:center}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}

/* Prompts */
.prompts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:24px}
.prompt-card{display:block;padding:18px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;text-decoration:none;position:relative;transition:border-color .15s ease,transform .12s ease}
.prompt-card:hover{border-color:var(--accent);transform:translateY(-1px);text-decoration:none}
.prompt-card h3{font-family:var(--sans);font-size:1rem;font-weight:600;margin:8px 0 4px}
.ai-tag{display:inline-block;padding:2px 8px;border-radius:99px;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.ai-claude{background:#cc785c}
.ai-chatgpt{background:#10a37f}
.ai-perplexity{background:#1f8da6}
.ai-ia{background:var(--text3)}

.prompt-page{padding:48px 0}
.prompt-page h1{margin:.2em 0 .8em}
.prompt-fields{margin:24px 0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px}
.prompt-fields summary{cursor:pointer;font-weight:500;list-style:none}
.prompt-fields summary::-webkit-details-marker{display:none}
.prompt-fields-body{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.prompt-field{display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--text2)}
.prompt-field input,.prompt-field textarea{padding:.55em .8em;border:1px solid var(--border2);border-radius:8px;font:inherit;background:#fff}
.prompt-block{margin:20px 0;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}
.prompt-toolbar{display:flex;gap:8px;justify-content:flex-end;padding:10px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}
#prompt-text{margin:0;padding:18px 20px;font-family:var(--mono);font-size:.85rem;line-height:1.55;white-space:pre-wrap;color:var(--text);max-height:60vh;overflow:auto}

/* === Outils === */
.tool-page{padding:48px 0}
.tool-header{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.tool-header h1{margin:.2em 0}
.tool-save-state{margin:8px 0 0}
.tool-save-state .saving{color:var(--text2)}
.tool-save-state .saved{color:var(--green)}
.tool-save-state .error{color:var(--red)}

.form-field{display:flex;flex-direction:column;gap:6px;font-size:.92rem;color:var(--text2);margin:10px 0}
.form-field input[type=text],.form-field input[type=number],.form-field input[type=month],
.form-field select,.form-field textarea{
  padding:.55em .85em;font:inherit;background:#fff;color:var(--text);
  border:1px solid var(--border2);border-radius:8px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){ .form-row{grid-template-columns:1fr} }

.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:24px}
.tool-card{display:block;padding:18px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;text-decoration:none;transition:border-color .15s,transform .12s}
.tool-card:hover{border-color:var(--accent);transform:translateY(-2px);text-decoration:none}
.tool-card h3{font-family:var(--sans);font-size:1.05rem;font-weight:600;margin:0 0 6px}

/* BMC */
.bmc-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:1fr 1fr 1fr;gap:10px;min-height:520px}
@media (max-width:900px){ .bmc-grid{grid-template-columns:1fr 1fr;grid-auto-rows:200px} }
.bmc-block{display:flex;flex-direction:column;padding:14px;background:#fff;border:1px solid var(--border);border-radius:10px}
.bmc-block h3{margin:0 0 8px;font-family:var(--sans);font-size:.9rem;font-weight:600}
.bmc-block textarea{flex:1;border:1px dashed var(--border);border-radius:8px;padding:8px;font:inherit;color:var(--text);background:transparent;resize:vertical}
.bmc-block textarea:focus{outline:none;border-color:var(--accent);background:#fff}
@media (min-width:901px){
  .bmc-partners{grid-column:1;grid-row:1/3}
  .bmc-activities{grid-column:2;grid-row:1}
  .bmc-resources{grid-column:2;grid-row:2}
  .bmc-value_prop{grid-column:3;grid-row:1/3}
  .bmc-relations{grid-column:4;grid-row:1}
  .bmc-channels{grid-column:4;grid-row:2}
  .bmc-segments{grid-column:5;grid-row:1/3}
  .bmc-costs{grid-column:1/3;grid-row:3}
  .bmc-revenue{grid-column:3/6;grid-row:3}
}

/* Statuts */
.statuts-table-wrap{overflow-x:auto;margin:20px 0}
.statuts-table{width:100%;border-collapse:collapse;background:#fff;font-size:.88rem;min-width:780px}
.statuts-table th,.statuts-table td{padding:10px;border:1px solid var(--border);text-align:left;vertical-align:top}
.statuts-table thead th{background:var(--bg2);font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.statuts-table tbody th{background:var(--bg);font-weight:600;width:140px}
.statuts-pick{margin-top:28px;padding:18px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg)}
.radio-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}
.radio-pill input{display:none}
.radio-pill span{display:inline-block;padding:.45em .9em;border:1px solid var(--border2);border-radius:99px;cursor:pointer;font-family:var(--mono);font-size:.78rem;letter-spacing:.06em}
.radio-pill input:checked + span{background:var(--accent);color:#fff;border-color:var(--accent)}

/* Checklist */
.docs-list{list-style:none;padding:0;margin:16px 0}
.docs-list li{margin:8px 0;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:8px}
.check-line{display:flex;gap:10px;align-items:flex-start;cursor:pointer}

/* KPI */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:20px}
.kpi-cat{padding:18px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg)}
.kpi-cat h3{margin-top:0;font-family:var(--sans);font-size:1.05rem}

/* Breakeven result */
.kpi-result{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:18px}
.kpi-result .card{text-align:center;padding:16px}
.kpi-result .card h4{margin:0;font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text3)}
.kpi-result .big{font-family:var(--serif);font-size:1.5rem;margin:8px 0 0;color:var(--text)}

/* Pitch */
.pitch-results{display:flex;flex-direction:column;gap:12px;margin-top:18px}
.pitch-results .card{padding:18px}
.pitch-results h4{margin:0 0 8px;font-family:var(--sans);font-size:.95rem}

/* Propval */
.propval-output{margin-top:24px;padding:24px;background:var(--accent-soft);border:1px solid rgba(229,82,61,.25);border-radius:var(--radius-lg)}
.propval-output h3{margin-top:0;font-family:var(--sans);font-size:.95rem}
.propval-output p{font-family:var(--serif);font-size:1.25rem;color:var(--text);margin:0}

/* Roue de la vie */
.rdv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:16px}
.rdv-axe{display:flex;flex-direction:column;gap:6px;padding:14px;background:#fff;border:1px solid var(--border);border-radius:10px}
.rdv-axe label{font-size:.92rem}
.rdv-summary{margin-top:24px;padding:18px;background:var(--bg2);border-radius:var(--radius-lg)}

/* Finpack blocks */
.block{margin:14px 0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 20px}
.block summary{cursor:pointer;font-weight:500}
.block-body{margin-top:14px;display:flex;flex-direction:column;gap:8px}

/* Cookie banner */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:100;background:#1A1F2E;color:#fff;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -8px 32px rgba(0,0,0,.18)}
.cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 24px;flex-wrap:wrap}
.cookie-banner p{margin:0;font-size:.92rem}
.cookie-banner a{color:#fff;text-decoration:underline}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}
.cookie-actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3);background:transparent}
.cookie-actions .btn-ghost:hover{background:rgba(255,255,255,.08)}

/* About */
.about{background:var(--bg2);padding:72px 0}
.about-inner{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:center}
@media (max-width:720px){ .about-inner{grid-template-columns:1fr;gap:24px} }
.about-photo{position:relative}
.about-photo img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-lg);background:var(--bg3)}
.about-quote{font-family:var(--serif);font-size:1.35rem;font-style:italic;color:var(--accent);margin:16px 0 24px;padding-left:18px;border-left:3px solid var(--accent)}
.about-content h2{text-align:left;margin:0 0 .4em}
.about-signature{font-family:var(--serif);font-style:italic;font-size:1.1rem;margin-top:16px;color:var(--text2)}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}
@media (max-width:520px){ .about-stats{grid-template-columns:1fr} }
.about-stat{display:flex;flex-direction:column;gap:4px}
.about-stat-num{font-family:var(--serif);font-size:2rem;color:var(--accent)}
.about-stat-label{font-size:.85rem;color:var(--text3)}

/* Legal — meilleurs styles pour les contenus longs */
.legal table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.92rem;background:#fff}
.legal table th, .legal table td{padding:8px 12px;border:1px solid var(--border);text-align:left;vertical-align:top}
.legal table thead{background:var(--bg2)}
.legal dl{margin:12px 0}
.legal dt{font-weight:600;color:var(--text);margin-top:8px}
.legal dd{margin:4px 0 8px 16px;color:var(--text2)}
.legal .callout{padding:14px 16px;background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:6px;margin:14px 0;font-size:.95rem;color:var(--text)}
.legal .callout-warn{background:rgba(220,38,38,.08);border-color:var(--red);color:var(--text)}
.legal .placeholder{display:inline-block;padding:1px 6px;background:#fff5b8;border:1px dashed #d4af37;border-radius:4px;color:#7a5e00;font-family:var(--mono);font-size:.85em}
.legal h2{font-family:var(--sans);font-size:1.2rem;font-weight:600;margin:1.6em 0 .5em;color:var(--text)}
.legal h3{font-family:var(--sans);font-size:1rem;font-weight:600;margin:1.4em 0 .3em;color:var(--text)}
.legal h1{margin-bottom:.8em}
.legal p, .legal ul, .legal ol{color:var(--text2)}
.legal a{color:var(--accent);text-decoration:underline}

/* Cookie pref page */
.cookie-pref{margin:24px 0;padding:20px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg)}
.cookie-pref h2{margin-top:0;font-family:var(--sans);font-size:1.05rem}
.cookie-pref ul{font-size:.92rem;color:var(--text2)}
.cookie-pref code{font-family:var(--mono);font-size:.85em;background:var(--bg2);padding:1px 6px;border-radius:4px}
.toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.95rem}
.toggle input{width:18px;height:18px;cursor:pointer}
.cookie-actions-row{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:18px}

/* Plan badges */
.user-plan-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:99px;background:var(--bg2);color:var(--text2);font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;margin-right:8px}
.pill-plan-starter{background:var(--bg3);color:var(--text2)}
.pill-plan-creaguide{background:var(--accent-soft);color:var(--accent2);border:1px solid rgba(229,82,61,.25)}
.pill-plan-pro{background:#2D3863;color:#fff}

/* Tool cards locked */
.tool-card.is-locked{background:var(--bg2);opacity:.85}
.tool-card.is-locked h3{color:var(--text3)}
.tool-plan-badge{display:inline-block;margin-top:8px;padding:2px 8px;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#fff;border-radius:99px}

/* Locked page */
.locked-page{padding:80px 0}
.locked-card{padding:48px 32px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center}
.locked-card .lock-icon{font-size:3rem;margin:0 0 8px}
.locked-card h1{margin:.2em 0 .4em}
.locked-card .btn{margin:8px}

/* ═══════════════════════════════════════════════════════════════════
   HOME — Landing redesign
   ═══════════════════════════════════════════════════════════════════ */

/* Hero riche avec emblem */
.hero-rich{position:relative;padding:80px 0 60px;overflow:hidden;background:linear-gradient(180deg,#FAFAF7 0,#F4F2EB 100%)}
.hero-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-blob{position:absolute;top:-100px;right:-120px;width:600px;height:600px;opacity:.7}
@media (max-width:760px){ .hero-blob{width:400px;height:400px} }
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;position:relative;z-index:1}
@media (max-width:860px){ .hero-grid{grid-template-columns:1fr;text-align:center} .hero-grid .hero-emblem{max-width:280px;margin:24px auto 0} }
.hero-text .hero-title{font-size:clamp(2.6rem,5.5vw,4.2rem);line-height:1.05;margin:.2em 0 .4em;letter-spacing:-.02em}
.hero-text .hero-title em{color:var(--accent);font-style:italic}
.hero-lead{font-size:1.15rem;color:var(--text2);max-width:540px;margin:0 0 28px;line-height:1.55}
@media (max-width:860px){ .hero-lead{margin:0 auto 28px} }
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
@media (max-width:860px){ .hero-cta{justify-content:center} }
.hero-trust{list-style:none;padding:0;margin:8px 0 0;display:flex;gap:18px;color:var(--text3);font-size:.88rem;flex-wrap:wrap}
@media (max-width:860px){ .hero-trust{justify-content:center} }
.hero-trust li{display:inline-flex;align-items:center;gap:6px}
.hero-trust span{color:var(--green);font-weight:700}
.hero-emblem{display:flex;justify-content:center}
.hero-emblem svg{width:100%;max-width:340px;filter:drop-shadow(0 10px 30px rgba(45,56,99,.18))}

/* KPI strip */
.kpi-strip{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:36px 0}
.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:32px;align-items:center;text-align:center}
@media (max-width:760px){ .kpi-row{grid-template-columns:repeat(2,1fr);gap:24px} .kpi-row > div:last-child{grid-column:1/-1} }
.kpi-num{display:block;font-family:var(--serif);font-size:clamp(2rem,4vw,2.8rem);color:var(--accent);font-weight:500;line-height:1}
.kpi-num .muted{color:var(--text3);font-size:.6em}
.kpi-lbl{display:block;margin-top:6px;font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);line-height:1.4}

/* Phases timeline */
.phases-overview{background:linear-gradient(180deg,var(--bg) 0,var(--bg2) 100%);padding:72px 0}
.phases-overview h2{text-align:center}
.subtitle{text-align:center;max-width:640px;margin:0 auto 40px}
.phases-timeline{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:phase}
@media (max-width:960px){ .phases-timeline{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .phases-timeline{grid-template-columns:1fr} }
.phases-timeline li{counter-increment:phase;position:relative;padding:24px 18px 18px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform .15s ease,box-shadow .15s ease}
.phases-timeline li:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.phases-timeline li::before{content:counter(phase,decimal-leading-zero);position:absolute;top:14px;right:14px;font-family:var(--mono);font-size:.78rem;color:var(--text3);letter-spacing:.06em}
.ph-icon{display:inline-block;font-size:1.8rem;line-height:1;margin-bottom:8px}
.phases-timeline h3{font-family:var(--sans);font-size:1.02rem;font-weight:600;margin:4px 0 6px;color:var(--text)}
.phases-timeline p{margin:0;font-size:.88rem;color:var(--text2);line-height:1.5}

/* Features cards améliorées */
.features{padding:80px 0;background:#fff}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
@media (max-width:880px){ .feature-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:560px){ .feature-grid{grid-template-columns:1fr} }
.feature{padding:28px 24px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--accent)}
.feature-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;background:var(--accent-soft);border-radius:12px;margin-bottom:14px}
.feature h3{font-family:var(--sans);font-size:1.1rem;font-weight:600;margin:0 0 8px;color:var(--text)}
.feature p{margin:0;color:var(--text2);font-size:.94rem;line-height:1.55}

/* Pour qui */
.for-who{background:var(--bg2);padding:64px 0}
.for-who-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
@media (max-width:860px){ .for-who-grid{grid-template-columns:1fr} }
.for-who article{padding:28px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);position:relative}
.for-who h3{font-family:var(--serif);font-size:1.2rem;font-weight:600;margin:0 0 10px}
.for-who p{margin:0;color:var(--text2);line-height:1.6}

/* Pricing — version redesign */
.pricing{padding:80px 0;background:var(--bg)}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;max-width:1080px;margin-left:auto;margin-right:auto}
@media (max-width:920px){ .pricing-grid{grid-template-columns:1fr;max-width:480px} }
.plan{position:relative;display:flex;flex-direction:column;gap:14px;padding:36px 28px 28px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform .2s ease,box-shadow .2s ease}
.plan:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.plan-tier{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);align-self:flex-start;padding:4px 10px;background:var(--bg2);border-radius:99px}
.plan h3{font-family:var(--serif);font-size:1.6rem;text-align:left;margin:0;color:var(--text)}
.plan .price{font-family:var(--serif);font-size:2.4rem;margin:0;color:var(--text);line-height:1}
.plan .price small{font-family:var(--mono);font-size:.55em;color:var(--text3);letter-spacing:.08em;font-weight:400}
.plan-desc{margin:0;color:var(--text2);font-size:.94rem}
.plan-features{list-style:none;padding:14px 0 0;margin:0;font-size:.93rem;flex:1;border-top:1px dashed var(--border)}
.plan-features li{padding:7px 0;color:var(--text2);line-height:1.4}
.plan-features li.off{color:var(--text4)}
.plan-guarantee{margin:0;text-align:center;font-size:.78rem;color:var(--text3)}
.plan-featured{border:2px solid var(--accent);box-shadow:0 12px 36px rgba(229,82,61,.18);transform:scale(1.03)}
@media (max-width:920px){ .plan-featured{transform:none} }
.plan-featured .plan-tier{background:var(--accent);color:#fff}
.plan-featured h3{color:var(--accent)}
.upgrade-note{margin-top:28px}

/* Accompagnement */
.accompagnement{padding:80px 0;background:#fff;border-top:1px solid var(--border)}
.acc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:40px 0 36px;align-items:stretch}
@media (max-width:920px){ .acc-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto} }
.acc-card{display:flex;flex-direction:column;gap:12px;padding:28px 24px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);position:relative}
.acc-card .acc-tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin:0}
.acc-card h3{font-family:var(--serif);font-size:1.35rem;margin:0;color:var(--text)}
.acc-card .price{font-family:var(--serif);font-size:1.9rem;margin:0;color:var(--text);line-height:1.2}
.acc-card .price small{font-family:var(--mono);font-size:.5em;color:var(--text3);font-weight:400}
.acc-card .tagline{margin:0;color:var(--text2);font-size:.93rem}
.acc-card ul{padding-left:18px;margin:8px 0;color:var(--text2);font-size:.92rem;flex:1}
.acc-card ul li{margin:6px 0;line-height:1.4}
.acc-featured{background:#fff;border:2px solid var(--accent);box-shadow:0 12px 36px rgba(229,82,61,.18)}
.acc-featured .acc-tag{color:var(--accent);font-weight:600}

.reassurance{text-align:center;padding:48px 32px;background:linear-gradient(135deg,#2D3863 0,#1A1F2E 100%);border-radius:var(--radius-lg);margin-top:32px;color:#fff}
.reassurance h3{font-family:var(--serif);font-size:1.6rem;color:#fff;margin:0 0 12px}
.reassurance p{color:rgba(255,255,255,.85);margin:6px 0}
.reassurance strong{color:#fff}
.reassurance .btn-primary{background:#fff;color:var(--text);border-color:#fff}
.reassurance .btn-primary:hover{background:var(--bg);color:var(--text)}
.reassurance .muted{color:rgba(255,255,255,.6)}

/* FAQ */
.faq{padding:80px 0;background:var(--bg2)}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;max-width:780px;margin-left:auto;margin-right:auto;overflow:hidden;transition:border-color .15s ease}
.faq-item:hover{border-color:var(--border2)}
.faq-item[open]{border-color:var(--accent);background:#fff}
.faq-item summary{padding:18px 22px;cursor:pointer;font-weight:500;list-style:none;position:relative;color:var(--text);font-size:1rem;padding-right:48px}
.faq-item summary::after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.5rem;line-height:1}
.faq-item[open] summary::after{content:'−'}
.faq-answer{padding:0 22px 20px;color:var(--text2);font-size:.96rem;line-height:1.65}

/* CTA final */
.cta-final{padding:80px 0;background:linear-gradient(135deg,var(--bg2) 0,var(--bg3) 100%);text-align:center}
.cta-final h2{max-width:760px;margin:0 auto .4em;font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.4rem)}
.cta-final .muted{margin:0 auto 24px;max-width:480px}
.cta-final-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}

/* Footer enrichi */
.site-footer{background:#1A1F2E;color:rgba(255,255,255,.85);border-top:0;padding:64px 0 32px;margin-top:0}
.site-footer .brand{color:#fff}
.site-footer .brand-mark{background:#fff;color:#2D3863}
.site-footer .muted{color:rgba(255,255,255,.55)}
.site-footer h4{color:#fff}
.site-footer ul a{color:rgba(255,255,255,.7)}
.site-footer ul a:hover{color:#fff}
.site-footer .footer-bottom{border-top-color:rgba(255,255,255,.1);color:rgba(255,255,255,.5)}

/* ═══════════════════════════════════════════════════════════════════
   DESIGN SYSTEM v2 — pages annexes
   ═══════════════════════════════════════════════════════════════════ */

/* ---------- Auth split layout ---------- */
.auth-split{min-height:calc(100vh - 64px);display:grid;grid-template-columns:1fr 1fr;background:var(--bg)}
@media (max-width:920px){ .auth-split{grid-template-columns:1fr} }
.auth-aside{background:linear-gradient(135deg,#2D3863 0,#1A1F2E 100%);color:#fff;padding:64px 48px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
@media (max-width:920px){ .auth-aside{padding:48px 32px;min-height:auto} }
.auth-aside::before{content:'';position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(229,82,61,.22) 0%,transparent 70%);top:-200px;right:-200px;pointer-events:none}
.auth-aside .eyebrow{color:rgba(255,255,255,.55)}
.auth-aside h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);color:#fff;margin:.4em 0;line-height:1.15;position:relative}
.auth-aside h2 em{color:var(--accent);font-style:italic}
.auth-aside .auth-points{list-style:none;padding:0;margin:24px 0 0;position:relative}
.auth-aside .auth-points li{padding:10px 0;display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.85);font-size:.96rem;border-bottom:1px solid rgba(255,255,255,.08)}
.auth-aside .auth-points li:last-child{border-bottom:0}
.auth-aside .auth-points li::before{content:'✓';color:var(--accent);font-weight:700;flex-shrink:0;margin-top:2px}
.auth-main{padding:48px 32px;display:flex;align-items:center;justify-content:center}
.auth-card{width:100%;max-width:440px}
.auth-card h1{font-family:var(--serif);font-size:2rem;margin:0 0 6px;color:var(--text)}
.auth-card .subtitle{color:var(--text2);margin:0 0 32px;text-align:left}
.auth-card .form-foot{margin-top:24px;text-align:center;font-size:.92rem;color:var(--text2)}
.auth-card .form-foot a{color:var(--accent);font-weight:500}

/* ---------- Forms améliorés ---------- */
.form-pretty label{display:flex;flex-direction:column;gap:6px;font-size:.86rem;color:var(--text2);font-weight:500;margin-bottom:0}
.form-pretty label.checkbox{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;color:var(--text2);font-size:.92rem;line-height:1.5;margin:8px 0}
.form-pretty label.checkbox input{flex-shrink:0;width:18px;height:18px;margin-top:1px;cursor:pointer;accent-color:var(--accent)}
.form-pretty input[type=text],
.form-pretty input[type=email],
.form-pretty input[type=password],
.form-pretty input[type=url],
.form-pretty input[type=number],
.form-pretty select,
.form-pretty textarea{
  padding:.8em 1em;
  font:inherit;color:var(--text);background:#fff;
  border:1px solid var(--border2);border-radius:10px;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
  width:100%;
}
.form-pretty input:focus,
.form-pretty select:focus,
.form-pretty textarea:focus{
  outline:none;border-color:var(--accent);
  box-shadow:0 0 0 4px var(--accent-soft);background:#fff;
}
.form-pretty input::placeholder{color:var(--text4)}
.form-pretty .err{color:var(--red);font-size:.85rem;margin-top:4px;display:block}
.form-pretty .help{color:var(--text3);font-size:.82rem;margin-top:4px;display:block}
.form-pretty .input-with-icon{position:relative}
.form-pretty .input-with-icon input{padding-left:42px}
.form-pretty .input-with-icon .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text3);width:18px;height:18px;pointer-events:none}
.form-pretty .form-grid{display:flex;flex-direction:column;gap:16px}
.form-pretty .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:520px){ .form-pretty .form-row{grid-template-columns:1fr} }
.form-pretty button[type=submit]{margin-top:8px}

/* ---------- Alerts ---------- */
.alert{padding:14px 18px;border-radius:10px;margin:12px 0;font-size:.95rem;border:1px solid;display:flex;gap:10px;align-items:flex-start}
.alert::before{flex-shrink:0;font-size:1.1rem;line-height:1.2}
.alert-info{background:var(--green-bg);color:#0a4b2c;border-color:var(--green-border)}
.alert-info::before{content:'✓'}
.alert-error{background:rgba(220,38,38,.06);color:#7f1d1d;border-color:rgba(220,38,38,.2)}
.alert-error::before{content:'⚠'}
.alert-warn{background:#fff5db;color:#7a5e00;border-color:#e6c878}
.alert-warn::before{content:'!'}

/* ---------- Breadcrumb ---------- */
.breadcrumb{font-size:.88rem;color:var(--text3);margin:0 0 16px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.breadcrumb a{color:var(--text2)}
.breadcrumb a:hover{color:var(--accent);text-decoration:none}
.breadcrumb .sep{color:var(--text4);margin:0 4px}

/* ---------- Dashboard upgrades ---------- */
.dash-header{display:flex;justify-content:space-between;align-items:center;gap:32px;margin:32px 0 40px;flex-wrap:wrap}
.dash-greeting{flex:1;min-width:280px}
.dash-greeting .eyebrow{margin-bottom:.5em}
.dash-greeting h1{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.4rem);margin:0 0 6px}
.dash-greeting p{margin:0;color:var(--text2)}

.pct-ring{
  --pct:0;
  width:130px;height:130px;border-radius:50%;
  background:conic-gradient(var(--accent) calc(var(--pct)*1%), var(--bg2) 0);
  display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;
  box-shadow:0 8px 24px rgba(229,82,61,.18);
}
.pct-ring::before{content:'';position:absolute;inset:10px;background:#fff;border-radius:50%}
.pct-ring span{position:relative;font-family:var(--serif);font-size:2rem;color:var(--text);font-weight:500}
.dash-progress{display:flex;flex-direction:column;align-items:center;gap:8px}
.dash-progress p{margin:0;font-size:.85rem;color:var(--text3);font-family:var(--mono);letter-spacing:.05em}

.phase-card{position:relative;display:block;padding:24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;overflow:hidden}
.phase-card::after{content:'';position:absolute;left:0;bottom:0;height:3px;width:var(--phase-pct,0%);background:var(--accent);transition:width .3s ease;border-radius:0 3px 0 0}
.phase-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow-md);text-decoration:none}
.phase-card .phase-num{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--mono);font-size:.78rem;font-weight:600}
.phase-card .phase-icon{font-size:1.4rem;float:right;line-height:1}
.phase-card h3{font-family:var(--sans);font-size:1.05rem;font-weight:600;margin:14px 0 4px;color:var(--text)}
.phase-card p{margin:0;color:var(--text3);font-size:.88rem;line-height:1.45}
.phase-progress{margin-top:12px;font-size:.78rem;color:var(--text3);font-family:var(--mono);letter-spacing:.04em}

/* ---------- Page phase (parcours) ---------- */
.phase-page{padding:40px 0 64px}
.phase-page .phase-header{padding:0 0 24px;border-bottom:1px solid var(--border);margin-bottom:32px}
.phase-page .phase-header h1{margin:.2em 0 .4em;font-size:clamp(1.8rem,3vw,2.4rem)}
.phase-header-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:12px}
.phase-meta-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg2);border-radius:99px;font-family:var(--mono);font-size:.76rem;color:var(--text2);letter-spacing:.04em}
.step-block{margin:32px 0}
.step-title{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.3rem;margin:0 0 16px;color:var(--text);font-weight:500}
.step-title::before{content:'';width:24px;height:2px;background:var(--accent);flex-shrink:0}
.task-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.task{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:12px;transition:all .15s ease}
.task:hover{border-color:var(--border2);box-shadow:var(--shadow-sm)}
.task.is-done{background:var(--green-bg);border-color:var(--green-border)}
.task.is-done .task-title{text-decoration:line-through;color:var(--text3)}
.task.is-loading{opacity:.5;pointer-events:none}
.task-check{display:flex;gap:12px;align-items:flex-start;cursor:pointer;flex:1;min-width:0;user-select:none}
.task-check input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.check-box{flex:0 0 22px;width:22px;height:22px;border:2px solid var(--border2);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;margin-top:1px;position:relative;background:#fff;transition:all .15s ease}
.task-check input:checked + .check-box{background:var(--accent);border-color:var(--accent)}
.task-check input:checked + .check-box::after{content:'';width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-3px}
.task-check:hover .check-box{border-color:var(--accent)}
.task-title{font-size:.97rem;line-height:1.5;color:var(--text);font-weight:500}

.task-actions{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}
.btn-mini{display:inline-flex;align-items:center;gap:4px;padding:.4em .8em;font-size:.78rem;border-radius:8px;background:var(--bg2);color:var(--text2);text-decoration:none;border:1px solid var(--border);font-weight:500;white-space:nowrap;transition:all .15s ease}
.btn-mini:hover{background:var(--bg3);color:var(--text);text-decoration:none;transform:translateY(-1px)}
.btn-mini-accent{background:var(--accent-soft);color:var(--accent);border-color:rgba(229,82,61,.25)}
.btn-mini-violet{background:rgba(124,58,237,.08);color:#5b21b6;border-color:rgba(124,58,237,.25)}

.phase-nav{display:flex;justify-content:space-between;align-items:center;margin:48px 0 0;padding:24px;background:var(--bg2);border-radius:var(--radius-lg);gap:12px;flex-wrap:wrap}

/* ---------- Outils ---------- */
.tool-page{padding:40px 0 64px}
.tool-header{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.tool-header h1{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2rem);margin:.2em 0 .4em}
.tool-save-state{margin:0;font-size:.84rem;color:var(--text3);display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--bg2);border-radius:99px;border:1px solid var(--border)}
#save-indicator.saving{color:var(--text2)}
#save-indicator.saved{color:var(--green)}
#save-indicator.error{color:var(--red)}

/* ---------- Page Compte ---------- */
.account-page{padding:40px 0 64px;max-width:720px;margin:0 auto}
.account-page h1{font-family:var(--serif);font-size:2rem;margin:.2em 0 .4em}
.account-sections{display:flex;flex-direction:column;gap:24px;margin-top:32px}
.account-section{padding:28px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg)}
.account-section h2{font-family:var(--serif);font-size:1.3rem;margin:0 0 8px;color:var(--text);display:flex;align-items:center;gap:10px}
.account-section h2 .ic{font-size:1.4rem}
.account-section .muted{margin:0 0 16px;font-size:.92rem}
.danger-zone{border:2px solid rgba(220,38,38,.2);background:rgba(220,38,38,.02)}
.danger-zone h2{color:var(--red)}
.danger-zone .btn-danger{background:var(--red);color:#fff;border-color:var(--red)}
.danger-zone .btn-danger:hover{background:#a91b1b;border-color:#a91b1b;color:#fff}
.plan-current-card{display:flex;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,var(--accent-soft) 0%,transparent 100%);border-radius:12px;border:1px solid rgba(229,82,61,.18);margin:0 0 12px}
.plan-current-card .plan-emoji{font-size:2.4rem;line-height:1}
.plan-current-card h3{margin:0 0 4px;font-family:var(--serif);font-size:1.4rem;color:var(--text)}
.plan-current-card p{margin:0;color:var(--text2);font-size:.92rem}

/* ---------- Page 404 ---------- */
.error-page{padding:96px 0;text-align:center;min-height:60vh;display:flex;flex-direction:column;justify-content:center}
.error-page .big-404{font-family:var(--serif);font-size:clamp(5rem,12vw,9rem);color:var(--accent);line-height:1;margin:0 0 .1em;font-weight:500}
.error-page h1{font-family:var(--serif);font-size:1.8rem;margin:0 0 12px;color:var(--text)}
.error-page p{color:var(--text2);max-width:480px;margin:0 auto 24px}

/* ---------- Page Locked ---------- */
.locked-page{padding:64px 0;min-height:60vh;display:flex;align-items:center}
.locked-card{margin:0 auto;max-width:520px;padding:56px 40px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.locked-card::before{content:'';position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--accent),#7C3AED)}
.locked-card .lock-icon{font-size:4rem;margin:0 0 8px;line-height:1}
.locked-card h1{font-family:var(--serif);font-size:1.6rem;margin:.2em 0 .4em}
.locked-card .muted{margin:0 0 20px}
.locked-card .btn{margin:6px}

/* ---------- Page Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;margin-top:32px;align-items:start}
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr} }
.contact-aside{padding:28px;background:linear-gradient(135deg,#2D3863 0,#1A1F2E 100%);border-radius:var(--radius-lg);color:#fff;position:sticky;top:80px}
.contact-aside h3{color:#fff;font-family:var(--serif);font-size:1.2rem;margin:0 0 12px}
.contact-aside p{color:rgba(255,255,255,.8);font-size:.94rem;margin:8px 0;line-height:1.55}
.contact-aside a{color:#fff;text-decoration:underline}
.contact-aside .contact-list{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:14px}
.contact-aside .contact-list li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem}
.contact-aside .contact-list .ic{flex-shrink:0;font-size:1.1rem}

/* ---------- Page narrow (general) ---------- */
.page-narrow{padding:40px 0 64px;max-width:720px;margin:0 auto}
.page-hero{margin-bottom:32px}
.page-hero h1{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.4rem);margin:.1em 0 .4em}
.page-hero .lead{font-size:1.05rem;color:var(--text2)}

/* ---------- Flash messages améliorés ---------- */
.flash{padding:12px 0;border-bottom:1px solid var(--border);font-size:.94rem}
.flash-info{background:linear-gradient(180deg,rgba(26,135,84,.08),rgba(26,135,84,.02));color:#0a4b2c}
.flash-error{background:linear-gradient(180deg,rgba(220,38,38,.08),rgba(220,38,38,.02));color:#7f1d1d}
.flash::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:10px;vertical-align:middle}

/* ---------- Bouton large variants ---------- */
.btn-lg{padding:1em 1.8em;font-size:1.02rem;border-radius:12px}
.btn-primary{box-shadow:0 4px 14px rgba(229,82,61,.25)}
.btn-primary:hover{box-shadow:0 6px 20px rgba(229,82,61,.35)}
.btn-block{display:flex;width:100%;justify-content:center}

/* ---------- Loading spinner / save dot ---------- */
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}
.dot-saving::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--text2);margin-right:6px;animation:pulse 1s infinite}

/* ---------- Cookie banner amélioré ---------- */
.cookie-banner{background:#1A1F2E;color:#fff;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 -10px 40px rgba(0,0,0,.25)}
.cookie-inner{padding:18px 24px}
.cookie-banner p{font-size:.9rem;line-height:1.5;flex:1;min-width:280px;color:rgba(255,255,255,.9)}
.cookie-banner a{color:#fff;text-decoration:underline}
.cookie-actions .btn-ghost{color:rgba(255,255,255,.9);border-color:rgba(255,255,255,.25);background:transparent}
.cookie-actions .btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff}
.cookie-actions .btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:none}

/* Quick links dashboard */
.dash-quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0 40px}
@media (max-width:680px){ .dash-quick-links{grid-template-columns:1fr} }
.quick-link{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#fff;border:1px solid var(--border);border-radius:12px;text-decoration:none;color:inherit;transition:all .15s ease}
.quick-link:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-sm);text-decoration:none}
.quick-link .quick-ic{font-size:1.8rem;flex-shrink:0}
.quick-link strong{display:block;color:var(--text);font-size:1rem;font-weight:600;margin-bottom:2px}
.quick-link small{color:var(--text3);font-size:.84rem}

.dash-section-title{font-family:var(--serif);font-size:1.4rem;margin:16px 0 16px;color:var(--text);font-weight:500}
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}

/* Btn variants supplémentaires */
.btn-danger{background:var(--red);color:#fff;border-color:var(--red)}
.btn-danger:hover{background:#a91b1b;border-color:#a91b1b;color:#fff}
.btn-success{background:var(--green) !important;color:#fff !important;border-color:var(--green) !important}

/* Tool card grid amélioré */
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:20px}
.tool-card{display:flex;flex-direction:column;gap:6px;padding:24px 22px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;text-decoration:none;transition:all .15s ease;position:relative;min-height:130px}
.tool-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow-md);text-decoration:none}
.tool-card.is-locked{background:var(--bg2);opacity:.7}
.tool-card.is-locked:hover{transform:none;border-color:var(--border2);box-shadow:none}
.tool-card.is-locked h3{color:var(--text3)}
.tool-card h3{font-family:var(--sans);font-size:1.05rem;font-weight:600;margin:0 0 6px;color:var(--text)}
.tool-card p{margin:0;line-height:1.5}

/* Prompts grid amélioré */
.prompts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:20px}
.prompt-card{display:flex;flex-direction:column;gap:8px;padding:20px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;text-decoration:none;position:relative;transition:all .15s ease;min-height:130px}
.prompt-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}
.prompt-card h3{font-family:var(--sans);font-size:1rem;font-weight:600;margin:6px 0 0;color:var(--text);flex:1}
.ai-tag{display:inline-block;padding:3px 10px;border-radius:99px;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#fff;font-weight:600;align-self:flex-start}
.ai-claude{background:#cc785c}
.ai-chatgpt{background:#10a37f}
.ai-perplexity{background:#1f8da6}
.ai-ia{background:var(--text3)}

/* Prompt page */
.prompt-page{padding:40px 0 64px}
.prompt-fields{margin:24px 0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow:hidden}
.prompt-fields summary{padding:18px 24px;cursor:pointer;font-weight:500;list-style:none;color:var(--text);background:var(--bg2);border-bottom:1px solid var(--border)}
.prompt-fields summary::-webkit-details-marker{display:none}
.prompt-fields[open] summary{border-bottom:1px solid var(--border)}
.prompt-fields-body{padding:20px 24px}
.prompt-block{margin:20px 0;background:#1A1F2E;border-radius:var(--radius-lg);overflow:hidden;color:#fff;box-shadow:var(--shadow-md)}
.prompt-toolbar{display:flex;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.1);flex-wrap:wrap}
.prompt-toolbar .muted{color:rgba(255,255,255,.6)}
.prompt-toolbar .btn-primary{box-shadow:none}
#prompt-text{margin:0;padding:20px 24px;font-family:var(--mono);font-size:.86rem;line-height:1.6;white-space:pre-wrap;color:rgba(255,255,255,.95);max-height:60vh;overflow:auto}

/* Locked tool badge */
.tool-plan-badge{display:inline-block;margin-top:auto;padding:3px 10px;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#fff;border-radius:99px;align-self:flex-start;font-weight:600}

/* User plan badge in header */
.user-plan-badge{display:inline-flex;align-items:center;padding:5px 12px;border-radius:99px;background:var(--accent-soft);color:var(--accent2);font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;margin-right:8px;font-weight:600;border:1px solid rgba(229,82,61,.18)}

/* ═══════════════════════════════════════════════════════════════════
   HOME — sections additionnelles + rythme
   ═══════════════════════════════════════════════════════════════════ */

/* Bande logos / trust */
.trust-strip{padding:32px 0;background:var(--bg);border-bottom:1px solid var(--border)}
.trust-label{text-align:center;font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text3);margin:0 0 16px}
.trust-logos{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;font-family:var(--serif);font-size:1.05rem;color:var(--text2);font-weight:500;letter-spacing:.02em;opacity:.72}
.trust-logos span:nth-child(even){color:var(--text4);font-size:1.3rem}

/* Comment ça marche */
.how-it-works{padding:80px 0;background:#fff;position:relative}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;position:relative}
@media (max-width:860px){ .how-grid{grid-template-columns:1fr} }
.how-step{position:relative;padding:32px 28px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform .15s ease}
.how-step:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--accent)}
.how-num{font-family:var(--serif);font-size:3.2rem;color:var(--accent);line-height:1;margin:0 0 14px;font-weight:500;opacity:.85}
.how-step h3{font-family:var(--sans);font-size:1.15rem;font-weight:600;margin:0 0 10px;color:var(--text)}
.how-step p{margin:0;color:var(--text2);line-height:1.55;font-size:.96rem}

/* Détail des 10 outils */
.tools-detail{padding:80px 0;background:var(--bg2)}
.tools-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:40px;max-width:920px;margin-left:auto;margin-right:auto}
@media (max-width:680px){ .tools-detail-grid{grid-template-columns:1fr} }
.tools-detail-grid article{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;background:#fff;border:1px solid var(--border);border-radius:12px;transition:all .15s ease}
.tools-detail-grid article:hover{border-color:var(--accent);transform:translateX(2px)}
.tools-detail-grid .tool-emoji{font-size:1.8rem;line-height:1;flex-shrink:0}
.tools-detail-grid h4{margin:0 0 4px;font-family:var(--sans);font-size:1rem;color:var(--text);font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tools-detail-grid p{margin:0;color:var(--text2);font-size:.88rem;line-height:1.5}
.tools-detail-grid article.pro{border:2px solid var(--accent);background:linear-gradient(135deg,var(--accent-soft) 0%,#fff 100%)}
.pro-badge{display:inline-block;padding:2px 8px;font-family:var(--mono);font-size:.62rem;background:var(--accent);color:#fff;border-radius:99px;letter-spacing:.06em;font-weight:600}

/* Témoignages */
.testimonials{padding:80px 0;background:#fff}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
@media (max-width:920px){ .testimonials-grid{grid-template-columns:1fr;max-width:540px;margin-left:auto;margin-right:auto} }
.testimonial{padding:28px 26px;background:linear-gradient(180deg,#fff,var(--bg));border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:18px;position:relative;transition:transform .15s ease,box-shadow .15s ease}
.testimonial::before{content:'"';position:absolute;top:8px;left:18px;font-family:Georgia,serif;font-size:4.2rem;color:var(--accent);opacity:.18;line-height:1}
.testimonial:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.testimonial-quote{font-family:var(--serif);font-size:1rem;line-height:1.6;color:var(--text);margin:24px 0 0;font-style:italic;position:relative}
.testimonial-author{display:flex;gap:12px;align-items:center;margin-top:auto;padding-top:14px;border-top:1px dashed var(--border)}
.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#C13E2A);color:#fff;font-family:var(--serif);font-weight:500;font-size:1.2rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.testimonial-author strong{display:block;font-size:.92rem;color:var(--text);font-weight:600}
.testimonial-author small{display:block;font-size:.78rem;color:var(--text3);margin-top:2px}
.testimonial-note{margin-top:24px}

/* Garanties */
.guarantees{padding:80px 0;background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.guarantees-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
@media (max-width:920px){ .guarantees-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .guarantees-grid{grid-template-columns:1fr} }
.guarantee{padding:24px 22px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;transition:transform .15s ease}
.guarantee:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:var(--accent)}
.g-icon{font-size:2.2rem;margin:0 0 10px;line-height:1}
.guarantee h3{font-family:var(--sans);font-size:1.02rem;font-weight:600;margin:0 0 8px;color:var(--text)}
.guarantee p{margin:0;color:var(--text2);font-size:.88rem;line-height:1.5}

/* Comparatif */
.compare-toggle{margin:32px auto 0;max-width:920px}
.compare-toggle summary{padding:14px 24px;cursor:pointer;list-style:none;text-align:center;font-family:var(--mono);font-size:.84rem;letter-spacing:.06em;color:var(--accent);background:var(--bg);border:1px solid var(--border);border-radius:99px;display:inline-block;margin:0 auto;transition:all .15s ease}
.compare-toggle summary::-webkit-details-marker{display:none}
.compare-toggle summary:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.compare-toggle{text-align:center}
.compare-table-wrap{margin-top:20px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:auto}
.compare-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:560px}
.compare-table th,.compare-table td{padding:12px 14px;text-align:center;border-bottom:1px solid var(--border)}
.compare-table thead th{background:var(--bg);font-family:var(--serif);font-weight:500;font-size:1rem}
.compare-table thead th small{display:block;font-family:var(--mono);font-size:.72rem;color:var(--text3);letter-spacing:.06em;margin-top:4px}
.compare-table tbody th{text-align:left;font-weight:500;color:var(--text);background:#fff}
.compare-table tbody td{color:var(--text)}
.compare-table tbody tr:nth-child(even){background:var(--bg)}
.compare-table tbody tr:nth-child(even) th{background:var(--bg)}
.compare-table tbody td:contains("✓"){color:var(--green)}
.compare-table tr.row-pro th{color:var(--accent);font-weight:600}
.compare-table tr.row-pro td:last-child{color:var(--accent);font-weight:700}

/* MAJ Info */
.last-update{padding:48px 0;background:var(--bg)}
.update-card{display:flex;gap:18px;align-items:center;padding:20px 24px;background:#fff;border:1px solid var(--border);border-left:4px solid var(--green);border-radius:12px;max-width:760px;margin:0 auto}
.update-card .update-icon{font-size:1.8rem;line-height:1;flex-shrink:0}
.update-card strong{color:var(--text);font-size:.96rem;display:block;margin-bottom:4px}
.update-card p{margin:0}

/* Sectionneur diagonal entre certaines sections */
section + section:not(.last-update):not(.cta-final){border-top:1px solid transparent}

/* Réduire le padding global des sections lourdes pour éviter "vide" */
.features, .pricing, .accompagnement, .faq{padding:72px 0}
.kpi-strip{padding:32px 0}

/* ═══════════════════════════════════════════════════════════════════
   CONVERSION — sections orientées CR
   ═══════════════════════════════════════════════════════════════════ */

/* Social bar — étroite */
.social-bar{padding:16px 0;background:linear-gradient(90deg,var(--accent) 0,#C13E2A 100%);color:#fff}
.social-bar-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
@media (max-width:680px){ .social-bar-inner{justify-content:center;text-align:center} }
.social-stat,.social-rating{display:flex;align-items:center;gap:12px}
.social-num{font-family:var(--serif);font-size:1.6rem;font-weight:600;line-height:1}
.social-lbl{font-size:.88rem;opacity:.92}
.stars{font-size:1.1rem;letter-spacing:.08em;color:#FFD700}
.social-rating strong{color:#fff}

/* Hero CTA — bouton plus impactant */
.btn-hero{padding:1.1em 2em !important;font-size:1.08rem !important;font-weight:600;box-shadow:0 8px 24px rgba(229,82,61,.35) !important}
.btn-hero:hover{transform:translateY(-2px) !important;box-shadow:0 12px 32px rgba(229,82,61,.45) !important}

/* Problem / Solution */
.problem-solution{padding:80px 0;background:var(--bg)}
.problem-solution h2{text-align:center;max-width:760px;margin:0 auto 48px}
.problem-solution h2 em{color:var(--red);font-style:italic}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px}
@media (max-width:860px){ .problem-grid{grid-template-columns:1fr} }
.problem-card{padding:28px 24px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;transition:transform .15s ease}
.problem-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm)}
.problem-card .ic{font-size:2.4rem;line-height:1;display:block;margin-bottom:14px}
.problem-card h3{font-family:var(--sans);font-size:1.08rem;font-weight:600;margin:0 0 10px;color:var(--text)}
.problem-card p{margin:0;color:var(--text2);font-size:.92rem;line-height:1.55}

.problem-solution-bridge{text-align:center;margin-top:48px}
.problem-solution-bridge p:first-child{font-size:2rem;color:var(--accent);margin:0 0 8px;line-height:1}
.solution-title{font-family:var(--serif);font-size:clamp(1.4rem,2.4vw,1.9rem);margin:0 0 24px;color:var(--text);font-weight:500}
.solution-title em{color:var(--accent);font-style:italic}

/* Hero eyebrow style étoile */
.hero-text .eyebrow{display:inline-flex;align-items:center;gap:4px;background:var(--accent-soft);color:var(--accent2);padding:6px 14px;border-radius:99px;border:1px solid rgba(229,82,61,.2);font-weight:500;letter-spacing:.04em}

/* Pricing — featured plan en avant + value anchoring */
.pricing-grid{align-items:start}
.plan-featured{order:0}
@media (min-width:921px){
  .pricing-grid{grid-template-columns:1fr 1.15fr 1fr}
  .plan-featured{transform:scale(1.05);z-index:2}
}
.plan-featured .plan-tier{background:linear-gradient(135deg,var(--accent),#C13E2A);color:#fff}
.price-anchor{margin:0;font-family:var(--mono);font-size:.85rem;color:var(--text3);text-align:left;line-height:1}
.price-anchor s{text-decoration:line-through;opacity:.8}
.plan .btn-block{margin-top:8px}

/* Témoignages — étoiles */
.testimonial-stars{font-size:1rem;letter-spacing:.06em;color:#FFB400;margin-bottom:4px;position:relative}

/* CTA final XL */
.cta-final-xl{padding:96px 0;background:linear-gradient(135deg,#2D3863 0%,#1A1F2E 100%);color:#fff;text-align:center}
.cta-final-xl::before{content:'';position:absolute}
.cta-final-xl h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);color:#fff;max-width:820px;margin:0 auto .4em;line-height:1.15}
.cta-final-xl h2 em{color:var(--accent);font-style:italic}
.cta-final-xl .muted{color:rgba(255,255,255,.85);max-width:520px;margin:0 auto 32px}
.cta-final-xl .eyebrow{color:rgba(255,255,255,.55)}
.cta-final-xl .btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 24px rgba(229,82,61,.35)}
.cta-final-xl .btn-primary:hover{background:#C13E2A;border-color:#C13E2A;color:#fff}
.cta-final-xl .btn-ghost{color:rgba(255,255,255,.92);border-color:rgba(255,255,255,.35);background:transparent}
.cta-final-xl .btn-ghost:hover{background:rgba(255,255,255,.08);color:#fff;border-color:#fff}

/* Sticky CTA — mobile-first */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--border);box-shadow:0 -8px 24px rgba(0,0,0,.08);z-index:90;padding:12px 16px;animation:slideUp .25s ease}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.sticky-cta-inner{display:flex;align-items:center;gap:14px;max-width:1100px;margin:0 auto}
.sticky-cta-text{flex:1;display:flex;flex-direction:column;line-height:1.3;min-width:0}
.sticky-cta-text strong{font-size:.96rem;color:var(--text)}
.sticky-cta-text span{font-size:.78rem;color:var(--text3)}
.sticky-cta .btn{flex-shrink:0}
@media (max-width:520px){
  .sticky-cta-text strong{font-size:.88rem}
  .sticky-cta-text span{display:none}
  .sticky-cta .btn{padding:.7em 1em;font-size:.92rem}
}

/* Padding réduit FAQ pour rythme */
.faq{padding:64px 0}

/* ═══════════════════════════════════════════════════════════════════
   ONBOARDING WIZARD
   ═══════════════════════════════════════════════════════════════════ */
.onboarding-body{background:linear-gradient(180deg,#FAFAF7 0,#F0EFE8 100%);min-height:100vh}
.onboarding-body .site-header,.onboarding-body .site-footer,.onboarding-body .cookie-banner{display:none}
.onboard-wrap{max-width:680px;margin:0 auto;padding:40px 24px 60px}
.onboard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.onboard-brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.2rem;color:var(--text)}
.onboard-brand .brand-mark{background:var(--blue);color:#fff;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:600;font-size:.85rem}
.onboard-skip{background:transparent;border:none;color:var(--text3);font-family:inherit;font-size:.92rem;cursor:pointer;padding:8px 12px}
.onboard-skip:hover{color:var(--accent)}

.onboard-progress{height:4px;background:rgba(229,82,61,.12);border-radius:99px;overflow:hidden;margin-bottom:8px}
.onboard-progress-bar{height:100%;width:var(--p,0%);background:linear-gradient(90deg,var(--accent),#C13E2A);border-radius:99px;transition:width .3s ease}
.onboard-step-counter{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--text3);margin:0 0 36px;text-align:right}
.onboard-step-counter strong{color:var(--accent)}

.onboard-title{font-family:var(--serif);font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 10px;line-height:1.2;font-weight:500}
.onboard-subtitle{color:var(--text2);margin:0 0 32px;font-size:1.02rem}

.onboard-options{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
.onboard-option{display:flex;align-items:center;gap:16px;padding:16px 18px;background:#fff;border:2px solid var(--border);border-radius:14px;cursor:pointer;transition:all .15s ease;position:relative}
.onboard-option input{position:absolute;opacity:0;pointer-events:none}
.onboard-option:hover{border-color:var(--accent);transform:translateX(2px);box-shadow:var(--shadow-sm)}
.onboard-option.is-checked{border-color:var(--accent);background:linear-gradient(135deg,var(--accent-soft) 0%,#fff 60%);box-shadow:0 8px 24px rgba(229,82,61,.15)}
.onboard-option.is-checked::after{content:'✓';position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:1.4rem;font-weight:700}
.onboard-icon{font-size:2.2rem;line-height:1;flex-shrink:0;width:48px;text-align:center}
.onboard-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.onboard-content strong{font-size:1.02rem;color:var(--text);font-weight:600}
.onboard-content small{color:var(--text2);font-size:.88rem}

.onboard-text-input{width:100%;padding:18px 22px;font:inherit;font-size:1.1rem;background:#fff;border:2px solid var(--border);border-radius:14px;color:var(--text);margin-bottom:32px;transition:border-color .15s ease,box-shadow .15s ease}
.onboard-text-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}

.onboard-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}
.onboard-actions .btn-primary:disabled{opacity:.5;pointer-events:none}
.onboard-foot{text-align:center;margin-top:28px}

/* ═══════════════════════════════════════════════════════════════════
   DASHBOARD — recommandation + continue
   ═══════════════════════════════════════════════════════════════════ */
.reco-hero{margin:0 0 32px;background:linear-gradient(135deg,#2D3863 0,#1A1F2E 100%);color:#fff;border-radius:var(--radius-lg);overflow:hidden;position:relative;box-shadow:0 12px 32px rgba(45,56,99,.18)}
.reco-hero::before{content:'';position:absolute;top:-100px;right:-50px;width:300px;height:300px;background:radial-gradient(circle,rgba(229,82,61,.22),transparent 70%);pointer-events:none}
.reco-hero-inner{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:36px 40px;position:relative}
@media (max-width:680px){ .reco-hero-inner{grid-template-columns:1fr;padding:28px 24px;text-align:center} }
.reco-hero-text h2{font-family:var(--serif);font-size:1.8rem;color:#fff;margin:6px 0 10px;line-height:1.2}
.reco-hero-text h2 em{color:var(--accent);font-style:italic}
.reco-hero-text p{color:rgba(255,255,255,.85);margin:0 0 20px;font-size:1rem}
.reco-eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin:0}
.reco-hero-text .btn-primary{background:var(--accent);box-shadow:0 6px 20px rgba(229,82,61,.35)}
.reco-hero-icon{font-size:6rem;line-height:1;opacity:.92}

.continue-banner{display:flex;align-items:center;gap:18px;padding:18px 24px;background:linear-gradient(90deg,var(--accent-soft) 0%,#fff 100%);border:1px solid rgba(229,82,61,.2);border-left:4px solid var(--accent);border-radius:12px;margin:0 0 32px}
.continue-banner .ic{font-size:1.6rem;line-height:1;flex-shrink:0}
.continue-banner strong{display:block;color:var(--text);font-size:1rem;margin-bottom:2px}
.continue-banner p{margin:0;font-size:.92rem;color:var(--text2)}
.continue-banner > div{flex:1}

.phase-card.is-recommended{border:2px solid var(--accent);box-shadow:0 8px 24px rgba(229,82,61,.18)}
.reco-badge{position:absolute;top:-10px;right:14px;padding:4px 10px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;border-radius:99px;font-weight:600}

/* ═══════════════════════════════════════════════════════════════════
   ADMIN — fiche user enrichie + activité
   ═══════════════════════════════════════════════════════════════════ */
.user-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--border);margin-bottom:24px;flex-wrap:wrap}
.user-detail-head h2{margin:0 0 6px;font-family:var(--serif);font-size:1.5rem}
.user-meta{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--text2);text-align:right}
.user-meta strong{color:var(--text)}

.user-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
@media (max-width:760px){ .user-stats-grid{grid-template-columns:repeat(2,1fr)} }
.user-stat{padding:18px;background:#fff;border:1px solid var(--border);border-radius:10px;text-align:center}
.user-stat .stat-num{display:block;font-family:var(--serif);font-size:1.8rem;color:var(--accent);font-weight:500;line-height:1}
.user-stat .stat-lbl{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);margin-top:6px}

.phase-mini-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}
.phase-mini-list li{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;font-size:.88rem}
.phase-mini-name{color:var(--text);font-weight:500}
.phase-mini-pct{font-family:var(--mono);font-size:.78rem;color:var(--text3)}
.phase-mini-bar{height:6px;background:var(--bg2);border-radius:99px;overflow:hidden}
.phase-mini-bar span{display:block;height:100%;background:var(--accent);transition:width .3s ease}

.tool-data-item{margin-bottom:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}
.tool-data-item summary{padding:10px 14px;cursor:pointer;font-size:.92rem;list-style:none}
.tool-data-item summary::-webkit-details-marker{display:none}
.tool-data-item summary::before{content:'▸';margin-right:6px;color:var(--text3);transition:transform .15s ease;display:inline-block}
.tool-data-item[open] summary::before{transform:rotate(90deg)}
.tool-data-content{margin:0;padding:12px 14px;border-top:1px solid var(--border);font-family:var(--mono);font-size:.82rem;color:var(--text2);background:#fff;border-radius:0 0 8px 8px;white-space:pre-wrap;max-height:240px;overflow:auto}

/* Activity feed */
.activity-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}
@media (max-width:920px){ .activity-kpis{grid-template-columns:repeat(2,1fr)} }
.activity-feed{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.activity-item{display:flex;gap:14px;padding:14px 18px;background:#fff;border:1px solid var(--border);border-radius:10px;align-items:flex-start}
.activity-item:hover{background:var(--bg)}
.activity-icon{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.activity-item.activity-task_done .activity-icon{background:var(--green-bg)}
.activity-item.activity-tool_save .activity-icon{background:var(--accent-soft)}
.activity-item.activity-signup .activity-icon{background:#fff5db}
.activity-item.activity-order_paid .activity-icon{background:var(--green-bg)}
.activity-item.activity-contact .activity-icon{background:rgba(45,56,99,.08)}
.activity-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.activity-body p{margin:0;font-size:.92rem;color:var(--text)}
.activity-body strong{color:var(--text)}
.activity-body a{color:var(--accent);font-weight:500}
.activity-body time{font-size:.76rem;color:var(--text3);font-family:var(--mono)}

/* ═══════════════════════════════════════════════════════════════════
   UX — animation cocher ludique
   ═══════════════════════════════════════════════════════════════════ */
@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes confetti{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--cx),var(--cy)) rotate(var(--cr));opacity:0}}

.task-check input:checked + .check-box{animation:pop .3s ease}
.task.just-checked{animation:slideOk .35s ease}
@keyframes slideOk{0%{background:var(--accent-soft)}100%{background:var(--green-bg)}}

/* Tooltip pour aider à comprendre les actions */
[data-tooltip]{position:relative}
[data-tooltip]:hover::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#1A1F2E;color:#fff;padding:4px 10px;border-radius:6px;font-size:.75rem;white-space:nowrap;z-index:10;pointer-events:none}

/* ═══════════════════════════════════════════════════════════════════
   FIXES — Admin toolbar + filtres + pagination + hints
   ═══════════════════════════════════════════════════════════════════ */

/* Toolbar uniforme en haut des listes admin */
.admin-page-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.admin-page-toolbar .admin-search{margin:0;max-width:none}

/* Activity filtres */
.activity-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:24px 0 16px;flex-wrap:wrap}
.activity-toolbar h2{margin:0;font-family:var(--serif);font-size:1.3rem}
.activity-toolbar h2 .muted{font-family:var(--mono);font-size:.78rem;font-weight:400}
.activity-filters{display:flex;gap:6px;flex-wrap:wrap}
.activity-filter{padding:6px 12px;font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:var(--text2);background:var(--bg);border:1px solid var(--border);border-radius:99px;text-decoration:none;transition:all .15s ease}
.activity-filter:hover{background:var(--bg2);color:var(--text);text-decoration:none;border-color:var(--border2)}
.activity-filter.is-active{background:var(--accent);color:#fff;border-color:var(--accent)}

/* Activity pagination */
.activity-pagination{display:flex;justify-content:space-between;align-items:center;margin:24px 0 0;padding:18px;background:var(--bg);border-radius:10px}
.activity-pagination span{font-family:var(--mono)}

/* Onboarding hint sur outil (first time) */
.tool-hint{display:flex;align-items:flex-start;gap:14px;padding:18px 22px;background:linear-gradient(135deg,#FFFBEA 0%,#FFF5D1 100%);border:1px solid #E6C878;border-radius:12px;margin:0 0 20px;position:relative;animation:fadeSlide .35s ease}
@keyframes fadeSlide{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.tool-hint .hint-icon{font-size:1.8rem;line-height:1;flex-shrink:0}
.tool-hint strong{display:block;color:#7a5e00;font-size:1rem;margin-bottom:4px}
.tool-hint p{margin:0;color:#7a5e00;font-size:.92rem;line-height:1.5}
.tool-hint .hint-close{position:absolute;top:8px;right:12px;background:transparent;border:none;color:#7a5e00;font-size:1.4rem;cursor:pointer;padding:4px 8px;line-height:1;border-radius:6px;opacity:.7}
.tool-hint .hint-close:hover{background:rgba(122,94,0,.1);opacity:1}
.tool-hint > div{flex:1;padding-right:24px}

/* Impersonate banner sur layout main (visible quand admin imite un user) */
.impersonate-banner-top{position:sticky;top:0;z-index:120;display:flex;justify-content:space-between;align-items:center;padding:10px 24px;background:linear-gradient(90deg,#7B5EA7 0%,#5b21b6 100%);color:#fff;font-size:.9rem;gap:14px;flex-wrap:wrap}
.impersonate-banner-top .btn-sm{padding:.4em .9em;font-size:.84rem;background:#fff;color:#5b21b6;border-color:#fff}
.impersonate-banner-top .btn-sm:hover{background:rgba(255,255,255,.92);color:#5b21b6;border-color:rgba(255,255,255,.92)}

/* ═══════════════════════════════════════════════════════════════════
   IA — CTAs, modal, crédits
   ═══════════════════════════════════════════════════════════════════ */

/* AI CTA bar sur les outils */
.ai-cta-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:linear-gradient(135deg,#7B5EA7 0%,#5b21b6 100%);color:#fff;border-radius:14px;margin:0 0 18px;box-shadow:0 8px 24px rgba(123,94,167,.25);flex-wrap:wrap}
.ai-cta-bar strong{display:block;color:#fff;font-size:1rem;margin-bottom:2px}
.ai-cta-bar .muted{color:rgba(255,255,255,.78) !important}
.ai-cta-bar .btn-primary{background:#fff;color:#5b21b6;border-color:#fff;flex-shrink:0;box-shadow:none;font-weight:600}
.ai-cta-bar .btn-primary:hover{background:rgba(255,255,255,.92);color:#5b21b6;border-color:rgba(255,255,255,.92);box-shadow:none}

.ai-input-card{margin:0 0 24px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px 20px}
.ai-input-card summary{cursor:pointer;font-weight:500;font-size:.95rem;color:var(--text);list-style:none;padding:6px 0}
.ai-input-card summary::-webkit-details-marker{display:none}
.ai-input-card summary::before{content:'▸';margin-right:8px;color:var(--accent);transition:transform .15s ease;display:inline-block}
.ai-input-card[open] summary::before{transform:rotate(90deg)}
.ai-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media (max-width:680px){ .ai-input-grid{grid-template-columns:1fr} }
.ai-input-grid label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;color:var(--text2)}
.ai-input-grid input{padding:.55em .85em;font:inherit;background:#fff;border:1px solid var(--border2);border-radius:8px;color:var(--text)}
.ai-input-grid input:focus{outline:none;border-color:#7B5EA7;box-shadow:0 0 0 3px rgba(123,94,167,.15)}

/* AI Modal */
#ai-modal{position:fixed;inset:0;z-index:200;display:none}
#ai-modal.is-open{display:flex;align-items:center;justify-content:center}
.ai-modal-overlay{position:absolute;inset:0;background:rgba(15,18,30,.6);backdrop-filter:blur(4px)}
.ai-modal-card{position:relative;background:#fff;width:90%;max-width:700px;max-height:85vh;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0,0,0,.3);overflow:hidden;animation:slideUp .25s ease}
.ai-modal-card header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#FFFBEA 0%,#FFF5D1 100%)}
.ai-modal-card header h3{margin:0;font-family:var(--serif);font-size:1.25rem;color:var(--text)}
.ai-modal-close{background:transparent;border:none;color:var(--text2);font-size:1.8rem;cursor:pointer;padding:0 8px;line-height:1;border-radius:6px}
.ai-modal-close:hover{background:var(--bg2);color:var(--text)}
.ai-modal-body{flex:1;overflow:auto;padding:24px;line-height:1.6;color:var(--text);font-size:.95rem}
.ai-modal-actions{display:flex;gap:8px;justify-content:flex-end;padding:16px 24px;border-top:1px solid var(--border);background:var(--bg);flex-wrap:wrap}

.ai-output{font-size:.92rem;line-height:1.6}
.ai-output h4{font-family:var(--sans);font-size:1rem;font-weight:600;margin:18px 0 8px;color:var(--accent2);border-bottom:1px solid var(--border);padding-bottom:4px}
.ai-output h5{font-family:var(--sans);font-size:.92rem;font-weight:600;margin:12px 0 4px;color:var(--text)}
.ai-output ul{padding-left:22px;margin:8px 0}
.ai-output li{margin:4px 0}
.ai-output p{margin:6px 0}
.ai-output strong{color:var(--text)}

.ai-quota{margin-top:18px;padding-top:12px;border-top:1px dashed var(--border)}

/* AI Credits card sur dashboard */
.ai-credits-card{display:grid;grid-template-columns:1.5fr 2fr auto;gap:20px;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#FFFBEA 0%,#FFF5D1 100%);border:1px solid #E6C878;border-radius:14px;margin:0 0 24px}
@media (max-width:680px){ .ai-credits-card{grid-template-columns:1fr;text-align:center} }
.aic-left{display:flex;align-items:center;gap:14px}
.aic-emoji{font-size:2.2rem;line-height:1}
.aic-left strong{display:block;color:#5b21b6;font-size:1.05rem}
.aic-bar{height:8px;background:rgba(123,94,167,.15);border-radius:99px;overflow:hidden}
.aic-bar span{display:block;height:100%;background:linear-gradient(90deg,#7B5EA7,#5b21b6);border-radius:99px;transition:width .4s ease}
.ai-credits-card .btn-primary{background:#5b21b6;border-color:#5b21b6;color:#fff;flex-shrink:0}
.ai-credits-card .btn-primary:hover{background:#4a1a96;border-color:#4a1a96;color:#fff}

/* Mes générations IA */
.generations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:24px}
.gen-card{display:flex;flex-direction:column;gap:6px;padding:20px;background:#fff;border:1px solid var(--border);border-radius:12px;text-decoration:none;color:inherit;position:relative;transition:all .15s ease;min-height:160px}
.gen-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}
.gen-card.is-starred{border-color:#E6C878;background:linear-gradient(135deg,#FFFBEA 0%,#fff 100%)}
.gen-card .gen-emoji{font-size:1.8rem;line-height:1}
.gen-card strong{color:var(--text);font-size:1rem;font-weight:600;margin-top:4px}
.gen-card .gen-star{position:absolute;top:10px;right:14px;font-size:1.2rem}
.gen-card time{margin-top:auto;font-family:var(--mono);font-size:.74rem}
