/* FontAwesome 6 nạp cục bộ qua <link> trong header_only.tpl (host chặn CDN) */

/* ===== Roboto self-hosted (host chặn Google Fonts nên nhúng cục bộ) ===== */
@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/roboto/roboto-400-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/roboto/roboto-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/roboto/roboto-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/roboto/roboto-500-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/roboto/roboto-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/roboto/roboto-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/roboto/roboto-700-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/roboto/roboto-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/roboto/roboto-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/roboto/roboto-900-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/roboto/roboto-900-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/roboto/roboto-900-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* =========================================================
   PHU BINH THEME - Giao dien Cong TTDT (port tu ban HTML tinh)
   ========================================================= */
:root{
  --green:#1a7a3c;
  --green-dark:#0f5c2a;
  --green-light:#2ea05a;
  --green-bg:#eaf6ee;
  --orange:#f5821f;
  --text:#222;
  --muted:#6b7280;
  --border:#e3e8ec;
  --radius:8px;
}
body{
  font-family:'Roboto',Arial,sans-serif;
  color:var(--text);
  background:#f4f6f8;
  font-size:14px;
  line-height:1.5;
}
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; }
ul{ list-style:none; }
.container{ max-width:1180px; margin:0 auto; padding:0 16px; float:none; width:auto; }
.section{ margin-top:18px; }
/* Block quảng cáo/banner gốc NukeViet (module banners) chèn giữa các section — chưa có margin nên dễ dính sát khối phía trên */
.nv-block-banners{ margin-top:18px; }
.nv-block-banners img{ max-width:100%; height:auto; display:block; margin:0 auto; border-radius:var(--radius); }
/* Vô hiệu clearfix ::before/::after của Bootstrap .container khi container là flex/grid
   (nếu không, 2 pseudo-element bị tính thành ô -> vỡ bố cục) */
.topbar-inner::before, .topbar-inner::after,
.header-inner::before, .header-inner::after,
.footer-grid::before, .footer-grid::after,
.fb-inner::before, .fb-inner::after{ content:none; display:none; }

