/* RF Uprising — mobile & tablet fixes (Roda + Elementor) */

html,
body {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

img,
video,
iframe,
.elementor-widget-image img,
.e-self-hosted-video-base {
  max-width: 100%;
  height: auto;
}

/* Disable custom cursor overlay on touch devices */
@media (hover: none), (pointer: coarse) {
  .cursor-follower,
  .custom-cursor,
  .vs-cursor,
  #cursor {
    display: none !important;
  }
}

/* Tablet */
@media (max-width: 1024px) {
  .breadcumb-title,
  .vs-breadcrumb__title {
    font-size: clamp(1.5rem, 4vw, 2.25rem) !important;
  }

  .elementor-section .elementor-container,
  .e-con {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .elementor-widget-n-tabs .e-n-tabs {
    --n-tabs-direction: column !important;
    --n-tabs-heading-width: 100% !important;
    --n-tabs-heading-direction: row !important;
    --n-tabs-heading-wrap: wrap !important;
    gap: 12px !important;
  }

  .elementor-widget-n-tabs .e-n-tabs-heading {
    width: 100% !important;
  }

  .elementor-widget-n-tabs .e-n-tab-title {
    flex: 1 1 auto;
    min-height: 48px;
    width: 100% !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .site-background,
  .breadcumb-wrapper.background-image,
  .elementor-section[data-settings*="background_background"] {
    background-attachment: scroll !important;
  }

  .breadcumb-wrapper {
    padding: 48px 0 32px !important;
  }

  .breadcumb-title {
    line-height: 1.2 !important;
    word-break: break-word;
  }

  .vs-menu-toggle,
  .vs-menu-toggle-wraper button,
  .vs-btn,
  .elementor-button,
  .e-n-tab-title,
  .e-n-accordion-item-title {
    min-height: 44px;
  }

  .vs-mobile-menu ul li a,
  .main-menu a {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .elementor-widget-n-tabs .e-n-tabs {
    --n-tabs-direction: column !important;
    --n-tabs-heading-width: 100% !important;
    --n-tabs-heading-direction: column !important;
  }

  .elementor-widget-n-tabs .e-n-tab-title {
    width: 100% !important;
    text-align: center;
  }

  .elementor-widget-n-tabs .e-n-tabs-content {
    width: 100% !important;
  }

  .elementor-widget-n-tabs .e-n-tabs-content > .e-con.e-active {
    flex-direction: column !important;
  }

  .elementor-widget-image-gallery .gallery,
  .elementor-image-gallery {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .elementor-widget-image-gallery .gallery-item,
  .elementor-image-gallery .gallery-item {
    max-width: 100% !important;
    width: 100% !important;
  }

  .e-n-accordion-item-title-text,
  .e-n-accordion-item-title h4 {
    font-size: 1rem !important;
    line-height: 1.3 !important;
  }

  .elementor-widget-heading .elementor-heading-title {
    word-break: break-word;
  }

  .vs-footer__grid,
  .site-footer__grid {
    grid-template-columns: 1fr !important;
    text-align: center;
  }

  .page-content,
  .entry-content,
  .vs-blog__content {
    padding: 1.25rem !important;
  }

  .container {
    width: min(100% - 1.25rem, var(--max-width, 1200px));
  }
}

@media (max-width: 480px) {
  .elementor-widget-image-gallery .gallery,
  .elementor-image-gallery {
    grid-template-columns: 1fr !important;
  }

  .hero__logo {
    max-width: min(320px, 88vw) !important;
  }
}
