/* ==========================================================================
   NMT – Gói A: sửa nhanh truy cập & khả năng đọc (child theme oceanwp-child)
   Màu thương hiệu: teal #0097B2 · chữ/link #007A91 (đạt 5,0:1 trên trắng) · vàng #FFC20B · nền tối #0B2229
   ========================================================================== */

/* A1. Chữ trên nút nền vàng: dùng chữ tối (11:1) thay vì trắng (1,6:1) */
.elementor-form button[type="submit"].elementor-button,
.elementor-form .elementor-field-type-submit .elementor-button,
.elementor-form .elementor-button .elementor-button-text,
.elementor-price-table__button.elementor-button {
	color: #0B2229 !important;
}

/* A2. Giá sản phẩm: teal đậm thay cho vàng/xanh lá nhạt (trên nền trắng) */
.premium-woo-products-details-wrap .price,
.premium-woo-products-details-wrap .price .woocommerce-Price-amount,
.woo-entry-inner .price,
.woo-entry-inner .price .woocommerce-Price-amount,
.elementor-widget-woocommerce-product-price .price,
.elementor-widget-woocommerce-product-price .price .woocommerce-Price-amount {
	color: #007A91 !important;
	font-weight: 700;
}

/* A3. Ngày đăng / thông tin phụ của bài viết: xám đậm hơn (đạt 4,5:1) */
.premium-blog-meta-data,
.premium-blog-meta-data span,
.premium-blog-meta-data i {
	color: #5B6770 !important;
}

/* A4. Viền focus rõ ràng cho người dùng bàn phím (thấy được trên cả nền sáng lẫn tối) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid #FFC20B !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px #0B2229 !important;
}
.nmt-skip-link {
	position: fixed;
	left: 12px;
	top: -80px;
	z-index: 100000;
	background: #0B2229;
	color: #fff !important;
	padding: 12px 18px;
	border-radius: 0 0 8px 8px;
	font-weight: 700;
	text-decoration: none;
	transition: top .15s ease-out;
}
.nmt-skip-link:focus { top: 0; }

/* A5. Chặn tràn ngang trên điện thoại (khung giỏ hàng OceanWP nằm ngoài màn hình + khung ảnh sản phẩm).
   Website không bán online nên khung giỏ hàng của theme được ẩn hẳn. */
html, body { overflow-x: clip; }
.oceanwp-cart-sidebar,
.oceanwp-cart-sidebar-overlay { display: none !important; }
.woocommerce-product-gallery { max-width: 100%; overflow: hidden; }

