/*
Theme Name: Petnooka Trailhead V2
Theme URI: https://petnooka.com/
Author: Petnooka Editors
Description: A clean, fast, data-forward editorial theme for Petnooka — white background, single accent color, light card UI.
Version: 1.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: petnooka-trailhead
*/

/* ---------- Design tokens ---------- */
:root{
	--bg:#FFFFFF;
	--bg-alt:#F6F7F5;
	--card:#FFFFFF;
	--ink:#14171A;
	--ink-soft:#5B6460;
	--line:#E6E8E4;
	--accent:#1E9E63;
	--accent-dark:#167C4E;
	--accent-soft:#E7F7EF;
	--dark:#12241C;
	--radius:16px;
	--radius-sm:10px;
	--shadow:0 12px 28px -18px rgba(20,23,26,.25);
	--maxw:1180px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
	margin:0;
	background:var(--bg);
	color:var(--ink);
	font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	font-size:16px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{
	font-family:"Inter",sans-serif;
	font-weight:800;
	color:var(--ink);
	line-height:1.18;
	margin:0 0 .5em;
	letter-spacing:-.02em;
}
p{margin:0 0 1em}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.btn{
	display:inline-flex;align-items:center;gap:8px;
	padding:12px 22px;border-radius:10px;
	font-weight:700;font-size:.94rem;border:1.5px solid transparent;
	cursor:pointer;transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dark)}
.btn-outline{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-outline:hover{border-color:var(--accent);color:var(--accent-dark)}
.eyebrow{
	display:inline-block;font-weight:800;
	font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
	color:var(--accent-dark);margin-bottom:.6em;
}
.pill{
	display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;
	background:var(--dark);color:#fff;font-size:.7rem;font-weight:700;
	letter-spacing:.03em;text-transform:uppercase;
}
.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;
}

/* ---------- Skip link ---------- */
.skip-link{
	position:fixed;top:-60px;left:16px;z-index:9999;background:var(--dark);color:#fff;
	padding:12px 18px;border-radius:8px;transition:top .2s ease;
}
.skip-link:focus{top:16px}

/* ---------- Ticker ---------- */
.ticker{background:var(--dark);color:#fff;overflow:hidden;white-space:nowrap;font-size:.82rem}
.ticker-track{display:inline-flex;gap:40px;padding:9px 0;animation:ticker 34s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{opacity:.9}
.ticker-track b{color:var(--accent);margin-right:6px}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:500;background:var(--bg);border-bottom:1px solid var(--line)}
.header-bar{
	max-width:var(--maxw);margin:0 auto;padding:16px 24px;
	display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:1.3rem;color:var(--ink)}
.brand .paw{
	width:30px;height:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent-dark);
	display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;
}
.brand em{font-style:normal;color:var(--accent)}
.main-nav{display:flex;align-items:center;gap:2px}
.main-nav a{
	padding:9px 13px;border-radius:8px;font-size:.92rem;font-weight:600;
	color:var(--ink-soft);transition:background .15s ease,color .15s ease;
	white-space:nowrap;
}
.main-nav a:hover,.main-nav a:focus{background:var(--bg-alt);color:var(--ink)}
.header-actions{display:flex;align-items:center;gap:10px}
.header-search{
	display:flex;align-items:center;gap:8px;background:var(--bg-alt);border:1px solid var(--line);
	border-radius:10px;padding:8px 14px;min-width:220px;
}
.header-search input{border:0;background:transparent;font-size:.9rem;outline:0;flex:1;color:var(--ink)}
.header-search svg{width:16px;height:16px;color:var(--ink-soft);flex-shrink:0}
.icon-btn{
	width:38px;height:38px;border-radius:9px;border:1px solid var(--line);background:var(--bg);
	color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.icon-btn:hover{border-color:var(--accent);color:var(--accent-dark)}
.icon-btn svg{width:17px;height:17px}
.menu-toggle{display:none}
.search-panel{display:none}

/* ---------- Hero ---------- */
.hero{padding:52px 0}
.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:26px;align-items:stretch}
.hero-lead{display:flex;flex-direction:column;justify-content:center;padding-right:10px}
.hero-lead h1{font-size:clamp(2rem,4vw,3.1rem)}
.hero-lead p{color:var(--ink-soft);font-size:1.06rem;max-width:52ch}
.hero-lead .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}

