/*
Theme Name: Береза и зима
Description: Block theme for a Russian-language news site. Image-optional cards, per-category colours, token-driven dark mode. Design source: docs/winterbirch-page-design.html
Version: 0.1.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: winterbirch
*/

/* ══ 深色 token ══
   只覆寫 theme.json 產生的 preset 變數；元件一律吃 token，不寫死色。
   三態：系統偏好（未蓋章）／明確 dark／明確 light。 */
:root{ --wb-on-cat:#fff; }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --wp--preset--color--paper:#232325; --wp--preset--color--shell:#161617;
    --wp--preset--color--ink:#e9e7e2; --wp--preset--color--ink-2:#b2afa9; --wp--preset--color--ink-3:#83817c;
    --wp--preset--color--rule:#3a3a3c; --wp--preset--color--rule-2:#2d2d2f;
    --wp--preset--color--accent:#e04353; --wp--preset--color--accent-hi:#ff5a64;
    --wp--preset--color--band:#0f0f10; --wp--preset--color--band-ink:#e9e7e2; --wp--preset--color--band-meta:#83817c;
    --wp--preset--color--cat-top:#e04353; --wp--preset--color--cat-politics:#6f9fd0; --wp--preset--color--cat-society:#d29257;
    --wp--preset--color--cat-economics:#4fae9c; --wp--preset--color--cat-environment:#93b45c;
    --wp--preset--color--cat-technology:#948adf; --wp--preset--color--cat-opinion:#b585c6;
    --wb-on-cat:#141518;
  }
}
:root[data-theme="dark"]{
  --wp--preset--color--paper:#232325; --wp--preset--color--shell:#161617;
  --wp--preset--color--ink:#e9e7e2; --wp--preset--color--ink-2:#b2afa9; --wp--preset--color--ink-3:#83817c;
  --wp--preset--color--rule:#3a3a3c; --wp--preset--color--rule-2:#2d2d2f;
  --wp--preset--color--accent:#e04353; --wp--preset--color--accent-hi:#ff5a64;
  --wp--preset--color--band:#0f0f10; --wp--preset--color--band-ink:#e9e7e2; --wp--preset--color--band-meta:#83817c;
  --wp--preset--color--cat-top:#e04353; --wp--preset--color--cat-politics:#6f9fd0; --wp--preset--color--cat-society:#d29257;
  --wp--preset--color--cat-economics:#4fae9c; --wp--preset--color--cat-environment:#93b45c;
  --wp--preset--color--cat-technology:#948adf; --wp--preset--color--cat-opinion:#b585c6;
  --wb-on-cat:#141518;
}

/* ══ 共用 ══ */
:where(a,button):focus-visible{ outline:2px solid var(--wp--preset--color--accent); outline-offset:2px; }
.wp-block-post-template{ list-style:none; margin:0; padding:0; }
.wp-block-post-template > li{ margin:0; }
.wp-block-post-featured-image img{ border-radius:2px; }
.wp-block-post-featured-image{ margin:0; }

/* 分類固定色：post-terms 由 functions.php 加上 wb-cat-{slug} */
.wb-cat-top{ --wb-cat:var(--wp--preset--color--cat-top); }
.wb-cat-politics{ --wb-cat:var(--wp--preset--color--cat-politics); }
.wb-cat-society{ --wb-cat:var(--wp--preset--color--cat-society); }
.wb-cat-economics{ --wb-cat:var(--wp--preset--color--cat-economics); }
.wb-cat-environment{ --wb-cat:var(--wp--preset--color--cat-environment); }
.wb-cat-technology{ --wb-cat:var(--wp--preset--color--cat-technology); }
.wb-cat-opinion{ --wb-cat:var(--wp--preset--color--cat-opinion); }
body.category-top{ --wb-archcat:var(--wp--preset--color--cat-top); }
body.category-politics{ --wb-archcat:var(--wp--preset--color--cat-politics); }
body.category-society{ --wb-archcat:var(--wp--preset--color--cat-society); }
body.category-economics{ --wb-archcat:var(--wp--preset--color--cat-economics); }
body.category-environment{ --wb-archcat:var(--wp--preset--color--cat-environment); }
body.category-technology{ --wb-archcat:var(--wp--preset--color--cat-technology); }
body.category-opinion{ --wb-archcat:var(--wp--preset--color--cat-opinion); }

