/* THE RED – phone view: remove extra space, compact grids */
@media (max-width: 767px) {
  html, body { overflow-x: hidden; }

  /* Header: compact */
  .stm_mobile__header { padding: 10px 0 !important; }
  .stm_mobile__header .stm_flex { min-height: 0 !important; }
  .stm_mobile__logo img { max-height: 42px !important; width: auto !important; }

  /* Spacers: much smaller on phones */
  .stm_spacer .visible-xs { height: 20px !important; max-height: 20px; }
  .vc_empty_space { height: 15px !important; }
  .vc_row, .vc_section { margin-bottom: 0 !important; }
  .vc_custom_heading { margin-bottom: 10px !important; }
  h1, h2, h3 { line-height: 1.25 !important; }

  /* Home: product boxes 2 per row, less padding */
  .vc_row.vc_inner:has(.stm_infobox_style_8) { display: flex !important; flex-wrap: wrap; margin-left: -6px !important; margin-right: -6px !important; }
  .vc_row.vc_inner:has(.stm_infobox_style_8) > .wpb_column { width: 50% !important; float: none !important; }
  .vc_row.vc_inner:has(.stm_infobox_style_8) > .wpb_column > .vc_column-inner { padding: 0 6px !important; }
  .vc_row.vc_inner:has(.stm_infobox_style_8) .wpb_wrapper { padding-bottom: 12px !important; height: 100%; }
  .stm_infobox_style_8, .stm_infobox_style_8 .clearfix, .stm_infobox_style_8 .stm_animation { height: 100%; margin: 0 !important; }
  .stm_infobox_style_8 .stm_infobox__content { padding: 14px 8px 12px !important; height: 100%; }
  .stm_infobox_style_8 h4 { font-size: 14px !important; line-height: 1.3 !important; margin: 0 0 10px !important; min-height: 36px; }
  .stm_infobox_style_8 img { width: 100%; height: auto; }
  .stm_infobox_style_8 .stm_infobox__content > *:last-child { margin-bottom: 0 !important; }

  /* Product pages (Signage, Display, ...): 2 per row */
  .stm_projects_grid__posts .stm_loop { display: flex !important; flex-wrap: wrap; margin: 0 -6px !important; }
  .stm_projects_grid__posts .stm_projects_carousel__item { width: 50% !important; float: none !important;
       padding: 0 6px !important; margin: 0 0 18px !important; }
  .stm_projects_grid__posts .stm_projects__meta a, .stm_projects_grid__posts .stm_projects__meta .h6 {
       font-size: 13px !important; line-height: 1.3 !important; margin: 6px 0 0 !important; display: block; }
  .stm_projects_grid__posts .stm_projects__thumbnail img { width: 100%; height: auto; }
  .stm_projects_grid__posts .stm_loop { height: auto !important; }
  .stm_projects_grid__posts .stm_projects_carousel__item { position: relative !important; left: auto !important; top: auto !important; transform: none !important; }

  /* Footer / site bottom padding */
  .site-content, .stm_markup { padding-bottom: 20px !important; }
  #wrapper > div, .stm_layout > div { padding-bottom: 0 !important; }
  footer, .stm-footer { padding-top: 25px !important; padding-bottom: 20px !important; }

  /* WhatsApp button smaller */
  .ht-ctc-chat img, .ht_ctc_chat_style img { width: 44px !important; height: 44px !important; }
}
@media (max-width: 767px) {
  /* all product boxes flow 2-per-row across the separate rows */
  .wpb_wrapper:has(> .vc_row.vc_inner .stm_infobox_style_8) { display: flex !important; flex-wrap: wrap; margin: 0 -6px; }
  .wpb_wrapper:has(> .vc_row.vc_inner .stm_infobox_style_8) > * { width: 100%; }
  .wpb_wrapper:has(> .vc_row.vc_inner .stm_infobox_style_8) > .vc_row.vc_inner { display: contents !important; }
  .wpb_wrapper:has(> .vc_row.vc_inner .stm_infobox_style_8) > .vc_row.vc_inner > .wpb_column { width: 50% !important; display: flex; }
  .wpb_wrapper:has(> .vc_row.vc_inner .stm_infobox_style_8) > .vc_row.vc_inner > .wpb_column > .vc_column-inner { width: 100%; }
  .stm_infobox_style_8 p { margin: 0 !important; padding: 0 !important; }
  .stm_infobox_style_8 ~ .stm_spacer, .vc_column-inner .stm_infobox_style_8 + .stm_spacer { display: none !important; }
  .stm_mobile__logo img { max-height: none !important; width: 95px !important; height: auto !important; }
}
@media (max-width: 767px) {
  /* Home portfolio grid had -80px top margin -> covered the "Portfolio" heading */
  .vc_column-inner.vc_custom_1531817174621 { margin-top: 0 !important; }
}
@media (max-width: 767px) {
  .stm_infobox_style_8 .stm_infobox__content img { margin: 0 !important; display: block; }
  .stm_infobox_style_8 .stm_infobox__content p { line-height: 0 !important; }
  .stm_infobox_style_8 h4 { min-height: 0 !important; }
  .stm_infobox_style_8 .stm_infobox__content { display: flex; flex-direction: column; justify-content: space-between; }
}
@media (max-width: 767px) {
  #wrapper { padding-bottom: 10px !important; }
  .stm_markup { margin-bottom: 0 !important; padding-bottom: 10px !important; }
  .stm_mobile__header { padding: 8px 0 !important; }
  .stm_mobile__header .container, .stm_mobile__header .stm_flex { height: auto !important; min-height: 0 !important; }
  /* Contact page info boxes: smaller headings */
  .stm_infobox h3, .stm_infobox h2, .stm_icon_box h3, .stm_iconbox h3, .stm_iconbox__title { font-size: 22px !important; line-height: 1.3 !important; margin: 8px 0 !important; }
}
