/*
Theme Name: Tranced Out Archive
Description: Historical editorial archive child theme for Tranced Out.
Version: 1.0.0
Template: twentytwentyfive
Text Domain: trancedout-archive
*/

@import url('https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600;6..72,700&display=swap');

:root { --ivory:#F5F0E4; --pine:#22352B; --ink:#2A342C; --gold:#C9A55C; --cream:#ECE4D2; --border:#D9D1C1; --sans:Karla,Arial,sans-serif; --serif:Newsreader,Georgia,serif; }
* { box-sizing:border-box; min-width:0; }
html { scroll-behavior:smooth; scroll-padding-top:96px; }
#browse { scroll-margin-top:96px; }
body { margin:0; background:var(--ivory); color:var(--ink); font:18px/1.7 var(--sans); }
a { color:var(--pine); text-decoration-color:var(--gold); text-decoration-thickness:1px; text-underline-offset:4px; }
a:hover { color:#000; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.archive-container { width:min(calc(100% - 40px),1160px); margin-inline:auto; }
.site-header { min-height:76px; border-bottom:1px solid var(--border); background:var(--ivory); display:flex; align-items:center; position:relative; }
.site-header__inner { display:flex; width:min(100% - 40px,1160px); margin:auto; align-items:center; justify-content:space-between; gap:24px; }
.wordmark { color:var(--pine); flex:1 1 auto; text-decoration:none; line-height:1; display:inline-flex; flex-direction:column; }
.wordmark__name { font:600 clamp(28px,3vw,38px)/.9 var(--serif); letter-spacing:-.035em; }
.wordmark__descriptor { margin-top:8px; color:#667067; font:600 10px/1 var(--sans); letter-spacing:.13em; text-transform:uppercase; }
.site-nav { display:flex; align-items:center; gap:22px; font-size:14px; font-weight:600; }
.site-nav__links { display:flex; align-items:center; gap:22px; margin:0; padding:0; list-style:none; }
.site-nav a { text-decoration:none; }
.menu-toggle { display:none; min-height:44px; border:0; background:transparent; color:var(--pine); font:600 14px var(--sans); }
.archive-band { background:var(--pine); color:var(--ivory); padding:22px 0; }
.archive-band__inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.archive-band__inner > div { flex:1 1 auto; }
.archive-band__label,.eyebrow,.topic-label { display:block; color:var(--gold); font:700 11px/1.2 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.archive-band p { margin:6px 0 0; font-size:15px; line-height:1.45; max-width:780px; }
.button-outline { align-items:center; color:var(--ivory); display:inline-flex; justify-content:center; min-height:44px; border:1px solid var(--gold); padding:11px 15px; white-space:nowrap; text-decoration:none; font:600 13px var(--sans); }
.button-outline:hover { background:var(--gold); color:var(--pine); }
.practice-actions { display:flex; flex-wrap:wrap; gap:10px; }
main { padding:72px 0 96px; }
.archive-intro { max-width:780px; margin:0 auto 72px; }
h1,h2,h3,h4 { color:var(--pine); font-family:var(--serif); line-height:1.06; letter-spacing:-.025em; }
h1 { font-size:clamp(42px,5vw,60px); margin:12px 0 22px; }
h2 { font-size:clamp(32px,3.5vw,40px); margin:0 0 18px; }
h3 { font-size:28px; margin:0 0 10px; }
.archive-intro p { font-size:21px; line-height:1.55; }
.section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin:0 0 24px; }
.section-heading p { margin:0; color:#5c655e; font-size:15px; }
.archive-section { margin:0 0 76px; }
.article-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.article-card { background:var(--cream); border:1px solid var(--border); padding:28px; display:flex; flex-direction:column; align-items:flex-start; min-height:284px; overflow-wrap:anywhere; }
.article-card__title { font-size:clamp(27px,2.5vw,32px); margin:12px 0 10px; overflow-wrap:anywhere; }
.article-card__title a { text-decoration:none; }
.article-card__meta,.article-meta { color:#687167; font-size:13px; font-weight:600; }
.article-card__excerpt { margin:12px 0 20px; line-height:1.55; }
.article-card__link { font-weight:700; margin-top:auto; text-decoration:none; }
.archive-results-summary { margin:-8px 0 20px; color:#687167; font-size:14px; font-weight:600; }
.archive-search { margin:0 0 28px; }
.archive-search label { display:block; margin-bottom:7px; color:var(--pine); font-size:14px; font-weight:700; }
.archive-search > div { display:flex; max-width:500px; }
.archive-search input { min-width:0; flex:1; border:1px solid var(--border); border-radius:0; background:var(--ivory); color:var(--ink); font:inherit; padding:10px 12px; }
.archive-search button { min-height:44px; border:1px solid var(--pine); background:var(--pine); color:var(--ivory); cursor:pointer; font:600 14px var(--sans); padding:0 16px; }
.archive-empty { border:1px solid var(--border); background:var(--cream); padding:22px; }
.browse-layout { background:var(--cream); border:1px solid var(--border); padding:32px; display:grid; grid-template-columns:1.5fr 1fr; gap:40px; }
.browse-layout h3 { font-size:25px; }
.topic-list,.year-list { list-style:none; padding:0; margin:14px 0 0; columns:2; }
.topic-list li,.year-list li { margin:5px 0; }
.year-list { columns:3; }
.bridge-panel { padding:36px; background:var(--pine); color:var(--ivory); }
.bridge-panel h2 { color:var(--ivory); max-width:620px; }
.bridge-panel p { max-width:650px; margin-bottom:24px; }
.post-shell { width:min(100% - 40px,720px); margin:auto; }
.article-header { margin-bottom:42px; }
.article-header .article-meta { margin-top:16px; }
.article-context { color:#687167; margin:14px 0 0; }
.article-content { font-size:19px; line-height:1.72; }
.article-content > * { margin-top:0; margin-bottom:1.2em; }
.article-content h2 { font-size:clamp(32px,4vw,38px); margin-top:1.8em; }
.article-content h3 { margin-top:1.5em; }
.article-content ul,.article-content ol { padding-left:1.3em; }
.article-content blockquote { border-left:3px solid var(--gold); margin:2em 0; padding:4px 0 4px 24px; font:italic 25px/1.35 var(--serif); }
.article-content img,.article-content iframe,.article-content video { max-width:100%; height:auto; }
.article-content pre,.article-content table { display:block; max-width:100%; overflow-x:auto; }
.archive-toc { background:var(--cream); border:1px solid var(--border); margin:0 0 2rem; padding:16px 20px; }
.archive-toc summary { color:var(--pine); cursor:pointer; font-weight:700; }
.archive-toc ol { margin:14px 0 0; padding-left:1.25rem; }
.archive-toc li { margin:5px 0; }
.archive-toc__level-3 { margin-left:1rem; }
.article-footer { margin-top:64px; }
.archive-post-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; clear:both; margin:52px 0 0; position:static; }
.archive-post-navigation a { background:var(--cream); border:1px solid var(--border); min-width:0; padding:18px; position:static; text-decoration:none; font-weight:700; }
.archive-post-navigation span { display:block; color:#687167; font:600 11px/1.2 var(--sans); letter-spacing:.12em; margin-bottom:7px; text-transform:uppercase; }
.archive-post-navigation__next { text-align:right; }
.related-articles { clear:both; border-top:1px solid var(--border); margin:72px 0 0; padding-top:32px; position:static; }
.related-articles ul { padding:0; margin:18px 0; list-style:none; }
.related-articles li { padding:12px 0; border-top:1px solid var(--border); }
.archived-discussion { border-top:1px solid var(--border); margin-top:44px; padding-top:20px; }
.archived-discussion summary { color:var(--pine); cursor:pointer; font:600 20px var(--serif); }
.archived-comment { padding:18px 0; border-bottom:1px solid var(--border); }
.archived-comment__author { display:block; font-weight:700; font-size:14px; }
.archive-browse { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:50px; }
.browse-sidebar { border-left:1px solid var(--border); padding-left:28px; }
.browse-sidebar section { margin-bottom:32px; }
.browse-sidebar h2 { font-size:23px; }
.browse-sidebar ul { padding:0; list-style:none; margin:10px 0; }
.browse-sidebar li { padding:5px 0; }
.search-form { display:flex; }
.search-form input { width:100%; padding:10px; border:1px solid var(--border); background:var(--ivory); color:var(--ink); }
.search-form button { background:var(--pine); color:var(--ivory); border:0; padding:0 12px; }
.site-footer { background:var(--pine); color:var(--ivory); padding:46px 0 28px; }
.footer-grid { display:flex; justify-content:space-between; align-items:flex-start; gap:28px; }
.footer-brand { max-width:500px; }
.footer-brand strong { font:600 28px var(--serif); }
.site-footer a { color:var(--ivory); text-decoration-color:var(--gold); }
.footer-links { display:flex; flex-wrap:wrap; align-items:center; gap:0; font-size:14px; font-weight:600; line-height:1.5; }
.footer-links a { display:inline-flex; align-items:center; min-height:28px; white-space:nowrap; }
.footer-links a + a::before { color:var(--gold); content:"·"; margin:0 10px; }
.footer-copyright { border-top:1px solid rgba(245,240,228,.22); margin-top:34px; padding-top:18px; color:#d5d0c4; font-size:12px; }
.pagination { margin-top:35px; display:flex; gap:8px; }
.pagination a,.pagination span { border:1px solid var(--border); padding:8px 12px; text-decoration:none; }
@media (max-width:960px) { .site-header__inner { min-height:72px; } .site-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:18px max(20px,calc((100vw - 1160px) / 2)); background:var(--ivory); border-bottom:1px solid var(--border); box-shadow:0 10px 20px rgba(34,53,43,.12); z-index:10; flex-direction:column; align-items:stretch; } .site-nav.is-open { display:flex; } .site-nav__links { flex-direction:column; align-items:stretch; gap:8px; width:100%; } .site-nav__links a { display:flex; align-items:center; min-height:44px; padding:6px 0; } .menu-toggle { display:block; min-width:44px; padding:0 8px; } .archive-band__inner { align-items:flex-start; flex-direction:column; } .archive-band__inner .button-outline { width:auto; } .article-grid { grid-template-columns:1fr; } .browse-layout,.archive-browse { grid-template-columns:1fr; gap:25px; } .browse-sidebar { border-left:0; border-top:1px solid var(--border); padding:25px 0 0; } .footer-grid { flex-direction:column; gap:16px; } }
@media (max-width:720px) { body { font-size:17px; } .archive-container,.site-header__inner { width:min(calc(100% - 32px),1160px); } .archive-band { padding:20px 0 24px; } .archive-band__inner .button-outline { width:100%; } main { padding:48px 0 72px; } .archive-intro { margin-bottom:48px; } .archive-section { margin-bottom:52px; } .article-card { min-height:0; padding:24px; } .section-heading { align-items:flex-start; flex-direction:column; gap:8px; } .archive-search > div { flex-wrap:wrap; } .archive-search input,.archive-search button { width:100%; } .archive-search button { margin-top:8px; } .topic-list,.year-list { columns:1; } .archive-post-navigation { grid-template-columns:1fr; } .archive-post-navigation__next { text-align:left; } .footer-links a { min-height:36px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
