/* ==========================================================================
   AnimalsCell — ac-cats-archive.css
   Scoped EXCLUSIVELY to the Dogs category archive (body.category-cats).
   Enqueued only when is_category('dogs') — see functions.php.
   Structure: 1 hero, 2 topic nav, 3 featured, 4 latest heading,
   5 content width/rhythm, 6 native card restyle, 7 pagination, 8 responsive.
   ========================================================================== */

/* 1. Compact hero (custom markup replaces Kadence's native archive hero) */
body.category-cats .ac-cats-hero {
  background:#EEF6F3;
}
body.category-cats .ac-cats-hero .entry-hero-container-inner {
  padding:0;
}
body.category-cats .ac-cats-hero__inner {
  max-width:1360px;
  margin:0 auto;
  padding:64px 36px 58px;
  text-align:left;
}
body.category-cats .ac-cats-hero__kicker {
  display:block;
  margin-bottom:10px;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#0F766E;
}
body.category-cats .ac-cats-hero__title {
  margin:0 0 12px;
  font-size:clamp(42px,4vw,60px);
  line-height:1.05;
  font-weight:700;
  letter-spacing:-1px;
  color:#102A43;
}
body.category-cats .ac-cats-hero__intro {
  margin:0;
  max-width:650px;
  font-size:17px;
  line-height:1.55;
  color:#486581;
}

/* 2. Topic navigation */
body.category-cats .ac-cats-topicnav-wrap {
  max-width:1360px;
  margin:28px auto 0;
  padding:0 36px;
}
body.category-cats .ac-cats-topicnav {
  display:flex;
  flex-wrap:wrap;
  gap:28px;
  border-bottom:1px solid #DCE6E3;
  padding-bottom:14px;
  list-style:none;
  margin:0;
}
body.category-cats .ac-cats-topicnav a {
  font-size:14.5px;
  font-weight:600;
  color:#334E68;
  text-decoration:none;
  padding-bottom:4px;
  border-bottom:2px solid transparent;
  transition:color .18s ease,border-color .18s ease;
}
body.category-cats .ac-cats-topicnav a:hover,
body.category-cats .ac-cats-topicnav a:focus-visible {
  color:#0F766E;
  border-bottom-color:#0F766E;
}
body.category-cats .ac-cats-topicnav a:focus-visible {
  outline:2px solid #0F766E;
  outline-offset:3px;
}

/* 3. Featured content: dominant article + 4 compact supporting cards (2x2) */
body.category-cats .ac-cats-featured {
  max-width:1360px;
  margin:52px auto 0;
  padding:0 36px;
  display:grid;
  grid-template-columns:minmax(0,58fr) minmax(0,42fr);
  gap:30px;
  align-items:stretch;
}
body.category-cats .ac-cats-featured__main {
  display:block;
  text-decoration:none;
  border:1px solid #DCE6E3;
  border-radius:10px;
  overflow:hidden;
  transition:border-color .18s ease;
}
body.category-cats .ac-cats-featured__main img {
  width:100%;
  aspect-ratio:16/8.5;
  object-fit:cover;
  object-position:center;
  display:block;
}
body.category-cats .ac-cats-featured__main-body {
  padding:22px 26px 24px;
}
body.category-cats .ac-cats-featured__label {
  display:block;
  margin-bottom:8px;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#0F766E;
}
body.category-cats .ac-cats-featured__main-title {
  margin:0 0 13px;
  font-size:clamp(30px,2.5vw,40px);
  line-height:1.12;
  font-weight:700;
  color:#102A43;
}
body.category-cats .ac-cats-featured__main-excerpt {
  margin:0 0 15px;
  font-size:15.5px;
  line-height:1.55;
  color:#486581;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.category-cats .ac-cats-featured__cta {
  font-size:14.5px;
  font-weight:600;
  color:#0F766E;
}
body.category-cats .ac-cats-featured__main:hover,
body.category-cats .ac-cats-featured__main:focus-visible {
  border-color:#0F766E;
}
body.category-cats .ac-cats-featured__main:hover .ac-cats-featured__main-title,
body.category-cats .ac-cats-featured__main:focus-visible .ac-cats-featured__main-title {
  color:#0B5D56;
}
body.category-cats .ac-cats-featured__main:focus-visible {
  outline:2px solid #0F766E;
  outline-offset:3px;
}

