/*
Theme Name: Chronicle Timeline Refined
Theme URI: https://example.com/chronicle-timeline
Author: Custom theme
Description: A modern block theme for publishing a centered, editorial timeline.
Version: 1.2.2
Requires at least: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: chronicle-timeline
*/

:root { --chronicle-violet:#5b35d5; --chronicle-ink:#15151a; --chronicle-muted:#62636d; --chronicle-line:#d8d8e2; --chronicle-page:#fff; }
* { box-sizing:border-box; }
html { background:#f5f5f8; }
body { margin:0; overflow-wrap:break-word; background:radial-gradient(circle at 50% 0,#fff 0,#f5f5f8 72%); color:var(--chronicle-ink); }
.wp-site-blocks { max-width:1440px; min-height:calc(100vh - 32px); margin:16px auto; padding:0 !important; overflow:hidden; border:1px solid #e8e8ee; border-radius:24px; background:var(--chronicle-page); box-shadow:0 18px 55px rgba(26,24,43,.08); }
.chronicle-site-header { background:#fff !important; }
.chronicle-brand { gap:.1rem !important; }
.chronicle-brand .wp-block-site-title { margin:0; font-size:1.42rem; font-weight:750; line-height:1.05; letter-spacing:-.025em; }
.chronicle-brand .wp-block-site-title a { color:var(--chronicle-ink); text-decoration:none; }
.chronicle-brand .wp-block-site-tagline { margin:0; color:#44454f; font-size:.8rem; }
.chronicle-header-inner { min-height:76px; }
.chronicle-header-inner .wp-block-navigation { font-size:.9rem; }
.chronicle-header-inner .wp-block-navigation-item__content { color:var(--chronicle-ink); }
.chronicle-header-inner .wp-block-navigation-item__content:hover { color:var(--chronicle-violet); }
.chronicle-header-tools { gap:.65rem !important; }
.chronicle-header-tools .wp-block-search__inside-wrapper { padding:0; border:0; }
.chronicle-header-tools .wp-block-search__button { padding:.45rem; background:transparent; color:var(--chronicle-ink); }
.chronicle-highlight-wrap { padding:2.1rem 2.25rem 1.6rem; background:#fff !important; }
.chronicle-highlight { overflow:hidden; border:1px solid #efeff7; border-radius:18px; background:linear-gradient(120deg,#faf9ff 0%,#f4f1ff 100%); }
.chronicle-highlight .wp-block-columns { gap:0 !important; }
.chronicle-highlight .wp-block-column { min-width:0; }
.chronicle-default-cover { min-height:350px; border-radius:14px !important; background-color:#251344; background-image:url("assets/images/podcast-highlight.png"); background-position:center; background-size:cover; background-repeat:no-repeat; }
.chronicle-default-cover .wp-block-cover__background { background:transparent !important; opacity:0 !important; }
.chronicle-play { width:62px; height:62px; display:grid; place-items:center; margin:auto; border-radius:50%; background:rgba(255,255,255,.95); color:var(--chronicle-ink); box-shadow:0 8px 28px rgba(0,0,0,.18); font-size:1.45rem; line-height:1; }
.chronicle-highlight-copy { padding:clamp(2rem,5vw,4.25rem); }
.chronicle-eyebrow { margin-bottom:.75rem !important; color:var(--chronicle-violet); font-size:.75rem !important; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.chronicle-highlight h2 { margin:0 0 1rem; color:var(--chronicle-ink); font-size:clamp(1.75rem,3vw,2.65rem); letter-spacing:-.035em; }
.chronicle-highlight-copy>p:not(.chronicle-eyebrow) { max-width:34rem; color:#3e3e48; }
.chronicle-highlight .wp-block-button__link { min-height:48px; padding:.75rem 1.35rem; border-radius:8px; font-size:.88rem; font-weight:700; }
.chronicle-highlight .is-style-outline .wp-block-button__link { border-color:#d6d4de; color:var(--chronicle-ink) !important; background:#fff !important; }
.chronicle-main { padding-top:1.35rem !important; }
.chronicle-timeline-title { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.chronicle-timeline { position:relative; max-width:1120px; margin:0 auto; padding:.4rem 1rem 4rem; }
.chronicle-timeline::before { content:""; position:absolute; top:2.1rem; bottom:1.2rem; left:50%; width:2px; background:var(--chronicle-line); transform:translateX(-50%); }
.chronicle-month { position:relative; z-index:4; display:flex; justify-content:center; margin:3.5rem 0 1.55rem; }
.chronicle-month:first-child { margin-top:.25rem; }
.chronicle-month span { padding:.25rem .75rem; border:0; background:#fff; color:var(--chronicle-ink); font-size:.88rem; font-weight:750; letter-spacing:0; text-transform:none; }
.chronicle-month::after { content:""; position:absolute; top:calc(100% + 12px); left:50%; width:14px; height:14px; border:3px solid #fff; border-radius:50%; background:var(--chronicle-violet); box-shadow:0 0 0 1px var(--chronicle-violet); transform:translateX(-50%); }
.chronicle-entry { --accent:#2780ef; position:relative; display:grid; grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr); min-height:216px; margin:0; align-items:center; }
.chronicle-entry__marker { display:none; }
.chronicle-card { position:relative; width:100%; overflow:visible; border:1.5px solid var(--accent); border-radius:14px; background:color-mix(in srgb,var(--accent) 4%,#fff); box-shadow:0 8px 24px rgba(35,35,55,.035); }
.chronicle-entry--left .chronicle-card { grid-column:1; }
.chronicle-entry--right .chronicle-card { grid-column:3; }
.chronicle-entry--left .chronicle-card::before,.chronicle-entry--right .chronicle-card::before { content:""; position:absolute; top:50%; width:14px; height:14px; background:color-mix(in srgb,var(--accent) 4%,#fff); transform:translateY(-50%) rotate(45deg); }
.chronicle-entry--left .chronicle-card::before { right:-8px; border-top:1.5px solid var(--accent); border-right:1.5px solid var(--accent); }
.chronicle-entry--right .chronicle-card::before { left:-8px; border-bottom:1.5px solid var(--accent); border-left:1.5px solid var(--accent); }
.chronicle-entry--left::after,.chronicle-entry--right::after { content:""; position:absolute; top:50%; width:43px; height:1px; background:var(--chronicle-line); }
.chronicle-entry--left::after { left:calc(50% - 43px); }
.chronicle-entry--right::after { left:50%; }
.chronicle-entry--featured { grid-template-columns:1fr; min-height:auto; padding:2.35rem 11%; margin:.5rem 0 1rem; }
.chronicle-entry--featured::before,.chronicle-entry--featured::after { content:""; position:absolute; top:50%; width:11%; height:1px; background:var(--chronicle-line); }
.chronicle-entry--featured::before { left:0; }
.chronicle-entry--featured::after { right:0; }
.chronicle-entry--featured .chronicle-card { grid-column:1; z-index:2; border-width:1.5px; }
.chronicle-card__image { display:block; aspect-ratio:16/7; overflow:hidden; border-radius:12px 12px 0 0; background:#ececf3; }
.chronicle-card__image img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .25s ease; }
.chronicle-card__image:hover img { transform:scale(1.02); }
.chronicle-card__body { position:relative; min-height:178px; padding:1.35rem 5.4rem 1.25rem 1.45rem; display:flex; flex-direction:column; }
.chronicle-entry--featured .chronicle-card__body { min-height:185px; padding-right:7.5rem; }
.chronicle-card__badge { align-self:flex-start; margin:0 0 .75rem; padding:.25rem .55rem; border-radius:5px; background:color-mix(in srgb,var(--accent) 14%,#fff); color:var(--accent); font-size:.68rem; font-weight:800; line-height:1; letter-spacing:.035em; text-transform:uppercase; }
.chronicle-card__icon { position:absolute; top:1.4rem; right:1.4rem; width:52px; height:52px; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:#fff; font-size:1.25rem; font-weight:800; }
.chronicle-entry--featured .chronicle-card__icon { width:64px; height:64px; }
.chronicle-card h2 { max-width:92%; margin:0 0 .55rem; color:var(--chronicle-ink); font-size:clamp(1.2rem,2vw,1.55rem); line-height:1.18; letter-spacing:-.02em; }
.chronicle-card h2 a { color:inherit; text-decoration:none; }
.chronicle-card h2 a:hover { color:var(--accent); }
.chronicle-card__excerpt { max-width:90%; color:#44454f; font-size:.9rem; line-height:1.55; }
.chronicle-card__excerpt p { margin:0 0 1rem; }
.chronicle-card__footer { display:flex; gap:1rem; justify-content:space-between; align-items:flex-end; margin-top:auto; }
.chronicle-card__meta { margin:0; color:#555660; font-size:.75rem; font-weight:500; letter-spacing:0; text-transform:none; }
.chronicle-card__button { color:var(--accent); font-size:.78rem; font-weight:750; text-decoration:none; white-space:nowrap; }
.chronicle-card__button:hover { text-decoration:underline; text-underline-offset:.2em; }
.chronicle-empty { text-align:center; padding:4rem 1rem; }
.chronicle-pagination { display:flex; justify-content:center; margin:2rem 0 0; }
.chronicle-pagination ul { display:flex; flex-wrap:wrap; gap:.5rem; margin:0; padding:0; list-style:none; }
.chronicle-pagination a,.chronicle-pagination span { display:inline-flex; min-width:2.5rem; min-height:2.5rem; align-items:center; justify-content:center; padding:.35rem .75rem; border:1px solid var(--chronicle-line); border-radius:999px; }
.chronicle-pagination .current { color:#fff; border-color:var(--chronicle-violet); background:var(--chronicle-violet); }
.chronicle-site-footer { color:#696a74; font-size:.78rem; }
@media(max-width:800px){
 .wp-site-blocks{min-height:100vh;margin:0;border:0;border-radius:0}.chronicle-header-inner{min-height:66px}.chronicle-highlight-wrap{padding:1rem}.chronicle-highlight .wp-block-columns{display:block}.chronicle-default-cover:not([style*="min-height"]){min-height:230px}.chronicle-default-cover{border-radius:13px 13px 0 0!important}.chronicle-highlight-copy{padding:1.6rem}.chronicle-timeline{padding:0 1rem 3rem 2.9rem}.chronicle-timeline::before{left:1.2rem;transform:none}.chronicle-month{justify-content:flex-start;margin:2.8rem 0 1.6rem -2.9rem}.chronicle-month span{padding-left:.3rem}.chronicle-month::after{left:1.55rem}.chronicle-entry,.chronicle-entry--featured{display:block;min-height:0;padding:0;margin:0 0 1.1rem}.chronicle-entry::after,.chronicle-entry--featured::before,.chronicle-entry--featured::after,.chronicle-card::before{display:none}.chronicle-card__body,.chronicle-entry--featured .chronicle-card__body{min-height:0;padding:1rem 4rem 1rem 1rem}.chronicle-card__icon,.chronicle-entry--featured .chronicle-card__icon{top:1rem;right:1rem;width:42px;height:42px;font-size:1rem}.chronicle-card h2{font-size:1.08rem}.chronicle-card__excerpt{font-size:.82rem}.chronicle-card__footer{align-items:center}
}
@media(max-width:520px){.chronicle-header-tools{display:none!important}.chronicle-highlight .wp-block-buttons{display:grid}.chronicle-highlight .wp-block-button{width:100%}.chronicle-highlight .wp-block-button__link{width:100%}.chronicle-card__footer{display:block}.chronicle-card__button{display:inline-block;margin-top:.65rem}}
@media(prefers-reduced-motion:reduce){.chronicle-card__image img{transition:none}}
