/*
 * RG Tecnoservice Theme — Responsive and accessibility
 * Version: 1.0.1
 * Scope: .rg-site
 */

/* ==========================================================================
   16. RESPONSIVE
   ========================================================================== */

@media (max-width: 1199.98px) {
  .rg-site {
    --rg-section-y: 76px;
  }

  .rg-site .rg-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .rg-site {
    --rg-section-y: 70px;
    --rg-header-offset: 78px;
  }

  .rg-site .rg-split {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .rg-site .rg-grid--3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rg-site .rg-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 20px;
  }

  .rg-site .rg-process::before {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .rg-site {
    --rg-section-y: 60px;
    --rg-gutter: 16px;
    --rg-header-offset: 72px;
  }

  .rg-site h1,
  .rg-site .rg-h1 {
    font-size: clamp(38px, 11vw, 44px);
    line-height: 1.08;
  }

  .rg-site h2,
  .rg-site .rg-h2 {
    font-size: clamp(31px, 9vw, 36px);
    line-height: 1.13;
  }

  .rg-site h3,
  .rg-site .rg-h3 {
    font-size: 22px;
  }

  .rg-site .rg-lead {
    font-size: 16px;
  }

  .rg-site .rg-section-head {
    margin-bottom: 34px;
  }

  .rg-site :is(
    .rg-grid--2,
    .rg-grid--3,
    .rg-grid--4,
    .rg-process
  ) {
    grid-template-columns: 1fr;
  }

  .rg-site .rg-card,
  .rg-site .rg-service-card {
    padding: 26px 24px;
  }

  .rg-site .rg-btn,
  .rg-site .elementor-button,
  .rg-site .wpcf7-submit,
  .rg-site input[type="submit"],
  .rg-site button[type="submit"] {
    width: 100%;
  }

  .rg-site .rg-process-step {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 0 18px;
    text-align: left;
  }

  .rg-site .rg-process-step__dot {
    grid-row: 1 / span 2;
    margin: 0;
  }

  .rg-site .rg-cta::before,
  .rg-site .rg-cta::after {
    opacity: .4;
  }

  .rg-site .rg-faq__button {
    min-height: 64px;
    font-size: 16px;
  }
}

/* ==========================================================================
   17. ACCESSIBILITY / REDUCED MOTION
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .rg-site *,
  .rg-site *::before,
  .rg-site *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}

@media (forced-colors: active) {
  .rg-site .rg-btn,
  .rg-site .rg-card,
  .rg-site .rg-service-card,
  .rg-site .rg-project-card {
    border: 1px solid CanvasText;
  }
}
