/* cbs-devis-p5 — bloc devis/contact modèle cbs-emballages (nuit p5)
   Vert charte site : #1C8048 / hover #166A3B — pas #5BC889 pour le RDV. */

:root {
  --cbs-p5-navy: #003366;
  --cbs-p5-ink: #0a1628;
  --cbs-p5-muted: #64748b;
  --cbs-p5-label-muted: #5a6b7d;
  --cbs-p5-line: #e2e8f0;
  --cbs-p5-green: #1C8048;
  --cbs-p5-green-h: #166A3B;
  --cbs-p5-paper: #f5f7fa;
}

/* Section fond autour du panneau */
#contact.da-section,
section.da-section:has(.cbs-p5-panel),
section.da-section:has(.cb-bc-panel.cbs-p5-panel),
section.band5-q,
section.cb-cpanel:has(.cbs-p5-panel),
.cb-cpanel:has(.cbs-p5-panel) {
  background: var(--cbs-p5-paper) !important;
}

.cbs-p5-panel,
.cb-bc-panel.cbs-p5-panel,
.da-home-contact.cbs-p5-panel,
.cb-contact-grid.cbs-p5-panel,
.quote5.cbs-p5-panel {
  display: grid !important;
  grid-template-columns: 5fr 6fr !important;
  gap: clamp(28px, 4vw, 64px) !important;
  align-items: start !important;
  background: #fff !important;
  border: 1px solid var(--cbs-p5-line) !important;
  border-radius: 32px !important;
  padding: clamp(24px, 4vw, 56px) !important;
  max-width: 1160px;
  width: 100%;
  margin-inline: auto;
  box-sizing: border-box;
  min-width: 0;
}

.cbs-p5-panel > * {
  min-width: 0;
  max-width: 100%;
}

.cbs-p5-aside,
.cbs-p5-panel > .cbs-p5-aside {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  max-width: none !important;
}

.cbs-p5-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: var(--cbs-p5-label-muted);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.cbs-p5-pill {
  display: inline-block;
  width: 18px;
  height: 6px;
  border-radius: 999px;
  background: var(--cbs-p5-green);
  flex: 0 0 auto;
}

.cbs-p5-h2,
.cbs-p5-panel h2.cbs-p5-h2,
.cbs-p5-panel h1.cbs-p5-h2 {
  color: var(--cbs-p5-navy) !important;
  font-size: clamp(26px, 2.6vw, 34px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  margin: 16px 0 0 !important;
  opacity: 1 !important;
}

.cbs-p5-h2::after,
.cbs-p5-panel h2.cbs-p5-h2::after,
.cbs-p5-panel h1.cbs-p5-h2::after {
  content: "" !important;
  display: block !important;
  width: 56px !important;
  height: 3px !important;
  border-radius: 2px !important;
  background: var(--cbs-p5-green) !important;
  margin-top: 16px !important;
  transform: none !important;
}

.cbs-p5-intro {
  display: none !important; /* modèle : pas d’intro sous le titre */
}

.cbs-p5-joindre {
  margin-top: 26px;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--cbs-p5-muted);
}

.cbs-p5-joindre .cbs-joindre-title,
.cbs-p5-joindre h3 {
  color: var(--cbs-p5-navy) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.2 !important;
  margin: 0 0 18px !important;
}

.cbs-p5-joindre .cbs-joindre-title::after,
.cbs-p5-joindre h3::after {
  content: none !important;
  display: none !important;
}

.cbs-p5-joindre .cbs-joindre-item {
  margin: 0 0 16px;
}

.cbs-p5-joindre .cbs-joindre-label {
  color: var(--cbs-p5-navy) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  margin: 0 0 2px !important;
}

.cbs-p5-joindre .cbs-joindre-val {
  margin: 0;
  color: var(--cbs-p5-muted);
}

