:root {
  --ce-primary: #292c82;
  --ce-primary-dark: #17195a;
  --ce-orange: #f5820b;
  --ce-orange-dark: #ef3f12;
  --ce-green: #00a36c;
  --ce-cyan: #009dcc;
  --ce-yellow: #ffd21f;
  --ce-dark: #45484f;
  --ce-black: #171717;
  --ce-light: #f1f1f1;
  --ce-white: #fff;
  --ce-border: rgba(23, 25, 90, .14);
  --ce-shadow: 0 12px 32px rgba(23, 25, 90, .12);
  --ce-radius: 10px;
  --ce-font-title: 'Bubblegum Sans', 'Atma', 'Trebuchet MS', system-ui, sans-serif;
  --ce-font-body: 'Nunito', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.ce-top-logout {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9998;
    width: 100%;
    height: 24px;
    line-height: 20px;
    text-align: left;
    pointer-events: none;
}

.admin-bar .ce-top-logout {
    top: 32px;
}

.ce-top-logout a {
    display: inline-block;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    pointer-events: auto;
    padding: 2px 12px;
}

.ce-top-logout a:hover {
    text-decoration: underline;
}

/* Logo CE Enersys : descend légèrement le logo dans le header */
.ct-header [data-id="logo"],
#header [data-id="logo"] {
    position: relative;
    top: 35px;
    z-index: 5;
}

/* Sécurité mobile */
@media (max-width: 768px) {
    .ct-header [data-id="logo"],
    #header [data-id="logo"] {
        top: 0;
    }
}

html { scroll-behavior: smooth; }

body.ceenersys-site {
  font-family: var(--ce-font-body);
  color: #1f2430;
  background: #fff;
}

body.ceenersys-site h1,
body.ceenersys-site h2,
body.ceenersys-site h3,
body.ceenersys-site h4,
body.ceenersys-site h5,
body.ceenersys-site h6,
body.ceenersys-site .entry-title,
body.ceenersys-site .page-title,
body.ceenersys-site .ct-title {
  font-family: var(--ce-font-title);
  color: var(--ce-primary-dark);
  letter-spacing: .01em;
}

body.ceenersys-site p { line-height: 1.7; }
body.ceenersys-site img { max-width: 100%; height: auto; }

/* -------------------------------------------------------------------------
   Blocksy header, but visually close to the old CE site
   ------------------------------------------------------------------------- */
body.ceenersys-site .ct-header {
  position: relative;
  z-index: 50;
  background: #fff;
}

body.ceenersys-site .ct-header::before {
  content: '';
  display: block;
  height: 34px;
  background: var(--ce-orange);
  border-bottom-left-radius: 50% 10px;
  border-bottom-right-radius: 50% 10px;
  box-shadow: inset 0 -3px 0 rgba(255,255,255,.28);
}

body.admin-bar.ceenersys-site .ct-header::before { min-height: 0; }

body.ceenersys-site .ct-header [data-row*='middle'],
body.ceenersys-site .ct-header [data-row*='bottom'] {
  background: #fff;
  box-shadow: none;
}

body.ceenersys-site .site-logo-container img,
body.ceenersys-site [data-id='logo'] img {
  max-height: 118px;
  width: auto;
  object-fit: contain;
  filter: drop-shadow(6px 8px 3px rgba(0,0,0,.28));
}

body.ceenersys-site [data-id='menu'] > ul,
body.ceenersys-site [data-id='menu-secondary'] > ul {
  align-items: end;
  gap: 0;
}

body.ceenersys-site [data-id='menu'] > ul > li,
body.ceenersys-site [data-id='menu-secondary'] > ul > li {
  margin-inline: 0 !important;
}

body.ceenersys-site [data-id='menu'] > ul > li > a,
body.ceenersys-site [data-id='menu-secondary'] > ul > li > a {
  min-height: 72px;
  padding: 0 22px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ce-font-title);
  font-size: clamp(1.02rem, 1.05vw, 1.25rem);
  font-weight: 700;
  color: #fff !important;
  text-transform: none;
  border-radius: 10px 10px 0 0;
  transform: skew(-4deg) translateY(0);
  transition: transform .18s ease, filter .18s ease;
}

body.ceenersys-site [data-id='menu'] > ul > li > a > span,
body.ceenersys-site [data-id='menu-secondary'] > ul > li > a > span {
  transform: skew(4deg);
}

body.ceenersys-site [data-id='menu'] > ul > li:nth-child(1) > a { background: var(--ce-dark); }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(2) > a { background: var(--ce-orange-dark); }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(3) > a { background: var(--ce-green); }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(4) > a { background: var(--ce-orange-dark); }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(5) > a { background: var(--ce-cyan); }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(6) > a { background: var(--ce-dark); }

body.ceenersys-site [data-id='menu'] > ul > li:hover > a,
body.ceenersys-site [data-id='menu'] > ul > li.current-menu-item > a,
body.ceenersys-site [data-id='menu'] > ul > li.current-menu-ancestor > a {
  transform: skew(-4deg) translateY(-6px);
  filter: saturate(1.08) brightness(1.03);
}

body.ceenersys-site .ct-header .sub-menu {
  border: 0;
  border-radius: 0 0 14px 14px;
  overflow: hidden;
  box-shadow: 0 15px 35px rgba(0,0,0,.18);
}

body.ceenersys-site .ct-header .sub-menu a {
  font-family: var(--ce-font-title);
  font-size: 1rem;
}

body.ceenersys-site .ct-header .ct-search-trigger,
body.ceenersys-site .ct-header [data-id='search'] {
  color: var(--ce-primary-dark);
}

body.ceenersys-site .mobile-menu a {
  font-family: var(--ce-font-title);
}

/* Useful when a top row is created in Blocksy for account/logout links. */
.ce-account-link,
body.ceenersys-site .ct-header a[href*='logout'],
body.ceenersys-site .ct-header a[href*='deconnexion'] {
  font-weight: 700;
  text-decoration: none;
}

/* -------------------------------------------------------------------------
   Blocksy title/breadcrumb areas
   ------------------------------------------------------------------------- */
body.ceenersys-site .hero-section,
body.ceenersys-site [data-prefix] .hero-section {
  background: #eee !important;
  border: 0;
  min-height: auto;
  padding-block: 22px;
}

body.ceenersys-site .hero-section .page-title,
body.ceenersys-site .hero-section .entry-title {
  font-size: clamp(1.8rem, 3.2vw, 3rem);
}

body.ceenersys-site .ct-breadcrumbs,
body.ceenersys-site .breadcrumbs {
  font-family: var(--ce-font-title);
  color: #1e2430;
  font-size: 1.1rem;
  font-weight: 700;
}

/* -------------------------------------------------------------------------
   General Gutenberg/Spectra blocks
   ------------------------------------------------------------------------- */
.ce-hero,
.wp-block-cover.ce-hero,
.wp-block-group.ce-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, var(--ce-primary) 0%, #36549c 48%, var(--ce-cyan) 100%);
  border-radius: 0;
  padding: clamp(42px, 7vw, 90px) clamp(22px, 5vw, 70px);
}

.ce-hero h1,
.ce-hero h2,
.ce-hero h3,
.ce-hero p,
.wp-block-cover.ce-hero h1,
.wp-block-cover.ce-hero h2,
.wp-block-cover.ce-hero p {
  color: #fff;
}

.ce-hero h1,
.ce-hero h2 {
  font-size: clamp(2.6rem, 6vw, 5.6rem);
  line-height: .96;
  text-shadow: 0 8px 18px rgba(0,0,0,.18);
}

.ce-hero::before {
  content: '';
  position: absolute;
  right: -125px;
  bottom: -190px;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: var(--ce-orange);
  opacity: .95;
  z-index: 0;
}

.ce-hero > * { position: relative; z-index: 1; }

.ce-section,
.wp-block-group.ce-section { padding-block: clamp(42px, 6vw, 82px); }

.ce-section-title,
.wp-block-heading.ce-section-title {
  display: inline-block;
  position: relative;
  font-size: clamp(2.2rem, 4vw, 4rem);
  margin-bottom: 28px;
}

.ce-section-title::after,
.wp-block-heading.ce-section-title::after {
  content: '';
  display: block;
  width: 90px;
  height: 7px;
  margin-top: 10px;
  background: linear-gradient(90deg, var(--ce-primary), var(--ce-orange), var(--ce-yellow));
  border-radius: 999px;
}

.ce-card,
.wp-block-group.ce-card,
.wp-block-column.ce-card,
.uagb-container.ce-card {
  background: #fff;
  border: 1px solid var(--ce-border);
  border-radius: var(--ce-radius);
  box-shadow: var(--ce-shadow);
  padding: clamp(22px, 3vw, 36px);
}

body.ceenersys-site .wp-block-button__link,
body.ceenersys-site input[type='submit'],
body.ceenersys-site button:not(.components-button):not(.ct-button):not(.ct-header-trigger) {
  border-radius: 999px;
  border: 0;
  background: linear-gradient(135deg, var(--ce-orange-dark), var(--ce-orange));
  color: #fff;
  font-family: var(--ce-font-title);
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(239, 63, 18, .22);
}

/* -------------------------------------------------------------------------
   Category sections and archive cards, close to old visual cards
   ------------------------------------------------------------------------- */
.ce-category-section { margin-block: 48px; }
.ce-category-header { margin-bottom: 26px; }
.ce-section-lead { max-width: 760px; font-size: 1.08rem; }

.ce-post-grid,
body.ceenersys-site .entries[data-layout*='grid'],
body.ceenersys-site .ct-posts-container[data-layout*='grid'] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
}

.ce-post-card,
body.ceenersys-site .entry-card,
body.ceenersys-site article[data-card] {
  overflow: hidden;
  background: #fff;
  border-radius: 4px;
  border: 0;
  box-shadow: none;
}

.ce-post-card-link { display: block; color: inherit; text-decoration: none; }

