/* ----------------------------------------------------------------
	tokens.css — BRAND CONTROL PANEL (pa-2 · demo construction)
	Nạp SAU construction.css → ghi đè mà không sửa file demo.
	Đổi màu / font toàn site: CHỈ sửa file này.

	An Phát 43 — phương án CHỐT theo chooser: role=navy · font=bvp (Be Vietnam Pro).
	Navy vì identity==deep (#1c3d6e đủ tối) → flat themecolor này AN TOÀN AA cho chữ trắng.
	Trong chooser: styleDemos() bơm --cnvs-themecolor = DEEP của role đang chọn +
	--cnvs-primary-font/--cnvs-body-font = font sans đang chọn (heading sans, đồng bộ 3 bản).
	File này = fallback standalone (khi mở trực tiếp ngoài iframe).
-----------------------------------------------------------------*/

:root {
	/* ── MÀU ── Navy nhận diện (role=navy). KHÔNG scope ở #header để injection inherit toàn demo. */
	--cnvs-themecolor: #1c3d6e;
	--cnvs-themecolor-rgb: 28, 61, 110;

	--cnvs-body-bg: #FFF;

	/* ── FONT ── hệ "bvp": Be Vietnam Pro cho heading + body (sans, sturdy — hợp nhà thầu).
	   secondary CŨNG = Be Vietnam Pro để .font-secondary (vd testimonial fw-normal) KHÔNG rơi vào
	   Libre Bodoni 400 = đậm giả (bẫy 5: Libre Bodoni chỉ có -700.woff2).
	   Serif nhấn chỉ dùng cho hero cỡ lớn @700 (rule #slider cuối file). */
	--cnvs-primary-font: "Be Vietnam Pro", system-ui, sans-serif;    /* headings → sans */
	--cnvs-body-font: "Be Vietnam Pro", system-ui, sans-serif;       /* body */
	--cnvs-secondary-font: "Be Vietnam Pro", system-ui, sans-serif;  /* .font-secondary → sans (chống faux serif) */

	/* ── CTA ── cam theo VAI TRÒ màu (P1/P7), KHÔNG chạy theo --cnvs-themecolor.
	   Navy action = #c2410c. Chữ nút = --ap-cta-ink: mực #1e1e1e trên #c2410c chỉ 3.29 (FAIL AA),
	   TRẮNG đạt 5.18 (PASS). Trong chooser: styleDemos bơm đè --ap-cta theo role đang chọn.
	   Đồng bộ pa-4/pa-5 (cùng bộ #c2410c · lift #f05211). */
	--ap-cta: #c2410c;
	--ap-cta-rgb: 194, 65, 12;
	--ap-cta-ink: #ffffff;
	--ap-cta-lift: #f05211;
	--ap-cta-lift-ink: #1e1e1e;
}

/* ── CTA OVERRIDE ──
   Canvas: `.button { --cnvs-btn-color: var(--cnvs-themecolor); background: var(--cnvs-btn-color); color:#fff }`
   → nút form đang ăn theo MÀU NHẬN DIỆN + chữ trắng (trên cam = 3.37 FAIL), trái quy ước "cam = hành động".
   Đổi --cnvs-btn-color → cam (giữ box-shadow 3d = rgba đen, không phụ thuộc màu) + ép mực.
   Selector id (1,1,0) thắng .button (0,1,0). Bản dựng có ĐÚNG 1 nút submit: #quick-contact-form-submit. */
#quick-contact-form-submit.button,
#quick-contact-form-submit.button:hover {
	--cnvs-btn-color: var(--ap-cta);
	color: var(--ap-cta-ink) !important;
	opacity: 1;   /* .button-3d:hover hạ opacity .9 → giữ 1 để không loãng tương phản mực/cam */
}

/* ── SỬA AA ── 3 chỗ chữ xám MẶC ĐỊNH của Canvas/construction < 4.5 (gate đo được).
   Giữ nguyên vai trò "phụ", chỉ đậm/nhạt vừa đủ đạt AA; không đụng link/giá trị chính. */
.header-extras li .he-text { color: #565656; }        /* topbar: nhãn #888/#F9F9F9 3.37 → 6.97 (SĐT vẫn navy) */
.entry-meta, .entry-meta li { color: #5f666d; }        /* meta bài viết: contrast-500 #adb5bd/trắng 2.07 → 5.82 */
.dark .footer-big-contacts span { color: #b6bbc0; }    /* footer: nhãn #888/#343a40 3.25 → 5.95 */

/* ── HERO HEAD FONT ── hero slider = "tiêu đề nhấn cỡ lớn" → kiểu chữ tiêu đề đã chọn (--cnvs-primary-font).
   Cap 700 !important vì font subset chỉ 400/600/700 → 700 = face thật, tránh faux-bold (bẫy 5). Chỉ h1/h2 trong .slider-caption
   (tiêu đề lớn của các slide); h3 eyebrow + heading khác theo primary-font. */
#slider .slider-caption h1,
#slider .slider-caption h2 {
	font-family: var(--cnvs-primary-font) !important;
	font-weight: 700 !important;
}

/* ================================================================
   §8 · VIETNAMESE LAYOUT GUARDS — port từ tokens.css bản dựng thật.
   Dấu tiếng Việt cao → dễ tràn ngang / chồng dòng. Placeholder trong preview
   ngắn nên gate hScroll xanh sẵn; guard này để AN TOÀN với nội dung THẬT.
   ================================================================ */
.menu-container>.menu-item>.menu-link{ white-space:nowrap; }          /* nav: không ngắt giữa item */
.feature-box .fbox-content h3,
.feature-box p,
.portfolio-desc h3, .portfolio-desc span,
.entry-title, .entry-title h2, .entry-title h3,
.testi-content p, .team-title h4, .heading-block h2, .heading-block h3,
.footer-big-contacts{ overflow-wrap:anywhere; }                        /* ngắt từ dài → không tràn ngang */
h1,h2,h3,h4,h5,.heading-block h2,.entry-title{ line-height:1.3; }      /* nới line-height tránh dấu chồng dòng */
.feature-box .fbox-icon{ flex-shrink:0; }                              /* icon không co khi text dài */
#slider .slider-caption, .slider-caption p{ overflow-wrap:anywhere; }  /* caption hero dài → giữ trong khung */