.cbs-p5-joindre a {
  color: var(--cbs-p5-navy);
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cbs-p5-joindre a:hover {
  color: var(--cbs-p5-green);
}

.cbs-p5-joindre .cbs-joindre-note {
  color: var(--cbs-p5-muted);
}

/* Annule l’ancien layout 2 colonnes autour du panneau p5 */
section.cb-cpanel .wrap:has(> .cbs-p5-panel),
section.cb-cpanel .wrap:has(.cbs-p5-panel),
.da-wrap:has(> .cbs-p5-panel),
section.band5-q .wrap:has(.cbs-p5-panel) {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  max-width: 1160px !important;
  width: 100% !important;
  margin-inline: auto !important;
  grid-template-columns: none !important;
}
section.cb-cpanel .wrap:has(.cbs-p5-panel) > div:not(.cbs-p5-panel) {
  display: contents !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  grid-template-columns: none !important;
}

/* Libellés joindre = navy charte (pas le vert contact-2126) */
.cbs-p5-panel .cbs-joindre-label,
.cbs-p5-panel .da-joindre__label,
.cbs-p5-panel .cbs-joindre .cbs-joindre-label,
.cbs-p5-panel .cbs-p5-joindre .cbs-joindre-label,
.cbs-p5-panel p.cbs-joindre-label.da-joindre__label {
  color: var(--cbs-p5-navy) !important;
}

/* RDV — vert site, compact, décollé de l’adresse (20–32 px) */
.cbs-p5-panel .cbs-joindre-rdv,
.cbs-p5-aside .cbs-joindre-rdv,
.cbs-p5-panel .cbs-joindre-rdv.cbs-joindre-rdv,
.da-4bis.cbs-p5-panel .cbs-joindre-rdv {
  margin-top: 24px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}
.cbs-p5-panel .cbs-joindre-item:last-of-type {
  margin-bottom: 0 !important;
}

.cbs-p5-panel a.btn-rdv-joindre,
.cbs-p5-panel a.btn-rdv-page,
.cbs-p5-aside a.btn-rdv-joindre,
.cbs-p5-panel .cbs-joindre-rdv a,
.cbs-p5-panel .cbs-joindre-rdv a.btn-rdv-joindre,
.da-4bis.cbs-p5-panel a.btn-rdv-joindre {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  background: var(--cbs-p5-green) !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  white-space: nowrap;
  box-sizing: border-box;
}

.cbs-p5-panel a.btn-rdv-joindre:hover,
.cbs-p5-panel a.btn-rdv-page:hover,
.cbs-p5-aside a.btn-rdv-joindre:hover {
  background: var(--cbs-p5-green-h) !important;
  color: #fff !important;
}

.cbs-p5-panel a.btn-rdv-joindre:focus-visible,
.cbs-p5-panel a.btn-rdv-page:focus-visible {
  outline: 3px solid var(--cbs-p5-green);
  outline-offset: 2px;
}

/* Formulaire */
.cbs-p5-form,
form.devis.cbs-p5-form {
  display: grid !important;
  gap: 16px !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

.cbs-p5-form .cbs-p5-row,
.cbs-p5-form .v8-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.cbs-p5-form .cbs-p5-field,
.cbs-p5-form .v8-field,
.cbs-p5-form .f {
  display: block;
  margin: 0;
  min-width: 0;
}

.cbs-p5-form label {
  display: block;
  color: var(--cbs-p5-navy) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin: 0 0 6px !important;
}

.cbs-p5-form .req {
  color: #2563eb;
  font-weight: 700;
}

.cbs-p5-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]),
.cbs-p5-form textarea,
.cbs-p5-form select {
  width: 100% !important;
  box-sizing: border-box;
  background: #fff !important;
  border: 1px solid var(--cbs-p5-line) !important;
  border-radius: 12px !important;
  color: var(--cbs-p5-ink) !important;
  font-family: inherit;
  font-size: 15px !important;
  padding: 11px 14px !important;
  min-height: 0 !important;
  height: auto !important;
  line-height: 1.4;
}

.cbs-p5-form textarea {
  min-height: 7.5rem !important;
  resize: vertical;
}

.cbs-p5-form input:focus,
.cbs-p5-form textarea:focus,
.cbs-p5-form select:focus {
  border-color: var(--cbs-p5-green) !important;
  outline: 2px solid var(--cbs-p5-green);
  outline-offset: 1px;
}

.cbs-p5-form select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2364748b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 36px !important;
  cursor: pointer;
}

/* Case RGPD obligatoire — alignée, 18px, accent vert site */
.cbs-p5-form .cbs-p5-rgpd {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 4px 0 0;
  min-width: 0;
}

.cbs-p5-form .cbs-p5-rgpd input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  min-height: 18px;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  accent-color: var(--cbs-p5-green);
  border-radius: 3px;
  cursor: pointer;
}

.cbs-p5-form .cbs-p5-rgpd label {
  display: inline !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--cbs-p5-muted) !important;
  line-height: 1.45 !important;
  cursor: pointer;
}

.cbs-p5-form .cbs-p5-rgpd a {
  color: var(--cbs-p5-green) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cbs-p5-form .err {
  display: block;
  min-height: 0;
  font-size: 12px;
  color: #b3261e;
  margin-top: 4px;
}

.cbs-p5-form .cbs-p5-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}

