/* Coprod Events — responsive system v2 */
html,body{max-width:100%;overflow-x:clip}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
body.elementor-page>.elementor[data-elementor-type="wp-page"]{width:100%;max-width:100%;overflow:clip}
body.elementor-page>.elementor[data-elementor-type="wp-page"]>.e-con{width:100%;max-width:100%}
body.elementor-page :where(h1,h2,h3,h4,h5,h6,p,li,.e-heading-base,.e-paragraph-base,.elementor-heading-title){max-width:100%;overflow-wrap:break-word}
body.elementor-page :where(p,.e-paragraph-base,.elementor-widget-text-editor){line-height:1.65}
body.elementor-page :where(.elementor-button,.e-button-base){max-width:100%;white-space:normal;text-align:center;overflow-wrap:anywhere}
body.elementor-page :where(.elementor-widget-image img,.e-image-base img,iframe,video,embed,object){max-width:100%;height:auto}
body.elementor-page .elementor-form,
body.elementor-page .elementor-form .elementor-form-fields-wrapper,
body.elementor-page .elementor-form .elementor-field-group{min-width:0;max-width:100%}
body.elementor-page .elementor-form :where(input,select,textarea,button){width:100%;max-width:100%;box-sizing:border-box}

/* Keep mobile top spacing scoped to page content, never the Theme Builder header */
@media (max-width:767px) and (orientation:portrait){
 body.elementor-page>.elementor[data-elementor-type="wp-page"]>.e-con:first-child{padding-top:max(7.25rem,calc(72px + 2rem))!important}
}
@media (max-width:932px) and (orientation:landscape){
 body.elementor-page>.elementor[data-elementor-type="wp-page"]>.e-con:first-child{min-height:auto!important;padding-top:max(5.25rem,calc(60px + 1.25rem))!important;padding-bottom:clamp(2rem,7vh,3.5rem)!important}
}

@media (max-width:1439px){
 body.elementor-page :where(h1,.elementor-widget-heading h1.elementor-heading-title){font-size:clamp(2.75rem,5.2vw,4.8rem)!important;line-height:1!important}
 body.elementor-page :where(h2,.elementor-widget-heading h2.elementor-heading-title){font-size:clamp(2rem,3.5vw,3.3rem)!important;line-height:1.08!important}
}
@media (max-width:1199px){
 body.elementor-page :where(h1,.elementor-widget-heading h1.elementor-heading-title){font-size:clamp(2.5rem,5.6vw,4.2rem)!important}
 body.elementor-page :where(h2,.elementor-widget-heading h2.elementor-heading-title){font-size:clamp(1.9rem,4vw,3rem)!important}
 body.elementor-page :where(.elementor-button,.e-button-base){min-height:44px}
}
@media (max-width:1023px){
 body.elementor-page :where(h1,.elementor-widget-heading h1.elementor-heading-title){font-size:clamp(2.35rem,6.2vw,3.8rem)!important;text-wrap:balance}
 body.elementor-page :where(h2,.elementor-widget-heading h2.elementor-heading-title){font-size:clamp(1.8rem,4.6vw,2.8rem)!important;text-wrap:balance}
 body.elementor-page :where(h3,.elementor-widget-heading h3.elementor-heading-title){font-size:clamp(1.2rem,2.8vw,1.65rem)!important}
 body.elementor-page .elementor-form .elementor-field-group{padding-right:6px;padding-left:6px}
}
@media (max-width:767px){
 body.elementor-page :where(h2,.elementor-widget-heading h2.elementor-heading-title){font-size:clamp(1.65rem,7vw,2.35rem)!important;line-height:1.08!important}
 body.elementor-page :where(h3,.elementor-widget-heading h3.elementor-heading-title){font-size:clamp(1.15rem,5vw,1.55rem)!important;line-height:1.15!important}
 body.elementor-page :where(p,li,.e-paragraph-base,.elementor-widget-text-editor){font-size:clamp(.95rem,3.6vw,1.05rem);line-height:1.62}
 body.elementor-page :where(.elementor-button,.e-button-base){min-height:46px;padding-inline:clamp(16px,5vw,24px)}
 body.elementor-page .elementor-form .elementor-field-group,
 body.elementor-page .elementor-form .elementor-column{width:100%!important;max-width:100%!important;flex-basis:100%!important}
 body.elementor-page table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 body.elementor-page :where(.elementor-widget-image-carousel,.elementor-widget-media-carousel,.elementor-widget-gallery){max-width:100%;overflow:hidden}
}
@media (max-width:479px){
 body.elementor-page :where(h1,.elementor-widget-heading h1.elementor-heading-title){font-size:clamp(2rem,10.5vw,2.8rem)!important;line-height:.98!important}
 body.elementor-page :where(h2,.elementor-widget-heading h2.elementor-heading-title){font-size:clamp(1.5rem,7.8vw,2rem)!important}
 body.elementor-page :where(.elementor-button,.e-button-base){width:100%;justify-content:center}
 body.elementor-page .elementor-form .elementor-field-group{padding-right:0;padding-left:0}
}
@media (max-width:932px) and (orientation:landscape){
 body.elementor-page :where(h2,.elementor-widget-heading h2.elementor-heading-title){font-size:clamp(1.7rem,4.5vw,2.6rem)!important}
 body.elementor-page :where(.elementor-button,.e-button-base){min-height:42px}
}

