/* ==========================================================================
   KAHA Radio — 深夜電台視覺系統 v2
   炭黑電台燈配色｜襯線字＋暖琥珀金｜Astra ast-separate-container 適配
   ========================================================================== */

:root {
	--kaha-bg:          #141310;
	--kaha-bg-card:     #1c1a16;
	--kaha-bg-aside:    #1a1814;
	--kaha-bg-deep:     #0a0906;
	--kaha-text:        #e8e3d6;
	--kaha-text-muted:  #8a8375;
	--kaha-accent:      #c9a96e;
	--kaha-accent-deep: #6b5842;
	--kaha-warn:        #b84b3f;

	--kaha-font-serif:  'Fraunces', 'Noto Serif TC', Georgia, serif;
	--kaha-font-body:   'Noto Serif TC', 'Fraunces', Georgia, serif;
	--kaha-font-mono:   'JetBrains Mono', 'Courier New', monospace;

	--kaha-content-width: 720px;
	--kaha-paragraph-gap: 1.6em;
}

/* ==========================================================================
   Astra CSS variables hard override
   ========================================================================== */
:root,
body.kaha-radio {
	--ast-global-color-0: var(--kaha-accent) !important;
	--ast-global-color-1: var(--kaha-accent-deep) !important;
	--ast-global-color-2: var(--kaha-text) !important;
	--ast-global-color-3: var(--kaha-text) !important;
	--ast-global-color-4: var(--kaha-bg) !important;
	--ast-global-color-5: var(--kaha-bg-card) !important;
	--ast-global-color-6: var(--kaha-text-muted) !important;
	--ast-global-color-7: var(--kaha-accent) !important;
	--ast-global-color-8: var(--kaha-bg-deep) !important;
	--ast-border-color: var(--kaha-accent-deep) !important;
}

/* ==========================================================================
   Base — force background dark
   ========================================================================== */
html, body, body.kaha-radio {
	background-color: var(--kaha-bg) !important;
	color: var(--kaha-text);
	font-family: var(--kaha-font-body);
	font-size: 17px;
	line-height: 1.8;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.kaha-radio .site,
.kaha-radio #page,
.kaha-radio .site-content,
.kaha-radio .ast-container,
.kaha-radio .ast-container-fluid,
.kaha-radio #content {
	background-color: var(--kaha-bg) !important;
}

/* ==========================================================================
   Links & Typography
   ========================================================================== */
.kaha-radio a {
	color: var(--kaha-accent);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color .2s, color .2s;
}
.kaha-radio a:hover, .kaha-radio a:focus {
	color: var(--kaha-accent);
	border-bottom-color: var(--kaha-accent);
}

.kaha-radio h1, .kaha-radio h2, .kaha-radio h3,
.kaha-radio h4, .kaha-radio h5, .kaha-radio h6,
.kaha-radio .entry-title {
	font-family: var(--kaha-font-serif);
	color: var(--kaha-text);
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.3;
}

.kaha-radio h1, .kaha-radio .entry-title {
	font-size: clamp(1.8rem, 4vw, 2.75rem);
	font-weight: 700;
}

.kaha-radio .ast-post-category, .kaha-radio .posted-on,
.kaha-radio time,
.kaha-radio .entry-meta, .kaha-radio .entry-meta *,
.kaha-radio .post-meta-time, .kaha-radio .read-more {
	font-family: var(--kaha-font-mono);
	font-size: 0.78rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--kaha-text-muted) !important;
}

/* ==========================================================================
   Header / Navigation
   ========================================================================== */
.kaha-radio .site-header,
.kaha-radio .main-header-bar,
.kaha-radio .ast-primary-header-bar,
.kaha-radio header[id="masthead"],
.kaha-radio .ast-above-header,
.kaha-radio .ast-below-header {
	background-color: var(--kaha-bg-card) !important;
	border-bottom: 1px solid var(--kaha-accent-deep);
}

.kaha-radio .site-title a,
.kaha-radio .site-branding a {
	font-family: var(--kaha-font-serif);
	font-weight: 700;
	font-style: italic;
	color: var(--kaha-accent) !important;
	letter-spacing: 0.05em;
}
.kaha-radio .site-description {
	color: var(--kaha-text-muted) !important;
	font-family: var(--kaha-font-mono);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	font-size: 0.75rem;
}

.kaha-radio .main-navigation a,
.kaha-radio .menu-item a,
.kaha-radio .main-header-menu a,
.kaha-radio .ast-masthead-custom-menu-items {
	color: var(--kaha-text) !important;
	font-family: var(--kaha-font-body);
	font-weight: 500;
	letter-spacing: 0.05em;
}
.kaha-radio .main-navigation .current-menu-item > a,
.kaha-radio .main-navigation a:hover,
.kaha-radio .main-header-menu a:hover {
	color: var(--kaha-accent) !important;
}

/* Dropdown */
.kaha-radio .main-header-menu .sub-menu,
.kaha-radio ul.sub-menu,
.kaha-radio .main-navigation ul ul {
	background: var(--kaha-bg-card) !important;
	border: 1px solid var(--kaha-accent-deep) !important;
	box-shadow: 0 4px 20px rgba(0,0,0,0.5);
}

/* Mobile menu */
.kaha-radio .ast-mobile-menu-buttons-fill .menu-toggle,
.kaha-radio .ast-mobile-header-wrap,
.kaha-radio .ast-mobile-popup-drawer,
.kaha-radio .ast-mobile-popup-inner,
.kaha-radio .ast-mobile-popup-content {
	background-color: var(--kaha-bg-card) !important;
	color: var(--kaha-text) !important;
}
.kaha-radio .ast-mobile-popup-content a {
	color: var(--kaha-text) !important;
}

/* ==========================================================================
   ★ Astra separate-container：把白色卡片全部變暗
   ========================================================================== */
.kaha-radio.ast-separate-container #primary,
.kaha-radio.ast-separate-container #secondary,
.kaha-radio.ast-separate-container .ast-article-single,
.kaha-radio.ast-separate-container .ast-article-post,
.kaha-radio.ast-separate-container .ast-article-inner,
.kaha-radio .ast-article-single,
.kaha-radio .ast-article-post,
.kaha-radio main article.post,
.kaha-radio main article.page {
	background-color: var(--kaha-bg-card) !important;
	color: var(--kaha-text) !important;
	border: 1px solid var(--kaha-accent-deep);
	box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

.kaha-radio .ast-article-single {
	padding: 2.5em 2.5em !important;
}
.kaha-radio .ast-article-post {
	padding: 2em 2.5em !important;
	margin-bottom: 2em !important;
}

@media (max-width: 768px) {
	.kaha-radio .ast-article-single,
	.kaha-radio .ast-article-post {
		padding: 1.5em 1.25em !important;
	}
}

/* 文章標題壓底短線 */
.kaha-radio .entry-title::after {
	content: '';
	display: block;
	width: 40px;
	height: 2px;
	background: var(--kaha-accent);
	margin-top: 0.6em;
}

/* Drop cap：DJ 開場首字放大 */
.kaha-radio .entry-content > p:first-of-type::first-letter {
	font-family: var(--kaha-font-serif);
	font-size: 3.5em;
	font-weight: 700;
	color: var(--kaha-accent);
	float: left;
	line-height: 1;
	padding: 0.1em 0.15em 0 0;
}

.kaha-radio .entry-content p,
.kaha-radio article p {
	margin-bottom: var(--kaha-paragraph-gap);
	font-size: 1.0625rem;
	line-height: 1.85;
	color: var(--kaha-text);
}

/* ==========================================================================
   ★ Sidebar / Widgets — 暗色卡片
   ========================================================================== */
.kaha-radio #secondary,
.kaha-radio .widget-area,
.kaha-radio .sidebar-main {
	background-color: transparent !important;
}

.kaha-radio .widget,
.kaha-radio #secondary .widget,
.kaha-radio .widget-area .widget {
	background-color: var(--kaha-bg-card) !important;
	color: var(--kaha-text) !important;
	padding: 1.75em !important;
	margin-bottom: 1.5em;
	border: 1px solid var(--kaha-accent-deep);
	box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

.kaha-radio .widget a,
.kaha-radio #secondary .widget a {
	color: var(--kaha-text) !important;
	border-bottom: none;
}
.kaha-radio .widget a:hover,
.kaha-radio #secondary .widget a:hover {
	color: var(--kaha-accent) !important;
}

.kaha-radio .widget-title,
.kaha-radio .widgettitle {
	color: var(--kaha-accent) !important;
	border-bottom: 1px solid var(--kaha-accent-deep) !important;
	padding-bottom: 0.5em !important;
	margin-bottom: 1em !important;
	font-family: var(--kaha-font-mono) !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
}

.kaha-radio .widget ul,
.kaha-radio .widget ol {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 0;
}

.kaha-radio .widget li {
	padding: 0.5em 0;
	border-bottom: 1px solid var(--kaha-bg-aside);
	color: var(--kaha-text);
}
.kaha-radio .widget li:last-child {
	border-bottom: none;
}

/* ==========================================================================
   Blockquote / Lyrics / Pre / Code
   ========================================================================== */
.kaha-radio blockquote {
	border-left: 2px solid var(--kaha-accent);
	padding: 0.75em 1.5em;
	margin: 2em 0;
	background: var(--kaha-bg-aside);
	color: var(--kaha-text);
	font-style: italic;
	font-family: var(--kaha-font-serif);
}
.kaha-radio blockquote p::before { content: '『'; color: var(--kaha-accent); }
.kaha-radio blockquote p::after  { content: '』'; color: var(--kaha-accent); }

.kaha-radio pre, .kaha-radio code {
	background: var(--kaha-bg-deep);
	color: var(--kaha-text);
	border: 1px solid var(--kaha-accent-deep);
	border-radius: 2px;
	padding: 0.2em 0.4em;
	font-family: var(--kaha-font-mono);
	font-size: 0.9em;
}
.kaha-radio pre {
	padding: 1.25em 1.5em;
	overflow-x: auto;
}

.kaha-radio .lyrics {
	background: var(--kaha-bg-deep);
	border-left: 2px solid var(--kaha-accent);
	padding: 1.5em 1.75em;
	margin: 2em 0;
	font-family: var(--kaha-font-body);
	color: var(--kaha-text);
	line-height: 2.0;
}

/* 考據 aside */
.kaha-radio aside.kaha-note,
.kaha-radio .wp-block-pullquote {
	background: var(--kaha-bg-aside);
	border: 1px dashed var(--kaha-accent-deep);
	padding: 1.25em 1.5em;
	margin: 2em 0;
	font-size: 0.95rem;
	color: var(--kaha-text);
}
.kaha-radio aside.kaha-note::before {
	content: 'KAHA 註';
	display: block;
	font-family: var(--kaha-font-mono);
	color: var(--kaha-accent);
	font-size: 0.75rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	margin-bottom: 0.5em;
}

