/* calltime — WordPress-only additions (articles, generic pages, pagination, admin bar). */

/* fixed header sits under the WP admin bar when logged in */
.admin-bar .ct-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .ct-header { top: 46px; } }

/* Insights cards: placeholder when a post has no featured image */
.v3-blog-thumb:empty { background: linear-gradient(135deg, var(--red-soft), var(--violet-soft) 60%, var(--azure-soft)); }
.v3-blog-thumb img { width: 100%; height: 100%; object-fit: cover; }

/* pagination */
.ct-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 0.4rem; margin-top: clamp(2rem, 4vw, 3rem); }
.ct-pagination .page-numbers { min-width: 2.6rem; padding: 0.6rem 0.9rem; border-radius: var(--r-sm); border: 1px solid var(--line); background: var(--white); color: var(--ink); font-weight: 600; font-size: 0.9rem; text-align: center; }
.ct-pagination .page-numbers.current { background: var(--ink); color: #fff; border-color: var(--ink); }
.ct-pagination a.page-numbers:hover { border-color: var(--ink); }

/* single article */
.ct-article-hero-meta { color: rgba(255,255,255,0.72); font-family: var(--font-mono); font-size: 0.8rem; letter-spacing: 0.04em; text-transform: uppercase; }
.ct-article { padding: clamp(2rem, 4vw, 3rem) 0 clamp(3rem, 6vw, 5rem); }
.ct-article-wrap { max-width: 46rem; }
.ct-article-figure { margin: 0 0 clamp(1.8rem, 4vw, 2.6rem); border-radius: var(--block-r); overflow: hidden; box-shadow: var(--shadow-md); }
.ct-article-figure img { width: 100%; height: auto; display: block; }
.ct-prose { color: var(--body); font-size: 1.04rem; line-height: 1.75; }
.ct-prose > * + * { margin-top: 1.1em; }
.ct-prose h2 { font-size: clamp(1.45rem, 2.6vw, 1.9rem); margin-top: 2em; color: var(--ink); scroll-margin-top: 6rem; }
.ct-prose h3 { font-size: 1.2rem; margin-top: 1.6em; color: var(--ink); }
.ct-prose a { color: var(--red); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.ct-prose strong { color: var(--ink); }
.ct-prose ul, .ct-prose ol { padding-left: 1.3em; }
.ct-prose ul { list-style: disc; }
.ct-prose ol { list-style: decimal; }
.ct-prose li + li { margin-top: 0.4em; }
.ct-prose img { border-radius: var(--r); margin-inline: auto; height: auto; }
.ct-prose blockquote { border-left: 3px solid var(--red); padding: 0.4em 0 0.4em 1.1em; color: var(--ink); font-size: 1.1rem; }
.ct-prose table { width: 100%; border-collapse: collapse; font-size: 0.92rem; display: block; overflow-x: auto; }
.ct-prose th, .ct-prose td { border: 1px solid var(--line); padding: 0.6em 0.8em; text-align: left; vertical-align: top; }
.ct-prose th { background: var(--paper); color: var(--ink); }
.ct-prose .key-takeaways { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 1.2em 1.4em; }
.ct-prose .key-takeaways h2 { margin-top: 0; font-size: 1.2rem; }
.ct-related { padding: clamp(3rem, 6vw, 4.5rem) 0; background: var(--paper); }
.ct-related h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: 1.5rem; }

/* a single promotion card sits centred rather than stranded on the left */
.ct-promo-grid:has(> .ct-promo:only-child) { max-width: 26rem; margin-inline: auto; }