/* MacBook / laptop Retina — 13, 14 and 16 inch */
@media (min-width:1200px) and (max-width:1728px){
 :root{--cp-max:min(1280px,calc(100vw - 80px))}
 .elementor-16223 .elementor-nav-menu--main .elementor-item{
  padding-inline:clamp(9px,.9vw,14px);
  font-size:clamp(11px,.78vw,12px);
  letter-spacing:.075em;
 }
 body.elementor-page :where(h1,.elementor-widget-heading h1.elementor-heading-title){
  font-size:clamp(3rem,4vw,4.6rem)!important;
  line-height:1!important;
 }
 body.elementor-page :where(h2,.elementor-widget-heading h2.elementor-heading-title){
  font-size:clamp(2rem,2.8vw,3.2rem)!important;
  line-height:1.08!important;
 }
}

/* MacBook with reduced vertical space */
@media (min-width:1200px) and (max-width:1728px) and (max-height:1000px){
 .elementor-16259 [data-id="23c507c5"]{
  min-height:auto!important;
  padding-top:clamp(6.5rem,11vh,8rem)!important;
  padding-bottom:clamp(3rem,6vh,4.5rem)!important;
 }
 .elementor-16259 [data-id="2729235b"]{
  margin-top:clamp(1.25rem,3vh,2.25rem)!important;
 }
 body.elementor-page :where(p,.e-paragraph-base,.elementor-widget-text-editor){
  line-height:1.58;
 }
}

/* Large desktop / 2K+ — larger header navigation */
@media (min-width:2048px){
 .elementor-16223 .elementor-nav-menu--main .elementor-item{
  font-size:15px!important;
  padding-inline:20px!important;
  letter-spacing:.085em;
 }
 .elementor-16223 .elementor-nav-menu--main .elementor-sub-item{
  font-size:14px!important;
  padding-block:12px!important;
 }
 .elementor-16223 .elementor-button{
  font-size:14px!important;
  padding:14px 24px!important;
 }
}

/* Keep homepage proof labels at their original visual scale after semantic H2 correction. */
html body.page-id-16578.elementor-page .elementor .e-3552fd05-ad9a,
html body.page-id-16578.elementor-page .elementor .e-39ea86de-9a2a,
html body.page-id-16578.elementor-page .elementor .e-716c2529-48c6 {
  font-size:1.1rem!important;
  line-height:1.18!important;
}

@media (max-width:767px){
  html body.page-id-16578.elementor-page .elementor .e-3552fd05-ad9a,
  html body.page-id-16578.elementor-page .elementor .e-39ea86de-9a2a,
  html body.page-id-16578.elementor-page .elementor .e-716c2529-48c6 {
    font-size:1.6rem!important;
  }
}