/* ==========================================================================
   Forms, Buttons
   ========================================================================== */
.kaha-radio input[type="text"],
.kaha-radio input[type="email"],
.kaha-radio input[type="url"],
.kaha-radio input[type="search"],
.kaha-radio textarea,
.kaha-radio select {
	background-color: var(--kaha-bg) !important;
	color: var(--kaha-text) !important;
	border: 1px solid var(--kaha-accent-deep) !important;
	padding: 0.75em 1em !important;
	font-family: var(--kaha-font-body) !important;
	border-radius: 0 !important;
}

.kaha-radio button,
.kaha-radio .button,
.kaha-radio input[type="submit"],
.kaha-radio .wp-block-button__link,
.kaha-radio .ast-button {
	background-color: transparent !important;
	border: 1px solid var(--kaha-accent) !important;
	color: var(--kaha-accent) !important;
	padding: 0.75em 1.75em !important;
	font-family: var(--kaha-font-mono) !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	font-size: 0.85rem !important;
	border-radius: 0 !important;
	transition: background .2s, color .2s !important;
}
.kaha-radio button:hover,
.kaha-radio .button:hover,
.kaha-radio input[type="submit"]:hover {
	background-color: var(--kaha-accent) !important;
	color: var(--kaha-bg) !important;
}

/* ==========================================================================
   Pagination, Breadcrumb
   ========================================================================== */
.kaha-radio .ast-pagination a,
.kaha-radio .ast-pagination .page-numbers,
.kaha-radio .pagination a,
.kaha-radio .nav-links a {
	background-color: var(--kaha-bg-card) !important;
	color: var(--kaha-text) !important;
	border: 1px solid var(--kaha-accent-deep) !important;
	padding: 0.5em 1em;
}
.kaha-radio .ast-pagination .current,
.kaha-radio .page-numbers.current {
	background-color: var(--kaha-accent) !important;
	color: var(--kaha-bg) !important;
}

/* ==========================================================================
   Comments
   ========================================================================== */
.kaha-radio .comments-area,
.kaha-radio #comments {
	background-color: var(--kaha-bg-card) !important;
	color: var(--kaha-text) !important;
	padding: 2em !important;
	margin-top: 2em;
	border: 1px solid var(--kaha-accent-deep);
}
.kaha-radio .comment-body {
	background-color: var(--kaha-bg-aside) !important;
	padding: 1em 1.5em !important;
	border-left: 2px solid var(--kaha-accent);
}

/* ==========================================================================
   Easy TOC
   ========================================================================== */
.kaha-radio .ez-toc-container,
.kaha-radio div#ez-toc-container,
.kaha-radio .ez-toc-v2_0_60 {
	background-color: var(--kaha-bg-aside) !important;
	border: 1px solid var(--kaha-accent-deep) !important;
	color: var(--kaha-text) !important;
}
.kaha-radio .ez-toc-title,
.kaha-radio #ez-toc-container .ez-toc-title {
	color: var(--kaha-accent) !important;
	font-family: var(--kaha-font-mono) !important;
	letter-spacing: 0.15em !important;
}
.kaha-radio .ez-toc a,
.kaha-radio #ez-toc-container a {
	color: var(--kaha-text) !important;
}
.kaha-radio .ez-toc a:hover {
	color: var(--kaha-accent) !important;
}

/* ==========================================================================
   Footer
   ========================================================================== */
.kaha-radio .site-footer,
.kaha-radio footer[id="colophon"],
.kaha-radio .ast-footer-html-section,
.kaha-radio .footer-sml-layout,
.kaha-radio .site-primary-footer-wrap,
.kaha-radio .site-below-footer-wrap {
	background-color: var(--kaha-bg-deep) !important;
	color: var(--kaha-text-muted);
	border-top: 1px solid var(--kaha-accent-deep);
	font-size: 0.85rem;
}
.kaha-radio .site-footer a {
	color: var(--kaha-text-muted);
}
.kaha-radio .site-footer a:hover {
	color: var(--kaha-accent);
}

/* ==========================================================================
   Home page 簡版 hero（之後用 Elementor 重做）
   ========================================================================== */
.home.kaha-radio #primary::before {
	content: "It's 2:47 AM.";
	display: block;
	font-family: var(--kaha-font-serif);
	font-style: italic;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	color: var(--kaha-accent);
	padding: 0.5em 0 0.25em;
	letter-spacing: 0.02em;
}
.home.kaha-radio #primary::after {
	content: "這裡是 KAHA 電台。為一句歌詞倒帶三次的地方。";
	display: block;
	font-family: var(--kaha-font-body);
	font-size: clamp(0.95rem, 2vw, 1.125rem);
	color: var(--kaha-text-muted);
	letter-spacing: 0.03em;
	margin-bottom: 2em;
	padding-bottom: 2em;
	border-bottom: 1px solid var(--kaha-accent-deep);
}

/* ==========================================================================
   Mobile
   ========================================================================== */
@media (max-width: 768px) {
	html, body.kaha-radio { font-size: 18px; line-height: 1.85; }
	.kaha-radio aside.kaha-note { margin: 1.5em -1em; }
}

/* ==========================================================================
   細節質感
   ========================================================================== */
.kaha-radio hr {
	border: none;
	height: 1px;
	background: var(--kaha-accent-deep);
	margin: 3em auto;
	max-width: 40px;
}

.kaha-radio table {
	background: var(--kaha-bg-card);
	color: var(--kaha-text);
	border-collapse: collapse;
	width: 100%;
}
.kaha-radio table th, .kaha-radio table td {
	border: 1px solid var(--kaha-accent-deep);
	padding: 0.75em 1em;
}
.kaha-radio table th {
	background: var(--kaha-bg-aside);
	color: var(--kaha-accent);
	font-family: var(--kaha-font-mono);
	font-size: 0.85rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.kaha-radio .entry-content img {
	border-radius: 2px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.5);
}

.kaha-radio ::selection {
	background: var(--kaha-accent);
	color: var(--kaha-bg);
}

/* ==========================================================================
   Elementor section 默認透明（如果沒設背景）
   ========================================================================== */
.kaha-radio .elementor-section:not([style*="background"]):not(.elementor-section-boxed),
.kaha-radio .elementor-widget-wrap:not([style*="background"]) {
	background-color: transparent !important;
}
.kaha-radio .elementor-widget-heading h1,
.kaha-radio .elementor-widget-heading h2,
.kaha-radio .elementor-widget-heading h3 {
	color: var(--kaha-text) !important;
}

/* ==========================================================================
   PATCH 2026-04-15 — 對抗 Astra .ast-separate-container :not() 高 specificity
   Selector 用 body.kaha-radio.ast-separate-container 拉到 (0,5,0) 必勝
   ========================================================================== */
html, body, body.kaha-radio,
html.kaha-radio {
	background-color: #141310 !important;
}

body.kaha-radio.ast-separate-container .ast-article-single:not(.ast-related-post),
body.kaha-radio.ast-separate-container .ast-article-post,
body.kaha-radio.ast-separate-container article[id^="post-"],
body.kaha-radio.ast-plain-container .ast-article-single:not(.ast-related-post),
body.kaha-radio.ast-plain-container .ast-article-post {
	background-color: #1c1a16 !important;
	color: #e8e3d6 !important;
	border: 1px solid #6b5842;
	box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

body.kaha-radio.ast-separate-container .ast-article-single,
body.kaha-radio.ast-separate-container .ast-article-post {
	padding: 2.25em 2.5em !important;
	margin-bottom: 2em !important;
}

body.kaha-radio.ast-separate-container #primary,
body.kaha-radio.ast-separate-container #secondary,
body.kaha-radio.ast-separate-container .ast-container,
body.kaha-radio.ast-separate-container .site-content {
	background-color: transparent !important;
}

body.kaha-radio.ast-separate-container #secondary .widget,
body.kaha-radio.ast-separate-container .widget,
body.kaha-radio .widget {
	background-color: #1c1a16 !important;
	color: #e8e3d6 !important;
	border: 1px solid #6b5842;
	padding: 1.75em !important;
	margin-bottom: 1.5em !important;
	box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

body.kaha-radio.ast-separate-container .widget-title,
body.kaha-radio .widget-title {
	color: #c9a96e !important;
	border-bottom: 1px solid #6b5842 !important;
	padding-bottom: 0.5em !important;
	margin-bottom: 1em !important;
	font-family: 'JetBrains Mono', monospace !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
}

@media (max-width: 768px) {
	body.kaha-radio.ast-separate-container .ast-article-single,
	body.kaha-radio.ast-separate-container .ast-article-post {
		padding: 1.5em 1.25em !important;
	}
}

/* ==========================================================================
   PATCH v2 2026-04-15 — Comments / Footer / 留言表單
   ========================================================================== */

/* Comments wrapper */
body.kaha-radio .comments-area,
body.kaha-radio #comments,
body.kaha-radio .comment-respond,
body.kaha-radio #respond,
body.kaha-radio.ast-separate-container .comments-area,
body.kaha-radio.ast-separate-container #comments,
body.kaha-radio.ast-separate-container .comment-respond {
	background-color: #1c1a16 !important;
	color: #e8e3d6 !important;
	border: 1px solid #6b5842 !important;
	padding: 2em !important;
	margin-top: 2em !important;
	box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

/* 個別留言 */
body.kaha-radio .comment-body,
body.kaha-radio li.comment .comment-body,
body.kaha-radio .comment .comment-content {
	background-color: #1a1814 !important;
	color: #e8e3d6 !important;
	padding: 1.25em 1.5em !important;
	border-left: 2px solid #c9a96e !important;
	margin-bottom: 1em !important;
}

/* 留言標題 */
body.kaha-radio .comments-title,
body.kaha-radio .comment-reply-title,
body.kaha-radio #reply-title {
	color: #c9a96e !important;
	font-family: 'JetBrains Mono', monospace !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	font-size: 0.95rem !important;
}

/* 留言 meta */
body.kaha-radio .comment-author,
body.kaha-radio .comment-author .fn,
body.kaha-radio .comment-meta,
body.kaha-radio .comment-meta a,
body.kaha-radio .says,
body.kaha-radio .comment-metadata,
body.kaha-radio .comment-metadata a {
	color: #8a8375 !important;
	font-family: 'JetBrains Mono', monospace !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.12em;
}
body.kaha-radio .comment-author .fn {
	color: #c9a96e !important;
	font-size: 0.9rem !important;
}

/* 留言表單 input/textarea */
body.kaha-radio .comment-form input[type="text"],
body.kaha-radio .comment-form input[type="email"],
body.kaha-radio .comment-form input[type="url"],
body.kaha-radio .comment-form textarea,
body.kaha-radio #commentform input[type="text"],
body.kaha-radio #commentform input[type="email"],
body.kaha-radio #commentform input[type="url"],
body.kaha-radio #commentform textarea {
	background-color: #141310 !important;
	color: #e8e3d6 !important;
	border: 1px solid #6b5842 !important;
	padding: 0.75em 1em !important;
	width: 100% !important;
	box-sizing: border-box;
	font-family: 'Noto Serif TC', serif !important;
}
body.kaha-radio .comment-form input:focus,
body.kaha-radio .comment-form textarea:focus {
	border-color: #c9a96e !important;
	outline: none !important;
}

body.kaha-radio .comment-form label,
body.kaha-radio .comment-form-cookies-consent label,
body.kaha-radio .comment-notes,
body.kaha-radio .logged-in-as {
	color: #8a8375 !important;
	font-size: 0.85rem !important;
}

/* Submit 按鈕 */
body.kaha-radio .form-submit input[type="submit"],
body.kaha-radio #submit,
body.kaha-radio .comment-form .submit {
	background-color: transparent !important;
	color: #c9a96e !important;
	border: 1px solid #c9a96e !important;
	padding: 0.75em 2em !important;
	font-family: 'JetBrains Mono', monospace !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	font-size: 0.85rem !important;
	border-radius: 0 !important;
	cursor: pointer;
	transition: background .2s, color .2s;
}
body.kaha-radio .form-submit input[type="submit"]:hover,
body.kaha-radio #submit:hover {
	background-color: #c9a96e !important;
	color: #141310 !important;
}

