/* KVT Concrete – alignment & phone-view fixes */

/* forms: busy state + confirmation box */
.kvt-form.kvt-busy .gform_button { opacity: .6; cursor: wait; }
.gform_confirmation_message { padding: 18px 20px; border-left: 4px solid #46b450; background: #fff; color: #333;
  box-shadow: 0 3px 15px rgba(0,0,0,.08); font-size: 15px; line-height: 1.6; }
.gform_wrapper .gfield_error input, .gform_wrapper .gfield_error textarea { border-color: #c02b0a !important; }
.gform_wrapper .kvt-msg { color: #c02b0a; font-size: 13px; margin-top: 4px; }
.gform_wrapper .gform_validation_errors { margin-bottom: 15px; }
.gform_wrapper .h-captcha { max-width: 100%; }

@media (max-width: 767px) {
  /* no sideways scrolling on phones (slide-in animations / off-screen menu) */
  html, body { overflow-x: hidden; }
  #wrapper, .xrton-main-wrap { overflow-x: hidden; }


  /* Home: "Our Highlights" boxes 2 per row */
  .vc_row:has(img[src*="quality-1"]) .vc_col-sm-3 { width: 50% !important; float: left; padding: 0 6px !important; }
  .vc_row:has(img[src*="quality-1"]) .vc_col-sm-3 > .vc_column-inner { padding-left: 0 !important; padding-right: 0 !important; }
  .vc_row:has(img[src*="quality-1"]) .box { width: 100% !important; max-width: 100% !important; }
  .vc_row:has(img[src*="quality-1"]) .box p { width: auto !important; padding: 0 6px; }
  .vc_row:has(img[src*="quality-1"]) .vc_col-sm-3 h4, .vc_row:has(img[src*="quality-1"]) .vc_col-sm-3 h5,
  .vc_row:has(img[src*="quality-1"]) .vc_col-sm-3 p { font-size: 13px !important; line-height: 1.35 !important; }

  /* Home: "Our Process" circles 3 per row */
  .vc_row:has(img[src*="process-1"]) .vc_col-sm-2 { width: 33.333% !important; float: left; }
  .vc_row:has(img[src*="process-1"]) .vc_col-sm-2 > .vc_column-inner { padding-left: 5px !important; padding-right: 5px !important; }
  .vc_row:has(img[src*="process-1"]) .vc_col-sm-2 h6.vc_custom_heading { font-size: 15px !important; line-height: 1.3 !important; margin-top: 8px !important; }


  /* big headings */
  h1 { font-size: 28px !important; line-height: 1.25 !important; }
  .section-title, h2 { line-height: 1.3 !important; }

  /* notable projects / clients table */
  table { max-width: 100%; }
  .wpb_wrapper table td, .wpb_wrapper table th { font-size: 12px !important; padding: 6px !important; word-break: break-word; }

  /* WhatsApp button smaller */
  a.float { width: 48px !important; height: 48px !important; line-height: 48px !important; font-size: 26px !important; bottom: 20px !important; left: 15px !important; }
  a.float i { margin-top: 0 !important; line-height: 48px !important; }

  /* hCaptcha fits card */
  .gform_wrapper .h-captcha { transform: scale(.85); transform-origin: left top; height: 68px; }
}
@media (max-width: 767px) {
  .vc_row.vc_inner:has(img[src*="quality-1"]), .vc_row.vc_inner:has(img[src*="clock"]), .vc_row.vc_inner:has(img[src*="strength"]), .vc_row.vc_inner:has(img[src*="no-waste"]) {
    display: flex !important; flex-wrap: wrap; margin-left: 4px !important; margin-right: 4px !important; }
  .vc_row:has(img[src*="quality-1"]) .vc_row.vc_inner .vc_col-sm-3,
  .vc_row.vc_inner:has(img[src*="quality-1"]) .vc_col-sm-3 { float: none !important; display: flex; margin-bottom: 12px; }
  .vc_row:has(img[src*="quality-1"]) .vc_col-sm-3 > .vc_column-inner,
  .vc_row:has(img[src*="quality-1"]) .vc_col-sm-3 .wpb_wrapper,
  .vc_row:has(img[src*="quality-1"]) .vc_col-sm-3 .wpb_text_column { width: 100%; height: 100%; margin-bottom: 0 !important; }
  .vc_row:has(img[src*="quality-1"]) .box { height: 100% !important; min-height: 160px; display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 0 !important; }
}
@media (max-width: 767px) {
  .vc_row:has(img[src*="quality-1"]) .box { padding: 22px 8px !important; min-height: 150px; }
  .vc_row:has(img[src*="quality-1"]) .vc_col-sm-3 { margin-bottom: 14px !important; }
}
@media (max-width: 767px) {
  /* Products page: 8 photos 2 per row */
  .vc_row.vc_inner:has(img[src*="product-"]) { display: flex !important; flex-wrap: wrap; }
  .vc_col-sm-3:has(img[src*="product-"]) { width: 50% !important; float: none !important; }
  .vc_col-sm-3:has(img[src*="product-"]) > .vc_column-inner { padding-left: 6px !important; padding-right: 6px !important; }
  /* grade table: keep short codes on one line */
  .wpb_wrapper table:has(td:nth-child(3)) td:nth-child(-n+2) { white-space: nowrap; word-break: normal !important; overflow-wrap: normal !important; }
}
@media (max-width: 767px) {
  .wpb_wrapper table td, .wpb_wrapper table th { font-size: 11px !important; padding: 5px 4px !important; word-break: normal !important; overflow-wrap: break-word; hyphens: auto; }
}
/* Contact page: the phone layout had an empty "Career Form" card (the form was only
   in the desktop row). Show the real form card on phones/tablets and hide the empty one. */
@media (max-width: 991px) {
  .vc_col-sm-6.vc_hidden-sm.vc_hidden-xs:has(#gform_wrapper_2) { display: block !important; width: 100% !important; float: none; }
  .vc_col-sm-6.vc_hidden-lg.vc_hidden-md.vc_col-has-fill:not(:has(form)):not(:has(.xrton-contact-info)) { display: none !important; }
}
/* phone: hamburger aligned with the logo (was sitting too low) */
@media (max-width: 991px) {
  .meanmenu-reveal { top: 23px !important; margin-top: 0 !important; background: transparent !important; }
}