/* Higher-specificity companion for the page-level typography rules. */
html body.home.page-id-16578.elementor-page .elementor[data-elementor-type="wp-page"] .e-3552fd05-ad9a,
html body.home.page-id-16578.elementor-page .elementor[data-elementor-type="wp-page"] .e-39ea86de-9a2a,
html body.home.page-id-16578.elementor-page .elementor[data-elementor-type="wp-page"] .e-716c2529-48c6 {
  font-size:1.1rem!important;
  line-height:1.18!important;
}
@media (max-width:767px){
  html body.home.page-id-16578.elementor-page .elementor[data-elementor-type="wp-page"] .e-3552fd05-ad9a,
  html body.home.page-id-16578.elementor-page .elementor[data-elementor-type="wp-page"] .e-39ea86de-9a2a,
  html body.home.page-id-16578.elementor-page .elementor[data-elementor-type="wp-page"] .e-716c2529-48c6 {
    font-size:1.6rem!important;
  }
}


/* Unified typography families: match the homepage without changing scale or spacing. */
html body.coprod-elementor-theme.elementor-page .elementor[data-elementor-type="wp-page"] :is(h1,h2,h3,h4,h5,h6,.e-heading-base,.elementor-heading-title){
  font-family:"Syne",sans-serif!important;
}
html body.coprod-elementor-theme.elementor-page .elementor[data-elementor-type="wp-page"] :is(p,li,.e-paragraph-base,.elementor-widget-text-editor,.elementor-button,.e-button-base){
  font-family:"Manrope",sans-serif!important;
}

/* Outrank legacy page-specific typography overrides from Additional CSS. */
html body.coprod-elementor-theme.elementor-page:not(#coprod-legacy-typography) .elementor[data-elementor-type="wp-page"] :is(h1,h2,h3,h4,h5,h6,.e-heading-base,.elementor-heading-title){
  font-family:"Syne",sans-serif!important;
}
html body.coprod-elementor-theme.elementor-page:not(#coprod-legacy-typography) .elementor[data-elementor-type="wp-page"] :is(p,li,.e-paragraph-base,.elementor-widget-text-editor,.elementor-button,.e-button-base){
  font-family:"Manrope",sans-serif!important;
}

/* Unify heading appearance with the homepage reference. */
html body.coprod-elementor-theme.elementor-page:not(#coprod-legacy-heading-style) .elementor[data-elementor-type="wp-page"] :is(h1,h2,h3,h4,h5,h6,.e-heading-base,.elementor-heading-title){
  font-weight:700!important;
  text-transform:none!important;
  letter-spacing:-.035em!important;
}