/* Reply 連結 */
body.kaha-radio .comment-reply-link,
body.kaha-radio .reply a {
	color: #c9a96e !important;
	font-family: 'JetBrains Mono', monospace !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	border: 1px solid #6b5842 !important;
	padding: 0.3em 0.75em !important;
	display: inline-block;
	border-bottom: 1px solid #6b5842 !important;
}
body.kaha-radio .comment-reply-link:hover {
	background-color: #c9a96e !important;
	color: #141310 !important;
	border-color: #c9a96e !important;
}

/* ==========================================================================
   Footer (頁尾)
   ========================================================================== */
body.kaha-radio .site-footer,
body.kaha-radio footer[id="colophon"],
body.kaha-radio .ast-footer-html-section,
body.kaha-radio .footer-sml-layout,
body.kaha-radio .site-primary-footer-wrap,
body.kaha-radio .site-below-footer-wrap,
body.kaha-radio.ast-separate-container .site-footer,
body.kaha-radio .ast-builder-grid-row-container {
	background-color: #0a0906 !important;
	color: #8a8375 !important;
	border-top: 1px solid #6b5842 !important;
}

body.kaha-radio .site-footer a,
body.kaha-radio .site-footer p,
body.kaha-radio .site-footer span,
body.kaha-radio .site-footer div,
body.kaha-radio .ast-footer-copyright {
	color: #8a8375 !important;
}
body.kaha-radio .site-footer a:hover {
	color: #c9a96e !important;
}

/* 頁尾 widget */
body.kaha-radio .site-footer .widget {
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin-bottom: 1em !important;
}

body.kaha-radio .site-footer .widget-title {
	border-bottom: 1px solid #6b5842 !important;
}

/* ==========================================================================
   PATCH v3 2026-04-15 — Astra Related Posts「你可能也會想看」
   ========================================================================== */
body.kaha-radio .ast-single-related-posts-container,
body.kaha-radio .ast-single-related-posts,
body.kaha-radio .ast-container--fallback {
	background-color: transparent !important;
	padding: 2em 0 !important;
	margin-top: 2em !important;
	border-top: 1px solid #6b5842;
}

body.kaha-radio .ast-single-related-posts-title-section,
body.kaha-radio .ast-single-related-posts-title,
body.kaha-radio .ast-single-related-posts-title-wrap h2,
body.kaha-radio .ast-related-posts-title {
	color: #c9a96e !important;
	font-family: 'JetBrains Mono', monospace !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	font-size: 0.95rem !important;
	margin-bottom: 1.5em !important;
	border: none !important;
}

body.kaha-radio .ast-related-posts-wrap article,
body.kaha-radio .ast-related-post,
body.kaha-radio article.ast-related-post,
body.kaha-radio .ast-single-related-posts article {
	background-color: #1c1a16 !important;
	color: #e8e3d6 !important;
	border: 1px solid #6b5842 !important;
	padding: 1.5em !important;
	box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}

body.kaha-radio .ast-related-post .related-entry-title,
body.kaha-radio .ast-related-post h2,
body.kaha-radio .ast-related-post h3,
body.kaha-radio .ast-related-post h4,
body.kaha-radio .ast-related-post .entry-title,
body.kaha-radio .ast-related-post .entry-title a,
body.kaha-radio .ast-related-post a {
	color: #e8e3d6 !important;
}
body.kaha-radio .ast-related-post a:hover,
body.kaha-radio .ast-related-post .entry-title a:hover {
	color: #c9a96e !important;
}

body.kaha-radio .ast-related-post .ast-post-category,
body.kaha-radio .ast-related-post time,
body.kaha-radio .ast-related-post .entry-meta,
body.kaha-radio .ast-related-post .entry-meta * {
	color: #8a8375 !important;
}

/* ==========================================================================
   PATCH MVP 2026-04-15 — Hero / Broadcast Log / Cue sheet / Sign-off
   ========================================================================== */

/* ---- Hero (首頁第一頁) ---- */
body.kaha-radio.home .kaha-hero,
body.kaha-radio.blog .kaha-hero {
	min-height: 88vh;
	background: var(--kaha-bg);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 1.5em 2em;
	margin-bottom: 4em;
	position: relative;
}

.kaha-hero__bar {
	display: flex;
	justify-content: space-between;
	font-family: var(--kaha-font-mono);
	font-size: 11px;
	color: var(--kaha-accent);
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.kaha-hero__quote-wrap {
	text-align: center;
	max-width: 920px;
	margin: auto;
	padding: 4em 1em;
}

.kaha-hero__quote {
	font-family: var(--kaha-font-serif);
	font-style: italic;
	font-weight: 400 !important;
	font-size: clamp(36px, 6vw, 72px) !important;
	color: var(--kaha-text) !important;
	line-height: 1.15 !important;
	margin: 0 0 1em !important;
	letter-spacing: 0.01em;
}
.kaha-hero__quote::after { content: none !important; }

.kaha-hero__rule {
	width: 48px;
	height: 1px;
	background: var(--kaha-accent);
	margin: 1.5em auto;
}

.kaha-hero__source {
	font-family: var(--kaha-font-body);
	font-size: 15px;
	color: var(--kaha-text-muted) !important;
	letter-spacing: 0.02em;
}
.kaha-hero__source a {
	color: var(--kaha-text-muted) !important;
	border-bottom: 1px solid var(--kaha-accent-deep);
}
.kaha-hero__source a:hover {
	color: var(--kaha-accent) !important;
	border-bottom-color: var(--kaha-accent);
}

.kaha-hero__bottom {
	font-family: var(--kaha-font-mono);
	font-size: 11px;
	color: var(--kaha-text-muted);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-align: center;
	padding-top: 2em;
}

@media (max-width: 768px) {
	body.kaha-radio.home .kaha-hero,
	body.kaha-radio.blog .kaha-hero {
		padding: 1em 1em;
		min-height: 80vh;
	}
	.kaha-hero__bar { font-size: 9px; gap: 1em; }
	.kaha-hero__quote { font-size: clamp(28px, 9vw, 44px) !important; }
	.kaha-hero__quote-wrap { padding: 2em 0.5em; }
}

/* ==========================================================================
   Broadcast Log（首頁/分類列表變節目表，零縮圖）
   ========================================================================== */
body.kaha-radio.home article.ast-article-post,
body.kaha-radio.blog article.ast-article-post,
body.kaha-radio.archive article.ast-article-post,
body.kaha-radio.category article.ast-article-post,
body.kaha-radio.search article.ast-article-post {
	display: grid !important;
	grid-template-columns: 90px 130px 1fr;
	column-gap: 2em !important;
	row-gap: 0.4em !important;
	padding: 1.75em 0 !important;
	background-color: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--kaha-accent-deep) !important;
	box-shadow: none !important;
	margin-bottom: 0 !important;
	align-items: baseline;
}

/* 隱藏縮圖 */
body.kaha-radio.home .post-thumb-img-content,
body.kaha-radio.home .post-thumbnail,
body.kaha-radio.blog .post-thumb-img-content,
body.kaha-radio.blog .post-thumbnail,
body.kaha-radio.archive .post-thumb-img-content,
body.kaha-radio.archive .post-thumbnail,
body.kaha-radio.category .post-thumb-img-content,
body.kaha-radio.category .post-thumbnail,
body.kaha-radio.search .post-thumb-img-content,
body.kaha-radio.search .post-thumbnail {
	display: none !important;
}

/* EP 編號 */
body.kaha-radio .kaha-list-ep {
	font-family: var(--kaha-font-mono);
	color: var(--kaha-accent);
	font-size: 14px;
	letter-spacing: 0.12em;
	grid-column: 1;
	grid-row: 1 / span 3;
	align-self: start;
	padding-top: 0.4em;
}

/* 列表標題 */
body.kaha-radio.home article.ast-article-post .entry-title,
body.kaha-radio.blog article.ast-article-post .entry-title,
body.kaha-radio.archive article.ast-article-post .entry-title,
body.kaha-radio.category article.ast-article-post .entry-title,
body.kaha-radio.search article.ast-article-post .entry-title {
	font-family: var(--kaha-font-serif) !important;
	font-size: clamp(20px, 2.4vw, 30px) !important;
	margin: 0 0 0.4em !important;
	grid-column: 3;
	grid-row: 1;
	font-weight: 600;
	letter-spacing: 0;
}
body.kaha-radio.home article.ast-article-post .entry-title::after,
body.kaha-radio.blog article.ast-article-post .entry-title::after,
body.kaha-radio.archive article.ast-article-post .entry-title::after { content: none !important; }
body.kaha-radio.home article.ast-article-post .entry-title a {
	color: var(--kaha-text) !important;
	border: none;
}
body.kaha-radio.home article.ast-article-post .entry-title a:hover {
	color: var(--kaha-accent) !important;
}

/* 列表 meta（日期） */
body.kaha-radio.home article.ast-article-post .entry-meta,
body.kaha-radio.blog article.ast-article-post .entry-meta,
body.kaha-radio.archive article.ast-article-post .entry-meta,
body.kaha-radio.category article.ast-article-post .entry-meta {
	font-family: var(--kaha-font-mono) !important;
	font-size: 12px !important;
	color: var(--kaha-text-muted) !important;
	letter-spacing: 0.12em !important;
	grid-column: 2;
	grid-row: 1;
	align-self: start;
	padding-top: 0.7em;
	text-transform: uppercase;
}
body.kaha-radio.home article.ast-article-post .entry-meta * {
	color: var(--kaha-text-muted) !important;
}

