/* IVSA Hosting — configurateur professionnel, novembre 2026 */
:root{--bg:#fbfaf8;--paper:#fff;--pale:#f3f6f1;--sage:#e6f0e5;--border:#dfe7de;--ink:#1c352c;--text:#415b4d;--muted:#758878;--forest:#234b39;--green:#33775b;--accent:#c9dfbe}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
[hidden]{display:none!important}
.wrap{width:min(1180px,calc(100% - 48px));margin:auto}
.vpsHero{background:linear-gradient(125deg,#f3f7f1,#fcfbf7);border-bottom:1px solid var(--border);padding:72px 0}
.vpsHeroGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center}
.vpsEyebrow{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.16em;color:#517b5c;text-transform:uppercase}
.vpsEyebrow i{width:6px;height:6px;border-radius:50%;background:#549369;display:inline-block}
.vpsHero h1{font-size:clamp(43px,5vw,69px);font-weight:640;line-height:1.105;letter-spacing:-.062em;margin:19px 0 23px;color:#1b3b2c}
.vpsHero h1 em{font-style:normal;color:#769679}
.vpsHeroCopy>p{max-width:610px;font-size:16px;line-height:1.84;color:#60756a;margin-bottom:0}
.vpsHeroActions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:30px}
.vpsBtn{min-height:47px;border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:12px 20px;font-weight:670;font-size:12px;text-decoration:none;white-space:normal;line-height:1.4;transition:transform .16s,background .16s;cursor:pointer}
.vpsBtn:hover{transform:translateY(-2px)}
.vpsBtnDark{background:#234936;color:#fff}
.vpsBtnDark:hover{background:#315c44}
.vpsBtnLight{background:#fff;border:1px solid #cdded1;color:#3e6550}
.vpsBtn>span{font-size:17px;font-weight:350}
.vpsNote{display:flex;align-items:center;gap:8px;font-size:11px;color:#69806d}
.vpsNote>span{color:#368359;font-weight:750}
.heroShowcase{background:#fff;border:1px solid #d9e6d9;border-radius:14px;box-shadow:0 28px 70px #253d2712;overflow:hidden;min-height:338px;display:flex;flex-direction:column}
.heroShowcaseHeader,.heroShowcaseFooter{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:21px 25px}
.heroShowcaseHeader{border-bottom:1px solid #edf1eb;font-size:10px;letter-spacing:.12em;font-weight:790;color:#39654f}
.onlineDot{font-size:10px;letter-spacing:0;color:#3c8962}
.heroShowcaseArt{flex:1;padding:27px 38px;background:radial-gradient(ellipse at 66% 40%,#e6f0e2,#f9faf6 72%);display:grid;gap:9px;align-content:center}
.showcaseRack{width:100%;max-width:330px;margin:auto;height:51px;background:linear-gradient(100deg,#204337,#366350);border-radius:7px;display:flex;align-items:center;padding:12px 18px;gap:14px;box-shadow:inset 0 1px #ffffff1c}
.rackLight{width:9px;height:9px;border-radius:50%;background:#b9e9a2;box-shadow:0 0 12px #b2dea47a}
.rackSlats{width:35%;height:5px;border-radius:4px;background:#81ac92;opacity:.8}
.rackSlats.small{width:19%;opacity:.52}
.showcaseRack small{margin-left:auto;color:#d3e4cd;font-size:10px}
.heroShowcaseFooter{background:#f3f7f1;border-top:1px solid #ddeade}
.heroShowcaseFooter div>span{display:block;font-size:10px;letter-spacing:.11em;color:#74907a;font-weight:750}
.heroShowcaseFooter strong{font-size:24px;letter-spacing:-.045em;font-weight:650;color:#254c39}
.heroShowcaseFooter strong small{font-size:11px;color:#6f8272;font-weight:520;letter-spacing:0}
.showcaseTag{font-size:10px;color:#688673}
.vpsTrust{background:white;border-bottom:1px solid var(--border)}
.vpsTrust>.wrap{min-height:65px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px}
.vpsTrust span{font-size:11px;color:#66806b;display:flex;gap:10px;align-items:center}
.vpsTrust span:before{content:"✓";color:#3c8c60;font-weight:800;font-size:12px}
.vpsConfig{padding:86px 0 100px}
.vpsSectionIntro{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}
.vpsSectionIntro h2{font-size:clamp(30px,3.8vw,44px);font-weight:640;letter-spacing:-.048em;color:#1b3d2e;margin:12px 0 9px}
.vpsSectionIntro p{font-size:13px;color:#788778;margin:0}
.vpsStepNote{font-size:11px;font-weight:600;color:#7c9381;white-space:nowrap}
.progress{display:flex;gap:0;border:1px solid #e1e9e1;border-radius:11px;background:#f7f9f5;overflow:hidden;margin:0 0 22px;max-width:none}
.progress span{display:flex;align-items:center;gap:11px;flex:1;padding:14px 20px;color:#8d9f91;font-size:12px;font-weight:630;white-space:nowrap;border-right:1px solid #e1e9e1}
.progress span:last-child{border-right:0}
.progress b{font-size:11px;color:#8da494;font-weight:700}
.progress span.active{background:#e8f2e8;color:#275f43}
.progress span.active b{color:#286d47}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:21px;align-items:start}
.left,.side{min-width:0}
.panel{padding:30px;background:white;border:1px solid var(--border);border-radius:12px;box-shadow:0 7px 30px #203e2607}
.paneltitle{margin-bottom:26px}
.paneltitle small{color:#5b8e6f;font-size:10px;letter-spacing:.14em;font-weight:750}
.paneltitle h3{margin:8px 0 9px;font-size:25px;line-height:1.2;font-weight:640;letter-spacing:-.04em;color:#244330}
.paneltitle p{font-size:13px;color:#748477;margin:0;line-height:1.7}
.presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.preset{width:100%;min-width:0;display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid #dce7dd;border-radius:10px;padding:16px 15px;min-height:226px;box-shadow:none;color:var(--ink);transition:border-color .15s,background .15s,transform .15s}
.preset:hover{border-color:#8eb79b;transform:translateY(-2px)}
.preset.chosen{border-color:#5f9b74;background:#f0f7ef;box-shadow:0 0 0 1px #89b79b42}
.presetTop{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;margin-bottom:19px;min-height:20px}
.presetTop small{color:#517c5f;font-size:10px;font-weight:780;letter-spacing:.07em}
.presetTop i{font-size:9px;font-style:normal;color:#71907a;background:#eef3ee;border-radius:50px;padding:3px 6px;white-space:normal;text-align:right}
.preset strong{font-size:24px;color:#244d37;letter-spacing:-.054em;font-weight:680;line-height:1.25;white-space:nowrap}
.preset strong sub{font-size:9px;font-weight:570;letter-spacing:0;vertical-align:baseline;color:#718576}
.presetSummary{font-size:11px;color:#657d6d;line-height:1.5;flex:1;margin:11px 0}
.presetSpecs{color:#446a55;font-size:10px;font-weight:690}
.presetChoose{border-top:1px solid #e1e9df;padding-top:12px;margin-top:14px;display:flex;justify-content:space-between;gap:4px;font-size:10px;color:#3c7851;font-weight:700}
.presetChoose b{font-size:15px;font-weight:450}
.vpsSectionDivider{display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid #e5ebe4;margin-top:37px;padding-bottom:10px;color:#65816e;font-size:9px;letter-spacing:.105em;font-weight:760}
.vpsSectionDivider>span:last-child{color:#889b8e;font-weight:540;letter-spacing:0;text-align:right}
.vpsOptionHeading{margin:33px 0 16px}
.vpsOptionHeading>div{display:flex;align-items:center;gap:14px}
.vpsOptionCount{color:#62906d;font-size:12px;font-weight:720;background:#ebf4e9;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;flex:none}
.vpsOptionHeading h4{font-weight:650;color:#244634;font-size:18px;letter-spacing:-.025em;margin:0 0 4px}
.vpsOptionHeading p{font-size:12px;color:#87958a;margin:0}
.res{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.resourceCard{border-radius:10px;border:1px solid #e0e9df;background:#fcfdfb;padding:17px;min-width:0}
.resourceCardHeader{display:flex;align-items:center;gap:10px}
.resourceGlyph{background:#edf4ed;color:#58866a;font-size:19px;border-radius:8px;width:39px;height:39px;display:grid;place-items:center;flex:none}
.resourceCardHeader label{display:block;color:#2d5038;font-size:12px;font-weight:740}
.resourceCardHeader p{font-size:10px;color:#7b8e80;margin:2px 0 0}
.resourceControl{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:19px}
.resourceControl>span{font-size:11px;color:#64806d;white-space:nowrap}
.counter{display:flex;align-items:center;max-width:160px;flex:1;min-width:0}
.counter button{width:35px;min-width:35px;height:39px;border:1px solid #d3e2d4;background:#eef4ec;color:#326748;font-size:21px;line-height:1;font-weight:450}
.counter button:first-child{border-radius:7px 0 0 7px}
.counter button:last-child{border-radius:0 7px 7px 0}
.counter button:active{background:#dceadd}
.counter input{height:39px;width:100%;min-width:0;flex:1;background:white;border:1px solid #d3e2d4;border-left:0;border-right:0;text-align:center;color:#2b4a36;font-size:15px;font-weight:720;appearance:textfield;-moz-appearance:textfield}
.counter input::-webkit-outer-spin-button,.counter input::-webkit-inner-spin-button{-webkit-appearance:none}
.resourceSmall{color:#93a093;font-size:10px;margin-top:13px}
.vpsRangeCard{background:#fcfdfb;border:1px solid #e0e8df;border-radius:10px;padding:19px 20px;margin:0}
.rangehead{display:flex;gap:12px;align-items:start;justify-content:space-between}
.rangehead label{font-size:13px;color:#2a4b37;font-weight:740}
.rangehead p{font-size:11px;color:#839386;margin:4px 0 0}
.rangehead output{padding:7px 11px;background:#e9f3e8;color:#366c4d;border-radius:7px;white-space:nowrap;font-size:14px;font-weight:720;line-height:1}
.range input[type="range"]{display:block;width:100%;accent-color:#3c8255;height:5px;margin:23px 0 19px;cursor:pointer}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips button{border:1px solid #d6e2d5;border-radius:7px;background:white;color:#617a67;min-height:35px;padding:6px 11px;font-size:11px;font-weight:600}
.chips button.chosen{border-color:#4c875d;background:#e7f3e6;color:#26633c;font-weight:780}
.vpsRangeCard>small{display:block;color:#829386;font-size:10px;margin-top:16px}
.optionTag{margin-left:6px;font-weight:580;color:#688f74;font-size:10px;background:#e9f2e8;padding:3px 6px;border-radius:6px}
.backupExplain{border-top:1px solid #e0e9df;margin-top:20px;padding-top:16px;display:flex;align-items:flex-start;gap:12px}
.backupIcon{background:#e2f1e5;border-radius:50%;width:34px;height:34px;flex:none;display:grid;place-items:center;font-size:19px;color:#4f8160}
.backupExplain p{margin:0;line-height:1.55}
.backupExplain p strong{display:block;font-size:12px;font-weight:730;color:#3b6449}
.backupExplain p>span{display:block;font-size:11px;color:#799080;margin-top:4px}
.oses{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.osCard{border:1px solid #e0e8e0;background:#fff;border-radius:9px;padding:14px 12px;display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0;transition:border-color .12s,background .12s}
.osCard:has(input:checked),.osCard.chosen{border-color:#6b9d77;background:#f1f7ef}
.osCard input{accent-color:#37805b;width:16px;height:16px;flex:none}
.osMark{width:35px;height:35px;display:grid;place-items:center;font-weight:750;font-size:13px;color:#51745c;background:#eef3eb;border-radius:7px;flex:none}
.osName{min-width:0;flex:1}
.osName strong{display:block;font-size:12px;color:#274936;font-weight:720}
.osName small{display:block;font-size:10px;color:#87958a;font-weight:480;line-height:1.35;margin-top:3px}
.osCard>b{font-size:9px;font-weight:650;color:#56866a;white-space:nowrap}
.vpsInlineNotice{background:#f4f8f2;border-left:3px solid #8db79a;border-radius:0 7px 7px 0;color:#6d8374;font-size:11px;line-height:1.65;margin-top:17px;padding:10px 13px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.actions>.vpsBtnDark{margin-left:auto}
.summary{background:#fff;border:1px solid #d9e5da;border-radius:11px;padding:23px;position:sticky;top:102px;box-shadow:0 15px 45px #163a240b}
.summarytop{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#6f8d78;font-size:10px;letter-spacing:.09em;font-weight:700}
.summaryStatus{color:#3e8358;letter-spacing:0;font-size:9px;white-space:nowrap}
.summaryStatus i{background:#5aad6b;width:6px;height:6px;border-radius:50%;display:inline-block;margin-left:4px}
.summary h3{font-size:21px;color:#254b37;font-weight:660;letter-spacing:-.036em;margin:13px 0 19px}
.specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.specs>div{min-width:0;border:1px solid #e7eee7;background:#f8faf7;border-radius:7px;padding:10px 11px}
.specs span{font-size:10px;color:#7a907f;display:block}
.specs strong{font-size:13px;color:#345c44;font-weight:730;display:block;white-space:normal;overflow-wrap:anywhere;margin-top:2px}
.vpsPriceBreak{border-top:1px solid #e8eee8;margin-top:21px;padding-top:19px}
.vpsPriceTitle{display:flex;align-items:center;justify-content:space-between;color:#607c6d;font-size:11px;font-weight:700}
.vpsPriceTitle span:last-child{color:#9aab9c;font-size:10px}
.lines{margin:10px 0 16px}
.lines>div{display:flex;gap:12px;justify-content:space-between;padding:6px 0;color:#718578;font-size:11px}
.lines strong{color:#415c4b;font-weight:700;white-space:nowrap}
.totals{border-top:1px solid #e4ece3;padding-top:14px}
.totals>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;font-size:12px;color:#607965}
.totals strong{color:#274b36;white-space:nowrap;font-weight:700}
.totals .tax{font-size:11px}
.totals .big{border-top:1px solid #d5e6d6;margin-top:9px;padding-top:18px;align-items:end;font-weight:730;color:#244c35}
.totals .big small{font-size:10px;color:#708b76;font-weight:520}
.totals .big strong{font-size:27px;color:#265e3d;font-weight:710;letter-spacing:-.06em}
.micro{font-size:10px;color:#849486;line-height:1.68;margin:15px 0 0}
.vpsQuoteBtn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:7px;padding:12px;border-radius:8px;border:1px solid #c7ddcd;background:#eef6ed;color:#386346;font-size:11px;font-weight:750;margin-top:19px}
.vpsQuoteBtn span{font-size:17px;font-weight:390}
.copyLink{border:0;background:transparent;color:#47785a;font-size:11px;font-weight:650;padding:10px;width:100%;margin-top:3px;cursor:pointer}
.contact{display:grid;gap:7px;margin-top:15px;background:#234738;color:#fff;border-radius:10px;padding:21px}
.contact>span{font-size:10px;letter-spacing:.12em;color:#b5d9b8;font-weight:780}
.contact>strong{font-size:14px;color:#f3fcf3;font-weight:630;margin-bottom:6px}
.contact>a{font-size:11px;color:#d6ebd8;text-decoration:none}
.contact>a:hover{text-decoration:underline}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.fields label,.blocklabel{font-size:12px;font-weight:650;color:#40604a}
.fields label.full{grid-column:1/-1}
.fields input,.fields select,.blocklabel textarea{width:100%;min-width:0;display:block;margin-top:7px;padding:12px 13px;color:#234432;background:#fff;border:1px solid #ccdccc;border-radius:8px;outline-color:#74ac83;font-size:13px}
.fields input::placeholder,.blocklabel textarea::placeholder{color:#a2afa5}
.fields input:focus,.fields select:focus,.blocklabel textarea:focus{border-color:#52936b;box-shadow:0 0 0 3px #a4d0aa35}
.blocklabel{display:block;margin-top:17px}
.blocklabel small{font-size:10px;color:#819588;font-weight:450}
.blocklabel textarea{resize:vertical}
.lbl{display:block;font-size:12px;color:#3e6147;font-weight:660;margin-bottom:11px}
.radios{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:23px}
.radios label{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #d8e6d9;border-radius:8px;background:#fafdf9;font-size:12px;color:#55705b;cursor:pointer}
.radios label:has(input:checked){border-color:#86b693;background:#ecf5eb;color:#355e44}
.radios input{accent-color:#4c8960}
.formHeading{font-size:16px;font-weight:650;color:#33553c;letter-spacing:-.02em;margin:28px 0 14px}
.hint{background:#f7f7f1;border-left:3px solid #a8be9b;border-radius:0 8px 8px 0;padding:12px 14px;color:#6a7c6c;font-size:11px;line-height:1.65}
.consent{display:flex;gap:10px;align-items:flex-start;color:#647a69;font-size:12px;line-height:1.6;margin-top:17px}
.consent input{width:17px;height:17px;flex:none;accent-color:#3a8453;margin-top:3px}
.review{background:#f8faf7;border:1px solid #e2eae2;border-radius:9px;padding:20px;font-size:13px;line-height:2;color:#59705e}
.review strong{color:#2c5239}
.message{font-size:12px;color:#ab573c;line-height:1.5}
.message.ok{color:#348352}
.complete{text-align:center;padding-top:50px;padding-bottom:50px}
.complete .successIcon{display:grid;place-items:center;margin:0 auto 18px;width:62px;height:62px;border-radius:50%;background:#e2f0de;color:#3a8b56;font-size:28px}
.complete h3{font-size:25px;font-weight:650;color:#23503a}
.complete p{font-size:13px;color:#748775;line-height:1.8}
.complete .vpsBtn{margin-top:18px}
.vpsBottomInfo{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:90px;padding-top:32px;border-top:1px solid #e1e9df}
.vpsBottomInfo>div{min-width:0}
.vpsBottomInfo>div>span{font-size:11px;color:#8aab90;font-weight:690}
.vpsBottomInfo strong{display:block;color:#335a43;font-size:14px;font-weight:700;margin:10px 0}
.vpsBottomInfo p{font-size:12px;line-height:1.75;color:#7c8d7e}
.vpsMobileBar{display:none}
#printSheet{display:none}
@media(max-width:1100px){.vpsHeroGrid{gap:40px}.cols{grid-template-columns:minmax(0,1fr) 325px}.panel{padding:23px}.preset{padding:14px 10px}.preset strong{font-size:21px}.preset strong sub{font-size:8px}}
@media(max-width:900px){.cols{grid-template-columns:1fr}.summary{position:static}.vpsHeroGrid{grid-template-columns:1fr}.heroShowcase{max-width:600px}.side{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-items:start}.contact{margin:0}.vpsMobileBar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:55;background:#fff;box-shadow:0 -10px 30px #23443118;border-top:1px solid #dbe5d9;padding:10px 20px;align-items:center;justify-content:space-between;gap:15px}.vpsMobileBar div>span{display:block;font-size:10px;color:#718978}.vpsMobileBar strong{font-size:19px;font-weight:700;color:#2f6444}.vpsMobileBar>a{font-size:11px;text-decoration:none;background:#27563d;color:#fff;border-radius:7px;padding:12px 13px;display:flex;gap:10px;align-items:center}.vpsMobileBar>a span{font-size:15px}.ivsaFooter{padding-bottom:70px}}
@media(max-width:640px){.wrap{width:calc(100% - 30px)}.vpsHero{padding:44px 0 39px}.vpsHero h1{font-size:clamp(41px,9.8vw,58px)}.vpsHeroCopy>p{font-size:14px}.vpsHeroActions{gap:14px}.heroShowcase{min-height:0}.heroShowcaseArt{padding:22px}.vpsTrust>.wrap{min-height:0;justify-content:flex-start;gap:8px 22px;padding:13px 0}.vpsTrust span{font-size:10px}.vpsConfig{padding:51px 0 64px}.vpsSectionIntro{display:block}.vpsStepNote{margin-top:9px}.vpsSectionIntro h2{font-size:33px}.progress{margin-bottom:14px}.progress span{justify-content:center;flex-direction:column;gap:2px;padding:9px 3px;font-size:10px;white-space:normal;text-align:center;line-height:1.35}.panel{padding:19px 15px}.paneltitle h3{font-size:23px}.presets{gap:8px}.preset{min-height:200px;padding:12px 9px}.presetTop{display:block;margin-bottom:11px}.presetTop small{display:block;font-size:9px}.presetTop i{display:inline-block;margin-top:4px;padding:2px 5px;font-size:8px}.preset strong{font-size:19px;white-space:normal}.preset strong sub{display:block;margin-top:3px;line-height:1.1;font-size:9px}.presetSummary{font-size:10px;line-height:1.35;margin:8px 0}.presetSpecs{font-size:9px;line-height:1.4}.presetChoose{font-size:9px;padding-top:8px;margin-top:9px}.vpsSectionDivider{margin-top:28px}.res{grid-template-columns:1fr}.resourceControl{justify-content:flex-start}.vpsRangeCard{padding:15px}.oses{grid-template-columns:1fr}.osCard{padding:12px}.side{grid-template-columns:1fr}.summary{padding:20px}.fields{grid-template-columns:1fr}.fields label.full{grid-column:auto}.vpsBottomInfo{grid-template-columns:1fr;gap:15px;margin-bottom:35px}.vpsBottomInfo>div{padding-bottom:15px;border-bottom:1px solid #e7ebe5}.vpsMobileBar{padding:9px 15px}}
@media print{@page{size:A4;margin:17mm}html,body{background:white!important;color:#1e3026;font:12pt Arial,sans-serif}.ivsaUtility,.ivsaHeader,.vpsHero,.vpsTrust,.vpsConfig,.vpsBottomInfo,.ivsaFooter,.vpsMobileBar{display:none!important}#printSheet{display:block!important;color:#263d30;font-size:11pt}#printSheet h1{font-size:24pt;color:#1b4430;margin-bottom:12mm}#printSheet h2{font-size:16pt;margin-top:12mm}#printSheet table{width:100%;border-collapse:collapse}#printSheet td{border-bottom:1px solid #ddd;padding:9px 0}#printSheet td:last-child{text-align:right}#printSheet p{font-size:10pt;color:#6b7d70;line-height:1.65}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Design IVSA Hosting VPS — recentré, lumineux et cohérent avec l'accueil */
body{background:#fafaf8;color:#163847}
.vpsHero{background:radial-gradient(ellipse at 85% 0%,#e6faf8 0%,transparent 43%),linear-gradient(120deg,#eff7f4,#fffaf5);padding:61px 0 57px;border-color:#dcece8}
.vpsHeroGrid{grid-template-columns:1fr;max-width:960px;gap:30px;justify-items:center}
.vpsHeroCopy{max-width:820px;text-align:center}
.vpsEyebrow{justify-content:center;color:#098990}
.vpsEyebrow i{background:#0fb8b2}
.vpsHero h1{color:#153b4a;font-weight:620;font-size:clamp(43px,5.2vw,67px);margin:18px 0 22px}
.vpsHero h1 em{color:#109a9d}
.vpsHeroCopy>p{color:#617e80;max-width:670px;margin-inline:auto;font-size:15px}
.vpsHeroActions{justify-content:center;gap:17px;margin-top:25px}
.vpsBtnDark{background:#ffac80;color:#1c3541}
.vpsBtnDark:hover{background:#ffbd9b}
.vpsBtnLight{border-color:#addbd6;color:#197880}
.vpsNote{color:#637e7f}
.heroShowcase{max-width:530px;width:100%;min-height:0;border-radius:15px;border-color:#cde8e5;box-shadow:0 19px 45px #17434a12}
.heroShowcaseHeader,.heroShowcaseFooter{padding:14px 20px}
.heroShowcaseHeader{color:#1c7880}
.onlineDot{color:#008f93}
.heroShowcaseArt{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:23px 30px;background:linear-gradient(115deg,#f0fbf9,#f6faf6)}
.showcaseRack{height:47px;padding:8px 10px;gap:6px;background:linear-gradient(110deg,#185361,#2b7580)}
.rackLight{width:7px;height:7px;background:#79ece5;box-shadow:0 0 11px #83fff69a}
.rackSlats{height:3px;background:#8edce1}
.rackSlats.small{display:none}
.heroShowcaseFooter strong{color:#0e7e87}
.showcaseTag{color:#4a868a}
.vpsConfig{max-width:1130px;padding:69px 0 82px}
.vpsSectionIntro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;margin-bottom:27px}
.vpsSectionIntro h2{color:#173d4b}
.vpsSectionIntro p,.vpsStepNote{color:#738c8b}
.progress{max-width:1040px;margin:0 auto 23px;background:#f0f8f6;border-color:#dae9e6}
.progress span{color:#64878a}
.progress span.active{background:#dff7f4;color:#087a83}
.progress span.active b{color:#07818c}
.cols{grid-template-columns:minmax(0,1fr) 327px;gap:20px;max-width:1100px;margin-inline:auto}
.panel,.summary{border-color:#dceae8;border-radius:14px;box-shadow:0 11px 36px #1545540b}
.paneltitle small{color:#0e8e94}
.paneltitle h3{color:#153a4a}
.paneltitle p{color:#668285}
.preset{border-color:#dbe9e7;border-radius:12px;background:#fff}
.preset.chosen{background:#e9f9f6;border-color:#27adae;box-shadow:0 0 0 1px #3fc5c52a}
.presetTop small{color:#087d87}
.presetTop i{background:#e5f7f5;color:#278185}
.preset strong{color:#1b6370}
.presetSummary{color:#6e8585}
.presetSpecs,.presetChoose{color:#10888c}
.vpsSectionDivider{border-color:#d9e9e6;color:#0c8b90}
.vpsOptionCount{background:#e2f8f5;color:#087c86}
.vpsOptionHeading h4{color:#1d4b55}
.resourceCard,.vpsRangeCard{background:#fcfefd;border-color:#dceae8}
.resourceGlyph{color:#15878f;background:#e5f8f5}
.resourceCardHeader label,.rangehead label{color:#24616a}
.counter button{background:#e7f7f4;color:#0a828a;border-color:#c9e8e3}
.counter input{border-color:#c9e8e3;color:#185463}
.rangehead output{background:#dff6f2;color:#087b82}
.range input[type=range]{accent-color:#12a7ab}
.chips button.chosen{background:#def7f3;color:#047d85;border-color:#2eb1b2}
.optionTag{background:#e1f7f3;color:#087e86}
.backupIcon{background:#def6f4;color:#0c9293}
.backupExplain p strong{color:#176c75}
.osCard:has(input:checked),.osCard.chosen{border-color:#36b1b0;background:#e7f7f5}
.osCard input,.radios input,.consent input{accent-color:#10999e}
.osMark{background:#e8f9f6;color:#137982}
.osName strong{color:#275865}
.osCard>b{color:#0b9198}
.vpsInlineNotice{background:#effaf9;border-color:#56c6c5;color:#507d80}
.vpsDiskNotice{display:flex;align-items:flex-start;gap:9px;font-size:11px;color:#1a797e;background:#eaf9f6;border:1px solid #c9ece7;border-radius:8px;padding:12px 13px;line-height:1.5;margin-top:16px}
.vpsDiskNotice:before{content:"✓";font-weight:800;color:#0d969a}
.summarytop{color:#148589}
.summaryStatus,.summaryStatus i{color:#0a9094}
.summary h3{color:#1a5260}
.specs>div{background:#f2faf8;border-color:#e1efeb}
.specs span{color:#6b9191}
.specs strong{color:#1d6b74}
.lines strong,.totals strong{color:#1b5660}
.totals .big strong{color:#037e88}
.vpsQuoteBtn{background:#e8f9f6;border-color:#c6e9e3;color:#138389}
.copyLink{color:#0e8c93}
.contact{background:linear-gradient(120deg,#174a5e,#166c74)}
.contact>a{color:#d7ffff}
.vpsMobileBar>a{background:#0d7f86}
@media(max-width:900px){.cols{grid-template-columns:1fr}.vpsConfig{padding-top:50px}.summary{position:static}}
@media(max-width:650px){.vpsHero{padding:43px 0 38px}.vpsHero h1{font-size:clamp(41px,9.2vw,56px)}.vpsHeroCopy>p{font-size:14px}.vpsHeroGrid{gap:21px}.heroShowcaseArt{padding:18px 13px}.showcaseRack{padding:7px;gap:5px;height:41px}.vpsConfig{padding-top:46px}.vpsSectionIntro{margin-bottom:19px}.vpsSectionIntro h2{font-size:32px}.vpsBtnDark{color:#193945}}

/* IVSA Hosting: clear billing and service continuity disclosures */
.billingLegal{background:#fff8f2;border:1px solid #ead9ca;border-radius:9px;padding:13px 15px;margin:18px 0 0;color:#735a4e}
.billingLegal a{font-weight:700;color:#176e78}
.paymentNotice{font-size:12px;color:#647e81;line-height:1.65;margin:15px 0}
#billingFeedback{font-size:13px;color:#476d75;line-height:1.7;max-width:610px;margin:12px auto 20px}
#payStripe{background:#ffac80;border:1px solid #ffac80;color:#173646;margin:5px auto 10px}
#payStripe:disabled{opacity:.5;cursor:wait}
#stage3 .review{margin-bottom:18px}
@media(max-width:650px){.billingLegal{font-size:11px;padding:11px}#billingFeedback{font-size:12px}}


/* Administration VPS : option facultative claire */
.vpsManagedChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:14px}
.vpsManagedChoice{display:flex;gap:12px;align-items:flex-start;border:1px solid #d7e6e5;background:#fff;border-radius:12px;padding:19px 16px;cursor:pointer}
.vpsManagedChoice.chosen,.vpsManagedChoice:has(input:checked){background:#e8faf8;border-color:#1cabb0;box-shadow:0 0 0 1px #38b9ba36}
.vpsManagedChoice input{margin-top:4px;accent-color:#088f96;flex:none;width:17px;height:17px}
.vpsManagedChoiceText{display:flex;flex:1;flex-direction:column;gap:6px;min-width:0}
.vpsManagedChoiceText strong{font-size:13px;color:#164854;font-weight:750}
.vpsManagedChoiceText small{font-size:11px;line-height:1.65;color:#66838a}
.vpsManagedChoice>b{font-size:11px;color:#0b7984;font-weight:780;white-space:nowrap}
@media(max-width:720px){.vpsManagedChoices{grid-template-columns:1fr}.vpsManagedChoice{padding:16px 13px}}

/* Stripe EU VAT ID: notice on the checkout review step. */
.vpsTaxNotice{background:#f8fbfb;border:1px solid #dbe7e7;border-radius:12px;padding:16px 18px;margin:15px 0}
.vpsTaxNotice strong{font-size:13px;color:#194c54;font-weight:760}
.vpsTaxNotice p{font-size:12px;line-height:1.7;color:#607981;margin:7px 0 0}
