/**
 * Rank Push Digital - Responsive enhancements
 * (Header uses theme default breakpoints — max-width 1023px for mobile menu)
 */

html {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
}

img,
video,
iframe {
  max-width: 100%;
  height: auto;
}

.page-wrapper {
  overflow-x: hidden;
}

/* Site logo — larger brand mark in header */
.header-1 .main-box > .logo {
  flex-shrink: 0;
  min-width: 180px;
}

.header-1 .main-box > .logo img {
  max-height: 76px;
  width: auto;
  display: block;
}

.header-1 .sticky-header .logo img {
  max-height: 58px;
}

.header-1 .mobile-menu .nav-logo img {
  max-height: 52px;
}

@media (max-width: 1023.98px) {
  .header-1 .main-box > .logo img {
    max-height: 54px;
  }
}

/* Tablet */
@media (max-width: 991.98px) {
  .section-padding {
    padding: 70px 0 !important;
  }

  .hero-2 .hero-content .hero-items {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 24px;
  }

  .sercice-top-text.text-end {
    text-align: left !important;
  }

  .footer-bottom-wrapper {
    flex-direction: column;
    gap: 16px;
    text-align: center;
  }

  .footer-bottom .social-icon {
    justify-content: center;
    flex-wrap: wrap;
  }

  .blog-box,
  .news-block,
  .pricing-block {
    margin-bottom: 24px;
  }
}

/* Mobile */
@media (max-width: 767.98px) {
  .section-padding {
    padding: 56px 0 !important;
  }

  .hero-2 {
    padding: 140px 0 80px !important;
  }

  .hero-2 .hero-content .hero-text {
    font-size: 15px;
    line-height: 1.7;
  }

  .about-items-2 .title {
    font-size: 22px !important;
    line-height: 1.4 !important;
  }

  .pricing-block .inner-box,
  .service-block-two .inner-box {
    margin-bottom: 16px;
  }

  .footer-lets-talk .title {
    font-size: 28px !important;
    line-height: 1.3 !important;
  }

  .page-title .title {
    font-size: 32px !important;
  }

  .contact-form .form-group,
  .contact-page-form input,
  .contact-page-form textarea {
    width: 100% !important;
  }

  .btn-style-one {
    width: 100%;
    justify-content: center;
  }
}

/* Small mobile */
@media (max-width: 575.98px) {
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .main-header .logo img {
    max-height: 46px !important;
  }

  .ui-btn-outer .search-btn {
    width: 36px !important;
    height: 36px !important;
    font-size: 12px !important;
  }

  .hero-2 .hero-content .hero-info .ratting-top span {
    font-size: 28px !important;
  }

  .blog-box .inner-box,
  .project-block-two .inner-block,
  .team-block .inner-box {
    margin-bottom: 20px;
  }
}

/* Touch devices — disable custom cursor */
@media (hover: none), (pointer: coarse) {
  .mouseCursor,
  .cursor-outer,
  .cursor-inner {
    display: none !important;
  }

  body,
  a,
  button {
    cursor: auto !important;
  }
}

.mobile-menu-visible {
  overflow: hidden;
}

.mobile-menu .navigation > li > a {
  font-size: 16px;
  padding: 12px 0;
}
