/* ==========================================================================
   ALTMEZ — BLOG ARCHIVE · CATEGORY / TAX ARCHIVES · SIDEBAR
   Styles Kadence's native loop markup into the ALTMEZ card system.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Archive hero (rendered by altmez-child on kadence_before_main_content)
   -------------------------------------------------------------------------- */
.altmez-archive-hero {
  background: var(--altmez-dark);
  color: var(--altmez-on-dark);
  padding-block: clamp(40px, 5vw, 72px);
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.altmez-archive-hero::before {
  content: "";
  position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(80% 140% at 90% 0%, rgba(255, 199, 25, .14) 0%, transparent 60%);
}
.altmez-archive-hero .rank-math-breadcrumb,
.altmez-archive-hero .rank-math-breadcrumb a { color: var(--altmez-on-dark-muted); }
.altmez-archive-hero .rank-math-breadcrumb a:hover { color: var(--altmez-accent); }
.altmez-archive-hero__eyebrow {
  display: inline-flex; align-items: center; gap: var(--altmez-space-2);
  margin-block-end: var(--altmez-space-3);
  color: var(--altmez-accent);
  font-size: var(--altmez-fs-xs);
  font-weight: var(--altmez-fw-bold);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.altmez-archive-hero__title {
  margin: var(--altmez-space-3) 0 var(--altmez-space-3);
  color: var(--altmez-on-dark);
  font-size: var(--altmez-fs-h1);
  font-weight: var(--altmez-fw-black);
  line-height: 1.25;
}
.altmez-archive-hero__desc {
  margin: 0;
  max-inline-size: 68ch;
  color: var(--altmez-on-dark-muted);
  font-size: var(--altmez-fs-body);
  line-height: 1.9;
}

/* Kadence's own archive title block is replaced by the hero above */
body.blog .entry-hero-container,
body.archive .entry-hero-container,
body.blog .page-title.archive-title,
body.archive .page-title.archive-title { display: none; }

/* --------------------------------------------------------------------------
   2. Featured article strip
   -------------------------------------------------------------------------- */
.altmez-featured { padding-block: var(--altmez-section) 0; }
.altmez-featured__card {
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  background: var(--altmez-card);
  border: 1px solid var(--altmez-border);
  border-radius: var(--altmez-radius-lg);
  overflow: hidden;
  box-shadow: var(--altmez-shadow-sm);
}
@media (min-width: 860px) {
  .altmez-featured__card { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
}
.altmez-featured__media { display: block; overflow: hidden; background: var(--altmez-bg-soft-2); }
.altmez-featured__media img {
  inline-size: 100%; block-size: 100%;
  aspect-ratio: var(--altmez-ratio-feature);
  object-fit: cover;
  transition: transform .5s var(--altmez-ease);
}
.altmez-featured__card:hover .altmez-featured__media img { transform: scale(1.04); }
.altmez-featured__body {
  display: flex; flex-direction: column; gap: var(--altmez-space-4);
  justify-content: center;
  padding: clamp(24px, 3.5vw, 44px);
}
.altmez-featured__title { margin: 0; font-size: var(--altmez-fs-h3); font-weight: var(--altmez-fw-bold); line-height: 1.45; }
.altmez-featured__title a { text-decoration: none; color: inherit; }
.altmez-featured__title a:hover { color: var(--altmez-muted); }
.altmez-featured__excerpt { margin: 0; color: var(--altmez-muted); font-size: var(--altmez-fs-sm); line-height: 1.85; }

/* --------------------------------------------------------------------------
   3. Archive layout shell + sidebar
   -------------------------------------------------------------------------- */
body.blog #primary.content-area,
body.archive #primary.content-area { padding-block: var(--altmez-section); }

body.blog .content-container.site-container,
body.archive .content-container.site-container,
body.single-post .content-container.site-container { max-width: var(--altmez-container); }

/* Kadence emits #primary + #secondary side by side; enforce the ALTMEZ ratio */
@media (min-width: 1025px) {
  /* Target ratio ~72/28 of the content area (≈70/30 of the full container
     once the gutter is counted) — inside the 70–75 / 25–30 brief. */
  .content-container.site-container:has(#secondary.primary-sidebar) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
    gap: clamp(28px, 2.4vw, 40px);
    align-items: start;
  }
  .content-container.site-container:has(#secondary.primary-sidebar) > #primary { min-inline-size: 0; }
}

/* --------------------------------------------------------------------------
   4. Article cards (Kadence loop-entry)
   -------------------------------------------------------------------------- */
#archive-container.post-archive {
  display: grid !important;
  gap: var(--altmez-grid-gap);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  margin: 0; padding: 0; list-style: none;
}
#archive-container.post-archive > li.entry-list-item { margin: 0; padding: 0; list-style: none; }

.post-archive article.loop-entry {
  display: flex; flex-direction: column;
  block-size: 100%;
  background: var(--altmez-card);
  border: 1px solid var(--altmez-border);
  border-radius: var(--altmez-radius);
  overflow: hidden;
  box-shadow: var(--altmez-shadow-xs);
  transition: box-shadow var(--altmez-dur) var(--altmez-ease),
              transform var(--altmez-dur) var(--altmez-ease),
              border-color var(--altmez-dur) var(--altmez-ease);
}
.post-archive article.loop-entry:hover {
  box-shadow: var(--altmez-shadow);
  border-color: var(--altmez-border-strong);
  transform: translateY(-3px);
}

.post-archive article.loop-entry > .post-thumbnail {
  display: block;
  margin: 0;
  aspect-ratio: var(--altmez-ratio-card);
  overflow: hidden;
  background: var(--altmez-bg-soft-2);
}
.post-archive article.loop-entry > .post-thumbnail .post-thumbnail-inner { block-size: 100%; padding: 0 !important; }
.post-archive article.loop-entry > .post-thumbnail img {
  position: static !important;
  inline-size: 100%; block-size: 100%;
  object-fit: cover;
  transition: transform .45s var(--altmez-ease);
}
.post-archive article.loop-entry:hover > .post-thumbnail img { transform: scale(1.05); }

.post-archive .entry-content-wrap {
  display: flex; flex-direction: column; gap: var(--altmez-space-3);
  flex: 1 1 auto;
  padding: var(--altmez-space-5);
}
.post-archive .entry-header { margin: 0; }
.post-archive .entry-title {
  margin: 0;
  font-size: var(--altmez-fs-h4) !important;
  font-weight: var(--altmez-fw-bold);
  line-height: 1.5;
}
.post-archive .entry-title a { text-decoration: none; color: inherit; }
.post-archive .entry-title a:hover { color: var(--altmez-muted); }

/* Category chips above the title */
.post-archive .entry-taxonomies { margin: 0 0 var(--altmez-space-1); order: -1; }
.post-archive .entry-taxonomies .category-links a {
  display: inline-block;
  padding: 3px 11px;
  border-radius: var(--altmez-radius-pill);
  background: var(--altmez-accent-soft);
  border: 1px solid var(--altmez-accent-line);
  color: var(--altmez-text);
  font-size: var(--altmez-fs-xs);
  text-decoration: none;
}
.post-archive .entry-taxonomies .category-links a:hover { background: var(--altmez-accent); }

.post-archive .entry-summary { margin: 0; color: var(--altmez-muted); font-size: var(--altmez-fs-sm); line-height: 1.8; }
.post-archive .entry-summary p { margin: 0; }

/* Meta row: keep the date, drop the avatar clutter inside cards */
.post-archive .entry-meta {
  margin: auto 0 0;
  padding-block-start: var(--altmez-space-3);
  border-block-start: 1px solid var(--altmez-border);
  color: var(--altmez-muted-2);
  font-size: var(--altmez-fs-xs);
  gap: var(--altmez-space-3);
}
.post-archive .entry-meta .author-avatar,
.post-archive .entry-meta .meta-label,
.post-archive .entry-meta .comments-link { display: none; }
.post-archive .entry-meta a { color: var(--altmez-muted); text-decoration: none; }
.post-archive .entry-meta a:hover { color: var(--altmez-text); }
.post-archive .entry-meta svg { inline-size: 14px; block-size: 14px; }

/* Read-more affordance */
.post-archive .entry-actions .post-more-link,
.post-archive .more-link {
  display: inline-flex; align-items: center; gap: var(--altmez-space-2);
  font-size: var(--altmez-fs-sm);
  font-weight: var(--altmez-fw-medium);
  color: var(--altmez-text);
  text-decoration: none;
}
.post-archive .entry-actions .post-more-link:hover { text-decoration: underline; }

/* Explicit column counts per breakpoint (overrides Kadence grid-lg-col-*) */
@media (min-width: 1025px) {
  .content-container.site-container:has(#secondary.primary-sidebar) #archive-container.post-archive {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .content-container.site-container:not(:has(#secondary.primary-sidebar)) #archive-container.post-archive {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 600px) and (max-width: 1024px) {
  #archive-container.post-archive { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
  #archive-container.post-archive { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   5. Pagination
   -------------------------------------------------------------------------- */
.navigation.pagination { margin-block-start: var(--altmez-space-7); }
.navigation.pagination .nav-links {
  display: flex; flex-wrap: wrap; gap: var(--altmez-space-2); justify-content: center;
}
.navigation.pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-inline-size: 44px; min-block-size: 44px;
  padding: 0 12px;
  border: 1px solid var(--altmez-border);
  border-radius: var(--altmez-radius-sm);
  background: var(--altmez-card);
  color: var(--altmez-text);
  font-size: var(--altmez-fs-sm);
  font-weight: var(--altmez-fw-medium);
  text-decoration: none;
  transition: background var(--altmez-dur) var(--altmez-ease), border-color var(--altmez-dur) var(--altmez-ease);
}
.navigation.pagination .page-numbers:hover { background: var(--altmez-bg-soft); border-color: var(--altmez-border-strong); }
.navigation.pagination .page-numbers.current {
  background: var(--altmez-dark); border-color: var(--altmez-dark); color: var(--altmez-on-dark);
}
.navigation.pagination .page-numbers.dots { border-color: transparent; background: transparent; }

/* --------------------------------------------------------------------------
   6. Sidebar
   -------------------------------------------------------------------------- */
#secondary.primary-sidebar { font-size: var(--altmez-fs-sm); }
#secondary .sidebar-inner-wrap { display: grid; gap: var(--altmez-space-5); }

.altmez-swidget {
  padding: var(--altmez-space-5);
  background: var(--altmez-card);
  border: 1px solid var(--altmez-border);
  border-radius: var(--altmez-radius);
}
.altmez-swidget__title {
  margin: 0 0 var(--altmez-space-4);
  padding-block-end: var(--altmez-space-3);
  border-block-end: 1px solid var(--altmez-border);
  font-size: 1rem;
  font-weight: var(--altmez-fw-bold);
  color: var(--altmez-text-strong);
}

/* Search */
.altmez-ssearch { display: flex; gap: var(--altmez-space-2); }
.altmez-ssearch input[type="search"] { min-block-size: 46px; }
.altmez-ssearch button {
  flex: 0 0 auto;
  min-inline-size: 46px; min-block-size: 46px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1.5px solid var(--altmez-dark);
  border-radius: var(--altmez-radius-sm);
  background: var(--altmez-dark);
  color: var(--altmez-on-dark);
  cursor: pointer;
}
.altmez-ssearch button:hover { background: var(--altmez-accent); border-color: var(--altmez-accent); color: var(--altmez-dark); }
.altmez-ssearch svg { inline-size: 18px; block-size: 18px; }

/* Latest posts list */
.altmez-slist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--altmez-space-4); }
.altmez-slist li { margin: 0; }
.altmez-slist a {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: var(--altmez-space-3);
  align-items: center;
  text-decoration: none;
  color: inherit;
}
.altmez-slist__thumb {
  inline-size: 76px; block-size: 60px;
  border-radius: var(--altmez-radius-xs);
  object-fit: cover;
  background: var(--altmez-bg-soft-2);
}
.altmez-slist__thumb--empty { display: block; }
.altmez-slist__title {
  font-size: var(--altmez-fs-xs);
  font-weight: var(--altmez-fw-medium);
  line-height: 1.65;
  color: var(--altmez-text);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.altmez-slist a:hover .altmez-slist__title { color: var(--altmez-muted); }

/* Categories */
.altmez-scats { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.altmez-scats a {
  display: flex; align-items: center; justify-content: space-between; gap: var(--altmez-space-3);
  min-block-size: 42px;
  padding: 6px 10px;
  border-radius: var(--altmez-radius-sm);
  color: var(--altmez-text);
  font-size: var(--altmez-fs-sm);
  text-decoration: none;
  transition: background var(--altmez-dur) var(--altmez-ease);
}
.altmez-scats a:hover { background: var(--altmez-bg-soft); }
.altmez-scats a.is-current { background: var(--altmez-accent-soft); font-weight: var(--altmez-fw-medium); }
.altmez-scats__count {
  flex: 0 0 auto;
  min-inline-size: 28px;
  padding: 1px 8px;
  border-radius: var(--altmez-radius-pill);
  background: var(--altmez-bg-soft-2);
  color: var(--altmez-muted);
  font-size: var(--altmez-fs-xs);
  text-align: center;
}

/* Service CTA card */
.altmez-scta {
  padding: var(--altmez-space-6) var(--altmez-space-5);
  background: var(--altmez-dark);
  border: 1px solid var(--altmez-dark);
  border-radius: var(--altmez-radius);
  color: var(--altmez-on-dark);
  text-align: center;
}
.altmez-scta__title { margin: 0 0 var(--altmez-space-2); color: var(--altmez-on-dark); font-size: 1.0625rem; font-weight: var(--altmez-fw-bold); }
.altmez-scta__text  { margin: 0 0 var(--altmez-space-5); color: var(--altmez-on-dark-muted); font-size: var(--altmez-fs-xs); line-height: 1.8; }
.altmez-scta .altmez-btn { inline-size: 100%; }
.altmez-scta .altmez-btn + .altmez-btn { margin-block-start: var(--altmez-space-2); }

/* Sidebar stacking below 1025px */
@media (max-width: 1024px) {
  #secondary.primary-sidebar { margin-block-start: var(--altmez-space-7); inline-size: 100%; max-inline-size: none; }
  #secondary .sidebar-inner-wrap {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    align-items: start;
  }
}
@media (max-width: 599px) {
  #secondary .sidebar-inner-wrap { grid-template-columns: 1fr; }
}
