:root{--ink:#142319;--forest:#17331f;--leaf:#78952e;--cream:#f4f1e8;--paper:#fbfaf5;--muted:#667168;--line:rgba(20,35,25,.14);--white:#fff;--red:#8a493d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5}.wrap{width:min(calc(100% - 48px),1120px);margin:auto}.topbar{height:70px;padding:0 max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(251,250,245,.96);position:sticky;top:0;z-index:20}.brand{font-weight:800}.brand span{font-size:.7rem;color:var(--muted);margin-left:8px;text-transform:uppercase;letter-spacing:.1em}.lang button{border:0;background:none;font-weight:800;color:var(--muted);padding:8px}.lang button.active{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.hero{background:var(--cream);padding:76px 0}.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--leaf);font-size:.72rem;font-weight:800}.hero h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(3rem,6vw,5.8rem);line-height:.94;letter-spacing:-.05em;margin:12px 0 24px}.lead{color:var(--muted);font-size:1.15rem;max-width:680px}.hero-card{background:var(--forest);color:#fff;border-radius:24px;padding:28px}.hero-step{display:flex;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14)}.hero-step:last-child{border:0}.hero-step b{color:#b8cf74;font-size:.78rem}.diagnostic{padding:58px 0 80px;display:grid;gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 16px 44px rgba(18,40,25,.05)}.hidden{display:none!important}.step-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:28px}.step-head>span{color:var(--leaf);font-size:.78rem;font-weight:800}.step-head h2{font-family:Georgia,serif;font-weight:400;font-size:2rem;margin:0}.step-head p{margin:5px 0 0;color:var(--muted)}.searchbox{display:grid;grid-template-columns:1fr auto;gap:10px}.searchbox input,.questions select{width:100%;min-height:52px;border:1px solid #ccd3cc;border-radius:12px;background:#fff;padding:11px 14px;font:inherit}.searchbox button,.primary,.ghost{border:0;border-radius:999px;padding:0 24px;font-weight:800;min-height:50px;cursor:pointer}.searchbox button,.primary{background:var(--leaf);color:#fff}.ghost{background:#eef1e5;color:var(--ink)}.address-results{margin-top:10px;display:grid;gap:6px}.address-result{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;text-align:left;cursor:pointer}.address-result:hover{background:#f3f5ed}.status{margin-top:12px;color:var(--muted);font-size:.88rem}.status.error{color:var(--red)}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{background:var(--cream);border-radius:16px;padding:18px}.metric small{display:block;color:var(--muted);margin-bottom:8px}.metric strong{font-size:1.05rem}.climate-note{margin-top:18px;border-left:3px solid var(--leaf);padding:12px 18px;background:#f8f8f2}.climate-note p{margin:5px 0 0;color:var(--muted)}.questions{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:28px}.questions label>span{display:block;font-size:.82rem;font-weight:800;margin-bottom:7px}.summary{background:var(--forest);color:#fff;border-radius:16px;padding:18px 20px;margin-bottom:20px}.summary strong{color:#c2d87c}.featured-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px}.featured-head h3{font-family:Georgia,serif;font-size:1.5rem;font-weight:400;margin:0}.featured-head p{margin:.3rem 0 0;color:var(--muted)}.top-plants{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.more-plants{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:6px}.plant-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;display:flex;flex-direction:column;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease}.plant-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(18,40,25,.08)}.plant-card.selected{outline:2px solid var(--leaf);outline-offset:2px}.plant-card.featured{border-color:#a0b761;box-shadow:0 10px 24px rgba(18,40,25,.05)}.plant-card-media{aspect-ratio:4/3;background:#eef2e8}.plant-card-media img{display:block;width:100%;height:100%;object-fit:cover}.plant-card-body{padding:16px}.card-head{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.card-head h3{font-family:Georgia,serif;font-weight:400;font-size:1.35rem;line-height:1.05;margin:0 0 4px}.latin{font-style:italic;color:var(--muted);font-size:.83rem}.rating{display:inline-block;padding:6px 9px;border-radius:999px;background:#edf2df;color:#4d6518;font-weight:800;font-size:.73rem;white-space:nowrap}.rating.conditional{background:#f6eee1;color:#77592a}.rating.no{background:#f5e8e5;color:#824b42}.visual-caption{margin:12px 0 10px;color:var(--ink);font-size:.88rem}.visual-caption b{color:var(--leaf)}.why-block{padding-top:12px;border-top:1px solid var(--line);margin-top:12px}.why-block b{display:block;font-size:.85rem;margin-bottom:6px}.reasons{margin:0;padding-left:18px;color:var(--muted);font-size:.9rem}.reasons.compact li+li{margin-top:3px}.plant-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.plant-meta span{font-size:.7rem;background:var(--cream);padding:5px 8px;border-radius:999px}.card-cta{margin-top:14px;width:100%;border:0;border-radius:999px;background:var(--leaf);color:#fff;min-height:44px;font-weight:800;cursor:pointer}.disclaimer{margin-top:20px;color:var(--muted);font-size:.8rem}.sources{padding-bottom:60px;color:var(--muted);font-size:.78rem}.visual-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:start}.upload-box{min-height:190px;border:1.5px dashed #aab6aa;border-radius:18px;background:#fafbf7;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px;cursor:pointer}.upload-box:hover{background:#f4f7ec}.upload-icon{font-size:2rem;color:var(--leaf);line-height:1}.upload-box small{color:var(--muted);margin-top:6px}.visual-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.visual-controls label>span,.lead-form label>span{display:block;font-size:.82rem;font-weight:800;margin-bottom:7px}.visual-controls select,.lead-form input,.lead-form textarea{width:100%;border:1px solid #ccd3cc;border-radius:12px;background:#fff;padding:11px 13px;font:inherit;min-height:50px}.preview-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#f3f0e8}.preview-tabs{display:flex;border-bottom:1px solid var(--line);background:#fff}.preview-tabs button{border:0;background:none;padding:12px 18px;font-weight:800;color:var(--muted)}.preview-tabs button.active{color:var(--ink);box-shadow:inset 0 -2px 0 var(--leaf)}.preview-stage{position:relative;aspect-ratio:4/3;background:#e5e6df;overflow:hidden}.preview-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}.preview-stage.has-image img{display:block}.preview-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);padding:30px;text-align:center}.preview-stage.has-image .preview-empty{display:none}.green-overlay{position:absolute;inset:0;opacity:0;pointer-events:none;background:radial-gradient(circle at 24% 70%,rgba(63,112,48,.72) 0 5%,transparent 6%),radial-gradient(circle at 38% 58%,rgba(83,130,60,.7) 0 6%,transparent 7%),radial-gradient(circle at 55% 52%,rgba(55,105,44,.74) 0 6%,transparent 7%),radial-gradient(circle at 68% 38%,rgba(89,136,64,.66) 0 6%,transparent 7%),radial-gradient(circle at 78% 62%,rgba(53,99,43,.74) 0 6%,transparent 7%);mix-blend-mode:multiply;filter:blur(.2px)}.green-overlay.light{opacity:.38}.green-overlay.medium{opacity:.62}.green-overlay.dense{opacity:.86}.preview-note{font-size:.76rem;color:var(--muted);padding:12px 14px;margin:0;background:#fff}.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lead-form>label{display:block;margin:14px 0}.consent{display:flex!important;gap:10px;align-items:flex-start;color:var(--muted);font-size:.82rem}.consent input{margin-top:4px}.visual-generated .preview-note{color:#4d6518}
@media(max-width:920px){.top-plants{grid-template-columns:1fr 1fr}.more-plants{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.wrap{width:min(calc(100% - 28px),1120px)}.hero{padding:52px 0}.hero-grid{grid-template-columns:1fr;gap:32px}.hero h1{font-size:3.25rem}.profile-grid{grid-template-columns:1fr 1fr}.questions,.more-plants{grid-template-columns:1fr}.panel{padding:24px 18px}.searchbox{grid-template-columns:1fr}.searchbox button{min-height:48px}.brand span{display:none}.featured-head{flex-direction:column;align-items:flex-start}.top-plants{display:flex;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;padding-bottom:2px}.top-plants .plant-card{min-width:84%;scroll-snap-align:start}.visual-grid,.visual-controls,.lead-grid{grid-template-columns:1fr}}
@media(max-width:420px){.profile-grid{grid-template-columns:1fr}.hero h1{font-size:2.8rem}.card-head{flex-direction:column}.rating{align-self:flex-start}}

/* V0.3 — pré-projet technique & administratif */
.questions input,.questions textarea,.questions select,.full-field textarea{width:100%;min-height:52px;border:1px solid #ccd3cc;border-radius:12px;background:#fff;padding:11px 14px;font:inherit}.questions label>span,.full-field>span{display:block;font-size:.82rem;font-weight:800;margin-bottom:7px}.technical-intro{background:#f5f7ed;border-left:3px solid var(--leaf);padding:14px 16px;border-radius:0 12px 12px 0;color:#526052;margin-bottom:20px}.technical-questions{margin-bottom:20px}.docs-box{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:170px;border:1.5px dashed #aab6aa;border-radius:18px;background:#fafbf7;padding:22px;cursor:pointer;margin:10px 0 18px}.docs-box input{margin-top:12px;max-width:100%}.docs-box small{color:var(--muted);margin-top:6px}.full-field{display:block;margin:16px 0 20px}.admin-card{border:1px solid var(--line);border-radius:18px;background:#f8f8f2;padding:20px;margin-bottom:20px}.admin-status{display:flex;align-items:center;gap:9px;margin-bottom:8px}.admin-dot{width:10px;height:10px;border-radius:50%;background:var(--leaf)}.admin-card p{margin:8px 0;color:var(--muted)}.small-note{font-size:.8rem}.conditional-field.hidden{display:none!important}

/* V0.4 — lecture pratique des effets de chaque plante */
.plant-benefits{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 4px}.plant-benefits>div{background:#f7f7f1;border-radius:12px;padding:10px}.plant-benefits b{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--leaf);margin-bottom:4px}.plant-benefits span{display:block;font-size:.78rem;line-height:1.35;color:var(--ink)}.preproject-bar{margin-top:18px;padding:12px 14px;border-radius:12px;background:#f5f7ed;color:#596455;font-size:.78rem}.preproject-footer{width:min(calc(100% - 48px),1120px);margin:0 auto 48px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem;text-align:center}@media(max-width:780px){.plant-benefits{grid-template-columns:1fr}.preproject-footer{width:min(calc(100% - 28px),1120px)}}

/* V0.4.1 recommendation hierarchy */
.conditional-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.conditional-toggle{background:#f6eee1;color:#77592a}.conditional-plants{margin-top:14px}.conditional-plants .plant-card{background:#fffdf8;border-color:#eadcc4}

/* V0.5 — dossier commercial & pré-projet */
.sales-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.sales-metric{background:var(--cream);border-radius:16px;padding:18px}.sales-metric small{display:block;color:var(--muted);margin-bottom:7px}.sales-metric strong{font-size:1.05rem}.dossier-printable{border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff}.pdf-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:2px solid var(--forest);padding-bottom:18px;margin-bottom:20px}.pdf-header h2{font-family:Georgia,serif;font-weight:400;margin:6px 0 0}.pdf-badge{padding:7px 10px;border-radius:999px;background:#edf2df;color:#4d6518;font-weight:800;font-size:.78rem}.pdf-section{margin:24px 0}.pdf-section h3{font-family:Georgia,serif;font-weight:400;font-size:1.35rem;margin:0 0 10px}.pdf-section table{width:100%;border-collapse:collapse;font-size:.87rem}.pdf-section th,.pdf-section td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.pdf-section th{width:38%;color:var(--muted);font-weight:650}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.check-row{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.check-row .box{font-size:1.1rem}.check-row b{display:block;font-size:.86rem}.check-row small{display:block;color:var(--muted);margin-top:2px}.write-lines{display:grid;grid-template-columns:1fr 1fr;gap:14px}.write-lines div{font-size:.83rem}.write-lines span{display:block;border-bottom:1px solid #9aa39c;height:28px}.pdf-disclaimer{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.76rem}.dossier-actions{margin-top:18px}.small-note{font-size:.78rem;color:var(--muted)}
@media(max-width:780px){.sales-summary,.checklist,.write-lines{grid-template-columns:1fr}.dossier-printable{padding:18px}.pdf-header{flex-direction:column}.pdf-section th{width:45%}}
@media print{body{background:#fff}.topbar,.hero,.diagnostic>.panel:not(#dossierPanel),.sources,.dossier-actions,#dossierPanel>.step-head,.sales-summary,#dossierPanel>.small-note{display:none!important}.wrap,.diagnostic{width:100%;max-width:none;margin:0;padding:0}.diagnostic{display:block}.dossier-panel{display:block!important;border:0!important;box-shadow:none!important;padding:0!important}.dossier-printable{border:0!important;padding:0!important}.pdf-section{break-inside:avoid}.check-row{break-inside:avoid}@page{size:A4;margin:14mm}}
/* V0.6.1 — recommendation heading + centered CTA */
.plant-card-body{display:flex;flex-direction:column;align-items:stretch}
.card-cta{display:flex;align-items:center;justify-content:center;width:min(100%,260px);margin:18px auto 0;padding:0 18px;text-align:center}
@media(max-width:780px){.card-cta{width:min(100%,280px)}}
/* V0.7 real image preview */
.preview-after-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.preview-before-image{z-index:1}.preview-after-image{z-index:2}

/* V0.8 — generation guard */
.generation-gate{margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:#f8f8f2}.gate-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.gate-title b{font-size:.95rem}.gate-title span{font-size:.72rem;font-weight:800;color:#50631d;background:#edf2df;border-radius:999px;padding:6px 9px}.gate-copy{font-size:.84rem;color:var(--muted);margin:0 0 14px}.gate-grid{display:grid;grid-template-columns:.8fr 1.2fr 1fr;gap:10px}.gate-grid label>span{display:block;font-size:.76rem;font-weight:800;margin-bottom:6px}.gate-grid input{width:100%;min-height:46px;border:1px solid #ccd3cc;border-radius:11px;background:#fff;padding:10px 12px;font:inherit}.gate-consent{margin:12px 0 8px!important}.generation-quota{font-size:.76rem;color:var(--muted);padding-top:8px;border-top:1px solid var(--line)}.generation-quota.success{color:#4d6518}.generation-quota.error{color:#8a493d;font-weight:700}.cost-note{font-size:.72rem;color:var(--muted)}
@media(max-width:780px){.gate-title{align-items:flex-start;flex-direction:column}.gate-grid{grid-template-columns:1fr}}