/* 列表 excerpt */
body.kaha-radio.home article.ast-article-post .entry-content,
body.kaha-radio.home article.ast-article-post .entry-summary,
body.kaha-radio.blog article.ast-article-post .entry-content,
body.kaha-radio.archive article.ast-article-post .entry-content {
	grid-column: 3;
	grid-row: 2;
	font-family: var(--kaha-font-serif);
	font-style: italic;
	font-size: 16px;
	color: var(--kaha-text-muted);
	line-height: 1.6;
	margin: 0.3em 0 0;
}
body.kaha-radio.home article.ast-article-post .entry-content > p:first-of-type::first-letter {
	font-size: inherit !important;
	color: inherit !important;
	float: none !important;
	padding: 0 !important;
}

/* read more */
body.kaha-radio.home article.ast-article-post .read-more,
body.kaha-radio.home article.ast-article-post .more-link {
	display: inline-block;
	grid-column: 3;
	grid-row: 3;
	font-family: var(--kaha-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--kaha-accent) !important;
	margin-top: 0.5em;
	border: none;
}

@media (max-width: 768px) {
	body.kaha-radio.home article.ast-article-post,
	body.kaha-radio.blog article.ast-article-post,
	body.kaha-radio.archive article.ast-article-post,
	body.kaha-radio.category article.ast-article-post {
		grid-template-columns: 1fr !important;
		row-gap: 0.5em !important;
		padding: 1.25em 0 !important;
	}
	body.kaha-radio .kaha-list-ep,
	body.kaha-radio.home article.ast-article-post .entry-meta,
	body.kaha-radio.home article.ast-article-post .entry-title,
	body.kaha-radio.home article.ast-article-post .entry-content {
		grid-column: 1 !important;
		grid-row: auto !important;
		padding-top: 0 !important;
	}
	body.kaha-radio.home article.ast-article-post .entry-title { font-size: 22px !important; }
}

/* ==========================================================================
   Cue Sheet（single post 頂部）
   ========================================================================== */
body.kaha-radio.single .kaha-cue-sheet {
	margin: 0 0 2.5em;
	padding: 0 0 1.5em;
	border-bottom: 1px solid var(--kaha-accent-deep);
}

.kaha-cue-line {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--kaha-font-mono);
	font-size: 13px;
	color: var(--kaha-accent);
	letter-spacing: 0.1em;
	margin-bottom: 0.5em;
	gap: 1em;
}
.kaha-cue-line-mid {
	flex: 1;
	text-align: center;
	color: var(--kaha-accent-deep);
	overflow: hidden;
	white-space: nowrap;
}
.kaha-cue-line--sub {
	color: var(--kaha-text-muted);
	font-size: 11px;
}
.kaha-cue-line--sub .kaha-cue-dj {
	color: var(--kaha-accent);
}

@media (max-width: 768px) {
	.kaha-cue-line { font-size: 11px; }
	.kaha-cue-line--sub { font-size: 10px; }
	.kaha-cue-line-mid { display: none; }
}

/* ==========================================================================
   Sign-off（single post 底部）
   ========================================================================== */
body.kaha-radio.single .kaha-signoff {
	margin: 4em 0 1em;
	padding-top: 2em;
	border-top: 1px solid var(--kaha-accent-deep);
	text-align: center;
	font-family: var(--kaha-font-mono);
	color: var(--kaha-accent);
	letter-spacing: 0.18em;
}
.kaha-signoff-end {
	font-size: 15px;
	margin-bottom: 0.4em;
}
.kaha-signoff-rec {
	color: var(--kaha-text-muted);
	font-size: 11px;
}

/* ==========================================================================
   PATCH MVP-fix1 2026-04-15 — 讓 Astra .ast-article-inner / .post-content
   中間層「透明化」，讓 article grid 直接看到孫元素 entry-title 等
   ========================================================================== */
body.kaha-radio.home article.ast-article-post .ast-article-inner,
body.kaha-radio.blog article.ast-article-post .ast-article-inner,
body.kaha-radio.archive article.ast-article-post .ast-article-inner,
body.kaha-radio.category article.ast-article-post .ast-article-inner,
body.kaha-radio.search article.ast-article-post .ast-article-inner,
body.kaha-radio.home article.ast-article-post .post-content,
body.kaha-radio.blog article.ast-article-post .post-content,
body.kaha-radio.archive article.ast-article-post .post-content,
body.kaha-radio.category article.ast-article-post .post-content,
body.kaha-radio.search article.ast-article-post .post-content {
	display: contents !important;
}

/* 再保險一次：徹底隱藏列表頁的特色圖片區塊 */
body.kaha-radio.home article.ast-article-post .ast-blog-featured-section,
body.kaha-radio.home article.ast-article-post .post-thumb,
body.kaha-radio.blog article.ast-article-post .ast-blog-featured-section,
body.kaha-radio.archive article.ast-article-post .ast-blog-featured-section,
body.kaha-radio.category article.ast-article-post .ast-blog-featured-section,
body.kaha-radio.search article.ast-article-post .ast-blog-featured-section {
	display: none !important;
}

/* ==========================================================================
   PATCH MVP-fix2 2026-04-15 — entry-header / ast-excerpt-container 補 grid-column
   ========================================================================== */
body.kaha-radio.home article.ast-article-post .entry-header,
body.kaha-radio.blog article.ast-article-post .entry-header,
body.kaha-radio.archive article.ast-article-post .entry-header,
body.kaha-radio.category article.ast-article-post .entry-header,
body.kaha-radio.search article.ast-article-post .entry-header {
	grid-column: 2 !important;
	grid-row: 1 !important;
	display: block !important;
	background: transparent !important;
	border: none !important;
	padding: 0.7em 0 0 !important;
	margin: 0 !important;
}

body.kaha-radio.home article.ast-article-post .entry-header .entry-meta,
body.kaha-radio.home article.ast-article-post .entry-header .entry-meta *,
body.kaha-radio.blog article.ast-article-post .entry-header .entry-meta,
body.kaha-radio.archive article.ast-article-post .entry-header .entry-meta {
	font-family: var(--kaha-font-mono) !important;
	font-size: 11px !important;
	color: var(--kaha-text-muted) !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	display: block !important;
}

body.kaha-radio.home article.ast-article-post .ast-excerpt-container,
body.kaha-radio.blog article.ast-article-post .ast-excerpt-container,
body.kaha-radio.archive article.ast-article-post .ast-excerpt-container,
body.kaha-radio.category article.ast-article-post .ast-excerpt-container,
body.kaha-radio.search article.ast-article-post .ast-excerpt-container {
	grid-column: 3 !important;
	grid-row: 2 !important;
	margin: 0.4em 0 0 !important;
	font-family: var(--kaha-font-serif) !important;
	font-style: italic !important;
	font-size: 16px !important;
	color: var(--kaha-text-muted) !important;
	line-height: 1.6 !important;
}

body.kaha-radio.home article.ast-article-post .read-more,
body.kaha-radio.home article.ast-article-post .more-link,
body.kaha-radio.blog article.ast-article-post .read-more,
body.kaha-radio.archive article.ast-article-post .read-more {
	grid-column: 3 !important;
	grid-row: 3 !important;
	margin-top: 0.6em !important;
}

@media (max-width: 768px) {
	body.kaha-radio.home article.ast-article-post .entry-header,
	body.kaha-radio.home article.ast-article-post .ast-excerpt-container,
	body.kaha-radio.home article.ast-article-post .read-more,
	body.kaha-radio.blog article.ast-article-post .entry-header,
	body.kaha-radio.blog article.ast-article-post .ast-excerpt-container,
	body.kaha-radio.archive article.ast-article-post .entry-header,
	body.kaha-radio.archive article.ast-article-post .ast-excerpt-container,
	body.kaha-radio.category article.ast-article-post .entry-header,
	body.kaha-radio.category article.ast-article-post .ast-excerpt-container {
		grid-column: 1 !important;
		grid-row: auto !important;
		padding-top: 0 !important;
	}
}

/* ==========================================================================
   PATCH MVP-fix3 2026-04-15 — 砍舊 ::before hero 殘留 / 砍首頁 sidebar / hero 放大
   ========================================================================== */

/* 砍 v1 hero ::before/::after 殘留（雙 hero 衝突源頭） */
body.kaha-radio.home .site-main::before,
body.kaha-radio.home .site-main::after,
body.kaha-radio.home #primary::before,
body.kaha-radio.home #primary::after,
body.kaha-radio.blog .site-main::before,
body.kaha-radio.blog .site-main::after,
body.kaha-radio.blog #primary::before,
body.kaha-radio.blog #primary::after {
	content: none !important;
	display: none !important;
	background: none !important;
	border: none !important;
}

/* 首頁/列表頁砍 sidebar，純單欄 */
body.kaha-radio.home #secondary,
body.kaha-radio.blog #secondary,
body.kaha-radio.archive #secondary,
body.kaha-radio.category #secondary,
body.kaha-radio.search #secondary {
	display: none !important;
}
body.kaha-radio.home #primary,
body.kaha-radio.blog #primary,
body.kaha-radio.archive #primary,
body.kaha-radio.category #primary {
	width: 100% !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
	float: none !important;
	padding: 0 2em !important;
}
body.kaha-radio.home .ast-container,
body.kaha-radio.blog .ast-container,
body.kaha-radio.archive .ast-container,
body.kaha-radio.category .ast-container {
	max-width: 100% !important;
}

/* Hero 字級放大（讓桌面有「一句話佔半屏」氣勢） */
.kaha-hero__quote {
	font-size: clamp(40px, 8vw, 96px) !important;
	line-height: 1.1 !important;
}

body.kaha-radio.home .kaha-hero,
body.kaha-radio.blog .kaha-hero {
	min-height: 92vh !important;
	padding: 1.5em 2em 2em !important;
}

.kaha-hero__quote-wrap {
	max-width: 1080px !important;
	padding: 6em 1em !important;
}

@media (max-width: 768px) {
	body.kaha-radio.home .kaha-hero,
	body.kaha-radio.blog .kaha-hero {
		min-height: 78vh !important;
		padding: 1em 1em 1.5em !important;
	}
	.kaha-hero__quote {
		font-size: clamp(30px, 9vw, 48px) !important;
	}
	.kaha-hero__quote-wrap {
		padding: 2em 0.5em !important;
	}
}

/* ==========================================================================
   PATCH MAGAZINE v3 2026-04-15 — 砍電台元素 + 中性深灰 + Magazine layout
   ========================================================================== */

/* === 1. 砍掉所有電台元素 === */
.kaha-hero,
.kaha-cue-sheet,
.kaha-signoff,
.home.kaha-radio .site-main::before,
.home.kaha-radio .site-main::after,
.home.kaha-radio #primary::before,
.home.kaha-radio #primary::after {
	display: none !important;
}

