/* ==== Elementor 2.x -> 4.x compatibility (stage B, H-13) ====
   Elementor >= 3 dropped .elementor-row / .elementor-column-wrap (optimised DOM). Constico's grid gutter rules
   (style.css "Misc": container padding 1.00806rem, .elementor-row margin -1.00806rem, populated column padding
   0 1.00806rem) are re-expressed for the new DOM so Elementor 2.x pages keep their production geometry:
   container padding + row margin  ->  one container padding (if >= 0) or negative margin (if < 0).
   Containers that still hold hand-written 2.x markup (an HTML widget with .elementor-row) keep the theme rules. */
.elementor-section .elementor-column-gap-default.elementor-container:not(:has(> .elementor-row)) {
  display: flex; }
.elementor-section:not(.elementor-section-full_width) > .elementor-column-gap-default.elementor-container:not(:has(> .elementor-row)) {
  padding-left: 0; padding-right: 0; }
.content-layout-boxed .elementor-section:not(.elementor-section-full_width) > .elementor-column-gap-default.elementor-container:not(:has(> .elementor-row)),
.elementor-column-gap-default.elementor-container .elementor-section:not(.elementor-section-full_width) > .elementor-column-gap-default.elementor-container:not(:has(> .elementor-row)) {
  margin-left: -1.00806rem; margin-right: -1.00806rem; }
.elementor-column-gap-default > .elementor-column:not(.elementor-column-custom-padding) > .elementor-element-populated {
  padding: 0 1.00806rem; }
/* hand-written 2.x section markup inside HTML widgets: the 2.x frontend.css row/column-wrap rules */
.elementor-row { width: 100%; display: flex; }
@media (max-width: 767px) { .elementor-row { flex-wrap: wrap; } }
.elementor-column-wrap { width: 100%; position: relative; display: flex; }
/* 2.x icon box: block wrapper unless the icon sits left/right (4.x: position-inline-start/-end); 3.x+ always uses a column flexbox */
.elementor-widget-icon-box:not(.elementor-position-inline-start):not(.elementor-position-inline-end) .elementor-icon-box-wrapper { display: block; }
/* icon box position classes renamed in 3.x+ (left/right/top -> inline-start/inline-end/block-start): theme rules copied */
.elementor-widget-icon-box.elementor-position-block-start .elementor-icon-box-title {margin-bottom: 9px; }
.elementor-widget-icon-box.elementor-position-inline-start .elementor-icon-box-title {width: 100%;
  margin-top: 3px;
  margin-bottom: 9px; }
.single .elementor-widget-icon-box.elementor-position-inline-start .elementor-icon-box-title {margin-top: 13px;
    margin-bottom: 2px; }
/* icon-list icon size: 2.x wrote icon_size as per-widget rules (`... .elementor-icon-list-icon i { font-size }` and the
   icon box `width`), more specific than Constico's `.elementor-widget-icon-list .elementor-icon-list-icon i
   { font-size: 12px }`. 4.x only sets --e-icon-list-icon-size, which loses to that theme rule (icons shrank to 12px)
   and adds `width: 1.25em` to the glyph. Re-applied with 2.x geometry; unset size keeps the theme's 12px. */
.elementor-widget-icon-list .elementor-icon-list-items .elementor-icon-list-icon i {
  font-size: var(--e-icon-list-icon-size, 12px); width: auto; }
.elementor-widget-icon-list .elementor-icon-list-items .elementor-icon-list-icon {
  width: var(--e-icon-list-icon-size, auto); box-sizing: content-box; }   /* 4.x puts the gap on this box as padding */
/* icon-list items: 2.x aligned the icon to the top of a multi-line item (align-items: flex-start); 3.x+ centres it
   unless the widget sets --icon-vertical-align. */
.elementor-widget .elementor-icon-list-item, .elementor-widget .elementor-icon-list-item a {
  align-items: var(--icon-vertical-align, flex-start); }
/* 2.x icon box was a plain block (glyph sits on the text line); 3.x+ makes it a flexbox (glyph jumps to the top) */
.elementor-widget .elementor-icon-list-icon { display: block; }
/* One-off (owner: match production), page 1205 /contact/ icon list 8872bd6: 2.x applied its 14px text indent to every
   line, including the line without an icon; 4.x puts the indent on the icon, so that line fell back to 10px. */
.elementor-1205 .elementor-element-8872bd6 .elementor-icon-list-item:not(:has(.elementor-icon-list-icon)) .elementor-icon-list-text {
  padding-left: 14px; }
/* ==== H-18 (owner): "STILL HAVE QUESTIONS?" call-to-action above the footer ====
   Elementor template 2027 (services-about-sidebar, placed by the Constico Elementor-template widget on every page):
   section 710 > column 1fd3 > image 10f8, spacer 79d1, heading 3c36, spacer 4737, text 44a4, spacer 620d, button 65c2.
   >= 1024 px: two columns - photo left at full panel height (object-fit cover), heading/text/button right, vertically
   centred, left-aligned, 48 px padding, panel at least 360 px. Below 1024 px: stacked as before, photo full width. */
@media (min-width: 1024px) {
  .elementor-2027 .elementor-element-1fd3 > .elementor-widget-wrap {
    display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr auto auto auto auto auto 1fr;
    min-height: 360px; padding: 0 !important; }
  .elementor-2027 .elementor-element-1fd3 > .elementor-widget-wrap > .elementor-element {
    grid-column: 2; margin: 0; padding-left: 48px; padding-right: 48px; text-align: left; }
  .elementor-2027 .elementor-element-10f8 {
    grid-column: 1 !important; grid-row: 1 / -1; position: relative; padding: 0 !important; min-height: 360px; }
  .elementor-2027 .elementor-element-10f8 .elementor-widget-container,
  .elementor-2027 .elementor-element-10f8 a { position: absolute; inset: 0; }
  .elementor-2027 .elementor-element-10f8 img {
    position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none; object-fit: cover; }
  .elementor-2027 .elementor-element-79d1 { display: none; }
  .elementor-2027 .elementor-element-3c36 { grid-row: 2; }
  .elementor-2027 .elementor-element-4737 { grid-row: 3; }
  .elementor-2027 .elementor-element-44a4 { grid-row: 4; }
  .elementor-2027 .elementor-element-620d { grid-row: 5; }
  .elementor-2027 .elementor-element-65c2 { grid-row: 6; }
  .elementor-2027 .elementor-element-3c36 .elementor-heading-title,
  .elementor-2027 .elementor-element-44a4,
  .elementor-2027 .elementor-element-65c2 .elementor-button-wrapper { text-align: left; } }
@media (max-width: 1023px) {
  .elementor-2027 .elementor-element-10f8 img { width: 100%; height: auto; }
  .elementor-2027 .elementor-element-3c36 .elementor-heading-title,
  .elementor-2027 .elementor-element-44a4,
  .elementor-2027 .elementor-element-65c2 .elementor-button-wrapper { text-align: center; } }
