/* 1rem = 1em = 16px  */
/* ************************************ */
/* BELOW 1200px (Smaller Screens) */
/* ************************************ */

@media (max-width: 75em) {
  html {
    font-size: 56.25%;
  }

  .grid--4-cols {
    grid-template-columns: repeat(6, 1fr);
  }

  .service-card {
    grid-column: span 2;
  }

  .service-card:nth-last-child(2) {
    grid-column: 2 / span 2;
  }

  .service-card:last-child {
    grid-column: 4 / span 2;
  }
}

/* ************************************ */
/* BELOW 976px (Tablets) */
/* ************************************ */

@media (max-width: 61em) {
  html {
    font-size: 50%;
  }

  .grid {
    gap: 1.6rem;
  }

  .heading-secondary {
    font-size: 2.4rem;
  }

  /* services section */

  .section-services {
    text-align: center;
  }

  /* equipment section */

  .info-box {
    padding: 2.4rem 2.4rem 0 0;
  }

  /* faq section  */

  .section-faq {
    text-align: center;
  }

  .faq-card {
    padding: 2.4rem 1.2rem;
    gap: 0.4rem;
    text-align: right;
  }

  .faq-content .heading-tertiary {
    font-size: var(--fs-body);
  }

  .faq-content .description-secondary {
    font-size: var(--fs-small);
  }

  .faq-icon {
    width: 2.4rem;
    height: 2.4rem;
  }

  /* contact section */

  .section-contact :not(.contact-label) {
    text-align: center;
  }

  .contact-grid {
    grid-template-columns: 1fr;
    max-width: 80rem;
    margin: 0 auto;
  }

  .address-box {
    grid-template-columns: 1fr 1fr;
    row-gap: 3.2rem;
  }

  .phone-numbers-box {
    justify-content: center;
  }

  .working-hours {
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
  }

  .working-hours li {
    width: 100%;
    max-width: 24rem;
    display: flex;
    justify-content: flex-end;
    gap: 1.2rem;
  }

  /* footer */

  .copyright {
    text-align: center;
  }
}

/* ************************************ */
/* BELOW 752px (Smaller-Tablets)  */
/* ************************************ */

