.news-page { font-family: 'Noto Sans Thai', sans-serif; color: #303d36; padding-bottom: 70px; }
.news-page a { color: #345b53; }
.news-page a:focus-visible { outline: 3px solid #b59228; outline-offset: 5px; }
.news-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: #73766b; font-size: 13px; line-height: 1.8; margin-bottom: 30px; }
.news-breadcrumb a { text-decoration: none; }
.news-page .news-eyebrow { color: #8a7128; font-size: 12px; font-weight: 600; letter-spacing: 1.4px; line-height: 1.8; margin: 0 0 12px; }
.news-listing { padding-top: 8px; }
.news-section-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 24px; }
.news-section-heading h2 { font-size: 23px; font-weight: 500; color: #303d36; margin: 0; letter-spacing: 0; }
.news-section-heading > span { color: #72786d; font-size: 13px; white-space: nowrap; }
.news-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.news-card { min-width: 0; display: grid; grid-template-columns: 260px minmax(0, 1fr); overflow: hidden; border: 1px solid #e5e7df; border-radius: 12px; background: #fff; transition: box-shadow .25s, transform .25s; }
.news-card:hover { transform: translateY(-3px); box-shadow: 0 14px 35px rgba(40,60,45,.09); }
.news-card__image { display: block; background: #f4f3ed; overflow: hidden; aspect-ratio: 1; align-self: center; }
.news-card__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.news-card__body { min-width: 0; padding: 24px 30px; display: flex; flex-direction: column; align-items: flex-start; }
.news-page .news-meta { display: flex; flex-wrap: wrap; gap: 5px 16px; color: #6c776d; font-size: 12px; line-height: 1.8; margin: 0 0 14px; }
.news-card h3 { font-size: 21px; font-weight: 600; line-height: 1.6; letter-spacing: 0; margin: 0 0 12px; overflow-wrap: anywhere; }
.news-card h3 a { color: #303d36; text-decoration: none; }
.news-card h3 a:hover { color: #927220; }
.news-page .news-card__excerpt { font-size: 14px; line-height: 1.9; color: #6c746d; margin: 0 0 22px; overflow-wrap: anywhere; }
.news-card .news-readmore { margin-top: auto; padding: 9px 16px; background: #f7f1dd; border-radius: 7px; display: inline-flex; gap: 25px; font-size: 14px; font-weight: 600; text-decoration: none; }
.news-card--featured { border-color: #ddc76f; background: radial-gradient(ellipse at 100% 0, #f4e5ac, transparent 65%), #fdfaf1; box-shadow: inset 4px 0 #e6c658, 0 5px 22px rgba(167,133,39,.08); }
.news-card--featured .news-readmore { background: #e6c658; color: #303d36; }
.news-page .news-latest-badge { margin: 0 0 10px; padding: 4px 12px; color: #564713; background: #f0dc91; border-radius: 5px; font-size: 12px; font-weight: 600; line-height: 1.7; }
.news-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 9px; margin-top: 42px; }
.news-pagination a, .news-pagination__current { display: inline-flex; justify-content: center; min-width: 42px; padding: 10px 13px; border: 1px solid #e1e3d9; border-radius: 8px; text-decoration: none; }
.news-pagination .news-pagination__current { background: #345b53; border-color: #345b53; color: #fff; }
.news-pagination a:hover { background: #faf2d7; }
.news-detail { padding-top: 27px; }
.news-article-header { max-width: 900px; margin: 15px auto 30px; text-align: center; }
.news-article-header h1 { color: #303d36; font-size: 37px; font-weight: 600; line-height: 1.6; letter-spacing: 0; overflow-wrap: anywhere; margin: 0 0 18px; }
.news-article-header .news-meta { justify-content: center; font-size: 14px; }
.news-article-cover { display: flex; justify-content: center; background: #f7f5ee; border: 1px solid #e9e5d9; border-radius: 16px; overflow: hidden; margin: 0 0 42px; }
.news-article-cover img { display: block; max-width: 100%; width: auto; max-height: 590px; height: auto; object-fit: contain; }
.news-article-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(220px, 1fr); gap: 48px; align-items: start; }
.news-prose { font-size: 18px; line-height: 1.95; color: #38423c; overflow-wrap: anywhere; display: flow-root; }
.news-prose p, .news-prose li, .news-prose span { font-family: inherit !important; font-size: inherit !important; line-height: inherit !important; }
.news-prose p { margin: 0 0 1.3em; color: inherit; }
.news-prose h1, .news-prose h2, .news-prose h3, .news-prose h4 { color: #345b53; font-size: 25px; line-height: 1.65; letter-spacing: 0; margin: 1.6em 0 .6em; font-weight: 600; }
.news-prose > :first-child { margin-top: 0; }
.news-prose ul, .news-prose ol { padding-left: 1.5em; margin-bottom: 1.3em; }
.news-prose li { margin-bottom: .65em; }
.news-prose a { text-decoration: underline; text-underline-offset: 3px; }
.news-prose img, .news-prose video, .news-prose iframe { max-width: 100% !important; }
.news-prose img { height: auto !important; }
.news-prose figure { max-width: 100%; margin: 1.5em 0; overflow-x: auto; }
.news-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.news-prose td, .news-prose th { border: 1px solid #dce1d8; padding: 10px; }
.news-prose blockquote { border-left: 4px solid #e6c658; background: #faf6e9; padding: 20px; margin: 1.5em 0; }
.news-aside { position: sticky; top: 165px; border-top: 4px solid #e6c658; background: #faf6e9; border-radius: 12px; padding: 25px; }
.news-aside h2 { color: #345b53; font-size: 22px; font-weight: 600; line-height: 1.6; letter-spacing: 0; margin: 0 0 12px; }
.news-aside p { font-size: 14px; line-height: 1.9; color: #677166; }
.news-aside .news-contact { display: flex; justify-content: space-between; background: #345b53; color: #fff9e7; border-radius: 8px; padding: 12px 17px; text-decoration: none; }
.news-service { display: block; margin-top: 16px; font-size: 13px; }
.news-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 35px 0; padding-top: 25px; border-top: 1px solid #e5e8e0; }
.news-tags__label { width: 100%; font-size: 13px; color: #6d766b; margin-bottom: 6px; }
.news-tag { display: inline-block; background: #f0f4ed; border-radius: 20px; padding: 6px 12px; font-size: 12px; color: #506655; }
.news-back { display: inline-block; padding: 12px 0; font-weight: 500; }
.news-preview-note { border-left: 3px solid #d1b345; padding: 8px 12px; font-size: 12px; background: #faf6e9; }
.news-empty { padding: 45px; text-align: center; }
@media (max-width: 991px) {
  .news-card { grid-template-columns: 220px minmax(0, 1fr); }
  .news-card__body { padding: 22px; }
  .news-article-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .news-aside { position: static; }
}
@media (max-width: 600px) {
  .news-breadcrumb { font-size: 11px; gap: 8px; margin-bottom: 22px; }
  .news-grid { gap: 16px; }
  .news-card { grid-template-columns: 105px minmax(0, 1fr); }
  .news-card__image { align-self: start; margin-top: 15px; }
  .news-card__body { padding: 15px; }
  .news-card h3 { font-size: 17px; line-height: 1.7; margin-bottom: 14px; }
  .news-card .news-meta { font-size: 10px; gap: 2px 8px; margin-bottom: 8px; }
  .news-page .news-card__excerpt { display: none; }
  .news-card .news-readmore { font-size: 12px; padding: 7px 10px; gap: 15px; }
  .news-section-heading h2 { font-size: 20px; }
  .news-article-header { text-align: left; }
  .news-article-header h1 { font-size: 28px; }
  .news-article-header .news-meta { justify-content: flex-start; font-size: 12px; }
  .news-article-cover { margin-bottom: 28px; }
  .news-prose { font-size: 16px; }
  .news-prose h2, .news-prose h3 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) { .news-card { transition: none; } .news-card:hover { transform: none; } }
