.elementor-kit-5{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ============================================================
   KUMBA — CSS Global Elementor Pro
   Version 3.0 — Kit natif KUMBA
   Coller dans : Elementor > Réglages du site > CSS personnalisé
   ============================================================ */

/* ── Variables ──────────────────────────────────────────────── */
:root {
  --kp-teal:      #1A9E96;
  --kp-deep:      #117A73;
  --kp-red:       #D41F2A;
  --kp-dark-red:  #A81520;
  --kp-dark:      #1A1A1A;
  --kp-white:     #FFFFFF;
  --kp-off-white: #F5F0EB;
  --kp-teal-lt:   #F0FAFA;
  --kp-teal-alt:  #E8F6F5;
  --kp-border:    #CCE9E7;
  --kp-muted:     #5a7370;
}

/* ── Typographie globale ────────────────────────────────────── */
body, p, li, td, span, a {
  font-family: 'PT Sans Narrow', sans-serif;
}
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: 'PT Sans Narrow', sans-serif !important;
}

/* ── Header sticky ──────────────────────────────────────────── */
.kumba-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  transition: box-shadow 0.3s ease;
}

/* ── Nav menu — desktop ─────────────────────────────────────── */
.elementor-nav-menu .elementor-item {
  font-family: 'PT Sans Narrow', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--kp-dark) !important;
  transition: color 0.2s !important;
}
.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item.elementor-item-active,
.elementor-nav-menu .current-menu-item > a {
  color: var(--kp-teal) !important;
}

/* ── Nav menu — dropdown ────────────────────────────────────── */
.elementor-nav-menu--dropdown {
  border-top: 2px solid var(--kp-teal) !important;
  border-radius: 0 !important;
  box-shadow: 0 8px 28px rgba(0,0,0,0.09) !important;
}
.elementor-nav-menu--dropdown .elementor-item {
  font-size: 13px !important;
  padding: 11px 20px !important;
  border-bottom: 1px solid var(--kp-teal-lt) !important;
}
.elementor-nav-menu--dropdown .elementor-item:hover {
  background: var(--kp-teal-lt) !important;
}

/* ── Nav menu — hamburger icon ──────────────────────────────── */
.elementor-menu-toggle {
  color: var(--kp-dark) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.elementor-menu-toggle i,
.elementor-menu-toggle svg {
  font-size: 24px !important;
  width: 24px !important;
  height: 24px !important;
}
.elementor-menu-toggle:hover {
  color: var(--kp-teal) !important;
}

/* ── Nav menu — mobile ──────────────────────────────────────── */
.elementor-nav-menu--mobile .elementor-nav-menu--dropdown {
  background: var(--kp-white) !important;
  border-top: 2px solid var(--kp-teal) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10) !important;
}
.elementor-nav-menu--mobile .elementor-item {
  font-family: 'PT Sans Narrow', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--kp-dark) !important;
  border-bottom: 1px solid var(--kp-teal-alt) !important;
  padding: 15px 20px !important;
  display: block !important;
  transition: color 0.2s, background 0.2s !important;
}
.elementor-nav-menu--mobile .elementor-item:hover,
.elementor-nav-menu--mobile .elementor-item.elementor-item-active {
  color: var(--kp-teal) !important;
  background: var(--kp-teal-lt) !important;
}

/* ── Header CTA — masqué sur mobile ────────────────────────── */
@media (max-width: 767px) {
  .kumba-header-cta {
    display: none !important;
  }
  /* Header : logo + hamburger sur 1 ligne */
  .kumba-header .elementor-row {
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  .kumba-header .elementor-col-25:first-child {
    flex: 0 0 auto !important;
  }
  .kumba-header .elementor-col-50 {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: flex-end !important;
  }
}

/* ── Boutons globaux ────────────────────────────────────────── */
.elementor-button {
  font-family: 'PT Sans Narrow', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  border-radius: 0 !important;
  text-transform: uppercase !important;
  transition: background 0.2s, border-color 0.2s, color 0.2s !important;
}

/* ── Dividers ───────────────────────────────────────────────── */
.elementor-divider-separator {
  border-color: var(--kp-teal) !important;
}

/* ── Formulaires ────────────────────────────────────────────── */
.elementor-field-group input,
.elementor-field-group textarea,
.elementor-field-group select {
  font-family: 'PT Sans Narrow', sans-serif !important;
  border-radius: 0 !important;
  transition: border-color 0.2s !important;
}
.elementor-field-group input:focus,
.elementor-field-group textarea:focus,
.elementor-field-group select:focus {
  border-color: var(--kp-teal) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(26,158,150,0.10) !important;
}
.elementor-field-label {
  font-family: 'PT Sans Narrow', sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-size: 11px !important;
}

/* ── Loop Grid — cartes produits ────────────────────────────── */
.kp-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  position: relative !important;
}
.kp-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 28px rgba(26,158,150,0.09) !important;
}
.kp-card::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important; left: 0 !important;
  width: 0 !important; height: 3px !important;
  background: var(--kp-teal) !important;
  transition: width 0.3s ease !important;
}
.kp-card:hover::after {
  width: 100% !important;
}
.kp-card-img img {
  width: 100% !important;
  aspect-ratio: 1/1 !important;
  object-fit: cover !important;
  display: block !important;
}

/* ── Google Maps ────────────────────────────────────────────── */
.elementor-google-maps iframe {
  display: block !important;
  width: 100% !important;
}

/* ── Responsive global ──────────────────────────────────────── */
@media (max-width: 1024px) {
  .elementor-section > .elementor-container {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}
@media (max-width: 767px) {
  .elementor-section > .elementor-container {
    flex-wrap: wrap !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .elementor-column {
    width: 100% !important;
  }
}/* End custom CSS */