/* === 2. 配色：死黑 → 中性深灰 === */
:root, body.kaha-radio {
	--kaha-bg:          #1c1c1c !important;
	--kaha-bg-card:     #252525 !important;
	--kaha-bg-aside:    #202020 !important;
	--kaha-bg-deep:     #141414 !important;
	--kaha-text:        #ededed !important;
	--kaha-text-muted:  #999999 !important;
	--kaha-line:        #3a3a3a !important;
}

html, body, body.kaha-radio,
.kaha-radio .site, .kaha-radio #page, .kaha-radio .site-content,
.kaha-radio .ast-container, .kaha-radio .ast-container-fluid, .kaha-radio #content {
	background-color: #1c1c1c !important;
}

body.kaha-radio.ast-separate-container .ast-article-single:not(.ast-related-post),
body.kaha-radio.ast-separate-container .ast-article-post {
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	border-bottom: 1px solid #3a3a3a !important;
}

body.kaha-radio.single .ast-article-single {
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 2em 0 !important;
}

body.kaha-radio .widget,
body.kaha-radio .ast-pagination a,
body.kaha-radio .ast-related-post {
	background-color: #252525 !important;
	border-color: #3a3a3a !important;
}

/* === 3. EP tag（小、左上、不誇張） === */
.kaha-radio .kaha-ep-tag {
	font-family: 'JetBrains Mono', monospace;
	color: #c9a96e;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0 0.6em !important;
	display: block;
	grid-column: 2 !important;
	grid-row: 1 !important;
}

body.kaha-radio.single .kaha-ep-tag {
	grid-column: auto !important;
	grid-row: auto !important;
	margin: 0 0 1em !important;
}

/* === 4. Magazine Grid（首頁/分類列表）：左圖右文 === */
body.kaha-radio.home article.ast-article-post,
body.kaha-radio.blog article.ast-article-post,
body.kaha-radio.archive article.ast-article-post,
body.kaha-radio.category article.ast-article-post,
body.kaha-radio.search article.ast-article-post {
	grid-template-columns: 320px 1fr !important;
	column-gap: 2em !important;
	row-gap: 0.4em !important;
	padding: 2em 0 !important;
	align-items: start !important;
}

