/* --- 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 --- */
  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;
  }

  /* --- 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;
  }
  .vc_row h2,
  .vc_row .vc_custom_heading h2 {
    font-size: 22px !important;
    line-height: 1.3 !important;
  }
  .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;
  }
  .sc_testimonials_item_content p {
    font-size: 15px !important;
    text-align: center !important;
  }
  .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;
  }
  .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;
  }
}