/* Astra — nha khoa VIN-ALIGN (nhakhoa) giao diện mới theo mockup đã duyệt, design rev 1.
   Màu: navy #063B63, cyan #08B8D8, mint #62E2B2, mist #F1F7FA, ink #18232B, footer #131A20.
   Font: Be Vietnam Pro (tiêu đề + thân), Dancing Script (chữ viết tay trang trí). */
@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=Dancing+Script:wght@500;600&display=swap");

:root { --nk-navy:#063B63; --nk-blue:#087EA8; --nk-cyan:#08B8D8; --nk-mint:#62E2B2; --nk-mist:#F1F7FA; --nk-ink:#18232B; --nk-muted:#5B6B78; }

body, .nav > li > a, button, input, select, textarea, h1, h2, h3, h4, h5, h6, .heading-font { font-family: "Be Vietnam Pro", Arial, sans-serif !important; }
body { color: var(--nk-ink); }

/* ---------- Header ---------- */
#header .header-main { background: var(--nk-navy) !important; background-image: linear-gradient(100deg,#052F50 0%,#063B63 55%,#075A84 100%) !important; }
#header .header-main .nav > li > a { color: rgba(255,255,255,.88) !important; font-size: 14px; font-weight: 500; text-transform: none; letter-spacing: 0; white-space: nowrap; }
#header .header-main .nav > li { margin: 0 10px !important; }
#header .header-main .nav > li.active > a, #header .header-main .nav > li > a:hover { color: #fff !important; }
#header .header-main .nav-line-bottom > li > a:before { background-color: var(--nk-mint) !important; }
#header #logo img { max-height: 52px; width: auto; }
#header .header-button .button, #header .header-button-1 .button { background: linear-gradient(90deg,var(--nk-cyan),var(--nk-mint)) !important; color: #fff !important; border: 0 !important; border-radius: 99px !important; text-transform: none; letter-spacing: 0; font-weight: 600; padding: 0 22px; box-shadow: 0 6px 18px rgba(8,184,216,.35); }
#header .mobile-nav .icon-menu, #header .icon-search, #header .header-main .cart-icon { color: #fff !important; }

/* ---------- Chung ---------- */
.nk-sec { position: relative; overflow: hidden; }
.nk-sec p { font-size: 16px; line-height: 1.65; color: var(--nk-ink); }
.nk-anchor { position: absolute; top: -90px; }
.nk-h2 { font-size: 30px !important; line-height: 1.22 !important; font-weight: 800 !important; color: var(--nk-navy) !important; letter-spacing: -.01em; text-transform: uppercase; margin-bottom: 14px !important; }
.nk-h3 { font-size: 17px !important; font-weight: 700 !important; color: var(--nk-navy) !important; line-height: 1.35 !important; margin-bottom: 6px !important; }
.nk-sub { max-width: 760px; margin: 0 auto 28px !important; color: var(--nk-muted) !important; font-size: 15px !important; }
.nk-eyebrow { color: var(--nk-cyan) !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 13px !important; margin-bottom: 4px !important; }
.nk-accent { color: var(--nk-cyan) !important; }
.nk-light, .nk-light-p { color: #fff !important; }
.nk-light-p { opacity: .9; max-width: 640px; }
.nk-grad { background-image: linear-gradient(110deg,#063B63 0%,#087EA8 58%,#08B8D8 100%) !important; }
.nk-script { font-family: "Dancing Script", cursive !important; font-size: 30px !important; line-height: 1.15 !important; color: rgba(255,255,255,.9) !important; transform: rotate(-8deg); }
.nk-round-img img, .nk-tile img { border-radius: 10px; }
.nk-round-img .img-inner, .nk-tile .img-inner { border-radius: 10px; overflow: hidden; }

.nk-btn.button { border-radius: 99px !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; padding: 0 26px !important; min-height: 46px; line-height: 46px; margin-right: 10px; }
.nk-btn-grad.button { background: linear-gradient(90deg,var(--nk-cyan),var(--nk-mint)) !important; border: 0 !important; color: #fff !important; box-shadow: 0 8px 22px rgba(8,184,216,.35); }
.nk-btn-line.button { border: 1.5px solid rgba(255,255,255,.85) !important; color: #fff !important; background: transparent !important; }
.nk-btn-line.button:hover { background: #fff !important; color: var(--nk-navy) !important; }

/* ---------- Hero ---------- */
.nk-hero .nk-hero-kicker { color: #fff !important; font-size: 26px !important; font-weight: 600 !important; text-transform: uppercase; margin: 0 !important; letter-spacing: .01em; }
.nk-hero .nk-hero-title { color: #fff !important; font-size: 76px !important; line-height: 1.02 !important; font-weight: 800 !important; letter-spacing: -.02em; margin: 2px 0 6px !important; text-shadow: 0 6px 24px rgba(0,0,0,.18); }
.nk-hero .nk-hero-lead { color: #fff !important; font-size: 22px !important; text-transform: uppercase; font-weight: 600; margin-bottom: 26px !important; }
.nk-hero .nk-script-box .nk-script { font-size: 34px !important; }

/* ---------- VIN-ALIGN là gì ---------- */
.nk-intro .nk-h2 { color: var(--nk-blue) !important; }
.nk-intro-img img { border-radius: 14px; }

/* ---------- Lợi ích ---------- */
.nk-benefit .nk-benefit-ico { margin: 0 auto 12px; }
.nk-benefit .nk-h3 { text-transform: uppercase; font-size: 15px !important; }
.nk-benefit p { font-size: 14px !important; color: var(--nk-muted) !important; max-width: 240px; margin: 0 auto; }

/* ---------- Lưới ảnh có chú thích ---------- */
.nk-tiles .col { padding-bottom: 14px !important; }
.nk-tiles .col-inner { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 8px 24px rgba(6,59,99,.18); }
.nk-tile img { border-radius: 0 !important; }
.nk-tile-cap { margin: 0 !important; padding: 10px 12px; font-size: 13px !important; font-weight: 700; text-transform: uppercase; color: var(--nk-navy) !important; text-align: center; line-height: 1.3 !important; }
.nk-services-person .nk-script { position: absolute; left: 6px; top: 36px; }
.nk-services-person .img-inner { border-radius: 16px; }

/* ---------- Phòng khám ---------- */
.nk-clinic .nk-clinic-sm { margin-bottom: 18px; }
.nk-clinic .col { padding-bottom: 20px; }

/* ---------- Trải nghiệm ---------- */
.nk-exp .nk-exp-doctor { padding-bottom: 0 !important; }
.nk-exp .nk-doctor { margin-bottom: -72px; }
.nk-exp .nk-doctor img { filter: drop-shadow(0 18px 30px rgba(0,0,0,.25)); }

/* ---------- Trước sau ---------- */
.nk-ba-slider { background: #fff; border-radius: 14px; box-shadow: 0 10px 30px rgba(6,59,99,.12); padding: 18px; }

/* ---------- Người nổi tiếng ---------- */
.nk-person .col-inner { background: #fff; border-radius: 12px; padding: 20px 10px 16px; box-shadow: 0 8px 24px rgba(6,59,99,.08); height: 100%; }
.nk-person .featured-box .icon-box-img img { border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 2px var(--nk-cyan); }
.nk-person .nk-h3 { text-align: center; font-size: 15px !important; margin-top: 10px !important; }
.nk-person .nk-role { text-align: center; font-size: 12.5px !important; color: var(--nk-muted) !important; margin: 0 !important; font-style: italic; }

/* ---------- 3 bước ---------- */
.nk-step .img { margin: 0 auto 10px; }
.nk-step .img img { filter: drop-shadow(0 16px 28px rgba(0,0,0,.28)); }
.nk-step-no { color: var(--nk-mint) !important; font-weight: 800; text-transform: uppercase; font-size: 15px !important; margin: 0 !important; }
.nk-step-txt { color: #fff !important; font-size: 14px !important; margin: 0 !important; }

/* ---------- Chứng nhận ---------- */
.nk-cred-card .col-inner { background: #fff; border-radius: 12px; padding: 20px; box-shadow: 0 8px 24px rgba(6,59,99,.08); }
.nk-cred-card .nk-h3 { min-height: 46px; }
.nk-cred-card .video { border-radius: 10px; overflow: hidden; }
.nk-press-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px 26px; margin-top: 10px !important; }
.nk-press-logos img { height: 34px; width: auto; }

/* ---------- Blog ---------- */
.nk-blog-list .box-blog-post .box-text { text-align: left; padding: 14px 4px 6px; }
.nk-blog-list .post-title { font-size: 15.5px; font-weight: 700; color: var(--nk-navy); line-height: 1.4; }
.nk-blog-list .box-image { border-radius: 10px; overflow: hidden; }
.nk-blog-list .is-divider { display: none; }
.nk-blog-list .post-meta { color: var(--nk-muted); font-size: 12.5px; }

/* ---------- Đăng ký khám ---------- */
.nk-book .nk-book-img { padding: 0 !important; }
.nk-book .nk-book-img .img, .nk-book .nk-book-img .img-inner { height: 100%; }
.nk-book .nk-book-form { padding: 56px 6% 48px !important; }
.nk-book .nk-book-form .col-inner { max-width: 560px; }
.nk-book .wpcf7 ul.uu-dai { color: #fff; margin: 0 0 14px 18px; }
.nk-book .wpcf7 input[type=text], .nk-book .wpcf7 input[type=email], .nk-book .wpcf7 input[type=tel], .nk-book .wpcf7 select, .nk-book .wpcf7 textarea { background: #fff !important; border: 0 !important; border-radius: 8px !important; box-shadow: none !important; height: 44px; color: var(--nk-ink); }
.nk-book .wpcf7 input[type=submit] { background: linear-gradient(90deg,var(--nk-cyan),var(--nk-mint)) !important; border: 0 !important; border-radius: 99px !important; color: #fff !important; font-weight: 700; text-transform: uppercase; padding: 0 30px; min-height: 46px; }
.nk-book .wpcf7, .nk-book .wpcf7 label, .nk-book .wpcf7 span { color: #fff; }
.nk-book-contact { color: rgba(255,255,255,.9) !important; font-size: 14px !important; margin-top: 8px !important; }
.nk-book-contact a { color: var(--nk-mint) !important; font-weight: 600; }

/* ---------- Footer ---------- */
.nk-footer p, .nk-footer li { color: rgba(255,255,255,.72) !important; font-size: 14px; }
.nk-footer a { color: rgba(255,255,255,.78) !important; }
.nk-footer a:hover { color: var(--nk-mint) !important; }
.nk-foot-company { color: #fff !important; font-weight: 700; margin: 14px 0 8px !important; font-size: 13.5px !important; }
.nk-foot-list, .nk-foot-links { list-style: none; margin: 0 0 12px !important; }
.nk-foot-list li, .nk-foot-links li { margin: 0 0 7px !important; list-style: none; }
.nk-foot-title { color: #fff !important; font-size: 15px !important; font-weight: 700 !important; text-transform: uppercase; margin-bottom: 14px !important; }
.nk-footer .social-icons .button { background: rgba(255,255,255,.1) !important; border: 0 !important; }
.absolute-footer { background: #0D1318 !important; color: rgba(255,255,255,.55) !important; }

/* ---------- Responsive ---------- */
@media (max-width: 849px) {
  .nk-h2 { font-size: 23px !important; }
  .nk-sec p { font-size: 15px; }
  .nk-hero .nk-hero-kicker { font-size: 17px !important; }
  .nk-hero .nk-hero-title { font-size: 46px !important; }
  .nk-hero .nk-hero-lead { font-size: 15px !important; margin-bottom: 16px !important; }
  .nk-hero .nk-btn.button { min-height: 40px; line-height: 40px; padding: 0 18px !important; font-size: 14px; }
  .nk-services-person { display: none; }
  .nk-tile-cap { font-size: 11.5px !important; padding: 8px 6px; }
  .nk-exp .nk-doctor { margin-bottom: -40px; max-width: 70%; margin-left: auto; margin-right: auto; }
  .nk-person .col-inner { padding: 14px 6px; }
  .nk-step-txt { font-size: 12.5px !important; }
  .nk-step-no { font-size: 13px !important; }
  .nk-book .nk-book-img .img-inner { padding-top: 70% !important; }
  .nk-book .nk-book-form { padding: 32px 18px 36px !important; }
  .nk-press-logos img { height: 26px; }
  #header .header-main .nav > li { margin: 0 !important; }
}
@media (min-width: 850px) and (max-width: 1180px) {
  #header .header-main .nav > li { margin: 0 6px !important; }
  #header .header-main .nav > li > a { font-size: 13px; }
}

/* Theme Options gốc ẩn logo desktop và ẩn menu ở trang bài/danh mục — thiết kế mới cần cả hai */
#logo { display: flex !important; }
@media (min-width: 850px) { .header-main .nav .menu-item { display: inline-block !important; } }
#header .nav-line-bottom > li:not(.current-menu-item) > a:before { opacity: 0 !important; }
#header .nav-line-bottom > li:hover > a:before { opacity: 1 !important; }
@media (max-width: 849px) {
  .nk-hero .nk-script-box { display: none !important; }
  .nk-exp .nk-doctor { max-width: 58%; }
}
.nk-book .tuy-chon, .nk-book .tuy-chon .wpcf7-list-item-label, .nk-book .tuy-chon span { color: var(--nk-ink) !important; }

/* ================= Trang trong + blog ================= */
.nk-inner-hero .nk-crumb, .nk-inner-hero .nk-crumb a { color: rgba(255,255,255,.8) !important; font-size: 13px !important; margin-bottom: 6px !important; }
.nk-inner-hero .nk-inner-title { color: #fff !important; font-size: 44px !important; font-weight: 800 !important; text-transform: uppercase; line-height: 1.1 !important; margin: 0 0 8px !important; }
.nk-inner-hero .nk-inner-sub { color: rgba(255,255,255,.9) !important; font-size: 16px !important; margin: 0 !important; }
.nk-table-wrap { overflow-x: auto; border-radius: 12px; box-shadow: 0 10px 28px rgba(6,59,99,.10); background: #fff; }
.nk-table { width: 100%; border-collapse: collapse; margin: 0; }
.nk-table th { background: var(--nk-navy); color: #fff; text-align: left; padding: 14px 18px; font-size: 14px; font-weight: 700; text-transform: uppercase; border: 0; }
.nk-table td { padding: 12px 18px; border: 0; border-bottom: 1px solid #E3EDF2; font-size: 14.5px; text-align: left; color: var(--nk-ink); }
.nk-table tr.nk-round td { background: var(--nk-mist); color: var(--nk-blue); font-weight: 700; font-size: 13.5px; }
.nk-table a { color: var(--nk-blue); font-weight: 600; }
.nk-note { margin-top: 18px !important; font-size: 14px !important; color: var(--nk-muted) !important; }
.nk-contact-list { list-style: none; margin: 18px 0 0 !important; }
.nk-contact-list li { list-style: none; background: #fff; border-radius: 10px; padding: 14px 18px; margin: 0 0 12px !important; box-shadow: 0 6px 18px rgba(6,59,99,.06); font-size: 15px; }
.nk-contact-list strong { display: block; color: var(--nk-navy); font-size: 13px; text-transform: uppercase; margin-bottom: 2px; }
.nk-contact-list a { color: var(--nk-blue); font-weight: 600; }
.nk-contact-form > .col-inner { background: #fff; border-radius: 14px; padding: 30px; box-shadow: 0 10px 28px rgba(6,59,99,.10); }
.nk-form-sub { color: var(--nk-muted) !important; font-size: 14px !important; }
.nk-contact-form input[type=text], .nk-contact-form input[type=email], .nk-contact-form input[type=tel], .nk-contact-form textarea { background: var(--nk-mist) !important; border: 1px solid #DCE8EE !important; border-radius: 8px !important; box-shadow: none !important; }
.nk-contact-form input[type=submit] { background: linear-gradient(90deg,var(--nk-cyan),var(--nk-mint)) !important; border: 0 !important; border-radius: 99px !important; color: #fff !important; font-weight: 700; padding: 0 30px; }
.nk-map-frame { border-radius: 14px; overflow: hidden; box-shadow: 0 10px 28px rgba(6,59,99,.10); margin-top: 10px; }
.nk-map-frame iframe { display: block; }
/* blog */
.single-post article .entry-header, .single-post .entry-header-text { display: none !important; }
.ab-post-head { padding-top: 34px; padding-bottom: 6px; }
.ab-crumb, .ab-crumb a { font-size: 13px; color: var(--nk-muted) !important; margin-bottom: 8px; }
.ab-post-cat { margin-bottom: 6px; }
.ab-post-cat a { display: inline-block; background: var(--nk-mist); color: var(--nk-blue) !important; font-size: 12px; font-weight: 700; text-transform: uppercase; padding: 4px 10px; border-radius: 99px; }
.ab-post-title { font-size: 34px !important; font-weight: 800 !important; color: var(--nk-navy) !important; line-height: 1.25 !important; max-width: 860px; margin-bottom: 8px !important; }
.ab-post-date { color: var(--nk-muted); font-size: 13.5px; }
.single-post .entry-content { font-size: 16px; line-height: 1.75; }
.single-post .entry-content h2, .single-post .entry-content h3, .single-post .entry-content strong:only-child { color: var(--nk-navy); }
.single-post .entry-content img { border-radius: 10px; }
.ab-related-wrap { padding-top: 20px; padding-bottom: 50px; }
.ab-related-title { font-size: 24px !important; font-weight: 800 !important; color: var(--nk-navy) !important; text-transform: uppercase; }
.ab-related-list .box-image, .blog-archive .post-item .box-image, .archive .post-item .box-image { border-radius: 10px; overflow: hidden; }
.ab-related-list .post-title { font-size: 16px; font-weight: 700; color: var(--nk-navy); }
.ab-related-list .is-divider, .archive .post-item .is-divider { display: none; }
.archive .post-item .col-inner, .blog .post-item .col-inner { background: #fff; border-radius: 12px; box-shadow: 0 8px 24px rgba(6,59,99,.08); padding: 14px; }
.archive .post-item .box-text { padding-left: 20px !important; }
.archive .post-item .post-title, .blog .post-item .post-title { font-size: 19px; font-weight: 700; color: var(--nk-navy); }
.archive .post-item .button, .ab-related-list .button { background: none !important; border: 0 !important; color: var(--nk-blue) !important; padding: 0 !important; text-transform: none; font-weight: 600; }
.archive .page-numbers.current, .archive .page-number.current { background: var(--nk-cyan) !important; border-color: var(--nk-cyan) !important; }
#secondary .widget-title, .post-sidebar .widget-title { color: var(--nk-navy); font-size: 16px; font-weight: 800; text-transform: uppercase; }
#secondary .widget, .post-sidebar .widget { background: #fff; border-radius: 12px; box-shadow: 0 8px 24px rgba(6,59,99,.07); padding: 18px; }
.post-sidebar .widget_categories li a, .post-sidebar .recent-blog-posts a { color: var(--nk-ink); }
.nk-side-cta { border-radius: 12px; overflow: hidden; }
.nk-side-cta .bg { background-size: 70% auto !important; background-repeat: no-repeat; }
.nk-side-eyebrow { color: var(--nk-mint) !important; font-size: 12px !important; font-weight: 700; text-transform: uppercase; margin-bottom: 4px !important; }
.nk-side-title { color: #fff !important; font-size: 22px !important; font-weight: 800 !important; line-height: 1.2 !important; margin-bottom: 14px !important; }
.nk-side-hotline, .nk-side-hotline a { color: #fff !important; font-size: 13px !important; font-weight: 600; margin-top: 8px !important; }
@media (max-width: 849px) {
  .nk-inner-hero .nk-inner-title { font-size: 28px !important; }
  .nk-inner-hero .nk-inner-sub { font-size: 14px !important; }
  .ab-post-title { font-size: 25px !important; }
  .nk-table th, .nk-table td { padding: 10px; font-size: 13px; }
  .nk-contact-form > .col-inner { padding: 20px; }
  .archive .post-item .box-text { padding-left: 0 !important; padding-top: 12px !important; }
}
.nk-tile-cap { font-size: 13px !important; }
@media (max-width: 849px) { .nk-tile-cap { font-size: 12.5px !important; } .nk-hero .nk-hero-title { font-size: 40px !important; } }
.nk-foot-hot a { font-size: 26px; font-weight: 800; color: var(--nk-mint) !important; }
.nk-intro .nk-btn { margin-top: 8px; }
@media (max-width: 849px) { .nk-table { min-width: 640px; } .nk-table-wrap { -webkit-overflow-scrolling: touch; } }
@media (max-width: 849px) { .nk-inner-hero .nk-inner-title { font-size: 32px !important; } #header #logo img { max-height: 40px; } }
/* r6: danh mục — bỏ tiêu đề trùng H1 của Flatsome, mobile 1 cột */
.archive .archive-page-header, .archive .page-title.is-large { display: none !important; }
@media (max-width: 549px) { .archive .post-item { flex-basis: 100% !important; max-width: 100% !important; } }