/* Keep primary orange buttons readable across all page templates. */
html body.coprod-elementor-theme.elementor-page:not(#coprod-primary-button-contrast) .elementor[data-elementor-type="wp-page"] a.coprod-button,
html body.coprod-elementor-theme.elementor-page:not(#coprod-primary-button-contrast) .elementor[data-elementor-type="wp-page"] a.coprod-button:visited,
html body.coprod-elementor-theme.elementor-page:not(#coprod-primary-button-contrast) .elementor[data-elementor-type="wp-page"] a.coprod-button:hover,
html body.coprod-elementor-theme.elementor-page:not(#coprod-primary-button-contrast) .elementor[data-elementor-type="wp-page"] a.coprod-button:focus-visible{
  color:#111!important;
}
html body.coprod-elementor-theme.elementor-page:not(#coprod-primary-button-contrast) .elementor[data-elementor-type="wp-page"] a.coprod-button *{
  color:inherit!important;
}


/* Footer Elementor 4951 - layout stabilization */
body .elementor-location-footer.elementor-4951 > .elementor-element-4a12ec3f {
  width: 100% !important;
  max-width: none !important;
  align-items: center !important;
  box-sizing: border-box;
}
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 {
  display: grid !important;
  width: min(100%, 88rem) !important;
  max-width: 88rem !important;
  margin-inline: auto !important;
  grid-template-columns: minmax(16rem, 1.35fr) minmax(10rem, .95fr) minmax(11rem, 1fr) minmax(12rem, 1fr) !important;
  gap: clamp(2rem, 3vw, 4rem) !important;
  align-items: start !important;
  box-sizing: border-box;
}
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 > .e-con {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: .75rem !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 :is(h2, h3, p) {
  width: 100% !important;
  margin: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-66303373 > .e-image-link-base {
  display: block !important;
  width: clamp(8rem, 12vw, 11rem) !important;
  height: auto !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-66303373 > .e-image-link-base img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-66303373 > h2 {
  font-size: clamp(1.45rem, 2vw, 1.9rem) !important;
  line-height: 1.15 !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 > .e-con > h3 {
  font-size: .82rem !important;
  line-height: 1.3 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 p,
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 a {
  font-size: .9rem !important;
  line-height: 1.55 !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-66303373 > .e-button-base {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 3rem !important;
  padding: .85rem 1.25rem !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}
@media (max-width: 70rem) {
  body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important;
  }
}
@media (max-width: 48rem) {
  body .elementor-location-footer.elementor-4951 > .elementor-element-4a12ec3f {
    padding: 3rem 1.25rem 1.5rem !important;
  }
  body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2.25rem !important;
  }
}


/* Footer Elementor 4951 - layout stabilization */
body .elementor-location-footer.elementor-4951 > .elementor-element-4a12ec3f {
  width: 100% !important;
  max-width: none !important;
  align-items: center !important;
  box-sizing: border-box;
}
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 {
  display: grid !important;
  width: min(100%, 88rem) !important;
  max-width: 88rem !important;
  margin-inline: auto !important;
  grid-template-columns: minmax(16rem, 1.35fr) minmax(10rem, .95fr) minmax(11rem, 1fr) minmax(12rem, 1fr) !important;
  gap: clamp(2rem, 3vw, 4rem) !important;
  align-items: start !important;
  box-sizing: border-box;
}
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 > .e-con {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: none !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: .75rem !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 :is(h2, h3, p) {
  width: 100% !important;
  margin: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-66303373 > .e-image-link-base {
  display: block !important;
  width: clamp(8rem, 12vw, 11rem) !important;
  height: auto !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-66303373 > .e-image-link-base img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-66303373 > h2 {
  font-size: clamp(1.45rem, 2vw, 1.9rem) !important;
  line-height: 1.15 !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 > .e-con > h3 {
  font-size: .82rem !important;
  line-height: 1.3 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 p,
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 a {
  font-size: .9rem !important;
  line-height: 1.55 !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-66303373 > .e-button-base {
  display: inline-flex !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 3rem !important;
  padding: .85rem 1.25rem !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}
@media (max-width: 70rem) {
  body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important;
  }
}
@media (max-width: 48rem) {
  body .elementor-location-footer.elementor-4951 > .elementor-element-4a12ec3f {
    padding: 3rem 1.25rem 1.5rem !important;
  }
  body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2.25rem !important;
  }
}


/* Footer Elementor 4951 - force the main grid to fill its wrapper */
html body.elementor-page footer.elementor-location-footer.elementor-4951 > .elementor-element-4a12ec3f {
  justify-content: center !important;
}
html body.elementor-page footer.elementor-location-footer.elementor-4951 > .elementor-element-4a12ec3f > .elementor-element-49b04fc5 {
  flex: 1 0 100% !important;
  flex-basis: 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 88rem !important;
  align-self: stretch !important;
  justify-self: stretch !important;
}


/* Footer Elementor 4951 - keep the full-width grid inside the page */
html body.elementor-page footer.elementor-location-footer.elementor-4951 > .elementor-element-4a12ec3f {
  display: block !important;
}
html body.elementor-page footer.elementor-location-footer.elementor-4951 > .elementor-element-4a12ec3f > .elementor-element-49b04fc5 {
  width: 100% !important;
  min-width: 0 !important;
  margin-inline: auto !important;
}


/* Footer certifications - same height, side by side */
body .elementor-location-footer.elementor-4951 .elementor-element-49b04fc5 > .elementor-element-6d32cc34 {
  display: grid !important;
  grid-template-columns: max-content max-content !important;
  grid-auto-rows: auto !important;
  column-gap: .75rem !important;
  row-gap: .75rem !important;
  align-items: start !important;
  justify-content: start !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-6d32cc34 > :not(img) {
  grid-column: 1 / -1 !important;
}
body .elementor-location-footer.elementor-4951 .elementor-element-6d32cc34 > img {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 7rem !important;
  object-fit: contain !important;
  object-position: left center !important;
}


/* Header and footer media are controlled by theme templates, never page content CSS */
html body .elementor-location-header.elementor-16223 img.e-1c8587ed-f682 {
  width: 150px !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
html body .elementor-location-footer.elementor-4951 img {
  aspect-ratio: auto !important;
  border-radius: 0 !important;
}
html body .elementor-location-footer.elementor-4951 [data-id="66303373"] img {
  width: min(100%, 9.6rem) !important;
  height: auto !important;
  object-fit: contain !important;
}
html body .elementor-location-footer.elementor-4951 [data-id="6d32cc34"] > img {
  width: auto !important;
  max-width: none !important;
  height: 7rem !important;
  object-fit: contain !important;
}
@media (max-width: 767px) {
  html body .elementor-location-header.elementor-16223 img.e-1c8587ed-f682 {
    width: 120px !important;
  }
}


/* Global single-post design system - shared with the homepage */
body.single-post {
  --cp-article-shell: calc(100% - clamp(2rem, 3vw, 3rem));
  --cp-article-space: clamp(4rem, 7vw, 7rem);
  background:
    radial-gradient(circle at 82% 4%, rgba(255,157,0,.08), transparent 28rem),
    linear-gradient(180deg, #070809 0%, #050607 100%) !important;
  color: var(--cp-text);
}
body.single-post > .elementor[data-elementor-type="wp-post"],
body.single-post .elementor-location-single {
  background: transparent !important;
  color: var(--cp-text);
  font-family: "Manrope", sans-serif !important;
}
body.single-post :is(.elementor-location-single, .elementor[data-elementor-type="wp-post"]) :is(h1,h2,h3,h4,.elementor-heading-title) {
  color: var(--cp-text) !important;
  font-family: "Syne", sans-serif !important;
  font-style: normal !important;
  letter-spacing: -.035em !important;
}
body.single-post :is(.elementor-location-single, .elementor[data-elementor-type="wp-post"]) h1 {
  font-size: clamp(2rem, 2.5vw, 3.5rem) !important;
  font-weight: 700 !important;
  line-height: .98 !important;
  text-wrap: balance;
}
body.single-post :is(.elementor-location-single, .elementor[data-elementor-type="wp-post"]) h2 {
  font-size: clamp(1.6rem, 2vw, 2.8rem) !important;
  font-weight: 650 !important;
  line-height: 1.08 !important;
  text-wrap: balance;
}
body.single-post :is(.elementor-location-single, .elementor[data-elementor-type="wp-post"]) h3 {
  font-size: clamp(1.05rem, 1.35vw, 1.35rem) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}
body.single-post :is(.elementor-location-single, .elementor[data-elementor-type="wp-post"]) :is(p,li) {
  color: var(--cp-muted);
  font-family: "Manrope", sans-serif !important;
  font-size: clamp(.96rem, 1vw, 1.08rem);
  line-height: 1.8;
}
body.single-post :is(.elementor-location-single, .elementor[data-elementor-type="wp-post"]) a:not(.elementor-button) {
  color: var(--cp-orange);
  text-underline-offset: .2em;
}
body.single-post :is(.elementor-location-single, .elementor[data-elementor-type="wp-post"]) .elementor-button {
  min-height: 3.25rem;
  padding: .85rem 1.4rem !important;
  border: 1px solid rgba(255,157,0,.62) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ffad22 0%, #ff9000 100%) !important;
  color: #111 !important;
  font-family: "Manrope", sans-serif !important;
  font-size: .82rem !important;
  font-weight: 800 !important;
  letter-spacing: .015em !important;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(255,157,0,.18);
}

/* Legacy articles: the shared Elementor Single Post template becomes the homepage-style hero. */
body.single-post .elementor-location-single > .e-con:first-child {
  display: grid !important;
  width: var(--cp-article-shell) !important;
  max-width: none !important;
  min-height: min(43rem, 100svh);
  margin-inline: auto !important;
  padding: clamp(9rem, 14vh, 10rem) 0 3rem !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(2rem, 3vw, 3rem);
  align-items: center;
  background: transparent !important;
}
body.single-post .elementor-location-single > .e-con:first-child > .e-con-inner {
  display: flex !important;
  width: auto !important;
  max-width: 34rem !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
body.single-post .elementor-location-single > .e-con:first-child > .e-con-inner::before {
  content: "RÉALISATION · COPROD EVENTS";
  display: block;
  margin-bottom: 1.4rem;
  color: var(--cp-orange);
  font-family: "Manrope", sans-serif;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.4;
  text-transform: uppercase;
}
body.single-post .elementor-location-single > .e-con:first-child::after {
  content: "";
  display: block;
  min-height: clamp(20rem, 27vw, 25rem);
  border: 1px solid var(--cp-border);
  border-radius: 1.5rem;
  background:
    linear-gradient(135deg, rgba(255,157,0,.08), transparent 55%),
    var(--cp-single-image, linear-gradient(135deg, #171a20, #0d0f13)) center / cover no-repeat;
  box-shadow: var(--cp-shadow);
}
body.single-post .elementor-location-single > .e-con:first-child .elementor-widget-theme-post-title {
  margin: 0 !important;
}
body.single-post .elementor-location-single > .e-con:first-child .elementor-widget-post-info {
  margin-top: 1.5rem !important;
}
body.single-post .elementor-location-single > .e-con:first-child .elementor-post-info {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.1rem;
}
body.single-post .elementor-location-single > .e-con:first-child .elementor-post-info__item {
  color: var(--cp-muted) !important;
  font-family: "Manrope", sans-serif !important;
  font-size: .78rem !important;
}
body.single-post .elementor-location-single > .e-con:nth-child(2) {
  width: 100% !important;
  max-width: none !important;
  padding: 0 0 var(--cp-article-space) !important;
  background: transparent !important;
}
body.single-post .elementor-location-single .elementor-widget-theme-post-content > .elementor-widget-container {
  width: 100%;
}
body.single-post .elementor-location-single .elementor-widget-theme-post-content > .elementor-widget-container > .elementor {
  width: 100%;
}
body.single-post .elementor-location-single .elementor-widget-theme-post-content > .elementor-widget-container > .elementor > .e-con {
  width: var(--cp-article-shell) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-block: clamp(2.5rem, 5vw, 5rem) !important;
  border-top: 1px solid var(--cp-border);
  background: transparent !important;
}
body.single-post .elementor-location-single .elementor-widget-theme-post-content > .elementor-widget-container > .elementor > .e-con:first-child:has(.elementor-widget-image) {
  display: none !important;
}
body.single-post .elementor-location-single .elementor-widget-theme-post-content img {
  border-radius: var(--cp-radius) !important;
  box-shadow: 0 18px 56px rgba(0,0,0,.28);
}
body.single-post .elementor-location-single .elementor-blockquote {
  border: 1px solid var(--cp-border) !important;
  border-left: 3px solid var(--cp-orange) !important;
  border-radius: 0 var(--cp-radius) var(--cp-radius) 0 !important;
  background: var(--cp-surface) !important;
}
body.single-post .elementor-location-single .elementor-blockquote__content {
  color: var(--cp-text) !important;
  font-family: "Syne", sans-serif !important;
  font-size: clamp(1.05rem, 1.5vw, 1.35rem) !important;
  line-height: 1.55 !important;
}

@media (max-width: 64rem) {
  body.single-post .elementor-location-single > .e-con:first-child {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
    padding-top: 8rem !important;
  }
  body.single-post .elementor-location-single > .e-con:first-child > .e-con-inner {
    max-width: 46rem !important;
  }
  body.single-post .elementor-location-single > .e-con:first-child::after {
    min-height: clamp(22rem, 62vw, 34rem);
  }
}
@media (max-width: 48rem) {
  body.single-post {
    --cp-article-shell: calc(100% - 2rem);
    --cp-article-space: 4rem;
  }
  body.single-post :is(.elementor-location-single, .elementor[data-elementor-type="wp-post"]) h1 {
    font-size: clamp(1.85rem, 8vw, 2.4rem) !important;
    line-height: 1.02 !important;
  }
  body.single-post :is(.elementor-location-single, .elementor[data-elementor-type="wp-post"]) h2 {
    font-size: clamp(1.5rem, 6.4vw, 2.1rem) !important;
  }
  body.single-post .elementor-location-single > .e-con:first-child {
    width: var(--cp-article-shell) !important;
    padding: 7rem 0 3rem !important;
    gap: 2.25rem;
  }
  body.single-post .elementor-location-single > .e-con:first-child::after {
    min-height: 11.5rem;
    border-radius: 1rem;
  }
  body.single-post .elementor-location-single .elementor-widget-theme-post-content > .elementor-widget-container > .elementor > .e-con {
    width: var(--cp-article-shell) !important;
    padding-block: 3.25rem !important;
  }
}


/* Elementor v4 single-post content wrapper */
body.single-post .elementor-location-single .elementor-widget-theme-post-content > .elementor > .e-con {
  width: var(--cp-article-shell) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-block: clamp(2.5rem, 5vw, 5rem) !important;
  border-top: 1px solid var(--cp-border);
  background: transparent !important;
}
body.single-post .elementor-location-single .elementor-widget-theme-post-content > .elementor > .e-con:first-child:has(.elementor-widget-image) {
  display: none !important;
}
@media (max-width: 48rem) {
  body.single-post .elementor-location-single .elementor-widget-theme-post-content > .elementor > .e-con {
    width: var(--cp-article-shell) !important;
    padding-block: 3.25rem !important;
  }
}


/* Single article hero: configuration 2 on every Elementor article */
body.single-post .elementor[data-elementor-type="wp-post"] > .e-con:first-child > .e-con.e-grid-base:first-child {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}
body.single-post .elementor[data-elementor-type="wp-post"] > .e-con:first-child > .e-con.e-grid-base:first-child > .e-con {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}
@media (max-width: 64rem) {
  body.single-post .elementor[data-elementor-type="wp-post"] > .e-con:first-child > .e-con.e-grid-base:first-child {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
  }
}


/* Combined article ending: match the reference split layout */
body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child) {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: auto !important;
  column-gap: 1.25rem !important;
  row-gap: 1.25rem !important;
  padding: 3rem 1.5vw !important;
  background: transparent !important;
}
body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child)::after {
  content: "";
  position: relative !important;
  inset: auto !important;
  z-index: 0;
  display: block !important;
  grid-column: 1 / -1;
  grid-row: 3 / 6;
  width: auto !important;
  height: auto !important;
  margin: -3rem 0;
  background: linear-gradient(135deg, rgba(255, 157, 0, .08), #111419);
}
body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child) > * {
  position: relative;
  z-index: 1;
  min-width: 0;
}
body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child) > h3 {
  grid-column: 1 / -1;
  grid-row: 1;
}
body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child) > .e-con:last-child {
  grid-column: 1 / -1;
  grid-row: 2;
  margin-bottom: 4.625rem !important;
}
body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child) > .coprod-eyebrow {
  grid-column: 1 / -1;
  grid-row: 3;
}
body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child) > h2 {
  grid-column: 1 / -1;
  grid-row: 4;
}
body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child) > p:not(.coprod-eyebrow) {
  grid-column: 1;
  grid-row: 5;
  align-self: center;
}
body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child) > a.coprod-button {
  grid-column: 2;
  grid-row: 5;
  align-self: center;
  justify-self: center;
  width: min(100%, 18rem) !important;
}
@media (max-width: 48rem) {
  body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child) {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 3rem 1rem !important;
  }
  body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child)::after {
    grid-column: 1;
    grid-row: 3 / 7;
  }
  body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child) > p:not(.coprod-eyebrow) {
    grid-column: 1;
    grid-row: 5;
  }
  body.single-post .elementor[data-elementor-type="wp-post"] > .e-con.coprod-prestations-section:has(> .coprod-eyebrow):has(> h2):has(> h3):has(> .e-con:last-child) > a.coprod-button {
    grid-column: 1;
    grid-row: 6;
    justify-self: stretch;
    width: 100% !important;
  }
}
