﻿/* ==========================================================================
   RAPID POWER — responsive.css
   Phase 1 responsive overrides (Bootstrap 5 base handles most)
   ========================================================================== */

/* ----------  < xl (max 1199)  ---------- */
@media (max-width: 1199.98px) {
  .rp-trust__inner {
    grid-template-columns: repeat(3, 1fr);
  }
  .rp-client-strip {
    grid-template-columns: repeat(3, 1fr);
  }
  .rp-hero {
    min-height: 80vh;
  }
}

/* ----------  < lg (max 991)  ---------- */
@media (max-width: 991.98px) {
  .rp-logo {
    height: 56px;
  }
  .rp-header.is-scrolled .rp-logo {
    height: 48px;
  }

  /* navbar offcanvas-like mobile menu */
  .rp-navbar .navbar-collapse {
    background: #fff;
    border-top: 1px solid var(--rp-border);
    padding: 1rem;
    margin-top: 0.5rem;
    border-radius: 0 0 var(--rp-radius-lg) var(--rp-radius-lg);
    box-shadow: var(--rp-shadow-md);
    max-height: 72vh;
    overflow-y: auto;
  }
  .rp-navbar .nav-link {
    padding: 0.85rem 0.6rem !important;
  }
  .rp-navbar .dropdown-menu {
    border: none;
    box-shadow: none;
    padding-left: 1rem;
    min-width: 0;
  }
  .rp-navbar .dropdown-item {
    padding: 0.6rem 0.6rem;
  }
  .rp-nav-cta {
    margin-left: 0;
    margin-top: 0.6rem;
    padding-top: 0.6rem;
    border-top: 1px solid var(--rp-border);
  }
  .rp-nav-cta .rp-btn {
    width: 100%;
  }

  .rp-hero {
    min-height: 72vh;
  }
  .rp-hero h1 {
    font-size: clamp(1.7rem, 5vw, 2.5rem);
  }

  .page-banner {
    padding: 72px 0 56px;
  }

  .rp-trust__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8rem;
    padding: 1.1rem 0;
  }
  .rp-trust__item + .rp-trust__item {
    border-left: none;
    padding-left: 0;
  }
  .rp-trust__item {
    padding-right: 0;
  }
  .rp-trust__label {
    font-size: 0.75rem;
  }

  .cta-section {
    padding: 56px 0;
  }

  .rp-client-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .rp-footer__main {
    padding: 46px 0 32px;
  }
  .rp-footer__logo {
    height: 64px;
  }
}

/* ----------  < md (max 767)  ---------- */
@media (max-width: 767.98px) {
  .section {
    padding: 56px 0;
  }
  .section--sm {
    padding: 40px 0;
  }
  .section--tight {
    padding: 32px 0;
  }

  .rp-hero {
    min-height: 68vh;
  }
  .rp-hero__content {
    padding: 100px 0 70px;
  }
  .rp-hero h1 {
    font-size: clamp(1.5rem, 6vw, 2.2rem);
  }
  .rp-hero__diagonal {
    display: none;
  }

  .rp-trust__inner {
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
    padding: 0.9rem 0;
  }
  .rp-trust__item {
    gap: 0.5rem;
  }
  .rp-trust__icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    font-size: 1rem;
  }
  .rp-trust__label {
    font-size: 0.68rem;
  }
  .rp-trust__label span {
    font-size: 0.64rem;
  }

  .section-head {
    margin-bottom: 2rem;
  }

  .rp-steps li {
    padding-left: 62px;
  }
  .rp-steps li::before {
    width: 46px;
    height: 46px;
    font-size: 0.95rem;
  }
  .rp-steps li::after {
    left: 22px;
    top: 50px;
  }

  .rp-timeline li {
    padding-left: 64px;
  }
  .rp-timeline li::before {
    width: 48px;
    height: 48px;
    font-size: 0.95rem;
  }
  .rp-timeline::before {
    left: 23px;
  }

  .rp-calc__body {
    padding: 1.4rem;
  }

  .rp-map-embed {
    height: 320px;
  }

  .rp-form-wrap {
    padding: 1.4rem;
  }

  .rp-job {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.2rem 1.3rem;
  }
  .rp-job__meta i {
    margin-left: 0;
  }

  .rp-client-strip {
    grid-template-columns: 1fr;
    gap: 0.7rem;
  }

  .rp-footer__bottom {
    text-align: center;
  }
  .rp-footer__bottom-links {
    justify-content: center;
    margin-top: 0.5rem;
  }
}

/* ----------  < sm (max 575)  ---------- */
@media (max-width: 575.98px) {
  .section {
    padding: 44px 0;
  }
  .section--sm {
    padding: 34px 0;
  }

  .rp-hero {
    min-height: 64vh;
  }
  .rp-hero__content {
    padding: 80px 0 60px;
  }
  .rp-hero h1 {
    font-size: clamp(1.35rem, 7vw, 1.9rem);
  }
  .rp-hero p.rp-hero__lead {
    font-size: 0.96rem;
  }
  .rp-hero h3.rp-hero__sub {
    font-size: clamp(1rem, 3.4vw, 1.3rem);
  }
  .rp-hero__actions {
    flex-direction: column;
  }
  .rp-hero__actions .rp-btn {
    width: 100%;
  }

  .page-banner {
    padding: 62px 0 48px;
  }
  .page-banner h1 {
    font-size: clamp(1.4rem, 6vw, 1.9rem);
  }

  .rp-trust__inner {
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }

  .rp-calc__result {
    padding: 1rem 0.7rem;
  }
  .rp-calc__result-value {
    font-size: 1.4rem;
  }

  .rp-footer__logo {
    height: 58px;
  }

  .rp-btn {
    min-height: 46px;
    padding: 0.7rem 1.5rem;
  }
  .rp-nav-cta .rp-btn {
    min-height: 44px;
    font-size: 0.72rem;
  }

  .project-card .rp-card__meta {
    font-size: 0.72rem;
  }
}

/* ----------  < xs (max 375)  ---------- */
@media (max-width: 375px) {
  .rp-hero {
    min-height: 60vh;
  }
  .rp-hero h3.rp-hero__sub {
    font-size: clamp(0.95rem, 3.6vw, 1.15rem);
  }
  .rp-trust__inner {
    grid-template-columns: 1fr;
  }
  .page-banner {
    padding: 54px 0 42px;
  }
  .rp-footer__main {
    padding: 36px 0 24px;
  }
}

/* ----------  < 360  ---------- */
@media (max-width: 360px) {
  .section {
    padding: 36px 0;
  }
  .rp-hero {
    min-height: 56vh;
  }
}