/* =========================================================
   10. WEBSITES SHOWCASE
   ========================================================= */

.websites-showcase {
  padding: 110px 28px 60px;

  background:
    linear-gradient(
      to bottom,
      var(--white) 0%,
      rgba(255, 255, 255, 0.98) 25%,
      rgba(255, 255, 255, 0.753) 60%,
      rgba(255, 255, 255, 0.719) 100%
    ),
    url("../../images/Webstore-background.webp");

  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
}

.websites-container {
  max-width: 1200px;

  margin: 0 auto;

  padding-top: 80px;
}

/* ---------------------------------------------------------
   Section Header
   --------------------------------------------------------- */

.websites-header {
  display: grid;
  grid-template-columns: 2fr 1fr;
  align-items: end;

  gap: 60px;

  margin-bottom: 55px;
}

.websites-heading .eyebrow {
  margin-bottom: 20px;
}

.websites-heading h2 {
  max-width: 600px;

  margin: 0;

  font-size: clamp(42px, 4.5vw, 62px);
  font-weight: 700;
  line-height: 0.98;

  letter-spacing: -0.055em;

  text-transform: uppercase;
}

.websites-heading h2 em {
  color: var(--green-soft);
  font-style: normal;
}

.websites-intro {
  max-width: 330px;

  margin: 0 0 5px;

  padding-bottom: 2em;

  color: var(--muted);

  font-size: 15px;
  line-height: 1.7;
}

/* =========================================================
   18. WEBSITES — BROWSE ALL CTA
   ========================================================= */

.websites-cta {
  display: flex;
  justify-content: center;

  margin-top: 55px;
}

.websites-cta .text-link {
  display: inline-flex;
  align-items: center;

  gap: 12px;

  padding-bottom: 4px;

  color: var(--ink);

  font-size: 13px;
  font-weight: 700;

  text-decoration: none;

  transition:
    gap 0.2s ease,
    color 0.2s ease;
}

.websites-cta .text-link span {
  font-size: 17px;
}

.websites-cta .text-link:hover {
  gap: 17px;
  color: var(--mint);
}

@media (max-width: 950px) {
  /* -------------------------------------------------------
     Websites Showcase
     ------------------------------------------------------- */

  .websites-showcase {
    padding: 90px 28px 100px;
  }

  .websites-header {
    z-index: 2;

    display: grid;
    grid-template-columns: 2fr 1fr;
    align-items: end;
    column-gap: 80px;

    padding-bottom: 65px;
  }

  .websites-intro {
    max-width: 500px;

    padding-bottom: 0;
  }

  /* Controls */

  .websites-controls {
    align-items: flex-start;

    flex-direction: column;

    gap: 20px;
  }

  .website-search {
    width: 100%;
    max-width: 400px;
  }

  .website-filters {
    width: 100%;
  }

  /* Grid */

  .website-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 35px 20px;
  }
}

/* =========================================================
   22. RESPONSIVE — SMALL MOBILE
   ========================================================= */

@media (max-width: 600px) {
  /* -------------------------------------------------------
     Header
     ------------------------------------------------------- */

  .site-header {
    gap: 15px;
  }

  .brand-logo {
    width: 140px;
    max-height: 42px;
  }

  /* -------------------------------------------------------
     Websites Showcase
     ------------------------------------------------------- */

  .websites-showcase {
    padding: 75px 21px 85px;
  }

  .websites-header {
    grid-template-columns: 1fr;
    gap: 25px;

    padding-bottom: 10px;
  }

  .websites-heading h2 {
    font-size: 42px;
  }

  .websites-intro {
    max-width: none;

    font-size: 14px;
  }

  /* Controls */

  .websites-controls {
    gap: 20px;

    margin-bottom: 25px;
  }

  .website-search {
    width: 100%;
    max-width: none;
  }

  .website-filters {
    width: 100%;

    overflow-x: auto;

    flex-wrap: nowrap;

    padding-bottom: 4px;

    scrollbar-width: none;
  }

  .website-filters::-webkit-scrollbar {
    display: none;
  }

  .filter-button {
    flex-shrink: 0;
  }

  /* Grid */

  .website-grid {
    grid-template-columns: 1fr;

    gap: 30px;
  }

  /* -------------------------------------------------------
     Website Card
     ------------------------------------------------------- */

  .website-card {
    border-radius: 9px;
  }

  .website-card-image {
    aspect-ratio: 16 / 10;
  }

  /* Card name */

  .website-card-name {
    left: 12px;
    bottom: 110px;

    padding: 8px 11px;

    border-radius: 6px;
  }

  .website-card-name h3 {
    font-size: 13px;
  }

  /* Card category */

  .website-card-category {
    left: 12px;
    bottom: 12px;

    max-width: calc(100% - 24px);

    padding: 7px 10px;
    margin-bottom: 5px;

    border-radius: 6px;

    box-shadow: 0 7px 20px #173a300c;
  }

  .website-card-category span {
    font-size: 7px;
  }

  .website-card-category strong {
    font-size: 9px;
    line-height: 1.25;
  }

  /*
   * When both the name and category are present,
   * give the category room above the name.
   */

  .website-card-image:has(.website-card-name) .website-card-category {
    bottom: 58px;
  }

  /* Price */

  .website-card-price {
    min-height: 58px;

    padding: 10px 13px;
  }

  .website-card-price strong {
    font-size: 17px;
  }

  .website-card-price .price-arrow {
    width: 28px;
    height: 28px;

    font-size: 14px;
  }

  /* CTA */

  .websites-cta {
    margin-top: 45px;
  }

  /* ---------------------------------------------------------
   Sale Badge
   --------------------------------------------------------- */

  .sale--card {
    font:
      700 6px "DM Mono",
      monospace !important;
  }
}

/* =========================================================
   23. RESPONSIVE — VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {
  .websites-heading h2 {
    font-size: 38px;
  }

  .website-card-category {
    max-width: calc(100% - 20px);
  }

  .website-card-price > div {
    gap: 4px;
  }

  .website-card-price > div > span {
    font-size: 8px;
  }

  .website-card-price strong {
    font-size: 16px;
  }
}
