/* Cubner page Conteneurs — Figma 1332:296, desktop 1920 */
/* Header/footer : cubner-homepage-v2.css (chrome global). */

body.cubner-conteneurs-page {
  margin: 0;
  background: var(--cb-white, #fff);
}

body.cubner-conteneurs-page .elementor-location-header {
  position: relative;
  z-index: 20;
}

body.cubner-conteneurs-page .site-main,
body.cubner-conteneurs-page .page-content,
body.cubner-conteneurs-page #content,
body.cubner-conteneurs-page .elementor-section-wrap {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
  width: 100% !important;
  overflow: visible;
}

.cubner-v2-conteneurs {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 0 0 123px;
  font-family: "Switzer", Arial, sans-serif;
  color: var(--cb-black, #1c1c1b);
  overflow: visible;
}

.cubner-v2-conteneurs *,
.cubner-v2-conteneurs *::before,
.cubner-v2-conteneurs *::after {
  box-sizing: border-box;
}

.cubner-v2-conteneurs p,
.cubner-v2-conteneurs ul,
.cubner-v2-conteneurs .elementor-heading-title {
  margin: 0;
}

.cubner-v2-conteneurs .elementor-widget-container {
  margin: 0;
  padding: 0;
}

.cubner-v2-conteneurs a {
  text-decoration: none;
}

.cubner-v2-conteneurs a:focus-visible,
.cubner-v2-conteneurs button:focus-visible {
  outline: 3px solid var(--cb-blue, #00518c);
  outline-offset: 3px;
}

.cubner-v2-conteneurs > .e-con,
.cubner-v2-conteneurs-hero > .e-con,
.cubner-v2-conteneurs-gammes > .e-con,
.cubner-v2-conteneurs-grid > .e-con,
.cubner-v2-conteneurs-col > .e-con,
.cubner-v2-conteneurs-cat > .e-con,
.cubner-v2-conteneurs-cat__header > .e-con,
.cubner-v2-conteneurs-cat__titles > .e-con {
  --flex-direction: column;
  --flex-wrap: nowrap;
  --align-items: initial;
  --justify-content: initial;
  max-width: none;
}

/* Hero — titre y253, CTA y533, image 1116×744 à y-69 (cadre Figma inclut header 153 px) */
.cubner-v2-conteneurs-hero {
  --display: block !important;
  display: block !important;
  position: relative;
  width: 100%;
  min-height: 570px;
  overflow: visible;
}

.cubner-v2-conteneurs-hero__image.elementor-widget,
.cubner-v2-conteneurs-hero__line.elementor-widget,
.cubner-v2-conteneurs-hero__pointer.elementor-widget {
  position: absolute !important;
  margin: 0 !important;
}

.cubner-v2-conteneurs-hero__image {
  z-index: 0;
  top: -222px;
  left: calc(50% - 229px);
  width: 1116px !important;
  height: 744px;
  pointer-events: none;
}

.cubner-v2-conteneurs-hero__image img {
  display: block;
  width: 1116px;
  height: 744px;
  max-width: none;
  object-fit: cover;
  object-position: center top;
}

.cubner-v2-conteneurs-hero__line {
  z-index: 1;
  height: 1px;
  pointer-events: none;
  overflow: hidden;
}

.cubner-v2-conteneurs-hero__line img {
  display: block;
  width: 1476px;
  height: 1px;
  max-width: none;
}

.cubner-v2-conteneurs-hero__line--title {
  top: 123px;
  left: calc(50% - 2175px);
  width: 1476px !important;
}

.cubner-v2-conteneurs-hero__line--cta {
  top: 404px;
  left: calc(50% - 464px);
  width: 1476px !important;
}

.cubner-v2-conteneurs-hero__pointer {
  z-index: 3;
  top: 382px;
  left: calc(50% - 245px);
  width: 33px !important;
  height: 48px;
  pointer-events: none;
}

.cubner-v2-conteneurs-hero__pointer img {
  display: block;
  width: 33px;
  height: 48px;
  max-width: none;
}

.cubner-v2-conteneurs-hero__content {
  --display: flex !important;
  --flex-direction: column !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative;
  z-index: 3;
  width: 564px;
  max-width: 564px;
  margin: 0 0 0 max(24px, calc(50% - 700px)) !important;
  padding: 100px 0 0 !important;
}

.cubner-v2-conteneurs-hero__title {
  width: auto !important;
}

.cubner-v2-conteneurs-hero__title .elementor-heading-title {
  color: var(--cb-black, #1c1c1b) !important;
  font-family: "Switzer", Arial, sans-serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.132;
  white-space: nowrap;
}

.cubner-v2-conteneurs-hero__title span {
  color: var(--cb-blue, #00518c) !important;
}

.cubner-v2-conteneurs-hero__lead {
  width: 564px !important;
  margin-top: 13px !important;
}

.cubner-v2-conteneurs-hero__lead p {
  color: #000 !important;
  font-family: "Switzer", Arial, sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.132;
}

.cubner-v2-conteneurs-hero__text {
  width: 540px !important;
  margin-top: 16px !important;
}

.cubner-v2-conteneurs-hero__text p {
  color: #000 !important;
  font-family: "Switzer", Arial, sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.132;
}

.cubner-v2-conteneurs-hero__text p + p {
  margin-top: 18px;
}

.cubner-v2-conteneurs-hero__text strong {
  font-weight: 600;
}

.cubner-v2-conteneurs-hero__button {
  margin-top: 46px !important;
  width: auto !important;
}

.cubner-v2-conteneurs-hero__button .elementor-button {
  width: auto;
  min-height: 44px;
}

/* Gammes — Figma 1332:296, 2 colonnes 1400, cartes listes */
.cubner-v2-conteneurs-gammes {
  --display: flex !important;
  --flex-direction: column !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  width: 100%;
  /* Figma 1137:296 — titre gammes y723, CTA héro ~y628 → 95 px */
  padding-top: 95px;
}

.cubner-v2-conteneurs-gammes__title {
  width: auto !important;
  max-width: min(100% - 48px, 1400px);
  text-align: center;
}

.cubner-v2-conteneurs-gammes__title .elementor-heading-title {
  color: #000 !important;
  font-family: "Switzer", Arial, sans-serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.132;
  text-align: center;
}

.cubner-v2-conteneurs-gammes__title span {
  color: var(--cb-blue, #00518c) !important;
}

.cubner-v2-conteneurs-grid {
  --display: flex !important;
  --flex-direction: row !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: 32px !important;
  width: 1400px;
  max-width: 1400px;
  margin: 48px auto 0 !important;
}

.cubner-v2-conteneurs-col {
  --display: flex !important;
  --flex-direction: column !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0;
  min-width: 0;
  gap: 24px !important;
}

.cubner-v2-conteneurs-cat {
  --display: flex !important;
  --flex-direction: column !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
  padding: 28px 32px 20px !important;
  background: var(--cb-white, #fff);
  border-radius: 16px;
  box-shadow: var(--cb-shadow-card, 0 4px 22px rgb(0 0 0 / 8%));
}

.cubner-v2-conteneurs-cat__header {
  --display: flex !important;
  --flex-direction: row !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start;
  gap: 20px !important;
}

.cubner-v2-conteneurs-cat__image {
  flex: 0 0 118px;
  width: 118px !important;
  max-width: 118px;
}

.cubner-v2-conteneurs-cat__image img {
  display: block;
  width: 118px;
  height: 78px;
  object-fit: contain;
  object-position: center;
}

.cubner-v2-conteneurs-cat__titles {
  --display: flex !important;
  --flex-direction: column !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0;
  padding-top: 4px;
}

.cubner-v2-conteneurs-cat__eyebrow .elementor-heading-title {
  color: var(--cb-black, #1c1c1b) !important;
  font-family: "Switzer", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
}

.cubner-v2-conteneurs-cat__title .elementor-heading-title {
  color: var(--cb-blue, #00518c) !important;
  font-family: "Switzer", Arial, sans-serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.1;
}

.cubner-v2-conteneurs-cat__title a {
  color: inherit;
}

.cubner-v2-conteneurs-cat__title a:hover,
.cubner-v2-conteneurs-cat__title a:focus-visible {
  text-decoration: underline;
}

.cubner-v2-conteneurs-cat__list {
  width: 100% !important;
  margin-top: 8px !important;
}

.cubner-v2-conteneurs-cat__list .elementor-widget-container,
.cubner-v2-conteneurs-cat__list p,
.cubner-v2-conteneurs-cat__list ul {
  margin: 0;
  padding: 0;
}

.cubner-v2-conteneurs-cat__list ul,
.cubner-v2-conteneurs-cat__items {
  list-style: none;
}

.cubner-v2-conteneurs-cat__list li,
.cubner-v2-conteneurs-cat__item {
  border-bottom: 1px solid var(--cubner-color-border-subtle, #e8edf2);
}

.cubner-v2-conteneurs-cat__list li a,
.cubner-v2-conteneurs-cat__item a {
  display: block;
  padding: 9px 0;
  color: var(--cb-black, #1c1c1b);
  font-family: "Switzer", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
}

.cubner-v2-conteneurs-cat__item.is-group a {
  color: var(--cb-orange, #f49b27);
  font-weight: 600;
}

.cubner-v2-conteneurs-cat__item strong {
  font-weight: 600;
}

.cubner-v2-conteneurs-cat__item a:hover,
.cubner-v2-conteneurs-cat__item a:focus-visible {
  color: var(--cb-blue, #00518c);
}

@media (max-width: 1439px) {
  .cubner-v2-conteneurs {
    padding-bottom: 80px;
  }

  .cubner-v2-conteneurs-hero {
    min-height: 0;
    display: flex !important;
    flex-direction: column !important;
    width: min(100% - 48px, 1400px);
    margin: 0 auto;
    padding-top: 40px;
  }

  .cubner-v2-conteneurs-hero__image.elementor-widget,
  .cubner-v2-conteneurs-hero__line.elementor-widget,
  .cubner-v2-conteneurs-hero__pointer.elementor-widget {
    position: relative !important;
    left: auto;
    top: auto;
  }

  .cubner-v2-conteneurs-hero__line,
  .cubner-v2-conteneurs-hero__pointer {
    display: none !important;
  }

  .cubner-v2-conteneurs-hero__content {
    order: 1;
    width: 100%;
    max-width: 564px;
    margin: 0 !important;
    padding: 0 !important;
  }

  .cubner-v2-conteneurs-hero__image {
    order: 2;
    width: 100% !important;
    max-width: 1116px;
    height: auto;
    aspect-ratio: 1116 / 744;
    margin-top: 32px;
    pointer-events: auto;
  }

  .cubner-v2-conteneurs-hero__image img {
    width: 100%;
    height: 100%;
  }

  .cubner-v2-conteneurs-hero__title .elementor-heading-title,
  .cubner-v2-conteneurs-hero__lead,
  .cubner-v2-conteneurs-hero__text {
    white-space: normal;
    width: 100% !important;
  }

  .cubner-v2-conteneurs-hero__button {
    margin-top: 24px !important;
  }

  .cubner-v2-conteneurs-gammes {
    width: min(100% - 48px, 1400px);
    margin: 0 auto;
    padding-top: 64px;
  }

  .cubner-v2-conteneurs-grid {
    width: 100%;
    max-width: 100%;
    margin-top: 40px !important;
  }

  .cubner-v2-conteneurs-cat {
    padding: 24px 20px 16px !important;
  }

  .cubner-v2-conteneurs-cat__title .elementor-heading-title {
    font-size: clamp(28px, 4vw, 36px);
  }
}

@media (max-width: 1199px) {
  .cubner-v2-conteneurs-grid {
    --flex-direction: column !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  .cubner-v2-conteneurs-col {
    width: 100%;
  }
}

@media (max-width: 767px) {
  .cubner-v2-conteneurs {
    padding-bottom: 64px;
  }

  .cubner-v2-conteneurs-hero,
  .cubner-v2-conteneurs-gammes {
    width: min(100% - 32px, 1400px);
  }

  .cubner-v2-conteneurs-hero__title .elementor-heading-title,
  .cubner-v2-conteneurs-gammes__title .elementor-heading-title {
    font-size: clamp(26px, 8vw, 36px);
    white-space: normal;
  }

  .cubner-v2-conteneurs-cat__header {
    --flex-direction: column !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .cubner-v2-conteneurs-cat__image,
  .cubner-v2-conteneurs-cat__image img {
    width: 160px;
    max-width: 160px;
    height: auto;
  }
}