.hero-panel{
	background:var(--dark);border-radius:var(--radius);padding:26px;color:#fff;
	display:flex;flex-direction:column;gap:14px;
}
.hero-panel .panel-head{display:flex;align-items:center;justify-content:space-between;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.hero-panel .thumb{border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:16/10}
.hero-panel .thumb img{width:100%;height:100%;object-fit:cover}
.hero-panel h3{color:#fff;font-size:1.15rem;margin:0}
.hero-panel .stat-row{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.06);border-radius:var(--radius-sm);padding:12px 14px}
.hero-panel .stat-row small{display:block;color:rgba(255,255,255,.55);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.hero-panel .stat-row b{color:var(--accent);font-size:1.05rem}
.hero-panel a.more{color:#fff;font-size:.86rem;font-weight:700;display:flex;align-items:center;gap:6px}

/* ---------- Trail strip ---------- */
.trail-strip{padding:6px 0 30px;border-bottom:1px solid var(--line);margin-bottom:36px}
.trail-strip .container{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.trail-strip .container::-webkit-scrollbar{display:none}
.chip{
	flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:9px 16px;
	background:var(--bg-alt);border:1px solid var(--line);border-radius:999px;
	font-weight:600;font-size:.86rem;white-space:nowrap;color:var(--ink)
}
.chip:hover{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft)}

/* ---------- Section heads ---------- */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.section-head h2{font-size:clamp(1.4rem,2.4vw,1.9rem);margin:0}
.section-head a{font-weight:700;color:var(--accent-dark);font-size:.9rem}

/* ---------- Card grid ---------- */
.grid{padding:16px 0}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.p-card{
	background:var(--card);border-radius:var(--radius-sm);overflow:hidden;
	border:1px solid var(--line);display:flex;flex-direction:column;height:100%;
	transition:border-color .15s ease, box-shadow .15s ease;
}
.p-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.p-card .thumb{position:relative;aspect-ratio:4/3;background:var(--bg-alt);overflow:hidden}
.p-card .thumb img{width:100%;height:100%;object-fit:cover}
.p-card .thumb .pill{position:absolute;top:10px;left:10px}
.p-card .body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.p-card h3{font-size:1.06rem;margin:0;font-weight:700}
.p-card p{color:var(--ink-soft);font-size:.9rem;margin:0}
.p-card .meta{margin-top:auto;padding-top:9px;font-size:.76rem;color:var(--ink-soft);
	display:flex;gap:8px;align-items:center;border-top:1px solid var(--line)}

/* ---------- Highlight strip (replaces heavy pull-quote) ---------- */
.highlight{
	margin:44px 0;background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius);
	padding:34px 40px;text-align:center;
}
.highlight p{font-size:clamp(1.05rem,2vw,1.35rem);max-width:760px;margin:0 auto;font-weight:600;color:var(--ink)}
.highlight span{display:block;margin-top:10px;color:var(--accent-dark);font-weight:700;font-size:.85rem}

/* ---------- Newsletter (flat bar) ---------- */
.news{padding:48px 0}
.news .inner{
	background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:36px 40px;
	display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.news .copy{max-width:520px}
.news .eyebrow{margin-bottom:.3em}
.news h2{font-size:1.4rem;margin-bottom:.25em}
.news p{color:var(--ink-soft);margin:0;font-size:.94rem}
.news form{display:flex;min-width:320px;flex:1;max-width:420px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:5px;gap:6px}
.news input{flex:1;border:0;padding:10px 14px;border-radius:8px;font-size:.94rem;outline:0}
.news button{border:0;background:var(--accent);color:#fff;padding:10px 18px;border-radius:8px;font-weight:700;cursor:pointer}
.news button:hover{background:var(--accent-dark)}

/* ---------- Footer ---------- */
.site-footer{background:var(--dark);color:rgba(255,255,255,.78);padding:52px 0 24px;margin-top:20px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}
.footer-grid h4{color:#fff;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:14px}
.footer-grid li{margin-bottom:9px}
.footer-grid a:hover{color:var(--accent)}
.footer-brand p{color:rgba(255,255,255,.55);max-width:34ch;font-size:.92rem}
.footer-social{display:flex;gap:9px;margin-top:14px}
.footer-social a{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center}
.footer-bottom{
	margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);
	display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.82rem;color:rgba(255,255,255,.5);
}

/* ---------- Breadcrumb ---------- */
.crumbs{display:flex;gap:6px;align-items:center;font-size:.83rem;color:var(--ink-soft);margin-bottom:14px;flex-wrap:wrap}
.crumbs a:hover{color:var(--accent-dark)}
.crumbs i{opacity:.5;font-style:normal}

/* ---------- Single post ---------- */
.post-hero{padding:30px 0 0}
.post-hero h1{font-size:clamp(1.8rem,3.6vw,2.6rem);max-width:20ch}
.post-meta{display:flex;align-items:center;gap:12px;margin:16px 0;flex-wrap:wrap;font-size:.9rem;color:var(--ink-soft)}
.post-meta .avatar{width:34px;height:34px;border-radius:8px;background:var(--accent-soft);color:var(--accent-dark);display:flex;align-items:center;justify-content:center;font-weight:800}
.post-hero-img{border-radius:var(--radius);overflow:hidden;margin:18px 0 0}
.post-hero-img img{width:100%}

.post-wrap{display:grid;grid-template-columns:1fr 300px;gap:40px;padding:36px 0 56px;align-items:start}
.entry-content{font-size:1.05rem;color:var(--ink)}
.entry-content h2{font-size:1.5rem;margin-top:1.8em;padding-top:.2em}
.entry-content h3{font-size:1.2rem;margin-top:1.4em}
.entry-content p{color:var(--ink);line-height:1.75}
.entry-content ul,.entry-content ol{margin:0 0 1.2em 1.3em}
.entry-content li{margin-bottom:.4em}
.entry-content img{border-radius:var(--radius-sm);margin:1.4em 0}
.entry-content blockquote{
	margin:1.8em 0;padding:18px 24px;border-left:3px solid var(--accent);
	background:var(--bg-alt);border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
.entry-content a{color:var(--accent-dark);text-decoration:underline;text-decoration-color:var(--line)}
.entry-content table{width:100%;border-collapse:collapse;margin:1.6em 0}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:10px 12px;text-align:left}
.entry-content th{background:var(--bg-alt)}
.table-wrap{overflow-x:auto;margin:1.6em 0}
.table-wrap table{margin:0}

.glance{
	display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;
	background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px;margin:1.8em 0;
}
.glance div{display:flex;flex-direction:column;gap:4px}
.glance small{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:700}
.glance b{font-size:1.1rem;font-weight:800}

.callout{
	background:var(--dark);color:#fff;border-radius:var(--radius-sm);padding:20px 22px;margin:1.8em 0;
}
.callout b{display:block;color:var(--accent);text-transform:uppercase;font-size:.76rem;letter-spacing:.05em;margin-bottom:7px}

.share-row{display:flex;gap:9px;align-items:center;margin:26px 0}
.share-row a{width:36px;height:36px;border-radius:8px;background:var(--bg-alt);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.share-row a:hover{border-color:var(--accent);color:var(--accent-dark)}

.author-box{
	display:flex;gap:16px;align-items:center;background:var(--bg-alt);border:1px solid var(--line);
	border-radius:var(--radius-sm);padding:20px;margin:34px 0;
}
.author-box .avatar-lg{width:52px;height:52px;border-radius:10px;flex-shrink:0}
.author-box h4{margin:0 0 3px;font-size:1rem}
.author-box p{margin:0;color:var(--ink-soft);font-size:.88rem}

.sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:90px}
.side-box{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px}
.side-box h4{font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:13px}
.side-list li{display:flex;gap:11px;align-items:flex-start;margin-bottom:13px}
.side-list img{width:52px;height:52px;border-radius:8px;object-fit:cover;flex-shrink:0}
.side-list a{font-weight:600;font-size:.9rem;line-height:1.35}

/* ---------- Archive / search ---------- */
.archive-head{padding:44px 0 8px;text-align:center}
.archive-head .eyebrow{display:block}
.archive-head h1{font-size:clamp(1.8rem,3.6vw,2.5rem)}
.archive-head p{color:var(--ink-soft);max-width:60ch;margin:0 auto}
.pagination{display:flex;justify-content:center;gap:8px;padding:28px 0 56px}
.pagination a,.pagination span{
	width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;
	background:var(--bg);border:1px solid var(--line);font-weight:700;font-size:.88rem;
}
.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}

/* ---------- 404 ---------- */
.error-404{padding:90px 0;text-align:center}
.error-404 h1{font-size:5.4rem;color:var(--accent)}

/* ---------- Responsive ---------- */
@media (max-width:960px){
	.hero-grid{grid-template-columns:1fr}
	.post-wrap{grid-template-columns:1fr}
	.sidebar{position:static}
	.card-grid{grid-template-columns:repeat(2,1fr)}
	.footer-grid{grid-template-columns:1fr 1fr}
	.header-search{display:none}
}
@media (max-width:680px){
	.main-nav{display:none}
	.menu-toggle{display:flex}
	.card-grid{grid-template-columns:1fr}
	.footer-grid{grid-template-columns:1fr}
	.news .inner{flex-direction:column;align-items:stretch;text-align:center}
	.news form{max-width:none}
}
.mobile-nav{
	display:none;flex-direction:column;gap:2px;background:var(--bg);border:1px solid var(--line);border-radius:12px;
	margin:10px 0;padding:8px;
}
.mobile-nav.is-open{display:flex}
.mobile-nav a{padding:11px 13px;border-radius:8px;font-weight:600;color:var(--ink)}
.mobile-nav a:hover{background:var(--bg-alt)}
