/* ==========================================================================
   MOBILE RESPONSIVE FIXES (added 2026-03-30)
   ========================================================================== */

/* --- FAQ Q/A LABEL SPACING (all viewports) --- */
.vc_toggle.vc_toggle_arrow {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.vc_toggle.vc_toggle_arrow .vc_toggle_title {
  padding-left: 32px !important;
  padding-right: 32px !important;
}

.vc_toggle.vc_toggle_arrow .vc_toggle_content {
  padding-left: 32px !important;
  padding-right: 15px !important;
}

@media (max-width: 768px) {

  /* --- GLOBAL COLUMN FIXES --- */
  .vc_row .vc_col-sm-1, .vc_row .vc_col-sm-2, .vc_row .vc_col-sm-3,
  .vc_row .vc_col-sm-4, .vc_row .vc_col-sm-5, .vc_row .vc_col-sm-6,
  .vc_row .vc_col-sm-7, .vc_row .vc_col-sm-8, .vc_row .vc_col-sm-9,
  .vc_row .vc_col-sm-10, .vc_row .vc_col-sm-11, .vc_row .vc_col-sm-12 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    float: none !important;
  }

  .vc_row [class*="vc_col-xs-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    float: none !important;
  }

  /* --- HIDE EMPTY SPACER COLUMNS --- */
  .vc_row .vc_col-sm-1:empty,
  .vc_row .vc_col-sm-1 > .vc_column-inner:empty {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* --- REMOVE EXCESSIVE PADDING & HEIGHTS --- */
  .vc_row, .vc_row .wpb_column, .vc_row .vc_column-inner {
    min-height: 0 !important;
  }

  .vc_row[style*="padding-top"],
  .vc_row[style*="padding-bottom"] {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }

  .vc_column-inner[style*="padding-top"],
  .vc_column-inner[style*="padding-bottom"] {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }

  /* --- HERO SECTION (full-bleed with padding compensation) --- */
  body .page_wrap section.sw-static-hero {
    min-height: auto !important;
    padding: 60px calc(50vw - 50%) 40px calc(50vw - 50%) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  body .page_wrap section.sw-static-hero h1, .sw-static-hero .sw-hero-title {
    font-size: 26px !important;
    line-height: 1.3 !important;
    padding: 0 15px !important;
    word-break: normal !important;
  }

  body .page_wrap section.sw-static-hero p, .sw-static-hero .sw-hero-subtitle {
    font-size: 14px !important;
    line-height: 1.5 !important;
    padding: 0 15px !important;
  }

  body .page_wrap section.sw-static-hero a {
    margin-left: 15px !important;
  }

  /* --- ICON/FEATURE BOXES --- */
  .sc_icons {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }

  .sc_icons .sc_icons_item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 15px !important;
  }

  /* --- TEXT READABILITY --- */
  .wpb_text_column, .wpb_text_column p, .wpb_wrapper p {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
  }

  /* --- BUTTONS --- */
  .sc_button, .vc_btn3-container, .wpb_wrapper .sc_button_wrap {
    text-align: center !important;
  }

  /* --- GENERAL OVERFLOW FIX --- */
  body, .page_wrap, .page_content_wrap, .content_wrap {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  /* --- ROW FLEX FIXES --- */
  .vc_row.vc_row-flex {
    flex-direction: column !important;
  }

  .vc_row.vc_row-flex > .wpb_column {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }

  /* --- SERVICE ICON BOXES --- */
  .sc_services_item.sc_services_item_featured_left,
  .sc_services_item.sc_services_item_featured_right {
    display: block !important;
    text-align: center !important;
  }

  .sc_services_item .sc_services_item_info {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: center !important;
  }

  .sc_services_item .sc_services_item_icon {
    position: static !important;
    display: block !important;
    margin: 0 auto 15px !important;
    float: none !important;
    text-align: center !important;
  }

  .sc_services_item {
    position: relative !important;
    text-align: center !important;
    padding: 20px 15px !important;
  }

  /* --- COMMON QUESTIONS / FAQ TOGGLE FIX --- */
  .vc_toggle.vc_toggle_arrow .vc_toggle_title {
    margin-left: 0 !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .vc_toggle .vc_toggle_title h4,
  .vc_toggle .vc_toggle_title h5,
  .vc_toggle .vc_toggle_title h6,
  .vc_toggle .vc_toggle_title .vc_custom_heading {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .vc_toggle.vc_toggle_arrow .vc_toggle_content {
    margin-left: 0 !important;
    padding-left: 32px !important;
    padding-right: 15px !important;
  }

  .vc_toggle .vc_toggle_icon {
    right: 2px !important;
    left: auto !important;
  }

  /* --- CONSISTENT TEXT SIZING --- */
  .wpb_text_column p,
  .wpb_wrapper p,
  .vc_row p {
    font-size: 15px !important;
    line-height: 1.6 !important;
    text-align: left !important;
  }

  .sc_icons .sc_icons_item p,
  .sc_services_item p {
    font-size: 15px !important;
    text-align: center !important;
  }

  body .page_wrap section.sw-static-hero p {
    font-size: 15px !important;
    text-align: left !important;
  }

  /* Normalize all H2 section headings */
  .vc_row h2,
  .vc_row .vc_custom_heading h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }

  /* Normalize all H6 sub-titles including FAQ questions */
  .vc_toggle .vc_toggle_title h4,
  .vc_toggle .vc_toggle_title h5,
  .vc_toggle .vc_toggle_title h6 {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }

  /* Testimonial text */
  .sc_testimonials_item_content p {
    font-size: 15px !important;
    text-align: center !important;
  }

  /* Normalize blog post H5 titles */
  .vc_row h5 {
    font-size: 20px !important;
    line-height: 1.3 !important;
  }
}

@media (max-width: 480px) {
  body .page_wrap section.sw-static-hero h1, .sw-static-hero .sw-hero-title {
    font-size: 24px !important;
  }
  .vc_row h2 { font-size: 20px !important; }
  .vc_row[style*="padding-top"],
  .vc_row[style*="padding-bottom"] {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
}
/* --- FOOTER LINKEDIN LOGO (show on mobile, hide duplicate row) --- */
@media (max-width: 768px) {
  .footer_wrap .sc_layouts_hide_on_mobile {
    display: flex !important;
    flex-wrap: wrap !important;
  }
  .footer_wrap .vc_custom_1545662001437 {
    display: none !important;
  }
  /* Force LinkedIn footer section to full width and centred on mobile */
  .footer_wrap .vc_custom_1542279684814 .vc_row.vc_inner {
    flex-direction: row !important;
    flex-wrap: wrap !important;
  }
  .footer_wrap .vc_custom_1542279684814 .wpb_column,
  .footer_wrap .vc_custom_1542279684814 .vc_column-inner,
  .footer_wrap .vc_custom_1542279684814 .wpb_wrapper,
  .footer_wrap .vc_custom_1542279684814 .wpb_single_image,
  .footer_wrap .vc_custom_1542279684814 .sc_content {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }
}