body.category-cats .ac-cats-featured__support {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  height:100%;
  gap:16px;
}
body.category-cats .ac-cats-featured__support-item {
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid #DCE6E3;
  border-radius:8px;
  overflow:hidden;
  transition:border-color .18s ease;
}
body.category-cats .ac-cats-featured__support-item img {
  width:100%;
  aspect-ratio:16/8.5;
  object-fit:cover;
  object-position:center;
  display:block;
}
body.category-cats .ac-cats-featured__support-body {
  display:block;
  padding:14px 16px;
}
body.category-cats .ac-cats-featured__support .ac-cats-featured__label {
  font-size:11.5px;
  margin-bottom:8px;
}
body.category-cats .ac-cats-featured__support-title {
  display:-webkit-box;
  font-size:18px;
  font-weight:700;
  line-height:1.22;
  color:#102A43;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.category-cats .ac-cats-featured__support-item:hover,
body.category-cats .ac-cats-featured__support-item:focus-visible {
  border-color:#0F766E;
}
body.category-cats .ac-cats-featured__support-item:hover .ac-cats-featured__support-title,
body.category-cats .ac-cats-featured__support-item:focus-visible .ac-cats-featured__support-title {
  color:#0B5D56;
}
body.category-cats .ac-cats-featured__support-item:focus-visible {
  outline:2px solid #0F766E;
  outline-offset:2px;
}

/* 4. Latest heading */
body.category-cats .ac-cats-latest-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  max-width:1360px;
  margin:54px auto 30px;
  padding:0 36px;
}
body.category-cats .ac-cats-latest-head__text {
  min-width:0;
}
body.category-cats .ac-cats-pager {
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
}
body.category-cats .ac-cats-pager__btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border:1px solid #102A43;
  border-radius:50%;
  background:transparent;
  color:#102A43;
  text-decoration:none;
  transition:background-color .18s ease,color .18s ease;
}
body.category-cats a.ac-cats-pager__btn:hover,
body.category-cats a.ac-cats-pager__btn:focus-visible {
  background:#102A43;
  color:#fff;
}
body.category-cats a.ac-cats-pager__btn:focus-visible {
  outline:2px solid #0F766E;
  outline-offset:3px;
}
body.category-cats .ac-cats-pager__btn--disabled {
  opacity:.35;
  cursor:default;
}
body.category-cats .ac-cats-pager__count {
  font-size:13.5px;
  color:#627D98;
}
body.category-cats .ac-cats-latest-kicker {
  display:block;
  margin-bottom:8px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#0F766E;
}
body.category-cats .ac-cats-latest-title {
  margin:0;
  font-size:clamp(26px,2.2vw,32px);
  line-height:1.15;
  font-weight:700;
  color:#102A43;
}

/* 5. Content width / rhythm resets (override Kadence global .content-area spacing) */
body.category-cats #primary.content-area {
  margin-top:0;
  margin-bottom:0;
}
body.category-cats .content-container.site-container {
  max-width:1360px;
  padding-left:36px;
  padding-right:36px;
}
body.category-cats #archive-container {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  max-width:1360px;
  margin:28px auto 0;
  padding:0 36px;
  list-style:none;
}