/* A8. Chữ dễ đọc: bài viết 17px, sản phẩm 16px, thẻ sản phẩm 15px; khung đọc tối đa ~70 ký tự */
.elementor-widget-theme-post-content :is(p, ul, ol, h1, h2, h3, h4, h5, blockquote, table, pre) {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
.elementor-widget-theme-post-content p,
.elementor-widget-theme-post-content li {
	font-size: 17px !important;
	line-height: 1.75 !important;
}
.elementor-widget-woocommerce-product-content p,
.elementor-widget-woocommerce-product-content li,
.woocommerce-product-details__short-description p,
.woocommerce-product-details__short-description li {
	font-size: 16px !important;
	line-height: 1.7 !important;
}
.premium-woo-product__link .woocommerce-loop-product__title,
.woocommerce-loop-product__title,
.woo-entry-inner li.title a {
	font-size: 15px !important;
	line-height: 1.4 !important;
}
.elementor-price-table__feature-inner span { font-size: 15px !important; }
.premium-woo-empty p { font-size: 15px !important; }

/* A9. Liên kết gọi/email dùng màu chữ xung quanh, gạch chân khi trỏ chuột */
.elementor a[href^="tel:"]:not(.elementor-button),
.elementor a[href^="mailto:"]:not(.elementor-button) {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* A21. Vùng bấm tối thiểu 44px (hình nhìn thấy giữ nguyên) */
.elementor-form .elementor-field-textual,
.elementor-form .elementor-field-group .elementor-field { min-height: 48px; }
.elementor-form .elementor-button,
.bdt-slide-btn,
.elementor .elementor-button { min-height: 44px; }
.bdt-dotnav > * > * { position: relative; }
.bdt-dotnav > * > *::after { content: ""; position: absolute; inset: -10px; }

/* A7. Nút nổi (Buttonizer) trên điện thoại: thanh ngang sát đáy (Gọi · Facebook · Zalo · Lên đầu), không che chữ bên phải */
@media (max-width: 767px) {
	body { padding-bottom: 64px; }
	.buttonizer-group {
		position: fixed !important;
		left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important;
		width: 100% !important; height: 60px !important;
		display: flex !important; flex-direction: row-reverse !important;
		justify-content: space-evenly !important; align-items: center !important;
		background: #0B2229 !important; visibility: visible !important;
		margin: 0 !important; padding: 0 8px !important;
		box-shadow: 0 -2px 10px rgba(0, 0, 0, .3) !important;
	}
	.buttonizer-group .buttonizer-button { margin: 0 !important; width: 48px !important; height: 48px !important; }
}

/* A21b. Vùng bấm lớn hơn cho liên kết chữ trong thẻ (tiêu đề danh mục/bài viết/sản phẩm, giá "Liên hệ báo giá", số điện thoại/email) */
.elementor-image-box-wrapper { position: relative; }
.elementor-image-box-title a::after { content: ""; position: absolute; inset: 0; }
.premium-blog-entry-title a,
.woocommerce-loop-product__title a,
.woo-entry-inner li.title a,
a.nmt-contact-price,
.elementor-icon-box-description a,
.elementor-widget-text-editor li a { display: inline-block; padding: 12px 0; }

/* A3b. Đoạn mô tả bài viết (xám #7A7A7A = 3,9:1) → xám đậm hơn */
.premium-blog-post-content,
.premium-blog-post-content p,
.premium-blog-excerpt-container,
.premium-blog-excerpt-container p,
.premium-blog-content-wrapper p { color: #4B5563 !important; }

/* A6. Trang 404 (dải nền tối phía trên để thanh menu chữ trắng đọc được) */
.nmt-404 { background: #fff; color: #0B2229; text-align: center; }
.nmt-404__band { background: linear-gradient(135deg, #0B2229 0%, #007A91 100%); padding: 150px 20px 56px; }
.nmt-404__inner { max-width: 640px; margin: 0 auto; padding: 48px 20px 96px; }
.nmt-404__code { font-size: 96px; line-height: 1; font-weight: 800; color: #FFC20B; margin: 0 0 8px; }
.nmt-404 h1 { font-size: 32px; line-height: 1.25; margin: 0; color: #fff; }
.nmt-404__text { font-size: 18px; line-height: 1.7; margin: 0 0 28px; }
.nmt-404__links { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 0 0 28px; }
.nmt-btn { display: inline-flex; align-items: center; min-height: 48px; padding: 0 24px; border: 2px solid #007A91; border-radius: 30px; color: #007A91; font-weight: 700; text-decoration: none; }
.nmt-btn:hover { background: #007A91; color: #fff; }
.nmt-btn--primary { background: #FFC20B; border-color: #FFC20B; color: #0B2229; }
.nmt-btn--primary:hover { background: #0B2229; border-color: #0B2229; color: #fff; }
.nmt-404__help { font-size: 16px; }
.nmt-404__help a { color: #007A91; font-weight: 700; }
/* A21c. Nút gửi form cao 48px */
.elementor-form button.elementor-button { min-height: 48px !important; }

/* A8b. Chữ chân trang, mô tả bài viết và nút gửi: không nhỏ hơn 14–15px */
[data-elementor-type="footer"] .elementor-widget-text-editor p,
[data-elementor-type="footer"] .elementor-widget-text-editor li,
[data-elementor-type="footer"] .elementor-widget-text-editor li a,
[data-elementor-type="footer"] .elementor-icon-box-description { font-size: 15px !important; line-height: 1.7 !important; }
.premium-blog-post-content { font-size: 15px !important; line-height: 1.65 !important; }
.elementor-form .elementor-button .elementor-button-text { font-size: 14px !important; letter-spacing: .5px; }

/* A1b. Thẻ danh mục trên trang Dịch vụ/Sản phẩm (nền trắng): chữ teal đậm đạt 5:1 */
.elementor-96 .elementor-image-box-title a,
.elementor-97 .elementor-image-box-title a { color: #007A91 !important; }

/* A1c. Bảng giá (Dịch vụ), nhãn ruy-băng, ô chọn sắp xếp, tiêu đề vàng trên nền trắng (Giới thiệu) */
.elementor-price-table__feature-inner span { color: #4B5563 !important; }
.elementor-ribbon-inner { color: #0B2229 !important; }
.theme-selectInner { color: #4B5563 !important; }
.elementor-91 h3.elementor-heading-title,
.elementor-91 .elementor-divider__text {
	color: #007A91 !important;
}
.elementor-91 h3.elementor-heading-title {
	display: inline-block;
	border-bottom: 3px solid #FFC20B;
	padding-bottom: 4px;
}
