:root{
  --bg:#eaefed; --card:#ffffff; --accent:#2361a7; --accent-green:#136c38;
  --muted:#4b5d6b; --text:#1a2e3b; --border:#d0dbd7;
  --radius:12px; --maxw:1100px;
}
html{
  overflow-y:scroll;
  scrollbar-gutter:stable;
}
html, body {
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.6;
  font-weight:600;
}
* { box-sizing: border-box; }
.site{max-width:var(--maxw);width:100%;margin:0 auto;flex:0 1 var(--maxw);background:var(--card);border-radius:16px;overflow:hidden;box-shadow:0 6px 32px rgba(19,108,56,0.06),0 2px 8px rgba(35,97,167,0.04);display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1;}
.site > main{flex:1;}
@media(max-width:700px){
  body{background:var(--card);}
  .site{border-radius:0;box-shadow:none;margin:0;}
}
/* ── Pre-header (barre compte) ─────────────────────────────────────────────── */
.pre-header{display:flex;justify-content:flex-end;align-items:center;padding:6px 20px;background:linear-gradient(90deg,#136c38 0%,#2361a7 100%);border-bottom:1px solid #dce8fb;}
.pre-header-inner{display:flex;align-items:center;justify-content:flex-end;gap:8px;}
.pre-header .account-chip{display:inline-flex;align-items:center;gap:6px;margin:4px 0 0 0;padding:5px 10px;border:1px solid #dbe7fb;border-radius:999px;background:#f7faff;color:#22324a;font-size:.82rem;line-height:1;}
.pre-header .account-dot{width:8px;height:8px;border-radius:50%;background:#20a44a;box-shadow:0 0 0 2px #e7f7ed;}
.pre-header .account-name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pre-header .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:4px 0 0 0;padding:5px 10px;border-radius:999px;font-size:.82rem;line-height:1;font-weight:600;text-decoration:none;text-align:center;}
.pre-header .btn-ghost{background:#f7faff;color:#22324a;border:1px solid #dbe7fb;}
.pre-header .btn-logout{background:#fffaf5;color:#111111;border:1px solid #fde8cf;}
.pre-header .auth-action{min-width:122px;}
@media(max-width:700px){.pre-header{justify-content:flex-end;padding:6px 12px;}.pre-header-inner{width:100%;justify-content:flex-end;}}
.header-center {
  text-align:center;
}
.header-right {
  margin-right: 40px;
}
.logo{object-fit:contain;margin-bottom:10px;}
.phone-link{
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: var(--text);
  text-decoration: none;
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing:-0.01em;
  transition: color 0.3s ease;
  cursor: pointer;
}
.phone-link:hover{color:var(--accent-green);}
.phone-icon{
  width:2.1rem;
  height:2.1rem;
  fill:currentColor;
  cursor:pointer;
}

main{display:flex;flex-direction:column;align-items:center;width:100%;padding:28px;}
.slots-bar + main{padding-top:0;}
.content{padding:18px;width:100%;}
@media(max-width:700px){
  main{padding:12px;}
  .content{padding:10px;}
}
.hero{background:#e6eeeb;padding:18px;border-radius:12px;margin-bottom:18px;}
.muted{color:var(--muted);}
h1,h2,h3{color:var(--text);letter-spacing:-0.02em;}
h1{font-weight:800;font-size:2rem;}
h2{font-weight:700;font-size:1.5rem;}
h3{font-weight:600;font-size:1.15rem;}
.panel{background:var(--card);padding:18px;border-radius:12px;border:1px solid var(--border);position:sticky;top:24px;}
.field{margin-bottom:16px;}
label{display:block;margin-bottom:6px;font-size:1.05rem;font-weight:600;color:var(--text);}
select,input[type="number"]{width:100%;padding:10px;border-radius:8px;border:1px solid var(--border);background:#fff;transition:border-color .2s;box-sizing:border-box;}
select:focus,input[type="number"]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(35,97,167,.1);}
.diag-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:12px;}
.diag-list.diag-list-main{grid-template-columns:repeat(2,1fr);}
@media(max-width:600px){.diag-list.diag-list-main{grid-template-columns:1fr;}}
.diag-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;border:1px solid var(--border);background:#f4f8f6;transition:all .3s ease;}
.diag-item.disabled{transform:scale(.98);}
.diag-item.disabled::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.58);z-index:2;pointer-events:none;}
.diag-item.disabled .diag-regl-hint{z-index:25;}
.diag-item.locked{cursor:not-allowed;}
.price-box{margin-top:14px;padding:14px;border-radius:10px;background:#f0f5f3;border:1px solid var(--border);text-align:center;}
.total{font-size:1.6rem;font-weight:700;color:var(--accent);}
.breakdown{margin-top:10px;font-size:0.9rem;color:var(--muted);text-align:left;}
.btn-row{display:flex;gap:10px;margin-top:12px;}
.btn{flex:1;padding:10px;border-radius:10px;border:0;font-weight:600;cursor:pointer;}
.btn-primary{background:var(--accent);color:#fff;transition:background .2s;}
.btn-primary:hover{background:#1c4f8c;}
.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--accent);transition:all .2s;}
.btn-ghost:hover{background:rgba(35,97,167,.05);border-color:var(--accent);}
.row-options{display:flex;gap:20px;width:100%;flex-wrap:wrap;margin-top:8px;}
.opt-item{flex:1;min-width:min(200px,100%);display:flex;align-items:center;gap:8px;background:#f4f8f6;padding:10px;border-radius:8px;border:1px solid var(--border);}
.lead-text{text-align:center;max-width:720px;margin:0.75rem auto;font-size:1rem;line-height:1.65;color:var(--text);padding:0 1rem;}
.section-title{text-align:center;margin:0.75rem 0 1.75rem;font-size:1.25rem;font-weight:700;color:var(--text);letter-spacing:-0.01em;}
/* ── Bannière CTA ERP commander ─────────────────────────────────────── */
.erp-cta-wrap{display:flex;justify-content:center;padding:14px 16px 6px;}
.erp-cta-banner{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  background:linear-gradient(135deg,#163470 0%,#2361a7 60%,#1c4f8c 100%);
  color:#fff;text-decoration:none;
  padding:11px 32px;
  border-radius:50px;
  border:2px solid #136c38;
  font-size:1rem;font-weight:700;letter-spacing:0.01em;
  box-shadow:0 4px 18px rgba(35,97,167,.35);
  cursor:pointer;
  transition:box-shadow .2s,transform .15s,filter .2s;
}
.erp-cta-banner:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 28px rgba(35,97,167,.45);color:#fff;}
.erp-cta-banner:active{transform:translateY(0);box-shadow:0 2px 8px rgba(35,97,167,.3);}
.erp-cta-icon{font-size:1.3rem;flex-shrink:0;}
.erp-cta-text{white-space:nowrap;}
.erp-cta-arrow{font-size:1.2rem;flex-shrink:0;transition:transform .2s;}
.erp-cta-banner:hover .erp-cta-arrow{transform:translateX(4px);}
@media(max-width:600px){
  .erp-cta-banner{font-size:1rem;padding:14px 24px;gap:10px;}
  .erp-cta-text{white-space:normal;text-align:center;}
}

footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  padding: 18px;
  margin-top: 24px;
  border-top: 1px solid var(--border);
  color:#ffffff;
  background:linear-gradient(90deg,#2361a7 0%,#136c38  100%);
  font-size:.9rem;
  overflow: visible;
  position: relative;
}
footer a{color:#ffffff;text-decoration:none;font-weight:500;}
.footer-bug-report{margin:0;font-size:.78rem;opacity:.7;letter-spacing:.01em;}
.footer-bug-report a{color:#ffffff;text-decoration:underline;text-underline-offset:3px;font-weight:400;}
.footer-bug-report:hover{opacity:1;transition:opacity .2s;}
.footer-bottom-bar{margin:6px 0 0;font-size:0.75rem;opacity:.6;letter-spacing:.01em;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 8px;max-width:100%;}
.footer-social{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:10px;}
.footer-social-link{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;transition:background .18s,transform .15s;text-decoration:none;}
.footer-social-link:hover{background:rgba(255,255,255,.32);transform:translateY(-2px);}
.footer-social-soon{opacity:.4;cursor:default;}
.footer-social-soon:hover{background:rgba(255,255,255,.15);transform:none;}
.footer-bottom-bar a{color:#fff;text-decoration:none;font-weight:400;font-size:12px;}
.footer-bottom-bar a:hover,.footer-bottom-bar a:focus-visible{text-decoration:underline;text-underline-offset:2px;}
.footer-bottom-bar:hover{opacity:.9;}
.footer-sep{opacity:.75;}

.footer-logos{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;}
.footer-logos img{height:38px;width:auto;object-fit:contain;opacity:.9;transition:opacity .2s;}
.footer-logos img:hover{opacity:1;}
.footer-inner{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;}
.partner-avis-row{display:flex;align-items:center;justify-content:flex-end;gap:24px;padding-right:20px;}
.footer-partner-logos{display:flex;flex-direction:row;align-items:flex-end;justify-content:flex-end;gap:16px;position:absolute;top:-65px;right:20px;}
.footer-partner-logos picture{display:flex;align-items:flex-end;}
.footer-partner-logos img{height:50px;width:auto;object-fit:contain;display:block;}
.footer-partner-logos img[alt="Bureau Veritas"]{height:76px;position:relative;top:1px;}
.footer-partner-logos img[alt="Stripe"],.footer-partner-logos img[alt="CB"],.footer-partner-logos img[alt="PayPal"],.footer-partner-logos img[alt="Paiement"],.footer-partner-logos .footer-payment-logo{height:50px;position:relative;top:calc(-0.25cm - 1px);}
@media(max-width:480px){.footer-inner{flex-direction:column;gap:10px;}}
@media(max-width:700px){
  footer{padding:16px 12px;gap:10px;}
  .footer-bottom-bar{font-size:.8rem;line-height:1.45;}
  .footer-bottom-bar a{font-size:.8rem;}
  .footer-partner-logos{position:static;flex-direction:column;justify-content:center;align-items:center;gap:8px;margin-top:4px;right:auto;top:auto;}
  .footer-partner-logos img{height:40px;}
  .footer-partner-logos img[alt="Bureau Veritas"]{height:56px;top:0;}
  .footer-partner-logos img[alt="Stripe"],.footer-partner-logos img[alt="CB"],.footer-partner-logos img[alt="PayPal"],.footer-partner-logos img[alt="Paiement"],.footer-partner-logos .footer-payment-logo{height:40px;top:0;}
}
@media(max-width:420px){
  .footer-bottom-bar{flex-direction:column;gap:2px;}
  .footer-sep{display:none;}
}
body{margin:0;display:flex;justify-content:center;background-color:var(--bg);background-image:linear-gradient(180deg,rgba(35,97,167,.18) 0%,rgba(19,108,56,.08) 45%,rgba(255,255,255,.04) 100%),url('/img/immobilier-fond-bg-1440.webp');background-position:center center,center center;background-size:cover,cover;background-attachment:fixed,fixed;background-repeat:no-repeat,no-repeat;position:relative;}
@media(max-width:700px){body{background-image:linear-gradient(180deg,rgba(35,97,167,.18) 0%,rgba(19,108,56,.08) 45%,rgba(255,255,255,.04) 100%),url('/img/immobilier-fond-bg-900.webp');background-attachment:scroll,scroll;}}
.site,.container,main,.wrapper{width:100%;max-width:1100px;margin:0 auto;}
h1,h2,h3{text-align:center;}
.panel,.form-container,.pricing,.section{margin-left:auto;margin-right:auto;}
.total,.price,.prix-final{text-align:center;}
@media(max-width:700px){body{background:var(--card);}}
button,.btn{display:inline-block;margin:10px auto;}
@media (max-width: 768px) {.row,.row-fields{flex-direction:column;align-items:center;}}
.field-small{display:flex;flex-direction:column;align-items:center;}
#typeBien,#anneeConstruction,#cadre,#surface,#chauffage,#typeRadiateur{text-align:center;}
.field-small label{display:block;text-align:center;margin-bottom:6px;}
.field-small select,.field-small input{width:140px;text-align:center;}
.row-fields{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;width:90%;margin-bottom:16px;}
.row-fields .field{flex:1 1 calc(25% - 12px);min-width:150px;}
.row-fields .field label{display:block;margin-bottom:6px;}
.row-fields .field select,.row-fields .field input{width:100%;text-align:center;}
@media(max-width:700px){
  .row-fields{width:100%;}
  .field-small select,.field-small input{width:100%;}
}
@media (max-width:768px){.row-fields{flex-direction:column;}.row-fields .field{width:100%;max-width:none;}}
@media(max-width:480px){
  .row-options{gap:8px;}
  .opt-item{flex:1 1 100%;min-width:0;}
  .row-fields{width:100%;}
  .row-fields .field{min-width:0;}
  .annee-blocs{flex-direction:column;width:100%;}
  .annee-card{width:100%;flex:none;box-sizing:border-box;}
}
.switch{position:relative;display:inline-block;width:50px;height:26px;}
.switch input{opacity:0;width:0;height:0;}
.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:34px;}
.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:white;transition:.3s;border-radius:50%;}
.switch input:checked + .slider{background-color:var(--accent);}
.switch input:checked + .slider:before{transform:translateX(24px);}
.annee-blocs{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;justify-content:center;align-items:center;}
.annee-card{flex:1 1 0;min-width:0;padding:7px 12px;border:2px solid var(--border);border-radius:12px;text-align:center;cursor:pointer;font-weight:600;font-size:.93rem;transition:.2s ease;box-sizing:border-box;}
.annee-card:hover{border-color:var(--accent);}
.annee-card.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.annee-section{text-align:center;margin-bottom:25px;}
.annee-title{font-weight:700;font-size:1.2rem;margin-bottom:15px;}
.row-fields,.diag-list{width:100%;max-width:100%;}
/* Carousel */
.diagnostics-carousel{padding:0 0px;background:#e6eeeb;color:#ffffff;text-align:center;overflow:hidden;border-radius:20px;max-width:82%;box-sizing:border-box;margin:40px auto;}
.carousel-wrapper{
  position:relative;
  max-width:1100px;
  margin:auto;
  overflow:hidden;
  border-radius:20px;
  box-shadow:0 6px 20px rgba(0,0,0,0.05);


}
.carousel-track{display:flex;gap:12px;transition:transform .2s ease;will-change:transform;}
.carousel-item{flex:0 0 calc((100% - 12px) / 2);min-width:0;margin:0;position:relative;text-decoration:none;color:white;border-radius:15px;overflow:hidden;}
.carousel-item:first-child{
  margin-left:0;
}

.carousel-item:last-child{
  margin-right:0;
}

.carousel-item img{width:100%;height:250px;object-fit:cover;display:block}
.carousel-item span{position:absolute;bottom:15px;left:15px;background:rgba(0,0,0,0.5);padding:8px 15px;border-radius:8px;font-weight:bold;}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,0.6);color:white;border:none;font-size:28px;width:50px;height:50px;cursor:pointer;border-radius:50%;z-index:1000;display:flex;align-items:center;justify-content:center;}
.carousel-btn:hover{background:rgba(0,0,0,0.8);}
.carousel-btn.prev{left:10px;}
.carousel-btn.next{right:10px;}
@media(max-width:768px){
  .diagnostics-carousel{width:calc(100vw - 32px);max-width:calc(100vw - 32px);margin:20px auto 0;padding:0;border-radius:20px;}
  .carousel-wrapper{width:100%;max-width:100%;margin:0 auto;}
  .carousel-track{gap:0;}
  .carousel-item{flex-basis:100%;min-width:100%;margin:0;}
  .carousel-item img{height:200px;}
  .carousel-btn{width:48px;height:48px;font-size:22px;}
}
/*Hamburger Desktop */
.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:60px;height:30px;background:none;border:none;cursor:pointer;margin-top:30px;z-index:1001;}
.hamburger span{display:block;width:100%;height:5px;background:#111;border-radius:2px;transition:.3s;}
.desktop-menu{position:absolute;top:50px;right:10px;background:#fff;border-radius:10px;box-shadow:0 6px 15px rgba(0,0,0,.1);display:none;text-align:center;padding:12px 0;min-width:200px;z-index:1000;}
.desktop-menu ul{list-style:none;margin:0;padding:0;}
.desktop-menu li{margin:8px 0;}
.desktop-menu a{text-decoration:none;color:var(--text);font-weight:600;padding:6px 12px;display:block;}
.desktop-menu a:hover{background:#e6eeeb;border-radius:6px;color:var(--accent);}
.desktop-menu.open{display:block;}
header{position:relative;min-height:166px;}

.header-wrapper {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  padding: 10px 20px 0;
}
.header-left {
  flex: 0 0 auto; /* largeur du logo automatique */
  margin-left: 0;
}
.header-left picture{
  display:block;
  line-height:0;
}
.header-left .logo {
  display:block;
  width: 154px;
  height: auto;
  transform: translate(24px, -6px);
  margin-bottom:2px;
}
.muted {
  color: var(--muted);
}
@media (max-width: 900px){
  header{min-height:282px;}
  .header-wrapper{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    padding-bottom:6px;
  }
  .header-left{
    order:1;
    justify-self:center;
    margin-left:0;
  }
  .header-left .logo{
    transform:none;
  }
  .header-right{
    order:2;
    width:100%;
    display:flex;
    justify-content:center;
    margin-right:0;
  }
  .header-center{
    order:3;
  }
  .phone-link{
    font-size:1.2rem;
  }
}
.rgpd-wrapper{
  max-width:1100px;
  margin:40px auto;
  padding:20px;
}

.rgpd-content{
  background:#ffffff;
  border-radius:16px;
  box-shadow:0 6px 25px rgba(0,0,0,.06);
  padding:30px;
}

.rgpd-content h1{
  text-align:center;
  margin-bottom:30px;
}

.rgpd-content h2{
  margin-top:25px;
}

.rgpd-content p{
  line-height:1.6;
}

/* =========================
   FORMULAIRE SUPPRESSION
   Scoped uniquement ici
========================= */

.data-delete{
  margin-top:40px;
  padding:20px;
  border:1px solid #ddd;
  border-radius:12px;
  background:#f9f9f9;
}

.data-delete label{
  display:block;
  margin-bottom:15px;
  font-weight:600;
}

.data-delete small{
  display:block;
  margin-top:6px;
  font-weight:400;
}

.data-delete button{
  margin-top:15px;
  padding:10px 20px;
  border-radius:8px;
  border:none;
  background:var(--accent);
  color:#fff;
  font-weight:600;
  cursor:pointer;
  transition:background .2s;
}
.data-delete button:hover{background:#1c4f8c;}

.data-delete button:disabled{
  opacity:.5;
  cursor:not-allowed;
}

/* Responsive léger */
@media(max-width:768px){
  .rgpd-content{
    padding:20px;
  }
}
/* Conteneur image avec texte flottant */
.dpe-container {
  position: relative;
  width: 100%;
  margin: 20px 0;
  border-radius: 12px;
  overflow: hidden;
}


.dpe-text-overlay {
  position: relative;
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
  color: #111;
  background: rgba(255,255,255,0.85);
}
.dpe-text-overlay p {
  margin: 0.5rem 0;
  line-height: 1.6;
}

@media (max-width: 768px) {
  .dpe-text-overlay h1 {
    font-size: 1.8rem;
  }
  .dpe-text-overlay h2 {
    font-size: 1.2rem;
  }
}
@media (max-width:768px){

  .dpe-text-overlay{
    padding:15px;
  }

  .dpe-text-overlay p,
  .dpe-text-overlay li{
    font-size:14px;
  }
}

/* Login form */
.login-form{
  max-width:400px;
  margin:120px auto;
  padding:30px;
  background:#ffffff;
  border-radius:10px;
  box-shadow:0 10px 25px rgba(0,0,0,0.1);
}

.login-form h2{
  text-align:center;
  margin-bottom:20px;
}

.login-form input{
  width:100%;
  padding:10px;
  margin-bottom:15px;
  border:1px solid #ccc;
  border-radius:6px;
}

.login-form button{
  width:100%;
  padding:12px;
  background:var(--accent);
  color:white;
  border:none;
  border-radius:6px;
  font-weight:600;
  cursor:pointer;
  transition:background .2s;
}
.login-form button:hover{background:#1c4f8c;}

/* Register form */
.register-form{
  max-width:400px;
  margin:120px auto;
  padding:30px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 10px 25px rgba(0,0,0,0.1);
}

.register-form h2{
  text-align:center;
  margin-bottom:20px;
}

.register-form input{
  width:100%;
  padding:10px;
  margin-bottom:15px;
  border:1px solid #ccc;
  border-radius:6px;
}

.register-form button{
  width:100%;
  padding:12px;
  background:var(--accent-green);
  color:white;
  border:none;
  border-radius:6px;
  font-weight:600;
  transition:background .2s;
}
.register-form button:hover{background:#0e5a2d;}

/* ── Mobile usability SEO : lisibilite, zones tactiles, pas de debordement ── */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
img,svg,video,canvas,iframe{
  max-width:100%;
}
a,button,input,select,textarea,label{
  -webkit-tap-highlight-color:rgba(35,97,167,.18);
}
@media(max-width:700px){
  html,body,.site{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  main,.content,.hero,.panel,section,article,form{
    max-width:100%;
  }
  a,button,.btn,[role="button"],input,select,textarea{
    font-size:16px;
  }
  button,.btn,.pre-header .btn,.desktop-menu a,.quick-access-link,.footer-social-link,.ck-btn{
    min-height:44px;
    min-width:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .pre-header{
    padding:6px 10px;
  }
  .pre-header-inner{
    gap:6px;
    flex-wrap:wrap;
  }
  .pre-header .btn,
  .pre-header .account-chip{
    margin-top:0;
    padding:8px 12px;
    line-height:1.25;
  }
  .pre-header .auth-action{
    min-width:0;
    flex:1 1 132px;
  }
  .header-wrapper{
    padding:10px 12px 0;
  }
  header{
    min-height:250px;
  }
  .header-left .logo{
    width:110px;
  }
  .hamburger{
    width:52px;
    height:44px;
    margin:0;
    padding:8px 0;
  }
  .hamburger span{
    height:4px;
  }
  .desktop-menu{
    left:12px;
    right:12px;
    top:auto;
    min-width:0;
    width:auto;
  }
  .desktop-menu li{
    margin:4px 0;
  }
  .desktop-menu a{
    padding:10px 14px;
    line-height:1.25;
  }
  footer{
    overflow:hidden;
  }
  .footer-bottom-bar{
    gap:8px 12px;
  }
  .footer-bottom-bar a{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:2px 4px;
  }
  input[type="checkbox"],input[type="radio"]{
    width:20px;
    height:20px;
    min-width:20px;
    flex:0 0 20px;
  }
}

/* ── Champ code reduction (espaces client / pro) ── */
.summary-promo-box{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:220px;max-width:100%;}
.summary-promo-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;width:100%;}
.summary-promo-input{width:170px;max-width:100%;border:1px solid #cbd5e1;border-radius:6px;padding:7px 8px;text-transform:uppercase;}
.summary-promo-btn{border:none;border-radius:6px;color:#fff;padding:7px 10px;font-weight:700;cursor:pointer;}
.summary-promo-btn-apply{background:#0d4e91;}
.summary-promo-btn-remove{background:#6b7280;}
@media(max-width:640px){
  .summary-promo-box{min-width:0;width:100%;align-items:stretch;}
  .summary-promo-actions{justify-content:stretch;}
  .summary-promo-input{width:100%;}
}