.ce-post-card-media,
body.ceenersys-site .entry-card .ct-media-container,
body.ceenersys-site .entry-card .boundless-image {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e7e7e7;
}

.ce-post-card-media img,
body.ceenersys-site .entry-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  transition: transform .25s ease;
}

.ce-post-card:hover img,
body.ceenersys-site .entry-card:hover img { transform: scale(1.035); }

.ce-post-card-content,
body.ceenersys-site .entry-card .card-content {
  min-height: 120px;
  padding: 18px 20px 22px;
  text-align: center;
  background: var(--ce-dark);
  color: #fff;
}

.ce-post-card h3,
body.ceenersys-site .entry-card .entry-title,
body.ceenersys-site .entry-card .entry-title a {
  margin: 0 0 12px;
  color: #fff;
  font-family: var(--ce-font-title);
  font-size: clamp(1.25rem, 1.8vw, 1.7rem);
  line-height: 1.15;
  text-decoration: none;
}

.ce-post-card-kicker,
.ce-post-card-more,
body.ceenersys-site .entry-card .entry-meta {
  color: var(--ce-orange) !important;
  font-family: var(--ce-font-title);
  font-size: 1.25rem;
  font-weight: 700;
}

.ce-post-card p,
body.ceenersys-site .entry-card .entry-excerpt { color: rgba(255,255,255,.92); }

.ce-post-card-placeholder {
  display: grid;
  place-items: center;
  height: 100%;
  font-family: var(--ce-font-title);
  font-size: 5rem;
  color: var(--ce-primary);
  background: #f2f2f2;
}

.ce-empty-state {
  padding: 28px;
  background: #f7f7f7;
  border-left: 6px solid var(--ce-orange);
}

.ce-category-card {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 22px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--ce-border);
  color: var(--ce-primary-dark);
  text-decoration: none;
  box-shadow: var(--ce-shadow);
}

.ce-category-card span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: var(--ce-primary);
  color: #fff;
  font-family: var(--ce-font-title);
  font-size: 1.6rem;
}

