/*
Theme Name: TBI Journal
Description: An editorial Ollie child theme for a general-interest informational publication. Native block templates, no public forms, and optional local demo import.
Author: TBI Journal
Template: ollie
Version: 1.2.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: tbi-journal
Tags: blog, news, full-site-editing, block-patterns, custom-logo, editor-style, featured-images, wide-blocks
*/

/* Theme.json owns the design tokens. These rules refine layout and responsive behavior. */
:where(.wp-site-blocks, .editor-styles-wrapper) { overflow-wrap: anywhere; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
:where(.wp-site-blocks) > header,
:where(.wp-site-blocks) > footer { max-width: none; }
.tbi-header-row, .tbi-footer-inner, .tbi-main {
    width: 100%; max-width: var(--wp--style--global--wide-size,1200px); margin-inline: auto;
}
.tbi-header-row { min-height: 96px; padding-block: 18px; gap: 24px; border-bottom: 1px solid var(--wp--preset--color--border-light); }
.tbi-brand-row { gap: 10px; }
.tbi-brand { margin: 0; white-space: nowrap; }
.tbi-primary-nav { gap: 32px; }
.tbi-primary-nav a, .tbi-footer-nav a { text-decoration: none; }
.tbi-primary-nav .current-menu-item, .tbi-primary-nav [aria-current="page"] { color: var(--wp--preset--color--primary); }
.tbi-main { padding-block: 64px 80px; }
.tbi-main > *, .tbi-main > .wp-block-query { max-width: none; }
.tbi-section > .wp-block-columns, .tbi-section > .wp-block-query,
.tbi-footer-inner > * { max-width: none; }
.tbi-homepage { padding-top: 26px; padding-bottom: 0; }
.tbi-hero { overflow: hidden; border-radius: 5px; padding: clamp(28px,6vw,80px); isolation: isolate; }

.tbi-hero::after { content: ""; position: absolute; z-index: 0; inset: 0; background: url('assets/images/hero-art.svg') right center / cover no-repeat; opacity: .55; pointer-events: none; }
.tbi-hero .wp-block-cover__inner-container { z-index: 1; width: 100%; }
.tbi-hero-copy { max-width: 720px; margin-left: 0 !important; color: #fff; }
.tbi-hero-copy h1 { max-width: 650px; margin-block: 20px; color: #fff; }
.tbi-hero-description { max-width: 590px; color: #e1eaf1; font-size: 1.125rem; }
.tbi-hero .tbi-eyebrow { color: #b9d8ec; }
.tbi-hero-button a { background: #fff; color: #142a3d; margin-top: 16px; }
.tbi-hero a:focus-visible { outline-color: #cfe8e0; }
.tbi-eyebrow { font-family: var(--wp--preset--font-family--system); font-size: .75rem; font-weight: 700; letter-spacing: .14em; line-height: 1.6; color: var(--wp--preset--color--primary); }
.tbi-section { padding-block: var(--wp--preset--spacing--section,64px); margin-top: 0 !important; }
.tbi-section > *, .tbi-page-intro > * { margin-left: 0 !important; }
.tbi-section h2, .tbi-page-intro h1 { margin-top: 12px; }
.tbi-intro { color: var(--wp--preset--color--secondary); max-width: 730px !important; }
.tbi-value-columns { margin-top: 36px; gap: 40px; }
.tbi-value-columns h3 { font-size: 1.5rem; }
.tbi-value-columns p { color: var(--wp--preset--color--secondary); font-size: 1rem; }
.tbi-value-columns .tbi-number { color: var(--wp--preset--color--primary); font-weight: 600; padding-top: 20px; border-top: 1px solid var(--wp--preset--color--border-light); font-size: .9rem; }
.tbi-latest { border-block: 1px solid var(--wp--preset--color--border-light); }
.tbi-query { margin-top: 32px; }
.tbi-post-grid { gap: 32px !important; }
.tbi-post-grid > li { min-width: 0; margin: 0; }
.tbi-card { height: 100%; background: var(--wp--preset--color--base); margin: 0; }
.tbi-card > * { max-width: none; }
.tbi-card-image { margin: 0; border-radius: 4px; overflow: hidden; }
.tbi-card-image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; display: block; }
.tbi-card-body { padding-top: 18px; }
.tbi-card-body > * { margin-left: 0 !important; }
.tbi-card-title { font-size: 1.6rem; margin-top: 9px; }
.tbi-card-title a { color: var(--wp--preset--color--main); }
.tbi-card-title a:hover { color: var(--wp--preset--color--primary); text-decoration: underline; }
.tbi-meta, .tbi-post-meta { color: var(--wp--preset--color--secondary); font-size: .82rem; }
.tbi-card-excerpt { color: var(--wp--preset--color--secondary); margin-top: 12px; }
.tbi-card-excerpt p { margin-top: 0; }
.tbi-topic-columns { gap: 24px; margin-top: 30px; }
.tbi-topic-card { height: 100%; padding: 28px; background: var(--wp--preset--color--tertiary); border-radius: 4px; }
.tbi-topic-card h3 { font-size: 1.4rem; }
.tbi-topic-card a { color: var(--wp--preset--color--main); text-decoration: none; }
.tbi-topic-card a:hover { text-decoration: underline; }
.tbi-topic-card p { color: var(--wp--preset--color--secondary); font-size: .94rem; }
.tbi-closing { border-top: 1px solid var(--wp--preset--color--border-light); }
.tbi-text-button a { background: var(--wp--preset--color--primary); color: #fff; }
.tbi-page-intro { margin-bottom: 38px; max-width: 900px !important; }
.tbi-page-intro h1 { max-width: 900px; }
.tbi-archive-description { max-width: 760px !important; margin: -18px 0 36px !important; color: var(--wp--preset--color--secondary); }
.tbi-archive-description:empty { display: none; }
.tbi-pagination { margin-top: 52px; }
.tbi-pagination .page-numbers { display: inline-flex; min-width: 42px; min-height: 42px; align-items: center; justify-content: center; padding: 6px 12px; margin: 3px; border: 1px solid var(--wp--preset--color--border-light); border-radius: 3px; text-decoration: none; }
.tbi-pagination .current { background: var(--wp--preset--color--main); color: #fff; }
.tbi-empty { padding: 32px; background: var(--wp--preset--color--tertiary); }
.tbi-author-header { gap: 24px; }
.tbi-author-header .wp-block-avatar img { border-radius: 50%; }
.tbi-author-bio { max-width: 700px; color: var(--wp--preset--color--secondary); }
.tbi-single-intro, .tbi-article-content, .tbi-single-end, .tbi-page-content { max-width: 760px !important; margin-inline: auto !important; }
.tbi-single-intro h1 { font-size: clamp(2.4rem,5vw,3.8rem); }
.tbi-post-category { font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 600; }
.tbi-post-meta { gap: 24px; }
.tbi-single-image { max-width: 1020px !important; margin: 38px auto; border-radius: 5px; overflow: hidden; }
.tbi-single-image img { width: 100%; object-fit: cover; }
.tbi-article-content { margin-top: 40px; }
.tbi-article-content h2, .tbi-page-content h2 { font-size: clamp(1.8rem,3vw,2.4rem); margin-top: 42px; }
.tbi-article-content h3, .tbi-page-content h3 { font-size: 1.5rem; }
.tbi-article-content ul, .tbi-page-content ul { padding-inline-start: 1.5em; }
.tbi-single-end { padding-top: 36px; }
.tbi-post-tags { font-size: .85rem; }
.tbi-post-navigation { border-top: 1px solid var(--wp--preset--color--border-light); margin-top: 36px; padding-top: 28px; gap: 28px; align-items: start; }
.tbi-post-navigation > * { flex: 1 1 240px; font-size: .94rem; }
.tbi-post-navigation .post-navigation-link-next { text-align: right; }
.tbi-demo-note { padding: 16px 20px; background: var(--wp--preset--color--tertiary); border-left: 3px solid var(--wp--preset--color--primary); font-size: .88rem; color: var(--wp--preset--color--secondary); }
.tbi-404 { min-height: 65vh; }
.wp-site-blocks > footer { margin-top: 0; }
.tbi-footer-inner { padding: 52px 0 24px; border-top: 3px solid var(--wp--preset--color--main); }
.tbi-footer-columns { gap: 60px; }
.tbi-footer-columns > .wp-block-column:first-child { flex-basis: 70%; }
.tbi-footer-columns > .wp-block-column:last-child { flex-basis: 30%; }
.tbi-footer-brand { font: 700 1.8rem/1.3 var(--wp--preset--font-family--editorial); }
.tbi-footer-kicker { font-size: .8rem; color: var(--wp--preset--color--primary); text-transform: uppercase; letter-spacing: .1em; }
.tbi-footer-columns p:not(.tbi-footer-brand):not(.tbi-footer-kicker) { max-width: 470px; font-size: .9rem; color: var(--wp--preset--color--secondary); }
.tbi-footer-nav { gap: 12px; }
.tbi-footer-bottom { border-top: 1px solid var(--wp--preset--color--border-light); padding-top: 20px; margin-top: 32px; gap: 12px; }
.tbi-copyright, .tbi-credits { font-size: .75rem; color: var(--wp--preset--color--secondary); margin: 0; }
@media (max-width: 900px) {
    .tbi-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
    .tbi-topic-columns, .tbi-value-columns { gap: 24px; }
}
@media (max-width: 781px) {
    .tbi-hero { min-height: 520px !important; }
    .tbi-hero::after { opacity: .25; }
    .tbi-main { padding-block: 40px 54px; }
    .tbi-homepage { padding-top: 18px; padding-bottom: 0; }
    .tbi-footer-columns { gap: 28px; }
    .tbi-post-navigation .post-navigation-link-next { text-align: left; }
}
@media (max-width: 600px) {
    .tbi-header-row { min-height: 82px; }
    .tbi-post-grid { grid-template-columns: minmax(0,1fr) !important; gap: 32px !important; }
    .tbi-brand { font-size: 1.5rem; }
    .tbi-hero { min-height: 500px !important; padding: 28px 22px; }
    .tbi-hero-copy h1 { font-size: 2.7rem; }
    .tbi-hero-description { font-size: 1rem; }
    .tbi-primary-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 28px; }
    .tbi-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