.wb-kicker{ margin:0; font-family:var(--wp--preset--font-family--sans); font-size:var(--wp--preset--font-size--micro); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--wb-cat, var(--wp--preset--color--ink-3)); }
.wb-kicker a{ color:inherit; }
.wb-kicker a:hover{ color:inherit; text-decoration:underline; }
.wb-kicker:empty{ display:none; }

.wb-meta{ margin:0; gap:0 .5em; font-family:var(--wp--preset--font-family--sans); font-size:var(--wp--preset--font-size--meta); color:var(--wp--preset--color--ink-3); font-variant-numeric:tabular-nums; }
.wb-meta > * + *::before{ content:"·"; margin-right:.5em; }

/* ══ 報頭 ══ */
.wb-masthead{ padding-top:var(--wp--preset--spacing--s3); text-align:center; }
.wb-masthead > *{ margin-block:0; }
.wb-wordmark{ font-family:var(--wp--preset--font-family--serif); font-weight:700; font-size:clamp(40px,7vw,64px); line-height:1.05; letter-spacing:-.01em; }
.wb-motto{ margin-top:10px; font-size:var(--wp--preset--font-size--meta); color:var(--wp--preset--color--ink-3); letter-spacing:.18em; text-transform:uppercase; }
hr.wb-redline{ height:3px; border:0; background:var(--wp--preset--color--accent); opacity:1; max-width:none; margin:var(--wp--preset--spacing--s2) 0 0; }
.wb-navrow{ border-bottom:1px solid var(--wp--preset--color--rule); padding:6px 0; gap:var(--wp--preset--spacing--s1); }
.wb-nav{ font-size:var(--wp--preset--font-size--small); font-weight:600; }
.wb-nav .wp-block-navigation-item__content{ padding:8px 12px; }
.wb-nav .wp-block-navigation-item__content:hover{ color:var(--wp--preset--color--accent); }
.wb-nav .current-menu-item > .wp-block-navigation-item__content{ background:var(--wp--preset--color--accent); color:#fff; }
.wb-tools{ gap:var(--wp--preset--spacing--s1); }
/* 搜尋鈕與深淺色鈕共用同一組外觀：同尺寸、同框線、同圖示粗細，只差圖示 */
.wb-tools .wp-block-search__button, .wb-toggle{ box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; padding:0; margin:0; border:1px solid var(--wp--preset--color--rule); border-radius:3px; background:var(--wp--preset--color--paper); color:var(--wp--preset--color--ink-2); line-height:0; cursor:pointer; }
.wb-tools .wp-block-search__button svg, .wb-toggle svg{ width:22px; height:22px; min-width:0; min-height:0; fill:currentColor; }
.wb-tools .wp-block-search__button:hover, .wb-toggle:hover{ border-color:var(--wp--preset--color--ink-3); color:var(--wp--preset--color--ink); }

/* ══ 版面骨架 ══ */
.wb-main{ padding-bottom:var(--wp--preset--spacing--s5); }
.wb-main > *{ margin-block:0; }

/* ══ 卡片（圖是內容，不是骨架）══
   每張卡從同一條頂線垂下；有圖／無圖共用同一副骨架。 */
.wb-card{ border-top:1px solid var(--wp--preset--color--rule); padding-top:12px; }
.wb-card > *{ margin-block:0; }
.wb-card .wp-block-post-featured-image{ margin-bottom:10px; }
.wb-card-title{ margin:6px 0 8px; font-family:var(--wp--preset--font-family--serif); font-size:var(--wp--preset--font-size--title-s); line-height:1.32; font-weight:700; }
.wb-card .wb-snippet{ margin:0 0 8px; font-size:var(--wp--preset--font-size--small); line-height:1.55; }
.wb-card:has(.wp-block-post-featured-image) .wb-snippet{ display:none; }
/* 無圖卡：標題升一級、導言三行，用字補圖的視覺重量 */
.wb-card:not(:has(.wp-block-post-featured-image)) .wb-card-title{ font-size:var(--wp--preset--font-size--title-m); line-height:1.28; }
.wb-card:not(:has(.wp-block-post-featured-image)) .wb-snippet{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.wb-snippet p{ margin:0; }

.wb-grid4, .wb-grid3{ display:grid; gap:var(--wp--preset--spacing--s3); }
.wb-grid4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.wb-grid3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:900px){ .wb-grid4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:820px){ .wb-grid3{ grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px){
  .wb-grid4{ grid-template-columns:minmax(0,1fr); gap:var(--wp--preset--spacing--s2); }
  .wb-card:has(.wp-block-post-featured-image){ display:grid; grid-template-columns:110px minmax(0,1fr); column-gap:14px; align-items:start; }
  .wb-card:has(.wp-block-post-featured-image) .wp-block-post-featured-image{ grid-row:1 / span 4; margin:0; aspect-ratio:1; }
  .wb-card:has(.wp-block-post-featured-image) .wp-block-post-featured-image img{ aspect-ratio:1; }
  .wb-card .wb-card-title, .wb-card:not(:has(.wp-block-post-featured-image)) .wb-card-title{ font-size:var(--wp--preset--font-size--body); }
  .wb-card:not(:has(.wp-block-post-featured-image)) .wb-snippet{ -webkit-line-clamp:2; }
}

/* 區塊標題 */
.wb-block-head{ margin:var(--wp--preset--spacing--s4) 0 var(--wp--preset--spacing--s3); padding-bottom:8px; border-bottom:2px solid var(--wp--preset--color--ink); font-size:var(--wp--preset--font-size--title-m); }

/* ══ 頭條區 ══ */
.wb-hero.wp-block-columns{ gap:var(--wp--preset--spacing--s4); margin:0; padding:var(--wp--preset--spacing--s4) 0; border-bottom:1px solid var(--wp--preset--color--rule); }
.wb-hero .wp-block-post-featured-image{ margin-bottom:var(--wp--preset--spacing--s2); }
.wb-hero .wb-hero-title{ margin:10px 0 12px; font-size:var(--wp--preset--font-size--hero); line-height:1.14; letter-spacing:-.015em; }
.wb-hero .wb-hero-deck{ margin:0 0 12px; font-family:var(--wp--preset--font-family--serif); font-size:var(--wp--preset--font-size--read); line-height:1.55; }
/* 無圖頭條：粗紅頂線＋放大標題。圖沒了，版面反而更像報紙頭版。 */
.wb-hero-query li:not(:has(.wp-block-post-featured-image)){ border-top:4px solid var(--wp--preset--color--accent); padding-top:var(--wp--preset--spacing--s2); }
.wb-hero-query li:not(:has(.wp-block-post-featured-image)) .wb-hero-title{ font-size:clamp(34px,4.6vw,56px); margin-top:12px; }

/* 速報：永遠不需要圖片；字級固定，重要性由頭條槽表達 */
.wb-breaking-head{ margin:0 0 var(--wp--preset--spacing--s2); padding-bottom:8px; border-bottom:2px solid var(--wp--preset--color--accent-hi); font-family:var(--wp--preset--font-family--sans); font-size:var(--wp--preset--font-size--small); font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--wp--preset--color--accent-hi); }
.wb-breaking li{ display:grid; grid-template-columns:max-content minmax(0,1fr); gap:12px; padding:12px 0; border-bottom:1px solid var(--wp--preset--color--rule-2); }
.wb-breaking li:last-child{ border:0; }
.wb-breaking-time{ margin:0; white-space:nowrap; min-width:3.6em; font-size:var(--wp--preset--font-size--meta); font-weight:700; color:var(--wp--preset--color--accent-hi); font-variant-numeric:tabular-nums; }
.wb-breaking-title{ margin:0; font-size:var(--wp--preset--font-size--body); line-height:1.4; }

/* ══ 必讀深帶 ══ */
.wb-band{ margin-top:var(--wp--preset--spacing--s4); padding:var(--wp--preset--spacing--s4); background:var(--wp--preset--color--band); color:var(--wp--preset--color--band-ink); }
.wb-band a{ color:inherit; }
.wb-band-head{ margin:0 0 var(--wp--preset--spacing--s3); font-family:var(--wp--preset--font-family--sans); font-size:var(--wp--preset--font-size--small); font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--wp--preset--color--band-ink); }
.wb-mr-item{ border-top:1px solid color-mix(in srgb, var(--wp--preset--color--band-ink) 18%, transparent); padding-top:14px; }
.wb-mr-item > *{ margin-block:0; }
.wb-mr-title{ margin:10px 0 8px; font-size:var(--wp--preset--font-size--title-s); line-height:1.35; }
.wb-mr-item .wp-block-post-date{ font-size:var(--wp--preset--font-size--meta); color:var(--wp--preset--color--band-meta); }
.wb-badge{ margin:0; }
.wb-badge a{ display:inline-block; padding:4px 9px; border-radius:2px; background:var(--wb-cat, var(--wp--preset--color--ink-3)); color:var(--wb-on-cat); font-family:var(--wp--preset--font-family--sans); font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
@media (max-width:720px){ .wb-band{ padding:var(--wp--preset--spacing--s3) 20px; } }

/* ══ 簡訊列 ══ */
.wb-briefs .wp-block-post-template{ display:block; }
.wb-brief{ display:grid; grid-template-columns:88px minmax(0,1fr) auto; gap:var(--wp--preset--spacing--s2); align-items:baseline; padding:12px 0; border-bottom:1px solid var(--wp--preset--color--rule-2); }
.wb-brief > *{ margin-block:0; }
.wb-brief-date{ font-size:var(--wp--preset--font-size--meta); color:var(--wp--preset--color--ink-3); font-variant-numeric:tabular-nums; }
.wb-brief-title{ font-size:var(--wp--preset--font-size--body); line-height:1.4; }
@media (max-width:640px){ .wb-brief{ grid-template-columns:minmax(0,1fr); gap:4px; } .wb-brief .wb-kicker{ order:-1; } }

/* ══ 文章頁 ══ */
.wb-article{ padding-top:var(--wp--preset--spacing--s4); padding-bottom:var(--wp--preset--spacing--s4); }
.wb-article > *{ margin-block:0; }
.wb-article .wb-kicker{ display:block; margin-bottom:10px; }
.wb-article-title{ margin:0 0 var(--wp--preset--spacing--s2); font-size:var(--wp--preset--font-size--title-xl); line-height:1.2; letter-spacing:-.012em; }
.wb-article .wb-deck{ margin:0 0 var(--wp--preset--spacing--s3); font-family:var(--wp--preset--font-family--serif); font-size:var(--wp--preset--font-size--read); line-height:1.55; color:var(--wp--preset--color--ink-2); }
.wb-bylinebar{ padding:var(--wp--preset--spacing--s2) 0; margin-bottom:var(--wp--preset--spacing--s3); border-top:1px solid var(--wp--preset--color--rule); border-bottom:1px solid var(--wp--preset--color--rule); gap:var(--wp--preset--spacing--s2); font-size:var(--wp--preset--font-size--meta); color:var(--wp--preset--color--ink-3); }
.wb-bylinebar .wp-block-post-author-name{ font-weight:600; color:var(--wp--preset--color--ink); }
.wb-bylinebar .wb-share{ margin-left:auto; }
.wb-share{ display:flex; gap:8px; flex-wrap:wrap; }
.wb-pill{ display:inline-block; padding:6px 12px; border:1px solid var(--wp--preset--color--rule); border-radius:100px; background:var(--wp--preset--color--paper); color:var(--wp--preset--color--ink-2); font:inherit; font-size:var(--wp--preset--font-size--meta); cursor:pointer; text-decoration:none; }
.wb-pill:hover{ border-color:var(--wp--preset--color--ink-3); color:var(--wp--preset--color--ink-2); }
/* 無圖文章：featured image 沒有就不輸出，也不補預設圖 */
.wb-article-figure{ margin-bottom:var(--wp--preset--spacing--s3); }
.wb-prose{ font-family:var(--wp--preset--font-family--serif); font-size:var(--wp--preset--font-size--read); line-height:1.7; }
.wb-prose p{ margin:0 0 1.2em; }
.wb-prose blockquote{ margin:var(--wp--preset--spacing--s3) 0; padding:6px 0 6px var(--wp--preset--spacing--s3); border-left:3px solid var(--wp--preset--color--accent); color:var(--wp--preset--color--ink-2); }
.wb-prose blockquote p{ margin:0; }
.wb-related-wrap{ margin-top:var(--wp--preset--spacing--s4); padding-top:var(--wp--preset--spacing--s2); border-top:2px solid var(--wp--preset--color--ink); }
.wb-related-head{ margin:0 0 var(--wp--preset--spacing--s2); font-family:var(--wp--preset--font-family--sans); font-size:var(--wp--preset--font-size--small); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.wb-rel-item{ border-top:1px solid var(--wp--preset--color--rule); padding-top:10px; }
.wb-rel-item > *{ margin-block:0; }
.wb-rel-title{ margin:6px 0; font-size:var(--wp--preset--font-size--body); line-height:1.4; }
.wb-pn{ margin-top:var(--wp--preset--spacing--s4); padding-top:var(--wp--preset--spacing--s2); border-top:1px solid var(--wp--preset--color--rule); font-size:var(--wp--preset--font-size--small); gap:var(--wp--preset--spacing--s3); }
.wb-pn > *{ flex:1 1 0; min-width:0; margin:0; font-family:var(--wp--preset--font-family--serif); font-weight:700; line-height:1.4; }
.wb-pn .post-navigation-link-next{ text-align:right; }

/* ══ 彙整頁 ══ */
.wb-archhead{ padding:var(--wp--preset--spacing--s4) 0 var(--wp--preset--spacing--s3); border-bottom:2px solid var(--wp--preset--color--ink); }
.wb-archhead > *{ margin-block:0; }
.wb-archhead .wp-block-query-title{ display:inline-block; margin:0 0 8px; border-bottom:4px solid var(--wb-archcat, var(--wp--preset--color--accent)); font-size:var(--wp--preset--font-size--title-xl); line-height:1.1; }
.wb-archhead .wp-block-term-description{ max-width:44em; font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--ink-2); }
.wb-archhead .wp-block-term-description p{ margin:0; }
.wb-archhead .wp-block-search{ margin-top:var(--wp--preset--spacing--s2); max-width:420px; }
.wb-list > li{ border-bottom:1px solid var(--wp--preset--color--rule-2); }
.wb-row{ display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"body date"; gap:var(--wp--preset--spacing--s3); align-items:baseline; padding:16px 0; }
.wb-row > *{ margin-block:0; }
.wb-row .wp-block-post-featured-image{ grid-area:img; }
.wb-row-body{ grid-area:body; }
.wb-row-body > *{ margin-block:0; }
.wb-row-date{ grid-area:date; font-size:var(--wp--preset--font-size--meta); color:var(--wp--preset--color--ink-3); white-space:nowrap; font-variant-numeric:tabular-nums; }
.wb-row-title{ margin:0 0 6px; font-size:var(--wp--preset--font-size--title-s); line-height:1.4; }
/* 只有領頭稿（最新一篇）可以有圖槽與導言；有圖才用兩欄，無圖就純文字放大 */
.wb-list > li:not(:first-child) .wp-block-post-featured-image,
.wb-list > li:not(:first-child) .wb-snippet{ display:none; }
.wb-list > li:first-child .wb-row-title{ font-size:var(--wp--preset--font-size--title-l); line-height:1.2; margin:0 0 10px; }
.wb-list > li:first-child .wb-snippet{ margin:0 0 10px; font-size:var(--wp--preset--font-size--small); line-height:1.6; }
.wb-list > li:first-child .wb-row:has(.wp-block-post-featured-image){ grid-template-columns:minmax(0,1fr) minmax(0,.9fr); grid-template-areas:"img body" "img date"; align-items:start; column-gap:var(--wp--preset--spacing--s4); padding:var(--wp--preset--spacing--s3) 0; }
.wb-list > li:first-child .wb-row:has(.wp-block-post-featured-image) .wb-row-date{ justify-self:start; }
@media (max-width:720px){
  .wb-list > li:first-child .wb-row:has(.wp-block-post-featured-image){ grid-template-columns:minmax(0,1fr); grid-template-areas:"img" "body" "date"; row-gap:var(--wp--preset--spacing--s2); }
}
@media (max-width:560px){ .wb-row{ grid-template-columns:minmax(0,1fr); grid-template-areas:"body"; } .wb-row-date{ display:none; } .wb-list > li:first-child .wb-row-date{ display:block; } }

.wb-pager{ gap:8px; padding:var(--wp--preset--spacing--s4) 0 var(--wp--preset--spacing--s2); font-size:var(--wp--preset--font-size--small); font-weight:600; }
.wb-pager a, .wb-pager .page-numbers{ min-width:38px; padding:8px 12px; border:1px solid var(--wp--preset--color--rule); border-radius:3px; text-align:center; color:var(--wp--preset--color--ink-2); }
.wb-pager a:hover{ border-color:var(--wp--preset--color--ink-3); }
.wb-pager .page-numbers.current{ background:var(--wp--preset--color--ink); border-color:var(--wp--preset--color--ink); color:var(--wp--preset--color--paper); }
.wb-pager .page-numbers.dots{ border:0; }
.wb-empty{ padding:var(--wp--preset--spacing--s4) 0; color:var(--wp--preset--color--ink-2); }

/* ══ 頁尾 ══ */
.wb-footer{ margin-top:var(--wp--preset--spacing--s4); padding:var(--wp--preset--spacing--s3) 0 var(--wp--preset--spacing--s5); border-top:3px solid var(--wp--preset--color--ink); gap:var(--wp--preset--spacing--s3); font-size:var(--wp--preset--font-size--meta); color:var(--wp--preset--color--ink-3); }
.wb-footer > * { margin-block:0; }
.wb-footer-name{ margin:0; font-family:var(--wp--preset--font-family--serif); font-size:var(--wp--preset--font-size--body); font-weight:700; color:var(--wp--preset--color--ink); }
.wb-footer-motto{ margin:0; }
.wb-footer-nav a{ color:inherit; }
.wb-footer-nav .wp-block-navigation__container{ gap:0; }
.wb-footer-nav .wp-block-navigation-item__content{ padding:6px 12px; }
.wb-footer-nav .wp-block-navigation-item__content:hover{ color:var(--wp--preset--color--accent); }

/* ══ 窄螢幕：報頭導覽 ══ */
@media (max-width:781px){ .wb-hero.wp-block-columns{ gap:var(--wp--preset--spacing--s3); } .wb-hero-title{ font-size:var(--wp--preset--font-size--title-xl); } }

/* ══ 寬螢幕（2K／4K）══
   問題一：header／footer 是直接掛在根層（flow）的 alignwide 群組，根層不是 constrained，
   所以 wide 沒有上限，導覽列會被拉到整個視窗寬（選單靠左、搜尋靠最右）。
   問題二：版面寬度與字級寫死 px，視窗再大內容也只有 680／1180，在 4K 上像一條細帶。
   做法：寬度與字級都跟著一個倍率 --wb-s 走，只在大視窗往上放大；
   ≤1599px 完全不受影響。 */
:root{ --wb-s:1; --wb-wide:1180px; --wb-measure:780px; }
.wb-masthead, .wb-navrow, .wb-footer{ max-width:var(--wb-wide); margin-inline:auto; width:100%; box-sizing:border-box; }
.wb-main.wp-block-group > *, .wb-main.wp-block-group > .alignwide{ max-width:var(--wb-wide); }

@media (min-width:1600px){ :root:root{ --wb-s:1.15; --wb-wide:1360px; --wb-measure:880px; } }
@media (min-width:2200px){ :root:root{ --wb-s:1.4;  --wb-wide:1640px; --wb-measure:1060px; } }
@media (min-width:3000px){ :root:root{ --wb-s:1.8;  --wb-wide:2100px; --wb-measure:1340px; } }

@media (min-width:1600px){
  :root:root{
    --wp--style--global--content-size:var(--wb-measure);
    --wp--style--global--wide-size:var(--wb-wide);
    --wp--preset--font-size--micro:calc(12px * var(--wb-s));
    --wp--preset--font-size--meta:calc(13px * var(--wb-s));
    --wp--preset--font-size--small:calc(15px * var(--wb-s));
    --wp--preset--font-size--body:calc(17px * var(--wb-s));
    --wp--preset--font-size--read:calc(19px * var(--wb-s));
    --wp--preset--font-size--title-s:calc(20px * var(--wb-s));
    --wp--preset--font-size--title-m:calc(25px * var(--wb-s));
    --wp--preset--font-size--title-l:calc(31px * var(--wb-s));
    --wp--preset--font-size--title-xl:calc(39px * var(--wb-s));
    --wp--preset--font-size--hero:calc(49px * var(--wb-s));
  }
  .wb-wordmark{ font-size:calc(64px * var(--wb-s)); }
  .wb-tools .wp-block-search__button, .wb-toggle{ width:calc(36px * var(--wb-s)); height:calc(36px * var(--wb-s)); }
  .wb-tools .wp-block-search__button svg, .wb-toggle svg{ width:calc(22px * var(--wb-s)); height:calc(22px * var(--wb-s)); }
  .wb-nav .wp-block-navigation-item__content{ padding:calc(8px * var(--wb-s)) calc(12px * var(--wb-s)); }
}

/* ══ 內頁欄寬 ══
   文章欄寬跟著 --wb-measure（780px 起，原本 680 與報頭 1180 差太多、中間太瘦）。
   主圖、標題、內文、「繼續閱讀」都用同一個欄寬，左右邊緣切齊（主圖放到版面寬會比文字大一圈，太搶）。 */
.wb-article{ --wp--style--global--content-size:var(--wb-measure); }

/* ══ 手機左右留白 ══ */
@media (max-width:600px){
  :root body{ padding-left:20px; padding-right:20px; }
}

/* 作者與日期之間：用間隔點，不靠 flex gap（gap 在這個結構下沒生效） */
.wb-bylinebar{ column-gap:0; row-gap:8px; }
.wb-bylinebar .wp-block-post-date::before{ content:"·"; margin:0 .6em; color:var(--wp--preset--color--ink-3); }

/* ══ 文末：延伸閱讀＋上下篇 ══
   問題：標題貼著上緣線；三欄裡沒有分類的那則標題會往上跳（kicker 被隱藏）；
   日期跟著標題長度浮動；上下篇的「← Предыдущая」與標題擠成一行。
   做法：三則用固定的三列（分類／標題／日期），沒有分類就留空列，日期一律沉到底。 */
.wb-related-wrap{ margin-top:var(--wp--preset--spacing--s5); padding-top:var(--wp--preset--spacing--s3); }
.wb-related-head{ margin:0 0 var(--wp--preset--spacing--s3); padding:0; background:none; }
.wb-related .wb-grid3{ gap:var(--wp--preset--spacing--s4) var(--wp--preset--spacing--s4); align-items:stretch; }
.wb-related .wb-grid3 > li{ display:flex; }
.wb-rel-item{ flex:1; display:grid; grid-template-rows:1.5em 1fr auto; align-content:start; row-gap:6px; padding-top:12px; }
.wb-rel-item > .wb-kicker{ grid-row:1; }
.wb-rel-item > .wb-rel-title{ grid-row:2; margin:0; }
.wb-rel-item > .wb-meta{ grid-row:3; margin-top:6px; }

.wb-pn{ margin-top:var(--wp--preset--spacing--s5); padding-top:var(--wp--preset--spacing--s3); gap:var(--wp--preset--spacing--s4); align-items:flex-start; }
.wb-pn > *{ flex:1 1 0; }
.wb-pn .post-navigation-link__label{ display:block; margin-bottom:6px; font-family:var(--wp--preset--font-family--sans); font-size:var(--wp--preset--font-size--micro); font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--wp--preset--color--ink-3); }
.wb-pn a{ display:block; font-size:var(--wp--preset--font-size--body); line-height:1.4; }
@media (max-width:600px){ .wb-pn{ flex-direction:column; } .wb-pn .post-navigation-link-next{ text-align:left; } }

