/* Post-build fidelity fixes */
html, body { overflow-x: hidden; }

/* Stop image-card hover zoom from moving the page horizontally */
.dipl_image_card,
.dipl_image_card_image_wrapper { overflow: hidden; }

/* Keep the footer email at its inherited colour (the footer is pale pink,
   not the red contact block). */
.et_pb_blurb_3_tb_footer .et_pb_module_header a,
.et_pb_blurb_3_tb_footer .et_pb_module_header a span,
.et_pb_blurb_3_tb_footer .et_pb_module_header span { color: inherit !important; }

/* Blog filter/pagination links now navigate normally (no AJAX) */
.el-dbe-post-categories a { cursor: pointer; }
#blog-list, .el-dbe-blog-extra { scroll-margin-top: 100px; }

/* Mobile blog filter: keep it in normal flow instead of overlaying the posts. */
@media (max-width: 767px) {
  .el-dbe-filterable-categories { height: auto !important; }
  .el-dbe-post-categories { position: static !important; height: auto !important; background: transparent !important; padding: 0 !important; margin: 0 0 18px !important; }
  .el-dbe-post-categories li { margin: 0 4px 6px !important; }
  .el-dbe-post-categories li a { background: #f4f4f4; border-radius: 2px; }

  /* The storefront photo was hidden by the Divi mobile breakpoint. */
  body #page-container .et_pb_image_1_tb_footer { display: block !important; }
  body #page-container .et_pb_image_1_tb_footer img { width: 100% !important; height: 170px !important; object-fit: cover; }
  .et_pb_column_3_tb_footer { height: auto !important; }
}

/* Hero company name / tagline: stop the tagline from overflowing into the name. */
.et_pb_section_4 .et_pb_row_0 { padding-left: 20px !important; padding-right: 20px !important; }
.et_pb_section_4 .et_pb_text_0 { width: 100% !important; max-width: 100% !important; }
.et_pb_section_4 .et_pb_text_0 .et_pb_text_inner {
  position: relative; min-height: 90px; padding-left: 105px;
  display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
  font-size: 28px !important; line-height: 1.2 !important;
}
.et_pb_section_4 .custom-logo-img {
  position: absolute !important; left: 0; top: 0;
  width: 90px !important; height: 90px !important;
}
.et_pb_section_4 .custom-company-name { display: block; font-size: 20px !important; line-height: 1.25 !important; }
@media (max-width: 767px) {
  .et_pb_section_4 .et_pb_text_0 .et_pb_text_inner { min-height: 72px; padding-left: 84px; font-size: 24px !important; }
  .et_pb_section_4 .custom-logo-img { width: 72px !important; height: 72px !important; }
  .et_pb_section_4 .custom-company-name { font-size: 16px !important; }
}
.et_pb_section_4 .et_pb_text_2 { width: 100% !important; max-width: 100% !important; }
.et_pb_section_4 .et_pb_text_2 p {
  font-size: clamp(16px, 1.35vw, 22px) !important;
  line-height: 1.3 !important;
  white-space: normal !important;
  max-width: 100% !important;
  margin: 0 !important;
}
/* Project detail gallery */
.dipl_tabs_content img { width: 100% !important; height: auto !important; max-width: 100% !important; }
.hw-single-image .dipl_tabs_controls { display: none !important; }
.hw-single-image .dipl_tabs_content img { width: 100% !important; height: auto !important; }
.et_pb_text_inner p > .et-pb-icon { margin-right: 16px !important; vertical-align: middle; }
body.single-project .dipl_tabs_content .dipl_tabs_item,
body.single-project .dipl_tabs_content .dipl_single_tab_content { padding: 0 !important; }
body.single-project .dipl_tabs_0 { padding-bottom: 28px !important; }
body.single-project .dipl_tabs_controls img { width: 52px !important; height: 52px !important; object-fit: cover !important; }
body.single-project .dipl_tabs_controls { flex-wrap: nowrap !important; gap: 2px !important; }
body.single-project .dipl_tabs_controls .dipl_tabs_item_title { width: 52px !important; flex: 0 0 52px !important; padding: 0 !important; margin: 0 !important; }
body.single-project .dipl_tabs_controls .dipl_tabs_item_title_inner_wrap { width: 52px !important; height: 52px !important; padding: 0 !important; }
body.single-project .et_pb_row_1 { display: flex !important; flex-wrap: nowrap !important; align-items: flex-start; gap: 28px; }
body.single-project .et_pb_row_1 > .et_pb_column {
  float: none !important; flex: 1 1 0 !important; width: auto !important;
  max-width: none !important; margin: 0 !important;
}
@media (max-width: 767px) {
  body.single-project .et_pb_row_1 { display: block !important; gap: 0 !important; }
  body.single-project .et_pb_row_1 > .et_pb_column {
    flex: 0 0 100% !important; width: 100% !important; max-width: 100% !important;
  }
}
.el-blog-empty { padding: 40px 0; text-align: center; }
@media (max-width: 767px) {
  .el-dbe-filterable-mobile-categories { display: none !important; }
  .el-dbe-post-categories { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 6px; }
  .el-dbe-post-categories li { margin: 0 !important; }
}


/* Contact footer: map and storefront image share one width, capped height. */
.et_pb_section_0_tb_footer .et_pb_code_1_tb_footer {
  left: 0 !important; right: auto !important; margin: 0 !important;
}
.et_pb_section_0_tb_footer .et_pb_code_1_tb_footer,
.et_pb_section_0_tb_footer .et_pb_image_1_tb_footer {
  width: 100% !important; max-width: 100% !important; display: block !important;
  margin: 0 !important;
}
.et_pb_section_0_tb_footer .et_pb_code_1_tb_footer iframe,
.et_pb_section_0_tb_footer .et_pb_image_1_tb_footer img {
  width: 100% !important; max-width: 100% !important; height: 200px !important;
  display: block !important; object-fit: cover;
}
.et_pb_section_0_tb_footer .et_pb_image_1_tb_footer .et_pb_image_wrap { display: block !important; width: 100% !important; }
@media (max-width: 980px) {
  .et_pb_section_0_tb_footer .et_pb_row_1_tb_footer > .et_pb_column {
    width: 100% !important; max-width: 100% !important; float: none !important;
    margin: 0 0 18px !important;
  }
  .et_pb_section_0_tb_footer .et_pb_code_1_tb_footer iframe,
  .et_pb_section_0_tb_footer .et_pb_image_1_tb_footer img { height: 190px !important; }
}
@media (max-width: 480px) {
  .et_pb_section_0_tb_footer .et_pb_code_1_tb_footer iframe,
  .et_pb_section_0_tb_footer .et_pb_image_1_tb_footer img { height: 170px !important; }
}

@media (max-width: 767px) {
  .dipl_image_card_title { font-size: 18px !important; }
  .et_pb_button { font-size: 16px !important; }
}
