.vp-root{box-sizing:border-box;font-family:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,sans-serif;color:var(--vp-ink);-webkit-font-smoothing:antialiased;line-height:1.4;text-align:left}
.vp-root *,.vp-root *::before,.vp-root *::after{box-sizing:border-box}
.vp-root button{text-transform:none;letter-spacing:normal;line-height:1.2;min-height:0;margin:0}
.vp-root{font-size:16px;max-width:640px;margin-left:auto;margin-right:auto}
.vp-root h1.vp-title{font-family:inherit;font-weight:800;color:var(--vp-ink);text-transform:none}
.vp-root a{color:var(--vp-brand)}
.vp-root b,.vp-root strong{font-weight:700}
.vp-root .vp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.vp-root .vp-error{background:#fff1f1;color:#b42318;border:1px solid #fecdca;border-radius:12px;padding:12px 14px;font-size:14px;margin-top:14px}
.vp-root{--vp-ink: #0d1b2a;
  --vp-ink-2: #43536a;
  --vp-muted: #7a889b;
  --vp-line: #e3e8ef;
  --vp-bg: #f4f7fb;
  --vp-card: #ffffff;
  --vp-brand: #0b5cff;
  --vp-brand-2: #00b4d8;
  --vp-brand-soft: #e8f0ff;
  --vp-good: #0e9f6e;
  --vp-good-soft: #e5f7ef;
  --vp-warn: #ff7a00;
  --vp-radius: 16px;
  --vp-shadow: 0 1px 2px rgba(13, 27, 42, .06), 0 8px 24px rgba(13, 27, 42, .06);}
.vp-root *{box-sizing: border-box;}
.vp-root .vp{max-width: 600px; margin: 0 auto; padding: 20px 16px 120px;}
.vp-root .vp-card{background: var(--vp-card); border-radius: var(--vp-radius); box-shadow: var(--vp-shadow); padding: 24px 20px;}
@media (min-width: 560px){.vp-root .vp{padding-top: 36px;}
.vp-root .vp-card{padding: 32px;}
}
.vp-root .vp-progress{display: flex; gap: 6px; margin-bottom: 18px;}
.vp-root .vp-progress div{flex: 1;}
.vp-root .vp-progress i{display: block; height: 5px; border-radius: 9px; background: var(--vp-line); transition: background .3s;}
.vp-root .vp-progress .on i{background: linear-gradient(90deg, var(--vp-brand), var(--vp-brand-2));}
.vp-root .vp-progress span{display: block; font-size: 11px; color: var(--vp-muted); margin-top: 6px; font-weight: 600;}
.vp-root .vp-progress .on span{color: var(--vp-ink);}
@media (max-width: 420px){.vp-root .vp-progress span{display: none;}
}
.vp-root h1.vp-title{font-size: 25px; line-height: 1.2; margin: 0 0 6px; letter-spacing: -.02em;}
.vp-root .vp-sub{color: var(--vp-ink-2); margin: 0 0 22px; font-size: 15px; line-height: 1.5;}
.vp-root .vp-services{display: grid; gap: 10px;}
.vp-root .vp-service{display: flex; align-items: center; gap: 14px; width: 100%; text-align: left;
  border: 2px solid var(--vp-line); background: #fff; border-radius: 14px; padding: 14px 16px;
  cursor: pointer; font: inherit; color: inherit; transition: border-color .15s, background .15s, transform .1s;}
.vp-root .vp-service:hover{border-color: #b9c6d8;}
.vp-root .vp-service:active{transform: scale(.99);}
.vp-root .vp-service.sel{border-color: var(--vp-brand); background: var(--vp-brand-soft);}
.vp-root .vp-ico{width: 46px; height: 46px; flex: none; border-radius: 12px; background: var(--vp-bg); display: grid; place-items: center; color: var(--vp-brand);}
.vp-root .vp-service.sel .vp-ico{background: #fff;}
.vp-root .vp-service b{display: block; font-size: 16px;}
.vp-root .vp-service small{color: var(--vp-muted); font-size: 13px;}
.vp-root .vp-check{margin-left: auto; width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--vp-line); flex: none; display: grid; place-items: center; color: #fff;}
.vp-root .vp-service.sel .vp-check{background: var(--vp-brand); border-color: var(--vp-brand);}
.vp-root .vp-hint{font-size: 13px; color: var(--vp-muted); margin: 12px 0 0;}
.vp-root .vp-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
.vp-root .vp-grid .full{grid-column: 1 / -1;}
@media (max-width: 420px){.vp-root .vp-grid{grid-template-columns: 1fr;}
}
.vp-root .vp-field label{display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px;}
.vp-root .vp-field input[type=text], .vp-root .vp-field input[type=tel], .vp-root .vp-field input[type=email]{width: 100%; font: inherit; font-size: 16px; padding: 13px 14px; border: 1.5px solid var(--vp-line);
  border-radius: 11px; background: #fff; color: var(--vp-ink); outline: none; transition: border-color .15s, box-shadow .15s;}
.vp-root .vp-field input:focus{border-color: var(--vp-brand); box-shadow: 0 0 0 4px var(--vp-brand-soft);}
.vp-root .vp-field.err input{border-color: #e5484d;}
.vp-root .vp-field .msg{color: #e5484d; font-size: 12px; margin-top: 4px; display: none;}
.vp-root .vp-field.err .msg{display: block;}
.vp-root .vp-consent{display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--vp-ink-2); margin-top: 14px; line-height: 1.45; cursor: pointer;}
.vp-root .vp-consent input{margin-top: 2px; width: 18px; height: 18px; accent-color: var(--vp-brand); flex: none;}
.vp-root .vp-secure{display: flex; gap: 8px; align-items: center; font-size: 12.5px; color: var(--vp-muted); margin-top: 14px;}
.vp-root .vp-actions{display: flex; gap: 10px; margin-top: 22px; align-items: center;}
.vp-root .vp-btn{flex: 1; font: inherit; font-weight: 800; font-size: 16px; border: 0; border-radius: 12px; padding: 16px 20px;
  background: linear-gradient(135deg, var(--vp-brand), #2f7bff); color: #fff; cursor: pointer;
  box-shadow: 0 6px 18px rgba(11, 92, 255, .25); transition: transform .1s, opacity .2s;}
.vp-root .vp-btn:active{transform: scale(.98);}
.vp-root .vp-btn[disabled]{opacity: .45; cursor: not-allowed; box-shadow: none;}
.vp-root .vp-back{font: inherit; font-weight: 700; background: none; border: 0; color: var(--vp-ink-2); padding: 14px 8px; cursor: pointer;}
.vp-root .vp-link{font: inherit; background: none; border: 0; color: var(--vp-brand); font-weight: 700; cursor: pointer; padding: 0; text-decoration: underline; text-underline-offset: 3px;}
.vp-root .vp-quote{border: 1.5px solid var(--vp-line); border-radius: 14px; overflow: hidden;}
.vp-root .vp-quote-head{background: linear-gradient(135deg, #0d1b2a, #16335a); color: #fff; padding: 20px;}
.vp-root .vp-quote-head small{color: #9fb4d0; font-weight: 600; font-size: 13px;}
.vp-root .vp-total{font-size: 42px; font-weight: 800; letter-spacing: -.03em; margin-top: 2px; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;}
.vp-root .vp-total s{font-size: 20px; color: #7f95b3; font-weight: 600;}
.vp-root .vp-total .tx{font-size: 13px; font-weight: 600; color: #9fb4d0; letter-spacing: 0;}
.vp-root .vp-badge{display: inline-flex; align-items: center; gap: 6px; background: var(--vp-good); color: #fff; font-size: 12.5px; font-weight: 800; padding: 5px 10px; border-radius: 99px; margin-top: 10px;}
.vp-root .vp-lines{padding: 6px 20px;}
.vp-root .vp-line{display: flex; align-items: center; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--vp-line); font-weight: 600;}
.vp-root .vp-line:last-child{border-bottom: 0;}
.vp-root .vp-line .ok{color: var(--vp-good); display: grid;}
.vp-root .vp-line .rm{margin-left: auto; background: none; border: 0; color: var(--vp-muted); font: inherit; font-size: 12.5px; cursor: pointer; text-decoration: underline;}
.vp-root .vp-upsell-title{font-weight: 800; font-size: 17px; margin: 26px 0 4px; display: flex; align-items: center; gap: 8px;}
.vp-root .vp-upsell-sub{color: var(--vp-ink-2); font-size: 14px; margin: 0 0 12px;}
.vp-root .vp-offer{display: flex; gap: 14px; align-items: center; border: 2px dashed #9cc0ff; background: #f7faff;
  border-radius: 14px; padding: 14px; margin-bottom: 10px; animation: pop .35s ease;}
.vp-root .vp-offer .vp-ico{background: #fff;}
.vp-root .vp-offer-body{flex: 1; min-width: 0;}
.vp-root .vp-offer-body b{display: block; font-size: 15px;}
.vp-root .vp-offer-body .pr{font-size: 14px; color: var(--vp-ink-2); margin-top: 2px;}
.vp-root .vp-offer-body .pr s{color: var(--vp-muted);}
.vp-root .vp-offer-body .pr strong{color: var(--vp-ink);}
.vp-root .vp-save{display: inline-block; background: var(--vp-good-soft); color: var(--vp-good); font-weight: 800; font-size: 12px; border-radius: 99px; padding: 3px 9px; margin-top: 6px;}
.vp-root .vp-add{flex: none; font: inherit; font-weight: 800; font-size: 14px; border: 0; background: var(--vp-ink); color: #fff; border-radius: 10px; padding: 11px 14px; cursor: pointer;}
.vp-root .vp-add:active{transform: scale(.97);}
@keyframes pop{ from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.vp-root .vp-perks{display: grid; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; font-size: 14px; color: var(--vp-ink-2);}
.vp-root .vp-perks li{display: flex; gap: 8px; align-items: center;}
.vp-root .vp-perks svg{color: var(--vp-good); flex: none;}
.vp-root .vp-days{display: grid; gap: 12px;}
.vp-root .vp-day{border: 1.5px solid var(--vp-line); border-radius: 14px; padding: 14px;}
.vp-root .vp-day.rec{border-color: #9cc0ff; background: #fafcff;}
.vp-root .vp-day-h{display: flex; align-items: center; gap: 8px; font-weight: 800; margin-bottom: 10px; flex-wrap: wrap;}
.vp-root .vp-rec{text-transform: none; font-size: 11.5px; font-weight: 800; color: var(--vp-warn); background: #fff2e5; padding: 3px 8px; border-radius: 99px;}
.vp-root .vp-times{display: flex; gap: 8px; flex-wrap: wrap;}
.vp-root .vp-time{font: inherit; font-weight: 700; font-size: 15px; border: 1.5px solid var(--vp-line); background: #fff; color: var(--vp-ink); border-radius: 10px; padding: 11px 16px; cursor: pointer; min-width: 92px;}
.vp-root .vp-time:hover{border-color: var(--vp-brand);}
.vp-root .vp-time.sel{background: var(--vp-brand); border-color: var(--vp-brand); color: #fff;}
.vp-root .vp-more{text-align: center; margin-top: 14px;}
.vp-root .vp-callback{text-align: center; font-size: 14px; color: var(--vp-ink-2); margin-top: 20px;}
.vp-root .vp-sticky{position: fixed; left: 0; right: 0; bottom: 0; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px);
  border-top: 1px solid var(--vp-line); padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); z-index: 10;
  transform: translateY(110%); transition: transform .25s ease;}
.vp-root .vp-sticky.show{transform: none;}
.vp-root .vp-sticky .in{max-width: 600px; margin: 0 auto; display: flex; gap: 12px; align-items: center;}
.vp-root .vp-sticky .sum{font-size: 13px; color: var(--vp-ink-2); line-height: 1.35; min-width: 0;}
.vp-root .vp-sticky .sum b{color: var(--vp-ink); display: block; font-size: 14px;}
.vp-root .vp-sticky .vp-btn{flex: none; padding: 14px 18px;}
.vp-root .vp-loading{text-align: center; padding: 50px 10px;}
.vp-root .vp-spin{width: 44px; height: 44px; border-radius: 50%; border: 4px solid var(--vp-brand-soft); border-top-color: var(--vp-brand); animation: spin .8s linear infinite; margin: 0 auto 18px;}
@keyframes spin{ to { transform: rotate(360deg); } }
.vp-root .vp-done{text-align: center;}
.vp-root .vp-done-ico{width: 72px; height: 72px; border-radius: 50%; background: var(--vp-good-soft); color: var(--vp-good); display: grid; place-items: center; margin: 4px auto 16px;}
.vp-root .vp-recap{text-align: left; background: var(--vp-bg); border-radius: 14px; padding: 16px 18px; margin: 20px 0 6px; font-size: 14.5px;}
.vp-root .vp-recap div{display: flex; justify-content: space-between; gap: 12px; padding: 6px 0;}
.vp-root .vp-recap span{color: var(--vp-muted);}
.vp-root .vp-recap b{text-align: right;}
@media (max-width: 560px){}
.vp-root .vp{max-width:none;padding:8px 0 110px}
@media (min-width:560px){.vp-root .vp{padding-top:16px}}
@media (max-width:420px){.vp-root .vp-card{padding:20px 16px}}
/* Nombre de systèmes muraux + questions oui/non de l'immeuble */
.vp-root .vp-qty,.vp-root .vp-choice{margin-top:14px;padding:14px 16px;border:1.5px solid var(--vp-line);border-radius:14px;background:#fff}
.vp-root .vp-qty>span,.vp-root .vp-choice>span{display:block;font-weight:700;font-size:15px;margin-bottom:10px}
.vp-root .vp-qty small{display:block;margin-top:10px;color:var(--vp-muted);font-size:13px}
.vp-root .vp-qty-btns{display:flex;gap:8px;flex-wrap:wrap}
.vp-root .vp-qty-b{font:inherit;font-weight:700;font-size:15px;border:1.5px solid var(--vp-line);background:#fff;color:var(--vp-ink);border-radius:10px;padding:10px 16px;cursor:pointer;min-width:54px}
.vp-root .vp-qty-b:hover{border-color:var(--vp-brand)}
.vp-root .vp-qty-b.sel{background:var(--vp-brand);border-color:var(--vp-brand);color:#fff}
.vp-root .vp-field textarea,.vp-root .vp-field input[type=number]{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1.5px solid var(--vp-line);border-radius:11px;background:#fff;color:var(--vp-ink);outline:none}
.vp-root .vp-field textarea:focus,.vp-root .vp-field input[type=number]:focus{border-color:var(--vp-brand);box-shadow:0 0 0 4px var(--vp-brand-soft)}
.vp-root .vp-quick{margin-top:18px;padding:16px;border:2px solid var(--vp-brand);background:var(--vp-brand-soft);border-radius:14px}
.vp-root .vp-quick b{display:block;font-size:15px;margin-bottom:10px}
.vp-root .vp-quick small{display:block;margin-top:10px;color:var(--vp-ink-2);font-size:13px}
.vp-root .vp-quick .vp-time{background:#fff}
.vp-root .vp-quick-load{color:var(--vp-ink-2);font-size:14px;border-style:dashed;border-color:var(--vp-line);background:#fff}
.vp-root .vp-inline-confirm{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:16px;padding:14px 16px;border:2px solid var(--vp-brand);background:var(--vp-brand-soft);border-radius:14px}
.vp-root .vp-inline-confirm b{display:block;font-size:15px}
.vp-root .vp-inline-confirm span{font-size:13px;color:var(--vp-ink-2)}
.vp-root .vp-inline-confirm .vp-btn{flex:none}
.vp-root .vp-btn-link{display:block;text-align:center;text-decoration:none;color:#fff;margin-top:8px}
/* Certains thèmes colorent les titres en blanc (bannière) : on impose nos styles dans le formulaire */
.vp-root h1.vp-title,.vp-root .vp-card h1.vp-title{color:var(--vp-ink)!important;font-size:25px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:-.02em!important;margin:0 0 6px!important;text-transform:none!important;text-align:left!important}
.vp-root .vp-quote-head .vp-total,.vp-root .vp-quote-head small{color:#fff!important}