/* ══ 搜尋鈕與深淺色鈕對齊 ══
   搜尋表單外層（form／inside-wrapper）比按鈕高，按鈕被留在上方，造成兩顆差一截。
   把外層高度鎖成和按鈕一樣，兩顆再一起置中。 */
:root{ --wb-ctl:36px; }
@media (min-width:1600px){ :root:root{ --wb-ctl:calc(36px * var(--wb-s)); } }
.wb-tools{ align-items:center; }
.wb-tools .wp-block-search, .wb-tools .wp-block-search__inside-wrapper{ margin:0; padding:0; height:var(--wb-ctl); align-items:center; }
.wb-tools .wp-block-search__button, .wb-toggle{ width:var(--wb-ctl); height:var(--wb-ctl); min-height:0; align-self:center; }
.wb-toggle{ margin:0; vertical-align:middle; }

/* ══ 首頁區塊間距 ══
   原因：`.wb-main > *{margin-block:0}`（特異度 0,2,0）把 .wb-band 與 .wb-block-head 的上下邊距整個蓋掉，
   所以深色帶貼著上方內容、「Коротко」又貼著深色帶。這裡用同層級的選擇器把邊距還回去。 */
.wb-main > .wb-band{ margin-top:var(--wp--preset--spacing--s5); padding:var(--wp--preset--spacing--s5) var(--wp--preset--spacing--s4); }
.wb-main > .wb-block-head{ margin-top:var(--wp--preset--spacing--s5); margin-bottom:var(--wp--preset--spacing--s3); }
.wb-main > .wb-band + .wb-block-head{ margin-top:var(--wp--preset--spacing--s5); }
.wb-band-head{ margin:0 0 var(--wp--preset--spacing--s4); padding-bottom:var(--wp--preset--spacing--s2); border-bottom:1px solid color-mix(in srgb, var(--wp--preset--color--band-ink) 18%, transparent); }
@media (max-width:720px){ .wb-main > .wb-band{ padding:var(--wp--preset--spacing--s4) 20px; } }

/* 必讀：三則固定三列（分類／標題／日期），沒有分類那則標題不會往上跳；日期沉到底 */
.wb-band .wb-grid3{ gap:var(--wp--preset--spacing--s4); align-items:stretch; }
.wb-band .wb-grid3 > li{ display:flex; }
.wb-mr-item{ flex:1; display:grid; grid-template-rows:1.8em 1fr auto; align-content:start; row-gap:0; padding-top:16px; }
.wb-mr-item > .wb-badge{ grid-row:1; align-self:start; }
.wb-mr-item > .wb-mr-title{ grid-row:2; margin:10px 0 14px; }
.wb-mr-item > .wp-block-post-date{ grid-row:3; }
