/**
 * Buchard front-end tweaks
 * 1. Homepage Mission / Vision / Valeurs — equal height from real content,
 *    Valeurs scrolls. (Elementor had 352px/423px bottom margins on the first
 *    two .section-text blocks — those must be zeroed or height stays huge.)
 * 2. Contact page phone alignment.
 */

@media only screen and (min-width: 768px) {
  .elementor-element-5871c4f {
    --align-items: flex-start;
    --container-widget-height: auto;
    --container-widget-align-self: flex-start;
  }
  .elementor-element-5871c4f > .e-con-inner {
    align-items: flex-start !important;
  }
  .elementor-element-5871c4f > .e-con-inner > .e-con {
    align-self: flex-start;
    height: auto !important;
    min-height: 0 !important;
  }
  .elementor-element-5871c4f .elementor-widget,
  .elementor-element-5871c4f .elementor-widget-container,
  .elementor-element-5871c4f .sec-process-grid.process {
    height: auto !important;
    min-height: 0 !important;
  }

  .elementor-element-5871c4f .sec-process-grid.process .item {
    display: flex;
    flex-direction: column;
    padding: 30px 22px 46px;
    box-sizing: border-box;
    height: auto;
  }

  /*
   * CRITICAL: Elementor custom CSS set margin-bottom: 352px / 423px on
   * Mission / Vision .section-text to fake equal heights. That inflated
   * every JS measurement. Kill it.
   */
  .elementor-element-5871c4f .sec-process-grid.process .item .section-text {
    margin: 0 !important;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 8px;
    line-height: 1.5;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.28) transparent;
  }
  .elementor-element-5871c4f .sec-process-grid.process .item .section-text::-webkit-scrollbar {
    width: 6px;
  }
  .elementor-element-5871c4f .sec-process-grid.process .item .section-text::-webkit-scrollbar-track {
    background: transparent;
  }
  .elementor-element-5871c4f .sec-process-grid.process .item .section-text::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.28);
    border-radius: 3px;
  }
  .elementor-element-5871c4f .sec-process-grid.process .item:hover .section-text {
    scrollbar-color: rgba(255, 255, 255, 0.6) transparent;
  }
  .elementor-element-5871c4f .sec-process-grid.process .item:hover .section-text::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.6);
  }
}

body.page-id-907 .linebreak .contact-box .item p,
body.page-id-907 .linebreak .contact-box .item p a {
  text-align: left;
}

/* Services carousel: keep images in color (theme default is B/W until hover). */
.services1 .wrap img,
.services1 .wrap .wrapper-img img {
  filter: brightness(100%) contrast(100%) saturate(100%) blur(0px) hue-rotate(0deg);
}
