/*
Theme Name: RankPath Labs Insights
Theme URI: https://rank-path.com/insights/
Author: RankPath Labs
Author URI: https://rank-path.com/
Description: Insights blog theme for rank-path.com/insights/: practical AI guides that help local service businesses get found, capture more leads and automate everyday work, organized along the RankPath Labs path (Get Found → Capture Leads → Automate Work → Grow Smarter). Shares the header, footer and design system of the static RankPath Labs site (loads /assets/css/site.css from the domain root).
Version: 1.5.5
Requires at least: 6.3
Requires PHP: 8.0
License: Proprietary
Text Domain: rankpath
Tags: blog, grid-layout, block-patterns, block-styles, editor-style, wide-blocks
*/

/* Resource listings */
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post-card { padding: 0 0 24px; overflow: hidden; }
.post-card > *:not(.post-card-img) { margin-left: 24px; margin-right: 24px; }
.post-card .rel-kind { margin-top: 22px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); }
.post-card h3 { font-size: 19px; margin-top: 8px; }
.post-card-img { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--bg-soft); }
.post-card-img img { width: 100%; height: 100%; object-fit: cover; }
.post-card-meta { margin-top: 14px; font-size: 13px; color: var(--muted); }
.topic-chips { justify-content: flex-start; margin-top: 28px; }
.topic-chips .chip { box-shadow: none; }
.topic-chips .chip.is-current { background: var(--blue); border-color: var(--blue); color: #fff; }
/* Step of the RankPath Labs path that the following chips belong to */
.topic-chips .chip-group { flex-basis: auto; margin-left: 10px; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.empty-state { text-align: center; color: var(--muted); padding: 40px 0; }

.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 40px; flex-wrap: wrap; }
.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; font-weight: 600; color: var(--ink); background: #fff; }
.pagination .page-numbers.current { background: var(--blue); border-color: var(--blue); color: #fff; }

/* Single post */
.post-meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 18px; font-size: 14.5px; color: var(--muted); }
.post-meta a { color: var(--blue); font-weight: 600; }
.post-meta a:hover { text-decoration: underline; text-underline-offset: 3px; }
.post-hero-img { max-width: 960px; margin: -24px auto 0; padding: 0 24px; }
.post-hero-img img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 35%; border-radius: 18px; box-shadow: var(--shadow-lg); }
.entry-content { max-width: 760px; margin: 0 auto; font-size: 17px; line-height: 1.75; color: var(--text); }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content h2 { font-size: 28px; margin-top: 1.8em; }
.entry-content h3 { font-size: 22px; font-weight: 600; margin-top: 1.5em; }
.entry-content ul, .entry-content ol { padding-left: 1.4em; }
.entry-content ul { list-style: disc; }
.entry-content li + li { margin-top: .4em; }
.entry-content a { color: var(--blue); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.entry-content blockquote { border-left: 4px solid var(--blue); background: var(--bg-soft); padding: 16px 20px; border-radius: 0 12px 12px 0; font-style: italic; }
.entry-content img { max-width: 100%; height: auto; border-radius: 12px; }
.entry-content figure { max-width: 100%; height: auto; }
.entry-content figcaption { font-size: 14px; color: var(--muted); text-align: center; margin-top: 8px; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: 15.5px; }
.entry-content th, .entry-content td { border: 1px solid var(--line); padding: 10px 12px; text-align: left; }
.entry-content th { background: var(--bg-soft); color: var(--ink); }
.entry-content code { background: var(--bg-soft); border: 1px solid var(--line); border-radius: 6px; padding: 1px 6px; font-size: .9em; }
.entry-content pre { background: var(--navy); color: #e5edff; padding: 18px; border-radius: 12px; overflow-x: auto; }
.entry-content pre code { background: none; border: 0; padding: 0; color: inherit; }
.entry-content .alignwide, .entry-content .alignfull { max-width: none; }

.post-cta { max-width: 760px; margin: 56px auto 0; display: flex; gap: 20px; align-items: center; justify-content: space-between; flex-wrap: wrap; background: var(--bg-soft); border: 1px solid var(--blue-100); border-radius: 18px; padding: 26px 28px; }
.post-cta h2 { font-size: 21px; }
.post-cta p { margin-top: 6px; color: var(--muted); font-size: 15px; }

@media (max-width: 1080px) { .post-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) {
  .post-grid { grid-template-columns: 1fr; }
  .entry-content { font-size: 16.5px; }
  .entry-content h2 { font-size: 24px; }
  .post-hero-img { padding: 0 16px; }
}

/* -------------------------------------------------------------------------
   Blocks inside articles (keep in sync with editor-style.css)
   ---------------------------------------------------------------------- */
.entry-content .is-style-rp-callout,
.entry-content .is-style-rp-checklist { background: var(--bg-soft); border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 12px; padding: 20px 24px; }
.entry-content .is-style-rp-cta { background: var(--blue-50); border: 1px solid var(--blue-100); border-radius: 18px; padding: 26px 28px; }
.entry-content .is-style-rp-callout > :first-child,
.entry-content .is-style-rp-checklist > :first-child,
.entry-content .is-style-rp-cta > :first-child { margin-top: 0; }
.entry-content .wp-block-group > * + * { margin-top: .75em; }
.entry-content .wp-block-group > .wp-block-buttons { margin-top: 1.1em; }
.entry-content .has-large-font-size { font-size: 22px; }
.entry-content .is-style-rp-checklist ul { list-style: none; padding-left: 0; }
.entry-content .is-style-rp-checklist li { position: relative; padding-left: 30px; }
.entry-content .is-style-rp-checklist li::before { content: ""; position: absolute; left: 0; top: .3em; width: 18px; height: 18px; border-radius: 50%; background: var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center / 12px no-repeat; }
.entry-content .is-style-rp-highlight { border-left: 0; background: none; padding: 0; font-style: normal; font-family: var(--font-head); font-size: 24px; font-weight: 600; line-height: 1.35; color: var(--ink); }
.entry-content .is-style-rp-highlight cite { display: block; margin-top: 8px; font-family: var(--font-body); font-size: 14px; font-weight: 500; color: var(--muted); }

.entry-content .wp-block-details { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 0 20px; box-shadow: var(--shadow); }
.entry-content .wp-block-details + .wp-block-details { margin-top: 10px; }
.entry-content .wp-block-details summary { cursor: pointer; padding: 16px 0; font-family: var(--font-head); font-weight: 700; color: var(--ink); }
.entry-content .wp-block-details[open] { padding-bottom: 16px; }
.entry-content .wp-block-details > :not(summary) { margin-top: 0; }

.entry-content .wp-block-button__link { text-decoration: none; color: #fff; box-shadow: 0 8px 20px rgba(0, 87, 232, .28); }
.entry-content .wp-block-button__link:hover { background: var(--blue-600); color: #fff; }
.entry-content .wp-block-button.is-style-outline .wp-block-button__link { background: #fff; color: var(--ink); border: 1.5px solid #c9d6ee; box-shadow: none; }
.entry-content .wp-block-table { overflow-x: auto; }
.entry-content .wp-block-table thead { border-bottom: 0; }
.entry-content .wp-block-separator { border: 0; border-top: 1px solid var(--line); margin: 2em 0; }
.entry-content .wp-block-columns { gap: 24px; }
.entry-content .wp-block-image figcaption { font-size: 14px; color: var(--muted); }
.entry-content .alignwide { max-width: 1000px; margin-left: 50%; transform: translateX(-50%); width: min(1000px, calc(100vw - 48px)); }
@media (max-width: 760px) { .entry-content .alignwide { width: calc(100vw - 32px); } }

/* Image alignment from the block toolbar. Only direct children of .entry-content, so
   nested blocks (columns, groups) keep their own layout. Matches editor-style.css. */
.entry-content > .alignleft { float: left; margin: .3em 1.5em 1em 0; max-width: 50%; }
.entry-content > .alignright { float: right; margin: .3em 0 1em 1.5em; max-width: 50%; }
.entry-content > .aligncenter { margin-left: auto; margin-right: auto; }
.entry-content::after { content: ""; display: block; clear: both; }
/* Full width: break out of the 760px column, and clip any scrollbar overhang on the article section */
.entry-content .alignfull { width: 100vw; max-width: 100vw; margin-left: 50%; transform: translateX(-50%); border-radius: 0; }
.section:has(> .container > .entry-content) { overflow-x: clip; }
/* Image Styles → Rounded: a circle, as the block editor shows it */
.entry-content .wp-block-image.is-style-rounded img { border-radius: 9999px; }
