/*
Theme Name: 韓國不動產指南 · PressLearn Child
Description: Taiwan Traditional Chinese presentation for 韓國不動產指南. Requires the original, legitimately activated PressLearn parent theme.
Author: 韓國不動產指南
Version: 1.0.3
Template: presslearn-theme
Requires at least: 6.7
Requires PHP: 8.2
License: GNU General Public License v2 or later
Text Domain: krpropertytw
*/

/* Local fonts only: no font CDN, tracking, or new external requests. */
:root {
  --krptw-font: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Heiti TC", system-ui, sans-serif;
  --krptw-navy: #163b60;
  --krptw-focus: #287dcc;
}
body, button, input, select, textarea { font-family: var(--krptw-font); }
body { word-break: normal; overflow-wrap: break-word; line-break: strict; }
.roal-site-title, .roal-style-b .roal-site-title,
.roal-post-title, .roal-single-title, .roal-style-b .roal-single-title,
.roal-news-hero-title, .roal-news-section-title { letter-spacing: 0; }
.roal-post-excerpt, .roal-news-lead-desc, .roal-news-row-desc,
.roal-nc-title, .roal-news-row-title { word-break: normal; line-height: 1.7; }
.roal-content { line-height: 1.9; }
.roal-content h2, .roal-content h3, .roal-content h4 { line-height: 1.5; }
.roal-content a { text-underline-offset: .2em; }
.roal-brand { min-width: 0; }
.krptw-mark { width: 40px; height: 40px; flex: 0 0 40px; }
.roal-header-tools { flex-shrink: 0; }
.roal-icon-btn, .roal-top-btn, .roal-font-btn { min-width: 44px; min-height: 44px; }
.roal-pill, .roal-footer-menu a, .roal-news-more { min-height: 44px; display: inline-flex; align-items: center; }
.roal-news-more { font-size: 14px; letter-spacing: 0; }
.roal-search-panel input[type="search"], .roal-empty input[type="search"] { min-width: 0; font-family: var(--krptw-font); }
.roal-empty h1 { font-size: 1.3em; margin: 12px 0 6px; }
.roal-nc-title { font-size: 16px; }
.roal-news-time, .roal-post-meta, .roal-single-meta { font-variant-numeric: tabular-nums; }
.roal-news-hero:focus-visible, .roal-news-card:focus-visible,
.roal-news-row:focus-visible, .roal-post:focus-visible,
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 3px solid var(--krptw-focus); outline-offset: 4px;
}
.krptw-welcome { padding: clamp(30px, 7vw, 76px) 0; }
.krptw-eyebrow { color: var(--roal-text-sub); font-size: 13px; letter-spacing: .08em; margin: 0 0 14px; }
.krptw-welcome h2 { font-size: clamp(27px, 4vw, 42px); line-height: 1.5; margin: 0 0 18px; max-width: 24em; }
.krptw-intro { font-size: 17px; line-height: 1.9; max-width: 42em; color: var(--roal-text-sub); }
.krptw-topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 32px 0; }
.krptw-topic { padding: 24px; border: 1px solid var(--roal-border); border-radius: var(--roal-radius); background: var(--roal-bg-soft); }
.krptw-topic h3 { margin: 0 0 10px; font-size: 19px; }
.krptw-topic p { margin: 0; font-size: 15px; line-height: 1.8; color: var(--roal-text-sub); }
.krptw-status { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--roal-text-sub); }
.krptw-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.krptw-footer-note { max-width: 42em; margin: 14px auto 0; font-size: 13px; line-height: 1.8; color: var(--roal-text-sub); }
.roal-footer-menu { list-style: none; padding: 0; margin: 0 0 12px; display: flex; gap: 8px 20px; justify-content: center; flex-wrap: wrap; }
/* Parent late skin variables retain their light-mode accent after a dark toggle.
   These more-specific rules keep the navy backgrounds and brighten text accents. */
html[data-roal-theme="dark"] body {
  --krptw-dark-accent: #a9d5ef;
  --krptw-focus: #8ecbff;
}
html[data-roal-theme="dark"] body.roal-style-b {
  --roal-news-accent: var(--krptw-dark-accent);
}
html[data-roal-theme="dark"] .roal-site-title { color: var(--roal-text, #e8ecf4); }
html[data-roal-theme="dark"] .roal-pill.is-active,
html[data-roal-theme="dark"] .roal-pill-drop a.is-active {
  color: var(--krptw-dark-accent);
  background: #21384f;
  border-color: #366183;
}
html[data-roal-theme="dark"] body.roal-style-b .roal-pill.is-active { background: transparent; }
html[data-roal-theme="dark"] .roal-pill:hover,
html[data-roal-theme="dark"] .roal-pill-drop a:hover,
html[data-roal-theme="dark"] .roal-font-btn:hover,
html[data-roal-theme="dark"] .roal-post:hover .roal-post-title,
html[data-roal-theme="dark"] .roal-content a:not(.wp-element-button) {
  color: var(--krptw-dark-accent);
}
html[data-roal-theme="dark"] .roal-pill-drop a:hover { background: #21384f; }
@media (max-width: 640px) {
  .roal-site-title, .roal-style-b .roal-site-title { font-size: 19px; }
  .krptw-mark { width: 32px; height: 32px; flex-basis: 32px; }
  .roal-header-inner { gap: 8px; }
  .roal-header-tools { gap: 0; }
  .krptw-topics { grid-template-columns: 1fr; gap: 12px; }
  .krptw-topic { padding: 20px; }
  .roal-news-hero-title { font-size: 1.35em; }
  .roal-catbar-inner.has-drop {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 8px;
    border-radius: 18px;
  }
  .roal-catbar-inner.has-drop > .roal-pill,
  .roal-catbar-inner.has-drop > .roal-pill-group,
  .roal-catbar-inner.has-drop > .roal-pill-group > .roal-pill-toggle {
    width: 100%;
    min-width: 0;
    justify-content: center;
    text-align: center;
  }
  .roal-catbar-inner.has-drop > .roal-pill-group:nth-child(even) > .roal-pill-drop {
    left: auto;
    right: 0;
  }
}
@media (max-width: 380px) {
  .roal-site-title, .roal-style-b .roal-site-title { font-size: 17px; }
  .krptw-mark { width: 28px; height: 28px; flex-basis: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
