/* Fixes on top of the original theme CSS (en.css / lt.css / ru.css), loaded after it.
   Each block names the defect it fixes (found in the 2026-10 audit of the live WordPress site). */

/* ---------- New elements (not in the old theme) ---------- */

/* contact form honeypot: off-screen, not display:none (some bots skip hidden fields) */
.ba-hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Turnstile replaces reCAPTCHA in the same slot */
.ba-turnstile { min-height: 65px; margin-bottom: 10px; }
.ba-turnstile:empty { min-height: 0; }

/* header + 404 search results (Pagefind) */
.ba-search-results ul { list-style: none; margin: 8px 0 0; padding: 0; max-height: 320px; overflow-y: auto; background: #fff; text-align: left; border: 1px solid #e6e6e6; border-radius: 4px; }
.ba-search-results li a, .ba-search-results li.ba-search-empty { display: block; padding: 7px 12px; color: #292463; font-size: 14px; line-height: 1.4; text-decoration: none; }
.ba-search-results li a:hover, .ba-search-results li a:focus { background: #f5f6fb; color: #4f70f8; }
.ba-search-results li + li { border-top: 1px solid #f0f0f0; }
.ba-search-results:empty { display: none; }

/* Google Maps placeholder until the visitor allows functional cookies */
.ba-map { background: #eef0f7; border: 1px solid #e1e4ef; overflow: hidden; }
.ba-map-consent { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding: 20px; text-align: center; color: #565968; font-size: 14px; }
.ba-map-consent p { max-width: 360px; margin: 0 0 14px; }

/* footer "Cookie settings" link next to the credit line */
.ba-cookie-sep { color: #4f70f8; margin: 0 6px; }

/* consent banner in the site's colours - only via the library's variables (keeps both buttons equal) */
#cc-main {
  --cc-font-family: 'Open Sans', Arial, sans-serif;
  --cc-btn-primary-bg: #4f70f8;
  --cc-btn-primary-border-color: #4f70f8;
  --cc-btn-primary-hover-bg: #3f5ac6;
  --cc-btn-primary-hover-border-color: #3f5ac6;
  --cc-btn-secondary-bg: #4f70f8;
  --cc-btn-secondary-color: #fff;
  --cc-btn-secondary-border-color: #4f70f8;
  --cc-btn-secondary-hover-bg: #3f5ac6;
  --cc-btn-secondary-hover-color: #fff;
  --cc-btn-secondary-hover-border-color: #3f5ac6;
  --cc-toggle-on-bg: #4f70f8;
  --cc-primary-color: #292463;
  --cc-link-color: #4f70f8;
}

/* desktop Services dropdown: the theme slid it down with jQuery (150 ms) */
@media (min-width: 768px) {
  .navbar .dropdown.open > .dropdown-menu { animation: ba-dropdown .15s ease-out; transform-origin: top; }
}
@keyframes ba-dropdown { from { opacity: 0; transform: scaleY(.7); } to { opacity: 1; transform: none; } }

/* ---------- Defects of the old site ---------- */

/* Footer (mobile): floated city links pushed "Useful links" next to them and the divider line
   ended up under the first row. Contain the floats inside their column. */
@media (max-width: 991px) {
  .widget-footer.borders::after { content: ""; display: block; clear: both; }
  .widget-footer.three-footer { clear: both; }
}

/* Location/service enquiry form (#402) on white background, below 992px: the theme only styled the
   dark "call back" form there, so typed text was white-on-white, the phone field (type=tel) was
   unstyled at 10px and placeholders were almost invisible. Use the desktop styles. */
@media (max-width: 992px) {
  form .wpcf7-form-control-wrap.text-48 input,
  form .wpcf7-form-control-wrap.email-725 input,
  form .wpcf7-form-control-wrap.tel-813 input,
  form .wpcf7-form-control-wrap.text-49 input {
    background-color: transparent; color: #435ab5; width: 100%; padding: 14px 10px; font-size: 17px;
    border: 1px solid #e6e6e6; border-radius: 5px;
  }
  form .wpcf7-form-control-wrap.text-48 input:focus,
  form .wpcf7-form-control-wrap.email-725 input:focus,
  form .wpcf7-form-control-wrap.tel-813 input:focus,
  form .wpcf7-form-control-wrap.text-49 input:focus { border-color: #98baf1; }
  .wpcf7-form-control-wrap.text-48 input::placeholder,
  .wpcf7-form-control-wrap.email-725 input::placeholder,
  .wpcf7-form-control-wrap.tel-813 input::placeholder,
  .wpcf7-form-control-wrap.text-49 input::placeholder,
  .wpcf7-form-control-wrap.textarea-482 textarea::placeholder { color: #596cb2; }
}

/* Big headings inherit a 22px line-height (or .8 via .title_lh) and overlapped themselves when they
   wrap on phones ("BRITANNIA ACCOUNTANTS", RU "ПОЛУЧИТЕ ОБРАТНЫЙ ОТВЕТ") */
@media (max-width: 767px) {
  .title_lh, .title-home, .title-form { line-height: 1.1; }
  /* RU/LT: the floated submit button let "Testimonials" flow up beside it */
  .title-form { clear: both; }
}

/* Sidebar service menu: long names were cut with "..." ("The Construction Industry Schem...") */
a.wrap { white-space: normal; overflow: visible; text-overflow: clip; max-width: 100%; }

/* LT/RU contact boxes: phone links were black on blue (EN had this rule in its custom CSS) */
.matias a { color: #fff; }

/* Blog breadcrumb item "Blog" was unstyled (black on navy) - extraction now gives it the inline
   style used on other pages; this covers links inside it */
.breadcrumb-holder a[property="item"] { text-decoration: none; }

/* header search: type="search" gets Bootstrap's content-box sizing - keep the old 230x34 field */
.search-well input[type="search"] { box-sizing: border-box; -webkit-appearance: none; appearance: none; }

/* footer (mobile): keep the centred credit line as before, "Cookie settings" goes on its own line */
@media (max-width: 767px) {
  .ba-cookie-sep { display: none; }
  .ba-cookie-settings { display: block; margin-top: 6px; }
}

/* Hero slider: slides with less text were shorter than the track, leaving a grey band under the
   photo (visible on RU mobile). Stretch every slide to the tallest one. */
.autoplay2 .slick-track { display: flex; }
.autoplay2 .slick-slide { height: auto; float: none; }

/* Testimonials page: boxes had a fixed 280px height, longer opinions (KL, RN) ran to/over the edge */
.test-box { height: auto; min-height: 280px; padding-bottom: 25px; vertical-align: top; }
.test-text3::after { flex-shrink: 0; margin-left: 10px; } /* quote icon touched the text on phones */