/* 顯示 featured image (反轉前面 display:none) */
body.kaha-radio.home .post-thumb-img-content,
body.kaha-radio.home .post-thumbnail,
body.kaha-radio.home .ast-blog-featured-section,
body.kaha-radio.blog .post-thumb-img-content,
body.kaha-radio.blog .post-thumbnail,
body.kaha-radio.blog .ast-blog-featured-section,
body.kaha-radio.archive .post-thumb-img-content,
body.kaha-radio.archive .post-thumbnail,
body.kaha-radio.archive .ast-blog-featured-section,
body.kaha-radio.category .post-thumb-img-content,
body.kaha-radio.category .post-thumbnail,
body.kaha-radio.category .ast-blog-featured-section,
body.kaha-radio.search .post-thumb-img-content,
body.kaha-radio.search .post-thumbnail {
	display: block !important;
	grid-column: 1 !important;
	grid-row: 1 / span 5 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.kaha-radio .post-thumb-img-content img,
body.kaha-radio .post-thumbnail img,
body.kaha-radio .ast-blog-featured-section img,
body.kaha-radio .kaha-fallback-thumb {
	width: 100% !important;
	height: 200px !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 2px !important;
	background: #252525;
}

/* entry-header (放 col 2 row 2，meta 區) */
body.kaha-radio.home article.ast-article-post .entry-header,
body.kaha-radio.blog article.ast-article-post .entry-header,
body.kaha-radio.archive article.ast-article-post .entry-header,
body.kaha-radio.category article.ast-article-post .entry-header {
	grid-column: 2 !important;
	grid-row: 2 !important;
	display: block !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* entry-title (col 2 row 3，標題) */
body.kaha-radio.home article.ast-article-post .entry-title,
body.kaha-radio.blog article.ast-article-post .entry-title,
body.kaha-radio.archive article.ast-article-post .entry-title,
body.kaha-radio.category article.ast-article-post .entry-title {
	grid-column: 2 !important;
	grid-row: 3 !important;
	font-family: 'Fraunces', 'Noto Sans TC', serif !important;
	font-size: clamp(20px, 2vw, 26px) !important;
	font-weight: 700 !important;
	margin: 0.3em 0 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.005em !important;
	font-style: normal !important;
}
body.kaha-radio.home article.ast-article-post .entry-title::after { content: none !important; }

/* excerpt (col 2 row 4) */
body.kaha-radio.home article.ast-article-post .ast-excerpt-container,
body.kaha-radio.home article.ast-article-post .entry-content,
body.kaha-radio.blog article.ast-article-post .ast-excerpt-container,
body.kaha-radio.archive article.ast-article-post .ast-excerpt-container,
body.kaha-radio.category article.ast-article-post .ast-excerpt-container {
	grid-column: 2 !important;
	grid-row: 4 !important;
	font-style: normal !important;
	font-size: 14px !important;
	color: #999 !important;
	line-height: 1.65 !important;
	font-family: 'Noto Sans TC', sans-serif !important;
}

body.kaha-radio.home article.ast-article-post .read-more,
body.kaha-radio.home article.ast-article-post .more-link {
	display: none !important;
}

/* Mobile：上下排 */
@media (max-width: 768px) {
	body.kaha-radio.home article.ast-article-post,
	body.kaha-radio.blog article.ast-article-post,
	body.kaha-radio.archive article.ast-article-post,
	body.kaha-radio.category article.ast-article-post {
		grid-template-columns: 1fr !important;
		gap: 1em !important;
	}
	body.kaha-radio .post-thumb-img-content,
	body.kaha-radio .post-thumbnail,
	body.kaha-radio.home article.ast-article-post .entry-title,
	body.kaha-radio.home article.ast-article-post .entry-header,
	body.kaha-radio.home article.ast-article-post .ast-excerpt-container,
	body.kaha-radio .kaha-ep-tag {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
	body.kaha-radio .post-thumb-img-content img,
	body.kaha-radio .kaha-fallback-thumb {
		height: 220px !important;
	}
}

/* === 5. 砍掉首頁 sidebar === */
body.kaha-radio.home #secondary,
body.kaha-radio.blog #secondary,
body.kaha-radio.archive #secondary,
body.kaha-radio.category #secondary {
	display: none !important;
}
body.kaha-radio.home #primary,
body.kaha-radio.blog #primary,
body.kaha-radio.archive #primary,
body.kaha-radio.category #primary {
	width: 100% !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	float: none !important;
}

/* === 6. Single 文章頁 featured image 顯示 === */
body.kaha-radio.single .post-thumbnail,
body.kaha-radio.single .ast-blog-featured-section {
	display: block !important;
	margin: 1em 0 2em !important;
}
body.kaha-radio.single .post-thumbnail img,
body.kaha-radio.single .ast-blog-featured-section img,
body.kaha-radio.single .kaha-fallback-thumb {
	width: 100% !important;
	max-height: 460px !important;
	object-fit: cover !important;
}

body.kaha-radio.single .entry-title {
	font-family: 'Fraunces', 'Noto Sans TC', serif !important;
	font-size: clamp(28px, 4vw, 44px) !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
	font-style: normal !important;
}
body.kaha-radio.single .entry-title::after {
	content: none !important;
}

/* ==========================================================================
   PATCH MAGAZINE THUMB — 強制列表縮圖樣式
   ========================================================================== */
.kaha-list-thumb-link {
	display: block !important;
	grid-column: 1 !important;
	grid-row: 1 / span 5 !important;
	margin: 0 !important;
	border: none !important;
	overflow: hidden;
	background: #252525;
}
.kaha-list-thumb {
	width: 100% !important;
	height: 200px !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 2px !important;
	transition: opacity .25s !important;
}
.kaha-list-thumb-link:hover .kaha-list-thumb { opacity: 0.85 !important; }

@media (max-width: 768px) {
	.kaha-list-thumb-link { grid-column: 1 !important; grid-row: auto !important; }
	.kaha-list-thumb { height: 220px !important; }
}

/* ==========================================================================
   PATCH ROUND 1 2026-04-15 — micro-polish + 文章頁雜誌化 + Hero + Sticky bar
   ========================================================================== */

/* ===== A. micro-polish 5 件套 ===== */

/* (1) 縮圖比例 3:2 + radius 0 + 加大 */
body.kaha-radio .kaha-list-thumb,
body.kaha-radio .post-thumb-img-content img,
body.kaha-radio .post-thumbnail img,
body.kaha-radio .ast-blog-featured-section img,
body.kaha-radio .kaha-fallback-thumb {
	aspect-ratio: 3/2 !important;
	height: auto !important;
	border-radius: 0 !important;
}

body.kaha-radio.home article.ast-article-post,
body.kaha-radio.blog article.ast-article-post,
body.kaha-radio.archive article.ast-article-post,
body.kaha-radio.category article.ast-article-post,
body.kaha-radio.search article.ast-article-post {
	grid-template-columns: 380px 1fr !important;
	column-gap: 2.5em !important;
	padding: 2.4em 0 !important;
}

/* (2) 標題字級 + 字距 */
body.kaha-radio.home article.ast-article-post .entry-title,
body.kaha-radio.blog article.ast-article-post .entry-title,
body.kaha-radio.archive article.ast-article-post .entry-title,
body.kaha-radio.category article.ast-article-post .entry-title {
	font-size: clamp(22px, 2.2vw, 30px) !important;
	line-height: 1.22 !important;
	letter-spacing: -0.015em !important;
	margin: 0.25em 0 0.5em !important;
}

/* (3) Meta 階層拆分 — category 做 chip */
body.kaha-radio .ast-taxonomy-container a,
body.kaha-radio .cat-links a,
body.kaha-radio .ast-categories a,
body.kaha-radio .entry-meta .cat-links a {
	display: inline-block !important;
	font-family: 'JetBrains Mono', monospace !important;
	font-size: 10px !important;
	letter-spacing: 0.18em !important;
	padding: 3px 8px !important;
	border: 1px solid #3a3a3a !important;
	color: #ededed !important;
	text-transform: uppercase !important;
	margin: 0 4px 4px 0 !important;
	text-decoration: none !important;
}
body.kaha-radio .posted-on,
body.kaha-radio .entry-meta time,
body.kaha-radio .entry-meta .posted-on {
	font-size: 10px !important;
	color: #666 !important;
	letter-spacing: 0.12em !important;
}

/* (4) Hover 卡片變色 + 圖微縮放 */
body.kaha-radio.home article.ast-article-post,
body.kaha-radio.blog article.ast-article-post,
body.kaha-radio.archive article.ast-article-post,
body.kaha-radio.category article.ast-article-post {
	transition: background .25s ease;
}
body.kaha-radio.home article.ast-article-post:hover,
body.kaha-radio.blog article.ast-article-post:hover {
	background: #20201e !important;
}
body.kaha-radio .kaha-list-thumb {
	transition: transform .4s ease !important;
}
body.kaha-radio .kaha-list-thumb-link:hover .kaha-list-thumb {
	transform: scale(1.02) !important;
}

/* (5) 分隔線 dashed */
body.kaha-radio.ast-separate-container .ast-article-post,
body.kaha-radio.home article.ast-article-post,
body.kaha-radio.blog article.ast-article-post,
body.kaha-radio.archive article.ast-article-post,
body.kaha-radio.category article.ast-article-post {
	border-bottom: 1px dashed #2e2e2e !important;
}

/* ===== B. 文章頁雜誌化 ===== */

/* Dek (導言) */
.kaha-dek {
	font-family: 'Noto Sans TC', sans-serif;
	font-weight: 600;
	font-size: 19px;
	color: #bbb;
	border-left: 3px solid #c9a96e;
	padding: 0.4em 0 0.4em 18px;
	margin: 1em 0 1.5em;
	line-height: 1.65;
	letter-spacing: 0.01em;
}

/* Byline (作者署名) */
.kaha-byline {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: 'JetBrains Mono', monospace;
	font-size: 11px;
	color: #999;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 1em 0;
	border-bottom: 1px solid rgba(201, 169, 110, 0.2);
	margin-bottom: 2em;
}
.kaha-byline-avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
	background: #252525;
}
.kaha-byline-words {
	color: #ededed;
	font-weight: 500;
}
.kaha-byline-sep { color: #555; }
.kaha-byline-date, .kaha-byline-time { color: #999; }

@media (max-width: 768px) {
	.kaha-byline { flex-wrap: wrap; gap: 8px; font-size: 10px; }
	.kaha-byline-avatar { width: 28px; height: 28px; }
}

/* 文末 Pitch Block */
.kaha-pitch-block {
	background: #1f1d1a;
	border: 1px solid #c9a96e;
	padding: 2em 2.25em;
	margin: 3em 0 2em;
}
.kaha-pitch-title {
	font-family: 'Fraunces', serif !important;
	font-size: 1.4em !important;
	color: #c9a96e !important;
	margin: 0 0 0.6em !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
}
.kaha-pitch-block p {
	color: #ededed !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	margin: 0.5em 0 !important;
	font-family: 'Noto Sans TC', sans-serif !important;
}
.kaha-pitch-block strong {
	color: #c9a96e !important;
	font-weight: 600;
}
.kaha-pitch-block a {
	color: #c9a96e !important;
	border-bottom: 1px solid #c9a96e !important;
	font-family: 'JetBrains Mono', monospace;
	letter-spacing: 0.05em;
}
.kaha-pitch-block a:hover {
	background: #c9a96e !important;
	color: #1c1c1c !important;
	border-bottom-color: transparent !important;
}

/* ===== C. Editor's Pick Hero (3 cells) ===== */
.kaha-hero-grid {
	margin: 1.5em 0 2em;
	background: transparent;
}
.kaha-hero-grid-inner {
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-template-rows: 220px 220px;
	gap: 16px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 1.5em;
}
.kaha-hero-cell {
	position: relative;
	background-size: cover;
	background-position: center;
	background-color: #252525;
	overflow: hidden;
	display: block;
	border: none !important;
	text-decoration: none;
	transition: transform .4s ease;
}
.kaha-hero-cell:hover { transform: scale(1.005); }
.kaha-hero-cell::after {
	content: '';
	position: absolute; left:0; right:0; bottom:0; top:0;
	background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 35%, transparent 60%);
	pointer-events: none;
}
.kaha-hero-cell-1 {
	grid-column: 1;
	grid-row: 1 / span 2;
}
.kaha-hero-cell-2 { grid-column: 2; grid-row: 1; }
.kaha-hero-cell-3 { grid-column: 2; grid-row: 2; }

.kaha-hero-cell-overlay {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 1.5em 1.75em;
	color: #fff;
	z-index: 2;
}
.kaha-hero-cell-cat {
	display: inline-block;
	font-family: 'JetBrains Mono', monospace;
	font-size: 9px;
	letter-spacing: 0.22em;
	padding: 4px 9px;
	background: #c9a96e;
	color: #1c1c1c;
	text-transform: uppercase;
	margin-bottom: 0.6em;
	font-weight: 500;
}
.kaha-hero-cell-title {
	font-family: 'Fraunces', serif !important;
	font-size: clamp(16px, 1.5vw, 20px) !important;
	color: #fff !important;
	margin: 0 !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	letter-spacing: -0.005em;
}
.kaha-hero-cell-1 .kaha-hero-cell-title {
	font-size: clamp(24px, 2.8vw, 36px) !important;
}

@media (max-width: 768px) {
	.kaha-hero-grid-inner {
		grid-template-columns: 1fr !important;
		grid-template-rows: auto !important;
		gap: 10px;
		padding: 0 1em;
	}
	.kaha-hero-cell-1 {
		grid-column: 1 !important;
		grid-row: 1 !important;
		height: 220px;
	}
	.kaha-hero-cell-2,
	.kaha-hero-cell-3 {
		grid-column: 1 !important;
		grid-row: auto !important;
		height: 140px;
	}
	.kaha-hero-cell-1 .kaha-hero-cell-title {
		font-size: 22px !important;
	}
	.kaha-hero-cell-overlay {
		padding: 1em 1.25em;
	}
}

/* ===== D. Mobile sticky PITCH bar ===== */
.kaha-sticky-pitch {
	display: none;
}

@media (max-width: 768px) {
	.kaha-sticky-pitch {
		display: flex !important;
		position: fixed;
		left: 0; right: 0; bottom: 0;
		height: 48px;
		background: #141414;
		border-top: 1px solid #c9a96e;
		z-index: 9999;
		justify-content: space-between;
		align-items: center;
		padding: 0 1em;
		box-shadow: 0 -2px 12px rgba(0,0,0,0.5);
	}
	.kaha-sticky-logo {
		font-family: 'Fraunces', serif;
		color: #c9a96e !important;
		font-weight: 700;
		font-size: 14px;
		letter-spacing: 0.06em;
		border: none !important;
	}
	.kaha-sticky-pitch-cta {
		font-family: 'JetBrains Mono', monospace;
		font-size: 12px;
		color: #c9a96e !important;
		letter-spacing: 0.18em;
		text-transform: uppercase;
		padding: 6px 14px;
		border: 1px solid #c9a96e !important;
		text-decoration: none !important;
	}
	.kaha-sticky-pitch-cta:hover {
		background: #c9a96e;
		color: #141414 !important;
	}
	/* 補 body 底部 padding 避免被 sticky bar 蓋住 */
	body.kaha-radio { padding-bottom: 48px; }
}

/* ==========================================================================
   PATCH R1-fix 2026-04-15 — 文章頁左右呼吸 + Dek/Byline 間距
   ========================================================================== */

/* 文章頁整體 max-width + 呼吸 padding */
body.kaha-radio.single #primary,
body.kaha-radio.single .ast-article-single,
body.kaha-radio.single article.post {
	max-width: 820px !important;
	margin: 1em auto !important;
	padding: 0 1.5em !important;
	float: none !important;
	width: 100% !important;
}

body.kaha-radio.single .ast-article-single,
body.kaha-radio.single article.post {
	padding: 2em 2em !important;
}

/* Dek：金線內縮，左邊離整體邊有空間 */
.kaha-dek {
	padding: 0.5em 0 0.5em 24px !important;
	margin: 1.5em 0 2em !important;
	font-size: 19px !important;
	line-height: 1.7 !important;
}

/* Byline：跟內文之間加距離 */
.kaha-byline {
	padding: 1.25em 0 !important;
	margin-bottom: 2.5em !important;
}

/* 內文段落間距 */
body.kaha-radio.single .entry-content > p {
	margin-bottom: 1.6em !important;
	font-size: 17px !important;
	line-height: 1.9 !important;
}
body.kaha-radio.single .entry-content > h2,
body.kaha-radio.single .entry-content > h3 {
	margin: 2em 0 0.8em !important;
}

/* Mobile */
@media (max-width: 768px) {
	body.kaha-radio.single .ast-article-single,
	body.kaha-radio.single article.post {
		padding: 1em 1em !important;
	}
	body.kaha-radio.single #primary {
		padding: 0 0.5em !important;
	}
	.kaha-dek {
		padding: 0.4em 0 0.4em 16px !important;
		font-size: 16px !important;
	}
	.kaha-byline {
		padding: 1em 0 !important;
		margin-bottom: 1.5em !important;
	}
}

/* Pitch block 也加一點呼吸 */
.kaha-pitch-block {
	padding: 2em 1.75em !important;
	margin: 3em 0 2em !important;
}

@media (max-width: 768px) {
	.kaha-pitch-block {
		padding: 1.5em 1.25em !important;
	}
}

/* ==========================================================================
   PATCH R1-sidebar 2026-04-15 — 文章內頁 sidebar 顯示 + 合約來信 widget
   ========================================================================== */

/* 文章內頁 sidebar 顯示（之前首頁/archive 隱藏，single 解開） */
body.kaha-radio.single #secondary,
body.kaha-radio.single .secondary,
body.kaha-radio.single .widget-area {
	display: block !important;
}

/* 文章內頁兩欄 layout */
body.kaha-radio.single .site-content > .ast-container {
	max-width: 1200px !important;
	display: flex !important;
	gap: 2.5em !important;
	padding: 0 1.5em !important;
}
body.kaha-radio.single #primary {
	flex: 1 1 auto !important;
	max-width: 780px !important;
	min-width: 0 !important;
	margin: 1em 0 !important;
}
body.kaha-radio.single #secondary {
	flex: 0 0 280px !important;
	width: 280px !important;
	max-width: 280px !important;
	margin: 1em 0 !important;
	padding-top: 2em !important;
}

/* 合約來信 widget 樣式 */
.kaha-sidebar-pitch-widget {
	background: #252525 !important;
	border: 1px solid #c9a96e !important;
	padding: 1.5em 1.75em !important;
	margin-bottom: 1.5em !important;
}
.kaha-sidebar-pitch-widget .widget-title {
	color: #c9a96e !important;
	font-family: 'Fraunces', 'Noto Serif TC', serif !important;
	font-size: 17px !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	border: none !important;
	margin: 0 0 0.8em !important;
	padding: 0 !important;
	font-weight: 700 !important;
}
.kaha-sidebar-pitch-widget p {
	margin: 0 !important;
	color: #ededed !important;
}
.kaha-sidebar-mail {
	color: #c9a96e !important;
	font-family: 'JetBrains Mono', monospace !important;
	font-size: 14px !important;
	letter-spacing: 0.03em !important;
	border-bottom: 1px solid rgba(201,169,110,0.4) !important;
}
.kaha-sidebar-mail:hover {
	border-bottom-color: #c9a96e !important;
}

