@charset "UTF-8";
/*!
 * The shared article list — template-parts/post-list.php (+ post-list-head.php).
 * Compiles to css/post-list.min.css; enqueued by every post-list surface:
 * home.php (/blog/, /pl/blog/), search.php and category.php / tag.php.
 *
 * WHAT IS DELIBERATELY NOT HERE
 * - The card. `.post_item` & co. are style.css's (the card's single owner, every
 *   consumer of template-parts/blog-card.php). Nothing below restyles it.
 * - Bootstrap. It arrives via main.min.css on these routes (functions.php gates it
 *   on rs_is_post_list_route()), and this sheet is its dependent, so it wins ties.
 *
 * Values: the old Elementor /blog/ page on staging for spacing (staging wins over
 * Figma on pixels), the design-system type ladder for headings (H2 40/1.3, mobile
 * 30/1.2 — Figma 2943:4391 / 40941:22097 agree; the Elementor kit's 600 / 24px was
 * the page builder's default, not a decision).
 */
/* ---- Fixed-header offset --------------------------------------------------------
   WordPress prints its global-styles block (`body{padding-top:0}` from theme.json)
   AFTER the theme's stylesheets on these non-singular requests — the reverse of a
   normal page — so on order alone the zero wins and the fixed header covers the top
   of the page. A body-class selector is (0,1,1) and settles it whatever the print
   order. Was search.scss's `body.search`; every post list has the same problem. */
body.blog,
body.search,
body.category,
body.tag {
  padding-top: 60px;
}

@media (min-width: 992px) {
  body.blog,
  body.search,
  body.category,
  body.tag {
    padding-top: 76px;
  }
}
/* ---- The list section (blog + category/tag) ----------------------------------- */
.rs-blog-list {
  padding: 60px 0 140px; /* staging section d6777c0: 60 / 140 */
}

/* Bootstrap spends 12px of .container on inline padding the frame does not have:
   zeroed above lg, so the content column is the 1146 the CTA band also uses. */
@media (min-width: 992px) {
  .rs-blog-list .container {
    --bs-gutter-x: 0;
  }
}
@media (max-width: 767px) {
  .rs-blog-list {
    padding: 40px 0; /* staging: 40 top; controls -> CTA 40 */
  }
  /* 20px each side on phones (staging 335 of 375), the gutter search.php gets from
     blog-single's `.rs-bsp .container` — Bootstrap's own is 12. */
  .rs-blog-list .container {
    --bs-gutter-x: 40px;
  }
}
/* ---- Title + search row --------------------------------------------------------- */
.rs-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 60px; /* staging: title row -> first card */
}

.rs-list-head__title {
  flex: 1 1 auto;
  margin: 0;
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.3;
  color: var(--rs-black-prime, #34383c);
  hyphens: auto;
  overflow-wrap: break-word;
}

/* molecula/search-field, desktop: 392x45, a rule under the text, not a box. */
.rs-list-head__search {
  flex: 0 1 392px;
  min-height: 45px;
  padding: 12px 16px 12px 12px;
  border-bottom: 1px solid var(--rs-grey-light-20, #b2c9cb);
}
.rs-list-head__search input.rs-search-form__input {
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 767px) {
  /* Staging stacks the field ABOVE the heading on phones (reverse-mobile). */
  .rs-list-head {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 30px;
    margin-bottom: 30px;
  }
  .rs-list-head__title {
    font-size: 30px;
    line-height: 1.2;
  }
  .rs-list-head__search {
    flex-basis: auto;
  }
}
/* ---- Search field: the shared resets --------------------------------------------
   Used by the list head above and by search.php's own head (search.scss sets that
   field's width, underline and type). */
.rs-search-form {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
}

.rs-search-form input.rs-search-form__input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  padding: 0;
  background: none;
  font-family: "Hind Madurai", sans-serif;
  color: var(--rs-black-prime, #34383c);
}
.rs-search-form input.rs-search-form__input::placeholder {
  color: var(--rs-black-second, #5d636a);
  opacity: 1;
}
.rs-search-form input.rs-search-form__input:focus {
  outline: 0;
  box-shadow: none;
}

button.rs-search-form__submit,
button.rs-search-form__submit:hover,
button.rs-search-form__submit:focus,
button.rs-search-form__submit:active {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--rs-black-second, #5d636a);
  font-size: 14px;
  line-height: 1;
  box-shadow: none;
}
button.rs-search-form__submit i,
button.rs-search-form__submit:hover i,
button.rs-search-form__submit:focus i,
button.rs-search-form__submit:active i {
  font-size: 14px;
  line-height: 1;
}

/* ---- Under the list: pagination + "Search for a different article" -------------
   Desktop: pagination centred, the link pinned right on the same row (what the old
   Show-more row did). <=1020px: pagination, then the link as its own centred row
   between two hairlines. Old values from style.css's retired #search-article rules. */
.rs-post-list__foot {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 40px; /* + the last card's 20px margin = 60 below its rule, as staging */
}

.rs-post-list .pagination {
  justify-content: center;
  margin: 0;
}

.rs-post-list .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.rs-post-list .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 4px;
  font-family: "Hind Madurai", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  color: var(--rs-black-prime, #34383c);
  text-decoration: none;
}
.rs-post-list .page-numbers:hover {
  background: #f0f8f9;
}
.rs-post-list .page-numbers.current {
  background: var(--rs-teal-00, #408897);
  color: var(--rs-white-pure, #fffffe);
}

a.rs-post-list__search {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-family: "Hind Madurai", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.4;
  color: var(--rs-black-prime, #34383c);
  text-decoration: none;
}
a.rs-post-list__search i {
  margin-left: 15px;
}
a.rs-post-list__search:hover, a.rs-post-list__search:focus-visible {
  color: var(--rs-teal-00, #408897);
}

@media (max-width: 1020px) {
  .rs-post-list__foot {
    flex-direction: column;
    align-items: stretch;
    margin-top: 0; /* the last card's own 20px margin is the whole gap here */
  }
  a.rs-post-list__search {
    position: static;
    transform: none;
    display: flex;
    justify-content: center;
    margin-top: 20px;
    padding: 20px 0;
    border-top: 1px solid var(--rs-grey-light-30, #d8e2e3);
    border-bottom: 1px solid var(--rs-grey-light-30, #d8e2e3);
  }
}