/* nuit-fe-p5 — bloc devis / contact (modèle cbs-emballages, charte site) */

.cbs-bc{
  padding:48px 0 56px;
  background:var(--paper,#EEF1F4);
  border-top:1px solid var(--line);
}
.devis-page{
  padding-top:16px;
  padding-bottom:48px;
  background:var(--paper,#EEF1F4);
}
.devis-page.band{border-top:0}
.page-hero + .devis-page{margin-top:0}

.cbs-p5-panel{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:32px;
  padding:clamp(24px,4vw,56px);
  box-sizing:border-box;
}
.cbs-p5-grid{
  display:grid;
  grid-template-columns:5fr 6fr;
  gap:clamp(28px,4vw,64px);
  align-items:start;
}
.cbs-p5-col-info{min-width:0}
.cbs-p5-eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  color:#5a6b7d;
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cbs-p5-pill{
  display:inline-block;
  width:18px;
  height:6px;
  border-radius:999px;
  background:var(--green,#1C8048);
  flex-shrink:0;
}
.cbs-p5-h2{
  color:var(--navy,#003366);
  font-family:var(--font-body);
  font-size:clamp(26px,2.6vw,34px);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.15;
  margin:16px 0 0;
}
.cbs-p5-h2::after{
  content:"";
  display:block;
  width:56px;
  height:3px;
  margin-top:16px;
  border-radius:2px;
  background:var(--green,#1C8048);
}

.cbs-joindre{
  margin-top:26px;
  font-size:15.5px;
  line-height:1.6;
  color:#475569;
}
.cbs-joindre-title{
  color:var(--navy,#003366);
  font-size:22px;
  font-weight:800;
  letter-spacing:-.01em;
  line-height:1.2;
  margin:0 0 18px;
}
.cbs-joindre-item{margin:0 0 16px}
.cbs-joindre-label{
  color:var(--navy,#003366);
  font-weight:700;
  font-size:15px;
  margin:0 0 2px;
}
.cbs-joindre-val{margin:0;color:var(--navy,#003366)}
.cbs-joindre a{
  color:var(--navy,#003366);
  font-weight:400;
  text-decoration:underline;
  text-underline-offset:2px;
}
.cbs-joindre a:hover{color:var(--green,#1C8048)}
.cbs-joindre-note{color:#64748b}

/* RDV : vert charte, compact, jamais full-width */
.cbs-joindre-rdv{
  margin-top:26px;
}
.cbs-joindre-rdv .cbs-bc-rdv,
.cbs-p5-panel .cbs-bc-rdv{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  max-width:100%;
  height:42px !important;
  min-height:42px !important;
  padding:0 20px !important;
  margin:0 !important;
  border-radius:999px;
  background:var(--green,#1C8048) !important;
  color:#fff !important;
  font-size:14.5px !important;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
  box-sizing:border-box;
  border:0;
}
.cbs-joindre-rdv .cbs-bc-rdv:hover,
.cbs-p5-panel .cbs-bc-rdv:hover{
  background:var(--green-hover,#166A3B) !important;
  color:#fff !important;
}
.cbs-joindre-rdv .cbs-bc-rdv:focus-visible,
.cbs-p5-panel .cbs-bc-rdv:focus-visible{
  outline:3px solid var(--green,#1C8048);
  outline-offset:2px;
}

.cbs-p5-form{
  display:grid;
  gap:16px;
  margin:0;
  min-width:0;
}
.cbs-p5-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.cbs-p5-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cbs-p5-field label{
  color:var(--navy,#003366);
  display:block;
  font-size:13px;
  font-weight:600;
  margin:0;
}
.cbs-p5-field input,
.cbs-p5-field textarea{
  width:100%;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:12px;
  color:#0a1628;
  font-family:inherit;
  font-size:15px;
  padding:11px 14px;
  min-height:44px;
}
.cbs-p5-field textarea{
  min-height:120px;
  resize:vertical;
  line-height:1.45;
}
.cbs-p5-field input:focus,
.cbs-p5-field textarea:focus{
  border-color:var(--green,#1C8048);
  outline:2px solid var(--green,#1C8048);
  outline-offset:1px;
}

.cbs-p5-submit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:auto;
  margin:4px 0 0;
  padding:13px 24px;
  border:0;
  border-radius:999px;
  background:var(--green,#1C8048);
  color:#fff;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  font-family:inherit;
  white-space:nowrap;
}
.cbs-p5-submit:hover{background:var(--green-hover,#166A3B)}
.cbs-p5-submit:focus-visible{
  outline:3px solid var(--green,#1C8048);
  outline-offset:2px;
}
.cbs-p5-submit svg{flex-shrink:0}

.cbs-privacy{
  margin:12px 0 0;
  font-size:12px;
  color:#64748b;
  line-height:1.5;
}
.cbs-privacy a{
  color:var(--green,#1C8048);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
}

@media (max-width:900px){
  .cbs-p5-grid,
  .cbs-p5-form-row{
    grid-template-columns:1fr;
  }
  .cbs-joindre-rdv .cbs-bc-rdv,
  .cbs-p5-panel .cbs-bc-rdv{
    white-space:normal;
    width:auto !important;
  }
}


/* nuit-fe-p6 — select, RGPD, status */
.cbs-p5-field select{
  width:100%;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:12px;
  color:#0a1628;
  font-family:inherit;
  font-size:15px;
  padding:11px 14px;
  min-height:44px;
  appearance:auto;
}
.cbs-p5-field select:focus{
  border-color:var(--green,#1C8048);
  outline:2px solid var(--green,#1C8048);
  outline-offset:1px;
}
.cbs-rgpd{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:4px 0 0;
  font-size:13px;
  line-height:1.45;
  color:#334155;
  cursor:pointer;
}
.cbs-rgpd input[type="checkbox"]{
  flex-shrink:0;
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:var(--green,#1C8048);
  cursor:pointer;
}
.cbs-rgpd a{
  color:var(--green,#1C8048);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
}
.cbs-form-status{
  margin:0;
  font-size:13px;
  line-height:1.4;
}
.cbs-form-status.is-ok{color:var(--green,#1C8048)}
.cbs-form-status.is-err{color:#b42318}
