/* Verso Media 2026 — lightweight design system */
@theme {
	--color-primary: #1f4b5f;
	--color-primary-50: #eef5f7;
	--color-primary-100: #dcebee;
	--color-primary-600: #1f4b5f;
	--color-primary-700: #183c4c;
	--color-accent: #c98a32;
	--color-secondary: #53616a;
	--color-secondary-50: #f7f8f8;
	--color-secondary-100: #eef0f1;
	--color-secondary-200: #dfe3e5;
	--color-secondary-500: #6d7980;
	--color-secondary-600: #53616a;
	--color-secondary-700: #3e4a51;
	--color-secondary-900: #1b2429;
	--color-neutral: #172126;
	--color-background: #fbfbfa;
	--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--font-serif: Georgia, "Times New Roman", serif;
	--font-mono: ui-monospace, "SF Mono", Menlo, monospace;
	--text-sm: 0.875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.5rem;
	--text-3xl: 1.875rem;
	--text-4xl: 2.25rem;
}

@layer base {
	* { box-sizing: border-box; }
	html { scroll-behavior: smooth; }
	body { margin: 0; background: var(--color-background); color: var(--color-neutral); font-family: var(--font-sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
	img, video, iframe { max-width: 100%; }
	img { height: auto; }
	a { color: var(--color-primary); }
	h1, h2, h3, h4 { line-height: 1.18; text-wrap: balance; }
}

@layer components {
	.site-shell { width: min(100% - 2rem, 72rem); margin-inline: auto; }
	.site-reading { width: min(100%, 52rem); }
	.site-header { position: relative; z-index: 30; background: rgba(251,251,250,.96); border-bottom: 1px solid var(--color-secondary-200); }
	.site-brand { display: inline-flex; align-items: baseline; gap: .55rem; color: var(--color-neutral); font-weight: 800; font-size: 1.12rem; letter-spacing: -.02em; text-decoration: none; }
	.site-brand-mark { color: var(--color-accent); }
	.site-nav a { color: var(--color-secondary-700); font-weight: 650; text-decoration: none; }
	.site-nav a:hover, .site-nav .current-menu-item > a, .site-nav .current_page_item > a { color: var(--color-primary); }
	.page-band { background: linear-gradient(180deg,#f1f5f4 0%,#fbfbfa 100%); border-bottom: 1px solid var(--color-secondary-100); }
	.page-title { margin: 0; font-size: clamp(1.9rem,5vw,2.65rem); font-weight: 800; letter-spacing: -.035em; }
	.page-intro { margin-top: .65rem; max-width: 46rem; color: var(--color-secondary-600); font-size: clamp(1rem,2.5vw,1.12rem); }
	.content-surface { background: #fff; border: 1px solid var(--color-secondary-100); border-radius: 1rem; box-shadow: 0 10px 28px rgba(20,34,40,.045); }
	.prose { color: var(--color-secondary-900); }
	.prose > *:first-child { margin-top: 0; }
	.prose > *:last-child { margin-bottom: 0; }
	.prose p { margin: 0 0 1.15em; }
	.prose h2 { margin: 1.7em 0 .55em; font-size: clamp(1.45rem,3vw,1.8rem); }
	.prose h3 { margin: 1.5em 0 .45em; font-size: clamp(1.2rem,2.5vw,1.45rem); }
	.prose ul, .prose ol { padding-left: 1.35rem; }
	.prose iframe { width: 100%; border: 0; }
	.prose .wp-block-image img, .prose .wp-post-image { border-radius: .75rem; }
	.mobile-menu summary { list-style: none; cursor: pointer; }
	.mobile-menu summary::-webkit-details-marker { display: none; }
	.mobile-menu-panel { position: absolute; left: 1rem; right: 1rem; top: calc(100% + .5rem); padding: .7rem; background: #fff; border: 1px solid var(--color-secondary-200); border-radius: .8rem; box-shadow: 0 18px 45px rgba(20,34,40,.14); }
	.mobile-menu-panel ul { display: grid; gap: .15rem; margin: 0; padding: 0; list-style: none; }
	.mobile-menu-panel a { display: block; padding: .7rem .8rem; border-radius: .55rem; color: var(--color-neutral); font-weight: 650; text-decoration: none; }
	.mobile-menu-panel a:hover { background: var(--color-secondary-50); }
	.post-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,18rem),1fr)); gap: 1.25rem; }
	.post-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--color-secondary-100); border-radius: 1rem; box-shadow: 0 8px 24px rgba(20,34,40,.04); }
	.post-card-image { display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--color-secondary-50); }
	.post-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
	.post-card:hover .post-card-image img { transform: scale(1.025); }
	.post-card-body { display: flex; flex: 1; flex-direction: column; padding: 1.2rem; }
	.post-card h2 { margin: 0 0 .65rem; font-size: 1.3rem; letter-spacing: -.02em; }
	.post-card h2 a { color: var(--color-neutral); text-decoration: none; }
	.post-card h2 a:hover { color: var(--color-primary); }
	.post-meta { margin: 0 0 .45rem; color: var(--color-secondary-500); font-size: .78rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
	.post-excerpt { color: var(--color-secondary-700); font-size: .96rem; }
	.post-excerpt p { margin: 0 0 1rem; }
	.text-link { margin-top: auto; font-weight: 750; text-decoration: none; }
	.pagination-wrap { margin-top: 2rem; }
	.pagination-wrap .nav-links { display: flex; flex-wrap: wrap; gap: .5rem; }
	.pagination-wrap .page-numbers { display: inline-flex; min-width: 2.5rem; min-height: 2.5rem; align-items: center; justify-content: center; padding: .45rem .7rem; border: 1px solid var(--color-secondary-200); border-radius: .55rem; background: #fff; text-decoration: none; }
	.pagination-wrap .current { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
	.prose > .verso-data-hub, .prose > .verso-section-card, .prose > section, .prose > div { max-width: 100%; }
	.verso-data-hub img, .verso-section-card img { max-width: 100%; height: auto; }

	/* Rich sections get one hero only: their own. */
	.page-id-2039 .page-band,
	.page-id-9652 .page-band { display: none; }
	.page-id-2039 .site-shell.py-8,
	.page-id-9652 .site-shell.py-8 { padding-top: 1.5rem; }
	.page-id-2039 .prose.site-reading,
	.page-id-9652 .prose.site-reading { width: 100%; }
	.page-id-2039 .content-surface,
	.page-id-9652 .content-surface { padding: 0 !important; overflow: hidden; }
	.page-id-2039 .sharedaddy,
	.page-id-9652 .sharedaddy { margin-inline: 1.25rem; }

	/* Radio */
	.radio-v2 { display: grid; gap: 0; }
	.radio-v2-hero { padding: clamp(1.8rem,5vw,3.2rem); background: linear-gradient(135deg,#132d38 0%,#1f4b5f 60%,#2f6579 100%); color: #fff; }
	.radio-v2-hero-copy { max-width: 42rem; }
	.radio-v2-eyebrow, .radio-v2-heading > p { margin: 0 0 .45rem !important; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #d7b16d; }
	.radio-v2-hero h2 { margin: 0 0 .65rem !important; font-size: clamp(2rem,6vw,3.25rem); letter-spacing: -.04em; color: #fff; }
	.radio-v2-hero p:not(.radio-v2-eyebrow) { max-width: 38rem; margin-bottom: 1.2rem; color: rgba(255,255,255,.82); font-size: clamp(1rem,2vw,1.1rem); }
	.radio-v2-button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.8rem; padding: .7rem 1rem; border-radius: .7rem; background: #fff; color: var(--color-primary); font-weight: 800; text-decoration: none; box-shadow: 0 8px 20px rgba(0,0,0,.12); }
	.radio-v2-block { padding: clamp(1.5rem,4vw,2.5rem); }
	.radio-v2-heading { margin-bottom: 1rem; }
	.radio-v2-heading h2 { margin: 0 !important; font-size: clamp(1.45rem,3vw,2rem); }
	.radio-v2-featured { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
	.radio-v2-tile { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--color-secondary-100); border-radius: .9rem; background: #fff; color: var(--color-neutral); text-decoration: none; box-shadow: 0 8px 22px rgba(20,34,40,.05); transition: transform .2s ease, box-shadow .2s ease; }
	.radio-v2-tile:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(20,34,40,.09); }
	.radio-v2-tile img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
	.radio-v2-tile > span { display: grid; gap: .35rem; padding: 1rem; }
	.radio-v2-tile strong { font-size: 1.08rem; }
	.radio-v2-tile small { color: var(--color-secondary-600); line-height: 1.5; }
	.radio-v2-archive { background: var(--color-secondary-50); border-block: 1px solid var(--color-secondary-100); }
	.radio-v2-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; }
	.radio-v2-list > a { display: grid; grid-template-columns: 5rem 1fr; gap: .8rem; align-items: center; min-width: 0; padding: .7rem; border: 1px solid var(--color-secondary-100); border-radius: .75rem; background: #fff; color: var(--color-neutral); text-decoration: none; }
	.radio-v2-list img { width: 5rem; height: 4.25rem; border-radius: .55rem; object-fit: cover; }
	.radio-v2-list span { min-width: 0; }
	.radio-v2-list strong, .radio-v2-list small { display: block; }
	.radio-v2-list small { margin-top: .2rem; color: var(--color-secondary-600); line-height: 1.35; }
	.radio-v2-contact { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: clamp(1.5rem,4vw,2.5rem); }
	.radio-v2-contact h2 { margin: 0 0 .5rem !important; font-size: clamp(1.35rem,3vw,1.85rem); }

	/* Books */
	.vdh-books-dashboard { width: 100%; padding: clamp(1.1rem,3vw,2rem); }
	.vdh-books-dashboard .vdh-books-hero { border-radius: .9rem; overflow: hidden; }
	.vdh-books-dashboard .vdh-books-stat-grid,
	.vdh-books-dashboard .vdh-books-insight-cards { gap: .8rem; }
	.vdh-books-dashboard .vdh-books-stat,
	.vdh-books-dashboard .vdh-books-panel,
	.vdh-books-dashboard .vdh-books-insight-cards > article,
	.vdh-books-dashboard .vdh-series-planner-card { border-radius: .8rem; box-shadow: 0 5px 18px rgba(20,34,40,.04); }
	.vdh-books-dashboard input,
	.vdh-books-dashboard select,
	.vdh-books-dashboard button { max-width: 100%; }
}

@media (min-width: 768px) {
	.site-shell { width: min(100% - 3rem,72rem); }
}

@media (max-width: 860px) {
	.radio-v2-featured, .radio-v2-list { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
	.radio-v2-featured, .radio-v2-list { grid-template-columns: 1fr; }
	.radio-v2-list > a { grid-template-columns: 4.5rem 1fr; }
	.radio-v2-list img { width: 4.5rem; height: 4rem; }
	.radio-v2-contact { align-items: flex-start; flex-direction: column; }
	.page-id-2039 .content-surface,
	.page-id-9652 .content-surface { border-radius: .8rem; }
	.vdh-books-dashboard { padding: .85rem; }
}
