/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

/* ════════════════════════════════════════════════════════
   NOVAGEN — TRANG TIN TỨC (archive / home)
   Pixel-perfect theo Figma. Prefix nv- tránh xung đột Flatsome.
   ════════════════════════════════════════════════════════ */
:root {
  --nv-max:    1440px;
  --nv-pad:    80px;
  --nv-orange: #eb8d19;
  --nv-navy:   #0f328b;
}

table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e5e7eb;
    overflow: hidden;
}

table td,
table th {
    padding: 12px 16px;
    border: 1px solid #e5e7eb;
    text-align: center;
}
table tr:first-child p { color: #fff !important;
    font-weight: 600;}
table tr:first-child {
    background: #0F328B;
    color: #fff !important;
    font-weight: 600;
}
table tr:first-child td {color:#fff !important;}
table tr:nth-child(even) {
    background: #f8fafc;
}

table {
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
.slider_hero {padding-top:0 !important;}
.nv-article-content .col-12.content {width:100%;}
.header-main {height: auto !important;}
.header-logo-heading {
    margin: 0;
    display: inline-block;
    line-height: 0;
}
.kksr-legend {color: #F38627;}
.ux-search-submit.submit-button.secondary {
background-color:#EB8D19;
}
.slider_hero {padding-top:0 !important;}
.nv-review-stars .kk-star-ratings .kksr-stars .kksr-star .kksr-icon,.nv-review-stars .kk-star-ratings:not(.kksr-disabled) .kksr-stars .kksr-star:hover ~ .kksr-star .kksr-icon {
    background-image: url("https://novagen.vn/wp-content/uploads/2026/07/no_active.svg");
	    width: 24px !important;
    height: 23px !important;
}

.nv-review-stars .kk-star-ratings .kksr-stars .kksr-stars-active .kksr-star .kksr-icon {
    background-image: url("https://novagen.vn/wp-content/uploads/2026/07/active.svg");
	    width: 24px !important;
    height: 23px !important;
}

.nv-review-stars .kk-star-ratings.kksr-disabled .kksr-stars .kksr-stars-active .kksr-star .kksr-icon,.nv-review-stars .kk-star-ratings:not(.kksr-disabled) .kksr-stars:hover .kksr-star .kksr-icon {
    background-image: url("https://novagen.vn/wp-content/uploads/2026/07/active.svg");
	    width: 24px !important;
    height: 23px !important;
}

/* Đặt Inter cho toàn bộ section tin tức */
.nv-news-hero,
.nv-news-section {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  color: #1f1f1f;
  box-sizing: border-box;
}
.nv-news-hero *,
.nv-news-section * {
  box-sizing: border-box;
}
.nv-news-section img { display: block; max-width: 100%; }
.nv-news-section a   { text-decoration: none; }

/* ── Hero ──────────────────────────────────────────────── */
.nv-news-hero {
  height: 350px;
  background: #0e4583 bottom / cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nv-news-hero__title {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  line-height: 1.22;
  text-align: center;
  margin: 0;
  padding: 0;
}

/* ── Wrapper ───────────────────────────────────────────── */
.nv-news-section { background: #fff; }
.nv-news-wrap {
  max-width: var(--nv-max);
  margin: 0 auto;
  padding: 0 var(--nv-pad);
}

/* ── Filter Tabs ───────────────────────────────────────── */
.nv-news-tabs {
  display: flex;
  gap: 14px;
  padding-top: 45px;
}
.nv-news-tab {
  padding: 8px 16px;
  height: auto;
  font-size: 16px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  color: #445262;
  background: transparent;
  border: 1px solid #DADADA;
  border-radius: 8px;
  line-height: 24px;
  text-decoration: none;
  display: inline-block;
  white-space: nowrap;
  transition: background .15s, color .15s, border-color .15s;
}
/* Active: blue gradient — đúng Figma */
.nv-news-tab.active {
  background: linear-gradient(225deg, rgba(2,68,184,1) 6%, rgba(0,35,96,1) 96%);
  color: #fff;
  border-color: transparent;
}
.nv-news-tab:not(.active):hover {
  border-color: #0244b8;
  color: #0244b8;
}

/* ── Featured Article ──────────────────────────────────── */
/* Figma: img cr=[16,0,0,16], content cr=[0,40,40,0], content bg=gradient #021D4E→#0F328B */
.nv-news-featured {
  display: flex;
  height: 475px;
  margin-top: 43px;
}
/* Ảnh bên trái — cr=[16,0,0,16]: top-left + bottom-left rounded 16px */
.nv-featured-img {
  flex: 0 0 640px;
  overflow: hidden;
  background: #1a3a6b center / cover no-repeat;
  border-radius: 16px 0 0 16px;
}
.nv-featured-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Nội dung bên phải — cr=[0,40,40,0]: top-right + bottom-right rounded 40px */
.nv-featured-content {
  flex: 1;
  background: linear-gradient(135deg, #021D4E 0%, #0F328B 100%);
  padding: 40px 71px 40px 80px;
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-radius: 0 40px 40px 0;
  overflow: hidden;
}
.nv-news-featured .nv-featured-date { margin-bottom: 24px; }
.nv-news-featured .nv-feat-day {
  font-size: 48px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  display: block;
  margin: 0;
  padding: 0;
}
.nv-news-featured .nv-feat-month {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  display: block;
  margin-top: 4px;
  padding: 0;
}
/* Tăng specificity để đè Flatsome h2 override */
.nv-news-featured .nv-featured-title {
  font-size: 30px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  margin: 0 0 30px 0;
  padding: 0;
  border: none;
  background: none;
  text-shadow: none;
}
.nv-news-featured .nv-featured-title a       { color: #fff; text-decoration: none; }
.nv-news-featured .nv-featured-title a:hover { opacity: .85; }
/* Tăng specificity để đè Flatsome p override */
.nv-news-featured .nv-featured-excerpt {
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  line-height: 1.75;
  margin: 0 0 30px 0;
  padding: 0;
  flex: 1;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
/* Figma: button fill=GRADIENT_LINEAR #155BDB→#001D52 + stroke=WHITE + text=WHITE */
.nv-featured-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 272px;
  height: 50px;
  padding: 16px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  font-family: inherit;
  border: 1px solid #fff;
  border-radius: 8px;
  cursor: pointer;
  text-decoration: none;
  align-self: flex-start;
  transition: opacity .15s;
}
.nv-featured-btn:hover { opacity: .85; color: #fff; }

/* ── Layout: Grid + Sidebar ────────────────────────────── */
.nv-news-body {
  display: flex;
  gap: 32px;
  margin-top: 62px;
  align-items: flex-start;
}
.nv-grid-wrap { flex: 0 0 844px; }
.nv-news-grid {
  display: grid;
  grid-template-columns: 406px 406px;
  gap: 39px 32px;
}

/* ── Article Card ──────────────────────────────────────── */
.nv-news-card {
  background: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #E9E9E9;
  border-radius: 16px;
  padding-bottom: 25px;
  gap: 18px;
}
.nv-card-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
  border-radius: 16px 16px 0 0;
}
.nv-card-body {
  display: flex;
  flex-direction: column;
  padding: 0 22px;
}
.nv-card-date {
  font-size: 14px;
  font-weight: 400;
  color: #6e8ba2;
  line-height: 26px;
  text-transform: uppercase;
  margin: 0 0 4px 0;
  display: block;
}
/* Reset Flatsome heading defaults */
.nv-card-title {
  font-size: 18px;
  font-weight: 700;
  color: #0d1938;
  line-height: 26px;
  margin: 0 0 16px 0;
  padding: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nv-card-title a       { color: #0d1938; text-decoration: none; }
.nv-card-title a:hover { color: #0244b8; }
.nv-card-excerpt {
  font-size: 16px;
  font-weight: 400;
  color: #0d1938;
  line-height: 26px;
  margin: 0 0 16px 0;
  padding: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* "Xem thêm" — outline button theo Figma (border #717171, 174×50px) */
.nv-card-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 174px;
  height: 50px;
  border: 1px solid #717171;
  border-radius: 8px;
  background: transparent;
  color: #717171;
  font-size: 16px;
  font-weight: 700;
  font-family: inherit;
  text-decoration: none;
  transition: border-color .15s, color .15s;
}
.nv-card-more:hover {
  border-color: #0244b8;
  color: #0244b8;
}

/* ── Sidebar ───────────────────────────────────────────── */
.nv-news-sidebar {
  flex: 1;
  position: sticky;
  top: 24px;
}
.nv-sidebar-title {
  font-size: 20px;
  font-weight: 700;
  color: #20285a;
  margin: 0 0 16px 0;
  padding: 0;
}
.nv-sidebar-box { background: #efefef; padding: 24px 16px;border-radius: 16px; }
.nv-mini-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nv-mini              { display: flex; gap: 16px; align-items: flex-start; }
.nv-mini-thumb-link   { flex-shrink: 0; line-height: 0; display: block; }
.nv-mini-thumb {
  width: 131px;
  height: 86px;
  object-fit: cover;
  flex-shrink: 0;
  display: block;
  border-radius: 8px;
}
.nv-mini-content { flex: 1; min-width: 0; }
.nv-mini-date {
  font-size: 14px;
  font-weight: 400;
  color: #6e8ba2;
  display: block;
  margin: 0 0 4px 0;
  line-height: 1.4;
}
.nv-mini-title {
  font-size: 16px;
  font-weight: 700;
  color: #0d1938;
  line-height: 1.4;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color .15s;
}
.nv-mini-title:hover { color: var(--nv-orange); }

/* ── Pagination ────────────────────────────────────────── */
.nv-news-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin-top: 57px;
  padding-bottom: 80px;
}
.nv-pg-item { display: inline-block; }
.nv-news-pagination .nv-pg-item a,
.nv-news-pagination .page-numbers {
  font-size: 18px;
  font-weight: 400;
  color: #9e9e9e;
  text-decoration: none;
  transition: color .15s;
}
.nv-news-pagination .nv-pg-item a:hover,
.nv-news-pagination .page-numbers:hover     { color: #000; }
.nv-news-pagination .nv-pg-item .current,
.nv-news-pagination .page-numbers.current  {
  font-size: 18px;
  font-weight: 700;
  color: #000;
}
/* Padding bottom khi không có pagination (1 trang) */
.nv-grid-wrap { padding-bottom: 0; }
.nv-news-body:not(:has(.nv-news-pagination)) { padding-bottom: 80px; }
/* Padding bottom khi không có pagination (1 trang) */
.nv-grid-wrap { padding-bottom: 0; }
.nv-news-body:not(:has(.nv-news-pagination)) { padding-bottom: 80px; }

/* ── GLOBAL PAGINATION (Flatsome nav-pagination) ───────────────────────────
   Áp dụng cho search, archive, v.v. — cùng style Figma với news pagination */
ul.nav-pagination {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 32px;
  list-style: none;
  margin: 40px 0;
  padding: 0;
}
ul.nav-pagination li { margin: 0; padding: 0; }

/* Reset Flatsome box style, áp style Figma */
ul.nav-pagination .page-number,
ul.nav-pagination .next.page-number,
ul.nav-pagination .prev.page-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: unset;
  width: auto;
  height: auto;
  padding: 0;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  font-size: 18px;
  font-weight: 400;
  color: #9e9e9e;
  text-decoration: none;
  line-height: 1;
  transition: color .15s;
}
ul.nav-pagination .page-number:hover { color: #000; }
ul.nav-pagination .page-number.current {
  font-weight: 700;
  color: #000;
}
ul.nav-pagination .next.page-number,
ul.nav-pagination .prev.page-number { font-size: 16px; }
/* ── Responsive ────────────────────────────────────────── */
@media only screen and (max-width: 1280px) {
  :root { --nv-pad: 40px; }
  .nv-featured-img     { flex: 0 0 460px; }
  .nv-featured-content { padding: 36px 48px 36px 56px; }
  .nv-grid-wrap        { flex: 0 0 600px; }
  .nv-news-grid        { grid-template-columns: 1fr 1fr; }
}

@media only screen and (max-width: 1024px) {
  .nv-news-featured    { height: auto; flex-direction: column; }
  .nv-featured-img     { flex: none; height: 280px; }
  .nv-featured-content { padding: 32px 40px; }
  .nv-news-body        { flex-direction: column; }
  .nv-grid-wrap        { flex: none; width: 100%; }
  .nv-news-grid        { grid-template-columns: 1fr 1fr; }
  .nv-news-sidebar     { width: 100%; position: static; }
}

@media only screen and (max-width: 48em) {
  /*************** MOBILE ONLY CSS HERE  ***************/
  :root { --nv-pad: 20px; }
  .nv-news-hero        { height: 200px; }
  .nv-news-hero__title { font-size: 24px; }
  .nv-news-grid        { grid-template-columns: 1fr; }
  .nv-featured-img     { height: 220px; }
  .nv-featured-content { padding: 24px 20px; }
  .nv-feat-day         { font-size: 36px; }
  .nv-featured-title   { font-size: 22px; }
  .nv-featured-btn     { min-width: 0; width: 100%; }
  .nv-news-tabs        { gap: 8px; padding-top: 24px; flex-wrap: wrap; }
  .nv-news-tab         { font-size: 14px; height: 36px; line-height: 36px; padding: 0 12px; }
}
/* ═══════════════════════════════════════════════════════════════════════════
   Novagen – Article Detail (Single Post)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Page / Layout ──────────────────────────────────────────────────────── */
.nv-article-page { background: #fff; }
.nv-article-wrap { max-width: 1440px; margin: 0 auto; padding: 0 80px; }

/* ── Article Header ─────────────────────────────────────────────────────── */
.nv-article-header      { padding-top: 48px; padding-bottom: 32px; max-width: 843px; }
.nv-article-title       { font-size: 32px; font-weight: 700; line-height: 40px; color: #20285A; margin-bottom: 16px; font-family: 'Inter', sans-serif; }
.nv-article-breadcrumb  { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; color: #999; }
.nv-article-breadcrumb a { color: #999; }
.nv-article-breadcrumb a:hover { color: #eb8d19; }
.nv-bc-sep              { color: #ccc; }

/* ── Two-Column Body ────────────────────────────────────────────────────── */
.nv-article-body  { display: flex; gap: 32px; align-items: flex-start; padding-bottom: 80px; }
.nv-article-main  { flex: 0 0 843px; min-width: 0; }
.nv-article-aside { flex: 1; position: sticky; top: 24px; min-width: 0; }

/* ── Meta Bar ───────────────────────────────────────────────────────────── */
.nv-article-meta  { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.nv-article-date  { font-size: 16px; font-weight: 400; color: #6E8BA2; }
.nv-article-share { display: flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 400; color: #8594A6; }
.nv-share-icons   { display: flex; gap: 8px; }
.nv-share-icon    { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border: none; transition: background .15s; text-decoration: none; }
.nv-share-icon:hover { background: #e0e0e0; }

/* ── Article Image ──────────────────────────────────────────────────────── */
.nv-article-img { width: 100%; height: 470px; object-fit: cover; border-radius: 16px; display: block; margin-bottom: 49px; }

/* ── Lead Paragraph ─────────────────────────────────────────────────────── */
.nv-article-lead { font-size: 24px; font-weight: 400; line-height: 32px; color: #373737; margin-bottom: 32px; }

/* ── Body Content (the_content wrapper) ─────────────────────────────────── */
.nv-article-content                    { margin-bottom: 48px; }
.nv-article-content h2                 { font-size: 24px; font-weight: 600; line-height: 28px; color: #1F1F1F; margin-top: 32px; margin-bottom: 16px; }
.nv-article-content h3                 { font-size: 24px; font-weight: 600; line-height: 28px; color: #1F1F1F; margin-top: 24px; margin-bottom: 16px; }
.nv-article-content p                  { font-size: 16px; font-weight: 400; line-height: 24px; color: #003454; margin-bottom: 16px; }
.nv-article-content ul,
.nv-article-content ol                 { font-size: 16px; line-height: 24px; color: #003454; margin-bottom: 16px; padding-left: 24px; }
.nv-article-content img                { border-radius: 8px; max-width: 100%; height: auto; margin-top:20px; }
.nv-article-content a                  { color: #eb8d19; text-decoration: underline; }

/* ── Review Section ─────────────────────────────────────────────────────── */
.nv-review-section      { border: 1px solid #D9D9D9; border-radius: 16px; padding: 32px 24px; margin-bottom: 40px; }
.nv-review-title        { font-size: 16px; font-weight: 700; color: #1F1F1F; line-height: 24px; margin-bottom: 8px; }
.nv-review-stars-row    { display: flex; align-items: center; gap: 12px; margin-bottom: 19px; }
.nv-review-stars        { display: flex; gap: 8px; align-items: center; }
.nv-star                { font-size: 22px; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px #F38627; }
.nv-star-on             { color: #F38627; -webkit-text-stroke: 1.5px #1D1D1B; }
.nv-review-score        { font-size: 16px; font-weight: 700; color: #F38627; line-height: 24px; }
.nv-review-count        { font-size: 16px; font-weight: 400; color: #5D5D5D; line-height: 24px; }
.nv-review-divider      { width: 100%; border: none; border-top: 1px solid #D9D9D9; margin: 0 0 21px; }
.nv-comment-login-note  { font-size: 15px; color: #555; margin-top: 16px; }

/* ── Comment Form ───────────────────────────────────────────────────────── */
.nv-comment-form        { margin: 0; }
.nv-comment-form p      { margin: 0; }
.nv-review-textarea     { width: 100%; height: 106px; background: #D9D9D9; border: 1px solid #D9D9D9; border-radius: 8px; padding: 15px 22px; font-family: 'Inter', sans-serif; font-size: 16px; color: #484848; resize: none; display: block; margin-bottom: 21px; outline: none; box-sizing: border-box; }
.nv-review-textarea::placeholder { color: #484848; }
.nv-review-fields       { display: flex; gap: 16px; margin-bottom: 23px; }
.nv-review-input        { flex: 1; height: 50px; background: #D9D9D9; border: 1px solid #D9D9D9; border-radius: 8px; padding: 0 22px; font-family: 'Inter', sans-serif; font-size: 16px; color: #484848; outline: none; box-sizing: border-box; }
.nv-review-input::placeholder { color: #484848; }
.nv-review-submit       { width: 331px; height: 44px; background: #F38627; color: #fff; border: none; border-radius: 8px; font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; padding: 0 10px; }
.nv-review-submit:hover { background: #d47c0f; color: #fff; }

/* ── Comment List ───────────────────────────────────────────────────────── */
.nv-comment-item    { display: flex; gap: 10px; align-items: flex-start; margin-top: 24px; }
.nv-comment-avatar  { width: 32px; height: 32px; flex-shrink: 0; display: block; }
.nv-comment-body    { flex: 1; min-width: 0; }
.nv-comment-header  { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.nv-comment-email   { font-size: 16px; font-weight: 400; color: #6F6F6F; line-height: 24px; }
.nv-comment-date    { font-size: 14px; font-weight: 400; color: #000; line-height: 24px; }
.nv-comment-text    { font-size: 16px; font-weight: 400; color: #3A3A3A; line-height: 24px; margin-bottom: 8px; }
.nv-comment-actions { display: flex; align-items: center; gap: 30px; }
.nv-comment-like    { display: flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 400; color: #000; cursor: pointer; line-height: 24px; }
.nv-comment-reply   { font-size: 14px; font-weight: 400; color: #000; line-height: 24px; }
.nv-comment-reply a { color: #000; text-decoration: none; }
.nv-comment-reply a:hover { text-decoration: underline; }

/* ── Related Articles ───────────────────────────────────────────────────── */
.nv-related-section  { background: #fff; padding: 60px 0;border-top: 1px solid #EDEDED; }
.nv-related-wrap     { max-width: 1440px; margin: 0 auto; padding: 0 80px; }
.nv-related-heading  { font-size: 30px; font-weight: 700; line-height: 40px; color: #20285A; margin-bottom: 32px; font-family: 'Inter', sans-serif; }
.nv-related-grid     { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.nv-rel-card         { background: #fff; border: 1px solid #E9E9E9; border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; }
.nv-rel-card-img     { width: 100%; height: 230px; object-fit: cover; display: block; flex-shrink: 0; border-radius: 16px 16px 0 0; }
.nv-rel-card-body    { padding: 18px 22px 0; display: flex; flex-direction: column; flex: 1; }
.nv-rel-card-date    { font-size: 14px; font-weight: 400; color: #6E8BA2; display: block; font-family: 'Lexend', sans-serif; line-height: 26px; margin-bottom: 4px; }
.nv-rel-card-title   { font-size: 18px; font-weight: 700; color: #0D1938; line-height: 26px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-decoration: none; }
.nv-rel-card-title:hover { color: #eb8d19; }
.nv-rel-card-excerpt { font-size: 16px; font-weight: 400; color: #0D1938; line-height: 26px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; flex: 1; margin-top: 16px; }
.nv-rel-card-more-wrap { margin-top: 16px; padding-top: 7px; border-top: 1px solid #D4E9F4; padding-bottom: 22px; }
.nv-rel-card-more    { font-size: 14px; font-weight: 400; color: #6E8BA2; font-family: 'Lexend', sans-serif; line-height: 26px; display: block; text-decoration: none; }
.nv-rel-card-more:hover { opacity: .7; }

/* ── CTA Section ────────────────────────────────────────────────────────── */
.nv-cta-section   { background: #EEF4FF; overflow: hidden; }
.nv-cta-wrap      { max-width: 1440px; margin: 0 auto; padding: 0 80px; display: flex; align-items: flex-end; justify-content: space-between; min-height: 380px; }
.nv-cta-content   { flex: 1; max-width: 680px; padding: 60px 0; }
.nv-cta-title     { font-size: 32px; font-weight: 700; line-height: 1.3; color: #0E2347; margin-bottom: 16px; font-family: 'Inter', sans-serif; }
.nv-cta-sub       { font-size: 18px; font-weight: 400; color: #153165; line-height: 1.6; margin-bottom: 32px; }
.nv-cta-btn       { display: inline-flex; align-items: center; justify-content: center; width: 194px; height: 49px; background: #EB8D19; color: #fff; font-size: 16px; font-weight: 700; font-family: 'Inter', sans-serif; border: none; border-radius: 8px; cursor: pointer; text-decoration: none; }
.nv-cta-btn:hover { background: #d47c0f; color: #fff; }
.nv-cta-img-wrap  { flex-shrink: 0; margin-left: 40px; align-self: flex-end; }
.nv-cta-img-wrap img { width: 365px; height: 458px; object-fit: cover; display: block; }
.nv-dv-si-btn-datlich {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 36px;
  width: 100%;
  height: 50px;
  background: #EB8D19;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  transition: background .2s;
  scroll-behavior: smooth;
}

.nv-dv-si-btn-datlich:hover {
  background: #d07a10;
  color: #fff;
}

/* ── Article Detail Responsive ──────────────────────────────────────────── */
@media only screen and (max-width: 1280px) {
  .nv-article-wrap,
  .nv-related-wrap,
  .nv-cta-wrap         { padding: 0 40px; }
  .nv-article-main     { flex: 0 0 calc(100% - 437px); }
}

@media only screen and (max-width: 1024px) {
  .nv-article-body     { flex-direction: column; }
  .nv-article-main     { flex: none; width: 100%; }
  .nv-article-aside    { position: static; width: 100%; }
  .nv-related-grid     { grid-template-columns: 1fr 1fr; }
  .nv-cta-img-wrap     { display: none; }
}

@media only screen and (max-width: 48em) {
  .nv-article-wrap,
  .nv-related-wrap,
  .nv-cta-wrap         { padding: 0 20px; }
  .nv-article-title    { font-size: 24px; }
  .nv-article-img      { height: 220px; }
  .nv-article-lead     { font-size: 18px; }
  .nv-related-grid     { grid-template-columns: 1fr; }
  .nv-review-fields    { flex-direction: column; }
  .nv-review-submit    { width: 100%; justify-content: center; }
  .nv-cta-title        { font-size: 24px; }
  .nv-cta-sub          { font-size: 16px; }
}
/* ── HERO (.nv-lh-hero) ──────────────────────────────────────── */
.nv-lh-hero .banner-layers.container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}

/* ── THÔNG TIN LIÊN HỆ ───────────────────────────────────────── */
.nv-lh-contact-title h3 { font-size: 18px !important; font-weight: 700 !important; color: #1f1f1f !important; }

/* ── ẢNH VĂN PHÒNG ──────────────────────────────────────────── */
.nv-lh-photo-col .col-inner { padding: 0 !important; }
.nv-lh-photo .ux-img img   { height: 245px !important; object-fit: cover !important; width: 100% !important; }

/* ── BRANCH CARDS (.nv-lh-branch-card) ──────────────────────── */
.nv-lh-branch-row .nv-lh-branch-card .col-inner {
  border: 1px solid #dfdfdf;
  border-radius: 24px !important;
  min-height: 168px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.nv-lh-branch-row .nv-lh-branch-card { padding-left: 0 !important; padding-right: 0 !important; }
.nv-lh-branch-row {gap:32px;}
.nv-lh-branch-row>.col{
    flex:0 0 calc((100% - 64px)/3) !important;
    max-width:calc((100% - 64px)/3) !important;
}

/* ── BẢN ĐỒ ─────────────────────────────────────────────────── */
.nv-lh-map { border-radius: 24px; overflow: hidden; background: #d9d9d9; }
.nv-lh-map iframe { display: block; }

/* ── FORM SECTION (.nv-lh-form-section) ─────────────────────── */
.nv-lh-form-section,
.nv-lh-form-section > .bg.section-bg {
  background:
    linear-gradient(to bottom, rgba(27,68,146,1) 0%, rgba(30,70,158,.10) 100%),
    url("https://figma-alpha-api.s3.us-west-2.amazonaws.com/images/d978309e-741a-4fc8-8018-6826af37fd19") center / cover no-repeat,
    url("https://figma-alpha-api.s3.us-west-2.amazonaws.com/images/4ee1e4d3-8ff1-42ee-b772-492d59c20053") top / 100% 100% no-repeat !important;
}
.wpcf7-spinner {position: absolute;}
/* ── FORM CARD (.nv-lh-form-card) ───────────────────────────── */
.nv-lh-form-card .col-inner {
  border: 1px solid rgba(255,255,255,.6);
  border-radius: 16px !important;
  padding: 40px 50px 50px !important;
background: linear-gradient(180deg, rgba(46, 51, 90, 0) 0%, rgba(28, 27, 51, 0.1) 100%),
radial-gradient(146.13% 118.42% at 50% -15.5%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 99.59%);
backdrop-filter: blur(20px)

box-shadow: 0px 30px 60px 0px #00000033;

box-shadow: 0px 15px 30px 0px #0000000D;

box-shadow: 0px 5px 10px 0px #0000000D;

}

/* ── 2 input ngang hàng ─────────────────────────────────────── */
.nv-lh-form-card .nv-cf7-row {
  display: flex;
  gap: 18px;
  margin-bottom: 24px;
}
.nv-lh-form-card .nv-cf7-row .nv-cf7-field {
  flex: 1;
  margin-bottom: 0;
}

/* ── Field wrapper ─────────────────────────────────────────── */
.nv-lh-form-card .nv-cf7-field {
  position: relative;
  background: #fff;
  border: 1px solid #d6d6d6;
  border-radius: 8px;
  padding: 0 16px;
  min-height: 56px;
  margin-bottom: 24px;
  display: flex;
  align-items: flex-end;
}
.nv-lh-form-card .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* ── Label: ở giữa theo chiều dọc (trạng thái mặc định) ─────── */
.nv-lh-form-card .nv-cf7-label {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 16px;
  font-weight: 400;
  color: #aaaaaa;
  line-height: 1;
  pointer-events: none;
  transition: top .18s ease, transform .18s ease,
  font-size .18s ease, color .18s ease;
  z-index: 1;
  text-align: left;
}

/* ── Label trượt lên: khi focus hoặc đã nhập nội dung ─────── */
.nv-lh-form-card .nv-cf7-field:focus-within .nv-cf7-label,
.nv-lh-form-card .nv-cf7-field:has(input:not(:placeholder-shown)) .nv-cf7-label,
.nv-lh-form-card .nv-cf7-field:has(textarea:not(:placeholder-shown)) .nv-cf7-label {
  top: 10px;
  transform: none;
  font-size: 11px;
  color: #6f6f6f;
}

/* ── Input text / tel ─────────────────────────────────────── */
.nv-lh-form-card .nv-cf7-field input[type="text"],
.nv-lh-form-card .nv-cf7-field input[type="tel"],
.nv-lh-form-card .nv-cf7-field input[type="email"] {
  display: block;
  width: 100%;
  background: transparent;
  border: none !important;
  box-shadow: none !important;
  outline: none;
  padding: 24px 0 8px !important;  /* khoảng trên cho label đã float */
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  color: #211e1e;
  font-family: 'Inter', sans-serif;
  position: relative;
  z-index: 2;
}
/* Ẩn placeholder thật (dùng label thay thế) */
.nv-lh-form-card .nv-cf7-field input::placeholder { color: transparent; }
.nv-article-content .kk-star-ratings {display:none;}
/* ── Textarea Ghi chú ─────────────────────────────────────── */
.nv-lh-form-card .nv-cf7-notes {
  min-height: 182px;
  align-items: flex-start;   /* không căn đáy như input */
}
/* Label textarea bắt đầu gần đỉnh, không căn giữa dọc */
.nv-lh-form-card .nv-cf7-notes .nv-cf7-label {
  top: 18px;
  transform: none;
}
.nv-lh-form-card .nv-cf7-notes:focus-within .nv-cf7-label,
.nv-lh-form-card .nv-cf7-notes:has(textarea:not(:placeholder-shown)) .nv-cf7-label {
  top: 10px;
  font-size: 11px;
  color: #6f6f6f;
}
.nv-lh-form-card .nv-cf7-notes textarea {
  display: block;
  width: 100%;
  height: 140px !important;
  background: transparent;
  border: none !important;
  box-shadow: none !important;
  outline: none;
  padding: 28px 0 8px !important;  /* khoảng trên cho label đã float */
  resize: none;
  font-size: 16px;
  font-weight: 400;
  color: #211e1e;
  font-family: 'Inter', sans-serif;
  position: relative;
  z-index: 2;
}
.nv-lh-form-card .nv-cf7-notes textarea::placeholder { color: transparent; }

/* ── Nút Submit ───────────────────────────────────────────── */
.nv-lh-form-card input[type="submit"],
.nv-lh-form-card .wpcf7-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 56px;
  background: #e49f15 !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 16px;
  font-weight: 700;
  color: #fff !important;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: background .2s;
}
.nv-lh-form-card input[type="submit"]:hover,
.nv-lh-form-card .wpcf7-submit:hover {
  background: #c98a10 !important;
}

/* ── Validation ───────────────────────────────────────────── */
.nv-lh-form-card .wpcf7-not-valid-tip {
  position: absolute;
  bottom: -18px;
  left: 0;
  font-size: 11px;
  color: #e44;
}
.nv-lh-form-card .nv-cf7-field { overflow: visible; }
.nv-lh-form-card .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 14px;
  color: #fff;
  border: 1px solid rgba(255,255,255,.4) !important;
  background: transparent !important;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 600px) {
  .nv-lh-form-card .nv-cf7-row { flex-direction: column; gap: 0; }
  .nv-lh-form-card .nv-cf7-row .nv-cf7-field { margin-bottom: 24px; }
}

════════════════════════════════════════════════════════════════ -->
/* ═══════════════════════════════════════════════════════════════════════════
   DỊCH VỤ – taxonomy-loai-dich-vu.php
   Cấp 1 (có term con): featured 3 cột + cards nhóm theo term con
   Cấp 2 (lá):          featured 2 cột + cards lưới phẳng
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Container chung ───────────────────────────────────────────────────────── */
.nv-dv-wrap { font-family: 'Inter', sans-serif; }
.nv-dv-container {
  max-width: 1440px;
  margin: 0 auto;
  padding-left: 80px;
  padding-right: 80px;
  box-sizing: border-box;
}

/* ── HERO ──────────────────────────────────────────────────────────────────── */
.nv-dv-hero {
  height: 350px;
  background-color: #003455;
  background-size: cover;
  background-position: bottom;
  display: flex;
  align-items: center;
  position: relative;
}

.nv-dv-hero-inner {
  position: relative;
  z-index: 1;
}
.nv-dv-hero .nv-dv-hero-title {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px;
  line-height: 1.2;
text-align: center;
}
/* Ảnh nền hero riêng cho mobile (trang Dịch vụ + Tin tức) — PC vẫn dùng
   ảnh cũ set trong PHP (single-dichvu.php, taxonomy-loai-dich-vu.php,
   archive-dichvu.php, novagen-archive.php). !important để đè inline style. */
@media (max-width: 767px) {
  .nv-dv-hero,
  .nv-news-hero {
    background-image: url('https://novagen.vn/wp-content/uploads/2026/08/heromb.jpg') !important;
  }
}
.nv-article-header .nv-dv-breadcrumb,.nv-article-header .nv-dv-breadcrumb a,.nv-article-header .nv-dv-breadcrumb a:hover {
justify-content: flex-start;
color: #999999;
}
.nv-dv-breadcrumb {
  display: flex;
  align-items: center;
justify-content: center;
  gap: 6px;
  font-size: 13px;
  color: rgba(255,255,255,.75);
}
.nv-dv-breadcrumb a { color: rgba(255,255,255,.75); text-decoration: none; }
.nv-dv-breadcrumb a:hover { color: #fff; }
.nv-dv-bc-sep { opacity: .6; }

/* ── FEATURED SECTION ──────────────────────────────────────────────────────── */
.nv-dv-featured {
  padding: 80px 0 70px;
}
.nv-dv-feat-grid {
  display: grid;
  gap: 32px;
align-items: stretch;
}
.nv-dv-feat-3col { grid-template-columns: 405px 1fr 400px; }
.nv-dv-feat-2col { grid-template-columns: 1fr 1fr; gap: 0; }

/* Cột ảnh – cấp 1 */
.nv-dv-feat-img-col img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}
.nv-dv-feat-img-placeholder {
  width: 100%;
  height: 280px;
  background: #e8edf5;
  border-radius: 12px;
}

/* Cột ảnh – cấp 2 (cao hơn để khớp dark card) */
.nv-dv-feat-2col .nv-dv-feat-img-col img {
  height: 402px;
  border-radius: 0;
}
.nv-dv-feat-2col .nv-dv-feat-img-placeholder {
  height: 402px;
  border-radius: 0;
}

/* Dark navy card – cấp 2 phải */
.nv-dv-feat-dark-col {
  background: #0F328B;
  display: flex;
  align-items: center;
}
.nv-dv-feat-dark-inner {
  padding: 48px 46px;
width:100%;
}
.nv-dv-feat-dark-col .nv-dv-feat-title {
  color: #fff;
  font-size: 20px;
  margin-bottom: 20px;
}
.nv-dv-feat-dark-col .nv-dv-feat-desc {
  color: rgba(255,255,255,.9);
  margin-bottom: 32px;
}

/* Cột text */
.nv-dv-feat-title {
  font-size: 20px;
  font-weight: 700;
  color: #211e1e;
  margin: 0 0 16px;
  line-height: 1.4;
}
.nv-dv-feat-desc {
  font-size: 16px;
  font-weight: 400;
  color: #6f6f6f;
  line-height: 1.7;
  margin-bottom: 28px;
}
.nv-dv-feat-btns {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.nv-dv-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  height: 50px;
  padding: 0 24px;
  background: #f38627;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: background .2s;
    width: calc(50% - 5px);
}
.nv-dv-btn-primary:hover { background: #d97420; color: #fff; }
.nv-dv-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  height: 50px;
  padding: 0 24px;
  background: transparent;
  color: #153064;
  font-size: 16px;
  font-weight: 600;
  border-radius: 8px;
  border: 1.5px solid #153064;
  text-decoration: none;
  transition: background .2s, color .2s;
}
.nv-dv-btn-secondary:hover { background: #153064; color: #fff; }

/* Cột sidebar (term con) */
.nv-dv-sidebar-col { display: flex; flex-direction: column; }
.nv-dv-sidebar-item {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 16px 0;
}
.nv-dv-sidebar-icon { flex-shrink: 0; }
.nv-dv-sidebar-icon svg {overflow: unset !important;}
.nv-dv-sidebar-name {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #211e1e;
  text-decoration: none;
  line-height: 1.35;
  margin-bottom: 6px;
}
.nv-dv-sidebar-name:hover { color: #f38627; }
.nv-dv-sidebar-desc {
  font-size: 14px;
  color: #6f6f6f;
  margin: 0;
  line-height: 1.6;
}
.nv-dv-sidebar-sep {
  border: none;
  border-top: 1px solid #e8e8e8;
  margin: 0;
}
/* ── CARDS SECTION ─────────────────────────────────────────────────────────── */
.nv-dv-cards-section {
  padding: 40px 0 80px;
}

/* Heading trước mỗi nhóm */
.nv-dv-cards-heading {
  margin-bottom: 32px;
}
.nv-dv-cards-heading h3 {
  font-size: 18px;
  font-weight: 700;
  color: #211e1e;
  margin: 0 0 8px;
}
.nv-dv-cards-heading p {
  font-size: 16px;
  color: #6f6f6f;
  margin: 0;
  line-height: 1.6;
}

/* Divider giữa các nhóm */
.nv-dv-section-divider {
  height: 1px;
  background: #dfdfdf;
  margin: 60px 0;
}

/* Grid 3 cột */
.nv-dv-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

/* Card */
.nv-dv-card {
  background: #fff;
  border-radius: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s;
}
.nv-dv-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.1); }

.nv-dv-card-img-wrap {
  display: block;
  width: 100%;
  overflow: hidden;
}
.nv-dv-card-img-wrap img {
  width: 100%;
  height: 262px;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}
.nv-dv-card:hover .nv-dv-card-img-wrap img { transform: scale(1.04); }
.nv-dv-card-img-placeholder {
  width: 100%;
  height: 262px;
  background: #dde3ef;
}

.nv-dv-card-body {
  padding: 16px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}
.nv-dv-card-title {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}
.nv-dv-card-title a {
  color: #211e1e;
  text-decoration: none;
}
.nv-dv-card-title a:hover { color: #f38627; }
.nv-dv-card-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 175px;
  height: 49px;
  padding: 0 20px;
  background: #eb8d18;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  align-self: flex-start;
  transition: background .2s;
justify-content: center;
}
.nv-dv-card-btn:hover { background: #c97a10; color: #fff; }

/* ── MÔ TẢ DÀI ─────────────────────────────────────────────────────────────── */
.nv-dv-longdesc {
  padding: 80px 0;
}
.nv-dv-longdesc-inner {
  font-size: 16px;
  line-height: 1.8;
  color: #444;
  max-width: 900px;
margin: 0 auto;
}
.nv-dv-longdesc-inner h2,
.nv-dv-longdesc-inner h3 { color: #211e1e; }

/* ── RESPONSIVE ────────────────────────────────────────────────────────────── */
@media (max-width: 1200px) {
  .nv-dv-container { padding-left: 40px; padding-right: 40px; }
  .nv-dv-feat-3col { grid-template-columns: 340px 1fr 320px; }
}
@media (max-width: 1024px) {
  .nv-dv-feat-3col,
  .nv-dv-feat-2col { grid-template-columns: 1fr 1fr; }
  .nv-dv-sidebar-col { grid-column: 1 / -1; }
  .nv-dv-cards-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .nv-dv-container { padding-left: 20px; padding-right: 20px; }
  .nv-dv-hero { height: 240px; }
  .nv-dv-hero .nv-dv-hero-title { font-size: 24px; }
  .nv-dv-feat-3col,
  .nv-dv-feat-2col { grid-template-columns: 1fr; }
  .nv-dv-feat-img-col img,
  .nv-dv-feat-img-placeholder { height: 220px; }
  .nv-dv-cards-grid { grid-template-columns: 1fr; gap: 20px; }
  .nv-dv-feat-btns { flex-direction: column; }
  .nv-dv-btn-primary,
  .nv-dv-btn-secondary { min-width: 100%; }
}
/* ═══════════════════════════════════════════════════════════════════════════
   ARCHIVE DỊCH VỤ – archive-dichvu.php
   Trang /dich-vu/: hero + block (ảnh | dark card) + card grids
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Archive wrapper ───────────────────────────────────────────────────────── */
.nv-dv-archive-wrap { padding-bottom: 80px; }

/* ── Divider giữa các nhóm dịch vụ ────────────────────────────────────────── */
.nv-dv-arch-divider {
  height: 1px;
  background: #dfdfdf;
  margin: 80px auto;
}

/* ── SERVICE BLOCK ─────────────────────────────────────────────────────────── */
.nv-dv-arch-block-wrap:nth-child(1) { padding-top: 80px; }
.nv-dv-arch-block {
  display: grid;
  grid-template-columns: 1fr 1fr;   /* 640px | 640px trong 1280px content */
  min-height: 402px;
  border-radius: 24px;
  overflow: hidden;
}

/* Ảnh trái */
.nv-dv-arch-img {
  overflow: hidden;
}
.nv-dv-arch-img img {
  width: 100%;
  height: 402px;
  object-fit: cover;
  display: block;
  transition: transform .4s;
}
.nv-dv-arch-block:hover .nv-dv-arch-img img { transform: scale(1.03); }
.nv-dv-arch-img-placeholder {
  width: 100%;
  height: 402px;
  background: #d0dae8;
}

/* Dark card phải */
.nv-dv-arch-card {
  background-color: #0f3289;
  display: flex;
  align-items: center;
}
.nv-dv-arch-card-inner {
  padding: 50px 46px;
}
.nv-dv-arch-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 16px;
}
.nv-dv-arch-title a {
  color: #fff;
  text-decoration: none;
}
.nv-dv-arch-title a:hover { color: rgba(255,255,255,.8); }
.nv-dv-arch-desc {
  font-size: 16px;
  font-weight: 400;
  color: rgba(255,255,255,.9);
  line-height: 1.7;
  margin: 0 0 28px;
}
.nv-dv-arch-btns {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

/* Nút trắng outline (dùng trên nền tối) */
.nv-dv-btn-white-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  height: 50px;
  padding: 0 24px;
  background: transparent;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  border-radius: 8px;
  border: 1.5px solid #fff;
  text-decoration: none;
  transition: background .2s, color .2s;
  box-sizing: border-box;
    width: calc(50% - 5px);
}
.nv-dv-btn-white-outline:hover {
  background: rgba(255,255,255,.15);
  color: #fff;
}

/* ── CARDS DƯỚI SERVICE BLOCK ──────────────────────────────────────────────── */
.nv-dv-arch-cards-wrap {
  padding-top: 60px;
}
/* Khoảng cách giữa các sub-cat trong cùng nhóm */
.nv-dv-child-sep {
  height: 50px;
}

/* ── RESPONSIVE archive ────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .nv-dv-arch-block { grid-template-columns: 1fr; min-height: auto; }
  .nv-dv-arch-img img,
  .nv-dv-arch-img-placeholder { height: 300px; }
  .nv-dv-arch-card-inner { padding: 40px 32px; }
}
@media (max-width: 640px) {
  .nv-dv-arch-block-wrap { padding-top: 40px; }
  .nv-dv-arch-img img,
  .nv-dv-arch-img-placeholder { height: 220px; }
  .nv-dv-arch-card-inner { padding: 32px 20px; }
  .nv-dv-arch-btns { flex-direction: column; }
  .nv-dv-btn-primary,
  .nv-dv-btn-white-outline { min-width: 100%; }
  .nv-dv-arch-divider { margin: 40px auto; }
}

/* ── CAROUSEL (archive-dichvu.php) ─────────────────────────────────────────── */
.nv-dv-carousel {
  position: relative;
}

/* Track container: clips overflow */
.nv-dv-carousel-outer {
  overflow: hidden;
  width: 100%;
}

/* Track: flex row, không wrap */
.nv-dv-carousel-track {
  display: flex;
  gap: 32px;
  transition: transform .4s cubic-bezier(.25,.46,.45,.94);
  will-change: transform;
}

/* Mỗi card chiếm đúng 1/3 (trừ 2 gap) */
.nv-dv-carousel-track .nv-dv-card {
  flex: 0 0 calc((100% - 64px) / 3);
  width:  calc((100% - 64px) / 3);
  min-width: 0;
}

/* Nút prev / next */
.nv-dv-carousel-btn {
  position: absolute;
  top: 131px;                /* (image height 262px) / 2 - 17px */
  width: 34px;
  height: 34px;
  padding: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  z-index: 10;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  transition: opacity .2s;
}
.nv-dv-carousel-btn:disabled {
  opacity: .35;
  cursor: default;
  pointer-events: none;
}
.nv-dv-carousel-prev { left: -17px; }
.nv-dv-carousel-next { right: -17px; }

/* ── Carousel responsive ───────────────────────────────────────────────────── */
@media (max-width: 960px) {
  .nv-dv-carousel-track .nv-dv-card {
    flex: 0 0 calc((100% - 32px) / 2);
    width:  calc((100% - 32px) / 2);
  }
}
@media (max-width: 600px) {
  .nv-dv-carousel-track .nv-dv-card {
    flex: 0 0 100%;
    width: 100%;
  }
  .nv-dv-carousel-track { gap: 20px; }
}
/* ═══════════════════════════════════════════════════════════════════════════════
   SINGLE DỊCH VỤ (single-dichvu.php)
═══════════════════════════════════════════════════════════════════════════════ */

/* ── 2-col layout row (dùng cho cả top + content) ─────────────────────────── */
.nv-dv-si-row {
  display: grid;
  grid-template-columns: 1fr 405px;
  gap: 32px;
  align-items: start;
}

/* ── TOP INTRO ──────────────────────────────────────────────────────────────── */
.nv-dv-si-top {
  padding: 64px 0;
}

.nv-dv-si-feat-img {
  display: block;
  width: 100%;
  height: 531px;
  object-fit: cover;
  border-radius: 8px;
}

.nv-dv-si-img-placeholder {
  width: 100%;
  height: 531px;
  background: #e8edf5;
  border-radius: 8px;
}

.nv-dv-si-top-side {
  padding-top: 16px;
}

.nv-dv-si-short-desc {
  font-size: 16px;
  line-height: 1.7;
  color: #6F6F6F;
}

.nv-dv-si-price {
  margin-top: 24px;
  font-size: 24px;
  font-weight: 700;
  color: #E5891A;
}

/* ── CONTENT SECTION ────────────────────────────────────────────────────────── */
.nv-dv-si-content-section {
  padding: 0 0 72px;
}

.nv-dv-si-content-row {
  align-items: start;
}

/* ── Article (left col) ────────────────────────────────────────────────────── */
.nv-dv-si-article {
  min-width: 0;
}

.nv-dv-si-overview-heading {
  font-size: 18px;
  font-weight: 700;
  color: #211E1E;
  letter-spacing: .04em;
  margin-bottom: 20px;
  text-transform: uppercase;
}

/* ── Ez-TOC plugin override (single-dichvu.php – khớp Figma node 339:318) ─────── */

/* Container */
#ez-toc-container {
  border: 1px solid #e0e6f0 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  margin-bottom: 32px !important;
  background: #fff !important;
  padding: 0 !important;
  box-shadow: none !important;
width: 100%;
}

/* Header bar – navy #0F3289, h=40px */
#ez-toc-container .ez-toc-title-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #0F3289 !important;
  padding: 0 16px !important;
  min-height: 40px !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* "Mục lục" title */
#ez-toc-container p.ez-toc-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  text-transform: none !important;
}

/* Toggle button area */
#ez-toc-container .ez-toc-title-toggle {
  margin: 0 !important;
}
#ez-toc-container .ez-toc-toggle,
#ez-toc-container .ez-toc-btn {
  background: transparent !important;
  border: none !important;
  padding: 4px !important;
  color: #fff !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Toggle icon SVGs – override inline fill:#999 */
#ez-toc-container .ez-toc-icon-toggle-span svg,
#ez-toc-container .ez-toc-js-icon-con svg {
  fill: #fff !important;
  color: #fff !important;
  width: 16px !important;
  height: 16px !important;
}

/* Nav body */
#ez-toc-container nav {
  padding: 16px 20px !important;
  background: #fff !important;
}

/* Level-1 list */
#ez-toc-container ul.ez-toc-list {
  list-style: decimal !important;
  padding-left: 20px !important;
  margin: 0 !important;
  background: transparent !important;
  counter-reset: none !important;
}

/* Nested lists */
#ez-toc-container ul.ez-toc-list ul {
  list-style: lower-alpha !important;
  padding-left: 20px !important;
  margin-top: 4px !important;
}

/* List items */
#ez-toc-container ul.ez-toc-list li {
  margin-bottom: 6px !important;
  background: transparent !important;
}
#ez-toc-container ul.ez-toc-list li::before {
  display: none !important;
  content: none !important;
}

/* Links */
#ez-toc-container .ez-toc-link {
  font-size: 14px !important;
  color: #0F3289 !important;
  text-decoration: none !important;
  line-height: 1.5 !important;
  padding: 2px 0 !important;
  display: inline !important;
}
#ez-toc-container .ez-toc-link:hover {
  color: #F38627 !important;
  text-decoration: underline !important;
}

/* ── Post content typography ────────────────────────────────────────────────── */
.nv-dv-si-post-content {
  font-size: 16px;
  line-height: 1.8;
  color: #444;
font-family: Inter, sans-serif !important;
}

.nv-dv-si-post-content h2 {
  font-size: 22px;
  font-weight: 700;
  color: #211E1E;
  margin: 32px 0 12px;
}

.nv-dv-si-post-content h3 {
  font-size: 18px;
  font-weight: 600;
  color: #211E1E;
  margin: 24px 0 10px;
}

.nv-dv-si-post-content p {
  margin-bottom: 16px;
}

.nv-dv-si-post-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin-top:20px;
}

.nv-dv-si-post-content ul,
.nv-dv-si-post-content ol {
  padding-left: 24px;
  margin-bottom: 16px;
}

.nv-dv-si-post-content li {
  margin-bottom: 6px;
}

/* ── Sidebar (right col) ────────────────────────────────────────────────────── */
.nv-dv-si-sidebar {
  position: sticky;
  top: 80px;
  background: #fff;
  border: 1px solid #e0e6f0;
  border-radius: 8px;
  padding: 24px 20px;
  max-height: calc(100vh - 100px);
  overflow-y: auto;
background: #F3F3F3;
}

.nv-dv-si-sb-group {
  /* Group header + links */
}

.nv-dv-si-sb-cat {
  font-size: 18px;
  font-weight: 700;
  color: #20285A;
  margin: 0 0 12px;
  line-height: 1.3;
}

.nv-dv-si-sb-cat a {
  color: inherit;
  text-decoration: none;
}

.nv-dv-si-sb-cat a:hover {
  color: #F38627;
}

.nv-dv-si-sb-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.nv-dv-si-sb-item {
  border-bottom: 1px solid #f0f3f8;
}

.nv-dv-si-sb-item:last-child {
  border-bottom: none;
}

.nv-dv-si-sb-item a {
  display: block;
  padding: 8px 0;
  font-size: 15px;
  font-weight: 400;
  color: #373737;
  text-decoration: none;
  line-height: 1.4;
  transition: color .2s;
}

.nv-dv-si-sb-item a:hover,
.nv-dv-si-sb-active a {
  color: #F38627;
  font-weight: 600;
}

.nv-dv-si-sb-sep {
  border: none;
  border-top: 1px solid #dde3f0;
  margin: 16px 0;
}

/* ── TẠI SAO CHỌN NOVAGEN ───────────────────────────────────────────────────── */
.nv-dv-si-whyus {
  background-color: #003454;
  background-size: cover;
  background-position: center;
  padding: 80px 0;
}

.nv-dv-si-whyus-grid {
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 64px;
  align-items: center;
}

.nv-dv-si-whyus-title {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 32px;
  line-height: 1.3;
}

.nv-dv-si-benefits {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.nv-dv-si-benefit-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  line-height: 1.5;
}

.nv-dv-si-benefit-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin-top: 2px;
}

.nv-dv-si-whyus-right img {
  display: block;
  width: 100%;
  max-width: 480px;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
}

/* ── ĐẶT LỊCH HẸN ──────────────────────────────────────────────────────────── */
.nv-dv-si-booking-section {
  padding: 0;
}

.nv-dv-si-booking-inner {
  background:
    linear-gradient(180deg, rgba(27,68,146,.88) 0%, rgba(15,50,137,.80) 100%),
    center/cover no-repeat;
  padding: 72px 0;
}

.nv-dv-si-booking-card {
  max-width: 846px;
  margin: 0 auto;
  background:
    linear-gradient(180deg, rgba(46,51,90,0) 0%, rgba(28,27,51,.20) 100%),
    radial-gradient(circle at 50% 30%, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 70%),
    rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 16px;
  padding: 48px 48px 52px;
  backdrop-filter: blur(6px);
}

.nv-dv-si-booking-title {
  font-size: 36px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-bottom: 10px;
}

.nv-dv-si-booking-sub {
  font-size: 18px;
  font-weight: 400;
  color: rgba(255,255,255,.85);
  text-align: center;
  margin-bottom: 32px;
}

/* CF7 overrides bên trong booking card */
.nv-dv-si-booking-form .wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.nv-dv-si-booking-form .nv-cf7-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.nv-dv-si-booking-form input[type="text"],
.nv-dv-si-booking-form input[type="email"],
.nv-dv-si-booking-form input[type="tel"],
.nv-dv-si-booking-form textarea {
  width: 100%;
  background: #fff;
  border: none;
  border-radius: 8px;
  padding: 16px 20px;
  font-size: 15px;
  color: #211E1E;
  box-sizing: border-box;
}

.nv-dv-si-booking-form textarea {
  height: 120px;
  resize: vertical;
}

.nv-dv-si-booking-form input[type="submit"],
.nv-dv-si-booking-form .wpcf7-submit {
  width: 100%;
  background: #E49F15;
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 16px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s;
}

.nv-dv-si-booking-form input[type="submit"]:hover,
.nv-dv-si-booking-form .wpcf7-submit:hover {
  background: #c98800;
}

/* ── DỊCH VỤ LIÊN QUAN ──────────────────────────────────────────────────────── */
.nv-dv-si-related {
  padding: 64px 0 80px;
}

.nv-dv-si-related-title {
  font-size: 28px;
  font-weight: 700;
  color: #211E1E;
  margin-bottom: 32px;
  text-align: center;
}

/* ── Single responsive ──────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .nv-dv-si-row,
  .nv-dv-si-whyus-grid {
    grid-template-columns: 1fr;
  }
  .nv-dv-si-sidebar {
    position: static;
    max-height: none;
  }
  .nv-dv-si-whyus-right {
    display: none;
  }
  .nv-dv-si-booking-card {
    padding: 40px 32px;
  }
}

@media (max-width: 768px) {
  .nv-dv-si-top {
    padding: 40px 0;
  }
  .nv-dv-si-feat-img,
  .nv-dv-si-img-placeholder {
    height: 260px;
  }
  .nv-dv-si-content-section {
    padding-bottom: 48px;
  }
  .nv-dv-si-whyus {
    padding: 52px 0;
  }
  .nv-dv-si-whyus-title {
    font-size: 26px;
  }
  .nv-dv-si-booking-card {
    padding: 32px 20px;
  }
  .nv-dv-si-booking-title {
    font-size: 28px;
  }
  .nv-dv-si-booking-sub {
    font-size: 16px;
  }
  .nv-dv-si-booking-form .nv-cf7-row {
    grid-template-columns: 1fr;
  }
  .nv-dv-si-related {
    padding: 48px 0 56px;
  }
  .nv-dv-si-related-title {
    font-size: 22px;
  }
}

/* ── TRANG CHỦ MOBILE ───────────────────────────────────────────────────────── */
@media (max-width: 767px) {
	.nv-dv-feat-dark-col {
		justify-content: center;
	}
	.tieudeherobaner {left:50% !important;margin-left:-30%;}
  /* 1. KHOẢNG CÁCH SECTION — blanket 50px cho tất cả sections trang chủ
     Dùng blanket rule vì Flatsome UX Builder output @media(min-width:550px)
     nên target từng class không đủ với màn hình 550-767px.
     Loại trừ: footer, nhanxetkh (=0px liền kề cauchuyenkh) */
 
  /* nhanxetkh giữ 0px — liền kề cauchuyenkh không có khoảng trắng */
  body .nhanxetkh {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 2. TIÊU ĐỀ SECTION
     Font 32px → 22px; margin xuống content 44px → 24px */
  body .nv-section-title,
  body .nv-section-title.title {
    font-size: 22px !important;
    margin-bottom: 24px !important;
  }
  body .section h2,
  body .section .title h2,
  body .nv-why-heading {
    font-size: 22px !important;
  }

  /* 3. WHY SECTION ("Tại sao chọn Novagen")
     Desktop: 2 cột flex nowrap với fixed px widths → Mobile: stack dọc */
  .nv-why-layout {
    flex-direction: column !important;
    flex-wrap: wrap !important;
    min-height: unset !important;
  }
  body .nv-why-lhs {
    flex: none !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 32px 20px 24px !important;
  }
  .nv-why-card {
    width: 100% !important;
    padding: 28px 20px !important;
margin:0 !important;
	  
  }
 body .nv-why-rhs {
    flex: none !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
padding: 0 16px !important;
  }
  /* nv-why-photo: wrapper + img-inner cần overflow:hidden để crop, img fill full */
  .nv-why-photo,
  .nv-why-photo .img-inner {
    border-radius: 12px !important;
    overflow: hidden !important;
    height: 240px !important;
  }
  .nv-why-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
  }
  .nv-why-cta { margin-left: 0 !important; }

  /* 4. STORY GRID ("Câu chuyện khách hàng")
     .box-text fixed 362px → 100%; fixed heights → auto */
  .nv-story-grid .box-blog-post { height: auto !important; }
  .nv-story-grid .image-cover   { height: 200px !important; }
 body .nv-story-grid .box-text      { width: 100% !important; padding: 16px 20px !important; }
  .nv-story-grid .post-title    { height: auto !important; }
  .nv-story-grid .from_the_blog_excerpt { height: auto !important; }
body .hethonglabhome {padding-left:10px;padding-right:10px; padding-bottom:0 !important;}
	body .doingubacsihome {padding-top:0 !important;}
  /* 5. TESTIMONIAL ("Nhận xét của khách hàng")
     Ảnh 296×400px ngang → stack dọc, ảnh full width */
  .nv-testi-slide {
    flex-direction: column !important;
  }
.nv-testi-photo { display: none !important; }
  .nv-testi-card {
    padding: 24px 20px !important;
  }
  .nv-testi-text { font-size: 16px !important; }
  .nv-review-nav { position: static !important; justify-content: flex-start !important; margin-top: 16px !important; }
	.toaan .nv-section-title:after, .toaan .nv-section-title:before {margin-left: -140px !important;}
  /* 6. EXPERT SECTION ("Đội ngũ bác sĩ")
     padding quá rộng trên mobile */
  .nv-ex-detail {
    padding: 28px 20px 28px 20px !important;
    border-radius: 20px !important;
    min-height: unset !important;
  }

  /* 7. ABOUT FLOATING LABELS ("Về chúng tôi")
     position:absolute với tọa độ cố định → ẩn trên mobile */
  .nv-tech-label { display: none !important; }
  .nv-about-desc { margin-bottom: 28px !important; }

  /* 8. LAB SECTION — cells fixed 406px */
  .nv-lab-cell {
    flex: none !important;
    width: 100% !important;
  }
  .nv-lab-card-cover,
  .nv-lab-card-contain { height: 200px !important; }
/* 9. CHỨNG NHẬN — accordion: ẩn panel phải, show ảnh inline trong item active */
  .nv-cert-right { display: none !important; }
  .nv-cert-list { width: 100% !important; flex: none !important; }
  .nv-cert-wrap { gap: 0 !important; }
  /* item wrap để ảnh xuống hàng mới bên dưới title */
  .nv-cert-item { flex-wrap: wrap !important; }
  /* ảnh accordion được JS inject vào mỗi item */
  .nv-cert-accordion-img {
    flex: 0 0 100%;
    width: 100%;
    border-radius: 10px;
    margin-top: 8px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .35s ease, opacity .25s ease;
  }
  .nv-cert-item.nv-active .nv-cert-accordion-img {
    max-height: 400px;
    opacity: 1;
  }
.nv-vmc-row {gap:30px;}
/* 10. LỊCH SỬ HÌNH THÀNH — timeline 3 cột → 2 cột trên mobile
     Desktop: title (1fr) | dot (16px) | desc (1fr) — line ở giữa, padding 80px
     Mobile:  dot (16px) | title + desc stacked — line về bên trái */
  .history-gt .nv-tl-wrap {
    padding: 0 20px !important;
    gap: 32px !important;
  }
  .history-gt .nv-tl-line,
  .history-gt .nv-tl-active {
    left: 28px !important;   /* 20px padding + 8px (tâm dot) */
    transform: none !important;
  }
  .history-gt .nv-tl-item {
    grid-template-columns: 16px 1fr !important;
    gap: 4px 16px !important;
  }
  .history-gt .nv-tl-left {
    grid-column: 2 !important;
    grid-row: 1 !important;
    text-align: left !important;
  }
  .history-gt .nv-tl-dot {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: start !important;
    margin-top: 3px !important;
  }
  .history-gt .nv-tl-right {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
  .history-gt .nv-tl-title { font-size: 18px !important; }
  .history-gt .nv-tl-desc  { font-size: 14px !important;text-align: left; }
	.branches-gt {padding-top:0 !important;}
	.tieudecol {padding-bottom:0 !important;}
  .branches-gt .boxcoso { row-gap: 30px !important; }
	.nv-lh-form-card .col-inner {padding: 20px 10px !important;}
	.nv-lh-branch-row {padding:0 16px;}
.nv-lh-branch-row>.col {
    flex: 0 0 calc((100% - 0px) / 1) !important;
    max-width: calc((100% - 0px) / 1) !important;
}
}