/* Mobile：sidebar 變底部 */
@media (max-width: 768px) {
	body.kaha-radio.single .site-content > .ast-container {
		flex-direction: column !important;
		gap: 1em !important;
	}
	body.kaha-radio.single #primary,
	body.kaha-radio.single #secondary {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.kaha-sidebar-pitch-widget {
		padding: 1.25em 1.5em !important;
	}
}

/* ==========================================================================
   PATCH R1-square 2026-04-15 — 圖改 1:1 正方形 + meta 對齊 + chip 清理
   ========================================================================== */

/* (1) 圖改 1:1 正方形，適配用戶原生圖比例 */
body.kaha-radio .kaha-list-thumb,
body.kaha-radio .post-thumb-img-content img,
body.kaha-radio .post-thumbnail img,
body.kaha-radio .ast-blog-featured-section img,
body.kaha-radio .kaha-fallback-thumb {
	aspect-ratio: 1/1 !important;
	height: auto !important;
	width: 100% !important;
	object-fit: cover !important;
}

/* (2) 文章卡片 grid：圖欄縮到 240px，適配正方形不太大 */
body.kaha-radio.home article.ast-article-post,
body.kaha-radio.blog article.ast-article-post,
body.kaha-radio.archive article.ast-article-post,
body.kaha-radio.category article.ast-article-post,
body.kaha-radio.search article.ast-article-post {
	grid-template-columns: 240px 1fr !important;
	column-gap: 2em !important;
	padding: 2em 0 !important;
	align-items: start !important;
}

/* (3) 砍作者 meta（每篇重複 ZUKA CHEN 多餘） */
body.kaha-radio.home article.ast-article-post .posted-by,
body.kaha-radio.blog article.ast-article-post .posted-by,
body.kaha-radio.archive article.ast-article-post .posted-by,
body.kaha-radio.category article.ast-article-post .posted-by,
body.kaha-radio.home article.ast-article-post .entry-meta .posted-by,
body.kaha-radio.home article.ast-article-post .author-vcard,
body.kaha-radio.home article.ast-article-post .ast-author-name,
body.kaha-radio.home article.ast-article-post .byline {
	display: none !important;
}

/* (4) Chip 只顯示第 1 個（避免 1 篇兩 chip、另篇一 chip 造成不對齊） */
body.kaha-radio.home article.ast-article-post .entry-meta .cat-links a:nth-of-type(n+2),
body.kaha-radio.home article.ast-article-post .entry-meta .ast-taxonomy-container a:nth-of-type(n+2),
body.kaha-radio.home article.ast-article-post .entry-meta .ast-categories a:nth-of-type(n+2),
body.kaha-radio.blog article.ast-article-post .entry-meta .cat-links a:nth-of-type(n+2),
body.kaha-radio.archive article.ast-article-post .entry-meta .cat-links a:nth-of-type(n+2) {
	display: none !important;
}

/* (5) 隱藏空的 chip 容器 */
body.kaha-radio .ast-taxonomy-container:empty,
body.kaha-radio .cat-links:empty,
body.kaha-radio .entry-meta span:empty {
	display: none !important;
}

/* (6) chip 字距調小（中文字距拉太開不好看） */
body.kaha-radio .ast-taxonomy-container a,
body.kaha-radio .cat-links a,
body.kaha-radio .ast-categories a,
body.kaha-radio .entry-meta .cat-links a {
	letter-spacing: 0.08em !important;
	text-transform: none !important;
	font-size: 11px !important;
	padding: 3px 10px !important;
}

/* (7) Mobile 正方形縮圖維持全寬 */
@media (max-width: 768px) {
	body.kaha-radio.home article.ast-article-post,
	body.kaha-radio.blog article.ast-article-post,
	body.kaha-radio.archive article.ast-article-post,
	body.kaha-radio.category article.ast-article-post {
		grid-template-columns: 1fr !important;
	}
	body.kaha-radio .kaha-list-thumb,
	body.kaha-radio .post-thumb-img-content img,
	body.kaha-radio .post-thumbnail img,
	body.kaha-radio .kaha-fallback-thumb {
		aspect-ratio: 16/9 !important;
		max-height: 260px;
	}
}

/* ==========================================================================
   PATCH R1-unify 2026-04-15 — 字體統一 + 間距統一 + 文章頁順序
   ========================================================================== */

/* ===== A. 字體全站統一三類 ===== */
/* 內文（Noto Sans TC 無襯線） */
body.kaha-radio,
body.kaha-radio p,
body.kaha-radio li,
body.kaha-radio div,
body.kaha-radio span,
body.kaha-radio a,
body.kaha-radio article,
body.kaha-radio .entry-content,
body.kaha-radio .entry-summary,
body.kaha-radio .ast-excerpt-container,
body.kaha-radio .widget,
body.kaha-radio .site-footer,
body.kaha-radio input,
body.kaha-radio button,
body.kaha-radio select,
body.kaha-radio textarea {
	font-family: 'Noto Sans TC', 'Inter', sans-serif !important;
}

/* 標題（Fraunces 襯線 display） */
body.kaha-radio h1,
body.kaha-radio h2,
body.kaha-radio h3,
body.kaha-radio h4,
body.kaha-radio h5,
body.kaha-radio h6,
body.kaha-radio .entry-title,
body.kaha-radio .widget-title,
body.kaha-radio .site-title,
body.kaha-radio .site-title a,
body.kaha-radio .kaha-hero-cell-title,
body.kaha-radio .kaha-pitch-title {
	font-family: 'Fraunces', 'Noto Serif TC', serif !important;
}

/* 等寬（JetBrains Mono 系統字） */
body.kaha-radio .kaha-ep-tag,
body.kaha-radio .entry-meta,
body.kaha-radio .entry-meta *,
body.kaha-radio .cat-links a,
body.kaha-radio .ast-taxonomy-container a,
body.kaha-radio .ast-categories a,
body.kaha-radio .posted-on,
body.kaha-radio time,
body.kaha-radio .kaha-byline,
body.kaha-radio .kaha-byline span,
body.kaha-radio .kaha-hero-cell-cat,
body.kaha-radio .kaha-sticky-logo,
body.kaha-radio .kaha-sticky-pitch-cta,
body.kaha-radio .kaha-sidebar-mail,
body.kaha-radio pre,
body.kaha-radio code {
	font-family: 'JetBrains Mono', monospace !important;
}

/* ===== B. 間距統一 ===== */
body.kaha-radio.home article.ast-article-post,
body.kaha-radio.blog article.ast-article-post,
body.kaha-radio.archive article.ast-article-post,
body.kaha-radio.category article.ast-article-post,
body.kaha-radio.search article.ast-article-post {
	grid-template-columns: 240px 1fr !important;
	column-gap: 2.5em !important;
	row-gap: 0.6em !important;
	padding: 2.2em 0 !important;
}

/* meta 跟標題有呼吸空間 */
body.kaha-radio.home article.ast-article-post .entry-meta,
body.kaha-radio.home article.ast-article-post .entry-header {
	margin-bottom: 0.4em !important;
	padding-top: 0 !important;
}
body.kaha-radio.home article.ast-article-post .entry-title {
	margin: 0.3em 0 0.6em !important;
}

/* excerpt 跟標題有呼吸空間 */
body.kaha-radio.home article.ast-article-post .ast-excerpt-container,
body.kaha-radio.home article.ast-article-post .entry-content {
	margin-top: 0.5em !important;
	font-size: 14.5px !important;
	line-height: 1.7 !important;
}

/* ===== C. 文章頁順序：標題 → meta → Dek+Byline → 內文 ===== */
/* EP tag 在 single 不顯示（已搬到 byline 內） */
body.kaha-radio.single .ast-article-single > .kaha-ep-tag,
body.kaha-radio.single article.post > .kaha-ep-tag {
	display: none !important;
}

/* byline 內的 EP tag 樣式 */
.kaha-byline-ep {
	color: #c9a96e !important;
	font-weight: 500;
	letter-spacing: 0.12em !important;
}

/* Dek 位置（放 byline 下方，內文之前） */
body.kaha-radio.single .kaha-dek {
	margin: 1em 0 2em !important;
}

/* Single 標題下方 Astra meta（日期/分類）保留，字體用 mono */
body.kaha-radio.single .entry-meta {
	font-family: 'JetBrains Mono', monospace !important;
	font-size: 11px !important;
	letter-spacing: 0.12em;
	color: #999 !important;
	margin-bottom: 1.5em;
}
body.kaha-radio.single .entry-meta * {
	font-family: 'JetBrains Mono', monospace !important;
}

/* ==========================================================================
   PATCH R1-diag 2026-04-15 — 網頁版 Claude 7 點診斷修正
   ========================================================================== */

/* (1) 麵包屑文字換行溢出 */
body.kaha-radio .ast-breadcrumbs-wrapper .breadcrumbs,
body.kaha-radio .ast-breadcrumbs .breadcrumb-trail,
body.kaha-radio .ast-breadcrumbs {
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 100% !important;
	font-family: 'JetBrains Mono', monospace !important;
	font-size: 11px !important;
	letter-spacing: 0.1em;
}

/* (2) 文章主標題 line-height 過大 */
body.kaha-radio.single .entry-title,
body.kaha-radio.single h1.entry-title {
	line-height: 1.2 !important;
	margin-bottom: 0.5em !important;
	margin-top: 0 !important;
}

/* (3) HR 分隔線 margin 過大 */
body.kaha-radio .entry-content hr {
	margin: 1.8em auto !important;
	max-width: 60px;
}

/* (4) Dek 上下間距 */
body.kaha-radio.single .kaha-dek {
	margin: 0.75em 0 1.25em !important;
	padding: 0.5em 0 0.5em 22px !important;
	font-size: 17px !important;
	line-height: 1.65 !important;
}

/* (5) 歌詞 <p> 裡連續 <br> 堆疊問題（PHP filter 已包 .kaha-lyrics）+ CSS 緩解 */
body.kaha-radio .kaha-lyrics {
	background: #1a1814;
	border-left: 2px solid #c9a96e;
	padding: 1.25em 1.5em;
	margin: 1.5em 0;
	font-family: 'Noto Sans TC', sans-serif !important;
	line-height: 1.7;
	font-size: 15.5px;
	color: #e0dcd0;
}
body.kaha-radio .kaha-lyrics br {
	content: "";
	display: block;
	margin: 0;
}

/* 全域縮 p 行高（包含 br 堆疊） */
body.kaha-radio.single .entry-content p {
	line-height: 1.75 !important;
	margin-bottom: 1.1em !important;
}
/* 連續 br 塞在 p 內，壓縮間距 */
body.kaha-radio.single .entry-content p br + br {
	line-height: 0.5;
}

