/* 10-luxe.css — hệ chữ & nhịp TOÀN SITE davietbeauty.vn
   a5 (03/11, đợt 2): token màu · nút chung · nét kẻ.  b1 (03/11, đợt 3): viết lại thang chữ cho UTM Avo 400/700 + Motherland.
   Nguồn: brands/davietbeauty/outputs/designs/redesign-2026-11-03/huong-thiet-ke.md + bộ nhận diện G.Organic (cùng cặp font).
   KHÔNG đụng: nút CTA header (a6/50), chân trang (a7/60), bố cục trang chủ (b2), bố cục trang nội dung (b3).
   Ghi lý do (Reflex, frontend-design): nút viên thuốc + eyebrow chữ hoa = chỉ định của hướng thiết kế đã duyệt, không phải mặc định.
   Gỡ = xoá file. */
/* Font thương hiệu (owner 03/11): UTM Avo + NVN Motherland Signature — tự lưu WOFF2 (bản -v2: bỏ hinting + có gasp) */
@font-face{font-family:"UTM Avo";src:url("fonts/utm-avo-400-v2.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"UTM Avo";src:url("fonts/utm-avo-700-v2.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"UTM Avo";src:url("fonts/utm-avo-400i-v2.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"UTM Avo";src:url("fonts/utm-avo-700i-v2.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:"NVN Motherland Signature";src:url("fonts/motherland-signature-v2.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
html,body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none;font-kerning:normal}

:root {
  --ink: #262262; --night: #1A1846; --text: #4A4760; --muted: #5F5B70;
  --gold: #7E6129; --champagne: #B89463; --porcelain: #F7F3EE; --paper: #FFFDF9; --line: #E2D9CC;
  --serif: "UTM Avo", "Be Vietnam Pro", system-ui, sans-serif;
  --script: "NVN Motherland Signature", cursive;
  --sans: "UTM Avo", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ease: cubic-bezier(.2,.7,.2,1);
  /* Thang chữ (b1). Avo chỉ có 400/700 — KHÔNG dùng 300/500/600 (font-synthesis:none → rơi về 400/700). */
  --fs-h1: clamp(30px, calc(2vw + 21px), 48px);     /* 390 → 30 · 1366 → 48 (tiêu đề bài dài: ≤4 dòng ở 390) */
  --fs-h2: clamp(28px, calc(1.2vw + 23px), 40px);   /* 390 → 28 · 1366 → 39.5 */
  --fs-h3: clamp(21px, calc(.5vw + 19px), 26px);    /* 390 → 21 · 1366 → 26 */
  --fs-h4: clamp(18px, calc(.25vw + 17px), 21px);
  --fs-body: 17px; --fs-small: 14px; --fs-caption: 13px; --fs-eyebrow: 12px;
  --radius-card: 16px; --radius-field: 12px;
  /* Nhịp section (token chung — bố cục từng trang do b2/b3 dùng) */
  --space-section: clamp(56px, calc(5.6vw + 34px), 112px);  /* 390 → 56 · 1366 → 110 */
  /* Elementor global typography → theo token (widget dùng biến toàn cục sẽ tự đổi) */
  --e-global-typography-primary-font-family: "UTM Avo";
  --e-global-typography-secondary-font-family: "UTM Avo";
  --e-global-typography-text-font-family: "UTM Avo";
  --e-global-typography-accent-font-family: "UTM Avo";
}
@media (max-width: 767px) { :root { --fs-body: 16px; } }

/* ================= CHỮ: HỌ CHỮ ================= */
body { font-family: var(--sans) !important; color: var(--text); background-color: var(--porcelain); }

body :is(p, li, td, th, dd, dt, label, blockquote, input, textarea, select, button, .elementor-widget-text-editor,
  .elementor-icon-box-description, .lqd-fb__content, .lqd-iconbox-content, .ld-fh-element:not(h1, h2, h3, h4, h5, h6),
  .elementor-post__excerpt, .elementor-post__read-more, .elementor-post-info, .lqd-lp-excerpt, .lqd-lp-meta):not(.elementor-location-footer *) { font-family: var(--sans) !important; }

/* ================= TIÊU ĐỀ: Avo 700, khít, dấu không cắt ================= */
body :is(h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4):not(.elementor-location-footer *),
body .elementor-heading-title:not(h6):not(.elementor-location-footer *),
body :is(.lqd-fb__title, .lqd-iconbox-heading, .elementor-icon-box-title, .elementor-post__title, .lqd-lp-title):not(.elementor-location-footer *) {
  font-family: var(--serif) !important; font-weight: 700 !important; font-style: normal; word-spacing: normal !important; }
body :is(h1, h2, h3, h4, h5) :is(strong, b, span):not([class*="icon"]):not(.elementor-location-footer *) { font-family: inherit !important; font-weight: inherit !important; }
body :is(h1, h2, h3, h4, h5) :is(em, i):not([class*="icon"]):not(.elementor-location-footer *) { font-weight: inherit !important; }

/* Khoảng chữ (thay -5px Elementor đặt cho font cũ) + dòng: chữ lớn khít, chữ nhỏ mở dần */
body :is(h1, .h1):not(:is(.elementor-location-footer, .elementor-location-header) *) { letter-spacing: -.025em !important; line-height: 1.12 !important; text-wrap: balance; }
body :is(h2, .h2):not(:is(.elementor-location-footer, .elementor-location-header) *) { letter-spacing: -.02em !important; line-height: 1.18 !important; text-wrap: balance; }
body :is(h3, .h3):not(:is(.elementor-location-footer, .elementor-location-header) *) { letter-spacing: -.012em !important; line-height: 1.3 !important; text-wrap: balance; }
body :is(h4, h5, .h4):not(:is(.elementor-location-footer, .elementor-location-header) *) { letter-spacing: -.005em !important; line-height: 1.38 !important; }
body :is(.elementor-post__title, .lqd-lp-title):not(.elementor-location-footer *) { letter-spacing: -.01em !important; line-height: 1.32 !important; }
.lqd-split-lines .split-inner, .lqd-split-lines .lqd-lines, .ld-fh-element .split-unit { padding-top: .12em; margin-top: -.12em; padding-bottom: .08em; }

/* Cỡ tiêu đề — chỉ NGOÀI trang chủ (trang chủ = b2). Không đặt cỡ cho tiêu đề thẻ và h3+ trong widget (giữ thẻ không vỡ). */
body:not(.home) h1:not(:is(.elementor-location-header, .elementor-location-footer, .dv-doctor, .dvb) *):not(.dv-b-ahead__h) { font-size: var(--fs-h1) !important; }
body:not(.home) h2.elementor-heading-title:not(:is(.elementor-location-header, .elementor-location-footer, .dv-doctor, .dvb) *):not(.elementor-post__title) { font-size: var(--fs-h2) !important; }
body:not(.home) .elementor-widget-theme-post-content h2 { font-size: var(--fs-h2) !important; }
body:not(.home) .elementor-widget-theme-post-content h3 { font-size: var(--fs-h3) !important; }
body:not(.home) .elementor-widget-theme-post-content :is(h4, h5) { font-size: var(--fs-h4) !important; }
.elementor-widget-theme-post-content :is(h2, h3, h4) { margin-top: 1.7em; margin-bottom: .55em; }
.elementor-widget-theme-post-content h2:first-child { margin-top: 0; }

/* Màu tiêu đề: indigo logo; bỏ chữ gradient tím–xanh. Chừa khối slide ảnh (chữ trắng trên ảnh). */
body :is(h1, h2, h3, h4):not(:is(.elementor-location-footer, .elementor-location-header, .elementor-widget-slides, .elementor-slides) *),
body :is(h1, h2, h3, h4):not(:is(.elementor-location-footer, .elementor-location-header, .elementor-widget-slides, .elementor-slides) *) > a { color: var(--ink) !important; }
.ld-gradient-heading:not(.elementor-location-footer *),
.ld-gradient-heading:not(.elementor-location-footer *) :not(.lqd-highlight-inner):not(.lqd-highlight-brush-svg) {
  background-image: none !important; -webkit-text-fill-color: var(--ink) !important; color: var(--ink) !important; }
.lqd-highlight-classic .lqd-highlight-inner:not(.elementor-location-footer *) { background: rgba(184,148,99,.28) !important; }

/* Eyebrow / nhãn nhỏ: Avo 700 chữ hoa giãn .22em vàng đồng (5,24:1 trên ngà — AA) */
body :is(h6.elementor-heading-title, h6.ld-fh-element, .lqd-fb__subtitle, .elementor-post__badge):not(.elementor-location-footer *) {
  font: 700 var(--fs-eyebrow)/1.45 var(--sans) !important; letter-spacing: .22em !important; text-transform: uppercase; color: var(--gold) !important; }

/* Chữ nhấn viết tay — CHỈ 1–3 từ, cỡ ≥32px (mobile ≥28px); không dùng cho đoạn văn, nút, menu, chữ nhỏ */
.dv-script { font-family: var(--script) !important; font-weight: 400 !important; font-style: normal !important; text-transform: none !important;
  letter-spacing: 0 !important; font-size: clamp(32px, calc(3vw + 20px), 64px); line-height: 1.35 !important; color: var(--gold);
  display: inline-block; padding: .12em .06em .18em; margin: -.12em 0 -.18em; font-feature-settings: "liga", "calt"; }
.dv-script--ink { color: var(--ink); }
.dv-script--sm { font-size: clamp(28px, calc(2vw + 20px), 40px); }
:is(h1, h2, h3) .dv-script { font-size: 1.15em; }

/* ================= THÂN BÀI ================= */
:is(.elementor-widget-text-editor, .elementor-widget-theme-post-content) :is(p, li) { line-height: 1.65; color: var(--text); }
.elementor-widget-theme-post-content :is(p, li) { font-size: var(--fs-body) !important; }
.elementor-widget-theme-post-content p { margin-bottom: 1.1em; }
:is(.elementor-widget-text-editor, .elementor-widget-theme-post-content) :is(strong, b) { color: var(--ink); font-weight: 700; }
/* Chú thích ảnh / chữ phụ: ≥13px, màu không nhạt hơn --muted (5,9:1) */
:is(figcaption, .wp-caption-text, .wp-element-caption, .gallery-caption):not(.elementor-location-footer *) {
  font: 400 var(--fs-caption)/1.55 var(--sans) !important; color: var(--muted) !important; letter-spacing: .01em; margin-top: .6em; }

/* Link trong bài: indigo, gạch chân mảnh */
:is(.elementor-widget-text-editor, .elementor-widget-theme-post-content) a:not(.elementor-button):not(.btn):not(:has(img)) {
  color: var(--ink) !important; text-decoration: underline; text-decoration-thickness: 1px;
  text-underline-offset: .22em; text-decoration-color: rgba(38,34,98,.35); transition: text-decoration-color .2s var(--ease); }
:is(.elementor-widget-text-editor, .elementor-widget-theme-post-content) a:not(.elementor-button):not(.btn):hover { text-decoration-color: var(--ink); }

/* ================= MENU ================= */
.elementor-location-header :is(#primary-nav, .main-nav, .lqd-mobile-sec-nav, .navbar-collapse) a,
.elementor-widget-ld_custom_menu:not(.elementor-location-footer *) a,
.elementor-nav-menu:not(.elementor-location-footer *) a { font-family: var(--sans) !important; letter-spacing: .01em; }
.elementor-location-header #primary-nav > li > a { color: var(--ink) !important; font-weight: 700 !important; }
/* Menu tuỳ biến trong trang (cột "Tin bài"…): xanh theme #5B7BFB → --text (AA), rê chuột → ink */
body:not(.home) .elementor-widget-ld_custom_menu:not(:is(.elementor-location-header, .elementor-location-footer) *) a { color: var(--text) !important; }
body:not(.home) .elementor-widget-ld_custom_menu:not(:is(.elementor-location-header, .elementor-location-footer) *) a:hover { color: var(--ink) !important; }
@media (min-width: 1200px) {
  .elementor-location-header #primary-nav > li > a { font-size: 14px !important; letter-spacing: .01em !important; }
}
/* Menu con: thay rgba(0,0,0,.55) (tương phản thấp) bằng --text */
.elementor-location-header #primary-nav :is(.nav-item-children, .sub-menu) a { color: var(--text) !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.45 !important; }
.elementor-location-header #primary-nav :is(.nav-item-children, .sub-menu) a:hover { color: var(--ink) !important; }
@media (max-width: 1024px) {
  .elementor-location-header #primary-nav > li > a { font-size: 19px !important; line-height: 1.35 !important; letter-spacing: -.005em !important; }
  .elementor-location-header #primary-nav :is(.nav-item-children, .sub-menu) a { font-size: 16px !important; }
}

/* ================= BREADCRUMB ================= */
.breadcrumbs .breadcrumb, .breadcrumbs .breadcrumb-item { font: 400 var(--fs-caption)/1.5 var(--sans) !important; letter-spacing: .01em; color: var(--muted) !important; }
.breadcrumbs .breadcrumb-item a { color: var(--muted) !important; text-decoration: none; }
.breadcrumbs .breadcrumb-item a:hover { color: var(--ink) !important; text-decoration: underline; text-underline-offset: .2em; }
.breadcrumbs .breadcrumb-item:last-child, .breadcrumbs .breadcrumb-item [aria-current] { color: var(--ink) !important; }

/* ================= NÚT CHUNG (trừ header + footer) ================= */
:is(.elementor-button.btn-solid, .btn.btn-solid, .wpcf7-submit, input[type=submit].wpcf7-form-control, .ld_sf_submit,
  .elementor-author-box__button, .ld-ajax-loadmore, .elementor-button:not(.btn)):not(:is(.elementor-location-header, .elementor-location-footer) *) {
  background: var(--ink) !important; background-image: none !important; color: #fff !important; border: 1px solid var(--ink) !important;
  border-radius: 999px !important; font-family: var(--sans) !important; font-weight: 700 !important; font-size: 15px !important;
  line-height: 1.2 !important; letter-spacing: .015em !important; text-transform: none !important; box-shadow: none !important; transform: none !important;
  transition: background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease) !important; }
@media (min-width: 1024px) {
  :is(.elementor-button.btn-solid, .btn.btn-solid, .wpcf7-submit, input[type=submit].wpcf7-form-control, .ld_sf_submit,
    .elementor-author-box__button, .ld-ajax-loadmore, .elementor-button:not(.btn)):not(:is(.elementor-location-header, .elementor-location-footer) *) { font-size: 16px !important; }
}
:is(.elementor-button.btn-solid, .btn.btn-solid, .wpcf7-submit, input[type=submit].wpcf7-form-control, .ld_sf_submit,
  .elementor-author-box__button, .ld-ajax-loadmore, .elementor-button:not(.btn)):not(:is(.elementor-location-header, .elementor-location-footer) *):is(:hover, :focus-visible) {
  background: var(--night) !important; border-color: var(--night) !important; color: #fff !important; transform: none !important; }
:is(.btn.btn-solid, .elementor-button):not(:is(.elementor-location-header, .elementor-location-footer) *) :is(.btn-txt, .elementor-button-text, .btn-icon, i, svg) { color: inherit !important; fill: currentColor; }
:is(.btn.btn-solid, .elementor-button):not(:is(.elementor-location-header, .elementor-location-footer) *) :is(.btn-txt, .elementor-button-text) { font: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; }
.wpcf7-submit:not(.elementor-location-footer *), .ld_sf_submit:not(.elementor-location-footer *) { min-height: 48px; padding-left: 28px !important; padding-right: 28px !important; }

/* Tắt hiệu ứng chữ "liquid" nhảy khi rê chuột */
.btn[class*="btn-hover-txt"]:not(:is(.elementor-location-header, .elementor-location-footer) *):hover .lqd-chars { animation: none !important; }

/* Nút phụ: viền mảnh */
:is(.btn.btn-bordered, .elementor-button.btn-bordered):not(:is(.elementor-location-header, .elementor-location-footer) *) {
  background: transparent !important; color: var(--ink) !important; border: 1px solid rgba(38,34,98,.32) !important; border-radius: 999px !important;
  font-family: var(--sans) !important; font-weight: 700 !important; letter-spacing: .015em !important; box-shadow: none !important; transition: border-color .2s var(--ease), background-color .2s var(--ease) !important; }
:is(.btn.btn-bordered, .elementor-button.btn-bordered):not(:is(.elementor-location-header, .elementor-location-footer) *):hover {
  border-color: var(--ink) !important; background: rgba(38,34,98,.04) !important; }
/* Nút chữ (naked/underlined) ngoài header */
:is(.btn.btn-naked, .btn.btn-underlined):not(:is(.elementor-location-header, .elementor-location-footer) *) { color: var(--ink) !important; font-family: var(--sans) !important; font-weight: 700 !important; letter-spacing: .015em !important; }

/* Phân trang */
.page-numbers:not(ul):not(.dots):not(.elementor-location-footer *) {
  font: 700 15px/1 var(--sans) !important; color: var(--ink) !important; border: 1px solid var(--line) !important; border-radius: 999px !important;
  min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; padding: 0 12px;
  background: transparent; transition: border-color .2s var(--ease), background-color .2s var(--ease); }
a.page-numbers:not(.elementor-location-footer *):hover { border-color: var(--ink) !important; }
.page-numbers.current:not(.elementor-location-footer *) { background: var(--ink) !important; border-color: var(--ink) !important; color: #fff !important; }

/* ================= Ô NHẬP ================= */
.wpcf7-form :is(input:not([type=submit]):not([type=checkbox]):not([type=radio]), textarea, select):not(.elementor-location-footer *) {
  border: 1px solid var(--line) !important; background: var(--paper) !important; color: var(--ink); font: 400 16px/1.4 var(--sans) !important;
  border-radius: var(--radius-field) !important; padding-left: 16px !important; padding-right: 16px !important; }
.wpcf7-form :is(input, textarea, select):focus { border-color: var(--ink) !important; outline: none; box-shadow: 0 0 0 3px rgba(38,34,98,.1) !important; }
:is(input, textarea)::placeholder { color: var(--muted); opacity: 1; font-weight: 400; }
.wpcf7-form label { font: 700 14px/1.4 var(--sans) !important; color: var(--ink); letter-spacing: .005em; }

/* ================= THẺ · NÉT KẺ ================= */
:is(.lqd-fb, .iconbox:not(.iconbox-circle), .elementor-author-box):not(:is(.elementor-location-header, .elementor-location-footer) *) { border-radius: var(--radius-card); }
:is(hr, .wp-block-separator):not(.elementor-location-footer *) { border: 0 !important; border-top: 1px solid var(--champagne) !important; opacity: .55; height: 0; background: none !important; }
.elementor-divider-separator:not(.elementor-location-footer *) { border-top-color: var(--champagne) !important; border-top-width: 1px !important; opacity: .7; }
.elementor-widget-theme-post-content blockquote { border-left: 1px solid var(--champagne) !important; padding-left: 1.2em; font-family: var(--serif) !important; font-style: italic; color: var(--ink); }

:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }

/* Ô "nhập SĐT" (newsletter Hub) ngoài footer: 05-leads.js đổi type=email→tel nên mất kiểu theme → định kiểu lại */
.ld-sf:not(.elementor-location-footer *) .ld_sf_form { position: relative; }
.ld-sf:not(.elementor-location-footer *) .ld_sf_text {
  height: 58px !important; padding: 0 22px !important; border: 1px solid var(--line) !important; border-radius: 999px !important;
  background: var(--paper) !important; color: var(--ink) !important; font: 400 16px/1 var(--sans) !important; box-shadow: 0 2px 8px rgba(26,24,70,.06) !important; }
.ld-sf:not(.elementor-location-footer *) .ld_sf_text:focus { border-color: var(--ink) !important; outline: none; }
.ld-sf:not(.elementor-location-footer *) .ld_sf_text::placeholder { color: var(--muted); opacity: 1; }
.ld-sf--button-inside:not(.elementor-location-footer *) .ld_sf_text { padding-right: 250px !important; }
.ld-sf--button-inside:not(.elementor-location-footer *) .ld_sf_submit { position: absolute !important; top: 5px !important; right: 5px !important; bottom: 5px !important; height: auto !important; min-height: 0 !important; }
@media (max-width: 767px) {
  .ld-sf--button-inside:not(.elementor-location-footer *) .ld_sf_text { padding-right: 22px !important; }
  .ld-sf--button-inside:not(.elementor-location-footer *) .ld_sf_submit { position: relative !important; inset: auto !important; width: 100%; min-height: 52px !important; margin-top: 10px !important; }
}

/* ================= SỬA TRÀN NGANG /tin-tuc (b1) =================
   80-blog.js chèn <header.dv-b-ahead> (width:100%, flex:0 0 auto) vào container flex HÀNG nowrap → widget lưới bài bị ép rộng 0,
   thẻ bài thò ra phải (scrollWidth 1502 ở 1366). Cho container xuống dòng, widget anh em chiếm đủ hàng. */
.e-con:has(> .dv-b-ahead), .e-con-inner:has(> .dv-b-ahead) { flex-wrap: wrap !important; align-content: flex-start; }
:is(.e-con, .e-con-inner):has(> .dv-b-ahead) > .elementor-element { flex: 1 1 100% !important; max-width: 100%; min-width: 0; }
