/* Blog: b-articles section + single article (extracted from HTML build styles/main.css) */
.px-18 { padding-left: 18px; padding-right: 18px; }
.-mx-18 { margin-left: -18px; margin-right: -18px; }
.mt-32 { margin-top: 32px; }
.gap-10 { gap: 10px; }
.gap-16 { gap: 16px; }
.gap-y-24 { row-gap: 24px; }
.rounded-24 { border-radius: 24px; }
.max-w-948 { max-width: 948px; }
.transition-all-02s { transition: all .2s linear; }
.static_header .b-header { position: sticky; }
.static_header .b-header .header__wrapper::before { left: -16px; right: -16px; }
.back-button { color: #919191; position: relative; display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: center; align-items: center; vertical-align: top; gap: 0 8px; }
.back-button::before { position: relative; content: ''; width: 24px; height: 24px; background-repeat: no-repeat; background-position: center; background-image: url("data:image/svg+xml,%3Csvg width='8' height='12' viewBox='0 0 8 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.5 11L1.5 6L6.5 1' stroke='%2317150A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.back-button:hover { color: var(--text-black); }
.bg-green { background-color: var(--bg-green); }
.section_md { padding: 104px 0; }
@media (max-width: 991px) {
  .section_md { padding: 50px 0; }
}
.swiper-pagination { position: static; font-size: 0; }
.swiper-pagination .swiper-pagination-bullet { width: 48px; height: 6px; opacity: 1; background: var(--bg-light-purple); border-radius: 12px; }
@media (max-width: 991px) {
  .swiper-pagination .swiper-pagination-bullet { width: 28px; }
}
@media (max-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet { width: 18px; }
}
.swiper-pagination .swiper-pagination-bullet-active { background-color: var(--bg-green); }
.section_bg .decor-gradient { background: linear-gradient(180deg, rgba(231, 226, 255, 0.2) -9.48%, rgba(231, 226, 255, 0.6) 44.37%); }
.info .dot { width: 6px; height: 6px; background-color: #919191; }
.icon-32 { min-width: 32px; width: 32px; height: 32px; }
.share__link:hover { background-color: var(--bg-purple); }
.cards-list.flex > .card__wrapper { width: 33.33%; }
@media (max-width: 1199px) {
  .cards-list.flex > .card__wrapper { width: 50%; }
}
@media (max-width: 767px) {
  .cards-list.flex > .card__wrapper { width: 100%; }
}
.cards-list:not(.flex) .swiper-slide { height: unset; }
.cards-list:not(.flex) .card__wrapper { height: 100%; }
.card__article { background: #fff; box-shadow: 0px 8px 35px 10px rgba(158, 155, 197, 0.2); border-radius: 24px; color: var(--text-black); }
@media (min-width: 992px) {
  .card__article:hover .card__title { color: var(--text-yellow); }
  .card__article:hover .arrow { transform: rotate(45deg); }
}
.card__article .category { background-color: var(--bg-light-purple); padding: 8px 16px; border-radius: 12px; }
.card__article .info:not(:last-child) { margin-bottom: 16px; }
.card__article .arrow { top: 0; right: 0; width: 40px; height: 40px; border: 1px solid var(--bg-green); }
.card__image { padding: 12px; }
.card__image .image { border-radius: 16px 16px 0 0; aspect-ratio: 5/3; }
.card__info { padding: 32px 32px 40px; }
@media (max-width: 991px) {
  .card__info { padding: 16px 16px 24px; }
}
.card__title:not(:last-child) { margin-bottom: 16px; }
.card__category { padding-right: 50px; gap: 8px; min-height: 40px; }
.card__category:not(:last-child) { margin-bottom: 16px; }
.card__title, .card__title h2, .card__title h3 { font-size: 24px; line-height: 1.3; }
@media (max-width: 991px) {
  .card__title, .card__title h2, .card__title h3 { font-size: 18px; }
}
.b-articles.style-2 .section_bg { overflow: hidden; bottom: unset; top: -25vw; }
.b-articles.style-2 .section_bg img { max-width: 300%; transform: none; }
.b-articles:has(+ .b-info-banner) .section-inner { padding-bottom: 600px; }
.b-articles:has(+ .b-info-banner) + .b-info-banner { margin-top: -500px; z-index: 1; }
.b-articles .section_bg img { transform: translate(0, -15vw); }
.b-articles .cards-list__wrapper:not(:first-child) { margin-top: 56px; }
@media (max-width: 991px) {
  .b-articles .cards-list__wrapper:not(:first-child) { margin-top: 36px; }
}
@media (max-width: 1500px) {
  .b-articles .cards-list { margin-right: -16px; margin-left: -16px; }
}
@media (max-width: 1500px) {
  .b-articles .card__wrapper { padding: 0 16px; }
}
.b-articles .more-wrapper .btn { min-width: 256px; }
.b-articles .nav_wrapper:not(:first-child) { margin-top: 50px; }
@media (max-width: 991px) {
  .b-articles .nav_wrapper:not(:first-child) { margin-top: 30px; }
}
.b-articles .nav_wrapper .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) { background-color: #fff; }
.b-single-article .back-wrapper:not(:last-child) { margin-bottom: 16px; }
.b-single-article .top-part:not(:last-child) { margin-bottom: 56px; }
@media (max-width: 991px) {
  .b-single-article .top-part:not(:last-child) { margin-bottom: 24px; }
}
.b-single-article .hero-image:not(:last-child) { margin-bottom: 104px; }
@media (max-width: 991px) {
  .b-single-article .hero-image:not(:last-child) { margin-bottom: 24px; }
}
.b-single-article .content-part__wrapper { max-width: 1368px; }
.b-single-article .content-nav { width: 356px; }
@media (max-width: 1199px) {
  .b-single-article .content-nav { width: 250px; }
}
@media (max-width: 991px) {
  .b-single-article .content-nav { width: 100%; -ms-flex-order: 1; order: 1; margin-top: 32px; }
}
.b-single-article .navbar { position: sticky; top: 100px; }
@media (max-width: 1199px) {
  .b-single-article .navbar { top: 80px; }
}
@media (max-width: 991px) {
  .b-single-article .article-nav { display: none; }
}
.b-single-article .article-nav:not(:last-child) { margin-bottom: 46px; }
@media (max-width: 1199px) {
  .b-single-article .article-nav:not(:last-child) { margin-bottom: 32px; }
}
.b-single-article .article-nav ul { margin: 0; padding: 0; list-style: none; position: relative; }
.b-single-article .article-nav ul li { position: relative; padding: 0 0 0 20px; }
.b-single-article .article-nav ul li:not(:last-child) { margin-bottom: 32px; }
@media (max-width: 1199px) {
  .b-single-article .article-nav ul li:not(:last-child) { margin-bottom: 8px; }
}
.b-single-article .article-nav ul li.active::before { position: absolute; left: 0; content: ''; top: 0; bottom: 0; width: 4px; border-radius: 100px; background-color: var(--bg-green); }
.b-single-article .article-nav ul a { color: var(--text-black); }
.b-single-article .article-nav ul::before { top: 0; bottom: 0; left: 0; position: absolute; content: ''; width: 4px; border-radius: 100px; background-color: var(--bg-light-purple); }
.b-single-article .content-part { padding: 0 0 0 64px; }
@media (max-width: 1199px) {
  .b-single-article .content-part { padding: 0 0 0 32px; }
}
@media (max-width: 991px) {
  .b-single-article .content-part { padding: 0; }
}
.b-single-article .content-part h2:not(:last-child), .b-single-article .content-part h3:not(:last-child) { margin-bottom: 16px; }

/* Single article: title is the page <h1> (SEO), sized below the global h1/h2 */
.b-single-article .section-title h1 { font-size: 44px; line-height: 1.25; }
@media (max-width: 1500px) { .b-single-article .section-title h1 { font-size: 38px; } }
@media (max-width: 1199px) { .b-single-article .section-title h1 { font-size: 32px; } }
@media (max-width: 991px) { .b-single-article .section-title h1 { font-size: 28px; } }
@media (max-width: 767px) { .b-single-article .section-title h1 { font-size: 24px; } }

/* Single article: content headings (global h2 52px / h3 36px are too large for reading text) */
.b-single-article .content-part h2 { font-size: 32px; line-height: 1.3; }
.b-single-article .content-part h3 { font-size: 22px; line-height: 1.35; }
.b-single-article .content-part h2:not(:first-child) { margin-top: 48px; }
.b-single-article .content-part h3:not(:first-child) { margin-top: 32px; }
@media (max-width: 1199px) {
  .b-single-article .content-part h2 { font-size: 28px; }
  .b-single-article .content-part h3 { font-size: 20px; }
}
@media (max-width: 767px) {
  .b-single-article .content-part h2 { font-size: 24px; }
  .b-single-article .content-part h3 { font-size: 19px; }
  .b-single-article .content-part h2:not(:first-child) { margin-top: 32px; }
  .b-single-article .content-part h3:not(:first-child) { margin-top: 24px; }
}

/* Calculator block inside article content */
.b-single-article .content .b-calc-block { margin: 48px 0; }
.b-single-article .content .b-calc-block:last-child { margin-bottom: 0; }
@media (max-width: 991px) { .b-single-article .content .b-calc-block { margin: 32px 0; } }

/* FAQ block inside article content */
.b-single-article .content .b-faq-block:not(:first-child) { margin-top: 48px; }
.b-single-article .content .b-faq-block > h2 { margin-bottom: 24px; }
.b-single-article .content .b-faq-block .faq-list { max-width: none; }
.b-single-article .content .b-faq-block .faq-title h3 { margin: 0; }

/* Blog listing (posts page + category archives) */
.b-blog-archive .section-title h1 { font-size: 52px; line-height: 1.25; }
@media (max-width: 1500px) { .b-blog-archive .section-title h1 { font-size: 42px; } }
@media (max-width: 1199px) { .b-blog-archive .section-title h1 { font-size: 32px; } }
@media (max-width: 767px) { .b-blog-archive .section-title h1 { font-size: 28px; } }
.b-blog-archive .blog-intro { margin-top: 16px; }
.b-blog-archive .blog-empty { padding: 40px 0; }

.blog-pagination ul { list-style: none; margin: 0; padding: 0; flex-wrap: wrap; }
.blog-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; height: 44px; padding: 0 12px; border-radius: 100px;
  border: 1px solid var(--bg-light-purple); background-color: var(--bg-white);
  color: var(--text-black); font-weight: 600; text-decoration: none;
  transition: all .2s;
}
.blog-pagination a.page-numbers:hover,
.blog-pagination a.page-numbers:focus-visible { border-color: var(--bg-green); color: var(--bg-green); }
.blog-pagination .page-numbers.current { background-color: var(--bg-green); border-color: var(--bg-green); color: var(--text-white); }
.blog-pagination .page-numbers.dots { border-color: transparent; background: none; min-width: 24px; padding: 0; }
@media (max-width: 767px) {
  .blog-pagination .page-numbers { min-width: 38px; height: 38px; padding: 0 10px; }
}

/* style-2 articles background is positioned top:-25vw; bottom:unset and relies on a following
   .b-info-banner to cover its overhang. Without the banner (blog page, category, related articles
   before the footer) it pushed the page ~550px past the footer. Clip it to the section instead. */
.b-articles.style-2:not(:has(+ .b-info-banner)) .section_bg { bottom: 0; }