/* (6) Sidebar 最新文章 li 行高 padding */
body.kaha-radio .widget_recent_entries ul li,
body.kaha-radio .widget ul li {
	line-height: 1.4 !important;
	padding: 4px 0 !important;
	margin: 0 !important;
	font-size: 14px;
}

/* (7) Sidebar widget 上下 padding */
body.kaha-radio #secondary .widget,
body.kaha-radio .secondary .widget {
	padding: 1em 1.25em !important;
	margin-bottom: 1em !important;
}
body.kaha-radio .kaha-sidebar-pitch-widget {
	padding: 1.25em 1.5em !important;
}

/* ==========================================================================
   PATCH R1-diag2 2026-04-15 — 網頁版 Claude UI/UX 第二輪診斷
   ========================================================================== */

/* (1) 修復 sidebar 被 stretch 拉伸到 6476px（根本原因：flex 預設 stretch） */
body.kaha-radio.single .ast-container,
body.kaha-radio.single .site-content > .ast-container {
	align-items: flex-start !important;
}

/* sticky sidebar 跟著捲動 */
body.kaha-radio.single #secondary,
body.kaha-radio.single .widget-area.secondary {
	position: sticky !important;
	top: 20px !important;
	align-self: flex-start !important;
	max-height: calc(100vh - 40px) !important;
	overflow-y: auto !important;
}

/* (2) Sidebar 左右 padding 對稱 */
body.kaha-radio.single #secondary,
body.kaha-radio.single .widget-area.secondary {
	padding-left: 20px !important;
	padding-right: 0 !important;
}

/* (3) 麵包屑最後一項（文章標題）省略號截斷 */
body.kaha-radio .trail-items .trail-end span,
body.kaha-radio .trail-items .trail-item:last-child span,
body.kaha-radio .trail-items .trail-item:last-child {
	display: inline-block;
	max-width: 240px !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	vertical-align: bottom !important;
}

/* (4) Byline padding 縮薄（13.75 → 8） */
.kaha-byline {
	padding: 8px 0 !important;
	margin-bottom: 16px !important;
}

/* (5) 手機版觸控目標 44px（Apple HIG / Material 最小值） */
@media (max-width: 768px) {
	body.kaha-radio .ast-main-menu > li > a,
	body.kaha-radio .main-navigation a,
	body.kaha-radio .ast-mobile-popup-drawer .menu-item a {
		min-height: 44px !important;
		display: flex !important;
		align-items: center !important;
	}

	/* 手機版 sidebar 取消 sticky、全寬 */
	body.kaha-radio.single #secondary,
	body.kaha-radio.single .widget-area.secondary {
		position: static !important;
		width: 100% !important;
		max-height: none !important;
		overflow-y: visible !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/* 手機版 article 縮 padding 留閱讀空間 */
	body.kaha-radio.single .ast-article-single,
	body.kaha-radio.single article.post {
		padding: 20px 16px !important;
	}

	/* 手機版標題縮到 28px */
	body.kaha-radio.single .entry-title {
		font-size: 28px !important;
		line-height: 1.3 !important;
	}

	/* 手機版 byline 字體加大 */
	.kaha-byline {
		font-size: 13px !important;
	}

	/* 手機版主選單項目要有空間 */
	body.kaha-radio .ast-mobile-popup-content .menu-item {
		padding: 4px 0;
	}
}

/* (6) 段落行高再精調 */
body.kaha-radio.single .entry-content p {
	line-height: 1.75 !important;
	margin-bottom: 1.15em !important;
}

/* ==========================================================================
   PATCH R1-diag3: 8 項 UIUX 全面修正 (2026-04-16)
   ========================================================================== */

/* 【1】側邊欄 scrollbar 移除 — 用戶: 真的很醜 */
body.kaha-radio #secondary,
body.kaha-radio .widget-area.secondary,
body.kaha-radio.single #secondary,
body.kaha-radio.single .widget-area.secondary {
	max-height: none !important;
	overflow: visible !important;
	overflow-y: visible !important;
	height: auto !important;
}

/* 【2】側邊欄 email 不要斷行到 ".co / m" */
body.kaha-radio .kaha-sidebar-mail,
body.kaha-radio .kaha-sidebar-pitch-widget a[href^="mailto:"] {
	word-break: keep-all !important;
	overflow-wrap: break-word !important;
	white-space: nowrap !important;
	font-size: 14px !important;
	letter-spacing: -0.01em !important;
	display: inline-block;
	max-width: 100%;
}

/* 【5】導覽列 letter-spacing + padding 呼吸感 */
body.kaha-radio .main-header-menu > .menu-item > a,
body.kaha-radio .ast-desktop .main-header-menu > .menu-item > a {
	letter-spacing: 0.05em !important;
	padding-left: 18px !important;
	padding-right: 18px !important;
}

/* 【6】麵包屑最後一個項目 ellipsis */
body.kaha-radio .ast-breadcrumbs span:last-child,
body.kaha-radio .breadcrumb-trail li:last-child,
body.kaha-radio .trail-end {
	max-width: 240px !important;
	display: inline-block !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	vertical-align: bottom !important;
}

/* 【7】側邊欄 widget 字級縮小，減少換行 */
body.kaha-radio #secondary .widget-title,
body.kaha-radio .widget-area .widget-title {
	font-size: 0.9rem !important;
	letter-spacing: 0.08em !important;
}
body.kaha-radio #secondary .widget ul li a,
body.kaha-radio .widget-area .widget ul li a {
	font-size: 0.85rem !important;
	line-height: 1.55 !important;
}
body.kaha-radio #secondary .widget ul li,
body.kaha-radio .widget-area .widget ul li {
	margin-bottom: 0.5em !important;
}

/* 【8】自訂 scrollbar 風格統一 */
body.kaha-radio::-webkit-scrollbar,
body.kaha-radio *::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
body.kaha-radio::-webkit-scrollbar-track,
body.kaha-radio *::-webkit-scrollbar-track {
	background: #1a1a1a;
}
body.kaha-radio::-webkit-scrollbar-thumb,
body.kaha-radio *::-webkit-scrollbar-thumb {
	background: #c9a96e;
	border-radius: 3px;
}
body.kaha-radio::-webkit-scrollbar-thumb:hover,
body.kaha-radio *::-webkit-scrollbar-thumb:hover {
	background: #e0c068;
}
body.kaha-radio {
	scrollbar-width: thin;
	scrollbar-color: #c9a96e #1a1a1a;
}

/* 【3】文章卡片 hover 效果 — 輕微 border glow */
body.kaha-radio .ast-row .ast-article-post,
body.kaha-radio article.post {
	transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}
body.kaha-radio .ast-row .ast-article-post:hover,
body.kaha-radio article.post:hover {
	border-color: rgba(201, 169, 110, 0.35) !important;
	box-shadow: 0 4px 20px rgba(201, 169, 110, 0.08) !important;
}
body.kaha-radio .kaha-list-thumb {
	transition: transform 0.4s ease;
}
body.kaha-radio .kaha-list-thumb-link:hover .kaha-list-thumb {
	transform: scale(1.03);
}

/* ==========================================================================
   PATCH R1-diag4: 分類逗號修正 + Tab pill 樣式 (2026-04-16)
   Specificity 提升至 (0,5,3) 以上，覆蓋 Rule #131 的 .entry-meta *
   ========================================================================== */

/* entry-meta 改 flex（提升 specificity） */
body.kaha-radio.home article.ast-article-post .entry-header .entry-meta,
body.kaha-radio.blog article.ast-article-post .entry-header .entry-meta,
body.kaha-radio.archive article.ast-article-post .entry-header .entry-meta,
body.kaha-radio.category article.ast-article-post .entry-header .entry-meta,
body.kaha-radio.search article.ast-article-post .entry-header .entry-meta {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	flex-direction: column !important;
	gap: 4px !important;
	margin-bottom: 8px !important;
}

/* 隱藏逗號（純文字節點）— specificity (0,6,3) */
body.kaha-radio.home article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container,
body.kaha-radio.blog article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container,
body.kaha-radio.archive article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container,
body.kaha-radio.category article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container,
body.kaha-radio.search article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container {
	font-size: 0 !important;
	display: inline !important;
	letter-spacing: 0 !important;
}

/* 分類連結 pill / tab 樣式 — specificity (0,6,3) 贏過 .entry-meta * 的 (0,5,2) */
body.kaha-radio.home article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container a,
body.kaha-radio.blog article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container a,
body.kaha-radio.archive article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container a,
body.kaha-radio.category article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container a,
body.kaha-radio.search article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container a {
	display: inline-block !important;
	font-size: 12px !important;
	background-color: #2a2a2a !important;
	color: #c9a96e !important;
	padding: 3px 10px !important;
	border-radius: 4px !important;
	margin-right: 4px !important;
	margin-bottom: 6px !important;
	text-decoration: none !important;
	border: 1px solid #c9a96e !important;
	letter-spacing: 0.03em !important;
	text-transform: none !important;
	font-family: 'JetBrains Mono', monospace !important;
	transition: background 0.2s ease, color 0.2s ease !important;
}

body.kaha-radio.home article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container a:hover,
body.kaha-radio.blog article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container a:hover,
body.kaha-radio.archive article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container a:hover,
body.kaha-radio.category article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container a:hover,
body.kaha-radio.search article.ast-article-post .entry-header .entry-meta .ast-taxonomy-container a:hover {
	background-color: #c9a96e !important;
	color: #1c1c1c !important;
}

/* ==========================================================================
   PATCH R1-diag5: 首頁文章標題限一行 + ellipsis (2026-04-16)
   ========================================================================== */
body.kaha-radio.home article.ast-article-post .entry-title,
body.kaha-radio.home article.ast-article-post .entry-title a,
body.kaha-radio.blog article.ast-article-post .entry-title,
body.kaha-radio.blog article.ast-article-post .entry-title a,
body.kaha-radio.archive article.ast-article-post .entry-title,
body.kaha-radio.archive article.ast-article-post .entry-title a,
body.kaha-radio.category article.ast-article-post .entry-title,
body.kaha-radio.category article.ast-article-post .entry-title a,
body.kaha-radio.search article.ast-article-post .entry-title,
body.kaha-radio.search article.ast-article-post .entry-title a {
	display: block !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

/* ==========================================================================
   PATCH R1-diag6: 分頁置中 (2026-04-16)
   ========================================================================== */
body.kaha-radio .ast-pagination {
	display: block !important;
	text-align: center !important;
}

/* ==========================================================================
   PATCH R1-diag7: 文章頁 byline 移除頭像 (2026-04-16)
   ========================================================================== */
body.kaha-radio.single .kaha-byline .kaha-byline-avatar,
body.kaha-radio .kaha-byline-avatar {
	display: none !important;
}
