.elementor-24 .elementor-element.elementor-element-7aaf94b{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-c44152c */:root {
  --bi-color-ivory: #F6F2EF;
  --bi-color-espresso: #1C120B;
  --bi-color-deep-chocolate: #3A2A21;
  --bi-color-medium-taupe: #9F836C;
  --bi-color-light-taupe: #C9BAAD;
  --bi-color-greige: #DFD4CC;
  --bi-color-champagne: #C9A46F;
}

/* Outer Footer Container */
.bi-footer {
  background-color: var(--bi-color-deep-chocolate) !important;
  color: var(--bi-color-ivory) !important;
  font-family: 'Montserrat', sans-serif !important;
  padding: 60px 40px 30px 40px !important;
  box-sizing: border-box !important;
}

.bi-footer-container {
  max-width: 1300px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

/* Clean 4-Column Grid Layout (Prevents Desktop Text Pollution) */
.bi-footer-grid {
  display: grid !important;
  grid-template-columns: 1.2fr 1.5fr 1.5fr 2fr !important;
  gap: 40px !important;
  align-items: start !important;
}

/* Column Specific Styles */
.bi-footer-col {
  display: flex !important;
  flex-direction: column !important;
}

/* Footer Logo Configuration - Centered Content */
.bi-col-logo {
  flex-shrink: 0 !important;
  align-items: center !important; /* Centers logo and socials horizontally */
}

header.bi-header img.bi-logo,
.bi-footer-logo {
  height: 42px !important;
  width: auto !important;
  display: block !important;
}

.footer-logo-cust {
    height: auto !important;
}


@media (max-width: 768px) {
    .footer-logo-cust {
        height: 42px !important;
    }
}

/* Inverts dark logo to white/ivory for contrast on dark background */
.bi-footer-logo {
  filter: brightness(0) invert(1) !important;
}

/* Widget Header Typography */
.bi-footer-title {
  color: var(--bi-color-ivory) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  margin: 0 0 22px 0 !important;
}

/* Text List Styles */
.bi-footer-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bi-footer-links li {
  margin-bottom: 12px !important;
}

.bi-footer-links li a {
  color: var(--bi-color-light-taupe) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  transition: color 0.25s ease !important;
  display: inline-block !important;
}

.bi-footer-links li a:hover {
  color: var(--bi-color-champagne) !important;
}

/* Nous Contacter Column & Separator Line */
.bi-col-contact {
  border-left: 1px solid rgba(246, 242, 239, 0.15) !important;
  padding-left: 40px !important;
}

/* Divider styling */
.bi-footer-divider {
  border: 0 !important;
  border-top: 1px solid rgba(246, 242, 239, 0.1) !important;
  margin: 40px 0 20px 0 !important;
}

/* Bottom elements - Legal details */
.bi-footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}

.bi-copyright {
  color: var(--bi-color-light-taupe) !important;
  font-size: 12px !important;
  margin: 0 !important;
  font-weight: 400 !important;
}

.bi-footer-legal-links {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  flex-wrap: wrap !important;
}

.bi-footer-legal-links a {
  color: var(--bi-color-light-taupe) !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  transition: color 0.25s ease !important;
}

.bi-footer-legal-links a:hover {
  color: var(--bi-color-champagne) !important;
}

/* Responsive configurations for Tablet */
@media (max-width: 1024px) {
  .bi-footer {
    padding: 50px 30px 30px 30px !important;
  }

  .bi-footer-grid {
    grid-template-columns: 1fr 1.2fr 1.2fr 1.5fr !important;
    gap: 30px !important;
  }

  .bi-col-contact {
    padding-left: 20px !important;
  }
}

/* Compact Mobile Layout */
@media (max-width: 768px) {
  .bi-footer {
    padding: 40px 20px 25px 20px !important;
  }

  .bi-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 30px 20px !important;
  }

  /* Make logo full width at the top */
  .bi-col-logo {
    grid-column: span 2 !important;
    margin-bottom: 10px !important;
    align-items: center !important; /* Keeps the logo & socials centered on mobile */
  }

  /* Make contact full width below the 2 columns */
  .bi-col-contact {
    grid-column: span 2 !important;
    border-left: none !important;
    padding-left: 0 !important;
    margin-top: 10px !important;
  }

  .bi-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 15px !important;
  }

  .bi-footer-legal-links {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
}

/* Container for the socials, placed underneath the logo */
.bi-footer-socials {
  display: flex !important;
  gap: 14px !important;         /* Horizontal spacing between icons */
  margin-top: 20px !important;  /* Spacing below the logo */
  align-items: center !important;
  justify-content: center !important; /* Centers icons horizontally inside the row */
}

/* Individual icon wrapper */
.bi-social-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  color: var(--bi-color-ivory) !important; /* Changed to bright ivory/white */
  transition: color 0.3s ease, transform 0.2s ease !important;
}

/* Hover state styling */
.bi-social-icon:hover {
  color: var(--bi-color-champagne) !important; /* Switches to brand champagne color on hover */
  transform: translateY(-2px) !important;     /* Subtle interactive shift */
}

/* SVG dimensions and styling */
.bi-svg-icon {
  width: 100% !important;
  height: 100% !important;
  fill: currentColor !important; /* Takes the color property set above */
}/* End custom CSS */