.cbs-p5-form button[type="submit"],
.cbs-p5-form .btn.btn-green.cbs-p5-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  width: auto !important;
  max-width: 100%;
  background: var(--cbs-p5-green) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 13px 24px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer;
  white-space: nowrap;
}

.cbs-p5-form button[type="submit"]:hover,
.cbs-p5-form .btn.btn-green.cbs-p5-submit:hover {
  background: var(--cbs-p5-green-h) !important;
}

.cbs-p5-form button[type="submit"] svg {
  flex: 0 0 auto;
}

.cbs-p5-privacy,
.cbs-p5-form .cbs-privacy {
  margin: 4px 0 0 !important;
  font-size: 12px !important;
  color: var(--cbs-p5-muted) !important;
  line-height: 1.5 !important;
}

.cbs-p5-privacy a,
.cbs-p5-form .cbs-privacy a {
  color: var(--cbs-p5-green) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cbs-p5-form .legend {
  display: none !important;
}

.cbs-p5-form .cb-k {
  display: none !important;
}

.cbs-p5-form .cb-hp {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 900px) {
  .cbs-p5-panel,
  .cb-bc-panel.cbs-p5-panel,
  .da-home-contact.cbs-p5-panel,
  .cb-contact-grid.cbs-p5-panel,
  .quote5.cbs-p5-panel {
    grid-template-columns: 1fr !important;
  }

  .cbs-p5-form .cbs-p5-row,
  .cbs-p5-form .v8-form-row {
    grid-template-columns: 1fr;
  }

  .cbs-p5-panel a.btn-rdv-joindre,
  .cbs-p5-panel a.btn-rdv-page {
    width: auto !important;
  }
}

/* === bloc-devis-2246 — carte-blister.com — override devis/contact (08/11/2026) : soulignement vert pleine largeur, espace titre/phrase, bouton RDV = bouton envoi === */
html body #contact .da-devis-title:not(#z1):not(#z2){width:fit-content!important;max-width:100%!important}
html body #contact .da-devis-title:not(#z1):not(#z2)::after{content:""!important;display:block!important;position:static!important;width:100%!important;height:3px!important;margin:16px 0 0!important;background:#1C8048!important;border:0!important;transform:none!important}
html body #t-contact .da-devis-title:not(#z1):not(#z2){width:fit-content!important;max-width:100%!important}
html body #t-contact .da-devis-title:not(#z1):not(#z2)::after{content:""!important;display:block!important;position:static!important;width:100%!important;height:3px!important;margin:16px 0 0!important;background:#1C8048!important;border:0!important;transform:none!important}
html body #contact.da-section--white h1:not(#z1):not(#z2){width:fit-content!important;max-width:100%!important}
html body #contact.da-section--white h1:not(#z1):not(#z2)::after{content:""!important;display:block!important;position:static!important;width:100%!important;height:3px!important;margin:16px 0 0!important;background:#1C8048!important;border:0!important;transform:none!important}
html body #t-contact .btn-rdv-joindre{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:max-content!important;flex:0 0 auto!important;align-self:flex-start!important;height:46px!important;min-height:46px!important;box-sizing:border-box!important;padding:13px 24px!important;font-size:14px!important;line-height:16.8px!important;font-weight:600!important;white-space:nowrap!important}
html body #t-contact .cbs-p5-submit{padding:13px 24px!important;font-size:14px!important;line-height:16.8px!important;height:46px!important;min-height:46px!important;box-sizing:border-box!important}
html body #contact .btn-rdv-joindre{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;max-width:max-content!important;flex:0 0 auto!important;align-self:flex-start!important;height:46px!important;min-height:46px!important;box-sizing:border-box!important;padding:13px 24px!important;font-size:14px!important;line-height:16.8px!important;font-weight:600!important;white-space:nowrap!important}
html body #contact .cbs-p5-submit{padding:13px 24px!important;font-size:14px!important;line-height:16.8px!important;height:46px!important;min-height:46px!important;box-sizing:border-box!important}
/* === fin bloc-devis-2246 === */

/* === bloc-devis-2246b — carte-blister.com — espace trait/phrase 16px (aligné emballage-souple, même structure cbs-devis-p5/2051) === */
html body #contact .da-devis-title:not(#z1):not(#z2)+.cbs-contact-intro-2051,html body #t-contact .da-devis-title:not(#z1):not(#z2)+.cbs-contact-intro-2051{margin-top:16px!important}
/* === fin bloc-devis-2246b === */
