/* ==========================================================================
   PAGE: Blog article
   ========================================================================== */

.blog-article {
  .article-head {
    position: relative;
    overflow: hidden;
    padding-block: clamp(56px, 7vw, 96px) clamp(72px, 9vw, 112px);
    color: var(--text-on-dark);
    background: var(--secondary-color);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--slant)), 50% 100%, 0 calc(100% - var(--slant)));

    &::after {
      content: "";
      position: absolute;
      right: 6%;
      top: -10%;
      width: 260px;
      aspect-ratio: 1;
      background: color-mix(in srgb, var(--primary-color) 22%, transparent);
      clip-path: polygon(0 0, 100% 0, 50% 86%);
    }
  }

  .article-head-inner {
    position: relative;
    z-index: 1;

    > * {
      max-width: 920px;
    }
  }

  .eyebrow {
    color: var(--primary-color);
  }

  h1 {
    font-size: clamp(2.2rem, 4.6vw, 3.6rem);
  }

  .article-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 0.95rem;
    color: var(--text-on-dark-muted);

    i {
      color: var(--primary-color);
    }
  }

  .article-layout {
    display: grid;
    grid-template-columns: minmax(0, 720px) 300px;
    justify-content: space-between;
    gap: 56px;
    padding-block: clamp(40px, 6vw, 72px) var(--section-space);
  }

  .article-body {
    font-size: 1.08rem;
    line-height: 1.75;

    h2 {
      margin-top: 2.2em;
      padding-left: 18px;
      font-size: clamp(1.5rem, 2.6vw, 1.9rem);
      border-left: 5px solid var(--primary-color);
    }

    h3 {
      margin-top: 1.6em;
      font-size: 1.25rem;
    }

    .article-answer {
      padding: 22px 26px;
      font-size: 1.15rem;
      font-weight: 500;
      background: white;
      border-radius: var(--radius-lg);
      border-top: 4px solid var(--primary-color);
    }
  }

  .article-list {
    margin: 0 0 1.4em;
    padding: 0;
    list-style: none;

    li {
      position: relative;
      padding: 10px 0 10px 34px;
      border-bottom: 1px solid var(--border-color);

      &::before {
        content: "\F26B";
        position: absolute;
        left: 0;
        top: 10px;
        font-family: "bootstrap-icons";
        font-size: 1.2rem;
        color: var(--primary-strong);
      }
    }
  }

  .article-closing {
    margin-top: 2.6em;
    padding: 32px 32px 30px;
    color: var(--text-on-dark);
    background: var(--secondary-color);
    border-radius: var(--radius-lg);

    h2 {
      margin-top: 0;
      color: var(--text-on-dark);
    }

    p {
      margin: 0;
      color: var(--text-on-dark-muted);
    }
  }

  .article-aside {
    position: sticky;
    top: 140px;
    align-self: start;
    display: grid;
    gap: 18px;
  }

  .article-aside-title {
    margin-bottom: 8px;
    font-family: var(--font-heading);
    font-size: 1.15rem;
    font-weight: 700;
  }

  .article-aside-card {
    padding: 26px;
    background: var(--primary-color);
    border-radius: var(--radius-lg);

    p {
      font-size: 0.97rem;
    }

    .btn {
      width: 100%;
      color: var(--text-on-dark);
      background: var(--secondary-color);
    }
  }

  .article-aside-phone {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    font-weight: 700;
    text-decoration: none;
  }

  .article-aside-links {
    padding: 24px 26px;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);

    ul {
      margin: 0;
      padding: 0;
      list-style: none;
    }

    a {
      display: flex;
      justify-content: space-between;
      padding: 8px 0;
      font-weight: 600;
      text-decoration: none;
      border-bottom: 1px solid var(--border-color);

      &::after {
        content: "\F285";
        font-family: "bootstrap-icons";
        font-size: 0.8rem;
        color: var(--primary-strong);
      }

      &:hover {
        color: var(--primary-strong);
      }
    }
  }
}

@media (max-width: 1000px) {
  .blog-article {
    .article-layout {
      grid-template-columns: 1fr;
    }

    .article-aside {
      position: static;
    }
  }
}