/* ============ TOPBAR ============ */
.topbar{ background:var(--green-dark); color:#fff; font-size:13px; }
.topbar-inner{ display:flex; align-items:center; justify-content:space-between; height:38px; }
.topbar-left i{ margin-right:6px; opacity:.85; }
.topbar-right{ display:flex; align-items:center; gap:16px; }
.topbar-links{ display:flex; gap:14px; }
.topbar-links a{ opacity:.9; color:#fff; }
.topbar-links a:hover{ opacity:1; text-decoration:underline; }
.topbar-search{ display:flex; }
.topbar-search input{ border:none; padding:5px 10px; border-radius:4px 0 0 4px; width:180px; font-size:13px; outline:none; height:30px; }
.topbar-search button{ border:none; background:var(--orange); color:#fff; padding:0 10px; border-radius:0 4px 4px 0; cursor:pointer; height:30px; }
.btn-login{ background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.4); padding:5px 12px; border-radius:4px; color:#fff; white-space:nowrap; }
.btn-login:hover{ background:rgba(255,255,255,.28); color:#fff; }
/* Khoi dang nhap thanh vien (block users) trong topbar */
.topbar .personalArea a{ color:#fff; }
.topbar .personalArea .dropdown-menu a{ color:var(--text); }

/* ============ HEADER ============ */
.pb-header{
  background:linear-gradient(rgba(20,90,45,.6),rgba(20,90,45,.6)),
    url('https://images.unsplash.com/photo-1467811884385-9c7b14a06a4f?auto=format&fit=crop&w=1600&q=80') center/cover;
}
/* Header dạng ảnh tự thiết kế (Admin > Cấu hình site > Tên file banner của site) — hiện nguyên ảnh, không tô màu/không đè logo+tên site lên */
.pb-header-custom{ background:none; }
.pb-header-banner-link{ display:block; }
.pb-header-banner-img{ display:block; width:100%; height:auto; }
.header-inner{ display:flex; align-items:center; gap:18px; min-height:120px; padding:12px 0; }
.header-inner > a{ flex:0 0 auto; }
#header .logo img.header-logo, .header-logo{ height:128px; width:128px; flex:0 0 128px; max-height:none; object-fit:contain; }
.header-title{ color:#fff; text-shadow:0 1px 4px rgba(0,0,0,.4); font-family:'Montserrat', sans-serif; }
.header-title .ht-sub{ font-size:22px; letter-spacing:2.5px; font-weight:700; margin:0 0 4px; }
.header-title h1, .header-title h2, .header-title .site_name{ text-transform:uppercase; }
.header-title h1{ font-size:32px; font-weight:800; letter-spacing:.25px; line-height:1.15; margin:2px 0; color:#fff; }
.header-title h2{ font-size:26px; font-weight:800; letter-spacing:.25px; line-height:1.15; margin:2px 0; color:#fff; }
.header-title .site_name{ display:block; font-size:32px; font-weight:800; letter-spacing:.25px; line-height:1.15; margin:2px 0; color:#fff; }
.header-title .ht-en{ margin:7px 0 0; color:#ffdf5d; font-size:17px; line-height:1.2; font-weight:700; letter-spacing:1.35px; text-transform:uppercase; text-shadow:0 1px 3px rgba(0,45,20,.8); }

/* ============ MAIN NAV (block menu module) ============ */
.mainnav{ background:var(--green); position:sticky; top:0; z-index:50; box-shadow:0 2px 6px rgba(0,0,0,.15); }
.mainnav .navbar,
#menusite .navbar.navbar-default{ background:transparent !important; background-color:transparent !important; border:none !important; box-shadow:none !important; margin:0; min-height:0; border-radius:0; }
.mainnav .navbar-collapse{ padding:0; }
.mainnav .nav.navbar-nav{ display:flex; flex-wrap:wrap; float:none; margin:0; }
.mainnav .navbar-nav > li > a{ color:#fff; padding:14px 16px; font-weight:700; font-size:13.5px; letter-spacing:.3px; transition:.2s; background:none; }
.mainnav .navbar-nav > li > a:hover,
.mainnav .navbar-nav > li.active > a,
.mainnav .navbar-nav > li.open > a{ background:var(--green-dark); color:#fff; }
.mainnav .navbar-nav > li > a .caret{ border-top-color:#fff; }
.mainnav .navbar-toggle{ border-color:rgba(255,255,255,.5); margin:8px 0; }
.mainnav .navbar-toggle .icon-bar{ background:#fff; }
.mainnav .dropdown-menu{ border-radius:0 0 6px 6px; border-top:2px solid var(--orange); }
.mainnav .dropdown-menu > li > a{ padding:8px 16px; }
/* Ep hover/focus/active/open cua menu chinh sang xanh la (de bootstrap + style.css mac dinh xanh duong) */
#menusite .navbar-default .navbar-nav > li > a:hover,
#menusite .navbar-default .navbar-nav > li > a:focus,
#menusite .navbar-default .navbar-nav > li.active > a,
#menusite .navbar-default .navbar-nav > li.active > a:hover,
#menusite .navbar-default .navbar-nav > li.active > a:focus,
#menusite .navbar-default .navbar-nav > li.open > a,
#menusite .navbar-default .navbar-nav > li.open > a:hover,
#menusite .navbar-default .navbar-nav > li.open > a:focus{ background:var(--green-dark) !important; color:#fff !important; }
#menusite .dropdown-menu{ background:#fff !important; }
#menusite .dropdown-menu > li > a{ color:var(--text) !important; }
#menusite .dropdown-menu > li > a:hover,
#menusite .dropdown-menu > li > a:focus,
#menusite .dropdown-menu > li.active > a{ background:var(--green-bg) !important; color:var(--green) !important; }

/* ============ HERO ============ */
.hero{ background:#dfeee4; padding:16px 0; margin:0 -16px; }
.hero-slider{ position:relative; height:340px; border-radius:var(--radius); overflow:hidden; }
.hero-slide{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity .8s; display:flex; align-items:center; }
.hero-slide.active{ opacity:1; }
.hero-dots{ display:flex; justify-content:center; gap:8px; margin-top:12px; }
.hero-dots span{ width:10px; height:10px; border-radius:50%; background:#9fc6ac; cursor:pointer; }
.hero-dots span.active{ background:var(--green); width:26px; border-radius:6px; }

/* ============ BOX ============ */
.box{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; margin-bottom:0; }
.box-head{ display:flex; align-items:center; justify-content:space-between; padding:11px 14px; border-bottom:2px solid var(--green); }
.box-head h3{ font-size:15px; color:var(--green-dark); font-weight:700; text-transform:uppercase; display:flex; align-items:center; gap:8px; margin:0; }
.box-head h3 i, .box-head h3 em{ color:var(--green); font-style:normal; }
.box-head h3 small{ font-size:11px; color:var(--muted); font-weight:400; text-transform:none; }
.see-all{ font-size:12.5px; color:var(--orange); font-weight:500; }
.see-all:hover{ text-decoration:underline; color:var(--orange); }
.box-body{ padding:14px; }

/* ============ MODULE LICH CONG TAC (danh sach + chi tiet) ============ */
.lct-item{ padding:12px 0; border-bottom:1px dashed var(--border); }
.lct-item:last-child{ border-bottom:0; }
.lct-time{ font-size:12.5px; color:var(--green); font-weight:600; margin-bottom:4px; }
.lct-time i{ margin-right:4px; }
.lct-title{ margin:0 0 4px; font-size:15px; }
.lct-title a{ color:var(--text); font-weight:700; }
.lct-title a:hover{ color:var(--green); }
.lct-loc{ font-size:13px; color:var(--muted); }
.lct-loc i{ margin-right:4px; color:var(--orange); }
.lct-pagination{ margin-top:16px; text-align:center; }
.lct-detail-title{ font-size:22px; font-weight:800; color:var(--green-dark); margin:0 0 10px; }
.lct-detail-meta{ display:flex; gap:20px; flex-wrap:wrap; font-size:13.5px; color:var(--muted); padding-bottom:12px; margin-bottom:14px; border-bottom:1px solid var(--border); }
.lct-detail-meta i{ margin-right:4px; color:var(--green); }
.lct-detail-content{ font-size:15px; line-height:1.7; color:var(--text); }
.lct-attachment{ margin-top:18px; padding:12px 14px; background:var(--green-bg); border-radius:var(--radius); }
.lct-attachment a{ color:var(--green-dark); font-weight:600; }
.lct-attachment i{ margin-right:6px; }
.lct-back{ margin-top:18px; }
.lct-back a{ color:var(--green); font-weight:600; }
.lct-back a:hover{ text-decoration:underline; }

/* Lich cong tac theo TUAN (giong mau danang.gov.vn: nhom theo Thu/Ngay, chia Sang/Chieu) */
.lct-week-nav{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.lct-week-btn{ display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:var(--radius); background:var(--green-bg); color:var(--green-dark); font-weight:600; font-size:13.5px; white-space:nowrap; }
.lct-week-btn:hover{ background:var(--green); color:#fff; }
.lct-week-label{ font-weight:800; color:var(--green-dark); font-size:15px; text-align:center; }
.lct-week-label a{ color:inherit; }
.lct-table-wrap{ overflow-x:auto; }
.lct-table{ width:100%; border-collapse:collapse; min-width:640px; font-size:13.5px; }
.lct-table th{ background:var(--green); color:#fff; padding:9px 10px; text-align:left; font-size:13px; text-transform:uppercase; letter-spacing:.3px; }
.lct-th-buoi{ width:60px; text-align:center; }
.lct-th-time{ width:70px; }
.lct-th-loc{ width:180px; }
.lct-table td{ padding:9px 10px; border-bottom:1px dashed var(--border); vertical-align:top; }
.lct-day-row td{ background:var(--green-bg); color:var(--green-dark); font-weight:800; text-transform:uppercase; letter-spacing:.3px; font-size:13px; border-bottom:2px solid var(--green); padding:8px 10px; }
.lct-session{ text-align:center; font-weight:800; color:var(--green); border-right:1px solid var(--border); vertical-align:middle !important; }
.lct-event-time{ color:var(--muted); font-weight:600; white-space:nowrap; }
.lct-event-title a{ color:var(--text); }
.lct-event-title a:hover{ color:var(--green); }
.lct-event-loc{ color:var(--muted); }
.lct-empty-cell{ padding:24px 10px !important; }
@media(max-width:767.98px){
  .lct-week-nav{ justify-content:center; }
  .lct-week-label{ order:-1; width:100%; margin-bottom:6px; }
}

/* ============ GRIDS ============ */
.grid-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
.grid-3 > .gcol,
.grid-row2 > .gcol{ display:flex; flex-direction:column; gap:16px; min-width:0; }
/* Box giãn đầy chiều cao cột (bỏ khoảng xám thừa ở đáy cột thấp, đều như mẫu) */
.grid-3 > .gcol > .box:last-child,
.grid-row2 > .gcol > .box:last-child{ flex:1 1 auto; }
/* Chế độ quản lý block bọc mỗi vị trí trong div.column - giữ nguyên xếp dọc trong cột */
.grid-3 > .gcol > .column,
.grid-row2 > .gcol > .column{ display:flex; flex-direction:column; gap:16px; }
/* Block banners tự mang margin riêng (custom.css:44, style.css:2267) -> chuẩn hoá về đúng gap 16px của cột */
.grid-3 > .gcol .nv-block-banners,
.grid-row2 > .gcol .nv-block-banners{ margin-top:0; margin-bottom:0; }
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.grid-row2{ display:grid; grid-template-columns:1.1fr 1.1fr .9fr; gap:16px; }

/* Vị trí block dài ngang (PB_NGANG) - ẩn hẳn khi chưa gắn block nào */
.pb-ngang:empty{ display:none; }
.pb-ngang > .box{ margin-bottom:0; }

/* ============ FEATURE NEWS ============ */
.feature-news{ display:block; }
.feature-news img{ width:100%; height:160px; object-fit:cover; border-radius:6px; }
.feature-news h4{ font-size:15px; margin:10px 0 4px; color:var(--text); line-height:1.4; }
.feature-news:hover h4{ color:var(--green); }
.date{ font-size:12px; color:var(--muted); }
/* Reset lề trái dư: ul mặc định có padding-left 40px + margin */
.mini-news, .list-news, .list-notice{ list-style:none; padding-left:0; margin:0; }
.mini-news{ margin-top:12px; border-top:1px dashed var(--border); padding-top:10px; }
.mini-news li{ display:flex; gap:10px; padding:8px 0; border-bottom:1px dashed var(--border); }
.mini-news li:last-child{ border-bottom:none; }
.mini-news img{ width:90px; height:60px; object-fit:cover; border-radius:4px; flex-shrink:0; }
.mini-news a{ font-size:13px; font-weight:500; line-height:1.4; display:block; }
.mini-news a:hover{ color:var(--green); }
.mini-news .date{ display:block; margin-top:4px; }
/* VĂN BẢN MỚI (block_new_law) — box + icon PDF đỏ, giống mẫu */
.doc-list{ list-style:none; margin:0; padding:0; }
.doc-list li{ display:flex; gap:10px; align-items:flex-start; padding:9px 0; border-bottom:1px dashed var(--border); }
.doc-list li:last-child{ border-bottom:none; }
.doc-ic{ color:#e23b3b; font-size:19px; flex:0 0 auto; line-height:1.3; margin-top:1px; }
.doc-info{ min-width:0; }
.doc-info a{ color:var(--text); font-weight:600; font-size:13.5px; line-height:1.45; display:block; }
.doc-info a:hover{ color:var(--green); }
.doc-meta{ display:block; font-size:12px; color:var(--muted); margin-top:4px; }
.doc-code{ color:var(--green-dark); font-weight:600; }

/* ============ HOAT DONG CUA SO ============ */
.act-feature{ display:grid; grid-template-columns:400px 1fr; gap:20px; align-items:center; }
.act-thumb img{ width:100%; height:230px; object-fit:cover; border-radius:var(--radius); }
.act-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:10px; }
.act-tag{ font-size:11.5px; font-weight:600; color:var(--green-dark); background:var(--green-bg); border:1px solid #cfe6d7; padding:3px 12px; border-radius:20px; }
.act-info h4{ font-size:21px; line-height:1.35; color:var(--green-dark); font-weight:700; margin:0; }
.act-feature:hover .act-info h4{ color:var(--green-light); }
.act-excerpt{ font-size:14px; color:var(--muted); line-height:1.6; margin:12px 0 16px; }
.act-more{ display:inline-block; font-size:13px; font-weight:600; color:var(--green-dark); border:1px solid var(--border); padding:8px 18px; border-radius:24px; }
.act-feature:hover .act-more{ background:var(--green); color:#fff; border-color:var(--green); }
.act-list{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:18px; padding-top:16px; border-top:1px dashed var(--border); }
.act-list li{ display:flex; flex-direction:column; gap:8px; }
.act-list img{ width:100%; height:110px; object-fit:cover; border-radius:6px; }
.act-list a{ font-size:13.5px; font-weight:500; line-height:1.45; }
.act-list a:hover{ color:var(--green); }
.act-list .date{ display:block; }

/* ============ LIST NEWS ============ */
.list-news li{ padding:9px 0; border-bottom:1px dashed var(--border); display:flex; justify-content:space-between; gap:10px; }
.list-news li:last-child{ border-bottom:none; }
.list-news a{ font-size:13.5px; position:relative; padding-left:14px; }
.list-news a:before{ content:"\203A"; position:absolute; left:0; color:var(--green); font-weight:700; }
.list-news a:hover{ color:var(--green); }
.list-news .d{ font-size:11.5px; color:var(--muted); white-space:nowrap; }

/* ============ NOTICES / QUICKLINKS ============ */
.list-notice li{ padding:9px 0; border-bottom:1px dashed var(--border); font-size:13.5px; }
.list-notice a{ padding-left:14px; position:relative; }
.list-notice a:before{ content:"\f0a4"; font-family:"Font Awesome 6 Free"; font-weight:900; position:absolute; left:0; color:var(--orange); font-size:11px; }
.list-notice a:hover{ color:var(--green); }
.pb-badge{ background:#e02424; color:#fff; font-size:10px; padding:1px 6px; border-radius:3px; font-weight:700; }
.quicklinks{ margin-top:14px; background:var(--green-bg); border-radius:6px; padding:12px; }
.quicklinks h4{ color:var(--green-dark); font-size:13px; margin:0 0 10px; display:flex; gap:6px; align-items:center; }
.ql-grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ql-grid a{ background:#fff; border:1px solid var(--border); border-radius:5px; padding:8px; font-size:12px; display:flex; align-items:center; gap:7px; font-weight:500; }
.ql-grid a i{ color:var(--green); }
.ql-grid a:hover{ border-color:var(--green); color:var(--green); }

/* ============ DVC / COLOR HELPERS ============ */
.dvc-grid{ display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:10px; }
.dvc{ text-align:center; padding:8px; border:1px solid var(--border); border-radius:6px; transition:.2s; }
.dvc:hover{ border-color:var(--green); box-shadow:0 3px 10px rgba(0,0,0,.08); }
.dvc-ic{ display:inline-flex; width:48px; height:48px; align-items:center; justify-content:center; border-radius:50%; color:#fff; font-size:20px; margin-bottom:8px; }
.dvc p{ font-size:12px; font-weight:500; margin:0; }
.ic-green,.dvc-ic.green,.stat-ic.green,.cat-ic.green{ background:var(--green); }
.ic-blue,.dvc-ic.blue,.stat-ic.blue,.cat-ic.blue{ background:#1c72c4; }
.ic-teal,.dvc-ic.teal,.stat-ic.teal,.cat-ic.teal{ background:#0fa3a3; }
.ic-orange,.dvc-ic.orange,.stat-ic.orange,.cat-ic.orange{ background:var(--orange); }
.cat-ic.cyan{ background:#17a2b8; } .cat-ic.dgreen{ background:#0f5c2a; }
.cat-ic.brown{ background:#9c6b3f; } .cat-ic.purple{ background:#7c4dff; }

/* ============ DOCS ============ */
.list-doc li{ display:flex; gap:10px; padding:10px 0; border-bottom:1px dashed var(--border); }
.list-doc li:last-child{ border-bottom:none; }
.list-doc > li > i{ color:#e02424; font-size:22px; flex-shrink:0; }
.list-doc a{ font-size:13px; font-weight:500; display:block; }
.list-doc a:hover{ color:var(--green); }
.list-doc .meta{ font-size:11.5px; color:var(--muted); }

/* ============ LỊCH CÔNG TÁC (block trang chủ — danh sách đơn giản theo tháng hiện tại) ============ */
.lct-mini-list{ list-style:none; margin:0; padding:0; }
.lct-mini-list li{ display:flex; align-items:flex-start; gap:9px; padding:9px 0; border-bottom:1px dashed var(--border); }
.lct-mini-list li:last-child{ border-bottom:none; }
.lct-mini-list li i.fa-circle-dot{ color:var(--green); font-size:9px; margin-top:6px; flex-shrink:0; }
.lct-mini-list a{ display:block; color:var(--text); font-weight:600; font-size:13.5px; line-height:1.4; }
.lct-mini-list a:hover{ color:var(--green); }
.lct-mini-time{ display:block; color:var(--muted); font-size:12px; margin-top:2px; }
.lct-mini-empty{ justify-content:center; color:var(--muted); font-style:italic; padding:14px 0 !important; border-bottom:none !important; }

/* ============ HOTLINE ============ */
.hotline-box .box-head{ border-color:var(--orange); }
.hotline-box .box-head h3{ color:#c4600a; }
.hotline-box .box-head h3 i, .hotline-box .box-head h3 em{ color:var(--orange); }
.hotline-body{ text-align:center; }
.hotline-ic{ width:64px; height:64px; margin:6px auto 10px; border-radius:50%; background:var(--orange); color:#fff; display:flex; align-items:center; justify-content:center; font-size:28px; }
.hl-sub{ font-size:13px; color:var(--muted); }
.hl-num{ font-size:26px; font-weight:900; color:var(--orange); margin:6px 0 12px; }
.hotline-body a.hl-btn{ display:block; background:var(--green); color:#fff; padding:9px; border-radius:5px; font-weight:600; font-size:13px; text-align:center; text-decoration:none; }
.hotline-body a.hl-btn:hover{ background:var(--green-dark); color:#fff; }

/* ============ GALLERY ============ */
.gallery-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.gallery-grid .gal:nth-child(n+5){ display:none; } /* chỉ hiện 4 ô (2x2) như mẫu */
.gal{ position:relative; border-radius:6px; overflow:hidden; display:block; background:var(--green-dark); }
.gal img{ width:100%; height:132px; object-fit:cover; transition:.3s; display:block; }
.gal:hover img{ transform:scale(1.06); }
.play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; z-index:2; }
.play i{ width:44px; height:44px; background:rgba(0,0,0,.5); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:15px; }
.gal:hover .play i{ background:var(--orange); }
.gal-video .play i{ background:rgba(0,0,0,.6); }
.gal-cap{ position:absolute; left:0; right:0; bottom:0; padding:16px 9px 7px; color:#fff; font-size:12px; font-weight:600; line-height:1.35; background:linear-gradient(transparent, rgba(0,0,0,.78)); z-index:1; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.gal-empty{ color:var(--muted); font-style:italic; padding:24px 6px; text-align:center; grid-column:1/-1; }

/* ============ TIÊU ĐIỂM (news/block_groups + block template "tieudiem") ============ */
/* Dùng chung markup .ncat của block_groups.tpl; chỉ đổi bố cục trong phạm vi .pb-tieudiem
   nên các block_groups khác trên site không bị ảnh hưởng. */
.pb-tieudiem .box-head h3 a{ color:inherit; text-decoration:none; }
.pb-tieudiem .ncat{ display:grid; grid-template-columns:1.35fr 1fr; column-gap:22px; row-gap:0; align-items:start; }
/* Tin đầu tiên = tin lớn, chiếm trọn cột trái */
.pb-tieudiem .ncat .ncat-item:first-child{ grid-column:1; grid-row:1 / span 50; display:block; padding:0; margin:0; border:1px solid var(--border); border-radius:10px; overflow:hidden; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.06); transition:transform .25s, box-shadow .25s; }
.pb-tieudiem .ncat .ncat-item:first-child:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(0,0,0,.15); }
.pb-tieudiem .ncat .ncat-item:first-child .ncat-thumb{ display:block; width:100%; height:300px; border-radius:0; }
.pb-tieudiem .ncat .ncat-item:first-child .ncat-info{ display:block; padding:15px 17px 17px; }
.pb-tieudiem .ncat .ncat-item:first-child .ncat-title{ font-size:20px; font-weight:800; line-height:1.34; }
.pb-tieudiem .ncat .ncat-item:first-child .ncat-ex{ font-size:13.5px; line-height:1.62; -webkit-line-clamp:3; }
/* Các tin còn lại = danh sách bên cột phải */
.pb-tieudiem .ncat .ncat-item:not(:first-child){ grid-column:2; }
@media(max-width:820px){
  .pb-tieudiem .ncat{ grid-template-columns:1fr; }
  .pb-tieudiem .ncat .ncat-item:first-child{ grid-column:1; grid-row:auto; margin-bottom:12px; }
  .pb-tieudiem .ncat .ncat-item:not(:first-child){ grid-column:1; }
  .pb-tieudiem .ncat .ncat-item:first-child .ncat-thumb{ height:210px; }
  .pb-tieudiem .ncat .ncat-item:first-child .ncat-title{ font-size:17px; }
}

/* ============ TIÊU ĐIỂM (pb_tieudiem) — dưới hero ============ */
.pb-tieudiem{ margin-bottom:24px; }
.pb-tieudiem .box-head h3 i{ color:var(--orange); }
.td-grid{ display:grid; grid-template-columns:1.35fr 1fr; gap:22px; }
.td-feature{ display:flex; flex-direction:column; text-decoration:none; border-radius:10px; overflow:hidden; background:#fff; border:1px solid var(--border); box-shadow:0 2px 8px rgba(0,0,0,.06); transition:transform .25s, box-shadow .25s; }
.td-feature:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(0,0,0,.15); }
.td-fimg{ position:relative; display:block; overflow:hidden; }
.td-fimg img{ width:100%; height:300px; object-fit:cover; display:block; transition:transform .35s; }
.td-feature:hover .td-fimg img{ transform:scale(1.05); }
.td-badge{ position:absolute; left:12px; top:12px; background:var(--green); color:#fff; font-size:11.5px; font-weight:700; text-transform:uppercase; padding:4px 13px; border-radius:20px; letter-spacing:.3px; box-shadow:0 2px 6px rgba(0,0,0,.2); }
.td-fbody{ padding:15px 17px 17px; display:block; }
.td-ftitle{ font-size:20px; line-height:1.34; font-weight:800; color:var(--text); margin:0 0 9px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.td-feature:hover .td-ftitle{ color:var(--green); }
.td-fexcerpt{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13.5px; color:var(--muted); line-height:1.62; }
.td-date{ display:block; font-size:12px; color:var(--muted); margin-top:10px; }
.td-date i{ margin-right:4px; color:var(--green); }
.td-ticker{ position:relative; overflow:hidden; align-self:start; max-height:520px; }
.td-ticker::before, .td-ticker::after{ content:''; position:absolute; left:0; right:0; height:22px; z-index:3; pointer-events:none; }
.td-ticker::before{ top:0; background:linear-gradient(#fff, rgba(255,255,255,0)); }
.td-ticker::after{ bottom:0; background:linear-gradient(rgba(255,255,255,0), #fff); }
.td-ticker.td-run .td-list{ animation: td-scroll var(--td-dur,28s) linear infinite; will-change:transform; }
.td-ticker.td-run:hover .td-list{ animation-play-state:paused; }
@keyframes td-scroll{
  0%,7%    { transform:translateY(0); }
  48%,55%  { transform:translateY(calc(-1 * var(--td-dist,0px))); }
  96%,100% { transform:translateY(0); }
}
.td-list{ display:flex; flex-direction:column; }
.td-list li{ border-bottom:1px dashed var(--border); }
.td-list li:last-child{ border-bottom:none; }
.td-item{ display:flex; gap:12px; padding:11px 0; text-decoration:none; align-items:flex-start; }
.td-list li:first-child .td-item{ padding-top:2px; }
.td-ithumb{ flex:0 0 96px; width:96px; height:66px; border-radius:7px; overflow:hidden; background:var(--green-bg); }
.td-ithumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.td-item:hover .td-ithumb img{ transform:scale(1.08); }
.td-itext{ display:block; flex:1; min-width:0; }
.td-ititle{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:13.5px; font-weight:600; line-height:1.42; color:var(--text); }
.td-item:hover .td-ititle{ color:var(--green); }
@media(max-width:820px){
  .td-grid{ grid-template-columns:1fr; gap:16px; }
  .td-fimg img{ height:210px; }
  .td-ftitle{ font-size:17px; }
}

/* ============ KHỐI THEO CHUYÊN MỤC (pb_chuyenmuc) ============ */
.pb-cmuc .cmuc-head{ display:flex; align-items:flex-end; justify-content:space-between; border-bottom:2px solid var(--green); padding:0 4px; margin-bottom:14px; }
.cmuc-tab{ background:var(--green); color:#fff; font-weight:700; font-size:14px; text-transform:uppercase; letter-spacing:.3px; padding:9px 26px 9px 15px; border-radius:6px 6px 0 0; display:inline-flex; align-items:center; gap:8px; clip-path:polygon(0 0, 100% 0, calc(100% - 15px) 100%, 0 100%); }
.cmuc-tab i{ font-size:13px; }
.pb-cmuc .see-all{ padding-bottom:8px; }
.cmuc-feature{ display:flex; gap:14px; text-decoration:none; margin-bottom:12px; padding-bottom:13px; border-bottom:1px dashed var(--border); }
.cmuc-fimg{ flex:0 0 188px; width:188px; height:122px; border-radius:8px; overflow:hidden; background:var(--green-bg); }
.cmuc-fimg img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s; }
.cmuc-feature:hover .cmuc-fimg img{ transform:scale(1.06); }
.cmuc-ftext{ flex:1; display:block; min-width:0; }
.cmuc-ftitle{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:16px; font-weight:700; color:var(--text); line-height:1.35; }
.cmuc-feature:hover .cmuc-ftitle{ color:var(--green); }
.cmuc-fexcerpt{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; color:var(--muted); line-height:1.55; margin-top:6px; }
.cmuc-date{ display:block; font-size:11.5px; color:var(--muted); margin-top:6px; }
.cmuc-date i{ color:var(--green); margin-right:3px; }
.cmuc-list li{ border-bottom:1px dashed var(--border); }
.cmuc-list li:last-child{ border-bottom:none; }
.cmuc-list a{ display:block; padding:8px 0 8px 16px; position:relative; text-decoration:none; }
.cmuc-list a:before{ content:"\203A"; position:absolute; left:0; top:8px; color:var(--green); font-weight:700; }
.cmuc-ititle{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13.5px; font-weight:500; color:var(--text); line-height:1.42; }
.cmuc-list a:hover .cmuc-ititle{ color:var(--green); }
.cmuc-list .cmuc-date{ margin-top:3px; }
@media(max-width:560px){ .cmuc-fimg{ flex-basis:130px; width:130px; height:90px; } .cmuc-ftitle{ font-size:14px; } .cmuc-fexcerpt{ display:none; } }

/* ============ LƯỚI CHUYÊN MỤC (pb_newsgrid) ============ */
.news-main-row{ display:grid; grid-template-columns:1.1fr 1.1fr .9fr; gap:16px; align-items:start; }
.nmr-main{ grid-column:span 2; display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:16px; align-items:start; }
.newsgrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:16px; align-items:start; }
.ng-block{ background:#fff; border:1px solid var(--border); border-radius:10px; overflow:hidden; box-shadow:0 1px 5px rgba(0,0,0,.05); }
.ng-head{ display:flex; align-items:flex-end; justify-content:space-between; border-bottom:2px solid var(--green); padding:0 12px 0 0; }
.ng-tab{ background:var(--green); color:#fff; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:.3px; padding:8px 22px 8px 13px; border-radius:6px 6px 0 0; display:inline-flex; align-items:center; gap:7px; clip-path:polygon(0 0, 100% 0, calc(100% - 13px) 100%, 0 100%); }
.ng-tab i{ font-size:12px; }
.ng-head .see-all{ padding:6px 2px; font-size:12.5px; white-space:nowrap; }
.ng-body{ padding:13px 14px 15px; }
.ng-feature{ display:flex; gap:12px; text-decoration:none; padding-bottom:11px; margin-bottom:8px; border-bottom:1px dashed var(--border); }
.ng-fimg{ flex:0 0 110px; width:110px; height:76px; border-radius:7px; overflow:hidden; background:var(--green-bg); }
.ng-fimg img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s; }
.ng-feature:hover .ng-fimg img{ transform:scale(1.07); }
.ng-ft{ flex:1; min-width:0; display:block; }
.ng-ftitle{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:14.5px; font-weight:700; color:var(--text); line-height:1.35; }
.ng-feature:hover .ng-ftitle{ color:var(--green); }
.ng-fex{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:12.5px; color:var(--muted); line-height:1.5; margin-top:4px; }
.ng-list li{ border-bottom:1px dashed var(--border); }
.ng-list li:last-child{ border-bottom:none; }
.ng-list a{ display:block; position:relative; padding:7px 0 7px 15px; text-decoration:none; }
.ng-list a:before{ content:"\203A"; position:absolute; left:0; top:7px; color:var(--green); font-weight:700; }
.ng-ititle{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; font-weight:500; color:var(--text); line-height:1.4; }
.ng-list a:hover .ng-ititle{ color:var(--green); }
.ng-empty{ color:var(--muted); font-style:italic; font-size:13px; padding:26px 4px; text-align:center; margin:0; }
@media(max-width:991px){ .news-main-row{ grid-template-columns:1fr; } .nmr-main{ grid-column:auto; } }
@media(max-width:560px){ .newsgrid{ grid-template-columns:1fr; } }

/* ============ TIN THEO CHUYÊN MỤC (block_news_cat) ============ */
.news-cat-box .box-head{ padding:0 12px 0 0; align-items:flex-end; }
.news-cat-box .box-head h3{ background:var(--green); color:#fff; padding:8px 24px 8px 14px; margin:0; border-radius:6px 6px 0 0; font-size:14px; letter-spacing:.3px; clip-path:polygon(0 0, 100% 0, calc(100% - 14px) 100%, 0 100%); }
.news-cat-box .box-head h3 i, .news-cat-box .box-head h3 em{ color:#fff; }
.news-cat-box .box-head h3 a{ color:#fff; text-decoration:none; }
.news-cat-box .box-head h3 a:hover{ color:#e7fff0; }
.ncat-item{ text-decoration:none; display:block; }
.ncat .ncat-item:first-child{ display:flex; gap:14px; padding-bottom:13px; margin-bottom:6px; border-bottom:1px dashed var(--border); }
.ncat .ncat-item:first-child .ncat-thumb{ flex:0 0 182px; width:182px; height:118px; border-radius:8px; overflow:hidden; background:var(--green-bg); }
.ncat .ncat-item:first-child .ncat-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s; }
.ncat .ncat-item:first-child:hover .ncat-thumb img{ transform:scale(1.06); }
.ncat .ncat-item:first-child .ncat-info{ flex:1; min-width:0; }
.ncat .ncat-item:first-child .ncat-title{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:16px; font-weight:700; color:var(--text); line-height:1.35; }
.ncat .ncat-item:first-child:hover .ncat-title{ color:var(--green); }
.ncat .ncat-item:first-child .ncat-ex{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; color:var(--muted); line-height:1.55; margin-top:6px; }
.ncat .ncat-item:not(:first-child){ position:relative; padding:9px 0 9px 16px; border-bottom:1px dashed var(--border); }
.ncat .ncat-item:not(:first-child):last-child{ border-bottom:none; }
.ncat .ncat-item:not(:first-child):before{ content:"\203A"; position:absolute; left:0; top:9px; color:var(--green); font-weight:700; }
.ncat .ncat-item:not(:first-child) .ncat-thumb{ display:none; }
.ncat .ncat-item:not(:first-child) .ncat-ex{ display:none; }
.ncat .ncat-item:not(:first-child) .ncat-title{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13.5px; font-weight:500; color:var(--text); line-height:1.42; }
.ncat .ncat-item:not(:first-child):hover .ncat-title{ color:var(--green); }
@media(max-width:560px){ .ncat .ncat-item:first-child .ncat-thumb{ flex-basis:120px; width:120px; height:84px; } .ncat .ncat-item:first-child .ncat-ex{ display:none; } }

/* ============ BANNER TRANG CHỦ (pb_banner) ============ */
.pb-banner-wrap .pb-banner + .pb-banner{ margin-top:14px; }
.pb-banner-wide{ display:flex; flex-direction:column; gap:12px; }
.pb-banner-wide .pbn-item{ display:block; border-radius:10px; overflow:hidden; text-decoration:none; box-shadow:0 2px 10px rgba(0,0,0,.08); }
.pb-banner-wide .pbn-item img{ width:100%; height:auto; display:block; }
.pb-banner-wide .pbn-slogan{ display:flex; align-items:center; justify-content:center; text-align:center; min-height:130px; padding:26px 22px; background:linear-gradient(120deg, var(--green-dark) 0%, var(--green) 55%, var(--green-light) 100%); color:#fff; font-size:23px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; line-height:1.42; text-shadow:0 2px 6px rgba(0,0,0,.28); }
.pb-banner-wide .pbn-item:hover .pbn-slogan{ filter:brightness(1.06); }
.pb-banner-links{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.pb-banner-links .pbn-card{ display:flex; align-items:center; gap:13px; padding:15px 18px; border-radius:10px; text-decoration:none; background:linear-gradient(135deg,#fff8ee,#fbeacf); border:1px solid #f0d9b5; box-shadow:0 2px 6px rgba(0,0,0,.06); transition:transform .25s, box-shadow .25s; }
.pb-banner-links .pbn-card:hover{ transform:translateY(-3px); box-shadow:0 9px 20px rgba(0,0,0,.14); }
.pb-banner-links .pbn-cicon i{ font-size:30px; color:#c0392b; }
.pb-banner-links .pbn-cimg img{ width:46px; height:46px; object-fit:contain; display:block; }
.pb-banner-links .pbn-ctext{ font-weight:700; font-size:14px; color:#8a3b12; line-height:1.35; }
@media(max-width:820px){ .pb-banner-links{ grid-template-columns:1fr; } .pb-banner-wide .pbn-slogan{ font-size:17px; min-height:96px; } }

/* ============ SYSTEMS ============ */
.sys-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sys{ border:1px solid var(--border); border-radius:6px; padding:14px 8px; text-align:center; transition:.2s; display:block; }
.sys i{ font-size:24px; color:var(--green); margin-bottom:8px; }
.sys p{ font-size:12px; font-weight:500; margin:0; }
.sys:hover{ background:var(--green-bg); border-color:var(--green); }

/* ============ CATEGORIES ============ */
.cat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cat{ display:flex; gap:9px; align-items:center; border:1px solid var(--border); border-radius:6px; padding:8px 9px; transition:.2s; }
.cat-ic{ width:34px; height:34px; border-radius:8px; color:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; flex-shrink:0; }
.cat p{ font-size:11.5px; font-weight:500; line-height:1.3; margin:0; }
.cat:hover{ box-shadow:0 3px 10px rgba(0,0,0,.08); }

/* ============ MONITOR ============ */
.monitor-body{ display:flex; flex-direction:column; gap:10px; }
.monitor{ border:1px solid var(--border); border-radius:6px; padding:10px 12px; background:linear-gradient(135deg,#f4faf6,#fff); }
.m-label{ font-size:12.5px; font-weight:600; color:var(--text); }
.m-label i{ color:var(--green); margin-right:4px; }
.m-val{ display:flex; align-items:center; gap:10px; margin:4px 0; }
.aqi-num{ font-size:28px; font-weight:900; color:var(--green); }
.m-status{ font-size:12px; font-weight:700; padding:2px 10px; border-radius:12px; }
.m-status.good{ background:#d8f3e0; color:var(--green-dark); }
.m-status.warn{ background:#ffe9cc; color:#c4600a; }
.m-time{ font-size:11px; color:var(--muted); margin:0; }

/* ============ MAP ============ */
.map-body{ display:flex; flex-direction:column; gap:10px; }
.map-wrap{ display:flex; gap:10px; }
.map-wrap img{ width:130px; height:auto; border-radius:6px; border:1px solid var(--border); object-fit:cover; }
.map-list li{ font-size:11.5px; padding:3px 0; }
.map-list i{ color:var(--orange); font-size:9px; margin-right:5px; }
.map-btn{ display:block; text-align:center; background:var(--green); color:#fff; padding:8px; border-radius:5px; font-weight:600; font-size:12.5px; }
.map-btn:hover{ background:var(--green-dark); color:#fff; }

/* ============ TOPICS ============ */
.topic-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.topic{ border-radius:8px; overflow:hidden; position:relative; display:block; }
.topic img{ width:100%; height:160px; object-fit:cover; transition:.3s; }
.topic:hover img{ transform:scale(1.07); }
.topic-cap{ position:absolute; bottom:0; left:0; right:0; padding:14px 12px 10px; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.8)); }
.topic-cap b{ font-size:14px; }
.topic-cap p{ font-size:11.5px; opacity:.9; margin:0; }
/* ĐƠN VỊ CHỦ RỪNG (pb_chude) — thẻ ảnh nền + tên phủ dưới */
.churu-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(205px,1fr)); gap:14px; }
.churu-card{ position:relative; display:block; height:152px; border-radius:10px; overflow:hidden; background:var(--green-bg) center/cover no-repeat; box-shadow:0 2px 8px rgba(0,0,0,.12); text-decoration:none; transition:transform .3s, box-shadow .3s; }
.churu-card::after{ content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(4,58,20,.92) 0%, rgba(4,58,20,.42) 46%, rgba(4,58,20,0) 80%); transition:background .3s; }
.churu-card .churu-txt{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:12px 13px; color:#fff; font-size:14px; font-weight:700; line-height:1.3; text-shadow:0 1px 3px rgba(0,0,0,.55); }
.churu-card:hover{ transform:translateY(-4px); box-shadow:0 9px 22px rgba(0,0,0,.22); }
.churu-card:hover::after{ background:linear-gradient(to top, rgba(4,58,20,.95) 0%, rgba(4,58,20,.55) 58%, rgba(4,58,20,.12) 100%); }

/* THƯ VIỆN ẢNH — module photos (trang list + chi tiết album) */
[id^="photo-"] .page-header{ border-bottom:2px solid var(--green); padding-bottom:8px; margin-bottom:16px; }
[id^="photo-"] .page-header h1, [id^="photo-"] .page-header h3, [id^="photo-"] .page-header h3 a{ color:var(--green); font-size:20px; font-weight:700; }
.album-album{ margin-bottom:22px; }
.album-album .panel{ border:1px solid var(--border); border-radius:10px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.07); background:#fff; transition:transform .25s, box-shadow .25s; }
.album-album .panel:hover{ transform:translateY(-4px); box-shadow:0 10px 22px rgba(0,0,0,.14); }
.album-album .album-image{ padding:0; }
.album-album .album-image img{ width:100%; height:200px; object-fit:cover; display:block; }
.album-album .catalog_content{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:12px 14px; }
.album-album .catalog_content .album-name{ flex:1 1 100%; margin:0; }
.album-album .catalog_content .clear{ display:none; }
.album-album .album-name h3{ margin:0; font-size:15px; line-height:1.35; }
.album-album .album-name h3 a{ color:var(--text); font-weight:700; }
.album-album .panel:hover .album-name h3 a{ color:var(--green); }
.album-album .album-name h4{ display:none; }
.album-album .catalog_content .btn-primary{ order:1; }
.album-album .catalog_content .text-muted{ order:2; margin-left:auto; font-size:12px; }
.album-album .btn-primary, #album-gallery .btn-primary, #other-album .btn-primary{ background:var(--green); border-color:var(--green); border-radius:6px; font-size:12.5px; padding:5px 12px; box-shadow:none; color:#fff; }
.album-album .btn-primary:hover, #album-gallery .btn-primary:hover, #other-album .btn-primary:hover{ background:#0a4a1e; border-color:#0a4a1e; }
#album-gallery .panel{ border:1px solid var(--border); border-radius:10px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.07); transition:transform .25s, box-shadow .25s; margin-bottom:6px; }
#album-gallery .panel:hover{ transform:translateY(-3px); box-shadow:0 8px 18px rgba(0,0,0,.13); }
#album-gallery .panel-body{ padding:0; }
#album-gallery .panel-body img{ width:100%; height:190px; object-fit:cover; display:block; }
#album-gallery .panel-footer{ display:flex; align-items:center; gap:8px; padding:8px 12px; }
#album-gallery .panel-footer .text-muted{ font-size:12px; }
#album-gallery .panel-footer .btn-primary{ margin-left:auto; }
/* trang xem 1 ảnh — nút chuyển ảnh trước/sau */
[id^="view_image_"]{ position:relative; }
[id^="view_image_"] .arrow_left, [id^="view_image_"] .arrow_right{ position:absolute; top:50%; transform:translateY(-50%); z-index:6; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(0,0,0,.42); color:#fff; font-size:19px; text-decoration:none; transition:background .2s, transform .2s; }
[id^="view_image_"] .arrow_left{ left:12px; }
[id^="view_image_"] .arrow_right{ right:12px; }
[id^="view_image_"] .arrow_left:hover, [id^="view_image_"] .arrow_right:hover{ background:var(--green); color:#fff; transform:translateY(-50%) scale(1.1); }
[id^="view_image_"] .arrow_left i, [id^="view_image_"] .arrow_right i{ line-height:1; }

/* ============ INFOGRAPHIC ============ */
.info-card{ display:block; }
.info-banner{ background:linear-gradient(135deg,var(--green),var(--green-light)); border-radius:8px; padding:24px 16px; color:#fff; text-align:center; position:relative; overflow:hidden; min-height:150px; }
.info-banner h4{ font-size:20px; font-weight:900; margin:0; }
.info-banner p{ font-size:13px; opacity:.95; margin:4px 0 0; }
.info-banner i{ font-size:60px; opacity:.25; margin-top:14px; }
.info-btn{ display:block; text-align:center; margin-top:10px; background:var(--orange); color:#fff; padding:8px; border-radius:5px; font-weight:600; font-size:13px; }
/* Khi block infographic được cấu hình bằng ảnh thay cho nền màu */
.info-banner-img{ background:none; padding:0; min-height:0; }
.info-banner-img img{ width:100%; height:auto; display:block; border-radius:8px; }

/* ============ OPINION / FAQ ============ */
.list-faq{ margin:0; padding:0; list-style:none; }
.news-category-block .list-opinion{ margin:0; padding:0; list-style:none; }
.list-opinion li, .list-faq li{ display:flex; gap:9px; padding:9px 0; border-bottom:1px dashed var(--border); font-size:13px; }
.list-opinion li:last-child, .list-faq li:last-child{ border-bottom:none; }
.list-opinion > li > i{ color:var(--green); font-size:13px; margin-top:3px; }
.list-faq > li > i{ background:var(--green); color:#fff; width:18px; height:18px; border-radius:50%; font-size:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
.list-opinion a:hover, .list-faq a:hover{ color:var(--green); }
.list-opinion .d{ display:block; font-size:11.5px; color:var(--muted); margin-top:3px; }
.ghost-btn{ display:block; text-align:center; margin-top:12px; border:1.5px solid var(--green); color:var(--green); padding:8px; border-radius:5px; font-weight:600; font-size:13px; }
.ghost-btn:hover{ background:var(--green); color:#fff; }

/* ============ FIELD REPORT ============ */
.field-report{ display:block; border-radius:6px; overflow:hidden; }
.field-report img{ width:100%; height:140px; object-fit:cover; }
.fr-cap{ padding:8px 2px 0; }
.fr-cap p{ font-size:12.5px; font-weight:500; margin:0; }
.fr-cap .d{ font-size:11.5px; color:var(--muted); }
.pb-tag{ background:#ffe9cc; color:#c4600a; padding:1px 7px; border-radius:3px; font-style:normal; font-weight:600; font-size:10.5px; }
.fr-dots{ display:flex; justify-content:center; gap:6px; margin-top:8px; }
.fr-dots span{ width:8px; height:8px; border-radius:50%; background:#cdd5da; }
.fr-dots span.active{ background:var(--green); }

/* ============ PARTNERS ============ */
.partners{ display:flex; align-items:center; gap:8px; }
.partner-track{ display:flex; gap:14px; overflow:hidden; flex:1; scroll-behavior:smooth; }
.partner{ flex:0 0 calc((100% - 56px)/5); text-align:center; border:1px solid var(--border); border-radius:8px; padding:14px 8px; transition:.2s; }
.partner img{ width:50px; height:50px; object-fit:contain; margin:0 auto 8px; }
.partner p{ font-size:11.5px; font-weight:500; color:var(--text); margin:0; }
.partner:hover{ border-color:var(--green); box-shadow:0 3px 10px rgba(0,0,0,.08); }
.p-nav{ width:32px; height:32px; border-radius:50%; border:1px solid var(--border); background:#fff; cursor:pointer; font-size:18px; color:var(--green); flex-shrink:0; }
.p-nav:hover{ background:var(--green); color:#fff; }

/* ============ FOOTER ============ */
#footer.pb-footer{ background:#103a1f; color:#cfe0d5; margin-top:24px; padding-top:34px; font-size:13px; border:none; }
.pb-footer{ background:#103a1f; color:#cfe0d5; margin-top:24px; padding-top:34px; font-size:13px; }
#footer.pb-footer a{ color:#cfe0d5; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1.3fr 1fr 1fr; gap:30px; padding-bottom:26px; }
.f-brand{ display:flex; gap:12px; align-items:center; }
.f-brand img{ width:58px; height:58px; flex:0 0 58px; object-fit:contain; }
.f-brand b{ display:block; font-size:12px; color:#fff; margin-bottom:4px; letter-spacing:.3px; }
.f-brand p{ font-size:13px; color:#fff; font-weight:700; line-height:1.45; margin:0; }
.f-desc{ margin:14px 0; opacity:.85; line-height:1.6; }
/* Trước đây khoảng cách xuống hàng icon do .f-desc tạo ra; đã bỏ .f-desc nên phải tự chừa */
.f-social{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.f-social a{ width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; color:#fff; }
.f-social a:hover{ background:var(--green-light); }
.f-col h4{ color:#fff; font-size:14px; margin-bottom:14px; border-left:3px solid var(--green-light); padding-left:9px; }
.f-contact{ padding-left:0 !important; padding:0; margin:0; }
.f-contact li{ display:flex; gap:9px; margin-bottom:10px; line-height:1.5; opacity:.9; }
.f-contact i{ color:var(--green-light); margin-top:3px; }
.f-links{ padding-left:0 !important; padding:0; margin:0; }
.f-links li{ margin-bottom:9px; }
.f-links a{ opacity:.9; position:relative; padding-left:14px; color:#cfe0d5; }
.f-links a:before{ content:"\203A"; position:absolute; left:0; color:var(--green-light); }
.f-links a:hover{ opacity:1; color:#fff; padding-left:18px; transition:.2s; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,.12); padding:14px 0; }
.fb-inner{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:12px; opacity:.75; }
.fb-inner a{ color:#cfe0d5; }

/* ============ TO TOP ============ */
.to-top{ position:fixed; right:20px; bottom:24px; width:42px; height:42px; border-radius:50%; border:none; background:var(--green); color:#fff; font-size:16px; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.25); opacity:0; visibility:hidden; transition:.3s; z-index:60; }
.to-top.show{ opacity:1; visibility:visible; }
.to-top:hover{ background:var(--green-dark); }

/* ============ NUKEVIET CONTENT WRAPPERS ============ */
.section-body{ padding:0; }
.section-body .wraper > section > .container#body{ padding-top:0; }
/* An o tim kiem trung lap tren thanh breadcrumb (da co o topbar) */
.third-nav .headerSearch{ display:none; }
.third-nav .breadcrumbs-wrap{ padding:8px 0; }
/* Trang chu (co hero) khong hien thanh breadcrumb */
#body:has(.hero) .third-nav{ display:none; }
.current-time{ font-size:12px; color:var(--muted); }
/* Trang noi dung module (news, contact...) dat trong khung box trang */
.pb-page{ background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:18px; margin-top:16px; }

/* ============ RESPONSIVE ============ */
@media(max-width:1100px){
  .grid-row2{ grid-template-columns:1fr 1fr; }
  .grid-4{ grid-template-columns:1fr 1fr; }
  .gallery-grid{ grid-template-columns:1fr 1fr; }
  .topic-grid{ grid-template-columns:repeat(3,1fr); }
  .churu-grid{ grid-template-columns:repeat(2,1fr); }
  .partner{ flex:0 0 calc((100% - 42px)/4); }
  .act-feature{ grid-template-columns:320px 1fr; gap:16px; }
  .act-info h4{ font-size:18px; }
  .act-list{ grid-template-columns:repeat(2,1fr); }
}
@media(max-width:820px){
  .grid-3,.grid-2,.grid-4,.grid-row2{ grid-template-columns:1fr; }
  .act-feature{ grid-template-columns:1fr; }
  .act-thumb img{ height:200px; }
  .topbar-links,.topbar-search{ display:none; }
  .header-inner{ min-height:auto; }
  .header-title .ht-sub{ font-size:13px; letter-spacing:2px; margin-bottom:2px; }
  .header-title h1{ font-size:20px; letter-spacing:0; }
  .header-title .site_name{ font-size:20px; letter-spacing:0; }
  .header-title .ht-en{ margin-top:4px; font-size:10px; line-height:1.25; letter-spacing:.55px; }
  #header .logo img.header-logo, .header-logo{ height:88px; width:88px; flex:0 0 88px; }
  .hero{ margin:0; }
  .hero-slider{ height:240px; }
  .topic-grid{ grid-template-columns:1fr 1fr; }
  .gallery-grid{ grid-template-columns:1fr 1fr; }
  .partner{ flex:0 0 calc((100% - 14px)/2); }
  .fb-inner{ flex-direction:column; }
}

/* ============================================================
   TRANG TIN TỨC (module news) — đồng bộ giao diện trang chủ
   custom.css nạp SAU news.css / bootstrap nên override được
   ============================================================ */
/* Bỏ nền xám bootstrap cho vùng nội dung tin tức */
.news_column{ background:transparent; }

/* --- Mỗi chuyên mục = 1 thẻ card trắng bo góc --- */
.news_column .panel,
.news_column .panel.panel-default{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:0 1px 4px rgba(0,0,0,.05);
  margin-bottom:22px;
  overflow:hidden;
}
/* Tiêu đề chuyên mục = kiểu box-head trang chủ (viền dưới xanh) */
.news_column .panel > .panel-heading{
  background:#fff;
  border-bottom:2px solid var(--green);
  border-radius:0;
  padding:11px 14px;
  color:var(--green-dark);
  font-size:15px;
  font-weight:700;
  text-transform:uppercase;
  line-height:1.5;
}
.news_column .panel > .panel-heading a,
.news_column .panel > .panel-heading h2,
.news_column .panel > .panel-heading h2 a,
.news_column .panel > .panel-heading strong{
  color:var(--green-dark);
  font-weight:700;
}
.news_column .panel > .panel-heading h2{ font-size:15px; margin:0; display:inline; }
.news_column .panel > .panel-heading h2 a:hover,
.news_column .panel > .panel-heading a:hover{ color:var(--green); }
.news_column .panel > .panel-heading .fa,
.news_column .panel > .panel-heading i{ color:var(--green); }
/* Nút "Xem tất cả »" */
.news_column .panel > .panel-heading a.dimgray,
.news_column .panel > .panel-heading .pull-right{
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  text-transform:none;
}
.news_column .panel > .panel-heading a.dimgray:hover{ color:var(--green); }
/* Danh sách chuyên mục con */
.news_column .panel > .panel-heading .sub-list-icon{ text-transform:none; font-weight:400; }
.news_column .panel > .panel-heading .sub-list-icon > li > a{ color:var(--muted); font-size:13px; }
.news_column .panel > .panel-heading .sub-list-icon > li > a:hover{ color:var(--green); }
.news_column .panel > .panel-body{ padding:16px; }

/* --- Bài viết nổi bật trong chuyên mục --- */
.news_column .imghome,
.news_column img.img-thumbnail{
  border:none;
  border-radius:6px;
  padding:0;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.news_column h3{ margin:2px 0 6px; line-height:1.45; }
.news_column h3 a{ color:var(--text); font-weight:600; font-size:15.5px; }
.news_column h3 a:hover{ color:var(--green); }
.news_column .icon_new,
.news_column .icon_new_small{ color:var(--green); }
.news_column .text-muted,
.news_column .text-muted a{ color:var(--muted); font-size:12px; }
.news_column .text-muted .fa,
.news_column .text-muted i{ color:var(--green-light); }
.news_column .panel-body p{ color:#444; font-size:13.5px; line-height:1.6; }

/* --- Danh sách bài liên quan / danh sách chuyên mục (cột phải + viewcat) ---
   Dùng prefix div.news_column để thắng đặc thù news.css (div.news_column ul.related li/a) */
div.news_column ul.related{ list-style:none; padding:0; margin:0; }
div.news_column ul.related > li{
  padding:8px 0 8px 18px;
  border-bottom:1px dashed var(--border);
  list-style:none;
  position:relative;
  line-height:1.45;
}
div.news_column ul.related > li:last-child{ border-bottom:none; }
/* Bullet mũi tên xanh đặt trên li, ẩn chevron mặc định của template
   (tránh lặp chevron + tránh a display:block làm badge "new" xuống dòng) */
div.news_column ul.related > li:before{
  content:"\f105";
  font-family:"Font Awesome 6 Free","Font Awesome 5 Free",FontAwesome;
  font-weight:900;
  position:absolute;
  left:2px; top:8px;
  color:var(--green);
  font-size:13px;
}
div.news_column ul.related > li > em.fa-angle-right,
div.news_column ul.related > li > .fa.fa-angle-right{ display:none; }
div.news_column ul.related > li > a{
  color:var(--text);
  font-size:13.5px;
  padding-left:0;
  text-align:left;
}
div.news_column ul.related > li > a:hover{ color:var(--green); }
div.news_column ul.related > li .icon_new,
div.news_column ul.related > li .icon_new_small{ margin-left:5px; }

/* --- Phân trang về xanh phubinh --- */
.news_column .pagination > .active > a,
.news_column .pagination > .active > span,
.news_column .pagination > .active > a:hover,
.news_column .pagination > .active > a:focus{
  background:var(--green);
  border-color:var(--green);
}
.news_column .pagination > li > a{ color:var(--green); }

/* --- SIDEBAR: điều hướng chuyên mục (metismenu) về xanh phubinh --- */
/* Gỡ nền xanh dương gradient mặc định */
.box-body .metismenu .sidebar{ background:#fff; float:none; }
.box-body .metismenu .sidebar-nav{
  background:#fff !important;
  background-image:none !important;
  border-bottom:none;
}
.box-body .metismenu .sidebar-nav ul a{
  color:var(--text) !important;
  border-top:1px solid var(--border);
  box-shadow:none;
  padding:10px 14px;
  font-size:13.5px;
  font-weight:500;
}
.box-body .metismenu .sidebar-nav > ul > li:first-child > a{ border-top:none; }
.box-body .metismenu .sidebar-nav ul a:hover,
.box-body .metismenu .sidebar-nav ul a:focus,
.box-body .metismenu .sidebar-nav ul a:active{
  background-image:none !important;
  background-color:var(--green-bg) !important;
  color:var(--green) !important;
  box-shadow:inset 3px 0 0 var(--green);
}
/* Mục đang mở / đang xem */
.box-body .metismenu .sidebar-nav ul .active > a{
  background-image:none !important;
  background-color:var(--green) !important;
  color:#fff !important;
  box-shadow:inset 3px 0 0 var(--green-dark);
}
/* Chuyên mục con */
.box-body .metismenu .sidebar-nav ul ul a{
  background-color:#f4f8f5 !important;
  background-image:none !important;
  padding-left:30px;
  font-size:13px;
}
.box-body .metismenu .sidebar-nav ul ul a:hover,
.box-body .metismenu .sidebar-nav ul ul a:focus{
  background-color:var(--green-bg) !important;
  color:var(--green) !important;
}
.box-body .metismenu .arrow{ color:var(--green) !important; margin-top:-36px; }

/* --- SIDEBAR: thống kê truy cập --- */
.box-body ul.counter li{ font-size:13px; color:var(--text); padding:4px 0; }
.box-body ul.counter li strong,
.box-body ul.counter li b{ color:var(--green); }

/* ============================================================
   TRANG VĂN BẢN (module laws) — bảng flex xanh, đồng bộ trang chủ
   .flex-table-laws không có sẵn CSS trong theme phubinh nên dựng lại
   theo đúng cấu trúc list.tpl (c-stt/c-code/c-time/c-intro/c-file...)
   ============================================================ */
.flex-table-laws{
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  background:#fff;
  margin-bottom:16px;
}
/* Mỗi hàng = 1 flex-row */
.flex-table-laws .table-rows{
  display:flex;
  flex-wrap:nowrap;
  align-items:flex-start;
  border-bottom:1px solid var(--border);
}
.flex-table-laws .table-rows:last-child{ border-bottom:none; }
.flex-table-laws .table-rows > div{
  padding:10px 12px;
  font-size:13.5px;
  line-height:1.5;
  min-width:0;
}
.flex-table-laws .table-rows:not(.table-head):hover{ background:var(--green-bg); }
/* Hàng tiêu đề = nền xanh phubinh */
.flex-table-laws .table-head{
  background:var(--green);
  border-bottom:none;
}
.flex-table-laws .table-head > div{
  color:#fff;
  font-weight:700;
  text-transform:uppercase;
  font-size:12.5px;
  padding:11px 12px;
}
/* Các cột (khớp flex-basis giữa header và row để thẳng hàng) */
.flex-table-laws .c-stt{ flex:0 0 42px; text-align:center; color:var(--muted); }
.flex-table-laws .table-head .c-stt{ color:#fff; }
.flex-table-laws .c-code{ flex:0 0 112px; }
.flex-table-laws .c-time{ flex:0 0 104px; color:var(--muted); }
.flex-table-laws .c-intro{ flex:1 1 auto; min-width:180px; }
.flex-table-laws .c-file{ flex:0 0 150px; }
.flex-table-laws .c-comment{ flex:0 0 84px; text-align:center; }
/* Nội dung ô */
.flex-table-laws .c-code a{ color:var(--green-dark); font-weight:600; word-break:break-word; }
.flex-table-laws .c-code a:hover{ color:var(--green); }
.flex-table-laws .c-intro a strong{ color:var(--text); font-weight:600; }
.flex-table-laws .c-intro a:hover strong{ color:var(--green); }
.flex-table-laws .l-intro{ color:#555; font-size:12.5px; font-weight:400; margin-top:5px; line-height:1.55; }
/* File đính kèm */
.flex-table-laws .laws-download{ margin:0; padding:0; }
.flex-table-laws .laws-download li{ margin-bottom:3px; }
.flex-table-laws .laws-download a{ color:var(--green); font-size:12.5px; }
.flex-table-laws .laws-download a:hover{ color:var(--green-dark); text-decoration:underline; }
.flex-table-laws .c-file .fa-download{ color:var(--green); margin-right:3px; }
/* Ẩn nhãn mobile trên desktop */
.flex-table-laws .label-name{ display:none; }
/* Nút sửa/xóa (chỉ admin thấy) */
.flex-table-laws .btn-xs{ margin-top:2px; }
/* Phân trang */
.generate_page{ margin:16px 0 8px; text-align:center; }
.generate_page .pagination{ margin:0; }
.generate_page .pagination > .active > a,
.generate_page .pagination > .active > span{ background:var(--green); border-color:var(--green); }
.generate_page .pagination > li > a{ color:var(--green); }
/* Responsive: xổ dọc + hiện nhãn trên mobile */
@media(max-width:820px){
  .flex-table-laws .table-head{ display:none; }
  .flex-table-laws .table-rows{ flex-direction:column; padding:8px 4px; }
  .flex-table-laws .table-rows > div{ flex:1 1 auto !important; padding:3px 12px; }
  .flex-table-laws .c-stt{ display:none; }
  .flex-table-laws .label-name{ display:inline; font-weight:600; color:var(--green-dark); margin-right:5px; }
}

/* ============================================================
   MOBILE FIX — MENU HAMBURGER + FOOTER (sửa giao diện mobile)
   ============================================================ */
/* Footer: xếp cột gọn (hết tràn ngang do lưới 4 cột giữ nguyên trên mobile) */
@media (max-width: 991.98px){
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 575.98px){
  .footer-grid{ grid-template-columns:1fr; }
}

/* Menu mobile: thanh xanh có nhãn, hamburger trắng trong dòng (bỏ nút xanh dương nổi trên hero) */
@media (max-width: 767.98px){
  #menusite{ min-height:50px; }
  #menusite .navbar-default{ min-height:50px !important; background:transparent !important; border:0 !important; }
  #menusite .navbar-header{ margin:0; }

  /* Nút hamburger: trong dòng (bỏ position:absolute + nền #428bca mặc định), phủ full bar → dễ bấm */
  #menusite .navbar-toggle{
    position:static !important; float:none !important; left:auto !important; right:auto !important;
    display:flex !important; align-items:center; gap:12px;
    width:100%; margin:0 !important; padding:0 16px; min-height:50px;
    background:transparent !important; border:0 !important; border-radius:0 !important;
  }
  #menusite .navbar-toggle:hover,
  #menusite .navbar-toggle:focus{ background:rgba(0,0,0,.10) !important; }
  #menusite .navbar-toggle .nv-burger{ display:inline-flex; flex-direction:column; gap:5px; flex:0 0 auto; }
  #menusite .navbar-toggle .icon-bar{ display:block !important; width:26px; height:3px; margin:0 !important; border-radius:2px; background:#fff !important; }
  #menusite .navbar-toggle .nv-menu-label{ color:#fff; font-weight:700; font-size:15px; letter-spacing:.6px; }

  /* Danh sách menu xổ xuống, full-width, nền xanh đậm */
  #menusite .navbar-collapse{
    position:absolute !important; top:100% !important; left:0; right:0; width:100%;
    margin:0; padding:0; border:0;
    background:var(--green-dark); border-top:2px solid var(--orange);
    box-shadow:0 10px 18px rgba(0,0,0,.22);
    max-height:78vh; overflow-y:auto;
  }
  /* Xổ dọc 1 cột (không phải lưới nhiều cột) */
  #menusite .navbar-nav{ margin:0 !important; display:flex !important; flex-direction:column; flex-wrap:nowrap; width:100%; }
  #menusite .navbar-default .navbar-nav > li{ margin:0 !important; float:none; width:100%; }
  #menusite .navbar-default .navbar-nav > li > a{
    position:relative;
    background:transparent !important; color:#fff !important;
    padding:13px 44px 13px 18px !important; font-size:15px; font-weight:600;
    white-space:normal; text-overflow:clip; overflow:visible;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  #menusite .navbar-default .navbar-nav > li:last-child > a{ border-bottom:0; }
  #menusite .navbar-default .navbar-nav > li > a:hover,
  #menusite .navbar-default .navbar-nav > li > a:focus,
  #menusite .navbar-default .navbar-nav > li.active > a{
    background:rgba(255,255,255,.14) !important; color:#fff !important;
  }
  #menusite .navbar-nav > li > a .fa-home{ margin-right:8px; }
  #menusite .navbar-nav > li > a .visible-xs-inline-block{ display:inline !important; }

  /* Menu con: xổ accordion ngay dưới mục cha (không phải popup nổi), mở/đóng bằng caret */
  #menusite .navbar-nav .caret{ transition:transform .2s; }
  #menusite li.open > a > .caret{ transform:rotate(180deg) !important; }
  #menusite .dropdown-menu{
    position:static !important; float:none !important; display:none;
    width:100%; margin:0 !important; padding:0; border:0; border-radius:0 !important;
    background:rgba(0,0,0,.15) !important; box-shadow:none !important;
  }
  #menusite li.open > .dropdown-menu{ display:block !important; }
  #menusite .dropdown-menu > li > a{
    display:block; position:relative; color:#fff !important; background:transparent !important;
    padding:11px 44px 11px 34px !important; font-size:14px; font-weight:500;
    border-bottom:1px solid rgba(255,255,255,.08) !important; border-top:0 !important;
    white-space:normal;
  }
  #menusite .dropdown-menu .dropdown-menu > li > a{ padding-left:50px !important; }
  #menusite .dropdown-menu > li:last-child > a{ border-bottom:0 !important; }
  #menusite .dropdown-menu > li > a:hover,
  #menusite .dropdown-menu > li > a:focus{ background:rgba(255,255,255,.10) !important; }

  /* Mũi tên cho mục con cấp 2+ có con bên trong (template gốc không tự vẽ caret ở cấp này) */
  #menusite .dropdown-submenu:has(> ul) > a{ padding-right:40px !important; }
  #menusite .dropdown-submenu:has(> ul) > a:after{
    font-family:"Font Awesome 6 Free"; font-weight:900; content:"\f078";
    position:absolute; right:16px; top:50%; transform:translateY(-50%);
    font-size:11px; color:#fff; transition:transform .2s;
  }
  #menusite li.open > a:after{ transform:translateY(-50%) rotate(180deg); }
}
