/*
Theme Name: KUDHAE Municipality
Author: KUDHAE
Description: ธีมเทศบาลตำบลกุดแห่จากดีไซน์ HTML เดิม รองรับข่าวสาร เอกสาร และเมนู WordPress
Version: 1.3.1
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: kudhae
*/
.kudhae-local-notice {padding:8px 16px;text-align:center;background:#fff3cd;color:#664d03;font:13px/1.6 'Sarabun',sans-serif;}
.wp-primary {display:flex;align-items:center;font:400 13px 'Kanit',sans-serif;}
.wp-primary>li {position:relative;}
.wp-primary>li>a {display:flex;align-items:center;min-height:48px;padding:12px;color:#fff;white-space:nowrap;}
.wp-primary>li>a:hover,.wp-primary>li:focus-within>a {background:#ffffff18;color:#fde68a;}
.wp-primary .current-menu-item>a {color:#fcd34d;border-bottom:2px solid #fbbf24;}
.wp-primary .sub-menu {display:none;position:absolute;top:100%;left:0;min-width:320px;max-width:390px;max-height:80vh;overflow-y:auto;background:#fff;color:#0a254f;box-shadow:0 14px 30px rgba(0,0,0,0.16);z-index:60;padding:8px 0;border-radius:0 0 12px 12px;border:1px solid #f1f5f9;}
.wp-primary>li:nth-last-child(-n+3)>.sub-menu {left:auto;right:0;}
.wp-primary li:hover>.sub-menu,.wp-primary li:focus-within>.sub-menu {display:block;}
.wp-primary .sub-menu a {display:flex;align-items:flex-start;gap:12px;padding:9px 18px;color:#334155;font-size:13px;line-height:1.5;font-weight:500;text-decoration:none!important;transition:all 0.15s ease;}
.wp-primary .sub-menu a:hover {background:#f8fafc;color:#0a254f;padding-left:22px;}
.wp-primary .sub-menu a>i {color:#f59e0b!important;font-size:15px;width:18px;text-align:center;flex-shrink:0;margin-top:2px;}
.wp-mobile a {display:block;padding:12px 0;color:#e2e8f0;}
.wp-mobile .sub-menu {padding-left:16px;}
.wp-mobile .current-menu-item>a {color:#fcd34d;}
.kudhae-content {max-width:960px;margin:40px auto 64px;padding:32px;background:#fff;border-radius:16px;}
.kudhae-content-wide {max-width:1280px;margin:32px auto 64px;padding:24px;background:#fff;border-radius:20px;box-shadow:0 4px 20px -2px rgba(10,37,79,0.06);}
.kudhae-content h1 {font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.5;color:#0a254f;margin:16px 0;}
.kudhae-content h2 {font-size:1.4rem;color:#0a254f;margin:24px 0 12px;}
.kudhae-content p,.kudhae-content li {line-height:1.9;margin-bottom:16px;}
.kudhae-content a {color:#144685;text-decoration:underline;text-underline-offset:3px;}
.kudhae-content img {max-width:100%;height:auto;border-radius:12px;}
.kudhae-content ul {list-style:disc;padding-left:24px;}
.kudhae-list>article {padding:24px 0;border-bottom:1px solid #e2e8f0;}
.kudhae-list h2 {margin:0 0 12px;}
.kudhae-meta {font-size:.85rem;color:#64748b;}
::selection {background:#fbbf24;color:#0a254f;}
.wp-primary>li>a {gap:6px;padding-inline:9px;}
.wp-primary a>i {font-size:12px;flex-shrink:0;}
.wp-mobile a {display:flex;align-items:center;gap:10px;}
.wp-mobile a>i {width:20px;text-align:center;color:#fcd34d;}
.surface-heading {border-bottom:1px solid #e2e8f0;margin-bottom:28px;}
.surface-heading>div {min-width:0;}
.surface-heading h1 {overflow-wrap:anywhere;text-wrap:balance;}
.surface-page .notice-breadcrumb {flex-wrap:wrap;gap:8px;line-height:1.7;}
.surface-page .notice-breadcrumb>span {min-width:0;max-width:min(65ch,100%);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.surface-page .entry-content {max-width:75ch;font-size:1rem;color:#334155;line-height:1.9;margin-bottom:32px;overflow-wrap:anywhere;}
.surface-page .entry-content h2 {margin-top:32px;font-size:1.5rem;}
.surface-page .entry-content h3 {margin:24px 0 12px;font-size:1.2rem;font-weight:500;color:#0a254f;}
.surface-page .entry-content a {text-decoration:underline;}
.surface-page .entry-content table {display:block;width:100%;overflow-x:auto;border-collapse:collapse;margin-block:24px;}
.surface-page .entry-content th,.surface-page .entry-content td {padding:12px 16px;border:1px solid #dbe3ee;text-align:left;}
.surface-page .entry-content th {background:#edf3fb;color:#0a254f;}
.surface-page .entry-content blockquote {padding:20px 24px;background:#f1f5f9;border-radius:12px;margin-block:24px;color:#144685;}
.surface-page .entry-content ol {list-style:decimal;padding-left:24px;}
.surface-button {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 18px;border-radius:8px;background:#144685;color:#fff!important;font:500 14px 'Kanit',sans-serif;text-decoration:none!important;}
.surface-button:hover {background:#0a254f;}
.surface-button.secondary {background:#edf3fb;color:#144685!important;}
.surface-button.secondary:hover {background:#e1ecf8;}
.surface-topic-links {display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;}
.surface-topic-links a {display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:8px;background:#edf3fb;font-size:13px;}
.surface-topic-links a:hover {background:#e1ecf8;}
.surface-search {display:flex;gap:10px;margin-bottom:28px;}
.surface-search input {min-width:0;flex:1;padding:12px 16px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0a254f;min-height:48px;}
.surface-search button {display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:8px;background:#144685;color:#fff;}
.surface-list-bar {display:flex;align-items:center;gap:10px;padding:18px 0;border-block:1px solid #e2e8f0;color:#0a254f;font-weight:500;font-family:'Kanit',sans-serif;}
.surface-list-bar>span {margin-left:auto;font:400 13px 'Sarabun',sans-serif;color:#52647b;}
.surface-row-image {display:block;width:72px;height:64px;overflow:hidden;border-radius:8px;}
.surface-row-image img {width:100%;height:100%;object-fit:cover;border-radius:0;}
.surface-content-row:has(.surface-row-image) {grid-template-columns:72px minmax(0,1fr) auto;}
.surface-article-meta {display:flex;flex-wrap:wrap;gap:12px 24px;color:#52647b;font-size:13px;margin-bottom:28px;}
.surface-article-meta>span {display:flex;align-items:center;gap:8px;}
.surface-featured-image {display:block;width:100%;max-height:560px;object-fit:cover;margin-bottom:32px;}
.surface-attachment {display:flex;align-items:center;gap:16px;padding:24px;background:#f8fafc;border-radius:12px;margin-block:32px;}
.surface-attachment>i {font-size:32px;color:#9f1239;flex-shrink:0;}
.surface-attachment>div {flex:1;min-width:0;}
.surface-page .surface-attachment h2 {font-size:1.1rem;font-weight:500;margin:0 0 4px;}
.surface-page .surface-attachment p {font-size:13px;color:#52647b;margin:0;}
.surface-article-bottom {padding-top:24px;border-top:1px solid #e2e8f0;}
.surface-service-status {display:flex;align-items:flex-start;gap:18px;padding:28px;background:#f1f5f9;border-radius:12px;margin-bottom:28px;}
.surface-service-status>i {font-size:28px;color:#144685;margin-top:6px;}
.surface-page .surface-service-status h2 {font-size:1.25rem;margin:0 0 8px;}
.surface-page .surface-service-status p {margin:0;color:#52647b;font-size:15px;}
.surface-service-links {margin-block:24px;}
.surface-service-links>a {display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid #e2e8f0;}
.surface-service-links>a>i:first-child {display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;background:#edf3fb;font-size:21px;flex-shrink:0;}
.surface-service-links>a>span {flex:1;font-family:'Kanit',sans-serif;}
.surface-service-links small {display:block;color:#52647b;font:400 13px/1.7 'Sarabun',sans-serif;margin-top:4px;}
.surface-sitemap ul {list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;}
.surface-sitemap li {margin:0;}
.surface-sitemap a {display:flex;align-items:center;min-height:56px;padding:14px 0;border-bottom:1px solid #e2e8f0;text-decoration:none!important;}
.surface-sitemap a::before {content:'\f15c';font-family:'Font Awesome 6 Free';font-weight:400;margin-right:12px;color:#144685;}
.home #news h2,.home #videos h2 {font-weight:500;}
.home #procurement h3 {line-height:1.6;}
.home #news article h3,.home #news article h4 {line-height:1.65;}
.home #news article a:focus-visible {outline-offset:-3px;}
.home #procurement .kudhae-notice-row {padding-block:18px;}
.home footer h4 {font-weight:500;}
body.high-contrast .surface-page {background:#000!important;color:#fff!important;}
body.high-contrast .surface-page :is(h1,h2,h3,p,time,small,span) {color:inherit!important;}
body.high-contrast .surface-page :is(.surface-service-status,.surface-attachment,.surface-button,.surface-topic-links a,.surface-search button,.notice-document-icon,.notice-heading-icon) {background:#181818;color:#ff0!important;}
body.high-contrast .surface-search input {background:#000;color:#fff;}
@media(max-width:767px){.surface-heading{margin-bottom:24px}.surface-article-meta{font-size:12px;gap:8px 16px}.surface-attachment{flex-wrap:wrap;padding:20px}.surface-attachment>.kudhae-download-pdf{width:100%;justify-content:center}.surface-content-row:has(.surface-row-image){grid-template-columns:48px minmax(0,1fr)}.surface-row-image{width:48px;height:48px}.surface-service-status{padding:20px;gap:14px}.surface-service-status>i{font-size:23px}.surface-page .surface-service-status h2{font-size:1.1rem}.surface-sitemap ul{grid-template-columns:1fr}.surface-search button{padding-inline:14px}.surface-page .entry-content{font-size:.95rem}}
.notice-archive {max-width:1120px;padding:36px 40px;}
.notice-archive a {text-decoration:none;}
.notice-breadcrumb {display:flex;align-items:center;gap:12px;color:#52647b;font-size:13px;margin-bottom:28px;}
.notice-breadcrumb>a {display:inline-flex;align-items:center;gap:8px;min-height:44px;}
.notice-breadcrumb>.fa-chevron-right {font-size:9px;color:#64748b;}
.notice-archive-heading {display:flex;align-items:center;gap:20px;padding-bottom:28px;}
.notice-heading-icon {display:flex;align-items:center;justify-content:center;flex-shrink:0;width:64px;height:64px;background:#edf3fb;border-radius:14px;color:#144685;font-size:26px;}
.notice-archive-heading h1 {margin:0 0 6px;font-weight:600;font-size:clamp(1.65rem,3vw,2.2rem);}
.notice-archive-heading p {margin:0;color:#52647b;font-size:14px;}
.notice-archive-toolbar {display:flex;flex-direction:column;gap:16px;padding:20px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;}
.notice-category-tabs {display:flex;flex-wrap:wrap;gap:8px;}
.notice-category-tabs a {display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border-radius:10px;color:#40536c;font-size:13px;font-weight:500;background:#f1f5f9;transition:all 0.15s ease;}
.notice-category-tabs a[aria-current] {background:#0a254f;color:#fff;box-shadow:0 4px 12px rgba(10,37,79,0.15);}
.notice-category-tabs a:not([aria-current]):hover {background:#e1ecf8;color:#0a254f;}
.notice-count-badge {display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:11px;font-weight:600;background:rgba(0,0,0,0.06);margin-left:4px;}
.notice-category-tabs a[aria-current] .notice-count-badge {background:rgba(255,255,255,0.25);color:#fff;}
.notice-filter-bar {display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;flex-wrap:wrap;background:#f8fafc;padding:12px 16px;border-radius:12px;border:1px solid #e2e8f0;}
.notice-search-box {position:relative;flex:1;min-width:240px;}
.notice-search-box input {width:100%;padding:9px 14px 9px 36px;border-radius:8px;border:1px solid #cbd5e1;font-size:13px;outline:none;background:#fff;transition:border-color 0.2s;}
.notice-search-box input:focus {border-color:#144685;box-shadow:0 0 0 2px rgba(20,70,133,0.12);}
.notice-search-box i {position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:13px;}
.notice-year-select {padding:9px 14px;border-radius:8px;border:1px solid #cbd5e1;font-size:13px;background:#fff;color:#334155;outline:none;cursor:pointer;}
.notice-year-select:focus {border-color:#144685;}
.notice-archive .notice-result-count {margin:0;font-size:12px;color:#52647b;white-space:nowrap;}
.notice-badge {display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:9999px;font-size:11px;font-weight:600;line-height:1.4;margin-bottom:8px;}
.badge-success {background:#dcfce7;color:#166534;border:1px solid #bbf7d0;}
.badge-amber {background:#fef3c7;color:#92400e;border:1px solid #fde68a;}
.badge-purple {background:#f3e8ff;color:#6b21a8;border:1px solid #e9d5ff;}
.badge-blue {background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd;}
.badge-teal {background:#ccfbf1;color:#115e59;border:1px solid #99f6e4;}
.badge-emerald {background:#d1fae5;color:#065f46;border:1px solid #a7f3d0;}
.badge-slate {background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;}
.notice-archive-row {display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:18px;align-items:start;padding:28px 0;border-bottom:1px solid #e2e8f0;}
.notice-archive-row:last-child {border-bottom:0;}
.notice-document-icon {display:flex;align-items:center;justify-content:center;width:44px;height:52px;border-radius:8px;background:#f1f5f9;color:#52647b;font-size:23px;}
.notice-document-icon.has-pdf {background:#fff1f2;color:#9f1239;}
.notice-archive .notice-row-content h2 {font-size:1.05rem;line-height:1.7;margin:0 0 8px;font-weight:500;overflow-wrap:anywhere;}
.notice-row-content h2 a {color:#0a254f;}
.notice-row-content h2 a:hover {color:#1a569b;text-decoration:underline;}
.notice-archive .notice-row-date {display:flex;align-items:baseline;gap:7px;font-size:12px;color:#52647b;margin:0;}
.notice-archive .notice-row-excerpt {font-size:13px;color:#52647b;margin:10px 0 0;max-width:70ch;}
.notice-row-actions {display:flex;flex-direction:column;align-items:flex-end;gap:10px;}
.notice-row-actions .kudhae-download-pdf {color:#9f1239;font-size:12px;}
.notice-row-actions .notice-detail-link {display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;}
.notice-no-file {display:inline-flex;align-items:center;gap:7px;color:#64748b;font-size:12px;min-height:44px;}
.notice-empty-state {padding:48px 16px;text-align:center;color:#52647b;}
.notice-empty-state>i {font-size:38px;color:#144685;}
.notice-archive .notice-empty-state h2 {font-size:1.3rem;margin:20px 0 8px;}
.notice-archive .pagination {margin-top:28px;}
.notice-archive .nav-links {display:flex;flex-wrap:wrap;gap:8px;}
.notice-archive .page-numbers {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 12px;border-radius:8px;background:#edf3fb;}
.notice-archive .page-numbers.current {background:#0a254f;color:#fff;}
@media(max-width:767px){.notice-archive{padding:24px 18px}.notice-archive-heading{gap:14px;align-items:flex-start}.notice-heading-icon{width:48px;height:48px;font-size:21px}.notice-archive-row{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:24px 0}.notice-document-icon{width:36px;height:44px;font-size:20px}.notice-row-actions{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.notice-category-tabs a{padding-inline:12px}.notice-archive-heading p{font-size:13px}.notice-archive .notice-row-content h2{font-size:1rem}}
.kudhae-notice-row {align-items:center;}
.kudhae-download-pdf {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 12px;flex-shrink:0;border:1px solid #fecdd3;border-radius:8px;background:#fff1f2;color:#9f1239;font-weight:600;white-space:nowrap;}
.kudhae-download-pdf:hover {background:#ffe4e6;border-color:#fda4af;}
.kudhae-download-unavailable {flex-shrink:0;padding:10px 0;font-size:12px;color:#64748b;white-space:nowrap;}
@media(max-width:479px){.kudhae-notice-row{flex-wrap:wrap}.kudhae-notice-row>div{flex-basis:100%}.kudhae-download-pdf{margin-left:auto}}
.kudhae-share {margin-top:28px;padding-top:24px;border-top:1px solid #cbd5e1;}
.surface-page .kudhae-share h2 {display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:1.1rem;color:#0a254f;}
.kudhae-share-actions {display:flex;flex-wrap:wrap;gap:8px;}
.kudhae-share-actions :is(a,button) {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#144685;font:500 14px/1.5 'Sarabun',sans-serif;cursor:pointer;text-decoration:none;}
.kudhae-share-actions :is(a,button):hover {background:#edf3fb;border-color:#144685;}
.kudhae-share-actions i {font-size:18px;}
.kudhae-share [hidden] {display:none!important;}
.kudhae-share-status {font-size:14px;color:#144685;margin:12px 0 0;}
.kudhae-share-status:empty {display:none;}
.kudhae-share input {display:block;width:100%;min-height:44px;margin-top:8px;padding:10px;border:1px solid #52647b;border-radius:6px;color:#0a254f;background:#fff;}
.kudhae-share [data-share-fallback] {margin-top:12px;}
body.high-contrast .kudhae-share-actions :is(a,button) {color:#ff0;background:#181818;border-color:#ff0;}
@media(max-width:479px){.kudhae-share-actions :is(a,button){flex:1 1 130px;}}
.kudhae-empty {padding:24px;color:#64748b;background:#f8fafc;border-radius:12px;}
.kudhae-skip {position:absolute;top:-100px;left:16px;z-index:100;padding:12px;background:#fff;color:#0a254f;}
.kudhae-skip:focus {top:8px;}
:focus-visible {outline:3px solid #d97706;outline-offset:3px;}
html {scroll-padding-top:80px;}
body.admin-bar nav.sticky {top:32px;}
@media(max-width:782px){body.admin-bar nav.sticky{top:46px}.kudhae-content{margin:24px 16px;padding:24px 18px}}
@media(max-width:1023px){.wp-primary{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Custom Portal Hero Gradients */
.bg-gov-gradient {background:#0a254f linear-gradient(135deg, #061630 0%, #0a254f 55%, #144685 100%) !important;color:#fff!important;}
.bg-external-strip {background:#091322 linear-gradient(135deg, #091322 0%, #0a254f 50%, #1e1b4b 100%) !important;color:#fff!important;}

/* ==========================================================================
   NEW! Glowing & Blinking Badge / Indicator (ป้ายกำกับไฟล์และประกาศใหม่)
   ========================================================================== */
.kudhae-badge-new {
  display: inline-flex;
  align-items: center;
  gap: 4.5px;
  padding: 2px 7.5px;
  border-radius: 9999px;
  background: linear-gradient(135deg, #ef4444 0%, #f97316 100%);
  color: #ffffff !important;
  font-family: 'Kanit', sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  vertical-align: middle;
  white-space: nowrap;
  user-select: none;
  border: 1px solid rgba(255, 255, 255, 0.45);
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.7), 0 0 16px rgba(249, 115, 22, 0.45);
  animation: kudhae-glow-blink 1.8s ease-in-out infinite;
}

.kudhae-badge-new-sm {
  font-size: 9.5px !important;
  padding: 1.5px 6px !important;
  gap: 3px !important;
}

.kudhae-badge-new-dot {
  width: 5.5px;
  height: 5.5px;
  border-radius: 50%;
  background-color: #ffffff;
  box-shadow: 0 0 6px #ffffff;
  display: inline-block;
  animation: kudhae-dot-pulse 1.2s ease-in-out infinite;
}

.kudhae-badge-new-sm .kudhae-badge-new-dot {
  width: 4px;
  height: 4px;
}

.kudhae-badge-new-text {
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.8), 0 0 10px rgba(239, 68, 68, 0.9);
}

.notice-badge-group {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.notice-badge-group .notice-badge {
  margin-bottom: 0;
}

/* Glowing & Blinking Keyframe Animation */
@keyframes kudhae-glow-blink {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
    box-shadow: 0 0 10px rgba(239, 68, 68, 0.8), 0 0 20px rgba(249, 115, 22, 0.6), inset 0 0 4px rgba(255, 255, 255, 0.5);
    filter: drop-shadow(0 0 4px rgba(239, 68, 68, 0.7));
  }
  50% {
    opacity: 0.65;
    transform: scale(0.96);
    box-shadow: 0 0 3px rgba(239, 68, 68, 0.35), 0 0 6px rgba(249, 115, 22, 0.25);
    filter: drop-shadow(0 0 1px rgba(239, 68, 68, 0.2));
  }
}

@keyframes kudhae-dot-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.4);
    opacity: 0.65;
  }
}

@media(prefers-reduced-motion:reduce) {
  .kudhae-badge-new,
  .kudhae-badge-new-dot {
    animation: none !important;
  }
}

/* Campaign Banner Responsive Aspect Ratio (สัดส่วนภาพคงที่ ไม่ยืด/ไม่บิดเบี้ยว) */
.kudhae-banner-slide {
  position: relative;
  width: 100%;
  flex-shrink: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #0f172a;
}
@media (min-width: 640px) {
  .kudhae-banner-slide {
    aspect-ratio: 1.83 / 1;
  }
}
.kudhae-banner-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}


