:root{--ink:#172d35;--muted:#5c6b6e;--paper:#f5f3ed;--line:#d9dcd5;--accent:#db4a2b;--white:#fff;--radius:10px;font-family:Segoe UI,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:3px solid #156f87;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.055em;line-height:1.06}h2{font-size:1.5rem;letter-spacing:-.035em}h3{font-size:1.05rem}p{line-height:1.65}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--ink);color:#f8f4e9;padding:32px 22px;display:flex;flex-direction:column;gap:24px}.sidebar a{display:block;text-decoration:none;padding:11px 14px;border-radius:6px}.sidebar a:hover,.sidebar a.active{background:#30464d}.sidebar .muted{color:#b6c5c4}.brand{font-size:1.4rem;font-weight:800;letter-spacing:-.04em}.brand span{color:#ff9677}.main{padding:36px 42px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}.topbar h1{margin-bottom:8px}.muted,small{color:var(--muted)}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:16px}.card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}.split{display:grid;grid-template-columns:1fr 1fr;gap:28px}.button,button[type=submit]{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid var(--accent);background:var(--accent);color:white;padding:11px 17px;border-radius:6px;text-decoration:none;font-weight:650;line-height:1.3}.button:hover,button[type=submit]:hover{background:#bd381d;border-color:#bd381d}.button.secondary,.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.button.secondary:hover,.secondary:hover{background:#eeeee8;border-color:#9da8a4}.badge{display:inline-block;background:#e6efdf;color:#355737;font-size:.73rem;font-weight:700;padding:5px 9px;border-radius:4px}.error,.success{padding:14px 18px;border-left:3px solid;margin:16px 0;font-size:.9rem}.error{background:#fff0ea;color:#922d19}.success{background:#edf4e8;color:#315a30}.field,label{display:block;font-size:.85rem;font-weight:650;margin-bottom:14px}.field input,.field textarea,.field select,label input,label textarea,label select{display:block;margin-top:7px;width:100%;font-weight:400}input,textarea,select{border:1px solid #bac4c1;border-radius:5px;padding:10px 12px;color:var(--ink);background:white;max-width:100%}input[type=checkbox]{width:auto;display:inline-block;margin-right:8px}input[type=color]{height:42px;padding:4px}textarea{resize:vertical;min-height:90px}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:15px 12px;border-bottom:1px solid var(--line)}th{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.table-wrap{overflow:auto}.empty{padding:48px 24px;text-align:center}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:18px}.toolbar .button{font-size:.8rem;padding:8px 11px}.builder{display:grid;grid-template-columns:210px minmax(260px,1fr) 280px;gap:16px;align-items:start}.builder h3{margin:0 0 16px}.section-list,.inspector{background:white;padding:16px;border:1px solid var(--line);border-radius:8px;max-height:calc(100vh - 200px);overflow:auto;scrollbar-width:thin}.section-row{padding:11px 9px;border:1px solid var(--line);margin-bottom:7px;border-radius:5px;display:flex;gap:8px;align-items:center;background:#fff;cursor:grab}.section-row.active{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent);background:#fff6f0}.section-row[aria-selected=true]{border-color:var(--accent)}.section-row button{border:0;background:none;text-align:left;flex:1;min-width:0;color:var(--ink);font-size:.8rem;padding:3px}.section-row small{font-size:.65rem}.preview{min-width:0;padding:18px;background:#e5e8e1;border:1px solid #d5dbd1;border-radius:8px;overflow:auto;min-height:600px}.preview iframe{border:0;background:white;display:block;margin:auto;width:100%;height:690px;box-shadow:0 4px 24px #172d3512;transition:width .2s}.inspector .button,.section-list .button{font-size:.75rem;padding:8px 10px}.inspector label{font-size:.75rem}.inspector fieldset{border:1px solid var(--line);margin:15px 0;padding:12px}.inspector legend{font-size:.75rem;font-weight:700}.inspector input,.inspector textarea,.inspector select{font-size:.8rem}.editor-status{margin-left:auto;font-size:.78rem;max-width:250px}.editor-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px}.editor-tabs button{border:1px solid var(--line);background:white;padding:7px 9px;border-radius:4px;font-size:.75rem}.editor-tabs button[aria-pressed=true]{background:var(--ink);color:white}.section-actions{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:18px}.danger{color:#9e321e!important}.section-add{display:grid;gap:8px;margin-top:16px}.section-add select{width:100%;font-size:.78rem}.site-header{padding:20px 0}.metric{font-size:2.8rem;letter-spacing:-.06em;font-weight:750}.auth{max-width:460px;margin:10vh auto;padding:30px}.notice{font-size:.85rem;line-height:1.5;background:#efeee8;padding:12px;border-radius:4px}.footer{margin-top:40px;font-size:.8rem;color:var(--muted)}@media(min-width:1500px){.main{padding:42px 55px}.builder{grid-template-columns:235px minmax(260px,1fr) 310px}}@media(max-width:1150px){.shell{grid-template-columns:185px minmax(0,1fr)}.main{padding:24px}.builder{grid-template-columns:180px minmax(230px,1fr)}.inspector{grid-column:1/-1;max-height:none;display:block}.preview{min-height:520px}.preview iframe{height:570px}}@media(max-width:760px){.shell{display:block}.sidebar{padding:16px 20px;gap:12px}.sidebar nav{display:flex;gap:4px;flex-wrap:wrap}.sidebar a{padding:7px 9px;font-size:.85rem}.main{padding:24px 16px}.topbar{align-items:flex-start;flex-direction:column;gap:12px}.split,.builder{grid-template-columns:1fr}.section-list{max-height:280px}.inspector{grid-column:auto}.preview{padding:8px;min-height:470px}.preview iframe{height:540px}.toolbar{gap:6px}.editor-status{width:100%;max-width:none;margin:4px 0}.card{padding:20px}.auth{margin:4vh auto}.grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


.insert-section{display:block!important;width:100%;border-style:dashed!important;background:transparent!important;font-size:.65rem!important;padding:4px!important;margin:4px 0;color:#5c6b6e!important}.inspector-group{border-top:1px solid var(--line);padding:14px 0}.inspector-group>summary{cursor:pointer;font-size:.9rem;font-weight:750;margin-bottom:14px}.section-row>button:last-child:not(:only-of-type){flex:0;padding:3px 6px}.inspector fieldset fieldset{padding:8px;margin-left:0}.inspector fieldset[draggable=true]{border-top:3px solid #cad3ce}
/* Real application forms and authentication composition. */
form button:not([type]),form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:1px solid var(--accent);border-radius:6px;background:var(--accent);color:#fff;font-weight:650;line-height:1.3}
form button:not([type]):hover,form button[type=submit]:hover{background:#bd381d;border-color:#bd381d}
form button.secondary:not([type]),form button.secondary[type=submit]{background:#fff;color:var(--ink);border-color:var(--line)}
form button.secondary:not([type]):hover,form button.secondary[type=submit]:hover{background:#eeeee8;border-color:#9da8a4}
.main>.topbar>span:first-child{font-size:.72rem;letter-spacing:.17em;font-weight:750;color:var(--accent);line-height:1.5}
.sidebar small{color:#b6c5c4;line-height:1.55}
.card:has(form[action='/login']),.card:has(form[action='/register']),.card:has(form[action='/forgot']),.card:has(form[action='/reset']){max-width:570px;padding:32px;border-top:3px solid var(--accent);margin-top:28px}
.main>form:is([action='/login'],[action='/register'],[action='/forgot'],[action='/reset']){max-width:570px;background:#fff;padding:30px;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:8px;margin-bottom:24px}
.card:has(form[action='/login'])>p:last-child{font-size:.83rem;margin:22px 0 0;line-height:1.8}
.main>p.muted{max-width:660px}.main>footer{font-size:.8rem;color:var(--muted);margin-top:38px;line-height:1.9}
@media(max-width:760px){.sidebar{gap:5px;padding:12px 16px}.sidebar>.brand{padding:0;font-size:1.3rem;line-height:1.4}.sidebar>p{margin:0;font-size:.78rem;line-height:1.45}.sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:3px -7px}.sidebar nav a{padding:6px 7px;font-size:.78rem;line-height:1.25}.sidebar>a:not(.brand){padding:3px 0;font-size:.78rem;line-height:1.4}.sidebar small{font-size:.66rem;line-height:1.45}.sidebar>form{margin:0}.sidebar>form button:not([type]){min-height:36px;padding:7px 12px}.card:has(form[action='/login']),.card:has(form[action='/register']),.card:has(form[action='/forgot']),.card:has(form[action='/reset']){padding:22px;margin-top:22px}.main>.topbar{gap:8px;margin-bottom:24px}.main>.topbar>a{font-size:.8rem}.main>form:is([action='/login'],[action='/register'],[action='/forgot'],[action='/reset']){padding:22px}.main>footer{margin-top:26px}}

.media-picker{margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:5px}.media-picker summary{cursor:pointer;font-weight:650;font-size:.8rem}.media-picker>a{display:block;font-size:.75rem;margin-top:12px}.media-options{display:grid;gap:8px;margin-top:12px;max-height:330px;overflow:auto}.media-options>button{display:flex;flex-direction:column;white-space:normal;word-break:break-word;width:100%;align-items:stretch}.media-options img{width:100%;height:110px;object-fit:cover;margin-top:6px;border-radius:3px}.section-actions>input{width:100%;font-size:.75rem}

/* RC: nested composition, visible error context and keyboard focus. */
.section-branch{margin-left:10px;padding-left:8px;border-left:2px solid #b9c6c2}.section-row small{flex:none}.section-row>button:first-of-type{overflow-wrap:anywhere;min-height:28px}.section-row>button:last-child{min-width:28px;min-height:28px}.section-list h2,.inspector>h2{font-size:1.05rem;margin:0 0 16px}.section-list:focus-within,.inspector:focus-within{scroll-margin-top:16px}.field-error{display:block;font-size:.75rem;color:#922d19;font-weight:500;line-height:1.45;margin-top:6px}.field-error[hidden]{display:none}[aria-invalid=true]{border-color:#922d19}.inspector fieldset>select{width:100%;margin:0 0 10px}.editor-tabs button{min-height:30px}.insert-section{min-height:26px}.inspector-group summary{min-height:28px}.preview iframe{max-width:none}.inspector,.section-list{overscroll-behavior:contain}
:root{--accent:#c33f24}.button:hover,button[type=submit]:hover{background:#a6321b;border-color:#a6321b}.sidebar .brand span{color:#ff9677}.insert-section{color:#47595d!important}.section-row .button:focus-visible{outline:3px solid #156f87;outline-offset:2px}.preview{overflow-x:auto;max-width:100%}.builder>*{min-width:0}
.inspector fieldset{min-inline-size:0}.inspector input[type=checkbox]{min-width:20px;min-height:20px}.inspector fieldset>button{margin:4px 4px 4px 0}.inspector>fieldset>select{display:block}.section-list .section-row{scroll-margin-block:12px}
.main>.topbar>a,.main>nav>a,.media-picker>a{display:inline-block;min-height:24px;line-height:24px}.main>nav>a{padding:2px 3px}.main>nav{line-height:1.8;overflow-wrap:anywhere}.media-picker>a{display:block}
.skip{position:absolute;top:8px;left:8px;z-index:1000;transform:translateY(-200%);padding:12px 18px;background:#fff;color:#172d35;border:2px solid #172d35;border-radius:4px;min-height:44px}.skip:focus{transform:none;outline:3px solid #156f87;outline-offset:3px}
/* Administrative datasets scroll locally instead of widening the page. */
.card:has(>table){min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.card:has(>table):focus-visible{outline:3px solid #156f87;outline-offset:3px}.card>table td{max-width:34rem;overflow-wrap:anywhere}
.main>table{display:block;max-width:100%;overflow-x:auto}.table-wrap{max-width:100%;min-width:0;overscroll-behavior-x:contain}.table-wrap:focus-visible{outline:3px solid #156f87;outline-offset:3px}
/* Visibilité & SEO (CMS livré) */
.seo-summary{display:flex;gap:24px;align-items:center}.seo-score{flex:none;display:grid;place-items:center;width:112px;height:112px;border-radius:50%;font-size:2.4rem;font-weight:800;border:8px solid currentColor;line-height:1}.seo-score small{font-size:.8rem;color:inherit}.seo-score.good,.seo-pill.good{color:#25643a}.seo-score.fair,.seo-pill.fair{color:#8a5a00}.seo-score.poor,.seo-pill.poor{color:#a12b14}
.seo-pill{display:inline-grid;place-items:center;min-width:2.6em;padding:2px 8px;border:2px solid currentColor;border-radius:99px;font-weight:800;font-size:.85rem}
.seo-page{border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;margin:12px 0;background:#fcfbf8}.seo-page summary{cursor:pointer;font-weight:700;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.seo-page code{font-weight:400;color:var(--muted)}
.serp{display:grid;gap:3px;max-width:600px;margin:18px 0;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:8px;font-family:Arial,sans-serif}.serp-url{font-size:.8rem;color:#4d5156;overflow-wrap:anywhere}.serp-title{font-size:1.2rem;color:#1a0dab;line-height:1.3}.serp-desc{font-size:.88rem;color:#4d5156;line-height:1.55}
.seo-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:4px 20px}.seo-fields .field:has(textarea){grid-column:1/-1}.field.check{display:flex;gap:10px;align-items:center}.field.check input{width:auto}
.seo-counter{display:block;font-size:.78rem;margin-top:4px}.seo-counter[data-state=good]{color:#25643a}.seo-counter[data-state=fair]{color:#8a5a00}.seo-counter[data-state=bad]{color:#a12b14}
.seo-checks{list-style:none;padding:0;margin:0;display:grid;gap:8px}.seo-checks li{padding:10px 14px;border-left:4px solid;border-radius:4px;background:#fafaf7}.seo-checks li span{display:block;font-size:.88rem;color:var(--muted);margin-top:2px}.seo-checks .ok{border-color:#3b8a52}.seo-checks .warning{border-color:#d29a1d;background:#fffaf0}.seo-checks .error{border-color:#c2402a;background:#fff3ef}
.table-scroll{overflow-x:auto}.keyword-table{width:100%;border-collapse:collapse;font-size:.9rem}.keyword-table th,.keyword-table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.keyword-table .trend{white-space:nowrap;font-weight:700}.inline-form{display:flex;gap:6px;flex-wrap:wrap}.inline-form input{width:auto;max-width:9em}.keyword-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 20px;align-items:end}.keyword-form button{justify-self:start}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.guide{max-width:820px}.guide h2{margin-top:2.2em;padding-top:1em;border-top:1px solid var(--line)}.guide li{margin-bottom:.5em;line-height:1.6}.guide .tip{background:#eef6f1;border-left:4px solid #3b8a52;padding:14px 18px;border-radius:4px;margin:16px 0}.guide .warn{background:#fff7e8;border-left:4px solid #d29a1d;padding:14px 18px;border-radius:4px;margin:16px 0}.guide table{border-collapse:collapse;width:100%;font-size:.9rem;margin:12px 0}.guide th,.guide td{border:1px solid var(--line);padding:8px 10px;text-align:left}.guide nav ol{columns:2;gap:32px}
@media(max-width:700px){.seo-summary{flex-direction:column;align-items:flex-start}.guide nav ol{columns:1}}
.help details{margin:8px 0;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:#fff}.help summary{cursor:pointer;font-weight:650}.help details p{margin:10px 0 0}.help-search input{max-width:520px}
.install-key code{display:inline-block;max-width:100%;overflow-wrap:anywhere;word-break:break-all;user-select:all}

/* Boutons harmonisés : principal (orange), secondaire (blanc), discret, petit, icône. */
.button,button[type=submit],form button:not([type]){min-height:44px;border-radius:8px;font-weight:650;transition:background .15s,border-color .15s}
.button.ghost{background:transparent;color:var(--ink);border-color:transparent;text-decoration:underline;text-underline-offset:4px}.button.ghost:hover{background:#ebe9e1;border-color:transparent}
.button.small,button.small{min-height:36px;padding:7px 12px;font-size:.84rem}
.icon-button{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:1rem;line-height:1}.icon-button:hover{background:#eeeee8;border-color:#9da8a4}.icon-button.danger{color:#9e321e}.icon-button.danger:hover{background:#fff0ea;border-color:#e3b2a5}
/* Pastilles de statut. */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:99px;background:#eceae3;color:#4a5558}.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pill-draft{background:#e8eef5;color:#2c5282}.pill-warn{background:#fff3dc;color:#8a5a00}.pill-info{background:#e5f1f4;color:#1d5f71}.pill-ok{background:#e6f2e4;color:#25643a}.pill-bad{background:#fde8e3;color:#a12b14}
/* Page « Personnalisez votre site ». */
.studio-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding:20px 24px}.studio-head .eyebrow{margin-bottom:8px}.studio-head .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.steps{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;padding:0;margin:14px 0 0;font-size:.85rem;color:var(--muted)}.steps b{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:4px;border-radius:50%;background:#eceae3;font-size:.75rem}.steps .current{color:var(--ink);font-weight:650}.steps .current b{background:var(--accent);color:#fff}
.studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,42%);gap:24px;align-items:start;margin-bottom:20px}
.acc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.acc[open]{box-shadow:0 2px 14px #172d350d}
.acc>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:2px 12px;padding:16px 20px}.acc>summary::-webkit-details-marker{display:none}.acc>summary::after{content:"";grid-column:3;grid-row:1/span 2;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .2s;justify-self:center}.acc[open]>summary::after{transform:rotate(-135deg)}.acc>summary:hover{background:#faf9f5}
.acc-title{font-weight:750;font-size:1rem;grid-column:1}.acc-hint{grid-column:1;font-size:.82rem;color:var(--muted)}.acc-todo{grid-column:2;grid-row:1/span 2;font-size:.72rem;font-weight:700;color:#8a5a00;background:#fff3dc;padding:3px 9px;border-radius:99px}
.acc-body{padding:4px 20px 20px;border-top:1px solid var(--line)}.acc-body>.field:first-child,.acc-body>label:first-child{margin-top:16px}
.studio-form .field{font-size:.88rem}.studio-form .field-help{display:block;margin:-8px 0 14px;font-size:.78rem}.studio-form input[type=color]{width:72px;height:44px;cursor:pointer}.studio-form input[type=file]{padding:8px;background:#faf9f5;border-style:dashed}.studio-form input[type=file]::file-selector-button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 12px;margin-right:12px;font:inherit;font-weight:600;cursor:pointer}.studio-form .field.check{background:#faf9f5;border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin-top:16px;font-weight:600}
.config-collection{border:0;padding:0;margin:16px 0 4px;min-inline-size:0}.config-collection>legend{font-weight:750;font-size:.9rem;padding:0;margin-bottom:10px}.collection-items{display:grid;gap:10px;margin-bottom:10px}
.collection-item{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 14px;border:1px solid var(--line);border-radius:8px;padding:12px 14px 2px;margin:0;background:#faf9f5;min-inline-size:0}.collection-item>legend{float:left;width:100%;font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:0;margin-bottom:8px}.collection-item .field{margin-bottom:12px;font-size:.8rem}.collection-item .field input{margin-top:5px;padding:8px 10px}
.item-actions{position:absolute;top:8px;right:10px;display:flex;gap:4px}.item-actions .icon-button{width:28px;height:28px;font-size:.85rem}
.savebar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;margin-top:14px;background:#fffffff2;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 -4px 18px #172d3512;backdrop-filter:blur(4px)}.savebar p{margin:0;font-size:.85rem;color:var(--muted)}.savebar p[data-state=dirty]{color:#8a5a00;font-weight:650}.savebar p[data-state=ok]{color:#25643a;font-weight:650}.savebar p[data-state=error]{color:#a12b14;font-weight:650}
.studio-preview{position:sticky;top:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px}.preview-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.preview-bar label{display:flex;align-items:center;gap:8px;margin:0;font-size:.82rem}.preview-bar select{width:auto;margin:0;padding:6px 8px}
.preview-screen{position:relative;height:min(68vh,640px);overflow:hidden;border-radius:6px;border:1px solid var(--line);background:#e9ebe5}.cfg-field{display:contents}.preview-screen iframe{position:absolute;top:0;left:0;border:0;background:#fff;transform-origin:0 0}.studio-preview .small{font-size:.76rem;margin:8px 2px 0}
.order-card{max-width:860px;border-top:3px solid var(--accent)}.order-card label:has(input[type=checkbox]){display:flex;gap:6px;align-items:flex-start;font-weight:500;line-height:1.5}.order-card label:has(input[type=checkbox]) input{margin-top:4px;flex:none}.order-card .price{font-size:1.15rem}
@media(max-width:1100px){.studio{grid-template-columns:1fr}.studio-preview{position:static;order:-1}.preview-screen{height:300px}}
@media(max-width:600px){.studio-head{padding:16px}.studio-head .actions{width:100%}.studio-head .actions .button{flex:1}.acc>summary{padding:14px 16px}.acc-hint{display:none}.acc-body{padding:4px 14px 16px}.collection-item{padding-top:40px}.collection-item>legend{position:absolute;top:14px;left:14px;width:auto}.savebar{flex-direction:column;align-items:stretch;text-align:center}}
@media(max-width:600px){.studio-preview{padding:10px}.preview-screen,.studio-preview .small{display:none}.preview-bar{margin:0}.savebar{flex-direction:row;text-align:left;padding:10px 12px}.savebar p{font-size:.75rem}}
.collection-item{display:block;padding:12px 14px 4px}.collection-item>legend{float:left;width:100%;margin-bottom:10px;padding-right:110px;line-height:28px}.collection-item>legend+*{clear:both}.collection-item .field input{width:100%}
@media(max-width:600px){.collection-item{padding-top:12px}.collection-item>legend{position:static;width:100%}}
/* Catalogue des modèles. */
.lead{font-size:1.05rem;max-width:720px;color:var(--muted)}
.catalog-filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(2,minmax(150px,1fr)) auto;gap:12px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin:20px 0 26px}.catalog-filters .field{margin:0}.catalog-filters .field input,.catalog-filters .field select{margin-top:5px}
.catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}
.template-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:box-shadow .2s,transform .2s}.template-card:hover{box-shadow:0 12px 32px #172d3518;transform:translateY(-2px)}
.template-shot{display:block;aspect-ratio:16/10;overflow:hidden;background:#e9ebe5;border-bottom:1px solid var(--line)}.template-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s}.template-card:hover .template-shot img{transform:scale(1.03)}
.template-body{display:flex;flex-direction:column;flex:1;padding:20px 22px 22px}.template-body h2{margin:6px 0 2px;font-size:1.35rem}.template-sub{margin:0 0 10px;color:var(--accent);font-weight:650;font-size:.88rem}.template-body>p{font-size:.92rem}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin:0}.chip{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--ink);color:#fff}.chip.light{background:#eceae3;color:var(--ink)}
.template-content{font-size:.86rem!important;background:#faf9f5;border-radius:8px;padding:10px 12px;margin-bottom:8px}.template-sections{font-size:.85rem;margin-bottom:14px}.template-sections summary{cursor:pointer;font-weight:650;color:var(--ink)}.template-sections ul{columns:2;gap:18px;margin:8px 0 0;padding-left:18px;color:var(--muted)}
.template-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}.template-price{margin:0;display:grid;line-height:1.3}.template-price strong{font-size:1.25rem}.template-price small{font-size:.75rem}.template-actions{display:flex;gap:8px;flex-wrap:wrap}.template-actions form{margin:0}
@media(max-width:760px){.catalog-filters{grid-template-columns:1fr 1fr}.catalog-filters .field:first-child{grid-column:1/-1}.catalog{grid-template-columns:1fr}.template-actions{width:100%}.template-actions>*{flex:1}.template-actions form button{width:100%}}
/* Espace client. */
.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.section-head h2{margin:0}
.sites{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:14px}
.site-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.site-card>img,.site-card-blank{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top center;border-bottom:1px solid var(--line);background:#e9ebe5}
.site-card-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}.site-card-body h2{font-size:1.15rem;margin:10px 0 2px}.site-card-body>.muted{font-size:.85rem;margin-bottom:14px}.site-card-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:0}.site-card-meta small{font-size:.75rem}
.site-card-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.site-card-actions form{margin:0}.site-card-actions form[action='/project/cancel'] button,.site-card-actions form[action='/order/cancel'] button{background:transparent;border-color:transparent;color:#9e321e;min-height:44px;padding:8px 10px;text-decoration:underline;text-underline-offset:4px}.site-card-actions form[action='/project/cancel'] button:hover,.site-card-actions form[action='/order/cancel'] button:hover{background:#fff0ea}.site-card-actions .install-key{font-size:.8rem;margin:8px 0 0;flex-basis:100%}.site-card-actions>p{margin:0}
.site-card[data-status=CANCELLED],.site-card[data-status=EXPIRED]{opacity:.7}.history summary{cursor:pointer;font-weight:650}.history .sites{margin-top:16px}
.settings-title{margin-top:38px}.settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;align-items:start}.settings .card{margin:0}.settings h3{margin-bottom:14px}.settings details summary{cursor:pointer;font-weight:650;color:#9e321e}
.small{font-size:.82rem}
@media(max-width:600px){.section-head .button{padding:9px 12px}.sites{grid-template-columns:1fr}}
/* Tableau de bord d'administration. */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:grid;gap:4px}.kpi span{font-size:.8rem;font-weight:650;color:var(--muted)}.kpi strong{font-size:1.9rem;letter-spacing:-.04em;line-height:1.1}.kpi small{font-size:.75rem}
.alerts h2{font-size:1.15rem;margin-bottom:8px}.alerts ul{margin:0 0 8px;padding-left:20px}.alerts li{margin:4px 0}.alerts.has-alerts{border-left:4px solid #d29a1d;background:#fffaf0}.alerts.all-good{border-left:4px solid #3b8a52;background:#f3f8f1}.alerts p{margin-bottom:6px}
table.nice th,table.nice td{padding:11px 10px;vertical-align:top}table.nice td small{font-size:.76rem}table.nice tbody tr:hover{background:#faf9f5}
.funnel{display:grid;gap:10px}.funnel-row{display:grid;grid-template-columns:200px 1fr 48px;gap:12px;align-items:center;font-size:.88rem}.funnel-bar{height:12px;background:#eceae3;border-radius:99px;overflow:hidden}.funnel-bar i{display:block;height:100%;background:var(--accent);border-radius:99px;min-width:2px}.funnel-row strong{text-align:right}
.tools summary{cursor:pointer;font-weight:650}.tool-links{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:600px){.funnel-row{grid-template-columns:1fr 40px}.funnel-bar{grid-column:1/-1;grid-row:2}.kpi strong{font-size:1.5rem}}
/* Page d'erreur. */
body.error-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--paper)}.error-card{max-width:560px;width:100%;background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:14px;padding:32px 30px;box-shadow:0 12px 40px #172d3512}.error-card h1{font-size:clamp(1.6rem,4vw,2.2rem);margin-bottom:12px}.error-card [role=alert]{font-size:1rem}.error-actions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 6px}
.template-foot{flex-direction:column;align-items:stretch}.template-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.template-actions .button,.template-actions form button{width:100%;padding-left:10px;padding-right:10px}
.settings form[action='/consent/withdraw'] button{background:#fff;color:var(--ink);border-color:var(--line);min-height:40px;padding:8px 14px;font-size:.88rem}.settings form[action='/consent/withdraw'] button:hover{background:#eeeee8;border-color:#9da8a4}
.catalog-filters{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.catalog-filters .field:first-child{grid-column:span 2}.catalog{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}
@media(max-width:760px){.catalog-filters .field:first-child{grid-column:1/-1}}
.alert-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:10px}.alert-actions form{margin:0}.alert-actions form button{background:#fff;color:var(--ink);border-color:var(--line);min-height:40px;padding:8px 14px;font-size:.88rem}.alert-actions form button:hover{background:#eeeee8;border-color:#9da8a4}.alerts code{overflow-wrap:anywhere}
/* Retour d'une commande bloquée. */
.fix-alert{background:#fff7e8;border:1px solid #edd3a1;border-left:4px solid #d29a1d;border-radius:var(--radius);padding:16px 20px;margin-bottom:18px}.fix-alert h2{font-size:1.1rem;margin-bottom:8px}.fix-alert ul{margin:0 0 8px;padding-left:20px}.fix-alert p{margin:0}
.needs-fix{outline:3px solid #d29a1d;outline-offset:4px;border-radius:6px;background:#fffaf0}
.order-card .error{margin-top:0}
.acc-fix{background:#fde8e3;color:#a12b14}
/* Données brutes (admin). */
.raw-table table{font-size:.82rem}.raw-table th,.raw-table td{padding:9px 10px;white-space:nowrap}.raw-table td{max-width:22rem;overflow:hidden;text-overflow:ellipsis}.raw-table caption{text-align:left;font-weight:700;padding-bottom:10px}.raw-table tbody tr:hover{background:#faf9f5}
/* Commande : périmètre, option Mise en ligne, total. */
.order-card .scope{background:#faf9f5;border:1px solid var(--line);border-radius:8px;padding:14px 18px;margin:16px 0}.order-card .scope h2{font-size:1rem;margin:8px 0 4px}.order-card .scope p{font-size:.9rem;margin-bottom:8px}
.install-toggle{display:flex!important;gap:8px;align-items:flex-start;background:#fff7e8;border:1px solid #edd3a1;border-radius:8px;padding:12px 14px;margin:18px 0 0!important}.install-toggle input{margin-top:4px}
.install-box{display:none;border:1px solid #edd3a1;border-top:0;border-radius:0 0 8px 8px;padding:14px 16px;margin-bottom:16px;background:#fffdf8}.order-card form:has([name=install]:checked) .install-box,.install-box.open{display:block}.install-box.open{border-top:1px solid #edd3a1;border-radius:8px}.ftp-plain{display:none!important;font-size:.9em;color:#8a5a00}.install-box:has([name=protocol] option[value=ftp]:checked) .ftp-plain{display:flex!important;gap:8px}.order-card form:has([name=install]:checked) .install-toggle{border-radius:8px 8px 0 0}
.upsell{display:flex!important;gap:10px;align-items:flex-start;border:2px solid #2f5bea;background:#f3f6ff;border-radius:10px;padding:14px 16px;margin:12px 0}.upsell input{margin-top:5px}.upsell strong{display:block;margin-bottom:4px}.ai-terms{display:none;border:1px solid #edd3a1;background:#fffaf0;border-radius:10px;padding:12px 16px;margin:0 0 12px}.ai-terms ul{margin:6px 0 10px;padding-left:20px}.order-card form:has([name=offer]:checked) .ai-terms{display:block}
.prompt-chip{display:inline-block;margin:4px 6px 0 0;padding:6px 10px;min-height:32px;border:1px solid #c9d1e0;border-radius:16px;background:#fff;font-size:.85em;cursor:pointer;text-align:left}.prompt-chip:hover,.prompt-chip:focus-visible{border-color:#2f5bea;background:#f3f6ff}
.recovery-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;list-style:none;padding:0}.recovery-codes code{display:block;padding:8px;border:1px dashed #9aa3b2;border-radius:6px;text-align:center;font-size:1.1em;letter-spacing:.05em}.recovery-confirm{display:flex;gap:8px;align-items:flex-start;margin:12px 0}.recovery-confirm input{margin-top:4px}
.work-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(20,30,40,.55);padding:16px}.work-overlay div{background:#fff;border-radius:12px;padding:24px 28px;max-width:420px;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.25)}.work-overlay .spinner{width:36px;height:36px;margin:0 auto 12px;border:4px solid #e3e7ef;border-top-color:#e8603c;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.work-overlay .spinner{animation:none}}
.atelier-terms{margin:12px 0;border:1px solid #dfe3ea;border-radius:10px;padding:10px 14px;background:#fafbfd}.atelier-terms summary{cursor:pointer;font-weight:700;min-height:24px}.atelier-terms ul{margin:8px 0;padding-left:20px}
.packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:10px 0}.pack{display:flex!important;gap:8px;align-items:flex-start;border:1px solid #dfe3ea;border-radius:10px;padding:10px 12px;cursor:pointer}.pack:has(input:checked){border-color:#2f5bea;background:#f3f6ff}.pack input{margin-top:4px}.pack small{display:block;color:#5b6472}
.stars{border:0;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:6px}.star-choice{display:flex!important;gap:8px;align-items:center;min-height:28px}.star-choice span{color:#a86b00;font-size:1.15em}.stars-view{color:#a86b00;letter-spacing:.05em}.reviews-average{font-size:1.2em;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.review p{margin:.4em 0}.review-invite{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.review-invite p{margin:0;flex:1 1 300px}
.assistant-toggle{position:fixed;right:18px;bottom:18px;z-index:900;border:0;border-radius:24px;padding:12px 18px;background:#b93f1d;color:#fff;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.2);cursor:pointer;min-height:44px}.assistant-panel{position:fixed;right:18px;bottom:76px;z-index:901;width:min(380px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 110px));display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.25);overflow:hidden}.assistant-panel[hidden]{display:none}.assistant-head{background:#17303a;color:#fff;padding:12px 14px}.assistant-head p{margin:2px 0 0;font-size:.8em}.assistant-log{flex:1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.assistant-msg{margin:0;padding:8px 11px;border-radius:12px;max-width:88%;white-space:pre-wrap;font-size:.92em;line-height:1.4;color:#17202a}.assistant-msg.me{align-self:flex-end;background:#e8f0ff}.assistant-msg.bot{align-self:flex-start;background:#f3f4f6}.assistant-form{display:flex;gap:6px;padding:10px;border-top:1px solid #e3e7ef}.assistant-form input{flex:1;min-width:0;padding:9px;border:1px solid #c9d1e0;border-radius:8px}.assistant-form button{border:0;border-radius:8px;background:#17303a;color:#fff;padding:0 14px;min-height:40px;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hero-home h2{font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.15;margin:.2em 0 .4em}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.steps-home,.offers-home{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:16px 0}.offers-home .price{font-size:1.6em;font-weight:800;margin:.2em 0}.catalog-intro p,.pending-template p{margin:.3em 0}blockquote.review{margin:0 0 14px;padding:0 0 0 14px;border-left:3px solid #e3e7ef}
.lang-switch{display:flex;flex-wrap:wrap;gap:4px;margin:14px 0 0}.lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:28px;border:1px solid rgba(255,255,255,.35);border-radius:6px;color:inherit;font-size:.8em;text-decoration:none}.lang-switch a[aria-current]{background:rgba(255,255,255,.18);font-weight:700}
.install-creds{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 12px}.install-creds dt{font-weight:700}.install-creds dd{margin:0;word-break:break-all}.install-creds summary{cursor:pointer}
.install-warning{font-weight:700;color:#8a5a00}.install-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px}
.install-result[data-state=ok]{color:#25643a;font-weight:650}.install-result[data-state=error]{color:#a12b14;font-weight:650}.install-result[data-state=busy]{color:var(--muted)}
.order-total{font-size:1.2rem;margin:18px 0 6px}
/* Formules et atelier sur-mesure. */
.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:8px}.offer{display:flex!important;gap:10px;align-items:flex-start;border:2px solid var(--line);border-radius:10px;padding:14px;margin:0!important;cursor:pointer;font-weight:400!important}.offer:has(input:checked){border-color:var(--accent);background:#fff6f0}.offer input{margin-top:4px}.offer strong{display:block;font-size:1rem;margin-bottom:4px}
.atelier .counters{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 12px}.atelier .counters span{background:#faf9f5;border:1px solid var(--line);border-radius:99px;padding:6px 14px;font-size:.88rem}.atelier .counters b{font-size:1rem}
.atelier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:20px}.atelier-grid .card{margin:0}
.ai-history{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px;font-size:.88rem}.ai-history li{padding:8px 10px;background:#faf9f5;border-radius:6px}
.offer input[type=radio]{width:auto;flex:none;display:inline-block;margin:4px 0 0}.order-card .field .field-help{display:block;font-weight:400;margin:3px 0 0;font-size:.78rem}
.stats-period{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.stats-period a{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border:1px solid #c9d1e0;border-radius:16px;text-decoration:none;color:inherit}.stats-period a[aria-current]{background:#17303a;color:#fff;border-color:#17303a}.stats-chart{display:flex;align-items:flex-end;gap:2px;height:160px;padding:8px 0;border-bottom:1px solid #dfe3ea}.stats-bar{flex:1;min-width:2px;background:#e8603c;border-radius:3px 3px 0 0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.stats-table th{text-align:left;font-weight:500}.stats-table td{text-align:right;font-weight:700}.stats-table small{color:#5b6472;margin-left:6px}
/* Téléphone : en-tête compact (logo + bouton menu), menu déroulant avec liens, langues et mentions. */
.menu-toggle,.menu-extra{display:none}
@media(max-width:760px){.sidebar{position:sticky;top:0;z-index:950;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0;padding:8px 8px 8px 16px;min-height:56px}
.sidebar>.brand{font-size:1.25rem;line-height:1.4}
.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:#f8f4e9;cursor:pointer}
.menu-toggle:hover{background:#30464d}.menu-toggle:focus-visible{outline:3px solid #ff9677;outline-offset:1px}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,background .2s}
.menu-toggle span{position:relative}.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0}.menu-toggle span::before{top:-7px}.menu-toggle span::after{top:7px}
.sidebar.open .menu-toggle span{background:transparent}.sidebar.open .menu-toggle span::before{transform:translateY(7px) rotate(45deg)}.sidebar.open .menu-toggle span::after{transform:translateY(-7px) rotate(-45deg)}
.menu-panel{flex:0 0 100%;display:flex;flex-direction:column;gap:12px;padding:8px 8px 16px 0}
html.has-menu .sidebar:not(.open) .menu-panel{display:none}
.sidebar.open .menu-panel{max-height:calc(100vh - 56px);overflow-y:auto;overscroll-behavior:contain}
.menu-panel>p{margin:0;font-size:.85rem}
.sidebar .menu-panel nav{display:flex;flex-direction:column;gap:2px;margin:0}
.sidebar .menu-panel nav a{padding:12px 14px;font-size:1rem;line-height:1.3;min-height:44px;border-bottom:1px solid #2a3f46;border-radius:0}
.menu-panel>form{margin:0}.menu-panel>form button{width:100%;min-height:44px}
.menu-extra{display:flex;flex-direction:column;gap:10px}
.sidebar .menu-extra>a{padding:10px 14px;font-size:.95rem;color:#f8f4e9}
.menu-panel>small{padding:0 14px;font-size:.72rem}
.sidebar .menu-extra .lang-menu{padding:0 14px}.sidebar .lang-menu>summary{background:transparent;color:#f8f4e9;border-color:#3c555c;min-height:44px}
.sidebar .lang-menu .lang-switch{position:static;margin-top:6px;background:#22383f;border-color:#3c555c;box-shadow:none}
.sidebar .menu-panel .lang-menu .lang-switch a{color:#f8f4e9;border:0;border-radius:6px;padding:10px 12px;min-height:44px;font-size:.95rem}
.sidebar .lang-menu .lang-switch a:hover,.sidebar .lang-menu .lang-switch a[aria-current]{background:#30464d}
.main>.topbar{display:none}
.main{padding:20px 16px 88px}
.main>h1{font-size:clamp(1.6rem,7vw,2.1rem);line-height:1.15;margin-top:4px}
html.menu-open{overflow:hidden}html.menu-open .assistant-toggle,html.menu-open .assistant-panel{display:none}
.assistant-toggle{right:12px;bottom:12px;padding:10px 14px;font-size:.9rem}
body:has(.savebar) .assistant-toggle{bottom:100px;padding:8px 12px;font-size:.82rem;min-height:40px}body:has(.savebar) .assistant-panel{bottom:150px;max-height:calc(100vh - 230px)}}
/* Suggestions de partenaires (liens de parrainage). */
.partners{margin:32px 0}.partner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.partner-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.partner-card h3{margin:0 0 8px}.partner-card p{margin:0 0 10px}.partner-card p:last-child{margin:0}.install-box .partner-card{margin:0 0 16px;background:#fbf8f1}
.partners{margin:20px 0 28px}.partners>h2{font-size:1.15rem;margin:0 0 10px}.partner-card{padding:16px 18px;border-left:4px solid var(--accent)}.partner-card h3{font-size:1.05rem}.partner-card p{font-size:.95rem}
.partner-card p.small{font-size:.8rem;line-height:1.45}
/* Choix de la langue : menu déroulant. */
.lang-menu{position:relative;display:inline-block}
.lang-menu>summary{list-style:none;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer;font-weight:700;font-size:.85rem;user-select:none}
.lang-menu>summary::-webkit-details-marker{display:none}
.lang-menu>summary::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);margin-left:2px}
.lang-menu[open]>summary::after{transform:translateY(2px) rotate(-135deg)}
.lang-menu>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.lang-menu .lang-switch{position:absolute;right:0;top:calc(100% + 6px);z-index:960;display:flex;flex-direction:column;flex-wrap:nowrap;gap:2px;margin:0;padding:6px;min-width:190px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(23,48,58,.14)}
.lang-menu .lang-switch a{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:40px;padding:8px 12px;border:0;border-radius:6px;color:var(--ink);font-size:.92rem;font-weight:700;text-decoration:none}
.lang-menu .lang-switch a .lang-name{font-weight:400}
.lang-menu .lang-switch a:hover{background:#f3efe6}
.lang-menu .lang-switch a[aria-current]{background:#f3efe6}
.partner-card h3 a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}.partner-card h3 a:hover{color:var(--accent)}
/* Code partenaire / parrainage. */
.promo-box{margin:16px 0;padding:14px 16px;border:1px dashed var(--line);border-radius:var(--radius);background:#fff}.promo-box .field{margin:0 0 6px;max-width:320px}.promo-box input{text-transform:uppercase;letter-spacing:.06em}.promo-box [data-promo-result][data-state=ok]{color:#1d6b3a;font-weight:600}.promo-box [data-promo-result][data-state=bad]{color:#a3261b}
.referral{border-left:4px solid var(--accent)}.referral-code{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 10px;padding:10px 14px;border-radius:8px;background:#f3efe6}.referral-code strong{font-size:1.2rem;letter-spacing:.08em}.referral a{word-break:break-all}
.referral-home{margin:24px 0}.inline-fields{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.inline-fields .field{flex:1 1 180px;margin:0}
/* Assistant : « Écrire à l'équipe ». */
.assistant-panel [hidden]{display:none!important}.assistant-contact-bar{padding:6px 10px 0;text-align:center}.assistant-contact-bar button{border:1px solid #c9d1e0;background:#fff;color:#17303a;border-radius:8px;padding:6px 12px;min-height:36px;cursor:pointer;font-size:.9em}.assistant-contact{display:flex;flex-direction:column;gap:8px;padding:12px;overflow:auto;flex:1}.assistant-contact p{margin:0;font-size:.9em}.assistant-contact label{display:flex;flex-direction:column;gap:4px;font-size:.88em;font-weight:600;color:#17202a}.assistant-contact input,.assistant-contact textarea{padding:8px;border:1px solid #c9d1e0;border-radius:8px;font:inherit;font-weight:400}.assistant-contact .small{font-size:.78em;color:#5b6472}.assistant-contact-actions{display:flex;gap:8px;flex-wrap:wrap}.assistant-contact-actions button{border:0;border-radius:8px;background:#17303a;color:#fff;padding:8px 14px;min-height:40px;cursor:pointer}.assistant-contact-actions button.secondary{background:#fff;color:#17303a;border:1px solid #c9d1e0}.assistant-contact-status{color:#a3261b;font-weight:600}.assistant-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* FAQ de l'accueil. */
.faq-home{margin:28px 0}.faq-home details{border-top:1px solid var(--line);padding:12px 0}.faq-home details:last-of-type{border-bottom:1px solid var(--line)}.faq-home summary{cursor:pointer;font-weight:700;min-height:28px}.faq-home details p{margin:8px 0 0;max-width:760px}
/* Bandeau d'information cookies. */
.cookie-notice{position:fixed;left:16px;right:16px;bottom:16px;z-index:980;max-width:720px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px 16px;background:#17303a;color:#f8f4e9;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.25)}.cookie-notice[hidden]{display:none}.cookie-notice p{margin:0;flex:1 1 320px;font-size:.9rem;line-height:1.5}.cookie-notice a{color:#ffb39e}.cookie-notice button{border:0;border-radius:8px;background:#ff9677;color:#17303a;font-weight:700;padding:10px 16px;min-height:44px;cursor:pointer}
body:has(.cookie-notice:not([hidden])) .assistant-toggle{bottom:110px}
