/* Posira — shared responsive styles */

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

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

/* Header mobile menu */
@media (max-width: 860px) {
  header {
    position: relative;
  }

  [data-nav-menu] {
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    z-index: 120;
    box-shadow: 0 12px 28px rgba(10, 10, 10, 0.08);
  }

  body.posira-nav-open {
    overflow: hidden;
  }

  nav {
    padding-left: 16px !important;
    padding-right: 16px !important;
    gap: 12px !important;
  }
}

/* FAQ */
.posira-faq-item summary::-webkit-details-marker {
  display: none;
}

/* Grids */
@media (max-width: 900px) {
  .posira-how {
    grid-template-columns: 1fr !important;
  }

  .posira-how > .rv[style*="sticky"] {
    position: static !important;
  }

  .posira-support {
    grid-template-columns: 1fr !important;
  }

  [data-hero-testi] {
    grid-template-columns: 1fr !important;
  }

  [data-three] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    padding: 28px !important;
  }

  .posira-repl {
    grid-template-columns: 1fr !important;
    text-align: center;
    gap: 10px !important;
  }

  .posira-repl > span:nth-child(2) {
    transform: rotate(90deg);
    justify-self: center;
  }
}

@media (max-width: 768px) {
  section[style*="padding"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  section[style*="padding: 100px"],
  section[style*="padding:100px"] {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }

  section[style*="padding: 80px"],
  section[style*="padding:80px"] {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .posira-2col,
  .posira-3col,
  .posira-price,
  .posira-feat,
  .posira-agents {
    grid-template-columns: 1fr !important;
  }

  .posira-feat .posira-feat-img {
    order: -1;
  }

  .posira-feature-post {
    grid-template-columns: 1fr !important;
  }

  .posira-contact {
    grid-template-columns: 1fr !important;
  }

  .posira-3col > .rv {
    border-left: none !important;
    border-right: none !important;
  }

  h1 br,
  h2 br {
    display: none;
  }
}

@media (max-width: 480px) {
  nav {
    height: 60px !important;
  }

  [data-nav-menu] {
    top: 60px;
  }

  [data-three] > div:first-child {
    font-size: 48px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .posira-ping-el {
    animation: none !important;
  }
}