@media (max-width: 47em) {
  .grid--4-cols {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid--2-cols {
    grid-template-columns: 1fr;
    width: fit-content;
    margin-inline: auto;
  }

  /* hero section */

  .hero {
    text-align: center;
    align-items: center;
    background-image:
      linear-gradient(
        45deg,
        rgba(0, 0, 0, 0.3) 0%,
        rgba(0, 0, 0, 0.6) 50%,
        rgba(0, 0, 0, 0.9) 100%
      ),
      url("../assets/images/hero-mobile.webp");
  }

  .hero-features {
    width: fit-content;
    margin: 0 auto 3.2rem;
  }

  .hero-buttons {
    justify-content: center;
  }

  .btn {
    width: 16rem;
    text-align: center;
  }

  .stats {
    padding: 0;
    justify-content: center;
  }

  /* about section */

  .grid-about {
    max-width: 60rem;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
  }

  .about-img-box {
    aspect-ratio: 3 / 2;
    grid-column: 1;
    grid-row: 1;
  }

  .about-text-box {
    padding: 2.4rem 0;
    grid-column: 1;
    grid-row: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .about-logo-box {
    padding: 2.4rem 0;
    grid-row: 3;
  }

  /* services section */

  .section-services .description {
    max-width: 44rem;
    margin: 0 auto;
  }

  .service-card,
  .service-card:nth-last-child(2),
  .service-card:last-child {
    grid-column: span 1;
  }

  /* equipment section */

  .info-box {
    justify-content: center;
    align-items: center;
    padding: 0;
    padding-top: 0.8rem;
  }

  .info-box .heading-secondary {
    font-size: var(--fs-h3);
    margin-bottom: 0.4rem;
  }

  .info-box .description {
    font-size: var(--fs-tiny);
    margin-bottom: 0.8rem;
  }

  .info-box ul {
    font-size: var(--fs-small);
    gap: 0.2rem;
  }

  /* faq section */

  .section-faq .description {
    max-width: 36rem;
    margin: 0 auto;
  }

  .faq-card {
    padding: 1.6rem 2.4rem;
    gap: 1.2rem;
  }

  .faq-icon {
    width: 3.6rem;
    height: 3.6rem;
  }

  /* contact section */

  .address-box {
    column-gap: 0;
  }

  .contact-item p,
  .working-hours span {
    font-size: var(--fs-small);
  }

  /* footer */

  .footer-links-row {
    grid-template-columns: 3fr 1fr;
    grid-template-rows: auto auto;
    gap: 2.4rem;
  }

  .address-col {
    grid-column: 1;
  }

  .footer-address {
    font-size: var(--fs-tiny);
  }

  .nav-col {
    grid-column: 2;
    grid-row: 1 / 2;
  }

  .social-col {
    display: flex;
    grid-column: span 2;
    border-top: 1px solid var(--color-border);
    padding-top: 3.2rem;
    justify-self: flex-start;
    gap: 2.4rem;
    width: 100%;
  }

  .social-col .footer-heading {
    margin-bottom: 0;
  }

  .social-links {
    gap: 4.8rem;
  }

  .social-icon {
    height: 3.6rem;
    width: 3.6rem;
  }

  /* MOBILE NAVIGATION */
  .btn-mobile-nav {
    display: block;
  }

  .main-nav {
    position: absolute;
    top: 10rem;
    left: 0;
    width: 100%;
    height: 32rem;
    background-color: var(--color-bg-white);
    border-radius: 0 0 var(--radius-default) var(--radius-default);
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transition: all 0.3s ease-in-out;
    padding-right: 6.4rem;
    clip-path: inset(0 0 100% 0);
    /* Make it unaccessible to mouse and keyboard */
    pointer-events: none;
    /* Hide it from screen readers */
    visibility: hidden;
  }

  .main-nav-list {
    flex-direction: column;
    align-items: flex-start;
    gap: 2.4rem;
  }

  .main-nav-link:link,
  .main-nav-link:visited {
    color: var(--color-text-dark);
    font-size: var(--fs-h3);
    font-weight: var(--fw-medium);
  }

  .main-nav-link:hover,
  .main-nav-link:active {
    color: var(--color-primary-dark);
  }

  .main-nav-link.nav-cta:link,
  .main-nav-link.nav-cta:visited {
    color: var(--color-text-dark);
    font-size: var(--fs-h3);
    font-weight: var(--fw-medium);
    padding: 0;
    background: none;
  }

  .main-nav-link.nav-cta:hover,
  .main-nav-link.nav-cta:active {
    color: var(--color-primary-dark);
    background: none;
  }

  .main-nav-link.nav-cta::after {
    display: block;
  }

  .sticky .header .main-nav {
    top: 9rem;
  }

  .nav-open .main-nav {
    pointer-events: auto;
    visibility: visible;
    clip-path: inset(0 0 0 0);
  }

  .nav-open .icon-mobile-nav[name="close-outline"] {
    display: block;
  }

  .nav-open .icon-mobile-nav[name="menu-outline"] {
    display: none;
  }

  .header.nav-open + .blur-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

/* ************************************ */
/* BELOW 544px (Phones) */
/* ************************************ */

@media (max-width: 34em) {
  html {
    font-size: 43.75%;
  }

  .container {
    padding: 0 1.2rem;
  }

  .grid {
    gap: 0.8rem;
  }

  .heading-primary {
    font-size: 3.6rem;
  }

  .heading-secondary {
    font-size: 2rem;
  }

  .description {
    font-size: var(--fs-small);
  }

  .description-secondary,
  .subheading {
    font-size: var(--fs-tiny);
  }

  /* hero section */

  .stat-card {
    padding: 1.2rem 2.4rem;
  }

  /* services section */

  .service-card {
    padding: 0.2rem 0.2rem 0.4rem;
  }

  .service-info p {
    font-size: var(--fs-tiny);
  }

  /* technician section */

  .section-technicians .heading-tertiary {
    font-size: var(--fs-small);
    margin-bottom: 0;
  }

  /* equipment section */

  .equipment {
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: auto auto auto;
  }

  .main-image {
    grid-row: 1;
    grid-column: 1 / -1;
  }

  .info-box {
    grid-column: 1 /-1;
    grid-row: 3;
    padding: 1.2rem 0;
    justify-items: center;
    align-items: center;
  }

  .info-box .description {
    font-size: var(--fs-small);
    margin-bottom: 0.8rem;
  }

  .info-box .heading-secondary {
    margin-bottom: 0;
  }

  .info-box ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    list-style: inside;
  }

  /* faq section */

  .faq-card {
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
  }

  .faq-content {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  /* contact section  */

  .address-box {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .contact-label {
    justify-content: center;
  }

  .contact-label svg {
    width: 2.4rem;
    height: 2.4rem;
  }

  .contact-item p {
    font-size: var(--fs-small);
  }

  /* footer */

  .footer-heading {
    font-size: var(--fs-body);
  }

  .footer-address {
    font-size: var(--fs-tiny);
  }

  .footer-links-row {
    gap: 1.2rem;
  }
}

/* - FONT SIZE SYSTEM (px)
10 / 12 / 14 / 16 / 18 / 20 / 24 / 30 / 36 / 44 / 52 / 62 / 74 / 86 / 98

- SPACING SYSTEM (px)
2 / 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 80 / 96 / 128 */