.ce-category-card strong { font-family: var(--ce-font-title); font-size: 1.65rem; }
.ce-category-card em { font-style: normal; color: #5b6270; }

.ce-category-card-orange span { background: var(--ce-orange-dark); }
.ce-category-card-green span { background: var(--ce-green); }
.ce-category-card-cyan span { background: var(--ce-cyan); }
.ce-category-card-dark span { background: var(--ce-dark); }

/* -------------------------------------------------------------------------
   Legacy WPBakery compatibility layer
   ------------------------------------------------------------------------- */
.ce-legacy-row {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  margin-block: 24px;
}
.ce-legacy-column { flex: 1 1 100%; min-width: 0; }
.ce-col-2 { flex-basis: calc(16.666% - 26px); }
.ce-col-3 { flex-basis: calc(25% - 26px); }
.ce-col-4 { flex-basis: calc(33.333% - 26px); }
.ce-col-6 { flex-basis: calc(50% - 26px); }
.ce-col-8 { flex-basis: calc(66.666% - 26px); }
.ce-col-9 { flex-basis: calc(75% - 26px); }
.ce-col-10 { flex-basis: calc(83.333% - 26px); }
.ce-col-12 { flex-basis: 100%; }

.ce-legacy-text,
.ce-legacy-section,
.ce-legacy-toggle,
.ce-notice {
  margin-block: 20px;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--ce-border);
  border-radius: var(--ce-radius);
  box-shadow: 0 6px 18px rgba(23, 25, 90, .07);
}
.ce-legacy-section-title { margin-top: 0; }
.ce-legacy-separator { border: 0; height: 2px; background: #ececf4; margin: 30px 0; }
.ce-legacy-button { display: inline-block; padding: 10px 18px; border-radius: 999px; background: var(--ce-orange); color: #fff; text-decoration: none; font-family: var(--ce-font-title); }
.ce-legacy-image img { display: block; border-radius: 0; }
.ce-notice-info { border-left: 6px solid var(--ce-cyan); }
.ce-notice-warning { border-left: 6px solid var(--ce-orange); }

/* -------------------------------------------------------------------------
   Forms, MailPoet, Theme My Login
   ------------------------------------------------------------------------- */
.tml,
.mailpoet_form,
.wpcf7 form {
  max-width: 760px;
  padding: clamp(22px, 4vw, 38px);
  background: #fff;
  border: 1px solid var(--ce-border);
  border-radius: 14px;
  box-shadow: var(--ce-shadow);
}

.tml label,
.mailpoet_form label,
.wpcf7 label { font-weight: 800; color: var(--ce-primary-dark); }

.tml input[type='text'],
.tml input[type='password'],
.tml input[type='email'],
.mailpoet_form input,
.wpcf7 input,
.wpcf7 textarea {
  width: 100%;
  min-height: 46px;
  border-radius: 4px;
  border: 1px solid var(--ce-border);
}

/* -------------------------------------------------------------------------
   Blocksy footer, content stays editable in widgets/customizer
   ------------------------------------------------------------------------- */
body.ceenersys-site .ct-footer,
body.ceenersys-site footer.ct-footer {
  position: relative;
  margin-top: 70px;
  background: var(--ce-black);
  color: #fff;
}

body.ceenersys-site .ct-footer::after {
  content: '';
  display: block;
  height: 42px;
  background: var(--ce-orange);
  border-top-left-radius: 50% 9px;
  border-top-right-radius: 50% 9px;
}

body.ceenersys-site .ct-footer h1,
body.ceenersys-site .ct-footer h2,
body.ceenersys-site .ct-footer h3,
body.ceenersys-site .ct-footer h4,
body.ceenersys-site .ct-footer .widget-title {
  color: #fff;
  font-family: var(--ce-font-title);
}
body.ceenersys-site .ct-footer a { color: #fff; }
body.ceenersys-site .ct-footer p { color: rgba(255,255,255,.92); }

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  body.ceenersys-site [data-id='menu'] > ul > li > a { min-height: 56px; padding-inline: 14px !important; }
  .ce-post-grid,
  body.ceenersys-site .entries[data-layout*='grid'],
  body.ceenersys-site .ct-posts-container[data-layout*='grid'] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 689px) {
  body.ceenersys-site .ct-header::before { height: 18px; }
  body.ceenersys-site .site-logo-container img,
  body.ceenersys-site [data-id='logo'] img { max-height: 72px; filter: none; }
  .ce-post-grid,
  body.ceenersys-site .entries[data-layout*='grid'],
  body.ceenersys-site .ct-posts-container[data-layout*='grid'] { grid-template-columns: 1fr; gap: 24px; }
  .ce-legacy-row { display: block; }
  .ce-legacy-column { margin-bottom: 22px; }
}

/* -------------------------------------------------------------------------
   v1.1.1 - Footer legacy Enersys, content stored in WP widgets/Blocksy
   ------------------------------------------------------------------------- */
body.ceenersys-site .ct-footer,
body.ceenersys-site footer.ct-footer {
  margin-top: 70px;
  background: #171717 !important;
  color: #fff;
}

body.ceenersys-site .ct-footer::after {
  display: none !important;
  content: none !important;
}

body.ceenersys-site .ct-footer [data-id="copyright"],
body.ceenersys-site .ct-footer .ct-footer-copyright,
body.ceenersys-site .ct-footer .ct-footer-bottom,
body.ceenersys-site .ct-footer [data-row="bottom"] {
  display: none !important;
}

body.ceenersys-site .ct-footer .ct-container,
body.ceenersys-site .ct-footer .ct-footer-widgets,
body.ceenersys-site .ct-footer [data-row],
body.ceenersys-site .ct-footer [data-column] {
  max-width: none;
}

body.ceenersys-site .ce-footer-legacy {
  width: 100%;
  margin: 0;
  padding: 0;
  background: #171717;
  color: #fff;
}

body.ceenersys-site .ce-footer-legacy-columns,
body.ceenersys-site .wp-block-columns.ce-footer-legacy-columns {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto !important;
  padding: clamp(58px, 6vw, 92px) 0 clamp(68px, 6vw, 94px);
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(34px, 5vw, 90px);
  align-items: start;
  text-align: center;
}

body.ceenersys-site .ce-footer-legacy .wp-block-column {
  margin: 0 !important;
}

body.ceenersys-site .ce-footer-legacy h2,
body.ceenersys-site .ce-footer-legacy h3,
body.ceenersys-site .ce-footer-legacy .wp-block-heading {
  margin: 0 0 28px;
  color: #fff !important;
  font-family: var(--ce-font-title);
  font-size: clamp(1.7rem, 2.2vw, 2.35rem);
  line-height: 1.1;
}

body.ceenersys-site .ce-footer-legacy p {
  margin: 0 0 18px;
  color: #fff !important;
  font-family: var(--ce-font-body);
  font-size: clamp(1rem, 1.15vw, 1.18rem);
  line-height: 1.45;
}

body.ceenersys-site .ce-footer-legacy strong {
  font-weight: 900;
}

body.ceenersys-site .ce-footer-legacy a {
  color: #fff !important;
  font-weight: 900;
  text-decoration: none;
}

body.ceenersys-site .ce-footer-legacy-orange {
  position: relative;
  width: 100%;
  min-height: 95px;
  margin: 0 !important;
  padding: 36px 0 24px;
  background: var(--ce-orange);
  color: #fff;
  overflow: hidden;
}

body.ceenersys-site .ce-footer-legacy-orange::before {
  content: '';
  position: absolute;
  left: -3%;
  top: -16px;
  width: 106%;
  height: 34px;
  background: #171717;
  border-bottom-left-radius: 50% 14px;
  border-bottom-right-radius: 50% 14px;
}

body.ceenersys-site .ce-footer-legacy-orange p {
  position: relative;
  z-index: 1;
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
  color: #fff !important;
  text-align: left;
}

/* Hide the old generic widgets if a previous patch left them active somewhere. */
body.ceenersys-site .ct-footer .widget_block:has(.wp-block-heading:first-child:last-child) {
  display: none;
}

@media (max-width: 782px) {
  body.ceenersys-site .ce-footer-legacy-columns,
  body.ceenersys-site .wp-block-columns.ce-footer-legacy-columns {
    grid-template-columns: 1fr;
    gap: 38px;
    padding-block: 48px 58px;
  }

  body.ceenersys-site .ce-footer-legacy-orange p {
    text-align: center;
  }
}


/* -------------------------------------------------------------------------
   v1.1.2 - Legacy list cards: match the old CE Enersys category listings
   ------------------------------------------------------------------------- */
body.ceenersys-site .ce-category-section-legacy {
  margin-block: 52px;
}

body.ceenersys-site .ce-post-grid-legacy {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
  align-items: stretch;
}

body.ceenersys-site .ce-post-card-legacy {
  overflow: hidden;
  border: 0 !important;
  border-radius: 4px;
  background: var(--ce-dark);
  box-shadow: none !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: #fff;
  text-decoration: none !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-media {
  display: block;
  width: 100%;
  height: clamp(270px, 21vw, 355px);
  min-height: 270px;
  aspect-ratio: auto !important;
  overflow: hidden;
  background: #e7e7e7;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-media img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center;
  border-radius: 0 !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 122px;
  padding: 14px 20px 24px;
  text-align: center;
  background: var(--ce-dark) !important;
  color: #fff !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-content h3,
body.ceenersys-site .ce-post-card-legacy .ce-post-card-content h3 a {
  margin: 0 0 18px !important;
  color: #fff !important;
  font-family: var(--ce-font-title) !important;
  font-size: clamp(1.22rem, 1.55vw, 1.55rem) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-decoration: none !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-period {
  display: block;
  color: var(--ce-orange) !important;
  font-family: var(--ce-font-title) !important;
  font-size: clamp(1.22rem, 1.45vw, 1.5rem) !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

/* Safety for old cached markup: hide publication date, excerpt and detail link. */
body.ceenersys-site .ce-post-card-legacy .ce-post-card-kicker,
body.ceenersys-site .ce-post-card-legacy .ce-post-card-more,
body.ceenersys-site .ce-post-card-legacy .ce-post-card-content p {
  display: none !important;
}

@media (max-width: 999px) {
  body.ceenersys-site .ce-post-grid-legacy { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ceenersys-site .ce-post-card-legacy .ce-post-card-media { height: 300px; }
}

@media (max-width: 689px) {
  body.ceenersys-site .ce-post-grid-legacy { grid-template-columns: 1fr; }
  body.ceenersys-site .ce-post-card-legacy .ce-post-card-media { height: 260px; }
}

/* -------------------------------------------------------------------------
   v1.1.3 - Compact legacy typography + Blocksy managed 3-column footer
   ------------------------------------------------------------------------- */
body.ceenersys-site {
  font-size: 15px;
}

body.ceenersys-site p,
body.ceenersys-site li,
body.ceenersys-site .entry-content {
  font-size: 1rem;
}

body.ceenersys-site h1,
body.ceenersys-site .entry-title,
body.ceenersys-site .page-title {
  font-size: clamp(2rem, 3.1vw, 3rem);
}

body.ceenersys-site h2,
body.ceenersys-site .ce-section-title,
body.ceenersys-site .wp-block-heading.ce-section-title {
  font-size: clamp(1.65rem, 2.7vw, 2.6rem);
}

body.ceenersys-site h3 {
  font-size: clamp(1.25rem, 1.7vw, 1.65rem);
}

body.ceenersys-site [data-id='menu'] > ul > li > a,
body.ceenersys-site [data-id='menu-secondary'] > ul > li > a {
  font-size: clamp(.92rem, .98vw, 1.12rem);
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-content h3,
body.ceenersys-site .ce-post-card-legacy .ce-post-card-content h3 a {
  font-size: clamp(1rem, 1.22vw, 1.25rem) !important;
  margin-bottom: 13px !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-period {
  font-size: clamp(1.02rem, 1.18vw, 1.22rem) !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-content {
  min-height: 100px;
  padding: 12px 18px 19px;
}

/* New footer structure: 3 editable Blocksy widget areas + 1 full-width orange bottom row. */
body.ceenersys-site .ct-footer,
body.ceenersys-site footer.ct-footer {
  margin-top: 70px;
  background: #171717 !important;
  color: #fff;
}

body.ceenersys-site .ct-footer [data-row="middle"] {
  background: #171717 !important;
}

body.ceenersys-site .ct-footer [data-row="middle"] .ct-container,
body.ceenersys-site .ct-footer [data-row="middle"] .ct-container-fluid {
  width: min(1240px, calc(100% - 48px)) !important;
  max-width: min(1240px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  padding: clamp(54px, 5.5vw, 82px) 0 clamp(58px, 5.5vw, 84px) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(30px, 4.5vw, 74px);
  align-items: start;
}

body.ceenersys-site .ct-footer [data-row="middle"] [data-column],
body.ceenersys-site .ct-footer [data-row="middle"] .ct-widget,
body.ceenersys-site .ct-footer [data-row="middle"] .widget,
body.ceenersys-site .ct-footer [data-row="middle"] .widget_block {
  width: 100%;
  margin: 0 !important;
  text-align: center;
}

body.ceenersys-site .ce-footer-column,
body.ceenersys-site .ct-footer [data-row="middle"] .wp-block-group {
  text-align: center;
}

body.ceenersys-site .ce-footer-column h3,
body.ceenersys-site .ct-footer [data-row="middle"] h2,
body.ceenersys-site .ct-footer [data-row="middle"] h3,
body.ceenersys-site .ct-footer [data-row="middle"] .wp-block-heading {
  margin: 0 0 22px !important;
  color: #fff !important;
  font-family: var(--ce-font-title) !important;
  font-size: clamp(1.25rem, 1.45vw, 1.62rem) !important;
  line-height: 1.12 !important;
}

body.ceenersys-site .ce-footer-column p,
body.ceenersys-site .ct-footer [data-row="middle"] p {
  margin: 0 0 14px !important;
  color: #fff !important;
  font-size: clamp(.92rem, .98vw, 1rem) !important;
  line-height: 1.42 !important;
}

body.ceenersys-site .ct-footer [data-row="middle"] strong,
body.ceenersys-site .ct-footer [data-row="middle"] a {
  color: #fff !important;
  font-weight: 900;
  text-decoration: none;
}

body.ceenersys-site .ct-footer [data-row="bottom"] {
  position: relative;
  min-height: 94px;
  background: var(--ce-orange) !important;
  overflow: hidden;
}

body.ceenersys-site .ct-footer [data-row="bottom"]::before {
  content: '';
  position: absolute;
  left: -3%;
  top: -17px;
  width: 106%;
  height: 34px;
  background: #171717;
  border-bottom-left-radius: 50% 14px;
  border-bottom-right-radius: 50% 14px;
  z-index: 1;
}

body.ceenersys-site .ct-footer [data-row="bottom"] .ct-container,
body.ceenersys-site .ct-footer [data-row="bottom"] .ct-container-fluid {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.ceenersys-site .ct-footer [data-row="bottom"] [data-column],
body.ceenersys-site .ct-footer [data-row="bottom"] .ct-widget,
body.ceenersys-site .ct-footer [data-row="bottom"] .widget,
body.ceenersys-site .ct-footer [data-row="bottom"] .widget_block {
  width: 100%;
  margin: 0 !important;
}

body.ceenersys-site .ce-footer-orange-inner {
  position: relative;
  z-index: 2;
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto !important;
  padding: 34px 0 22px !important;
  background: transparent !important;
}

body.ceenersys-site .ce-footer-orange-inner p {
  margin: 0 !important;
  color: #fff !important;
  text-align: left;
  font-size: .95rem !important;
}

/* If an older one-widget footer remains for a moment, keep it compact. */
body.ceenersys-site .ce-footer-legacy-columns,
body.ceenersys-site .wp-block-columns.ce-footer-legacy-columns {
  padding: clamp(54px, 5.5vw, 82px) 0 clamp(58px, 5.5vw, 84px) !important;
}

body.ceenersys-site .ce-footer-legacy h2,
body.ceenersys-site .ce-footer-legacy h3,
body.ceenersys-site .ce-footer-legacy .wp-block-heading {
  font-size: clamp(1.25rem, 1.45vw, 1.62rem) !important;
}

body.ceenersys-site .ce-footer-legacy p {
  font-size: clamp(.92rem, .98vw, 1rem) !important;
}

@media (max-width: 782px) {
  body.ceenersys-site { font-size: 14.5px; }

  body.ceenersys-site .ct-footer [data-row="middle"] .ct-container,
  body.ceenersys-site .ct-footer [data-row="middle"] .ct-container-fluid {
    grid-template-columns: 1fr;
    gap: 34px;
    width: min(100% - 34px, 520px) !important;
    max-width: min(100% - 34px, 520px) !important;
    padding-block: 44px 54px !important;
  }

  body.ceenersys-site .ct-footer [data-row="middle"] h2,
  body.ceenersys-site .ct-footer [data-row="middle"] h3,
  body.ceenersys-site .ct-footer [data-row="middle"] .wp-block-heading {
    font-size: 1.42rem !important;
  }

  body.ceenersys-site .ce-footer-orange-inner {
    width: min(100% - 34px, 520px);
    padding-block: 32px 24px !important;
  }

  body.ceenersys-site .ce-footer-orange-inner p {
    text-align: center;
  }
}


/* -------------------------------------------------------------------------
   v1.1.4 - Footer orange restore + finer legacy typography
   ------------------------------------------------------------------------- */
body.ceenersys-site {
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body.ceenersys-site h1,
body.ceenersys-site h2,
body.ceenersys-site h3,
body.ceenersys-site h4,
body.ceenersys-site h5,
body.ceenersys-site h6,
body.ceenersys-site .entry-title,
body.ceenersys-site .page-title,
body.ceenersys-site .ct-title,
body.ceenersys-site [data-id='menu'] > ul > li > a,
body.ceenersys-site [data-id='menu-secondary'] > ul > li > a,
body.ceenersys-site .ce-post-card-legacy .ce-post-card-content h3,
body.ceenersys-site .ce-post-card-legacy .ce-post-card-period,
body.ceenersys-site .ct-footer [data-row='middle'] h2,
body.ceenersys-site .ct-footer [data-row='middle'] h3,
body.ceenersys-site .ct-footer [data-row='middle'] .wp-block-heading {
  font-weight: 400 !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: geometricPrecision;
}

/* Cartes listes : plus proche de l'ancien, moins gras, moins gros. */
body.ceenersys-site .ce-post-grid-legacy {
  gap: 30px !important;
}

body.ceenersys-site .ce-post-card-legacy {
  border-radius: 4px !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-media {
  height: clamp(250px, 20vw, 330px) !important;
  min-height: 245px !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-content {
  min-height: 92px !important;
  padding: 11px 16px 17px !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-content h3,
body.ceenersys-site .ce-post-card-legacy .ce-post-card-content h3 a {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: clamp(.88rem, 1.02vw, 1.04rem) !important;
  line-height: 1.12 !important;
  letter-spacing: .005em !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-period {
  color: var(--ce-orange) !important;
  font-size: clamp(.92rem, 1.08vw, 1.08rem) !important;
  line-height: 1.1 !important;
  letter-spacing: .004em !important;
}

/* Footer : la règle v1.1.1 masquait le bottom-row ; on le réactive explicitement. */
body.ceenersys-site .ct-footer [data-row='bottom'],
body.ceenersys-site footer.ct-footer [data-row='bottom'] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  min-height: 86px !important;
  background: var(--ce-orange) !important;
  overflow: hidden !important;
}

body.ceenersys-site .ct-footer [data-row='bottom']::before,
body.ceenersys-site footer.ct-footer [data-row='bottom']::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: -3vw !important;
  top: -18px !important;
  width: 106vw !important;
  height: 34px !important;
  background: #171717 !important;
  border-bottom-left-radius: 50% 13px !important;
  border-bottom-right-radius: 50% 13px !important;
  z-index: 1 !important;
}

body.ceenersys-site .ct-footer [data-row='bottom'] .ct-container,
body.ceenersys-site .ct-footer [data-row='bottom'] .ct-container-fluid {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ceenersys-site .ct-footer [data-row='bottom'] [data-column],
body.ceenersys-site .ct-footer [data-row='bottom'] .ct-widget,
body.ceenersys-site .ct-footer [data-row='bottom'] .widget,
body.ceenersys-site .ct-footer [data-row='bottom'] .widget_block {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.ceenersys-site .ce-footer-orange-inner {
  position: relative !important;
  z-index: 2 !important;
  width: min(1240px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  padding: 32px 0 20px !important;
  background: transparent !important;
}

body.ceenersys-site .ce-footer-orange-inner p {
  margin: 0 !important;
  color: #fff !important;
  font-size: .86rem !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

body.ceenersys-site .ct-footer [data-row='middle'] .ct-container,
body.ceenersys-site .ct-footer [data-row='middle'] .ct-container-fluid {
  padding-top: clamp(48px, 5vw, 72px) !important;
  padding-bottom: clamp(52px, 5vw, 78px) !important;
}

body.ceenersys-site .ce-footer-column h3,
body.ceenersys-site .ct-footer [data-row='middle'] h2,
body.ceenersys-site .ct-footer [data-row='middle'] h3,
body.ceenersys-site .ct-footer [data-row='middle'] .wp-block-heading {
  margin-bottom: 19px !important;
  font-size: clamp(1.08rem, 1.18vw, 1.32rem) !important;
  line-height: 1.14 !important;
}

body.ceenersys-site .ce-footer-column p,
body.ceenersys-site .ct-footer [data-row='middle'] p {
  font-size: clamp(.84rem, .9vw, .94rem) !important;
  line-height: 1.42 !important;
}

@media (max-width: 999px) {
  body.ceenersys-site .ce-post-card-legacy .ce-post-card-media {
    height: 285px !important;
  }
}

@media (max-width: 782px) {
  body.ceenersys-site { font-size: 13.8px; }

  body.ceenersys-site .ct-footer [data-row='bottom'],
  body.ceenersys-site footer.ct-footer [data-row='bottom'] {
    min-height: 78px !important;
  }

  body.ceenersys-site .ce-footer-orange-inner {
    width: min(100% - 34px, 520px) !important;
    padding: 30px 0 20px !important;
  }

  body.ceenersys-site .ce-footer-orange-inner p {
    text-align: center !important;
  }
}

@media (max-width: 689px) {
  body.ceenersys-site .ce-post-card-legacy .ce-post-card-media {
    height: 245px !important;
    min-height: 245px !important;
  }

  body.ceenersys-site .ce-post-card-legacy .ce-post-card-content h3,
  body.ceenersys-site .ce-post-card-legacy .ce-post-card-content h3 a {
    font-size: 1rem !important;
  }

  body.ceenersys-site .ce-post-card-legacy .ce-post-card-period {
    font-size: 1rem !important;
  }
}

/* -------------------------------------------------------------------------
   v1.1.5 - Header legacy + breadcrumb bar + no page titles
   ------------------------------------------------------------------------- */

/* Top orange strip: closer to the old irregular white wave. */
body.ceenersys-site .ct-header::before {
  height: 30px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: var(--ce-orange) !important;
  background-image: linear-gradient(var(--ce-orange), var(--ce-orange));
  background-repeat: no-repeat;
  background-size: 100% 100%;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 42' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0 0H1440V25C1370 24 1340 20 1276 22C1200 24 1170 31 1098 27C1020 23 1000 16 915 20C838 24 810 31 742 27C676 23 650 18 582 22C504 27 478 32 406 27C328 22 310 16 240 21C174 26 142 31 82 26C46 23 25 18 0 23V0Z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 42' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0 0H1440V25C1370 24 1340 20 1276 22C1200 24 1170 31 1098 27C1020 23 1000 16 915 20C838 24 810 31 742 27C676 23 650 18 582 22C504 27 478 32 406 27C328 22 310 16 240 21C174 26 142 31 82 26C46 23 25 18 0 23V0Z'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-size: 100% 100% !important;
  mask-size: 100% 100% !important;
}

/* Header row: keep Blocksy builder, but visually position logo + tabs like the old site. */
body.ceenersys-site .ct-header [data-row='middle'] {
  background: #fff !important;
}

body.ceenersys-site .ct-header [data-row='middle'] .ct-container,
body.ceenersys-site .ct-header [data-row='middle'] .ct-container-fluid {
  min-height: 132px !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 30px !important;
  padding-top: 18px !important;
}

body.ceenersys-site .ct-header [data-row='middle'] [data-column],
body.ceenersys-site .ct-header [data-row='middle'] [data-items] {
  display: flex !important;
  align-items: flex-end !important;
}

body.ceenersys-site .ct-header [data-row='middle'] [data-column='middle'],
body.ceenersys-site .ct-header [data-row='middle'] [data-column='end'] {
  margin-inline: 0 !important;
}

/* Hide textual site title/description; logo remains editable in Blocksy. */
body.ceenersys-site [data-id='logo'] .site-title,
body.ceenersys-site [data-id='logo'] .site-description,
body.ceenersys-site [data-id='logo'] .ct-site-title,
body.ceenersys-site [data-id='logo'] .ct-site-description,
body.ceenersys-site .site-branding .site-title,
body.ceenersys-site .site-branding .site-description {
  display: none !important;
}

body.ceenersys-site .site-logo-container img,
body.ceenersys-site [data-id='logo'] img {
  max-height: 104px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(7px 9px 3px rgba(0,0,0,.28)) !important;
}

body.ceenersys-site [data-id='menu'] > ul,
body.ceenersys-site [data-id='menu-secondary'] > ul {
  align-items: flex-end !important;
  gap: 0 !important;
}

body.ceenersys-site [data-id='menu'] > ul > li > a,
body.ceenersys-site [data-id='menu-secondary'] > ul > li > a {
  --ce-tab-rotate: 0deg;
  min-height: 64px !important;
  min-width: 82px !important;
  padding: 0 18px !important;
  border-radius: 8px 8px 0 0 !important;
  font-size: clamp(.82rem, .9vw, .98rem) !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  transform: skew(-5deg) rotate(var(--ce-tab-rotate)) translateY(0) !important;
  transform-origin: bottom center !important;
  box-shadow: none !important;
}

body.ceenersys-site [data-id='menu'] > ul > li:nth-child(1) > a { --ce-tab-rotate: 0deg; }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(2) > a { --ce-tab-rotate: -4deg; }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(3) > a { --ce-tab-rotate: 3deg; }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(4) > a { --ce-tab-rotate: -2deg; }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(5) > a { --ce-tab-rotate: 2deg; }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(6) > a { --ce-tab-rotate: 3deg; }

body.ceenersys-site [data-id='menu'] > ul > li > a > span,
body.ceenersys-site [data-id='menu-secondary'] > ul > li > a > span {
  transform: skew(5deg) rotate(calc(-1 * var(--ce-tab-rotate))) !important;
}

body.ceenersys-site [data-id='menu'] > ul > li:hover > a,
body.ceenersys-site [data-id='menu'] > ul > li.current-menu-item > a,
body.ceenersys-site [data-id='menu'] > ul > li.current-menu-ancestor > a {
  transform: skew(-5deg) rotate(var(--ce-tab-rotate)) translateY(-4px) !important;
}

body.ceenersys-site .ct-header [data-id='search'] {
  margin-left: 8px !important;
  align-self: center !important;
}

/* Remove native Blocksy page title areas; replaced by the legacy breadcrumb bar below. */
body.ceenersys-site:not(.home):not(.front-page) .hero-section,
body.ceenersys-site:not(.home):not(.front-page) [data-prefix] .hero-section,
body.ceenersys-site:not(.home):not(.front-page) .entry-header,
body.ceenersys-site:not(.home):not(.front-page) .page-title,
body.ceenersys-site:not(.home):not(.front-page) h1.entry-title {
  display: none !important;
}

body.ceenersys-site .ce-legacy-breadcrumb-bar {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: #eeeeee;
  min-height: 78px;
  display: flex;
  align-items: center;
}

body.ceenersys-site .ce-legacy-breadcrumb-inner {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
  color: #111820;
  font-family: var(--ce-font-title);
  font-size: clamp(.96rem, 1vw, 1.08rem);
  line-height: 1;
}

body.ceenersys-site .ce-legacy-breadcrumb-inner a {
  color: #111820 !important;
  text-decoration: none !important;
}

body.ceenersys-site .ce-legacy-breadcrumb-separator {
  display: inline-block;
  margin: 0 10px;
  color: #111820;
}

/* The old listing pages did not show a second title/intro above the cards. */
body.ceenersys-site .ce-category-section-legacy > .ce-category-header {
  display: none !important;
}

/* Slightly smaller and cleaner listing cards. */
body.ceenersys-site .ce-post-grid-legacy {
  max-width: 1180px;
  margin-inline: auto;
  gap: 32px !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-media {
  height: clamp(250px, 19vw, 315px) !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-content {
  min-height: 88px !important;
  padding: 10px 15px 16px !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-content h3,
body.ceenersys-site .ce-post-card-legacy .ce-post-card-content h3 a {
  font-size: clamp(.82rem, .93vw, .96rem) !important;
  margin-bottom: 9px !important;
}

body.ceenersys-site .ce-post-card-legacy .ce-post-card-period {
  font-size: clamp(.86rem, .98vw, 1rem) !important;
}

/* Responsive header: let Blocksy mobile header behave normally. */
@media (max-width: 999px) {
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container-fluid {
    min-height: 94px !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding-top: 10px !important;
  }

  body.ceenersys-site .site-logo-container img,
  body.ceenersys-site [data-id='logo'] img {
    max-height: 78px !important;
  }

  body.ceenersys-site .ct-header::before {
    height: 22px !important;
  }

  body.ceenersys-site .ce-legacy-breadcrumb-bar {
    min-height: 62px;
  }
}

@media (max-width: 689px) {
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container-fluid {
    min-height: 76px !important;
  }

  body.ceenersys-site .site-logo-container img,
  body.ceenersys-site [data-id='logo'] img {
    max-height: 62px !important;
  }

  body.ceenersys-site .ce-legacy-breadcrumb-inner {
    width: min(100% - 34px, 520px);
    font-size: .95rem;
  }

  body.ceenersys-site .ce-post-card-legacy .ce-post-card-media {
    height: 245px !important;
  }
}

/* -------------------------------------------------------------------------
   v1.1.6 - Header legacy refinement: logo higher, clean flat-bottom tabs,
            no tilted text, no search icon.
   ------------------------------------------------------------------------- */

/* Top wave: flatter and closer to the old orange strip. */
body.ceenersys-site .ct-header::before {
  height: 42px !important;
  background: var(--ce-orange) !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 35' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0 0H1440V21C1365 20 1320 17 1260 19C1188 21 1140 25 1065 22C985 19 930 17 850 20C772 23 718 26 640 22C560 18 500 18 418 22C340 25 286 20 210 20C126 20 72 24 0 20V0Z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 35' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M0 0H1440V21C1365 20 1320 17 1260 19C1188 21 1140 25 1065 22C985 19 930 17 850 20C772 23 718 26 640 22C560 18 500 18 418 22C340 25 286 20 210 20C126 20 72 24 0 20V0Z'/%3E%3C/svg%3E") !important;
}

/* Header row: enough height so the breadcrumb starts below the logo/menu. */
body.ceenersys-site .ct-header [data-row='middle'] .ct-container,
body.ceenersys-site .ct-header [data-row='middle'] .ct-container-fluid {
  min-height: 142px !important;
  padding-top: 16px !important;
  padding-bottom: 0 !important;
  align-items: flex-end !important;
  gap: 28px !important;
}

/* Logo moved upward; prevents it from overlapping the grey breadcrumb bar. */
body.ceenersys-site .ct-header [data-id='logo'],
body.ceenersys-site .ct-header .site-branding,
body.ceenersys-site .ct-header .site-logo-container {
  align-self: flex-start !important;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}

body.ceenersys-site .site-logo-container img,
body.ceenersys-site [data-id='logo'] img {
  max-height: 96px !important;
  filter: drop-shadow(7px 9px 3px rgba(0,0,0,.25)) !important;
}

/* Keep the menu lower, but with a clean baseline. */
body.ceenersys-site .ct-header [data-id='menu'],
body.ceenersys-site .ct-header [data-id='menu-secondary'] {
  align-self: flex-end !important;
  margin-bottom: 0 !important;
}

body.ceenersys-site [data-id='menu'] > ul,
body.ceenersys-site [data-id='menu-secondary'] > ul {
  align-items: flex-end !important;
  gap: 0 !important;
  line-height: 1 !important;
}

body.ceenersys-site [data-id='menu'] > ul > li,
body.ceenersys-site [data-id='menu-secondary'] > ul > li {
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  margin: 0 !important;
}

/* Anchor is not transformed anymore, so the label stays perfectly straight. */
body.ceenersys-site [data-id='menu'] > ul > li > a,
body.ceenersys-site [data-id='menu-secondary'] > ul > li > a {
  position: relative !important;
  isolation: isolate !important;
  overflow: visible !important;
  min-height: 64px !important;
  min-width: 86px !important;
  padding: 0 18px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: clamp(.82rem, .9vw, .96rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center !important;
}

/* The tab shape is behind the label. Bottom is flat/aligned; sides/top are playful. */
body.ceenersys-site [data-id='menu'] > ul > li > a::before,
body.ceenersys-site [data-id='menu-secondary'] > ul > li > a::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  border-radius: 8px 8px 0 0 !important;
  background: var(--ce-dark) !important;
  clip-path: polygon(7% 0, 100% 7%, 94% 100%, 0 100%) !important;
  transition: transform .18s ease, filter .18s ease !important;
  transform-origin: bottom center !important;
}

body.ceenersys-site [data-id='menu'] > ul > li:nth-child(1) > a::before { background: var(--ce-dark) !important; clip-path: polygon(6% 0, 100% 3%, 94% 100%, 0 100%) !important; }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(2) > a::before { background: var(--ce-orange-dark) !important; clip-path: polygon(0 5%, 96% 0, 100% 100%, 7% 100%) !important; }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(3) > a::before { background: var(--ce-green) !important; clip-path: polygon(4% 0, 100% 7%, 95% 100%, 0 100%) !important; }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(4) > a::before { background: var(--ce-orange-dark) !important; clip-path: polygon(0 5%, 96% 0, 100% 100%, 6% 100%) !important; }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(5) > a::before { background: var(--ce-cyan) !important; clip-path: polygon(4% 0, 100% 6%, 94% 100%, 0 100%) !important; }
body.ceenersys-site [data-id='menu'] > ul > li:nth-child(6) > a::before { background: var(--ce-dark) !important; clip-path: polygon(4% 0, 100% 7%, 94% 100%, 0 100%) !important; }

body.ceenersys-site [data-id='menu'] > ul > li > a > span,
body.ceenersys-site [data-id='menu-secondary'] > ul > li > a > span,
body.ceenersys-site [data-id='menu'] > ul > li > a .menu-item-title,
body.ceenersys-site [data-id='menu-secondary'] > ul > li > a .menu-item-title {
  transform: none !important;
  position: relative !important;
  z-index: 1 !important;
}

body.ceenersys-site [data-id='menu'] > ul > li:hover > a,
body.ceenersys-site [data-id='menu'] > ul > li.current-menu-item > a,
body.ceenersys-site [data-id='menu'] > ul > li.current-menu-ancestor > a {
  transform: none !important;
}

body.ceenersys-site [data-id='menu'] > ul > li:hover > a::before,
body.ceenersys-site [data-id='menu'] > ul > li.current-menu-item > a::before,
body.ceenersys-site [data-id='menu'] > ul > li.current-menu-ancestor > a::before {
  transform: translateY(-4px) !important;
  filter: saturate(1.06) brightness(1.03) !important;
}

/* Search icon/loupe hidden in desktop header. */
body.ceenersys-site .ct-header [data-id='search'],
body.ceenersys-site .ct-header .ct-search-trigger,
body.ceenersys-site .ct-header .ct-header-search,
body.ceenersys-site .ct-header button[aria-label*='Search'],
body.ceenersys-site .ct-header button[aria-label*='Recherche'] {
  display: none !important;
}

/* Breadcrumb must sit below the full header, not behind the logo. */
body.ceenersys-site .ce-legacy-breadcrumb-bar {
  clear: both !important;
  position: relative !important;
  z-index: 1 !important;
  min-height: 72px !important;
}

body.ceenersys-site .ce-legacy-breadcrumb-inner {
  transform: none !important;
}

@media (max-width: 999px) {
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container-fluid {
    min-height: 92px !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  body.ceenersys-site .ct-header [data-id='logo'],
  body.ceenersys-site .ct-header .site-branding,
  body.ceenersys-site .ct-header .site-logo-container {
    align-self: center !important;
    margin-top: 0 !important;
  }

  body.ceenersys-site .site-logo-container img,
  body.ceenersys-site [data-id='logo'] img {
    max-height: 72px !important;
  }
}

@media (max-width: 689px) {
  body.ceenersys-site .ct-header::before {
    height: 18px !important;
  }

  body.ceenersys-site .ct-header [data-row='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container-fluid {
    min-height: 74px !important;
  }

  body.ceenersys-site .site-logo-container img,
  body.ceenersys-site [data-id='logo'] img {
    max-height: 58px !important;
  }
}

/* -------------------------------------------------------------------------
   v1.1.7 - Header fix after v1.1.6: menu colors restored, straight labels,
            logo moved higher, search fully hidden.
   ------------------------------------------------------------------------- */

/* Header row closer to the old site: white band + logo/menu above breadcrumb. */
body.ceenersys-site .ct-header [data-row='middle'] .ct-container,
body.ceenersys-site .ct-header [data-row='middle'] .ct-container-fluid,
body.ceenersys-site .ct-header [data-row*='middle'] .ct-container,
body.ceenersys-site .ct-header [data-row*='middle'] .ct-container-fluid {
  min-height: 120px !important;
  padding-top: 15px !important;
  padding-bottom: 0 !important;
  align-items: flex-end !important;
  column-gap: clamp(24px, 3vw, 54px) !important;
}

/* Hide site title/tagline even if Blocksy displays them beside the logo. */
body.ceenersys-site .ct-header .site-title,
body.ceenersys-site .ct-header .site-description,
body.ceenersys-site .ct-header [data-id='logo'] .site-title,
body.ceenersys-site .ct-header [data-id='logo'] .site-description,
body.ceenersys-site .ct-header [data-id='logo'] .site-branding-text {
  display: none !important;
}

/* Logo: force it higher than the breadcrumb zone. */
body.ceenersys-site .ct-header [data-id='logo'],
body.ceenersys-site .ct-header .site-branding,
body.ceenersys-site .ct-header .site-logo-container {
  align-self: flex-end !important;
  margin: 0 !important;
  transform: translateY(-28px) !important;
  position: relative !important;
  z-index: 4 !important;
}

body.ceenersys-site .ct-header [data-id='logo'] a,
body.ceenersys-site .ct-header .site-logo-container a {
  display: inline-flex !important;
  align-items: flex-end !important;
}

body.ceenersys-site .site-logo-container img,
body.ceenersys-site [data-id='logo'] img,
body.ceenersys-site .ct-header .custom-logo {
  max-height: 112px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(7px 9px 3px rgba(0,0,0,.28)) !important;
}

/* Menu position: aligned with the old tabs and not floating too high. */
body.ceenersys-site .ct-header [data-id='menu'],
body.ceenersys-site .ct-header [data-id='menu-secondary'] {
  align-self: flex-end !important;
  margin: 0 0 0 !important;
  transform: translateY(0) !important;
  position: relative !important;
  z-index: 5 !important;
}

body.ceenersys-site .ct-header [data-id='menu'] > ul,
body.ceenersys-site .ct-header [data-id='menu-secondary'] > ul,
body.ceenersys-site .ct-header [data-id='menu'] .menu,
body.ceenersys-site .ct-header [data-id='menu-secondary'] .menu {
  align-items: flex-end !important;
  gap: 0 !important;
  display: flex !important;
  line-height: 1 !important;
}

body.ceenersys-site .ct-header [data-id='menu'] > ul > li,
body.ceenersys-site .ct-header [data-id='menu-secondary'] > ul > li,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li,
body.ceenersys-site .ct-header [data-id='menu-secondary'] .menu > li {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
}

/* Robust color/tab rule: no pseudo with negative z-index. The button itself is
   colored and clipped, so colors cannot disappear. Text stays straight. */
body.ceenersys-site .ct-header [data-id='menu'] > ul > li > a,
body.ceenersys-site .ct-header [data-id='menu-secondary'] > ul > li > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li > a,
body.ceenersys-site .ct-header [data-id='menu-secondary'] .menu > li > a,
body.ceenersys-site .ct-header .menu > li > a.ct-menu-link {
  min-height: 66px !important;
  min-width: 88px !important;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 9px 9px 0 0 !important;
  clip-path: polygon(6% 0, 100% 6%, 94% 100%, 0 100%) !important;
  color: #fff !important;
  background: var(--ce-dark) !important;
  font-family: var(--ce-font-title) !important;
  font-size: clamp(.84rem, .86vw, 1rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center !important;
  transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* Disable the v1.1.6 pseudo tabs. */
body.ceenersys-site .ct-header [data-id='menu'] > ul > li > a::before,
body.ceenersys-site .ct-header [data-id='menu-secondary'] > ul > li > a::before,
body.ceenersys-site .ct-header .menu > li > a.ct-menu-link::before {
  content: none !important;
  display: none !important;
}

body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(1) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(1) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(1) > a.ct-menu-link { background: var(--ce-dark) !important; clip-path: polygon(5% 0, 100% 2%, 94% 100%, 0 100%) !important; }
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(2) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(2) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(2) > a.ct-menu-link { background: var(--ce-orange-dark) !important; clip-path: polygon(0 4%, 96% 0, 100% 100%, 7% 100%) !important; }
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(3) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(3) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(3) > a.ct-menu-link { background: var(--ce-green) !important; clip-path: polygon(4% 0, 100% 6%, 95% 100%, 0 100%) !important; }
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(4) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(4) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(4) > a.ct-menu-link { background: var(--ce-orange-dark) !important; clip-path: polygon(0 4%, 96% 0, 100% 100%, 6% 100%) !important; }
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(5) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(5) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(5) > a.ct-menu-link { background: var(--ce-cyan) !important; clip-path: polygon(4% 0, 100% 6%, 94% 100%, 0 100%) !important; }
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(6) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(6) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(6) > a.ct-menu-link { background: var(--ce-dark) !important; clip-path: polygon(4% 0, 100% 7%, 94% 100%, 0 100%) !important; }

/* Make every possible label wrapper straight and visible. */
body.ceenersys-site .ct-header [data-id='menu'] a > span,
body.ceenersys-site .ct-header [data-id='menu-secondary'] a > span,
body.ceenersys-site .ct-header [data-id='menu'] a .menu-item-title,
body.ceenersys-site .ct-header [data-id='menu-secondary'] a .menu-item-title,
body.ceenersys-site .ct-header .ct-menu-link .ct-label,
body.ceenersys-site .ct-header .ct-menu-link .menu-item-title {
  color: #fff !important;
  transform: none !important;
  position: relative !important;
  z-index: 1 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.ceenersys-site .ct-header [data-id='menu'] > ul > li:hover > a,
body.ceenersys-site .ct-header [data-id='menu'] > ul > li.current-menu-item > a,
body.ceenersys-site .ct-header [data-id='menu'] > ul > li.current-menu-ancestor > a,
body.ceenersys-site .ct-header .menu > li:hover > a.ct-menu-link,
body.ceenersys-site .ct-header .menu > li.current-menu-item > a.ct-menu-link,
body.ceenersys-site .ct-header .menu > li.current-menu-ancestor > a.ct-menu-link {
  transform: translateY(-4px) !important;
  filter: saturate(1.07) brightness(1.03) !important;
}

/* Dropdown arrows stay white and inside the tabs. */
body.ceenersys-site .ct-header [data-id='menu'] .ct-icon,
body.ceenersys-site .ct-header [data-id='menu-secondary'] .ct-icon,
body.ceenersys-site .ct-header .ct-menu-link .ct-icon {
  color: #fff !important;
  fill: #fff !important;
  margin-inline-start: 7px !important;
  transform: none !important;
}

/* Search/loupe hidden. */
body.ceenersys-site .ct-header [data-id='search'],
body.ceenersys-site .ct-header .ct-search-trigger,
body.ceenersys-site .ct-header .ct-header-search,
body.ceenersys-site .ct-header .ct-search-box,
body.ceenersys-site .ct-header button[aria-label*='Search'],
body.ceenersys-site .ct-header button[aria-label*='Recherche'] {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Breadcrumb lower than logo. */
body.ceenersys-site .ce-legacy-breadcrumb-bar {
  margin-top: 0 !important;
  min-height: 72px !important;
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 999px) {
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container-fluid,
  body.ceenersys-site .ct-header [data-row*='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row*='middle'] .ct-container-fluid {
    min-height: 92px !important;
    padding-top: 10px !important;
    align-items: center !important;
  }

  body.ceenersys-site .ct-header [data-id='logo'],
  body.ceenersys-site .ct-header .site-branding,
  body.ceenersys-site .ct-header .site-logo-container {
    transform: none !important;
    align-self: center !important;
  }

  body.ceenersys-site .site-logo-container img,
  body.ceenersys-site [data-id='logo'] img,
  body.ceenersys-site .ct-header .custom-logo {
    max-height: 72px !important;
  }
}

@media (max-width: 689px) {
  body.ceenersys-site .ct-header::before {
    height: 18px !important;
  }

  body.ceenersys-site .ct-header [data-row='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container-fluid,
  body.ceenersys-site .ct-header [data-row*='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row*='middle'] .ct-container-fluid {
    min-height: 74px !important;
  }

  body.ceenersys-site .site-logo-container img,
  body.ceenersys-site [data-id='logo'] img,
  body.ceenersys-site .ct-header .custom-logo {
    max-height: 58px !important;
  }
}

/* -------------------------------------------------------------------------
   v1.1.8 - Header menu final adjustment: softer corners, overlapping tabs,
            clean common baseline, straight text.
   ------------------------------------------------------------------------- */

/* Keep the whole menu on one clean baseline. */
body.ceenersys-site .ct-header [data-id='menu'],
body.ceenersys-site .ct-header [data-id='menu-secondary'] {
  transform: translateY(0) !important;
  align-self: flex-end !important;
}

body.ceenersys-site .ct-header [data-id='menu'] > ul,
body.ceenersys-site .ct-header [data-id='menu-secondary'] > ul,
body.ceenersys-site .ct-header [data-id='menu'] .menu,
body.ceenersys-site .ct-header [data-id='menu-secondary'] .menu {
  gap: 0 !important;
  align-items: flex-end !important;
}

/* The old theme tabs slightly overlap. Negative margins recreate that without
   hiding the label because each tab is wider. */
body.ceenersys-site .ct-header [data-id='menu'] > ul > li,
body.ceenersys-site .ct-header [data-id='menu-secondary'] > ul > li,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li,
body.ceenersys-site .ct-header [data-id='menu-secondary'] .menu > li {
  margin-left: -8px !important;
  align-items: flex-end !important;
  position: relative !important;
}

body.ceenersys-site .ct-header [data-id='menu'] > ul > li:first-child,
body.ceenersys-site .ct-header [data-id='menu-secondary'] > ul > li:first-child,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:first-child,
body.ceenersys-site .ct-header [data-id='menu-secondary'] .menu > li:first-child {
  margin-left: 0 !important;
}

/* Later tabs sit above the previous edge, as on the old design. */
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(1),
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(1) { z-index: 6 !important; }
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(2),
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(2) { z-index: 7 !important; }
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(3),
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(3) { z-index: 8 !important; }
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(4),
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(4) { z-index: 9 !important; }
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(5),
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(5) { z-index: 10 !important; }
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(6),
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(6) { z-index: 11 !important; }

/* Wider, rounder tabs; label remains straight. Bottom is perfectly flat. */
body.ceenersys-site .ct-header [data-id='menu'] > ul > li > a,
body.ceenersys-site .ct-header [data-id='menu-secondary'] > ul > li > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li > a,
body.ceenersys-site .ct-header [data-id='menu-secondary'] .menu > li > a,
body.ceenersys-site .ct-header .menu > li > a.ct-menu-link {
  min-height: 66px !important;
  min-width: 96px !important;
  padding: 0 22px !important;
  border-radius: 14px 14px 0 0 !important;
  transform: none !important;
  overflow: hidden !important;
  font-size: clamp(.84rem, .82vw, .95rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Irregular tops/sides, but identical bottom line on every tab. */
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(1) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(1) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(1) > a.ct-menu-link {
  background: var(--ce-dark) !important;
  clip-path: polygon(8% 0, 100% 3%, 95% 100%, 0 100%) !important;
}
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(2) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(2) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(2) > a.ct-menu-link {
  background: var(--ce-orange-dark) !important;
  clip-path: polygon(4% 4%, 98% 0, 100% 100%, 3% 100%) !important;
}
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(3) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(3) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(3) > a.ct-menu-link {
  background: var(--ce-green) !important;
  clip-path: polygon(4% 0, 100% 5%, 96% 100%, 0 100%) !important;
}
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(4) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(4) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(4) > a.ct-menu-link {
  background: var(--ce-orange-dark) !important;
  clip-path: polygon(3% 4%, 98% 0, 100% 100%, 4% 100%) !important;
}
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(5) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(5) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(5) > a.ct-menu-link {
  background: var(--ce-cyan) !important;
  clip-path: polygon(4% 0, 100% 4%, 96% 100%, 0 100%) !important;
}
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:nth-child(6) > a,
body.ceenersys-site .ct-header [data-id='menu'] .menu > li:nth-child(6) > a,
body.ceenersys-site .ct-header .menu > li:nth-child(6) > a.ct-menu-link {
  background: var(--ce-dark) !important;
  clip-path: polygon(5% 0, 100% 5%, 94% 100%, 0 100%) !important;
}

/* Do not raise the active tab: this is what made the second item look misaligned. */
body.ceenersys-site .ct-header [data-id='menu'] > ul > li:hover > a,
body.ceenersys-site .ct-header [data-id='menu'] > ul > li.current-menu-item > a,
body.ceenersys-site .ct-header [data-id='menu'] > ul > li.current-menu-ancestor > a,
body.ceenersys-site .ct-header .menu > li:hover > a.ct-menu-link,
body.ceenersys-site .ct-header .menu > li.current-menu-item > a.ct-menu-link,
body.ceenersys-site .ct-header .menu > li.current-menu-ancestor > a.ct-menu-link {
  transform: none !important;
  filter: saturate(1.05) brightness(1.03) !important;
}

body.ceenersys-site .ct-header .ct-menu-link .ct-icon,
body.ceenersys-site .ct-header [data-id='menu'] .ct-icon {
  margin-inline-start: 6px !important;
}

@media (max-width: 1199px) and (min-width: 1000px) {
  body.ceenersys-site .ct-header [data-id='menu'] > ul > li > a,
  body.ceenersys-site .ct-header [data-id='menu'] .menu > li > a,
  body.ceenersys-site .ct-header .menu > li > a.ct-menu-link {
    min-width: 86px !important;
    padding: 0 16px !important;
    font-size: .82rem !important;
  }
  body.ceenersys-site .ct-header [data-id='menu'] > ul > li,
  body.ceenersys-site .ct-header [data-id='menu'] .menu > li {
    margin-left: -6px !important;
  }
}

@media (max-width: 999px) {
  body.ceenersys-site .ct-header [data-id='menu'] > ul > li,
  body.ceenersys-site .ct-header [data-id='menu'] .menu > li,
  body.ceenersys-site .ct-header [data-id='menu-secondary'] > ul > li,
  body.ceenersys-site .ct-header [data-id='menu-secondary'] .menu > li {
    margin-left: 0 !important;
  }
}

/* -------------------------------------------------------------------------
   v1.1.8.3 - Correctif responsive menu mobile Blocksy
   Objectif : garder le header desktop actuel, mais laisser Blocksy afficher
   son bouton hamburger et son panneau offcanvas en tablette/mobile.
   ------------------------------------------------------------------------- */
@media (max-width: 999px) {
  body.ceenersys-site .ct-header {
    overflow: visible !important;
  }

  body.ceenersys-site .ct-header::before {
    height: 28px !important;
  }

  body.ceenersys-site .ct-header [data-row='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container-fluid,
  body.ceenersys-site .ct-header [data-row*='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row*='middle'] .ct-container-fluid {
    width: min(100% - 28px, 720px) !important;
    max-width: 720px !important;
    min-height: 92px !important;
    padding: 12px 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
  }

  body.ceenersys-site .ct-header [data-row='middle'] [data-column],
  body.ceenersys-site .ct-header [data-row*='middle'] [data-column],
  body.ceenersys-site .ct-header [data-row='middle'] [data-items],
  body.ceenersys-site .ct-header [data-row*='middle'] [data-items] {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
  }

  body.ceenersys-site .ct-header [data-column='start'] {
    flex: 0 1 auto !important;
    margin: 0 !important;
  }

  body.ceenersys-site .ct-header [data-column='end'] {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    justify-content: flex-end !important;
  }

  /* En responsive, le menu à onglets desktop disparaît. */
  body.ceenersys-site .ct-header [data-id='menu'],
  body.ceenersys-site .ct-header [data-id='menu-secondary'] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    max-width: 0 !important;
    overflow: hidden !important;
  }

  /* Le bouton hamburger Blocksy doit rester visible. */
  body.ceenersys-site .ct-header [data-id='trigger'],
  body.ceenersys-site .ct-header .ct-header-trigger,
  body.ceenersys-site .ct-header .ct-toggle[data-toggle-panel='#offcanvas'] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--ce-orange) !important;
    color: #fff !important;
    position: relative !important;
    z-index: 100 !important;
    clip-path: none !important;
    transform: none !important;
  }

  body.ceenersys-site .ct-header [data-id='trigger'] svg,
  body.ceenersys-site .ct-header .ct-header-trigger svg,
  body.ceenersys-site .ct-header .ct-toggle[data-toggle-panel='#offcanvas'] svg {
    display: block !important;
    width: 24px !important;
    height: 20px !important;
    color: #fff !important;
    fill: #fff !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.ceenersys-site .ct-header [data-id='trigger'] svg rect,
  body.ceenersys-site .ct-header .ct-header-trigger svg rect {
    fill: currentColor !important;
  }

  body.ceenersys-site .ct-header [data-id='trigger'] .ct-label,
  body.ceenersys-site .ct-header .ct-header-trigger .ct-label {
    display: none !important;
  }

  /* Logo mobile : position normale, sans décalage desktop. */
  body.ceenersys-site .ct-header [data-id='logo'],
  body.ceenersys-site .ct-header .site-branding,
  body.ceenersys-site .ct-header .site-logo-container {
    top: 0 !important;
    transform: none !important;
    position: relative !important;
    align-self: center !important;
    max-width: 210px !important;
    z-index: 10 !important;
  }

  body.ceenersys-site .site-logo-container img,
  body.ceenersys-site [data-id='logo'] img,
  body.ceenersys-site .ct-header .custom-logo {
    max-height: 74px !important;
    width: auto !important;
    filter: drop-shadow(4px 5px 2px rgba(0,0,0,.22)) !important;
  }
}

/* Le panneau mobile Blocksy ne doit pas reprendre les onglets desktop. */
body.ceenersys-site #offcanvas,
body.ceenersys-site .ct-panel#offcanvas {
  z-index: 10000 !important;
}

body.ceenersys-site #offcanvas [data-id='mobile-menu'],
body.ceenersys-site .ct-panel [data-id='mobile-menu'] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.ceenersys-site #offcanvas [data-id='mobile-menu'] ul,
body.ceenersys-site #offcanvas [data-id='mobile-menu'] .menu,
body.ceenersys-site .ct-panel [data-id='mobile-menu'] ul,
body.ceenersys-site .ct-panel [data-id='mobile-menu'] .menu {
  display: block !important;
  margin: 0 !important;
  padding: 18px 0 !important;
  list-style: none !important;
}

body.ceenersys-site #offcanvas [data-id='mobile-menu'] li,
body.ceenersys-site .ct-panel [data-id='mobile-menu'] li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ceenersys-site #offcanvas [data-id='mobile-menu'] a,
body.ceenersys-site .ct-panel [data-id='mobile-menu'] a,
body.ceenersys-site #offcanvas .menu > li > a.ct-menu-link,
body.ceenersys-site .ct-panel .menu > li > a.ct-menu-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  padding: 12px 22px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  transform: none !important;
  background: transparent !important;
  color: var(--ce-primary-dark) !important;
  font-family: var(--ce-font-title) !important;
  font-size: 1.08rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  white-space: normal !important;
}

body.ceenersys-site #offcanvas [data-id='mobile-menu'] a > span,
body.ceenersys-site .ct-panel [data-id='mobile-menu'] a > span,
body.ceenersys-site #offcanvas .ct-menu-link .ct-label,
body.ceenersys-site .ct-panel .ct-menu-link .ct-label {
  transform: none !important;
  color: inherit !important;
}

body.ceenersys-site #offcanvas [data-id='mobile-menu'] a:hover,
body.ceenersys-site .ct-panel [data-id='mobile-menu'] a:hover {
  color: var(--ce-orange-dark) !important;
}

body.ceenersys-site #offcanvas [data-id='mobile-menu'] .sub-menu,
body.ceenersys-site .ct-panel [data-id='mobile-menu'] .sub-menu {
  padding: 0 0 8px 18px !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

@media (max-width: 689px) {
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row='middle'] .ct-container-fluid,
  body.ceenersys-site .ct-header [data-row*='middle'] .ct-container,
  body.ceenersys-site .ct-header [data-row*='middle'] .ct-container-fluid {
    width: calc(100% - 24px) !important;
    min-height: 78px !important;
    padding-bottom: 14px !important;
  }

  body.ceenersys-site .site-logo-container img,
  body.ceenersys-site [data-id='logo'] img,
  body.ceenersys-site .ct-header .custom-logo {
    max-height: 60px !important;
  }

  body.ceenersys-site .ct-header [data-id='trigger'],
  body.ceenersys-site .ct-header .ct-header-trigger,
  body.ceenersys-site .ct-header .ct-toggle[data-toggle-panel='#offcanvas'] {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
  }
}

/* -------------------------------------------------------------------------
   v1.1.8.4 - Correctif offcanvas mobile Blocksy
   Le bouton burger était visible, mais le panneau mobile restait hors écran
   ou invisible. On force uniquement le tiroir mobile, sans toucher au menu desktop.
   ------------------------------------------------------------------------- */
@media (max-width: 999px) {
  html:has(.ct-header [data-id='trigger'] [aria-expanded='true']),
  body.ceenersys-site:has(.ct-header [data-id='trigger'] [aria-expanded='true']) {
    overflow-x: hidden !important;
  }

  /* Zone offcanvas : tiroir mobile à droite, au-dessus de tout. */
  body.ceenersys-site #offcanvas,
  body.ceenersys-site .ct-panel#offcanvas,
  body.ceenersys-site [id='offcanvas'].ct-panel,
  body.ceenersys-site .ct-drawer-canvas#offcanvas {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    z-index: 999999 !important;
    width: min(86vw, 380px) !important;
    max-width: min(86vw, 380px) !important;
    min-width: 280px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    background: #ffffff !important;
    color: var(--ce-primary-dark) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-shadow: -18px 0 45px rgba(0, 0, 0, .28) !important;
    transform: translate3d(110%, 0, 0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .24s ease, opacity .2s ease, visibility .2s ease !important;
  }

  /* États ouverts Blocksy + fallback moderne via aria-expanded du burger. */
  body.ceenersys-site:has(.ct-header [data-id='trigger'] [aria-expanded='true']) #offcanvas,
  body.ceenersys-site:has(.ct-header-trigger[aria-expanded='true']) #offcanvas,
  body.ceenersys-site:has([data-toggle-panel='#offcanvas'][aria-expanded='true']) #offcanvas,
  body.ceenersys-site #offcanvas.active,
  body.ceenersys-site #offcanvas[data-state='open'],
  body.ceenersys-site #offcanvas[data-state='opened'],
  body.ceenersys-site #offcanvas[aria-hidden='false'],
  body.ceenersys-site.ct-panel-open #offcanvas,
  body.ceenersys-site[class*='offcanvas'] #offcanvas,
  body.ceenersys-site[class*='drawer'] #offcanvas {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  /* Certains rendus Blocksy appliquent le transform au conteneur interne. */
  body.ceenersys-site #offcanvas .ct-panel-inner,
  body.ceenersys-site #offcanvas .ct-drawer-inner,
  body.ceenersys-site #offcanvas .ct-panel-content,
  body.ceenersys-site #offcanvas .ct-offcanvas-content,
  body.ceenersys-site #offcanvas [data-device='mobile'] {
    display: block !important;
    position: relative !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100% !important;
    height: auto !important;
    background: #fff !important;
    color: var(--ce-primary-dark) !important;
    overflow: visible !important;
  }

  /* Mise en page du contenu du tiroir. */
  body.ceenersys-site #offcanvas .ct-panel-content,
  body.ceenersys-site #offcanvas .ct-offcanvas-content {
    padding: 66px 0 28px !important;
  }

  /* Bouton fermer visible, même si Blocksy le place en absolu. */
  body.ceenersys-site #offcanvas .ct-toggle-close,
  body.ceenersys-site #offcanvas .ct-panel-actions,
  body.ceenersys-site #offcanvas [data-id='close'] {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 1000000 !important;
  }

  body.ceenersys-site #offcanvas .ct-toggle-close,
  body.ceenersys-site #offcanvas [data-id='close'] {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    width: 38px !important;
    height: 38px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: var(--ce-orange-dark) !important;
    border-radius: 50% !important;
  }

  /* Mobile menu : reset total des onglets desktop. */
  body.ceenersys-site #offcanvas [data-id='mobile-menu'],
  body.ceenersys-site #offcanvas .mobile-menu,
  body.ceenersys-site #offcanvas nav {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.ceenersys-site #offcanvas [data-id='mobile-menu'] ul,
  body.ceenersys-site #offcanvas .mobile-menu ul,
  body.ceenersys-site #offcanvas nav ul,
  body.ceenersys-site #offcanvas .menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    list-style: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.ceenersys-site #offcanvas li,
  body.ceenersys-site #offcanvas .menu-item {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    clip-path: none !important;
  }

  body.ceenersys-site #offcanvas a,
  body.ceenersys-site #offcanvas .ct-menu-link,
  body.ceenersys-site #offcanvas .menu-link {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 13px 24px !important;
    margin: 0 !important;
    color: var(--ce-primary-dark) !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(23, 25, 90, .12) !important;
    border-radius: 0 !important;
    clip-path: none !important;
    transform: none !important;
    text-align: left !important;
    text-decoration: none !important;
    white-space: normal !important;
    font-family: var(--ce-font-title) !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
  }

  body.ceenersys-site #offcanvas a > span,
  body.ceenersys-site #offcanvas .ct-menu-link > span,
  body.ceenersys-site #offcanvas .ct-label {
    display: inline !important;
    transform: none !important;
    color: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.ceenersys-site #offcanvas .sub-menu {
    display: block !important;
    position: static !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 0 16px !important;
    background: #f5f5f5 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.ceenersys-site #offcanvas .sub-menu a {
    font-size: .98rem !important;
    padding-left: 28px !important;
    background: #f5f5f5 !important;
  }
}


/* -------------------------------------------------------------------------
   v1.1.8.5 - Correction espace blanc offcanvas mobile
   Le panneau mobile s'ouvrait, mais le menu héritait d'un grand espace vide.
   On force le contenu du tiroir à démarrer en haut.
   ------------------------------------------------------------------------- */
@media (max-width: 999px) {
  body.ceenersys-site #offcanvas,
  body.ceenersys-site .ct-panel#offcanvas {
    display: block !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

  body.ceenersys-site #offcanvas .ct-panel-inner,
  body.ceenersys-site #offcanvas .ct-drawer-inner,
  body.ceenersys-site #offcanvas .ct-panel-content,
  body.ceenersys-site #offcanvas .ct-offcanvas-content,
  body.ceenersys-site #offcanvas .ct-panel-content-inner,
  body.ceenersys-site #offcanvas .ct-panel-actions + *,
  body.ceenersys-site #offcanvas [data-device='mobile'],
  body.ceenersys-site #offcanvas [data-device='mobile'] > *,
  body.ceenersys-site #offcanvas [data-row],
  body.ceenersys-site #offcanvas [data-column],
  body.ceenersys-site #offcanvas [data-items],
  body.ceenersys-site #offcanvas .ct-container,
  body.ceenersys-site #offcanvas .ct-container-fluid {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    transform: none !important;
  }

  body.ceenersys-site #offcanvas .ct-panel-content,
  body.ceenersys-site #offcanvas .ct-offcanvas-content {
    padding: 0px 0 0px !important;
  }

  body.ceenersys-site #offcanvas [data-id='mobile-menu'],
  body.ceenersys-site #offcanvas .mobile-menu,
  body.ceenersys-site #offcanvas nav,
  body.ceenersys-site #offcanvas .menu {
    margin-top: 0 !important;
    padding-top: 0 !important;
    position: relative !important;
    top: 0 !important;
  }

  /* Si Blocksy insère un spacer ou une zone vide dans l'offcanvas, on la masque. */
  body.ceenersys-site #offcanvas [data-id='logo'],
  body.ceenersys-site #offcanvas .site-branding,
  body.ceenersys-site #offcanvas .ct-header-text,
  body.ceenersys-site #offcanvas .ct-header-search,
  body.ceenersys-site #offcanvas [data-id='search'],
  body.ceenersys-site #offcanvas .ct-search-box,
  body.ceenersys-site #offcanvas .ct-spacer,
  body.ceenersys-site #offcanvas [data-id='spacer'] {
    display: none !important;
  }

  body.ceenersys-site #offcanvas .ct-toggle-close,
  body.ceenersys-site #offcanvas [data-id='close'] {
    top: 10px !important;
    right: 12px !important;
  }
}