/* 6. Native "Latest" card restyle (real Kadence loop, untouched structurally) */
body.category-cats .loop-entry {
  background:#fff;
  border:1px solid #E1E9E6;
  border-radius:8px;
  overflow:hidden;
  box-shadow:none;
}
body.category-cats .loop-entry .post-thumbnail {
  display:block;
}
body.category-cats .loop-entry .post-thumbnail-inner {
  aspect-ratio:4/3;
  overflow:hidden;
}
body.category-cats .loop-entry .post-thumbnail-inner img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
body.category-cats .loop-entry .entry-content-wrap {
  padding:20px 22px 22px;
}
body.category-cats .loop-entry .entry-taxonomies {
  display:none;
}
body.category-cats .loop-entry .entry-title {
  margin:0 0 8px;
  font-size:23px;
  line-height:1.22;
  font-weight:700;
}
body.category-cats .loop-entry .entry-title a {
  color:#102A43;
  text-decoration:none;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.category-cats .loop-entry .entry-title a:hover,
body.category-cats .loop-entry .entry-title a:focus-visible {
  color:#0B5D56;
}
body.category-cats .loop-entry .entry-meta {
  margin-bottom:10px;
  font-size:13px;
  color:#627D98;
}
body.category-cats .loop-entry .entry-meta .meta-label {
  display:none;
}
body.category-cats .loop-entry .entry-summary p {
  margin:0;
  font-size:14.5px;
  line-height:1.55;
  color:#486581;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
body.category-cats .loop-entry .entry-footer {
  margin-top:12px;
}
body.category-cats .loop-entry .post-more-link {
  font-size:14.5px;
  font-weight:600;
  color:#0F766E;
  text-decoration:none;
  text-transform:none;
  background:none;
  padding:0;
  border:0;
  box-shadow:none;
}
body.category-cats .loop-entry .post-more-link:hover,
body.category-cats .loop-entry .post-more-link:focus-visible {
  color:#0B5D56;
}
body.category-cats .loop-entry a:focus-visible {
  outline:2px solid #0F766E;
  outline-offset:2px;
}

/* 7. Pagination */
body.category-cats .pagination {
  max-width:1360px;
  margin:52px auto 68px;
  padding:0 36px;
}
body.category-cats .nav-links {
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
body.category-cats .page-numbers {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  height:36px;
  padding:0 10px;
  border-radius:6px;
  font-size:14.5px;
  font-weight:600;
  color:#334E68;
  text-decoration:none;
  transition:background-color .18s ease,color .18s ease;
}
body.category-cats .page-numbers.current {
  background:#102A43;
  color:#fff;
}
body.category-cats .page-numbers:not(.current):hover,
body.category-cats .page-numbers:not(.current):focus-visible {
  background:#EEF6F3;
  color:#0F766E;
}
body.category-cats .page-numbers:focus-visible {
  outline:2px solid #0F766E;
  outline-offset:2px;
}

/* 8. Responsive */
@media (max-width:1024px) {
  body.category-cats .ac-cats-featured {
    grid-template-columns:1fr;
    gap:24px;
  }
  body.category-cats #archive-container {
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width:767px) {
  body.category-cats .ac-cats-hero__inner {
    padding:40px 20px 36px;
  }
  body.category-cats .ac-cats-hero__title {
    font-size:clamp(32px,9vw,42px);
  }
  body.category-cats .ac-cats-topicnav-wrap,
  body.category-cats .ac-cats-featured,
  body.category-cats .ac-cats-latest-head,
  body.category-cats .content-container.site-container,
  body.category-cats #archive-container,
  body.category-cats .pagination {
    padding-left:20px;
    padding-right:20px;
  }
  body.category-cats .ac-cats-topicnav {
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    gap:22px;
  }
  body.category-cats .ac-cats-topicnav a {
    white-space:nowrap;
  }
  body.category-cats .ac-cats-featured__support-body {
    padding:12px 12px 14px;
  }
  body.category-cats .ac-cats-featured__support-title {
    font-size:16px;
  }
  body.category-cats #archive-container {
    grid-template-columns:1fr;
  }
  body.category-cats .loop-entry .entry-content-wrap {
    padding:18px 18px 20px;
  }
  body.category-cats .loop-entry .entry-title {
    font-size:21px;
  }
  body.category-cats .ac-cats-latest-head {
    flex-wrap:wrap;
    row-gap:16px;
  }
  body.category-cats .ac-cats-pager__btn {
    width:46px;
    height:46px;
  }
}