/* TIH Solutions - Mobile Responsiveness Fixes */
/* Targets: Elementor sections, Bootstrap grid, Jobbox theme classes */

@media (max-width: 767.98px) {
  /* === GLOBAL OVERFLOW FIX === */
  html,
  body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
  }

  img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* === TOP INFO BAR === */
  .top-info-bar {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 8px 15px !important;
    font-size: 13px !important;
    text-align: center !important;
  }

  .top-info-bar span {
    margin: 0 !important;
  }

  /* === HEADER - Preserve burger icon visibility === */
  .header .container {
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    overflow: visible !important;
  }

  .header .main-header {
    max-width: 100% !important;
    overflow: visible !important;
  }

  .header .main-header .header-right {
    display: none !important;
  }

  /* Hide only the text nav menu, NOT the burger icon */
  .header .nav-main-menu {
    display: none !important;
  }

  /* Ensure burger icon is visible and clickable */
  .burger-icon {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 9999 !important;
  }

  /* Mobile offcanvas menu must not be clipped */
  .mobile-header-active,
  .offcanvas {
    overflow: visible !important;
    z-index: 10000 !important;
  }

  /* === HERO / BANNER SECTION === */
  .banner-hero,
  .banner-hero.hero-2,
  .banner-hero.hero-3 {
    max-width: 100vw !important;
    width: 100% !important;
    overflow: hidden !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .banner-hero .block-banner {
    padding: 0 15px !important;
    max-width: 100% !important;
  }

  /* Fix Elementor slideshow background overflow */
  .elementor-section-full_width {
    max-width: 100vw !important;
    overflow: hidden !important;
  }

  .elementor-section-full_width > .elementor-container {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* Force all slide backgrounds to cover (one was set to contain) */
  .swiper-slide-bg {
    background-size: cover !important;
    background-position: center !important;
  }

  /* Constrain swiper slides */
  .elementor-slides-wrapper,
  .elementor-main-swiper,
  .swiper {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .swiper-slide {
    max-width: 100% !important;
  }

  .swiper-slide-contents {
    max-width: 90% !important;
    padding: 0 10px !important;
  }

  /* Fix the Elementor background overlay */
  .elementor-background-overlay {
    max-width: 100% !important;
  }

  /* Hero section slideshow container */
  .elementor-element-7931cbd7 {
    max-width: 100vw !important;
    overflow: hidden !important;
  }

  /* === ELEMENTOR CONTAINERS === */
  .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .elementor-container {
    max-width: 100% !important;
  }

  .elementor-widget-wrap {
    max-width: 100% !important;
  }

  .elementor-widget-container {
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  .e-con,
  .e-con-inner {
    max-width: 100% !important;
  }

  /* Fix the specific element with 350px left margin */
  .elementor-1341 .elementor-element.elementor-element-1479791 > .elementor-widget-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Elementor columns stack on mobile */
  .elementor-col-50,
  .elementor-col-33,
  .elementor-col-25 {
    width: 100% !important;
  }

  /* Fix Elementor max-width containers that exceed viewport */
  .elementor-element > .elementor-container[style*="max-width"] {
    max-width: 100% !important;
  }

  /* === FORM FIND (search form in hero) === */
  .banner-hero .block-banner .form-find {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .banner-hero .block-banner .form-find form {
    display: block !important;
    max-width: 100% !important;
  }

  /* === CATEGORY / FILTER TABS === */
  .nav.nav-tabs,
  .nav-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  .nav-tabs li {
    flex-shrink: 0 !important;
  }

  .nav-tabs li a {
    margin: 0 !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
  }

  .list-tabs {
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Job filter bar */
  .box-filters-job {
    flex-wrap: wrap !important;
    max-width: 100% !important;
  }

  .box-filters .list-tags-job {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  .job-fillter.d-flex {
    display: block !important;
  }

  .job-fillter.d-flex .dropdown {
    margin: 0 0 10px 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* === FOOTER - Force Bootstrap cols to stack with tight spacing === */
  .footer.mt-50 {
    margin-top: 20px !important;
  }

  .footer.pt-30 {
    padding-top: 15px !important;
  }

  .footer .container {
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .footer .row {
    flex-direction: column !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    gap: 0 !important;
  }

  .footer .footer-col-1,
  .footer .footer-col-3,
  .footer .footer-col-4,
  .footer .footer-col-5,
  .footer .footer-col-6,
  .footer [class*="col-md-"],
  .footer [class*="col-sm-"],
  .footer [class*="col-xs-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 5px 15px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Hide the empty footer-col-2 (contains only an empty paragraph) */
  .footer .footer-col-2 {
    display: none !important;
  }

  /* Reduce widget spacing inside footer columns */
  .footer .widget {
    margin-bottom: 5px !important;
  }

  .footer .widget h6 {
    margin-bottom: 8px !important;
  }

  /* Remove block spacer widgets in footer */
  .footer .wp-block-spacer {
    height: 5px !important;
    min-height: unset !important;
  }

  /* Remove empty paragraphs in footer */
  .footer p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Reduce footer-bottom spacing */
  .footer-bottom.mt-50 {
    margin-top: 15px !important;
  }

  .footer-bottom .row {
    flex-direction: column !important;
    text-align: center !important;
  }

  .footer-bottom .col-md-6 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    text-align: center !important;
    margin-bottom: 5px !important;
  }

  /* Tighten footer menu list spacing */
  .footer .menu li {
    margin-bottom: 3px !important;
  }

  /* === SIDEBAR === */
  .sidebar-border,
  .sidebar-shadow {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .sidebar-shadow.none-shadow {
    padding: 0 !important;
  }

  .sidebar-list-job ul li .sidebar-text-info {
    max-width: calc(100% - 30px) !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  /* === CONTENT PAGE === */
  .content-page {
    max-width: 100% !important;
    overflow: hidden !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .content-page .card-grid-2 .card-block-info {
    padding: 0 15px 20px 15px !important;
  }

  /* === GENERAL CONTAINERS === */
  .container,
  .container-fluid {
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  /* === JOB TAGS === */
  .job-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }

  /* === NEWSLETTER === */
  .box-newsletter {
    padding: 30px 15px !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .box-newsletter .box-form-newsletter {
    max-width: 100% !important;
  }

  .box-newsletter .box-form-newsletter form {
    flex-direction: column !important;
    gap: 10px !important;
  }

  /* === SECTION OVERFLOW === */
  .section-box {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* === TABLES === */
  table {
    display: block !important;
    overflow-x: auto !important;
    max-width: 100% !important;
  }

  /* === MOBILE GRID FIX (Elementor Grid Container) === */
  .e-grid.e-con {
    --e-con-grid-template-columns: repeat(1, 1fr) !important;
  }

  /* === ELEMENTOR MARGIN FIX === */
  .elementor-element .elementor-widget-container[style*="margin: 0px 0px 0px 350px"],
  .elementor-element .elementor-widget-container[style*="margin:0px 0px 0px 350px"] {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Elementor sections with max-width exceeding viewport */
  .elementor-element > .elementor-container {
    max-width: 100% !important;
  }
}

@media (max-width: 575.98px) {
  /* === EXTRA SMALL SCREENS === */
  .footer .footer-col-1,
  .footer .footer-col-3,
  .footer .footer-col-4,
  .footer .footer-col-5,
  .footer .footer-col-6 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 5px 15px !important;
  }

  .footer .footer-col-2 {
    display: none !important;
  }

  .nav-tabs li a {
    padding: 8px 10px !important;
    font-size: 11px !important;
  }

  .top-info-bar {
    font-size: 12px !important;
    padding: 6px 10px !important;
  }

  .swiper-slide-contents {
    max-width: 95% !important;
  }

  /* Sidebar avatar stack */
  .sidebar-border .sidebar-heading .avatar-sidebar,
  .sidebar-shadow .sidebar-heading .avatar-sidebar {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .sidebar-border .sidebar-heading .avatar-sidebar .sidebar-info,
  .sidebar-shadow .sidebar-heading .avatar-sidebar .sidebar-info {
    padding-left: 0 !important;
    margin-top: 10px !important;
  }

  .box-list-character {
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
  }
}
