.elementor-2961 .elementor-element.elementor-element-b5c00f9{padding:120px 0px 80px 0px;}.elementor-2961 .elementor-element.elementor-element-469b3c2:not(.elementor-motion-effects-element-type-background), .elementor-2961 .elementor-element.elementor-element-469b3c2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6F9FF;}.elementor-2961 .elementor-element.elementor-element-469b3c2{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:110px 0px 120px 0px;}.elementor-2961 .elementor-element.elementor-element-469b3c2 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-2961 .elementor-element.elementor-element-c55a14f > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-2961 .elementor-element.elementor-element-1df80c7 > .elementor-widget-container{padding:0px 0px 20px 0px;}.elementor-2961 .elementor-element.elementor-element-1df80c7 .back-title-border{-webkit-text-stroke:1px #D6E4FF;}.elementor-2961 .elementor-element.elementor-element-1df80c7{text-align:center;}.elementor-2961 .elementor-element.elementor-element-1ebd0bc > .elementor-container{max-width:1555px;text-align:start;}.elementor-2961 .elementor-element.elementor-element-f981ba9 .bdevs-el-pricing-content{padding:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-2961 .elementor-element.elementor-element-9828d5a{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-2961 .elementor-element.elementor-element-9828d5a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-2961 .elementor-element.elementor-element-9828d5a.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2961 .elementor-element.elementor-element-9828d5a .bdevs-el-pricing-content{padding:0px 0px 0px 0px;}.elementor-2961 .elementor-element.elementor-element-291616c{width:var( --container-widget-width, 113.945% );max-width:113.945%;--container-widget-width:113.945%;--container-widget-flex-grow:0;}.elementor-2961 .elementor-element.elementor-element-291616c.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2961 .elementor-element.elementor-element-291616c .bdevs-el-pricing-content{padding:0px 0px 0px 0px;}.elementor-2961 .elementor-element.elementor-element-a819fb4:not(.elementor-motion-effects-element-type-background), .elementor-2961 .elementor-element.elementor-element-a819fb4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#00235A;}.elementor-2961 .elementor-element.elementor-element-a819fb4{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:110px 0px 70px 0px;}.elementor-2961 .elementor-element.elementor-element-a819fb4 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-2961 .elementor-element.elementor-element-1fe5b1e:not(.elementor-motion-effects-element-type-background), .elementor-2961 .elementor-element.elementor-element-1fe5b1e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://tralconstruction.com/wp-content/uploads/2026/05/VILLA-465png.png");}.elementor-2961 .elementor-element.elementor-element-1fe5b1e{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-2961 .elementor-element.elementor-element-1fe5b1e > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-2961 .elementor-element.elementor-element-c20df8d .bdevs-el-btn{color:#000000;}.elementor-2961 .elementor-element.elementor-element-c20df8d{text-align:left;}.elementor-2961 .elementor-element.elementor-element-1695fb7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2961 .elementor-element.elementor-element-1695fb7:not(.elementor-motion-effects-element-type-background), .elementor-2961 .elementor-element.elementor-element-1695fb7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://tralconstruction.com/wp-content/uploads/2020/10/png-img-05.png");}.elementor-2961 .elementor-element.elementor-element-3f829123{--e-image-carousel-slides-to-show:4;}.elementor-2961 .elementor-element.elementor-element-3f829123 .elementor-swiper-button.elementor-swiper-button-prev, .elementor-2961 .elementor-element.elementor-element-3f829123 .elementor-swiper-button.elementor-swiper-button-next{font-size:0px;}.elementor-2961 .elementor-element.elementor-element-3f829123 .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:0px;--swiper-pagination-bullet-vertical-gap:0px;width:0px;height:0px;}@media(max-width:1024px){.elementor-2961 .elementor-element.elementor-element-e84122c > .elementor-element-populated{padding:0px 0px 30px 0px;}.elementor-2961 .elementor-element.elementor-element-08c85df > .elementor-element-populated{margin:0px 0px 30px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}}@media(max-width:1024px) and (min-width:768px){.elementor-2961 .elementor-element.elementor-element-e84122c{width:50%;}.elementor-2961 .elementor-element.elementor-element-08c85df{width:50%;}.elementor-2961 .elementor-element.elementor-element-9390729{width:50%;}}/* Start custom CSS for pricing_table, class: .elementor-element-f981ba9 *//* ===== PRICING CARDS ALIGNMENT FIX - V5 ===== */

/* Force full height on Elementor column wrappers */
.elementor-element-e84122c,
.elementor-element-08c85df,
.elementor-element-9390729 {
  display: flex !important;
  flex-direction: column !important;
}

/* Force full height on widget elements */
.elementor-element-f981ba9,
.elementor-element-9828d5a,
.elementor-element-291616c {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Force full height on widget containers */
.elementor-element-f981ba9 > .elementor-widget-container,
.elementor-element-9828d5a > .elementor-widget-container,
.elementor-element-291616c > .elementor-widget-container {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Each card fills its container */
.pricing__item.bdevs-el-pricing-content {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  box-sizing: border-box !important;
  padding-top: 30px !important;
}

/* Data block does NOT grow */
.pricing__item .pricing__data.mb-35 {
  flex: 0 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Title fixed height to absorb <br><br> differences */
.pricing__item .bdevselement-pricing-table-title {
  min-height: 90px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin-bottom: 16px !important;
}

/* Description fixed height */
.pricing__item .bdevselement-pricing-table-description {
  min-height: 180px !important;
  text-align: justify !important;
  text-justify: inter-word !important;
  padding: 0 10px !important;
}

/* Image block fixed height and centered */
.pricing__item .pricing__thumb {
  min-height: 150px !important;
  max-height: 150px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  flex-shrink: 0 !important;
}

/* Spacer block */
.pricing__item .pricing-list.mb-40 {
  flex-shrink: 0 !important;
  margin-bottom: 0 !important;
}

/* Button always pushed to bottom */
.pricing__item .pricing__content {
  margin-top: auto !important;
  flex-shrink: 0 !important;
  padding-bottom: 24px !important;
}

/* "Contactez-Nous" button styling */
.pricing__item .bdevselement-pricing-table-btn {
  display: inline-block !important;
  background-color: #f5a623 !important;
  color: #000000 !important;
  padding: 10px 24px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  border: 2px solid #f5a623 !important;
}

.pricing__item .bdevselement-pricing-table-btn:hover {
  background-color: #1a52a8 !important;
  color: #ffffff !important;
  border-color: #1a52a8 !important;
}

/* Yellow divider line */
.elementor-widget-heading .elementor-heading-title + *,
.elementor-widget-heading + .elementor-widget-divider .elementor-divider-separator {
  border-top: 3px solid #f5a623 !important;
  width: 80px !important;
  margin: 10px auto 30px auto !important;
}

.elementor-section .elementor-widget-divider .elementor-divider-separator {
  border-top: 3px solid #f5a623 !important;
}

/* Force equal height on Elementor columns */
.elementor-row {
  align-items: stretch !important;
  display: flex !important;
}

.elementor-column {
  display: flex !important;
  flex-direction: column !important;
}

.elementor-column > .elementor-widget-wrap {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.elementor-widget-bdevs-pricing-table,
.elementor-widget-bdevs-pricing-table > .elementor-widget-container,
.bdevs-pricing-table {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}/* End custom CSS */
/* Start custom CSS for pricing_table, class: .elementor-element-9828d5a *//* ===== PRICING CARDS ALIGNMENT FIX - V3 ===== */

/* Make each card a flex column */
.pricing__item.bdevs-el-pricing-content {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  box-sizing: border-box !important;
  padding-top: 30px !important; /* Space between header and card content */
}

/* Description block takes all available space */
.pricing__item .pricing__data.mb-35 {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Text justified on both ends */
.pricing__item .bdevselement-pricing-table-description {
  flex: 1 1 auto !important;
  min-height: 180px !important;
  text-align: justify !important;
  text-justify: inter-word !important;
  padding: 0 10px !important;
}

/* Title also justified */
.pricing__item .bdevselement-pricing-table-title {
  text-align: center !important;
  margin-bottom: 16px !important;
}

/* Image block fixed height and centered */
.pricing__item .pricing__thumb {
  min-height: 150px !important;
  max-height: 150px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

/* Spacer block */
.pricing__item .pricing-list.mb-40 {
  flex-shrink: 0 !important;
  margin-bottom: 0 !important; /* Reduce excess space above button */
}

/* Button closer to image, not too far down */
.pricing__item .pricing__content {
  margin-top: -100px !important; /* Reduced from auto to tighten spacing */
  flex-shrink: 0 !important;
  padding-bottom: 24px !important;
}

/* "Contactez-Nous" styled as a button with black text */
.pricing__item .bdevselement-pricing-table-btn {
  display: inline-block !important;
  background-color: #f5a623 !important;
  color: #000000 !important;
  padding: 10px 24px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  border: 2px solid #f5a623 !important;
}

.pricing__item .bdevselement-pricing-table-btn:hover {
  background-color: #1a52a8 !important;
  color: #ffffff !important;
  border-color: #1a52a8 !important;
}

/* Yellow divider line — appears AFTER "Nos Engagements" heading, before cards */
.elementor-widget-heading .elementor-heading-title + *,
.elementor-widget-heading + .elementor-widget-divider .elementor-divider-separator {
  border-top: 3px solid #f5a623 !important;
  width: 80px !important;
  margin: 10px auto 30px auto !important;
}

/* If the yellow line is a standalone divider widget below the section title */
.elementor-section .elementor-widget-divider .elementor-divider-separator {
  border-top: 3px solid #f5a623 !important;
}

/* Force equal height on Elementor columns */
.elementor-row {
  align-items: stretch !important;
  display: flex !important;
}

.elementor-column {
  display: flex !important;
  flex-direction: column !important;
}

.elementor-column > .elementor-widget-wrap {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.elementor-widget-bdevs-pricing-table,
.elementor-widget-bdevs-pricing-table > .elementor-widget-container,
.bdevs-pricing-table {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}/* End custom CSS */