/* CSMK Service CTA Manager — late override layer
 * 0.2.3 : carte CTA + placement intelligent + variantes IA + modale contextualisée renforcée.
 */

/* ===== Bloc CTA géré — cible article.prose ET contenus CoconSEM/Brizy sans article.prose ===== */
body.coconsem .csmk-service-cta-managed,
body.coconsem a.csmk-service-cta-managed,
body.coconsem .csmk-dynamic-service-cta,
body.coconsem a.csmk-dynamic-service-cta,
body.coconsem .entry-content .csmk-service-cta-managed,
body.coconsem .entry-content a.csmk-service-cta-managed,
body.coconsem .brz-wp-post-content .csmk-service-cta-managed,
body.coconsem .brz-wp-post-content a.csmk-service-cta-managed,
body.coconsem article.prose .csmk-service-cta-managed,
body.coconsem article.prose a.csmk-service-cta-managed,
body.coconsem .brz-wp-post-content article.prose .csmk-service-cta-managed,
body.coconsem .brz-wp-post-content article.prose a.csmk-service-cta-managed,
body.coconsem article.prose .csmk-service-link,
body.coconsem article.prose a.csmk-service-link,
body.coconsem article.prose .inline-cta-card[data-csmk-cta="service"] {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2rem !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 2rem 0 !important;
  padding: 28px 32px !important;
  background: var(--csmk-service-cta-bg, #0e0e0e) !important;
  color: var(--csmk-service-cta-text, #fff) !important;
  border: 1px solid var(--csmk-service-cta-border, #0e0e0e) !important;
  border-left: 6px solid var(--csmk-service-cta-button-bg, var(--csmk-service-cta-border, #0e0e0e)) !important;
  border-radius: var(--csmk-service-cta-radius, 20px) !important;
  text-decoration: none !important;
  box-shadow: 0 18px 38px rgba(0,0,0,.10) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
  font-family: inherit !important;
  line-height: 1.25 !important;
  overflow: hidden !important;
}

body.coconsem .csmk-service-cta-managed:hover,
body.coconsem a.csmk-service-cta-managed:hover,
body.coconsem .csmk-dynamic-service-cta:hover,
body.coconsem a.csmk-dynamic-service-cta:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 22px 46px rgba(0,0,0,.15) !important;
  color: var(--csmk-service-cta-text, #fff) !important;
  text-decoration: none !important;
}

/* Neutralise les icônes automatiques de maillage, chevrons ou pseudo-contenus hérités. */
body.coconsem .csmk-service-cta-managed::before,
body.coconsem .csmk-service-cta-managed::after,
body.coconsem a.csmk-service-cta-managed::before,
body.coconsem a.csmk-service-cta-managed::after,
body.coconsem .csmk-dynamic-service-cta::before,
body.coconsem .csmk-dynamic-service-cta::after,
body.coconsem a.csmk-dynamic-service-cta::before,
body.coconsem a.csmk-dynamic-service-cta::after {
  content: none !important;
  display: none !important;
}

body.coconsem .csmk-service-cta-text-zone {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.coconsem .csmk-dynamic-service-cta .csmk-service-cta-text-zone .csmk-service-cta-eyebrow,
body.coconsem-bridge-active .csmk-bridge-prose a:not(.coconsem-toc a):not(.lwptoc a) .csmk-service-cta-eyebrow {
  display: block !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: var(--csmk-service-cta-eyebrow, #d9d9d9) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

body.coconsem .csmk-service-cta-main {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--csmk-service-cta-text, #fff) !important;
  font-size: clamp(18px, 1.55vw, 23px) !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: -.02em !important;
  text-decoration: none !important;
}

body.coconsem .csmk-service-cta-emoji {
  display: inline !important;
  margin-right: .25em !important;
}

body.coconsem .csmk-service-cta-button {
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  background: var(--csmk-service-cta-button-bg, #174d3d) !important;
  color: var(--csmk-service-cta-button-text, #fff) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

/* Neutralise les styles de liens hérités à l'intérieur du bloc. */
body.coconsem .csmk-dynamic-service-cta *,
body.coconsem .csmk-service-cta-managed * {
  text-decoration: none !important;
}

/* Neutralise l'ancien bloc publicitaire quand il est normalisé/remplacé tardivement. */
body.coconsem article.prose .csmk-service-link a::after,
body.coconsem article.prose .inline-cta-card[data-csmk-cta="service"] a::after,
body.coconsem .csmk-service-link a::after,
body.coconsem .inline-cta-card[data-csmk-cta="service"] a::after {
  content: none !important;
}

@media (max-width: 760px) {
  body.coconsem .csmk-service-cta-managed,
  body.coconsem a.csmk-service-cta-managed,
  body.coconsem .csmk-dynamic-service-cta,
  body.coconsem a.csmk-dynamic-service-cta {
    display: block !important;
    padding: 24px 22px !important;
  }
  body.coconsem .csmk-service-cta-button {
    margin-top: 18px !important;
    width: 100% !important;
  }
}
/* ========= MODAL CTA (CoconSEM) ========= */

/* Empêcher la page de scroller quand la modale est ouverte */
html.cs-modal-open,
body.cs-modal-open {
  overflow: hidden;
}

/* Ajuste un peu les marges des titres dans la modale */
.cs-soft-modal h3 {
  margin-top: 20px;
}

.cs-soft-modal h4 {
  margin-top: 0;
}

/* ============== MODALE GÉNÉRIQUE ================= */

.cs-soft-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.cs-soft-modal.is-open {
  display: block;
}

.cs-soft-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

/* Contenant de la modale */
.cs-soft-modal__dialog {
  position: relative;
  max-width: 720px;
  margin: 40px auto;
  padding: 24px 24px 20px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.20);

  /* hauteur max + scroll interne */
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Croix de fermeture en haut à droite */
.cs-soft-modal__close {
  position: sticky;       /* reste visible quand le contenu scroll */
  top: 0;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.06);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  color: #444;
  z-index: 2;
}

.cs-soft-modal__close:hover {
  background: rgba(0, 0, 0, 0.12);
}

/* Layout interne */
.cs-soft-modal__inner {
  display: flex;
  gap: 20px;
  align-items: stretch;
}

.cs-soft-modal__col {
  flex: 1;
  font-size: 14px;
  color: #444;
}

/* Colonne texte / téléphone */
.cs-soft-modal__col--text h3 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 18px;
}

.cs-soft-modal__call {
  display: inline-block;
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid #ddd;
  text-decoration: none;
  font-weight: 600;
  color: #333;
}

/* Colonne formulaire */
.cs-soft-modal__col--form h4 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-size: 15px;
}

.cs-soft-modal__form label {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
}

.cs-soft-modal__form input,
.cs-soft-modal__form textarea {
  width: 100%;
  padding: 7px 9px;
  border-radius: 6px;
  border: 1px solid #ddd;
  font-size: 13px;
  font-family: inherit;
  box-sizing: border-box;
}

.cs-soft-modal__form textarea {
  resize: vertical;
  min-height: 72px;
}

.cs-soft-modal__submit {
  margin-top: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  border: none;
  background: #efe9e1;
  color: #8f3a32;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}

.cs-soft-modal__hint {
  margin-top: 6px;
  font-size: 11px;
  color: #777;
}

/* ======= MOBILE ======= */
@media (max-width: 640px) {
  .cs-soft-modal__dialog {
    margin: 10px;
    padding: 18px 16px 16px;
    max-height: calc(100vh - 20px); /* un peu moins de marge */
  }

  .cs-soft-modal__inner {
    flex-direction: column;
  }
}

/* 0.2.3 — Modale : textes plus lisibles et orientés prise de contact */
.cs-soft-modal__col--text h3 {
  font-size: clamp(20px, 2vw, 25px) !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  margin-bottom: 14px !important;
}

.cs-soft-modal__intro {
  font-size: 15px !important;
  line-height: 1.65 !important;
  max-width: 34em !important;
  color: #444 !important;
}

.cs-soft-modal__call {
  margin-top: 18px !important;
}


/* ===== Modale — template Professionnel & chaleureux (0.2.4) ===== */
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__dialog {
  max-width: 780px !important;
  width: calc(100vw - 40px) !important;
  margin: 36px auto !important;
  padding: 28px 32px !important;
  border-radius: 18px !important;
  background: #fffdf9 !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.20) !important;
  max-height: calc(100vh - 72px) !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__close,
.cs-soft-modal--professional_warm .cs-soft-modal__close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  margin: 0 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.10) !important;
  color: #202326 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  z-index: 5 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__inner {
  display: grid !important;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important;
  gap: 30px !important;
  align-items: start !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__col {
  font-size: 14px !important;
  color: #2e3134 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar-wrap {
  text-align: center !important;
  margin: 0 0 14px !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar {
  width: 74px !important;
  height: 74px !important;
  object-fit: cover !important;
  border-radius: 999px !important;
  display: inline-block !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.10) !important;
  margin: 0 !important;
}

body.coconsem .cs-soft-modal--professional_warm #cs-soft-modal-title {
  font-size: clamp(24px, 2.3vw, 31px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.03em !important;
  margin: 0 0 12px !important;
  color: #25272b !important;
  font-weight: 800 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__title-sep {
  display: block !important;
  width: 46px !important;
  height: 2px !important;
  margin: 0 0 18px !important;
  background: #c07a61 !important;
  border-radius: 99px !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__intro {
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin: 0 0 14px !important;
  color: #3d4145 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__features {
  margin: 18px 0 20px !important;
  border-top: 1px solid rgba(0,0,0,.10) !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__feature {
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) !important;
  gap: 12px !important;
  padding: 11px 0 !important;
  border-bottom: 1px solid rgba(0,0,0,.10) !important;
  align-items: start !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__feature-icon {
  width: 28px !important;
  height: 28px !important;
  border: 2px solid #c07a61 !important;
  border-radius: 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #c07a61 !important;
  font-weight: 800 !important;
  font-size: 15px !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__feature--1 .cs-soft-modal__feature-icon::before { content: "“"; }
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__feature--2 .cs-soft-modal__feature-icon::before { content: "⌕"; }
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__feature--3 .cs-soft-modal__feature-icon::before { content: "✓"; }

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__feature strong {
  display: block !important;
  margin: 0 0 4px !important;
  font-size: 14px !important;
  color: #25272b !important;
  font-weight: 800 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__feature p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
  color: #3d4145 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__call {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.18) !important;
  color: #25272b !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 22px rgba(0,0,0,.06) !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__call::before {
  content: "☎" !important;
  display: inline-block !important;
  margin-right: 10px !important;
  font-size: 15px !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form-title {
  font-size: 21px !important;
  line-height: 1.2 !important;
  margin: 10px 0 16px !important;
  color: #25272b !important;
  font-weight: 800 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form label {
  display: block !important;
  margin: 0 0 12px !important;
  color: #24272b !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form input,
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form textarea {
  margin-top: 8px !important;
  width: 100% !important;
  border-radius: 10px !important;
  border: 1px solid #d9dde2 !important;
  background: #fff !important;
  padding: 10px 12px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.03) !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form textarea {
  min-height: 70px !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  background: #efe7de !important;
  color: #6b2d20 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border: 0 !important;
  cursor: pointer !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__hint {
  margin: 12px 0 0 !important;
  color: #6b7076 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__hint::before {
  content: "🔒" !important;
  margin-right: 10px !important;
}

@media (max-width: 820px) {
  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__dialog {
    width: calc(100vw - 20px) !important;
    margin: 10px auto !important;
    padding: 26px 20px !important;
  }
  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__inner {
    display: block !important;
  }
  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar {
    width: 70px !important;
    height: 70px !important;
  }
  body.coconsem .cs-soft-modal--professional_warm #cs-soft-modal-title {
    font-size: 24px !important;
  }
}


/* 0.2.6 — Version compacte du template Professionnel & chaleureux.
   Objectif : conserver la réassurance sans transformer la modale en plein écran. */
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__dialog {
  overflow-y: auto !important;
}
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar-wrap:empty {
  display: none !important;
}
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__col--text {
  padding-top: 4px !important;
}
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__col--form {
  padding-top: 8px !important;
}
@media (min-width: 821px) {
  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__features {
    max-height: 210px !important;
    overflow: hidden !important;
  }
}
@media (max-width: 820px) {
  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__dialog {
    max-height: calc(100vh - 24px) !important;
  }
  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__features {
    margin: 14px 0 16px !important;
  }
}


/* 0.2.7 — Template Professionnel & chaleureux : version minimaliste validée.
   Objectif : modale compacte, rassurante, sans effet plein écran ni liste de features. */
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__dialog,
.cs-soft-modal--professional_warm .cs-soft-modal__dialog {
  box-sizing: border-box !important;
  width: min(860px, calc(100vw - 40px)) !important;
  max-width: 860px !important;
  margin: 28px auto !important;
  padding: 34px 40px 36px !important;
  border-radius: 14px !important;
  background: #fffefa !important;
  max-height: calc(100vh - 56px) !important;
  overflow-y: auto !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.22) !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__close,
.cs-soft-modal--professional_warm .cs-soft-modal__close {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  margin: 0 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 4px 14px rgba(0,0,0,.10) !important;
  color: #232629 !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__inner,
.cs-soft-modal--professional_warm .cs-soft-modal__inner {
  display: grid !important;
  grid-template-columns: minmax(230px, .82fr) minmax(320px, 1.18fr) !important;
  gap: 46px !important;
  align-items: center !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__col--text,
.cs-soft-modal--professional_warm .cs-soft-modal__col--text {
  padding: 0 !important;
  text-align: center !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__col--form,
.cs-soft-modal--professional_warm .cs-soft-modal__col--form {
  padding: 0 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar-wrap,
.cs-soft-modal--professional_warm .cs-soft-modal__avatar-wrap {
  text-align: center !important;
  margin: 0 0 18px !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar,
.cs-soft-modal--professional_warm .cs-soft-modal__avatar {
  width: 104px !important;
  height: 104px !important;
  object-fit: cover !important;
  border-radius: 999px !important;
  display: inline-block !important;
  margin: 0 !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.10) !important;
}

body.coconsem .cs-soft-modal--professional_warm #cs-soft-modal-title,
.cs-soft-modal--professional_warm #cs-soft-modal-title {
  max-width: 280px !important;
  margin: 0 auto 12px !important;
  color: #25272b !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(24px, 2.5vw, 34px) !important;
  line-height: 1.12 !important;
  letter-spacing: -.035em !important;
  font-weight: 700 !important;
  text-align: center !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__title-sep,
.cs-soft-modal--professional_warm .cs-soft-modal__title-sep {
  display: block !important;
  width: 42px !important;
  height: 2px !important;
  margin: 16px auto 18px !important;
  background: #c8755d !important;
  border-radius: 99px !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__intro,
.cs-soft-modal--professional_warm .cs-soft-modal__intro {
  max-width: 285px !important;
  margin: 0 auto 26px !important;
  color: #34383d !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__features,
.cs-soft-modal--professional_warm .cs-soft-modal__features {
  display: none !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__call,
.cs-soft-modal--professional_warm .cs-soft-modal__call {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,.16) !important;
  color: #25272b !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.05) !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__call::before,
.cs-soft-modal--professional_warm .cs-soft-modal__call::before {
  content: "☎" !important;
  margin-right: 10px !important;
  font-size: 14px !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form-title,
.cs-soft-modal--professional_warm .cs-soft-modal__form-title {
  margin: 0 0 18px !important;
  color: #25272b !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form label,
.cs-soft-modal--professional_warm .cs-soft-modal__form label {
  display: block !important;
  margin: 0 0 16px !important;
  color: #25272b !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form input,
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form textarea,
.cs-soft-modal--professional_warm .cs-soft-modal__form input,
.cs-soft-modal--professional_warm .cs-soft-modal__form textarea {
  margin-top: 8px !important;
  width: 100% !important;
  border-radius: 8px !important;
  border: 1px solid #d8dde4 !important;
  background: #fff !important;
  padding: 9px 11px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form textarea,
.cs-soft-modal--professional_warm .cs-soft-modal__form textarea {
  min-height: 92px !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__submit,
.cs-soft-modal--professional_warm .cs-soft-modal__submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  background: #eee5dc !important;
  color: #6b2d20 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  border: 0 !important;
  cursor: pointer !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__hint,
.cs-soft-modal--professional_warm .cs-soft-modal__hint {
  margin: 14px 0 0 !important;
  color: #6d737a !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__hint::before,
.cs-soft-modal--professional_warm .cs-soft-modal__hint::before {
  content: "🔒" !important;
  margin-right: 8px !important;
}

@media (max-width: 760px) {
  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__dialog,
  .cs-soft-modal--professional_warm .cs-soft-modal__dialog {
    width: calc(100vw - 20px) !important;
    margin: 10px auto !important;
    padding: 26px 22px !important;
    max-height: calc(100vh - 20px) !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__inner,
  .cs-soft-modal--professional_warm .cs-soft-modal__inner {
    display: block !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__col--text,
  .cs-soft-modal--professional_warm .cs-soft-modal__col--text {
    margin-bottom: 26px !important;
  }
}


/* 0.2.8 — Mobile compact pour le template Professionnel & chaleureux.
   Objectif : conserver la réassurance sans transformer la modale mobile en page plein écran. */
@media (max-width: 760px) {
  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__dialog,
  .cs-soft-modal--professional_warm .cs-soft-modal__dialog {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    margin: 6px auto !important;
    padding: 18px 16px 14px !important;
    border-radius: 12px !important;
    max-height: calc(100dvh - 12px) !important;
    overflow-y: auto !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__close,
  .cs-soft-modal--professional_warm .cs-soft-modal__close {
    top: 10px !important;
    right: 10px !important;
    width: 32px !important;
    height: 32px !important;
    font-size: 20px !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__inner,
  .cs-soft-modal--professional_warm .cs-soft-modal__inner {
    display: block !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__col--text,
  .cs-soft-modal--professional_warm .cs-soft-modal__col--text {
    margin-bottom: 16px !important;
    padding: 0 12px !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar-wrap,
  .cs-soft-modal--professional_warm .cs-soft-modal__avatar-wrap {
    margin: 0 0 10px !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar,
  .cs-soft-modal--professional_warm .cs-soft-modal__avatar {
    width: 64px !important;
    height: 64px !important;
    box-shadow: 0 5px 14px rgba(0,0,0,.10) !important;
  }

  body.coconsem .cs-soft-modal--professional_warm #cs-soft-modal-title,
  .cs-soft-modal--professional_warm #cs-soft-modal-title {
    max-width: 280px !important;
    margin: 0 auto 8px !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__title-sep,
  .cs-soft-modal--professional_warm .cs-soft-modal__title-sep {
    width: 38px !important;
    height: 2px !important;
    margin: 10px auto 12px !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__intro,
  .cs-soft-modal--professional_warm .cs-soft-modal__intro {
    max-width: 320px !important;
    margin: 0 auto 12px !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__call,
  .cs-soft-modal--professional_warm .cs-soft-modal__call {
    min-height: 36px !important;
    padding: 0 18px !important;
    font-size: 13px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,.04) !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form-title,
  .cs-soft-modal--professional_warm .cs-soft-modal__form-title {
    margin: 0 0 10px !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form label,
  .cs-soft-modal--professional_warm .cs-soft-modal__form label {
    margin: 0 0 9px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form input,
  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form textarea,
  .cs-soft-modal--professional_warm .cs-soft-modal__form input,
  .cs-soft-modal--professional_warm .cs-soft-modal__form textarea {
    margin-top: 5px !important;
    border-radius: 8px !important;
    padding: 7px 10px !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form input,
  .cs-soft-modal--professional_warm .cs-soft-modal__form input {
    min-height: 34px !important;
    height: 34px !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__form textarea,
  .cs-soft-modal--professional_warm .cs-soft-modal__form textarea {
    min-height: 64px !important;
    height: 64px !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__submit,
  .cs-soft-modal--professional_warm .cs-soft-modal__submit {
    min-height: 36px !important;
    padding: 0 20px !important;
    font-size: 13px !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__hint,
  .cs-soft-modal--professional_warm .cs-soft-modal__hint {
    margin-top: 10px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 420px) {
  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__dialog,
  .cs-soft-modal--professional_warm .cs-soft-modal__dialog {
    padding: 14px 14px 12px !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar,
  .cs-soft-modal--professional_warm .cs-soft-modal__avatar {
    width: 54px !important;
    height: 54px !important;
  }

  body.coconsem .cs-soft-modal--professional_warm #cs-soft-modal-title,
  .cs-soft-modal--professional_warm #cs-soft-modal-title {
    font-size: 22px !important;
    max-width: 240px !important;
  }

  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__intro,
  .cs-soft-modal--professional_warm .cs-soft-modal__intro {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
  }
}

/* 0.2.9 — Centrage vertical réel de la modale.
   La modale ne doit plus être collée au haut du viewport en desktop, tablette ou mobile. */
.cs-soft-modal.is-open,
body.coconsem .cs-soft-modal.is-open {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  padding: 20px !important;
}

.cs-soft-modal.is-open .cs-soft-modal__dialog,
body.coconsem .cs-soft-modal.is-open .cs-soft-modal__dialog,
.cs-soft-modal--professional_warm.is-open .cs-soft-modal__dialog,
body.coconsem .cs-soft-modal--professional_warm.is-open .cs-soft-modal__dialog {
  margin: 0 auto !important;
}

@media (max-width: 760px) {
  .cs-soft-modal.is-open,
  body.coconsem .cs-soft-modal.is-open {
    padding: 6px !important;
  }

  .cs-soft-modal.is-open .cs-soft-modal__dialog,
  body.coconsem .cs-soft-modal.is-open .cs-soft-modal__dialog,
  .cs-soft-modal--professional_warm.is-open .cs-soft-modal__dialog,
  body.coconsem .cs-soft-modal--professional_warm.is-open .cs-soft-modal__dialog {
    margin: 0 auto !important;
    max-height: calc(100dvh - 12px) !important;
  }
}

/* 0.3.0 — Template visuel CTA : Onirique bleu.
   Conçu pour InterpretationDesReves.fr ; appliqué uniquement quand le bloc
   porte la classe csmk-service-cta-template-dream_blue.
   Le CSS du fichier n'a plus besoin que le body porte la classe .coconsem :
   l'asset est déjà chargé uniquement sur les pages CoconSEM éligibles. */
.csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue,
.csmk-service-link.csmk-service-cta-template-dream_blue,
.csmk-service-link.csmk-service-cta-template-dream_blue a {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 108px !important;
  margin: 2rem 0 !important;
  padding: 18px 24px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #4e7fe0 0%, #79a7ff 100%) !important;
  border: 1px solid rgba(65, 111, 204, .30) !important;
  box-shadow: 0 12px 24px rgba(61, 106, 196, .24), 0 1px 0 rgba(255, 255, 255, .38) inset, 0 -1px 0 rgba(57, 93, 170, .18) inset !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 18px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  transition: transform .2s ease, box-shadow .22s ease, filter .22s ease !important;
}

.csmk-service-cta-managed.csmk-service-cta-template-dream_blue:hover,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue:hover,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue:hover,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue:hover,
.csmk-service-link.csmk-service-cta-template-dream_blue:hover,
.csmk-service-link.csmk-service-cta-template-dream_blue a:hover {
  transform: translateY(-2px) !important;
  filter: saturate(1.04) !important;
  box-shadow: 0 16px 32px rgba(61, 106, 196, .30), 0 1px 0 rgba(255, 255, 255, .42) inset, 0 -1px 0 rgba(57, 93, 170, .20) inset !important;
  color: #ffffff !important;
}

.csmk-service-cta-managed.csmk-service-cta-template-dream_blue::before,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue::before,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue::before,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue::before,
.csmk-service-link.csmk-service-cta-template-dream_blue::before,
.csmk-service-link.csmk-service-cta-template-dream_blue a::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background:
    radial-gradient(circle at 72% 0%, rgba(255,255,255,.22) 0 10%, transparent 11%),
    radial-gradient(circle at 84% 48%, rgba(255,255,255,.16) 0 12%, transparent 13%),
    radial-gradient(circle at 60% 82%, rgba(255,255,255,.13) 0 10%, transparent 11%),
    linear-gradient(135deg, rgba(255,255,255,.20), rgba(255,255,255,0)) !important;
}

.csmk-service-cta-managed.csmk-service-cta-template-dream_blue::after,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue::after,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue::after,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue::after,
.csmk-service-link.csmk-service-cta-template-dream_blue::after,
.csmk-service-link.csmk-service-cta-template-dream_blue a::after {
  content: "☾" !important;
  position: absolute !important;
  right: 22px !important;
  top: 18px !important;
  color: rgba(255,255,255,.34) !important;
  font-size: 30px !important;
  line-height: 1 !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-text-zone {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: rgba(255,255,255,.95) !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-eyebrow::before {
  content: "✦" !important;
  display: inline-block !important;
  margin-right: 10px !important;
  font-size: 15px !important;
  color: rgba(255,255,255,.95) !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-main {
  display: block !important;
  margin: 0 !important;
  color: rgba(255,255,255,.92) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-button {
  display: none !important;
}

@media (max-width: 760px) {
  .csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
  a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
  .csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue,
  a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue {
    min-height: 92px !important;
    padding: 18px 20px !important;
    font-size: 16px !important;
  }
}


/* 0.3.2 — Template Onirique bleu : fond subtil, sans aplat bleu massif.
   Le conteneur redevient une carte claire avec figures géométriques en toile de fond ;
   l'appel cliquable conserve un bouton/pastille bleue lisible. */
.csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue,
.csmk-service-link.csmk-service-cta-template-dream_blue {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 126px !important;
  margin: 2rem 0 !important;
  padding: 24px 30px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 73% 11%, rgba(255,255,255,.58) 0 0, rgba(255,255,255,.58) 58px, transparent 59px),
    radial-gradient(circle at 58% 72%, rgba(255,255,255,.36) 0 0, rgba(255,255,255,.36) 86px, transparent 87px),
    radial-gradient(circle at 86% 42%, rgba(255,255,255,.30) 0 0, rgba(255,255,255,.30) 72px, transparent 73px),
    linear-gradient(135deg, #eef5ff 0%, #d9e8ff 54%, #c4d9fb 100%) !important;
  border: 1px solid rgba(84, 131, 218, .24) !important;
  box-shadow: 0 16px 32px rgba(68, 109, 188, .18), 0 1px 0 rgba(255,255,255,.72) inset !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.csmk-service-cta-managed.csmk-service-cta-template-dream_blue:hover,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue:hover,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue:hover,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue:hover,
.csmk-service-link.csmk-service-cta-template-dream_blue:hover {
  transform: translateY(-2px) !important;
  filter: none !important;
  box-shadow: 0 20px 38px rgba(68, 109, 188, .23), 0 1px 0 rgba(255,255,255,.76) inset !important;
}

.csmk-service-link.csmk-service-cta-template-dream_blue a {
  position: relative !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: calc(100% - 20px) !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  overflow: visible !important;
  background: linear-gradient(135deg, #4c7fe8 0%, #75a5ff 100%) !important;
  border: 1px solid rgba(63, 113, 218, .36) !important;
  box-shadow: 0 10px 22px rgba(75, 125, 226, .24), 0 1px 0 rgba(255,255,255,.38) inset !important;
  color: #ffffff !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em !important;
  text-decoration: none !important;
}

.csmk-service-link.csmk-service-cta-template-dream_blue a::before {
  content: "✦" !important;
  position: static !important;
  display: inline-block !important;
  margin: 0 10px 0 0 !important;
  width: auto !important;
  height: auto !important;
  background: none !important;
  color: rgba(255,255,255,.96) !important;
  font-size: 14px !important;
  line-height: 1 !important;
}

.csmk-service-link.csmk-service-cta-template-dream_blue a::after {
  content: none !important;
  display: none !important;
}

.csmk-service-cta-managed.csmk-service-cta-template-dream_blue::before,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue::before,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue::before,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue::before,
.csmk-service-link.csmk-service-cta-template-dream_blue::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(115deg, transparent 0 44%, rgba(255,255,255,.25) 45%, transparent 46% 100%),
    linear-gradient(25deg, transparent 0 62%, rgba(255,255,255,.22) 63%, transparent 64% 100%),
    radial-gradient(circle at 50% 50%, transparent 0 54px, rgba(255,255,255,.22) 55px 56px, transparent 57px),
    radial-gradient(circle at 82% 18%, transparent 0 34px, rgba(74,124,222,.12) 35px 36px, transparent 37px) !important;
  opacity: .9 !important;
}

.csmk-service-cta-managed.csmk-service-cta-template-dream_blue::after,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue::after,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue::after,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue::after,
.csmk-service-link.csmk-service-cta-template-dream_blue::after {
  content: "☾" !important;
  position: absolute !important;
  right: 24px !important;
  top: 22px !important;
  z-index: 1 !important;
  color: rgba(68, 105, 183, .22) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-eyebrow {
  color: #284169 !important;
}
.csmk-service-cta-template-dream_blue .csmk-service-cta-main {
  color: #31455f !important;
}

@media (max-width: 760px) {
  .csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
  a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
  .csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue,
  a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue,
  .csmk-service-link.csmk-service-cta-template-dream_blue {
    min-height: 106px !important;
    padding: 20px !important;
  }
  .csmk-service-link.csmk-service-cta-template-dream_blue a {
    min-height: 50px !important;
    padding: 0 20px !important;
    font-size: 15px !important;
  }
}

/* 0.3.3 — Template Onirique bleu : hiérarchie CTA renforcée.
   - eyebrow en capitales pour retrouver le modèle premium ;
   - marqueur étoile recoloré, donc visible sur fond clair ;
   - vrai bouton à droite sur les CTA dynamiques ;
   - fallback bouton à droite pour les anciens blocs .csmk-service-link. */
.csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-text-zone {
  min-width: 0 !important;
  max-width: 720px !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-eyebrow {
  margin: 0 0 10px !important;
  color: #213a66 !important;
  font-size: 12px !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-eyebrow::before {
  color: #4f80e8 !important;
  text-shadow: 0 0 12px rgba(79,128,232,.32) !important;
  opacity: 1 !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-main {
  color: #263d5e !important;
  font-size: clamp(17px, 1.55vw, 22px) !important;
  line-height: 1.28 !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-width: 150px !important;
  min-height: 50px !important;
  padding: 0 26px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #3f75de 0%, #6fa1ff 100%) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  box-shadow: 0 12px 24px rgba(67, 117, 220, .28), 0 1px 0 rgba(255,255,255,.42) inset !important;
  text-decoration: none !important;
}

.csmk-service-cta-template-dream_blue .csmk-service-cta-button::after {
  content: "→" !important;
  display: inline-block !important;
  margin-left: 9px !important;
  transform: translateY(-1px) !important;
}

/* Ancienne structure : <p class="csmk-service-link"><a>Texte</a></p> */
.csmk-service-link.csmk-service-cta-template-dream_blue {
  display: block !important;
  padding: 0 !important;
}

.csmk-service-link.csmk-service-cta-template-dream_blue a {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 28px !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-height: 126px !important;
  padding: 24px 30px !important;
  border-radius: 14px !important;
  background:
    radial-gradient(circle at 73% 11%, rgba(255,255,255,.58) 0 0, rgba(255,255,255,.58) 58px, transparent 59px),
    radial-gradient(circle at 58% 72%, rgba(255,255,255,.36) 0 0, rgba(255,255,255,.36) 86px, transparent 87px),
    radial-gradient(circle at 86% 42%, rgba(255,255,255,.30) 0 0, rgba(255,255,255,.30) 72px, transparent 73px),
    linear-gradient(135deg, #eef5ff 0%, #d9e8ff 54%, #c4d9fb 100%) !important;
  color: #263d5e !important;
  font-size: clamp(17px, 1.55vw, 22px) !important;
  line-height: 1.28 !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
}

.csmk-service-link.csmk-service-cta-template-dream_blue a::before {
  content: "✦" !important;
  position: static !important;
  display: inline-block !important;
  margin: 0 10px 0 0 !important;
  color: #4f80e8 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  background: none !important;
}

.csmk-service-link.csmk-service-cta-template-dream_blue a::after {
  content: "En savoir plus →" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 150px !important;
  min-height: 50px !important;
  padding: 0 26px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #3f75de 0%, #6fa1ff 100%) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  box-shadow: 0 12px 24px rgba(67, 117, 220, .28), 0 1px 0 rgba(255,255,255,.42) inset !important;
}

@media (max-width: 760px) {
  .csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
  a.csmk-service-cta-managed.csmk-service-cta-template-dream_blue,
  .csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue,
  a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_blue,
  .csmk-service-link.csmk-service-cta-template-dream_blue a {
    display: block !important;
    min-height: 0 !important;
    padding: 22px 20px !important;
  }

  .csmk-service-cta-template-dream_blue .csmk-service-cta-button,
  .csmk-service-link.csmk-service-cta-template-dream_blue a::after {
    margin-top: 18px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}


/* 0.3.4 — Template Onirique bleu — nuit.
   Variante sombre du template rêve : mêmes codes bleus/oniriques, mais rendu premium nocturne. */
.csmk-service-cta-managed.csmk-service-cta-template-dream_night,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_night,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_night,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_night,
.csmk-service-link.csmk-service-cta-template-dream_night a {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 28px !important;
  width: 100% !important;
  min-height: 126px !important;
  padding: 24px 30px !important;
  border-radius: var(--csmk-service-cta-radius, 20px) !important;
  border: 1px solid rgba(110, 158, 255, .35) !important;
  border-left: 6px solid #315bb8 !important;
  background:
    radial-gradient(circle at 72% 18%, rgba(118, 160, 255, .20) 0 0, rgba(118, 160, 255, .20) 68px, transparent 69px),
    radial-gradient(circle at 88% 44%, rgba(94, 128, 210, .18) 0 0, rgba(94, 128, 210, .18) 78px, transparent 79px),
    radial-gradient(circle at 55% 78%, rgba(255,255,255,.08) 0 0, rgba(255,255,255,.08) 86px, transparent 87px),
    linear-gradient(135deg, #08111f 0%, #0f1f3a 54%, #173a78 100%) !important;
  color: #f7fbff !important;
  text-decoration: none !important;
  box-shadow: 0 20px 42px rgba(7, 19, 45, .26), 0 1px 0 rgba(255,255,255,.12) inset !important;
}

.csmk-service-cta-managed.csmk-service-cta-template-dream_night::before,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_night::before,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_night::before,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_night::before,
.csmk-service-link.csmk-service-cta-template-dream_night a::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(115deg, transparent 0 44%, rgba(255,255,255,.08) 45%, transparent 46% 100%),
    linear-gradient(25deg, transparent 0 62%, rgba(255,255,255,.07) 63%, transparent 64% 100%),
    radial-gradient(circle at 29% 28%, rgba(255,255,255,.72) 0 1px, transparent 2px),
    radial-gradient(circle at 36% 66%, rgba(255,255,255,.46) 0 1px, transparent 2px),
    radial-gradient(circle at 47% 19%, rgba(255,255,255,.52) 0 1px, transparent 2px),
    radial-gradient(circle at 63% 58%, rgba(255,255,255,.40) 0 1px, transparent 2px) !important;
  opacity: .9 !important;
}

.csmk-service-cta-managed.csmk-service-cta-template-dream_night::after,
a.csmk-service-cta-managed.csmk-service-cta-template-dream_night::after,
.csmk-dynamic-service-cta.csmk-service-cta-template-dream_night::after,
a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_night::after {
  content: "☾" !important;
  position: absolute !important;
  right: 24px !important;
  top: 20px !important;
  z-index: 1 !important;
  color: rgba(210, 226, 255, .38) !important;
  font-size: 30px !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

.csmk-service-cta-template-dream_night .csmk-service-cta-text-zone {
  min-width: 0 !important;
  max-width: 720px !important;
}

.csmk-service-cta-template-dream_night .csmk-service-cta-eyebrow {
  margin: 0 0 10px !important;
  color: #dce9ff !important;
  font-size: 12px !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase !important;
}

.csmk-service-cta-template-dream_night .csmk-service-cta-eyebrow::before {
  color: #8fb3ff !important;
  text-shadow: 0 0 14px rgba(143,179,255,.52) !important;
  opacity: 1 !important;
}

.csmk-service-cta-template-dream_night .csmk-service-cta-main {
  color: #ffffff !important;
  font-size: clamp(17px, 1.55vw, 22px) !important;
  line-height: 1.28 !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
  text-shadow: 0 1px 12px rgba(0,0,0,.22) !important;
}

.csmk-service-cta-template-dream_night .csmk-service-cta-button,
.csmk-service-link.csmk-service-cta-template-dream_night a::after {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  min-width: 150px !important;
  min-height: 50px !important;
  padding: 0 26px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #3f75de 0%, #73a5ff 100%) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
  box-shadow: 0 12px 26px rgba(47, 105, 225, .40), 0 1px 0 rgba(255,255,255,.42) inset !important;
  text-decoration: none !important;
}

.csmk-service-cta-template-dream_night .csmk-service-cta-button::after {
  content: "→" !important;
  display: inline-block !important;
  margin-left: 9px !important;
  transform: translateY(-1px) !important;
}

/* Ancienne structure : <p class="csmk-service-link"><a>Texte</a></p> */
.csmk-service-link.csmk-service-cta-template-dream_night {
  display: block !important;
  padding: 0 !important;
}

.csmk-service-link.csmk-service-cta-template-dream_night a {
  font-size: clamp(17px, 1.55vw, 22px) !important;
  line-height: 1.28 !important;
  font-weight: 850 !important;
  letter-spacing: -.025em !important;
}

.csmk-service-link.csmk-service-cta-template-dream_night a::after {
  content: "En savoir plus →" !important;
}

@media (max-width: 760px) {
  .csmk-service-cta-managed.csmk-service-cta-template-dream_night,
  a.csmk-service-cta-managed.csmk-service-cta-template-dream_night,
  .csmk-dynamic-service-cta.csmk-service-cta-template-dream_night,
  a.csmk-dynamic-service-cta.csmk-service-cta-template-dream_night,
  .csmk-service-link.csmk-service-cta-template-dream_night a {
    display: block !important;
    min-height: 0 !important;
    padding: 22px 20px !important;
  }

  .csmk-service-cta-template-dream_night .csmk-service-cta-button,
  .csmk-service-link.csmk-service-cta-template-dream_night a::after {
    margin-top: 18px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* 0.3.6 — Modale : image/logo affiché sans recadrage.
   L'image de modale peut être un logo horizontal, un logo vertical ou un portrait.
   On privilégie object-fit: contain pour éviter toute coupe liée au ratio. */
.cs-soft-modal__avatar-wrap,
body.coconsem .cs-soft-modal__avatar-wrap,
.cs-soft-modal--professional_warm .cs-soft-modal__avatar-wrap,
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: 0 0 18px !important;
  text-align: center !important;
}

.cs-soft-modal__avatar,
body.coconsem .cs-soft-modal__avatar,
.cs-soft-modal--professional_warm .cs-soft-modal__avatar,
body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: min(220px, 100%) !important;
  max-height: 96px !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 auto !important;
}

@media (max-width: 760px) {
  .cs-soft-modal__avatar,
  body.coconsem .cs-soft-modal__avatar,
  .cs-soft-modal--professional_warm .cs-soft-modal__avatar,
  body.coconsem .cs-soft-modal--professional_warm .cs-soft-modal__avatar {
    max-width: min(190px, 100%) !important;
    max-height: 72px !important;
  }
}

/* 0.3.9 — Modale classique : rendu premium homogène avec le template professionnel.
   Objectif : éviter la modale "formulaire brut" sur les profils cabinet/service,
   tout en conservant une mise en page sobre et compatible logo horizontal. */
.cs-soft-modal--classic .cs-soft-modal__dialog,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__dialog {
  box-sizing: border-box !important;
  width: min(860px, calc(100vw - 40px)) !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 36px 42px !important;
  border-radius: 16px !important;
  background: #fffefa !important;
  max-height: calc(100dvh - 44px) !important;
  overflow-y: auto !important;
  box-shadow: 0 22px 64px rgba(0,0,0,.24) !important;
}

.cs-soft-modal--classic .cs-soft-modal__close,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  left: auto !important;
  margin: 0 !important;
  width: 36px !important;
  height: 36px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.13) !important;
  color: #202326 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  z-index: 5 !important;
}

.cs-soft-modal--classic .cs-soft-modal__inner,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__inner {
  display: grid !important;
  grid-template-columns: minmax(245px, .82fr) minmax(330px, 1.18fr) !important;
  gap: 48px !important;
  align-items: center !important;
}

.cs-soft-modal--classic .cs-soft-modal__col,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__col {
  min-width: 0 !important;
}

.cs-soft-modal--classic .cs-soft-modal__col--text,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__col--text {
  text-align: center !important;
  padding: 0 !important;
}

.cs-soft-modal--classic .cs-soft-modal__col--form,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__col--form {
  padding: 0 !important;
}

.cs-soft-modal--classic .cs-soft-modal__avatar-wrap,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__avatar-wrap {
  margin: 0 0 24px !important;
}

.cs-soft-modal--classic .cs-soft-modal__avatar,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__avatar {
  max-width: min(230px, 100%) !important;
  max-height: 106px !important;
}

.cs-soft-modal--classic #cs-soft-modal-title,
body.coconsem .cs-soft-modal--classic #cs-soft-modal-title {
  max-width: 310px !important;
  margin: 0 auto 12px !important;
  color: #25272b !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(27px, 2.65vw, 38px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.cs-soft-modal--classic .cs-soft-modal__title-sep,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__title-sep {
  display: block !important;
  width: 44px !important;
  height: 2px !important;
  margin: 18px auto 20px !important;
  background: var(--csmk-service-cta-button-bg, #174d3d) !important;
  opacity: .78 !important;
  border-radius: 99px !important;
}

.cs-soft-modal--classic .cs-soft-modal__intro,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__intro {
  max-width: 330px !important;
  margin: 0 auto 28px !important;
  color: #34383d !important;
  font-size: 15px !important;
  line-height: 1.58 !important;
  text-align: center !important;
}

.cs-soft-modal--classic .cs-soft-modal__call,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__call {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 0 22px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,.16) !important;
  color: #25272b !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.06) !important;
}

.cs-soft-modal--classic .cs-soft-modal__call::before,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__call::before {
  content: "☎" !important;
  margin-right: 10px !important;
  font-size: 14px !important;
}

.cs-soft-modal--classic .cs-soft-modal__form-title,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__form-title {
  margin: 0 0 20px !important;
  color: #25272b !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

.cs-soft-modal--classic .cs-soft-modal__form label,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__form label {
  display: block !important;
  margin: 0 0 17px !important;
  color: #25272b !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.cs-soft-modal--classic .cs-soft-modal__form input,
.cs-soft-modal--classic .cs-soft-modal__form textarea,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__form input,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__form textarea {
  margin-top: 8px !important;
  width: 100% !important;
  border-radius: 10px !important;
  border: 1px solid #d8dde4 !important;
  background: #ffffff !important;
  padding: 11px 13px !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.03) !important;
}

.cs-soft-modal--classic .cs-soft-modal__form input,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__form input {
  min-height: 42px !important;
}

.cs-soft-modal--classic .cs-soft-modal__form textarea,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__form textarea {
  min-height: 92px !important;
}

.cs-soft-modal--classic .cs-soft-modal__submit,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 26px !important;
  border-radius: 999px !important;
  background: #eee5dc !important;
  color: #6b2d20 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  border: 0 !important;
  cursor: pointer !important;
}

.cs-soft-modal--classic .cs-soft-modal__hint,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__hint {
  margin: 16px 0 0 !important;
  color: #6d737a !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

.cs-soft-modal--classic .cs-soft-modal__hint::before,
body.coconsem .cs-soft-modal--classic .cs-soft-modal__hint::before {
  content: "🔒" !important;
  margin-right: 8px !important;
}

@media (max-width: 760px) {
  .cs-soft-modal--classic .cs-soft-modal__dialog,
  body.coconsem .cs-soft-modal--classic .cs-soft-modal__dialog {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    padding: 20px 16px 16px !important;
    border-radius: 14px !important;
    max-height: calc(100dvh - 12px) !important;
  }

  .cs-soft-modal--classic .cs-soft-modal__inner,
  body.coconsem .cs-soft-modal--classic .cs-soft-modal__inner {
    display: block !important;
  }

  .cs-soft-modal--classic .cs-soft-modal__col--text,
  body.coconsem .cs-soft-modal--classic .cs-soft-modal__col--text {
    margin-bottom: 18px !important;
    padding: 0 10px !important;
  }

  .cs-soft-modal--classic .cs-soft-modal__avatar,
  body.coconsem .cs-soft-modal--classic .cs-soft-modal__avatar {
    max-width: min(190px, 100%) !important;
    max-height: 72px !important;
  }

  .cs-soft-modal--classic #cs-soft-modal-title,
  body.coconsem .cs-soft-modal--classic #cs-soft-modal-title {
    font-size: 24px !important;
    max-width: 280px !important;
  }

  .cs-soft-modal--classic .cs-soft-modal__intro,
  body.coconsem .cs-soft-modal--classic .cs-soft-modal__intro {
    margin-bottom: 14px !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
  }

  .cs-soft-modal--classic .cs-soft-modal__form-title,
  body.coconsem .cs-soft-modal--classic .cs-soft-modal__form-title {
    font-size: 18px !important;
    margin-bottom: 12px !important;
  }
}


/* Local proof block - T1 Google Maps inspired card */
.csmk-local-proof{max-width:980px;margin:42px auto 34px;border:1px solid rgba(15,23,42,.12);border-radius:22px;background:#fff;box-shadow:0 18px 44px rgba(15,23,42,.10);overflow:hidden;color:#111827}
.csmk-local-proof__cover{height:220px;background-size:cover;background-position:center}
.csmk-local-proof__body{padding:26px 30px 30px}
.csmk-local-proof__kicker{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#64748b;margin-bottom:8px}
.csmk-local-proof__title{font-size:28px;line-height:1.18;margin:0 0 10px;color:#111827}
.csmk-local-proof__rating{margin:0 0 16px;font-weight:700;color:#374151}.csmk-local-proof__rating span{letter-spacing:1px}
.csmk-local-proof__line{margin:8px 0;color:#374151}.csmk-local-proof__line strong{display:inline-block;min-width:92px;color:#111827}.csmk-local-proof__line a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.csmk-local-proof__actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}.csmk-local-proof__btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:999px;background:#174d3d;color:#fff!important;text-decoration:none!important;font-weight:700}.csmk-local-proof__link{color:#174d3d!important;font-weight:700;text-decoration:none!important}
@media (max-width:700px){.csmk-local-proof{margin:32px 0;border-radius:18px}.csmk-local-proof__cover{height:160px}.csmk-local-proof__body{padding:22px}.csmk-local-proof__title{font-size:23px}.csmk-local-proof__line strong{display:block;margin-bottom:2px}}


/* 0.3.59 local proof shield: injected inline by PHP for front/admin. */


/* 0.3.60 — Local Proof render-shield override.
   Spécificité volontairement supérieure aux règles globales :
   body.coconsem-bridge-active .csmk-bridge-prose a:not(...). */
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui,
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui,
html body.coconsem .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui {
  color: #202124 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui a:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui a:visited:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui a:hover:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui a:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui a:not(.coconsem-toc a):not(.lwptoc a) {
  color: inherit !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-decoration: none !important;
  text-transform: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__title.csmk-bridge-heading,
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui h2.csmk-local-proof__title,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui h2.csmk-local-proof__title {
  margin: 0 0 7px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #202124 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 22px !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__rating,
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__rating *,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__rating,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__rating * {
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-style: normal !important;
  text-decoration: none !important;
  text-transform: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__stars,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__stars {
  color: #fbbc04 !important;
  font-weight: 400 !important;
  letter-spacing: -1px !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui a.csmk-local-proof__reviews:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui a.csmk-local-proof__reviews:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__line a:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__line a:not(.coconsem-toc a):not(.lwptoc a) {
  color: #1a0dab !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui a.csmk-local-proof__pill:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui a.csmk-local-proof__pill:not(.coconsem-toc a):not(.lwptoc a) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 13px !important;
  border: 1px solid #dadce0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #3c4043 !important;
  font: 400 14px/1 Roboto, Arial, sans-serif !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__line,
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__line *,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__line,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__line * {
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  font-style: normal !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__line strong,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__line strong {
  color: #202124 !important;
  font-weight: 700 !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status--closed,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status--closed { color: #d93025 !important; font-weight: 400 !important; }
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status--open,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content .csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status--open { color: #188038 !important; font-weight: 400 !important; }



/* 0.3.63 — Local Proof ultra-specific bridge override.
   Gagne explicitement contre render-shield.css sans toucher les autres liens de la page. */
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui,
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui.csmk-local-proof--google-like,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui,
html body.coconsem .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui {
  color: #202124 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui *:not(.csmk-local-proof__stars),
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui *:not(.csmk-local-proof__stars),
html body.coconsem .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui *:not(.csmk-local-proof__stars) {
  font-family: Roboto, Arial, sans-serif !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui h2.csmk-local-proof__title.csmk-bridge-heading,
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__title.csmk-local-proof__title,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui h2.csmk-local-proof__title.csmk-bridge-heading {
  margin: 0 0 7px !important;
  padding: 0 !important;
  border: 0 !important;
  color: #202124 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 22px !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui p.csmk-local-proof__rating,
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui p.csmk-local-proof__category,
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui p.csmk-local-proof__line,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui p.csmk-local-proof__rating,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui p.csmk-local-proof__category,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui p.csmk-local-proof__line {
  color: #3c4043 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui span.csmk-local-proof__stars.csmk-local-proof__stars,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui span.csmk-local-proof__stars.csmk-local-proof__stars {
  color: #fbbc04 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: -1px !important;
  text-decoration: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui a.csmk-local-proof__reviews.csmk-local-proof__reviews:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui p.csmk-local-proof__line a:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui a.csmk-local-proof__reviews.csmk-local-proof__reviews:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui p.csmk-local-proof__line a:not(.coconsem-toc a):not(.lwptoc a) {
  color: #1a0dab !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: inherit !important;
  font-weight: 400 !important;
  font-style: normal !important;
  text-decoration: none !important;
  text-transform: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui a.csmk-local-proof__pill.csmk-local-proof__pill:not(.coconsem-toc a):not(.lwptoc a),
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui a.csmk-local-proof__pill.csmk-local-proof__pill:not(.coconsem-toc a):not(.lwptoc a) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 0 13px !important;
  border: 1px solid #dadce0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #3c4043 !important;
  font-family: Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  text-transform: none !important;
  box-shadow: none !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui p.csmk-local-proof__line strong,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui p.csmk-local-proof__line strong {
  color: #202124 !important;
  font-weight: 700 !important;
  font-family: Roboto, Arial, sans-serif !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status--closed,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status--closed {
  color: #d93025 !important;
  font-weight: 400 !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status--open,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status--open {
  color: #188038 !important;
  font-weight: 400 !important;
}


/* 0.3.66 — Horaires : compat classes + couleurs Google Maps.
   Sécurise le rendu même si un ancien markup utilise encore is-open / is-closed. */
html body.coconsem .csmk-local-proof .csmk-local-proof__hours-status.csmk-local-proof__hours-status--closed,
html body.coconsem .csmk-local-proof .csmk-local-proof__hours-status.is-closed,
.wrap .csmk-local-proof .csmk-local-proof__hours-status.csmk-local-proof__hours-status--closed,
.wrap .csmk-local-proof .csmk-local-proof__hours-status.is-closed {
  color: #d93025 !important;
  font-weight: 400 !important;
}
html body.coconsem .csmk-local-proof .csmk-local-proof__hours-status.csmk-local-proof__hours-status--open,
html body.coconsem .csmk-local-proof .csmk-local-proof__hours-status.is-open,
.wrap .csmk-local-proof .csmk-local-proof__hours-status.csmk-local-proof__hours-status--open,
.wrap .csmk-local-proof .csmk-local-proof__hours-status.is-open {
  color: #188038 !important;
  font-weight: 400 !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status.csmk-local-proof__hours-status--closed,
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status.is-closed,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status.csmk-local-proof__hours-status--closed,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status.is-closed {
  color: #d93025 !important;
  font-weight: 400 !important;
}
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status.csmk-local-proof__hours-status--open,
html body.coconsem.coconsem-bridge-active .csmk-bridge-prose section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status.is-open,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status.csmk-local-proof__hours-status--open,
html body.coconsem.coconsem-bridge-active .brz-wp-post-content section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status.is-open {
  color: #188038 !important;
  font-weight: 400 !important;
}

/* =========================================================
 * 0.3.67 — Local Proof front shield indépendant du body
 * Le composant doit conserver son rendu Google-like même si
 * body.coconsem / Brizy / bridge ne sont pas présents.
 * =======================================================*/
html body section.csmk-local-proof.csmk-local-proof--html-ui,
html body .inside-article section.csmk-local-proof.csmk-local-proof--html-ui,
html body .entry-content section.csmk-local-proof.csmk-local-proof--html-ui {
  box-sizing:border-box !important;
  display:block !important;
  width:min(408px,100%) !important;
  max-width:min(408px,100%) !important;
  margin:2.4rem 0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #dadce0 !important;
  border-radius:8px !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#202124 !important;
  font-family:Roboto,Arial,sans-serif !important;
  font-size:14px !important;
  line-height:1.35 !important;
  text-align:left !important;
  text-transform:none !important;
  letter-spacing:normal !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui *,
html body section.csmk-local-proof.csmk-local-proof--html-ui *::before,
html body section.csmk-local-proof.csmk-local-proof--html-ui *::after {
  box-sizing:border-box !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui a,
html body section.csmk-local-proof.csmk-local-proof--html-ui a:visited,
html body section.csmk-local-proof.csmk-local-proof--html-ui a:hover,
html body section.csmk-local-proof.csmk-local-proof--html-ui a:focus {
  color:inherit !important;
  font-family:Roboto,Arial,sans-serif !important;
  font-style:normal !important;
  text-transform:none !important;
  text-decoration:none !important;
  border:0 !important;
  box-shadow:none !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui a::before,
html body section.csmk-local-proof.csmk-local-proof--html-ui a::after {
  content:none !important;
  display:none !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__media {
  display:grid !important;
  grid-template-columns:1fr .92fr !important;
  grid-template-rows:95px 95px !important;
  gap:2px !important;
  width:100% !important;
  height:192px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#f1f3f4 !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__media-item {
  display:block !important;
  position:relative !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background-size:cover !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  border:0 !important;
  border-radius:0 !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__media-item--main {grid-row:1 / span 2 !important;}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__media-item--map {background:#e9f0fb !important;}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__media-label {
  position:absolute !important;
  right:0 !important;
  bottom:0 !important;
  z-index:3 !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:30px !important;
  padding:0 10px !important;
  background:rgba(0,0,0,.58) !important;
  color:#fff !important;
  font:700 13px/1 Roboto,Arial,sans-serif !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__map-road {
  position:absolute !important;
  left:-10% !important;
  right:-10% !important;
  top:48% !important;
  height:4px !important;
  border-radius:99px !important;
  background:#9fb4cf !important;
  transform:rotate(-7deg) !important;
  opacity:.9 !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__map-road--b {top:23% !important;transform:rotate(7deg) !important;opacity:.6 !important;}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__map-pin {
  position:absolute !important;
  left:50% !important;
  top:34% !important;
  width:20px !important;
  height:20px !important;
  margin:-14px 0 0 -10px !important;
  background:#ea4335 !important;
  border-radius:50% 50% 50% 0 !important;
  transform:rotate(-45deg) !important;
  box-shadow:0 1px 3px rgba(60,64,67,.35) !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__map-pin::before {
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:8px !important;
  height:8px !important;
  margin:-4px 0 0 -4px !important;
  border-radius:50% !important;
  background:#fff !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__map-label {
  position:absolute !important;
  left:50% !important;
  top:56% !important;
  transform:translateX(-50%) !important;
  color:#5f6368 !important;
  font:400 12px/1 Roboto,Arial,sans-serif !important;
  white-space:nowrap !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__body {
  display:block !important;
  margin:0 !important;
  padding:14px 14px 16px !important;
  background:#fff !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__title {
  display:block !important;
  width:100% !important;
  margin:0 0 7px !important;
  padding:0 !important;
  border:0 !important;
  color:#202124 !important;
  font-family:Roboto,Arial,sans-serif !important;
  font-size:22px !important;
  line-height:1.18 !important;
  font-weight:400 !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  transform:none !important;
  opacity:1 !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .heading-flex {
  display:contents !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .special-heading-border {display:none !important;}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__rating {
  display:flex !important;
  align-items:center !important;
  gap:4px !important;
  margin:0 0 4px !important;
  padding:0 !important;
  color:#5f6368 !important;
  font:400 14px/1.35 Roboto,Arial,sans-serif !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__stars {color:#fbbc04 !important;font:400 13px/1 Roboto,Arial,sans-serif !important;letter-spacing:-1px !important;}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__reviews,
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__details a {color:#1a73e8 !important;text-decoration:none !important;}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__category {
  margin:0 0 10px !important;
  padding:0 !important;
  color:#5f6368 !important;
  font:400 14px/1.4 Roboto,Arial,sans-serif !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__actions {
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:0 0 12px !important;
  padding:0 0 12px !important;
  border-bottom:1px solid #e8eaed !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__pill {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:34px !important;
  margin:0 !important;
  padding:0 12px !important;
  border:1px solid #dadce0 !important;
  border-radius:18px !important;
  background:#fff !important;
  color:#1a73e8 !important;
  font:500 13px/1 Roboto,Arial,sans-serif !important;
  white-space:nowrap !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__details {display:block !important;margin:0 !important;padding:0 !important;}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__line {
  display:block !important;
  margin:0 0 10px !important;
  padding:0 !important;
  color:#202124 !important;
  font:400 14px/1.4 Roboto,Arial,sans-serif !important;
}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__line strong {font-weight:700 !important;}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status--open {color:#188038 !important;}
html body section.csmk-local-proof.csmk-local-proof--html-ui .csmk-local-proof__hours-status--closed {color:#d93025 !important;}

@media (max-width:520px){
  html body section.csmk-local-proof.csmk-local-proof--html-ui {width:100% !important;max-width:100% !important;}
}


/* =========================================================
 * 0.3.68 — CTA pilier pilotable et réellement éditorial
 * =======================================================*/
html body a.csmk-pillar-link.csmk-pillar-link--editorial{
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:18px !important;
  width:min(100%,var(--csmk-pillar-max-width,760px)) !important;
  max-width:var(--csmk-pillar-max-width,760px) !important;
  margin:2rem 0 !important;
  padding:var(--csmk-pillar-padding,22px) !important;
  border:10px solid var(--csmk-pillar-border,#dfe5e3) !important;
  border-left:3px solid var(--csmk-pillar-accent,#a92c36) !important;
  border-radius:var(--csmk-pillar-radius,14px) !important;
  background:var(--csmk-pillar-bg,#f7f8f7) !important;
  color:var(--csmk-pillar-text,#253b42) !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transform:none !important;
  line-height:1.35 !important;
}
html body a.csmk-pillar-link.csmk-pillar-link--editorial:hover{
  color:var(--csmk-pillar-text,#253b42) !important;
  border-color:color-mix(in srgb,var(--csmk-pillar-accent,#a92c36) 35%,var(--csmk-pillar-border,#dfe5e3)) !important;
  background:color-mix(in srgb,var(--csmk-pillar-bg,#f7f8f7) 94%,#fff) !important;
  box-shadow:0 8px 24px rgba(37,59,66,.07) !important;
  transform:translateY(-1px) !important;
}
html body a.csmk-pillar-link.csmk-pillar-link--editorial::before,
html body a.csmk-pillar-link.csmk-pillar-link--editorial::after{
  content:none !important;
  display:none !important;
}
html body a.csmk-pillar-link .csmk-pillar-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:28px !important;
  height:28px !important;
  margin:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--csmk-pillar-accent,#a92c36) !important;
  font-size:18px !important;
  font-weight:700 !important;
  order:-1 !important;
}
html body a.csmk-pillar-link .csmk-pillar-copy-zone{
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
html body a.csmk-pillar-link .csmk-service-link-eyebrow{
  display:block !important;
  margin:0 0 5px !important;
  padding:0 !important;
  color:var(--csmk-pillar-muted,#6b7774) !important;
  font-size:12px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
  text-align:left !important;
}
html body a.csmk-pillar-link .csmk-pillar-label{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--csmk-pillar-text,#253b42) !important;
  font-size:17px !important;
  line-height:1.42 !important;
  font-weight:600 !important;
  text-align:left !important;
}
html body a.csmk-pillar-link .csmk-pillar-action{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--csmk-pillar-accent,#a92c36) !important;
  font-size:13px !important;
  line-height:1.3 !important;
  font-weight:700 !important;
  white-space:nowrap !important;
  text-align:right !important;
}
html body a.csmk-pillar-link--soft{
  box-shadow:0 10px 26px rgba(37,59,66,.07) !important;
}
html body a.csmk-pillar-link--text{
  width:100% !important;
  max-width:100% !important;
  margin:1.6rem 0 !important;
  padding:14px 0 14px 18px !important;
  border:0 !important;
  border-left:3px solid var(--csmk-pillar-accent,#a92c36) !important;
  border-radius:0 !important;
  background:transparent !important;
}
@media (max-width:760px){
  html body a.csmk-pillar-link.csmk-pillar-link--editorial{
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    padding:18px !important;
  }
  html body a.csmk-pillar-link .csmk-pillar-icon{display:none !important;}
  html body a.csmk-pillar-link .csmk-pillar-action{
    justify-content:flex-start !important;
    white-space:normal !important;
    text-align:left !important;
  }
}


/* Admin — preset gallery / real CTA previews */
.csmk-preset-picker{margin:12px 0 18px;max-width:1180px}
.csmk-preset-picker>h4{margin:0 0 10px;font-size:14px}
.csmk-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:14px;align-items:stretch}
.csmk-preset-card{display:flex;flex-direction:column;gap:10px;text-align:left;background:#fff;border:2px solid #dcdcde;border-radius:10px;padding:12px;cursor:pointer;min-width:0;color:#1d2327}
.csmk-preset-card:hover{border-color:#8c8f94}
.csmk-preset-card.is-selected{border-color:#2271b1;box-shadow:0 0 0 1px #2271b1}
.csmk-preset-card-title{font-weight:700;display:flex;align-items:center;gap:7px}
.csmk-preset-check{display:inline-flex;width:18px;height:18px;border-radius:50%;align-items:center;justify-content:center;background:#2271b1;color:#fff;opacity:0;font-size:12px}
.csmk-preset-card.is-selected .csmk-preset-check{opacity:1}
.csmk-admin-cta-preview{pointer-events:none!important;margin:0!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;transform:none!important}
.csmk-admin-pillar-stage{display:block;padding:14px 8px;background:#f6f7f7;border-radius:6px;min-height:76px;box-sizing:border-box}
.csmk-admin-pillar-stage .csmk-pillar-link{pointer-events:none!important;margin:0!important;width:100%!important;max-width:none!important;box-sizing:border-box!important}
@media(max-width:1000px){.csmk-preset-grid{grid-template-columns:1fr}}

/* 0.3.73 — Admin preset previews: desktop-faithful horizontal rendering + responsive stacking. */
.csmk-preset-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  align-items:stretch!important;
}
.csmk-preset-card{width:100%!important;min-width:0!important}
.csmk-admin-cta-preview{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  min-height:108px!important;
  padding:20px 26px!important;
}
.csmk-admin-cta-preview .csmk-service-cta-text-zone{min-width:0!important;width:auto!important}
.csmk-admin-cta-preview .csmk-service-cta-eyebrow,
.csmk-admin-cta-preview .csmk-service-cta-main{max-width:none!important;word-break:normal!important;overflow-wrap:normal!important}
.csmk-admin-cta-preview .csmk-service-cta-button{
  display:inline-flex!important;
  width:auto!important;
  min-width:max-content!important;
  margin:0!important;
  white-space:nowrap!important;
}
/* Les variantes oniriques masquent le bouton sur le front historique : dans la galerie admin,
   on montre volontairement le composant complet pour juger sa composition desktop. */
.csmk-admin-cta-preview.csmk-service-cta-template-dream_blue .csmk-service-cta-button,
.csmk-admin-cta-preview.csmk-service-cta-template-dream_night .csmk-service-cta-button{display:inline-flex!important}

.csmk-preset-grid--pillar .csmk-preset-card{padding:14px!important}
.csmk-admin-pillar-stage{min-height:92px!important;padding:14px!important}
.csmk-admin-pillar-stage .csmk-pillar-link{width:100%!important;max-width:none!important}

@media (max-width:782px){
  .csmk-admin-cta-preview{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:14px!important;
    padding:20px!important;
  }
  .csmk-admin-cta-preview .csmk-service-cta-button{width:100%!important;justify-content:center!important;white-space:normal!important}
  .csmk-admin-pillar-stage{padding:10px!important}
  .csmk-admin-pillar-stage .csmk-pillar-link{max-width:100%!important}
}


/* 0.3.74 — Preset previews: faithful service spacing + genuinely distinct pillar variants. */
.csmk-admin-cta-preview .csmk-service-cta-text-zone{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:9px!important;
}
.csmk-admin-cta-preview .csmk-service-cta-eyebrow,
.csmk-admin-cta-preview .csmk-service-cta-main{
  display:block!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  z-index:2!important;
}
.csmk-admin-cta-preview .csmk-service-cta-main{line-height:1.28!important}

/* Pillar preview stage must not visually homogenise the three presets. */
.csmk-preset-grid--pillar .csmk-admin-pillar-stage{
  background:#fff!important;
  border:1px dashed #dcdcde!important;
  min-height:112px!important;
  display:flex!important;
  align-items:center!important;
}
.csmk-preset-grid--pillar .csmk-pillar-link{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  margin:0!important;
}
.csmk-preset-grid--pillar .csmk-pillar-icon{grid-column:1/-1!important;width:auto!important;height:auto!important;justify-content:flex-start!important}

/* 1. Ligne éditoriale minimale: fine rule + copy, no card effect. */
.csmk-preset-grid--pillar .csmk-pillar-link--minimal{
  padding:13px 0 13px 18px!important;
  border:0!important;
  border-left:3px solid var(--csmk-pillar-accent,#a92c36)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.csmk-preset-grid--pillar .csmk-pillar-link--minimal .csmk-pillar-label{font-size:16px!important;font-weight:600!important}

/* 2. Carte douce: a real contained card. */
.csmk-preset-grid--pillar .csmk-pillar-link--soft{
  padding:20px 22px!important;
  border:1px solid var(--csmk-pillar-border,#dfe5e3)!important;
  border-left:4px solid var(--csmk-pillar-accent,#a92c36)!important;
  border-radius:14px!important;
  background:var(--csmk-pillar-bg,#f7f8f7)!important;
  box-shadow:0 10px 26px rgba(37,59,66,.08)!important;
}
.csmk-preset-grid--pillar .csmk-pillar-link--soft .csmk-pillar-label{font-size:17px!important;font-weight:650!important}

/* 3. Texte simple: almost native editorial link, no container. */
.csmk-preset-grid--pillar .csmk-pillar-link--text{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:6px 10px!important;
  padding:8px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.csmk-preset-grid--pillar .csmk-pillar-link--text .csmk-pillar-copy-zone{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:5px 8px!important}
.csmk-preset-grid--pillar .csmk-pillar-link--text .csmk-service-link-eyebrow{display:inline!important;margin:0!important;font-size:11px!important}
.csmk-preset-grid--pillar .csmk-pillar-link--text .csmk-pillar-label{display:inline!important;font-size:15px!important;font-weight:500!important;text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:3px!important}
.csmk-preset-grid--pillar .csmk-pillar-link--text .csmk-pillar-action{font-size:12px!important}

@media(max-width:782px){
  .csmk-preset-grid--pillar .csmk-pillar-link{grid-template-columns:1fr!important;gap:9px!important}
  .csmk-preset-grid--pillar .csmk-pillar-link--text{display:flex!important}
  .csmk-admin-cta-preview .csmk-service-cta-text-zone{gap:7px!important}
}
