
:root{
  --navy:#062f58;--navy2:#0a4675;--teal:#0aa7b6;--blue:#0775c8;--ink:#163c5b;
  --muted:#60798e;--line:#d9e7f0;--soft:#f5f9fc;--white:#fff;--green:#159875;
  --shadow:0 18px 50px rgba(6,47,88,.10);--radius:18px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--navy);background:#fff}
button,input{font:inherit}.shell{width:min(1220px,calc(100% - 32px));margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:12px;z-index:99;background:#fff;padding:10px}
.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid #edf2f6;backdrop-filter:blur(10px)}
.header-row{height:78px;display:flex;align-items:center;gap:28px}.brand img{width:152px;display:block}.desktop-nav{display:flex;gap:32px;margin:auto}.desktop-nav a,.mobile-nav a{color:var(--navy);text-decoration:none;font-weight:750;font-size:14px}.phone{background:linear-gradient(135deg,var(--navy2),var(--blue));color:#fff;text-decoration:none;padding:13px 20px;border-radius:999px;font-weight:850}
.menu{display:none;border:0;background:none;width:44px}.menu span{height:2px;background:var(--navy);display:block;margin:6px}.mobile-nav{display:none;padding:12px 22px 20px;gap:15px;flex-direction:column}
.intro{background:linear-gradient(115deg,#f3fbfd,#f8fbff);border-bottom:1px solid #e4eff5}.intro-inner{padding:42px 0;display:flex;align-items:center;justify-content:space-between;gap:40px}.eyebrow{font-size:12px;letter-spacing:.08em;font-weight:900;color:var(--teal)}h1{font-size:clamp(34px,4.6vw,58px);line-height:1.04;margin:10px 0 14px;max-width:820px}.intro p{font-size:17px;line-height:1.65;max-width:800px;color:#426681}.intro-badges{display:grid;gap:9px;min-width:230px}.intro-badges span{background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:12px;font-weight:750;color:#28506f}
.calculator-section{padding:42px 0 70px;background:#f7fafc}.calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.calculator-card,.summary-card,.booking-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.calculator-card{padding:26px}.summary-card{padding:22px;position:sticky;top:100px}.progress-wrap{position:relative;margin:4px 8px 36px}.progress-line{position:absolute;left:10%;right:10%;top:18px;height:3px;background:#e5edf3}.progress-line i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--blue));transition:.3s}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);position:relative}.steps li{text-align:center;color:#778b9b;font-size:11px;font-weight:750}.steps b{margin:auto auto 7px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef3f7;color:#617587;transition:.25s}.steps .active b,.steps .done b{color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue))}.steps .active,.steps .done{color:var(--navy)}
.form-step{display:none}.form-step.active{display:block;animation:fade .28s ease}@keyframes fade{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}.step-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.step-title>span{flex:0 0 35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-weight:900}.step-title h2{margin:0 0 4px;font-size:25px}.step-title p{margin:0;color:var(--muted)}label{display:grid;gap:7px;font-size:13px;font-weight:800;margin-bottom:16px}input[type=text],input[type=tel],input[type=number],input:not([type]){width:100%;border:1px solid #d7e3eb;border-radius:11px;padding:14px 13px;color:var(--navy);outline:0;background:#fff}input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(10,167,182,.13)}.fields{display:grid;gap:14px}.fields.two{grid-template-columns:1fr 1fr}.info-message{padding:12px 14px;border-radius:10px;font-size:13px;margin-bottom:16px}.info-message.neutral{background:#f1f7fb;color:#43657e}.info-message.good{background:#edfaf6;color:#126f57}.info-message.warn{background:#fff6e9;color:#94620b}.actions{display:flex;gap:12px;margin-top:24px}.actions.right{justify-content:flex-end}.actions.between{justify-content:space-between}.btn{border:0;border-radius:10px;padding:14px 20px;font-weight:900;text-transform:uppercase;letter-spacing:.015em;cursor:pointer;text-decoration:none;text-align:center}.btn.primary{background:linear-gradient(135deg,#059aaa,#0570c3);color:#fff;box-shadow:0 8px 20px rgba(5,112,195,.18)}.btn.secondary{background:#fff;color:var(--navy);border:1px solid #bcd0df}.btn.full{width:100%;display:flex;justify-content:center;gap:16px}
.segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:13px;padding:4px;margin-bottom:24px;background:#f7fafc}.segmented button{border:0;background:transparent;padding:12px;border-radius:9px;font-weight:850;color:#637b8f;cursor:pointer}.segmented button.active{background:var(--teal);color:#fff}.question{font-size:15px;margin:22px 0 12px}.product-grid{display:grid;gap:12px}.main-service-grid{grid-template-columns:repeat(4,1fr);margin-bottom:22px}.sofa-types{grid-template-columns:repeat(3,1fr)}.product-card{position:relative;min-height:168px;border:1px solid #d9e5ed;background:#fff;border-radius:13px;padding:12px;display:grid;place-items:center;gap:8px;cursor:pointer;color:var(--navy)}.product-card img{width:100%;height:105px;object-fit:contain}.product-card strong{font-size:14px}.product-card .check{display:none;position:absolute;right:8px;top:8px;background:var(--teal);color:#fff;border-radius:50%;width:22px;height:22px;place-items:center}.product-card.selected{border:2px solid var(--teal);background:#f3feff}.product-card.selected .check{display:grid}.place-buttons{display:flex;gap:10px;flex-wrap:wrap}.place-buttons button{border:1px solid #dce6ed;background:#fff;border-radius:9px;padding:11px 17px;cursor:pointer;color:var(--navy)}.place-buttons button.active{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:850}.selected-preview{margin-top:18px;border-radius:15px;background:linear-gradient(#f7fbfd,#f3fbfa);padding:16px;text-align:center}.selected-preview>img{width:100%;max-height:300px;object-fit:contain}.main-area-field{display:inline-flex;align-items:center;gap:8px;margin-top:13px;font-weight:850;color:var(--navy)}.main-area-field input{width:86px;padding:9px;border:1px solid #d9e5ed;border-radius:9px}.selection-confirmation{color:#18836a;font-weight:750;background:#eaf9f4;padding:10px;border-radius:8px}.combo-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.combo-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px;cursor:pointer;color:var(--navy)}.combo-card strong{display:block;margin-bottom:5px}.combo-card span{display:flex;align-items:center;justify-content:center;font-weight:900}.combo-card img{width:34%;height:80px;object-fit:contain}.combo-card.selected{border:2px solid var(--teal);background:#f3feff}
.extras-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.extra-card{position:relative;border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center;background:#fff}.extra-card>img{width:100%;height:100px;object-fit:contain}.extra-card>strong,.extra-card>span{display:block}.extra-card>span{font-size:12px;color:#527086;margin:4px}.extra-card .plus{position:absolute;right:8px;top:8px;border:1px solid #c8d9e5;background:#fff;border-radius:50%;width:25px;height:25px;cursor:pointer}.counter{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px}.counter button{border:1px solid #cadbe6;background:#f8fbfd;border-radius:7px;width:28px;height:28px;cursor:pointer}.counter b{min-width:20px}.extra-card.active{border:2px solid var(--teal);background:#f5feff}.extra-card small{display:block;color:#71889a;margin-top:5px}.rug-card label{display:flex;align-items:center;justify-content:center;gap:6px;margin:8px 0 0}.rug-card input{width:70px;padding:7px}.small-note{font-size:12px;color:#6f8799}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.option-card{position:relative;display:block;border:1px solid var(--line);padding:18px 16px 18px 48px;border-radius:14px;cursor:pointer;font-weight:400}.option-card input{position:absolute;opacity:0}.option-check{position:absolute;left:16px;top:18px;width:22px;height:22px;border:2px solid #a9c2d3;border-radius:6px;color:transparent;display:grid;place-items:center}.option-card input:checked~.option-check{background:var(--teal);border-color:var(--teal);color:#fff}.option-card strong,.option-card b{display:block}.option-card b{color:var(--teal);margin:4px 0}.option-card p{color:#647e92;font-size:12px;line-height:1.5;margin:6px 0}.option-card.highlighted{background:#f5feff;border-color:#8ed6dd}.upload{border:2px dashed #b8d2df;border-radius:16px;text-align:center;padding:24px;cursor:pointer;margin-top:18px}.upload input{display:none}.upload-icon{margin:auto;width:42px;height:42px;border-radius:50%;background:#e7f7f9;display:grid;place-items:center;font-size:24px;color:var(--teal)}.upload strong,.upload small{display:block;margin-top:7px}.upload small{font-weight:400;color:#657e90}.upload img{max-height:180px;max-width:100%;margin:12px auto;border-radius:10px}.estimate-lines{border:1px solid var(--line);border-radius:14px;overflow:hidden}.estimate-lines>div,.summary-lines>div{display:flex;justify-content:space-between;gap:20px;padding:13px 14px;border-bottom:1px solid #e6eef3}.estimate-lines>div:last-child,.summary-lines>div:last-child{border:0}.estimate-lines span,.summary-lines span{color:#506d82}.total-row{display:flex;justify-content:space-between;align-items:center;padding:20px 3px;font-size:17px}.total-row strong{font-size:30px;color:var(--teal)}.estimate-note,.secure-note{font-size:12px;color:#6d8292;line-height:1.5}.text-link{border:0;background:none;color:#0c7897;text-decoration:underline;cursor:pointer;margin-top:15px}.summary-card h2{font-size:20px;margin:0 0 16px}.summary-visual{display:grid;grid-template-columns:115px 1fr;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px}.summary-visual img{width:115px;height:90px;object-fit:contain}.summary-visual p{font-size:13px;font-weight:800;line-height:1.5}.summary-lines{font-size:12px;margin:10px 0}.summary-total{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:2px solid var(--navy);text-transform:uppercase;font-weight:900}.summary-total strong{font-size:25px;color:var(--teal)}.summary-card>small{display:block;color:#6f8595;line-height:1.5;margin-top:12px}
.booking-section{padding:60px 0;background:#eef7fa}.booking-card{padding:34px;max-width:1050px;margin:auto}.booking-card>h2{font-size:34px;margin:8px 0}.booking-card>p{color:#59758a}.choice-tabs{display:grid;grid-template-columns:1fr 1fr;padding:5px;border:1px solid var(--line);background:#f7fafc;border-radius:12px;margin:24px 0}.choice-tabs button{border:0;background:none;padding:13px;border-radius:8px;color:#5f788c;font-weight:850;cursor:pointer}.choice-tabs button.active{background:var(--teal);color:#fff}.date-list{display:flex;gap:10px;overflow:auto;padding:3px 0 12px}.date-button{min-width:116px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px;cursor:pointer;color:var(--navy)}.date-button span,.date-button b{display:block}.date-button span{font-size:12px}.date-button.active,.time-button.active{border:2px solid var(--teal);background:#f0fcfd}.time-list{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 22px}.time-button,.callback-windows button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px 18px;cursor:pointer;color:var(--navy)}.callback-windows{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.callback-windows button.active{border:2px solid var(--teal);background:#f0fcfd}.contact-preference{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:20px 0}.contact-preference h3{width:100%;margin-bottom:0}.contact-preference label{display:flex;grid-template-columns:auto 1fr;margin:0;font-weight:650}.confirmation{margin-top:20px;border-radius:14px;padding:20px;background:#edfaf6;color:#0d6d56;line-height:1.6}.reassurance{padding:25px 0;background:#fff}.reassurance-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px}.reassurance article{display:flex;gap:12px;padding:20px;border-right:1px solid var(--line)}.reassurance article:last-child{border:0}.reassurance b{font-size:30px;color:var(--teal)}.reassurance strong,.reassurance span{display:block}.reassurance span{font-size:12px;color:#627b8e;margin-top:4px}
footer{background:#052f5a;color:#fff;padding:44px 0 16px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}.footer-grid img{width:165px;filter:brightness(0) invert(1)}.footer-grid p{color:#c5d7e4;line-height:1.6}.footer-grid strong,.footer-grid a,.footer-grid span{display:block}.footer-grid strong{margin-bottom:12px}.footer-grid a,.footer-grid span{color:#d7e5ef;text-decoration:none;margin:8px 0;font-size:13px}.copyright{border-top:1px solid rgba(255,255,255,.15);padding-top:14px;margin-top:28px;color:#c7d8e4;font-size:12px}
@media(max-width:900px){.desktop-nav{display:none}.menu{display:block;margin-left:auto}.phone span{display:none}.mobile-nav.open{display:flex}.intro-inner{display:block}.intro-badges{grid-template-columns:1fr 1fr;margin-top:18px}.calculator-layout{grid-template-columns:1fr}.summary-card{position:static;order:-1}.summary-card{display:none}.extras-grid{grid-template-columns:repeat(2,1fr)}.reassurance-grid{grid-template-columns:1fr 1fr}.reassurance article:nth-child(2){border-right:0}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.main-service-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.shell{width:min(100% - 20px,1220px)}.header-row{height:66px}.brand img{width:125px}.phone{padding:10px 12px;font-size:0}.phone::after{content:"☎";font-size:20px}.intro-inner{padding:28px 0}.intro-badges{grid-template-columns:1fr}.calculator-section{padding-top:20px}.calculator-card{padding:15px}.progress-wrap{margin:0 0 25px}.steps span{display:none}.steps b{width:31px;height:31px}.progress-line{top:14px}.fields.two,.sofa-types,.options-grid,.combo-grid{grid-template-columns:1fr}.product-card{grid-template-columns:130px 1fr;min-height:115px;text-align:left}.product-card img{height:90px}.extras-grid{grid-template-columns:1fr 1fr}.extra-card>img{height:80px}.actions .btn{flex:1;padding:13px 9px;font-size:12px}.booking-card{padding:20px 15px}.choice-tabs{grid-template-columns:1fr}.reassurance-grid{grid-template-columns:1fr}.reassurance article{border-right:0;border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:1fr}.intro h1{font-size:36px}.step-title h2{font-size:22px}}


.cta-visible{min-width:260px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-weight:900;letter-spacing:.01em}
.final-cta .cta-visible{background:#fff!important;color:#06345f!important;border:1px solid rgba(255,255,255,.92)!important;box-shadow:0 12px 28px rgba(6,52,95,.18)!important;padding:18px 28px!important;border-radius:16px!important}
.final-cta .cta-visible:hover{opacity:.97}

.primary-action{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#08a7b7,#0878c9);color:#fff!important;text-decoration:none;border-radius:12px;padding:14px 18px;font-weight:900;margin:12px 0}.confirmation-box small{color:#5d7488}


/* V6 correction: never show tapis surface unless the selected main service is Tapis */
#main-tapis-area-label[hidden]{display:none!important;}
#main-tapis-area-label{margin-top:14px;}
.product-card img,#main-service-image,#summary-image{filter:none!important;}
.whatsapp-extra-option{display:flex;align-items:flex-start;gap:10px;margin:18px 0 14px;padding:14px 16px;border:1px solid #cfe2ed;border-radius:14px;background:#f7fbfd;color:#083968;font-weight:800;line-height:1.35}.whatsapp-extra-option input{width:18px;height:18px;margin-top:1px;accent-color:#089aa7}

/* V33 logo normalization */
.header .brand{display:flex!important;align-items:center!important;flex:0 0 auto!important}
.header .brand img,.brand img{width:150px!important;height:auto!important;max-height:64px!important;object-fit:contain!important}
@media(max-width:620px){.header .brand img,.brand img{width:132px!important;max-height:58px!important}}


/* V34 - correction definitive logo header/footer */
.header{min-height:82px;overflow:visible!important}
.header-row{height:82px!important;min-height:82px!important;align-items:center!important}
.header .brand,.brand{display:flex!important;align-items:center!important;justify-content:flex-start!important;width:210px!important;min-width:210px!important;max-width:210px!important;flex:0 0 210px!important;height:82px!important;overflow:visible!important}
.header .brand img,.brand img{display:block!important;width:180px!important;max-width:180px!important;height:auto!important;max-height:58px!important;object-fit:contain!important;object-position:left center!important;filter:none!important;transform:none!important;background:transparent!important;padding:0!important;border-radius:0!important}
footer .footer-brand img,footer .footer-grid img,.footer .footer-grid img,.footer img{width:170px!important;max-width:170px!important;height:auto!important;max-height:64px!important;object-fit:contain!important;object-position:left center!important;filter:none!important;background:#fff!important;border-radius:12px!important;padding:7px!important;box-sizing:border-box!important}
@media(max-width:760px){.header{min-height:68px}.header-row{height:68px!important;min-height:68px!important}.header .brand,.brand{width:155px!important;min-width:155px!important;max-width:155px!important;flex:0 0 155px!important;height:68px!important}.header .brand img,.brand img{width:138px!important;max-width:138px!important;max-height:50px!important}}


/* V35 correction globale : logo header/footer et boutons CTA visibles */
body > header .brand, .header .brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:190px!important;
  min-width:190px!important;
  max-width:190px!important;
  flex:0 0 190px!important;
  height:76px!important;
  overflow:hidden!important;
}
body > header .brand img, .header .brand img, a.brand > img{
  display:block!important;
  width:170px!important;
  max-width:170px!important;
  height:auto!important;
  max-height:54px!important;
  object-fit:contain!important;
  object-position:left center!important;
  aspect-ratio:540/150!important;
  filter:none!important;
  transform:none!important;
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
}
.cta-band .btn,
.cta-band a.btn,
.cta-band .btn.outline,
.cta-band a.btn.outline,
.cta-row .btn,
.final-cta .btn{
  color:#06345f!important;
  background:#fff!important;
  border:2px solid rgba(255,255,255,.88)!important;
  text-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
}
.cta-band .btn:hover,
.cta-row .btn:hover,
.final-cta .btn:hover{filter:brightness(.98)}
@media(max-width:760px){
  body > header .brand, .header .brand{width:155px!important;min-width:155px!important;max-width:155px!important;flex-basis:155px!important;height:68px!important;}
  body > header .brand img, .header .brand img, a.brand > img{width:138px!important;max-width:138px!important;max-height:48px!important;}
}
