/* Tech Tonics mobile/responsive cleanup - added 2026-06-05
   Purpose: fix hard-coded plugin widths and older theme mobile behavior without changing desktop layout. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
video,
iframe,
embed,
object {
  max-width: 100%;
  height: auto;
}

.entry-content,
.site-content,
.widget,
.main-container {
  overflow-wrap: anywhere;
  word-break: normal;
}

.entry-content table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

.mainWrapper,
.wpvsbb_menu-main,
.vsbb-grid,
.vsbb-grid__col {
  max-width: 100% !important;
  min-width: 0 !important;
}

@media only screen and (max-width: 767px) {
  #page.container,
  .container,
  .main-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  #page.container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .site-header {
    padding: 10px 0 20px !important;
  }

  .custom-logo-link img,
  img.custom-logo {
    max-width: 220px !important;
    height: auto !important;
  }

  .site-description {
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
  }

  .grid2x2 {
    display: block !important;
    width: 100% !important;
  }

  .grid2x2 > div,
  .grid2x2 > div > div,
  .boxy {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
  }

  .boxy {
    margin: 14px 0 !important;
  }

  .vsbb-image-caption-view {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 5 / 3;
    border-width: 6px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .vsbb-image-caption-view img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  .vsbb-image-caption-view .vsbb-image-caption-mask,
  .vsbb-image-caption-view .vsbb-image-caption-content {
    width: 100% !important;
    max-width: 100% !important;
  }

  .vsbb-image-caption-view h2,
  h2.vsbb-image-caption-heading {
    font-size: 15px !important;
    line-height: 1.2 !important;
    padding: 8px !important;
  }

  .vsbb-image-caption-view customp,
  .vsbb-image-caption-view p,
  .vsbb-angular-text-wrapper h1 {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  .cycle-caption {
    left: 5% !important;
    right: auto !important;
    width: 90% !important;
    top: auto !important;
    bottom: 28px !important;
    padding: 7px 10px !important;
  }

  #main-slider h3,
  .cycle-caption h3 {
    font-size: 16px !important;
    line-height: 1.2 !important;
    margin-bottom: 3px !important;
  }

  #main-slider p,
  .cycle-caption p {
    font-size: 12px !important;
    line-height: 1.25 !important;
  }

  .footer-widget-area,
  .footer-widget-area.col-sm-2,
  .footer-widget-area.col-sm-3 {
    width: 100% !important;
  }
}

@media only screen and (max-width: 479px) {
  .col-sm-8.site-branding,
  .row.header-layout-2 .col-sm-12.site-branding {
    padding-left: 48px !important;
    padding-right: 48px !important;
  }

  #page > a#mobile-trigger {
    left: 14px !important;
    top: 22px !important;
  }

  .cycle-caption p {
    display: none !important;
  }
}

/* Mobile menu contrast/readability cleanup */
@media only screen and (max-width: 767px) {
  body .mm-menu,
  body .mm-panels,
  body .mm-panel {
    background: #f7f7f7 !important;
    color: #222 !important;
  }

  body .mm-navbar,
  body .mm-navbars_top,
  body .mm-navbars_bottom {
    background: #eeeeee !important;
    border-color: rgba(0, 0, 0, 0.14) !important;
  }

  body .mm-listview > li > a,
  body .mm-listview > li > span,
  body .mm-menu .mm-navbar a,
  body .mm-menu .mm-navbar .mm-title,
  body .mm-menu .mm-btn {
    color: #222 !important;
    text-shadow: none !important;
  }

  body .mm-listview > li,
  body .mm-listview > li:after,
  body .mm-menu .mm-listview > li:before {
    border-color: rgba(0, 0, 0, 0.16) !important;
  }

  body .mm-menu .mm-listview > li > a.mm-next:after,
  body .mm-menu .mm-btn:after,
  body .mm-menu .mm-btn:before,
  body .mm-menu .mm-listview > li > a.mm-subopen:after,
  body .mm-menu .mm-listview > li > a.mm-subclose:before {
    border-color: #555 !important;
  }

  body .mm-listview > li > a:hover,
  body .mm-listview > li > a:focus {
    background: #e9e9e9 !important;
  }
}
