/* ===== 基本變數 ===== */
:root {
  --blue: #0a66c2;
  --blue-dark: #084f99;
  --title: #001e50;
  --text: #222;
  --muted: #666;
  --line: #e5e5e5;
  --article: 820px;
	--img-landscape: 620px;
  --portrait: 420px;
  --square: 580px;
}

/* ===== 頁首固定 ===== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
}

body.admin-bar .site-header {
  top: 32px;
}

@media (max-width: 782px) {
  body.admin-bar .site-header {
    top: 46px;
  }
}

/* ===== 導覽列 ===== */
.main-navigation a {
  padding: 12px 14px;
  font-weight: 600;
  text-decoration: none;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a {
  border-bottom: 2px solid var(--blue);
}

/* ===== 分類膠囊 ===== */
:is(.cat-links, .entry-categories, .entry-meta .cat-links, .single .entry-header .cat-links) a {
  display: inline-block !important;
  background: var(--blue) !important;
  color: #fff !important;
  padding: 4px 12px !important;
  margin: 0 8px 8px 0 !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

:is(.cat-links, .entry-categories, .entry-meta .cat-links, .single .entry-header .cat-links) a:hover {
  background: var(--blue-dark) !important;
  color: #fff !important;
}

/* 分類分色 */
.cat-links a[href*="/category/tainan-news/"] { background: #0a66c2 !important; }
.cat-links a[href*="/category/chiayi-news/"] { background: #e53935 !important; }
.cat-links a[href*="/category/agri-news/"] { background: #2e7d32 !important; }
.cat-links a[href*="/category/travel-food/"] { background: #8e24aa !important; }
.cat-links a[href*="/category/police-news/"] { background: #fb8c00 !important; }

/* ===== 隱藏留言與前後文章 ===== */
.comments-link,
#comments,
.comments-area,
.comment-respond,
.post-navigation {
  display: none !important;
}

/* ===== 首頁基本整理 ===== */
.home .entry-header > .entry-title {
  display: none !important;
}

.home .entry-content,
.hero-carousel {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ===== 首頁輪播 / 縮圖統一 16:9 ===== */
.home :is(
  .spectra-post-carousel__image-wrap,
  .spectra-post-carousel__image,
  .uagb-post__image,
  .wp-block-post-featured-image,
  .swiper-slide figure
) {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.home :is(
  .spectra-post-carousel__image-wrap,
  .spectra-post-carousel__image,
  .uagb-post__image,
  .wp-block-post-featured-image,
  .swiper-slide figure
) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* 輪播標題 */
.home :is(
  .spectra-post-carousel__caption,
  .spectra-post-carousel__content,
  .spectra-post-carousel__text
) {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0 !important;
  padding: 14px 18px !important;
  background: rgba(0,30,80,.68);
  z-index: 20;
}

.home :is(
  .spectra-post-carousel__caption,
  .spectra-post-carousel__content,
  .spectra-post-carousel__text
) a {
  color: #fff !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 768px) {
  .home :is(
    .spectra-post-carousel__caption,
    .spectra-post-carousel__content,
    .spectra-post-carousel__text
  ) a {
    font-size: 17px;
  }
}

/* ===== 首頁新聞列表 ===== */
.home .wp-block-query .wp-block-post-template {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
}

.home .wp-block-query .wp-block-post {
  display: block;
}

.home .wp-block-query .wp-block-post-featured-image {
  border-radius: 10px;
}

@media (max-width: 768px) {
  .home .wp-block-query .wp-block-post-template {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

/* ===== 分類頁卡片 ===== */
.archive .wp-block-post {
  padding: 12px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(0,0,0,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}

.archive .wp-block-post:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
}

.archive .wp-block-post-featured-image {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px;
}

.archive .wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.archive .wp-block-post-title a {
  color: var(--title);
  text-decoration: none !important;
  font-weight: 800;
  line-height: 1.35;
}

/* ===== 單篇文章版面 ===== */
.single .site-main {
  width: calc(100% - 280px) !important;
  max-width: calc(100% - 280px) !important;
  float: left !important;
  padding-right: 36px !important;
  box-sizing: border-box !important;
}

.single .widget-area {
  width: 240px !important;
  max-width: 240px !important;
  float: right !important;
  padding-left: 24px !important;
  border-left: 1px solid var(--line) !important;
  box-sizing: border-box !important;
}

/* 單篇內容寬度 */
.single :is(.entry-header, .entry-content, .entry-footer) {
  max-width: var(--article) !important;
  width: 100% !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}

.single .entry-title {
  color: var(--title) !important;
  line-height: 1.35 !important;
}

/* 日期 */
.single .entry-meta,
.single .entry-header .posted-on,
.single .entry-header time {
  display: block !important;
  margin: 14px 0 28px 0 !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: var(--muted) !important;
}

/* 文字 */
.single .entry-content :is(p, ul, ol, h2, h3, h4, blockquote) {
  max-width: var(--article) !important;
  margin: 0 0 1.35em 0 !important;
  line-height: 1.9 !important;
  text-align: left !important;
  box-sizing: border-box !important;
}

.single .entry-content :is(p, li) {
  font-size: 18px !important;
  color: var(--text) !important;
}

.single .entry-content h2 {
  font-size: 30px !important;
  line-height: 1.4 !important;
  margin-top: 1.6em !important;
  color: var(--title) !important;
}

.single .entry-content h3 {
  font-size: 24px !important;
  line-height: 1.45 !important;
  margin-top: 1.4em !important;
  color: var(--title) !important;
}

/* ===== 單篇文章圖片：不變形、依比例、置中 ===== */
.single .entry-content :is(figure, .wp-block-image, .wp-caption) {
  width: 100% !important;
  max-width: var(--img-landscape) !important;
  margin: 30px auto !important;
  padding: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
  clear: both !important;
}

.single .entry-content :is(figure, .wp-block-image, .wp-caption) img,
.single .entry-content p > img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  box-sizing: border-box !important;
}

/* JS 判斷後：直圖縮窄 */
.single .entry-content :is(figure, .wp-block-image, .wp-caption).img-portrait {
  max-width: var(--img-portrait) !important;
}

/* JS 判斷後：方圖中等 */
.single .entry-content :is(figure, .wp-block-image, .wp-caption).img-square {
  max-width: var(--img-square) !important;
}

/* JS 判斷後：橫圖較小但仍清楚 */
.single .entry-content :is(figure, .wp-block-image, .wp-caption).img-landscape {
  max-width: var(--img-landscape) !important;
}

/* 圖說 */
.single .entry-content :is(figcaption, .wp-caption-text) {
  width: 100% !important;
  margin: 8px 0 0 0 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--muted) !important;
  text-align: center !important;
}

/* 有 JS 判斷時：直圖縮窄 */
.single .entry-content :is(figure, .wp-block-image, .wp-caption).img-portrait {
  max-width: var(--portrait) !important;
}

.single .entry-content img.img-portrait {
  max-width: var(--portrait) !important;
}

/* 有 JS 判斷時：方圖中等寬 */
.single .entry-content :is(figure, .wp-block-image, .wp-caption).img-square {
  max-width: var(--square) !important;
}

.single .entry-content img.img-square {
  max-width: var(--square) !important;
}

/* 圖說 */
.single .entry-content :is(figcaption, .wp-caption-text) {
  width: 100% !important;
  margin: 8px 0 0 0 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--muted) !important;
  text-align: left !important;
}

/* 底部重複日期隱藏 */
.single .entry-footer :is(.posted-on, .entry-date, time) {
  display: none !important;
}

/* 相關文章 */
.single :is(#jp-relatedposts, .jp-relatedposts, .related-posts) {
  clear: both !important;
  max-width: var(--article) !important;
  margin: 48px 0 0 0 !important;
  padding-top: 28px !important;
  border-top: 1px solid var(--line) !important;
}

/* 清除浮動 */
.single :is(.site-main, .entry-content, .entry-footer)::after {
  content: "";
  display: block;
  clear: both;
}

/* ===== 手機版 ===== */
@media (max-width: 1100px) {
  .single .site-main,
  .single .widget-area {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
  }

  .single .widget-area {
    border-left: 0 !important;
    margin-top: 40px !important;
  }
}

@media (max-width: 768px) {
  .single .entry-content :is(p, li) {
    font-size: 17px !important;
    line-height: 1.85 !important;
  }

  .single .entry-content h2 {
    font-size: 24px !important;
  }

  .single .entry-content h3 {
    font-size: 21px !important;
  }

  .single .entry-content :is(figure, .wp-block-image, .wp-caption),
  .single .entry-content :is(figure, .wp-block-image, .wp-caption).img-portrait,
  .single .entry-content :is(figure, .wp-block-image, .wp-caption).img-square {
    width: 100% !important;
    max-width: 100% !important;
    margin: 22px 0 !important;
  }

  .single .entry-content :is(figure, .wp-block-image, .wp-caption) img,
  .single .entry-content p > img,
  .single .entry-content img.img-portrait,
  .single .entry-content img.img-square {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}