/* ==========================================================================
   Linh Khí Đất Việt — main.css
   Thành phần giao diện. Mọi giá trị màu/khoảng cách lấy từ biến trong style.css.
   Quy ước tên class: BEM với tiền tố "lk-" (lk-block__element--modifier).
   Breakpoint: mobile-first — 600px (phablet), 768px (tablet), 1024px (desktop), 1280px.

   Mục lục
   1. Layout chung        6. Hero + thanh danh mục     11. Trang sản phẩm
   2. Nút, badge, chip    7. Các khối trang chủ        12. Cửa hàng + bộ lọc
   3. Topbar + Header     8. Video + phụ đề             13. Bài viết / trang
   4. Off-canvas, search  9. Carousel, lightbox         14. Footer + nút nổi
   5. Tiêu đề section    10. Thẻ sản phẩm / bài viết    15. Form
   ========================================================================== */

/* 1. LAYOUT ============================================================== */
.lk-container {
	width: 100%;
	max-width: var(--lk-container);
	margin-inline: auto;
	padding-inline: var(--lk-gutter);
}
.lk-container--narrow { max-width: calc(var(--lk-container-narrow) + 2 * var(--lk-gutter)); }

.lk-section { padding-block: var(--lk-section-y); }
.lk-section--cream { background: var(--lk-cream); }
.lk-center { text-align: center; }
.lk-center .search-form { margin-inline: auto; max-width: 480px; }

.lk-grid { display: grid; gap: var(--lk-space-5) var(--lk-space-4); }
.lk-grid--products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lk-grid--posts { grid-template-columns: 1fr; }
@media (min-width: 768px) {
	.lk-grid--products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--lk-space-6) var(--lk-space-5); }
	.lk-grid--posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	.lk-grid--products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.lk-grid--posts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lk-grid--posts-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lk-grid--shop { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
	.lk-grid--shop { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.lk-layout-sidebar { display: grid; gap: var(--lk-space-7); padding-bottom: var(--lk-section-y); }
@media (min-width: 1024px) {
	.lk-layout-sidebar { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
}

@media (max-width: 599px) { .lk-hide-sm { display: none !important; } }

/* 2. NÚT, BADGE, CHIP ==================================================== */
.lk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--lk-space-2);
	min-height: 44px; /* vùng chạm tối thiểu WCAG */
	padding: 0.7rem 1.4rem;
	border: 1px solid transparent;
	border-radius: var(--lk-radius-sm);
	font-size: var(--lk-fs-sm);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1.2;
	cursor: pointer;
	transition: background var(--lk-dur) var(--lk-ease), color var(--lk-dur), border-color var(--lk-dur), transform var(--lk-dur), box-shadow var(--lk-dur);
}
.lk-btn .lk-icon { width: 18px; height: 18px; }
.lk-btn:hover { transform: translateY(-1px); }
.lk-btn--primary { background: var(--lk-gold-700); color: #fff; }
.lk-btn--primary:hover { background: var(--lk-gold-800); color: #fff; box-shadow: var(--lk-shadow-gold); }
.lk-btn--gold { background: var(--lk-primary); color: var(--lk-ink); }
.lk-btn--outline { border-color: var(--lk-gold-700); color: var(--lk-gold-700); background: transparent; }
.lk-btn--outline:hover { background: var(--lk-gold-700); color: #fff; }
.lk-btn--ghost { border-color: rgba(255, 255, 255, 0.7); color: #fff; background: transparent; }
.lk-btn--ghost:hover { background: #fff; color: var(--lk-ink); }
.lk-btn--zalo { background: #0068ff; color: #fff; }
.lk-btn--zalo:hover { background: #0052cc; color: #fff; }
.lk-btn--lg { padding: 0.95rem 1.9rem; font-size: var(--lk-fs-base); }
.lk-btn--block { width: 100%; }

.lk-badge {
	display: inline-block;
	padding: 0.2rem 0.55rem;
	border-radius: var(--lk-radius-sm);
	font-size: var(--lk-fs-xs);
	font-weight: 600;
	line-height: 1.4;
}
.lk-badge--sale { background: var(--lk-sale); color: #fff; }
.lk-badge--muted { background: #5c5750; color: #fff; }
.lk-badge--gold { background: var(--lk-primary); color: var(--lk-ink); }
.lk-badge--jade { background: var(--lk-jade); color: #fff; }

.lk-chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--lk-space-2);
	margin: 0 0 var(--lk-space-6);
	padding: 0;
	list-style: none;
}
.lk-chip {
	display: inline-block;
	padding: 0.45rem 1rem;
	border: 1px solid var(--lk-gold-200);
	border-radius: 999px;
	background: #fff;
	color: var(--lk-ink);
	font-size: var(--lk-fs-sm);
}
.lk-chip:hover, .lk-chip.is-active { border-color: var(--lk-gold-700); background: var(--lk-gold-700); color: #fff; }
.lk-chip small { opacity: 0.7; }

.lk-eyebrow {
	display: inline-block;
	margin-bottom: var(--lk-space-2);
	color: var(--lk-gold-700);
	font-size: var(--lk-fs-xs);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.lk-note { font-size: var(--lk-fs-sm); color: var(--lk-muted); font-style: italic; }

/* 3. TOPBAR + HEADER ===================================================== */
.lk-topbar {
	background: var(--lk-ink);
	color: var(--lk-gold-300);
	font-size: var(--lk-fs-xs);
}
.lk-topbar a { color: var(--lk-gold-300); }
.lk-topbar a:hover { color: #fff; }
.lk-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--lk-space-4);
	min-height: 36px;
}
.lk-topbar__info, .lk-topbar__menu { display: flex; gap: var(--lk-space-5); margin: 0; padding: 0; list-style: none; }
.lk-topbar__info li { display: inline-flex; align-items: center; gap: var(--lk-space-2); }
.lk-topbar__info .lk-icon { width: 14px; height: 14px; }
.lk-topbar__right { display: flex; align-items: center; gap: var(--lk-space-5); }

.lk-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid var(--lk-line);
	transition: box-shadow var(--lk-dur);
}
.admin-bar .lk-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .lk-header { top: 0; } }
.lk-header.is-scrolled { box-shadow: var(--lk-shadow); }
.lk-header__inner {
	display: flex;
	align-items: center;
	gap: var(--lk-space-4);
	min-height: var(--lk-header-h);
}
.lk-header__brand { flex-shrink: 0; }
.lk-header__brand img { max-height: 56px; width: auto; }
.lk-logo-text { display: flex; flex-direction: column; line-height: 1.1; }
.lk-logo-text__name {
	font-family: var(--lk-font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--lk-ink);
	background: var(--lk-gradient-gold);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.lk-logo-text__tag { font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lk-muted); }

.lk-header__toggle,
.lk-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--lk-ink);
	cursor: pointer;
}
.lk-icon-btn:hover { background: var(--lk-gold-100); color: var(--lk-gold-800); }
.lk-header__actions { display: flex; align-items: center; gap: var(--lk-space-3); margin-left: auto; }
.lk-header__hotline {
	display: none;
	align-items: center;
	gap: var(--lk-space-2);
	padding: 0.35rem 0.9rem 0.35rem 0.4rem;
	border: 1px solid var(--lk-gold-200);
	border-radius: 999px;
	color: var(--lk-ink);
}
.lk-header__hotline > .lk-icon {
	width: 34px; height: 34px; padding: 8px;
	border-radius: 50%;
	background: var(--lk-primary);
	color: var(--lk-ink);
	animation: lk-ring 2.4s infinite;
}
.lk-header__hotline span { display: flex; flex-direction: column; line-height: 1.2; }
.lk-header__hotline small { font-size: 0.68rem; color: var(--lk-muted); }
.lk-header__hotline strong { color: var(--lk-gold-800); }

/* Menu desktop */
.lk-nav { display: none; }
@media (min-width: 1024px) {
	.lk-header__toggle { display: none; }
	.lk-header__hotline { display: inline-flex; }
	.lk-nav { display: block; flex: 1; }
	.lk-nav__list { display: flex; justify-content: center; gap: var(--lk-space-1); margin: 0; padding: 0; list-style: none; }
	.lk-nav__list > li { position: relative; }
	.lk-nav__list > li > a {
		display: flex;
		align-items: center;
		min-height: var(--lk-header-h);
		padding: 0 0.85rem;
		color: var(--lk-ink);
		font-size: var(--lk-fs-sm);
		font-weight: 600;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		position: relative;
	}
	/* Gạch chân vàng trượt ra khi hover (hiệu ứng kiểu Flatsome của mẫu) */
	.lk-nav__list > li > a::after {
		content: "";
		position: absolute;
		left: 0.85rem; right: 0.85rem; bottom: 24px;
		height: 2px;
		background: var(--lk-primary);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform var(--lk-dur) var(--lk-ease);
	}
	.lk-nav__list > li:hover > a::after,
	.lk-nav__list > .current-menu-item > a::after,
	.lk-nav__list > .current-menu-ancestor > a::after { transform: scaleX(1); }
	.lk-nav__list .menu-item-has-children > a { padding-right: 1.4rem; }
	.lk-nav__list .menu-item-has-children > a::before {
		content: "";
		position: absolute;
		right: 0.6rem; top: 50%;
		width: 6px; height: 6px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: translateY(-70%) rotate(45deg);
	}
	/* Dropdown */
	.lk-nav .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		min-width: 250px;
		margin: 0;
		padding: var(--lk-space-3) 0;
		list-style: none;
		background: #fff;
		border-top: 2px solid var(--lk-primary);
		box-shadow: var(--lk-shadow);
		opacity: 0;
		visibility: hidden;
		transform: translateY(8px);
		transition: opacity var(--lk-dur), transform var(--lk-dur), visibility var(--lk-dur);
	}
	.lk-nav li:hover > .sub-menu,
	.lk-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
	.lk-nav .sub-menu a { display: block; padding: 0.5rem 1.25rem; color: var(--lk-text); font-size: var(--lk-fs-sm); }
	.lk-nav .sub-menu a:hover { color: var(--lk-gold-800); background: var(--lk-cream); padding-left: 1.5rem; }
	.lk-nav .sub-menu .sub-menu { top: -14px; left: 100%; }
	/* Mega menu: thêm class "lk-mega" cho mục cha trong Giao diện › Menu */
	.lk-nav .lk-mega { position: static; }
	.lk-nav .lk-mega > .sub-menu {
		left: 50%;
		width: min(1000px, 92vw);
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: var(--lk-space-4);
		padding: var(--lk-space-5);
		transform: translate(-50%, 8px);
	}
	.lk-nav .lk-mega:hover > .sub-menu, .lk-nav .lk-mega:focus-within > .sub-menu { transform: translate(-50%, 0); }
	.lk-nav .lk-mega > .sub-menu > li > a { font-weight: 700; color: var(--lk-ink); border-bottom: 1px solid var(--lk-line); }
	.lk-nav .lk-mega > .sub-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: var(--lk-space-2) 0 0; min-width: 0; }
}

/* 4. OFF-CANVAS + SEARCH ================================================= */
.lk-search { border-top: 1px solid var(--lk-line); background: #fff; padding-block: var(--lk-space-4); }
.lk-search__form { display: flex; gap: var(--lk-space-2); }

.lk-offcanvas { position: fixed; inset: 0; z-index: 1000; }
.lk-offcanvas__backdrop { position: absolute; inset: 0; background: rgba(28, 26, 23, 0.55); animation: lk-fade var(--lk-dur); }
.lk-offcanvas__panel {
	position: absolute;
	inset: 0 auto 0 0;
	width: min(340px, 86vw);
	padding: var(--lk-space-5);
	overflow-y: auto;
	background: #fff;
	animation: lk-slide-in var(--lk-dur) var(--lk-ease);
	display: flex;
	flex-direction: column;
	gap: var(--lk-space-5);
}
.lk-offcanvas__head { display: flex; justify-content: space-between; align-items: center; }
.lk-offcanvas__title { font-family: var(--lk-font-heading); font-size: var(--lk-fs-lg); color: var(--lk-ink); }
.lk-mnav, .lk-mnav .sub-menu { margin: 0; padding: 0; list-style: none; }
.lk-mnav li { border-bottom: 1px solid var(--lk-line); position: relative; }
.lk-mnav a { display: block; padding: 0.8rem 44px 0.8rem 0; color: var(--lk-ink); font-weight: 500; }
.lk-mnav .sub-menu { display: none; padding-left: var(--lk-space-4); }
.lk-mnav .sub-menu li:last-child { border-bottom: 0; }
.lk-mnav .is-open > .sub-menu { display: block; }
.lk-mnav__toggle {
	position: absolute; top: 4px; right: 0;
	width: 44px; height: 44px;
	border: 0; background: transparent; cursor: pointer; color: var(--lk-gold-700);
}
.lk-mnav .is-open > .lk-mnav__toggle .lk-icon { transform: rotate(180deg); }
body.lk-lock { overflow: hidden; }

/* 5. TIÊU ĐỀ SECTION ===================================================== */
.lk-section-head { text-align: center; margin-bottom: var(--lk-space-6); position: relative; }
.lk-section-head__title {
	margin-bottom: var(--lk-space-3);
	font-size: var(--lk-fs-2xl);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.lk-section-head__ornament {
	display: inline-flex;
	align-items: center;
	gap: var(--lk-space-3);
	color: var(--lk-primary);
}
.lk-section-head__ornament span { width: 56px; height: 1px; background: linear-gradient(90deg, transparent, var(--lk-primary)); }
.lk-section-head__ornament span:last-child { transform: scaleX(-1); }
.lk-section-head__ornament .lk-icon { width: 18px; height: 18px; }
.lk-section-head__sub { margin: var(--lk-space-3) auto 0; max-width: 620px; color: var(--lk-muted); }
.lk-section-head__more {
	display: inline-flex; align-items: center; gap: var(--lk-space-1);
	margin-top: var(--lk-space-3);
	font-size: var(--lk-fs-sm); font-weight: 600;
}
.lk-section-head__more .lk-icon { width: 16px; height: 16px; transition: transform var(--lk-dur); }
.lk-section-head__more:hover .lk-icon { transform: translateX(4px); }
@media (min-width: 1024px) {
	.lk-section-head__more { position: absolute; right: 0; bottom: 6px; margin: 0; }
}
.lk-section-head--light .lk-section-head__title { color: #fff; }
.lk-section-head--light .lk-section-head__sub { color: rgba(255, 255, 255, 0.75); }

/* 6. HERO + THANH DANH MỤC =============================================== */
.lk-hero {
	position: relative;
	display: grid;
	min-height: clamp(420px, 62vh, 640px);
	color: #fff;
	background: var(--lk-ink);
	overflow: hidden;
	isolation: isolate;
}
.lk-hero--plain {
	background:
		radial-gradient(ellipse at 78% 30%, rgba(212, 175, 55, 0.35), transparent 55%),
		radial-gradient(ellipse at 10% 90%, rgba(47, 111, 85, 0.35), transparent 50%),
		var(--lk-ink);
}
.lk-hero__slides, .lk-hero__slide { position: absolute; inset: 0; }
.lk-hero__slides { z-index: -1; }
.lk-hero__slide { opacity: 0; transition: opacity 900ms var(--lk-ease); }
.lk-hero__slide.is-active { opacity: 1; }
.lk-hero__slide img { width: 100%; height: 100%; object-fit: cover; }
.lk-hero__slides::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(28, 26, 23, 0.82) 0%, rgba(28, 26, 23, 0.45) 55%, rgba(28, 26, 23, 0.1) 100%);
}
.lk-hero__content { align-self: center; padding-block: var(--lk-space-8) calc(var(--lk-space-8) + 40px); }
.lk-hero__eyebrow { color: var(--lk-gold-300); font-size: var(--lk-fs-sm); letter-spacing: 0.18em; text-transform: uppercase; }
.lk-hero__title { max-width: 720px; color: #fff; font-size: var(--lk-fs-3xl); }
.lk-hero__text { max-width: 560px; font-size: var(--lk-fs-md); color: rgba(255, 255, 255, 0.88); }
.lk-hero__actions { display: flex; flex-wrap: wrap; gap: var(--lk-space-3); margin-top: var(--lk-space-5); }
.lk-hero__actions .lk-btn--primary { background: var(--lk-primary); color: var(--lk-ink); }
.lk-hero__actions .lk-btn--primary:hover { background: var(--lk-gold-300); color: var(--lk-ink); }
.lk-hero__dots { position: absolute; bottom: 64px; left: 50%; display: flex; gap: 8px; transform: translateX(-50%); z-index: 2; }
.lk-hero__dots button { width: 28px; height: 4px; padding: 0; border: 0; background: rgba(255, 255, 255, 0.45); cursor: pointer; }
.lk-hero__dots button.is-active { background: var(--lk-primary); }

.lk-catbar { position: relative; z-index: 3; margin-top: -40px; }
.lk-catbar__list {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(130px, 1fr);
	gap: var(--lk-space-3);
	margin: 0 auto;
	padding-block: 0 var(--lk-space-2);
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.lk-catbar__list::-webkit-scrollbar { display: none; }
.lk-catbar__list li { scroll-snap-align: start; }
.lk-catbar__item {
	display: flex; flex-direction: column; align-items: center; gap: var(--lk-space-2);
	height: 100%;
	padding: var(--lk-space-4) var(--lk-space-3);
	background: #fff;
	border: 1px solid var(--lk-line);
	border-radius: var(--lk-radius);
	box-shadow: var(--lk-shadow);
	text-align: center;
	color: var(--lk-ink);
	transition: transform var(--lk-dur), border-color var(--lk-dur);
}
.lk-catbar__item:hover { transform: translateY(-4px); border-color: var(--lk-primary); color: var(--lk-gold-800); }
.lk-catbar__img {
	display: grid; place-items: center;
	width: 72px; height: 72px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--lk-cream);
	border: 2px solid var(--lk-gold-200);
	color: var(--lk-gold-700);
}
.lk-catbar__img img { width: 100%; height: 100%; object-fit: cover; }
.lk-catbar__name { font-weight: 600; font-size: var(--lk-fs-sm); }

/* 7. KHỐI TRANG CHỦ ====================================================== */
/* Lý do chọn */
.lk-reasons { padding-block: var(--lk-space-7); }
.lk-reasons__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--lk-space-5); margin: 0; padding: 0; list-style: none; }
@media (min-width: 1024px) { .lk-reasons__grid { grid-template-columns: repeat(4, 1fr); } }
.lk-reasons__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--lk-space-3); }
@media (min-width: 768px) { .lk-reasons__item { flex-direction: row; text-align: left; align-items: flex-start; } }
.lk-reasons__icon {
	flex-shrink: 0;
	display: grid; place-items: center;
	width: 56px; height: 56px;
	border-radius: 50%;
	background: var(--lk-gold-100);
	color: var(--lk-gold-800);
}
.lk-reasons__title { margin-bottom: var(--lk-space-1); font-family: var(--lk-font-body); font-size: var(--lk-fs-base); font-weight: 600; }
.lk-reasons__item p { margin: 0; font-size: var(--lk-fs-sm); color: var(--lk-muted); }

/* Câu chuyện thương hiệu */
.lk-story { background: var(--lk-ink); color: rgba(255, 255, 255, 0.85); }
.lk-story__grid { display: grid; gap: var(--lk-space-7); align-items: center; }
@media (min-width: 768px) { .lk-story__grid { grid-template-columns: 1fr 1fr; } }
.lk-story__media { position: relative; }
.lk-story__media::before {
	content: ""; position: absolute; inset: 16px -16px -16px 16px;
	border: 1px solid var(--lk-primary);
	border-radius: var(--lk-radius);
}
.lk-story__media img { position: relative; border-radius: var(--lk-radius); width: 100%; aspect-ratio: 1; object-fit: cover; }
.lk-story .lk-eyebrow { color: var(--lk-gold-300); }
.lk-story__title { color: #fff; font-size: var(--lk-fs-2xl); }
.lk-story__sign a { color: inherit; }
.lk-story__sign { font-family: var(--lk-font-heading); font-style: italic; color: var(--lk-gold-300); font-size: var(--lk-fs-lg); }
.lk-story .lk-btn--primary { background: var(--lk-primary); color: var(--lk-ink); }

/* Tư vấn theo mệnh */
.lk-elements__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--lk-space-4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .lk-elements__grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .lk-elements__grid { grid-template-columns: repeat(5, 1fr); } }
.lk-elements__grid li:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (min-width: 768px) { .lk-elements__grid li:last-child:nth-child(odd) { grid-column: auto; } }
.lk-element-card {
	display: flex; flex-direction: column; align-items: center; gap: var(--lk-space-2);
	height: 100%;
	padding: var(--lk-space-5) var(--lk-space-4);
	border: 1px solid var(--lk-line);
	border-radius: var(--lk-radius-lg);
	background: #fff;
	text-align: center;
	color: var(--lk-text);
	transition: border-color var(--lk-dur), box-shadow var(--lk-dur), transform var(--lk-dur);
}
.lk-element-card:hover { border-color: var(--lk-primary); box-shadow: var(--lk-shadow-gold); transform: translateY(-4px); color: var(--lk-text); }
.lk-element-card__swatch { display: flex; }
.lk-element-card__swatch span { width: 30px; height: 30px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--lk-line); margin-left: -8px; }
.lk-element-card__swatch span:first-child { margin-left: 0; }
.lk-element-card__name { margin: var(--lk-space-2) 0 0; font-size: var(--lk-fs-lg); }
.lk-element-card__colors { margin: 0; font-size: var(--lk-fs-sm); color: var(--lk-muted); }
.lk-element-card__more { margin-top: auto; display: inline-flex; align-items: center; gap: 4px; font-size: var(--lk-fs-sm); font-weight: 600; color: var(--lk-gold-700); }
.lk-element-card__more .lk-icon { width: 16px; height: 16px; }

/* Tin tức */
.lk-news__grid { display: grid; gap: var(--lk-space-5); }
@media (min-width: 1024px) {
	.lk-news__grid { grid-template-columns: 1.15fr 1fr; }
	.lk-news__list { display: grid; gap: var(--lk-space-4); }
	.lk-news__list .lk-post-card { display: grid; grid-template-columns: 180px 1fr; gap: var(--lk-space-4); border: 0; box-shadow: none; }
	.lk-news__list .lk-post-card__body { padding: 0; }
	.lk-news__list .lk-post-card__excerpt { display: none; }
	.lk-news__lead .lk-post-card__title { font-size: var(--lk-fs-xl); }
}
.lk-news__list { display: grid; gap: var(--lk-space-5); }

/* Slogan + cửa hàng */
.lk-slogan { padding-block: var(--lk-space-7); background: var(--lk-gradient-gold); text-align: center; }
.lk-slogan__text { margin: 0; font-family: var(--lk-font-heading); font-size: var(--lk-fs-2xl); font-style: italic; color: var(--lk-ink); }
.lk-stores__grid { display: grid; gap: var(--lk-space-6); align-items: start; }
@media (min-width: 768px) { .lk-stores__grid { grid-template-columns: 1fr 1.4fr; } }
.lk-stores__card { display: flex; flex-direction: column; gap: var(--lk-space-3); padding: var(--lk-space-5); border-left: 3px solid var(--lk-primary); background: var(--lk-cream); font-style: normal; }
.lk-stores__card span { display: flex; gap: var(--lk-space-2); align-items: flex-start; }
.lk-stores__card .lk-icon { flex-shrink: 0; width: 18px; color: var(--lk-gold-700); }
.lk-stores__map iframe { width: 100%; aspect-ratio: 16 / 10; border-radius: var(--lk-radius); }

/* 8. VIDEO + PHỤ ĐỀ ====================================================== */
.lk-videos { background: var(--lk-ink); color: rgba(255, 255, 255, 0.85); }
.lk-video {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--lk-radius);
	background: #000;
	cursor: pointer;
}
.lk-video img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--lk-ease), opacity var(--lk-dur); }
.lk-video:hover img { transform: scale(1.04); opacity: 0.85; }
.lk-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.lk-video__play {
	position: absolute; top: 50%; left: 50%;
	display: grid; place-items: center;
	width: 68px; height: 68px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--lk-primary);
	color: var(--lk-ink);
	transform: translate(-50%, -50%);
	box-shadow: 0 0 0 10px rgba(212, 175, 55, 0.25);
	cursor: pointer;
	transition: transform var(--lk-dur);
}
.lk-video__play .lk-icon { width: 30px; height: 30px; margin-left: 4px; }
.lk-video:hover .lk-video__play { transform: translate(-50%, -50%) scale(1.08); }

.lk-video-stage { display: grid; gap: var(--lk-space-5); }
@media (min-width: 1024px) { .lk-video-stage { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); align-items: stretch; } }
.lk-video-stage__player { display: flex; flex-direction: column; gap: 0; }
.lk-video-stage__player .lk-video { border-radius: var(--lk-radius) var(--lk-radius) 0 0; }
/*
 * Dải phụ đề: chiều cao tối thiểu 2 dòng cố định → phụ đề dài/ngắn không làm
 * nhảy layout. Chữ 18px trên nền đen tuyền, tương phản 17:1.
 */
.lk-video-stage__caption {
	display: flex; align-items: center; justify-content: center;
	min-height: calc(var(--lk-fs-md) * 1.6 * 2 + 1.5rem);
	margin: 0;
	padding: 0.75rem 1.25rem;
	background: #000;
	border-radius: 0 0 var(--lk-radius) var(--lk-radius);
	border-top: 1px solid rgba(212, 175, 55, 0.35);
	color: #fff;
	font-size: var(--lk-fs-md);
	line-height: 1.6;
	text-align: center;
}
.lk-video-stage__side {
	display: flex; flex-direction: column; gap: var(--lk-space-4);
	padding: var(--lk-space-5);
	border: 1px solid rgba(212, 175, 55, 0.3);
	border-radius: var(--lk-radius);
	background: var(--lk-ink-soft);
	min-width: 0;
}
.lk-video-stage__title { margin: 0; font-size: var(--lk-fs-lg); color: #fff; }
.lk-video-stage__title a { color: #fff; }
.lk-video-stage__title a:hover { color: var(--lk-gold-300); }
.lk-video-stage__desc { margin: 0; color: rgba(255, 255, 255, 0.78); }
.lk-video-stage__actions { display: flex; flex-wrap: wrap; gap: var(--lk-space-2); margin-top: auto; }
.lk-video-stage__actions .lk-btn--primary { background: var(--lk-primary); color: var(--lk-ink); }

.lk-transcript {
	flex: 1;
	max-height: 360px;
	margin: 0;
	padding: 0 var(--lk-space-2) 0 0;
	overflow-y: auto;
	list-style: none;
	scrollbar-color: var(--lk-gold-700) transparent;
}
.lk-transcript li { display: flex; gap: var(--lk-space-3); padding: var(--lk-space-2); border-radius: var(--lk-radius-sm); line-height: 1.55; color: rgba(255, 255, 255, 0.8); }
.lk-transcript li.is-current { background: rgba(212, 175, 55, 0.14); color: #fff; }
.lk-transcript__time {
	flex-shrink: 0;
	min-width: 52px; height: 26px;
	padding: 0 6px;
	border: 1px solid rgba(212, 175, 55, 0.5);
	border-radius: var(--lk-radius-sm);
	background: transparent;
	color: var(--lk-gold-300);
	font-size: var(--lk-fs-xs);
	font-variant-numeric: tabular-nums;
	cursor: pointer;
}
.lk-transcript__time:hover { background: var(--lk-primary); color: var(--lk-ink); }

.lk-video-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--lk-space-4); margin: var(--lk-space-6) 0 0; padding: 0; list-style: none; }
@media (min-width: 1024px) { .lk-video-list { grid-template-columns: repeat(4, 1fr); } }
.lk-video-list__title { margin: var(--lk-space-2) 0 0; font-family: var(--lk-font-body); font-size: var(--lk-fs-sm); font-weight: 500; line-height: 1.45; color: inherit; }
.lk-videos .lk-video-list__title { color: rgba(255, 255, 255, 0.88); }
.lk-video-list__title a { color: var(--lk-ink); }
.lk-video-list--archive { margin-top: 0; }
@media (min-width: 768px) { .lk-video-list--archive { grid-template-columns: repeat(3, 1fr); } }

/* Trang video đơn */
.lk-video-single__head { margin-bottom: var(--lk-space-5); }
.lk-video-single .lk-video-stage__side { background: var(--lk-ink); }
.lk-video-single__content { margin-top: var(--lk-space-6); max-width: var(--lk-container-narrow); }

/* 9. CAROUSEL, LIGHTBOX ================================================== */
.lk-carousel { position: relative; }
.lk-carousel__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 86%;
	gap: var(--lk-space-4);
	margin: 0;
	padding: var(--lk-space-2) 2px var(--lk-space-4);
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.lk-carousel__track::-webkit-scrollbar { display: none; }
.lk-carousel__track > li { scroll-snap-align: start; }
@media (min-width: 768px) { .lk-carousel__track { grid-auto-columns: calc((100% - 2 * var(--lk-space-4)) / 3); } }
.lk-certs__track { grid-auto-columns: 46%; }
@media (min-width: 768px) { .lk-certs__track { grid-auto-columns: calc((100% - 4 * var(--lk-space-4)) / 5); } }
.lk-carousel__nav {
	position: absolute; top: 45%; z-index: 2;
	display: none; place-items: center;
	width: 44px; height: 44px;
	padding: 0;
	border: 1px solid var(--lk-gold-200);
	border-radius: 50%;
	background: #fff;
	color: var(--lk-gold-800);
	box-shadow: var(--lk-shadow-sm);
	cursor: pointer;
}
.lk-carousel__nav:hover { background: var(--lk-gold-700); color: #fff; }
.lk-carousel__nav--prev { left: -22px; }
.lk-carousel__nav--next { right: -22px; }
@media (min-width: 1024px) { .lk-carousel__nav { display: grid; } }

.lk-quote figure { height: 100%; margin: 0; padding: var(--lk-space-5); display: flex; flex-direction: column; gap: var(--lk-space-3); background: #fff; border-radius: var(--lk-radius); box-shadow: var(--lk-shadow-sm); }
.lk-quote__stars { display: flex; gap: 2px; color: var(--lk-primary); }
.lk-quote__stars .lk-icon { width: 16px; height: 16px; }
.lk-quote__text { flex: 1; margin: 0; padding: 0; border: 0; background: none; font-style: normal; }
.lk-quote__text p { margin: 0; }
.lk-quote__author { display: flex; align-items: center; gap: var(--lk-space-3); text-align: left; }
.lk-quote__author strong { display: block; color: var(--lk-ink); }
.lk-quote__author small { color: var(--lk-muted); }
.lk-quote__avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 2px solid var(--lk-gold-200); }

.lk-cert { text-align: center; }
.lk-cert a { display: block; padding: var(--lk-space-3); border: 1px solid var(--lk-line); border-radius: var(--lk-radius); background: #fff; transition: border-color var(--lk-dur); }
.lk-cert a:hover { border-color: var(--lk-primary); }
.lk-cert img { margin-inline: auto; aspect-ratio: 3 / 4; object-fit: contain; }
.lk-cert__title { margin: var(--lk-space-2) 0 0; font-weight: 600; color: var(--lk-ink); font-size: var(--lk-fs-sm); }
.lk-cert__issuer { margin: 0; font-size: var(--lk-fs-xs); color: var(--lk-muted); }

.lk-lightbox { max-width: min(92vw, 1000px); max-height: 92vh; padding: 0; border: 0; background: transparent; }
.lk-lightbox::backdrop { background: rgba(0, 0, 0, 0.85); }
.lk-lightbox img { max-height: 88vh; width: auto; margin-inline: auto; }
.lk-lightbox button { position: fixed; top: 12px; right: 12px; color: #fff; background: rgba(0, 0, 0, 0.5); }

/* 10. THẺ SẢN PHẨM / BÀI VIẾT ============================================ */
.lk-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--lk-line);
	border-radius: var(--lk-radius);
	overflow: hidden;
	transition: box-shadow var(--lk-dur) var(--lk-ease), border-color var(--lk-dur), transform var(--lk-dur);
}
.lk-product-card:hover { border-color: var(--lk-gold-200); box-shadow: var(--lk-shadow-gold); transform: translateY(-4px); }
.lk-product-card__media { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: var(--lk-cream); }
.lk-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--lk-ease); }
.lk-product-card:hover .lk-product-card__media img { transform: scale(1.07); }
.lk-product-card__badges { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.lk-product-card__body { display: flex; flex-direction: column; flex: 1; gap: var(--lk-space-1); padding: var(--lk-space-3) var(--lk-space-3) var(--lk-space-4); text-align: center; }
@media (min-width: 768px) { .lk-product-card__body { padding: var(--lk-space-4); } }
.lk-product-card__cat { font-size: var(--lk-fs-xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--lk-muted); }
.lk-product-card__title {
	margin: 0;
	font-family: var(--lk-font-body);
	font-size: var(--lk-fs-sm);
	font-weight: 500;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.9em;
}
@media (min-width: 768px) { .lk-product-card__title { font-size: var(--lk-fs-base); } }
.lk-product-card__title a { color: var(--lk-ink); }
.lk-product-card__title a:hover { color: var(--lk-gold-700); }
.lk-product-card__price { margin-top: auto; }
.lk-product-card__cta {
	align-self: center;
	margin-top: var(--lk-space-2);
	padding: 0.45rem 1rem;
	border: 1px solid var(--lk-gold-700);
	border-radius: 999px;
	font-size: var(--lk-fs-xs);
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--lk-gold-700);
}
.lk-product-card__cta:hover { background: var(--lk-gold-700); color: #fff; }

.lk-price { display: inline-flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 0.25rem 0.5rem; }
.lk-price ins { text-decoration: none; font-weight: 700; color: var(--lk-sale); font-size: var(--lk-fs-md); }
.lk-price del { color: var(--lk-muted); font-size: var(--lk-fs-sm); }
.lk-price--contact { font-weight: 700; color: var(--lk-gold-700); }

.lk-post-card { display: flex; flex-direction: column; background: #fff; border-radius: var(--lk-radius); overflow: hidden; border: 1px solid var(--lk-line); transition: box-shadow var(--lk-dur); }
.lk-post-card:hover { box-shadow: var(--lk-shadow); }
.lk-post-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--lk-cream); }
.lk-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--lk-ease); }
.lk-post-card:hover .lk-post-card__media img { transform: scale(1.05); }
.lk-post-card__body { padding: var(--lk-space-4); display: flex; flex-direction: column; gap: var(--lk-space-2); }
.lk-post-card__meta { display: flex; gap: var(--lk-space-3); font-size: var(--lk-fs-xs); color: var(--lk-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.lk-post-card__cat { font-weight: 600; }
.lk-post-card__title { margin: 0; font-size: var(--lk-fs-md); line-height: 1.4; }
.lk-post-card__title a { color: var(--lk-ink); }
.lk-post-card__title a:hover { color: var(--lk-gold-700); }
.lk-post-card__excerpt { margin: 0; font-size: var(--lk-fs-sm); color: var(--lk-muted); }

/* 11. TRANG SẢN PHẨM ===================================================== */
.lk-breadcrumb { padding-block: var(--lk-space-4); font-size: var(--lk-fs-sm); }
.lk-breadcrumb ol { display: flex; flex-wrap: wrap; gap: var(--lk-space-2); margin: 0; padding: 0; list-style: none; }
.lk-breadcrumb li:not(:last-child)::after { content: "/"; margin-left: var(--lk-space-2); color: var(--lk-gold-200); }
.lk-breadcrumb a { color: var(--lk-muted); }
.lk-breadcrumb a:hover { color: var(--lk-gold-700); }
.lk-breadcrumb [aria-current] { color: var(--lk-ink); }

.lk-product__top { display: grid; gap: var(--lk-space-6); padding-bottom: var(--lk-space-7); }
@media (min-width: 1024px) { .lk-product__top { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: var(--lk-space-8); } }

.lk-gallery { position: relative; }
@media (min-width: 1024px) { .lk-gallery { position: sticky; top: calc(var(--lk-header-h) + 16px); align-self: start; } }
.lk-gallery__main { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: var(--lk-radius); background: var(--lk-cream); }
.lk-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
.lk-gallery__badge { position: absolute; top: 14px; left: 14px; }
.lk-gallery__thumbs { display: flex; gap: var(--lk-space-2); margin: var(--lk-space-3) 0 0; padding: 0; list-style: none; overflow-x: auto; }
.lk-gallery__thumbs button, .lk-gallery__video {
	display: grid; place-items: center;
	width: 76px; height: 76px;
	padding: 0;
	border: 2px solid transparent;
	border-radius: var(--lk-radius-sm);
	overflow: hidden;
	background: var(--lk-cream);
	cursor: pointer;
}
.lk-gallery__thumbs button.is-active, .lk-gallery__thumbs button:hover { border-color: var(--lk-primary); }
.lk-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.lk-gallery__video { background: var(--lk-ink); color: var(--lk-gold-300); font-size: var(--lk-fs-xs); gap: 0; align-content: center; }
.lk-gallery__video .lk-icon { width: 22px; height: 22px; }

.lk-product__title { margin-bottom: var(--lk-space-3); font-size: var(--lk-fs-2xl); }
.lk-product__meta { display: flex; flex-wrap: wrap; gap: var(--lk-space-4); font-size: var(--lk-fs-sm); color: var(--lk-muted); }
.lk-stock { font-weight: 600; }
.lk-stock--instock { color: var(--lk-success); }
.lk-stock--outofstock { color: var(--lk-sale); }
.lk-stock--preorder, .lk-stock--contact { color: var(--lk-gold-700); }
.lk-product__price { padding-block: var(--lk-space-4); border-block: 1px dashed var(--lk-gold-200); margin-bottom: var(--lk-space-4); }
.lk-product__price .lk-price { justify-content: flex-start; }
.lk-product__price ins, .lk-product__price .lk-price--contact { font-size: var(--lk-fs-xl); }
.lk-product__excerpt { color: var(--lk-text); }

.lk-quickspecs { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--lk-space-2); margin: 0 0 var(--lk-space-4); }
.lk-quickspecs div { padding: var(--lk-space-3); background: var(--lk-cream); border-radius: var(--lk-radius-sm); }
.lk-quickspecs dt { font-size: var(--lk-fs-xs); color: var(--lk-muted); text-transform: uppercase; letter-spacing: 0.06em; }
.lk-quickspecs dd { margin: 0; font-weight: 600; color: var(--lk-ink); }

.lk-certbox {
	display: flex; align-items: center; gap: var(--lk-space-3);
	margin-bottom: var(--lk-space-4);
	padding: var(--lk-space-3) var(--lk-space-4);
	border: 1px solid var(--lk-jade);
	border-radius: var(--lk-radius);
	background: #f1f7f4;
}
.lk-certbox__icon { color: var(--lk-jade); }
.lk-certbox div { display: flex; flex-direction: column; flex: 1; font-size: var(--lk-fs-sm); }
.lk-certbox strong { color: var(--lk-jade); }
.lk-certbox__view { font-weight: 600; font-size: var(--lk-fs-sm); color: var(--lk-jade); text-decoration: underline; }

.lk-buybox { padding: var(--lk-space-5); border: 1px solid var(--lk-gold-200); border-radius: var(--lk-radius); background: linear-gradient(180deg, var(--lk-cream), #fff); }
.lk-buybox__title { font-family: var(--lk-font-body); font-size: var(--lk-fs-md); font-weight: 600; }
.lk-buybox__alt { display: grid; grid-template-columns: 1fr 1fr; gap: var(--lk-space-2); margin-top: var(--lk-space-3); }
.lk-buybox__alt .lk-btn { text-transform: none; letter-spacing: 0; }

.lk-product__trust { display: grid; grid-template-columns: 1fr 1fr; gap: var(--lk-space-2); margin: var(--lk-space-4) 0 0; padding: 0; list-style: none; font-size: var(--lk-fs-sm); }
.lk-product__trust li { display: flex; align-items: center; gap: var(--lk-space-2); }
.lk-product__trust .lk-icon { width: 20px; flex-shrink: 0; color: var(--lk-gold-700); }

.lk-subnav { position: sticky; top: var(--lk-header-h); z-index: 50; background: #fff; border-block: 1px solid var(--lk-line); }
.admin-bar .lk-subnav { top: calc(var(--lk-header-h) + 32px); }
.lk-subnav ul { display: flex; gap: var(--lk-space-5); margin: 0 auto; list-style: none; overflow-x: auto; scrollbar-width: none; }
.lk-subnav a { display: block; padding: var(--lk-space-3) 0; white-space: nowrap; font-weight: 600; font-size: var(--lk-fs-sm); color: var(--lk-muted); border-bottom: 2px solid transparent; }
.lk-subnav a:hover, .lk-subnav a.is-active { color: var(--lk-ink); border-color: var(--lk-primary); }

.lk-product__details { max-width: calc(var(--lk-container-narrow) + 2 * var(--lk-gutter)); padding-block: var(--lk-space-6) var(--lk-space-8); }
.lk-product__block { padding-block: var(--lk-space-6); border-bottom: 1px solid var(--lk-line); }
.lk-product__block > h2 { font-size: var(--lk-fs-xl); }
.lk-spec-table th { width: 40%; font-weight: 500; color: var(--lk-muted); background: var(--lk-cream); }
.lk-spec-table td { font-weight: 600; color: var(--lk-ink); }
.lk-checklist { list-style: none; padding: 0; }
.lk-checklist li { display: flex; gap: var(--lk-space-2); margin-bottom: var(--lk-space-2); }
.lk-checklist .lk-icon { flex-shrink: 0; width: 20px; color: var(--lk-jade); }

.lk-faq details { border-bottom: 1px solid var(--lk-line); }
.lk-faq summary { position: relative; padding: var(--lk-space-4) var(--lk-space-6) var(--lk-space-4) 0; font-weight: 600; color: var(--lk-ink); cursor: pointer; list-style: none; }
.lk-faq summary::-webkit-details-marker { display: none; }
.lk-faq summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 1.5rem; color: var(--lk-gold-700); }
.lk-faq details[open] summary::after { content: "–"; }
.lk-faq details p { padding-bottom: var(--lk-space-4); }

.lk-mobile-cta {
	position: fixed; inset: auto 0 0 0; z-index: 90;
	display: flex;
	background: #fff;
	border-top: 1px solid var(--lk-line);
	box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
	padding-bottom: env(safe-area-inset-bottom);
}
.lk-mobile-cta a { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 56px; font-size: var(--lk-fs-xs); color: var(--lk-ink); }
.lk-mobile-cta .lk-icon { width: 22px; height: 22px; color: var(--lk-gold-700); }
.lk-mobile-cta__primary { flex: 2 !important; background: var(--lk-gold-700); color: #fff !important; font-size: var(--lk-fs-sm) !important; font-weight: 700; text-transform: uppercase; }
.single-lk_product .lk-footer { padding-bottom: 56px; }
.single-lk_product .lk-float { bottom: 72px; }
@media (min-width: 1024px) {
	.lk-mobile-cta { display: none; }
	.single-lk_product .lk-footer { padding-bottom: 0; }
	.single-lk_product .lk-float { bottom: 20px; }
}

/* 12. CỬA HÀNG + BỘ LỌC ================================================== */
.lk-archive-head { padding-bottom: var(--lk-space-5); text-align: center; }
.lk-archive-head__title { font-size: var(--lk-fs-2xl); }
.lk-archive-head__desc { max-width: 760px; margin: 0 auto var(--lk-space-5); color: var(--lk-muted); }
.lk-shop { display: grid; gap: var(--lk-space-6); padding-bottom: var(--lk-section-y); }
@media (min-width: 1024px) { .lk-shop { grid-template-columns: 260px minmax(0, 1fr); align-items: start; } }
.lk-shop__toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lk-space-3); margin-bottom: var(--lk-space-5); }
.lk-shop__count { margin: 0; color: var(--lk-muted); font-size: var(--lk-fs-sm); }
.lk-shop__sort { margin-left: auto; display: flex; gap: var(--lk-space-2); }
.lk-shop__sort select { width: auto; min-height: 44px; }
@media (min-width: 1024px) { .lk-shop__filter-toggle { display: none !important; } }

.lk-filters { background: #fff; }
.lk-filters__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--lk-space-3); }
.lk-filters__title { display: flex; align-items: center; gap: var(--lk-space-2); margin: 0; font-family: var(--lk-font-body); font-size: var(--lk-fs-base); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; }
.lk-filters__title .lk-icon { width: 18px; color: var(--lk-gold-700); }
.lk-filters__reset { display: inline-block; margin-bottom: var(--lk-space-3); font-size: var(--lk-fs-sm); color: var(--lk-sale); }
.lk-filter-group { border-top: 1px solid var(--lk-line); }
.lk-filter-group summary { padding: var(--lk-space-3) 0; font-weight: 600; color: var(--lk-ink); cursor: pointer; }
.lk-filter-group ul { margin: 0 0 var(--lk-space-3); padding: 0; list-style: none; max-height: 260px; overflow-y: auto; }
.lk-filter-opt { display: flex; align-items: center; gap: var(--lk-space-2); padding: 0.35rem 0; font-size: var(--lk-fs-sm); color: var(--lk-text); }
.lk-filter-opt small { color: var(--lk-muted); }
.lk-filter-opt__box { display: grid; place-items: center; width: 18px; height: 18px; border: 1.5px solid var(--lk-gold-200); border-radius: 3px; background: #fff; }
.lk-filter-opt--radio .lk-filter-opt__box { border-radius: 50%; }
.lk-filter-opt.is-active { color: var(--lk-ink); font-weight: 600; }
.lk-filter-opt.is-active .lk-filter-opt__box { background: var(--lk-gold-700); border-color: var(--lk-gold-700); color: #fff; }
.lk-filter-opt--radio.is-active .lk-filter-opt__box { box-shadow: inset 0 0 0 3px #fff; }
.lk-filter-opt__box .lk-icon { width: 14px; height: 14px; }
.lk-filters__close { display: none; }
@media (max-width: 1023px) {
	.lk-filters {
		position: fixed; inset: 0 auto 0 0; z-index: 1001;
		width: min(320px, 86vw);
		padding: var(--lk-space-5);
		overflow-y: auto;
		transform: translateX(-100%);
		transition: transform var(--lk-dur) var(--lk-ease);
	}
	.lk-filters.is-open { transform: none; box-shadow: var(--lk-shadow); }
	.lk-filters__close { display: inline-flex; }
	.lk-filters__backdrop { position: fixed; inset: 0; z-index: 1000; background: rgba(28, 26, 23, 0.5); }
}
@media (min-width: 1024px) {
	.lk-filters { position: sticky; top: calc(var(--lk-header-h) + 16px); max-height: calc(100vh - var(--lk-header-h) - 32px); overflow-y: auto; }
	.lk-filters__backdrop { display: none !important; }
}

.lk-pagination { margin-top: var(--lk-space-7); }
.lk-pagination .nav-links { display: flex; justify-content: center; flex-wrap: wrap; gap: var(--lk-space-2); }
.lk-pagination .page-numbers {
	display: grid; place-items: center;
	min-width: 44px; height: 44px;
	padding: 0 var(--lk-space-2);
	border: 1px solid var(--lk-line);
	border-radius: var(--lk-radius-sm);
	color: var(--lk-ink);
}
.lk-pagination .page-numbers.current, .lk-pagination a.page-numbers:hover { background: var(--lk-gold-700); border-color: var(--lk-gold-700); color: #fff; }
.lk-pagination .lk-icon { width: 18px; }
.lk-empty { padding: var(--lk-space-7); text-align: center; background: var(--lk-cream); border-radius: var(--lk-radius); }

/* 13. BÀI VIẾT / TRANG =================================================== */
.lk-article__head { margin-bottom: var(--lk-space-5); }
.lk-article__title { font-size: var(--lk-fs-2xl); }
.lk-post-meta { display: flex; flex-wrap: wrap; gap: var(--lk-space-2) var(--lk-space-4); font-size: var(--lk-fs-sm); color: var(--lk-muted); }
.lk-article__thumb { margin: 0 0 var(--lk-space-6); }
.lk-article__thumb img { width: 100%; border-radius: var(--lk-radius); }
.lk-toc { margin-bottom: var(--lk-space-6); padding: var(--lk-space-4) var(--lk-space-5); border: 1px solid var(--lk-gold-200); border-radius: var(--lk-radius); background: var(--lk-cream); }
.lk-toc__title { margin-bottom: var(--lk-space-2); font-weight: 700; color: var(--lk-ink); }
.lk-toc ol { margin: 0; padding-left: 1.2em; }
.lk-toc li { margin-bottom: 0.3rem; }
.lk-toc .lk-toc__sub { margin-left: 1em; list-style: circle; }

.lk-prose { font-size: var(--lk-fs-md); }
.lk-prose > * + * { margin-top: var(--lk-space-4); }
.lk-prose h2 { margin-top: var(--lk-space-7); font-size: var(--lk-fs-xl); }
.lk-prose h3 { margin-top: var(--lk-space-6); font-size: var(--lk-fs-lg); }
.lk-prose img { border-radius: var(--lk-radius); }
.lk-prose a { text-decoration: underline; text-underline-offset: 3px; }
.lk-prose .wp-block-table td, .lk-prose .wp-block-table th { border: 1px solid var(--lk-line); }
.lk-product__block.lk-prose > h2, .lk-archive-head__desc.lk-prose h2 { margin-top: 0; }

.lk-article__tags { display: flex; flex-wrap: wrap; gap: var(--lk-space-2); margin-top: var(--lk-space-6); }
.lk-article__tags a { padding: 0.3rem 0.8rem; border-radius: 999px; background: var(--lk-cream); font-size: var(--lk-fs-sm); }
.lk-author-box { display: flex; gap: var(--lk-space-4); margin-top: var(--lk-space-6); padding: var(--lk-space-5); border-top: 2px solid var(--lk-primary); background: var(--lk-cream); }
.lk-author-box img { border-radius: 50%; flex-shrink: 0; }
.lk-author-box__name { margin-bottom: var(--lk-space-1); font-weight: 700; }
.lk-author-box p { margin-bottom: 0; }

.lk-sidebar { display: flex; flex-direction: column; gap: var(--lk-space-6); }
@media (min-width: 1024px) { .lk-sidebar { position: sticky; top: calc(var(--lk-header-h) + 16px); } }
.lk-widget__title { font-family: var(--lk-font-body); font-size: var(--lk-fs-base); font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding-bottom: var(--lk-space-2); border-bottom: 2px solid var(--lk-primary); }
.lk-widget--cta { padding: var(--lk-space-5); background: var(--lk-cream); border-radius: var(--lk-radius); }
.lk-widget--cta .lk-order-form__grid { grid-template-columns: 1fr; }
.lk-mini-products { margin: 0; padding: 0; list-style: none; }
.lk-mini-products a { display: flex; gap: var(--lk-space-3); padding: var(--lk-space-2) 0; color: var(--lk-ink); font-size: var(--lk-fs-sm); }
.lk-mini-products img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--lk-radius-sm); }
.lk-mini-products span { display: flex; flex-direction: column; }
.lk-mini-products .lk-price { justify-content: flex-start; }

.lk-page { padding-bottom: var(--lk-section-y); }
.lk-page__title { font-size: var(--lk-fs-2xl); }
.lk-contact { display: grid; gap: var(--lk-space-5); margin-top: var(--lk-space-6); }

.lk-comments { margin-top: var(--lk-space-7); }
.lk-comments__list { list-style: none; padding: 0; }
.lk-comments .comment-body { padding: var(--lk-space-4) 0; border-bottom: 1px solid var(--lk-line); }

/* 14. FOOTER + NÚT NỔI =================================================== */
.lk-cta-band { padding-block: var(--lk-space-7); background: var(--lk-cream); border-top: 1px solid var(--lk-gold-200); }
.lk-cta-band__inner { display: grid; gap: var(--lk-space-5); align-items: center; }
@media (min-width: 1024px) { .lk-cta-band__inner { grid-template-columns: 1fr 1.6fr; gap: var(--lk-space-7); } }
.lk-cta-band__title { font-size: var(--lk-fs-xl); }
.lk-cta-band__form .lk-order-form__grid { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) { .lk-cta-band__form .lk-order-form__grid { grid-template-columns: repeat(4, 1fr); } }

.lk-footer { background: var(--lk-ink); color: rgba(255, 255, 255, 0.72); font-size: var(--lk-fs-sm); }
.lk-footer a { color: rgba(255, 255, 255, 0.82); }
.lk-footer a:hover { color: var(--lk-gold-300); }
.lk-footer__grid { display: grid; gap: var(--lk-space-6); padding-block: var(--lk-space-8) var(--lk-space-6); }
@media (min-width: 768px) { .lk-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .lk-footer__grid { grid-template-columns: 1.2fr 1.2fr 1fr 1.2fr; } }
.lk-footer__logo { font-family: var(--lk-font-heading); font-size: var(--lk-fs-xl); color: var(--lk-gold-300); }
.lk-footer .custom-logo { max-height: 64px; width: auto; margin-bottom: var(--lk-space-3); }
.lk-footer__title { margin-bottom: var(--lk-space-4); font-family: var(--lk-font-body); font-size: var(--lk-fs-sm); font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--lk-gold-300); }
.lk-footer__title--spaced { margin-top: var(--lk-space-5); }
.lk-footer__contact, .lk-footer__menu { margin: 0; padding: 0; list-style: none; }
.lk-footer__contact li { display: flex; gap: var(--lk-space-2); margin-bottom: var(--lk-space-3); }
.lk-footer__contact .lk-icon { flex-shrink: 0; width: 18px; color: var(--lk-gold-300); }
.lk-footer__menu li { margin-bottom: var(--lk-space-2); }
.lk-footer__bottom { padding-block: var(--lk-space-4); border-top: 1px solid rgba(255, 255, 255, 0.1); font-size: var(--lk-fs-xs); text-align: center; }
.lk-footer__bottom p { margin: 0; }
.lk-fb-embed { min-height: 130px; }
.lk-fb-embed iframe { width: 100%; max-width: 340px; height: 260px; border-radius: var(--lk-radius-sm); }
.lk-fb-embed__fallback { display: flex; align-items: center; gap: var(--lk-space-2); padding: var(--lk-space-4); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: var(--lk-radius); }

.lk-social { display: flex; gap: var(--lk-space-2); margin: 0; padding: 0; list-style: none; }
.lk-social a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; }
.lk-social .lk-icon { width: 18px; height: 18px; }
.lk-social--topbar a { width: 28px; height: 28px; }
.lk-social--topbar .lk-icon { width: 15px; height: 15px; }
.lk-social--footer a { border: 1px solid rgba(212, 175, 55, 0.4); color: var(--lk-gold-300); }
.lk-social--footer a:hover { background: var(--lk-primary); color: var(--lk-ink); }
.lk-offcanvas .lk-social a { background: var(--lk-cream); color: var(--lk-gold-800); }

.lk-float { position: fixed; right: 16px; bottom: 20px; z-index: 95; display: flex; flex-direction: column; gap: var(--lk-space-2); }
.lk-float__btn {
	display: grid; place-items: center;
	width: 50px; height: 50px;
	padding: 0; border: 0;
	border-radius: 50%;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
	color: #fff;
	cursor: pointer;
	transition: transform var(--lk-dur);
}
.lk-float__btn:hover { transform: scale(1.08); color: #fff; }
.lk-float__btn .lk-icon { width: 26px; height: 26px; }
.lk-float__btn--zalo { background: #0068ff; }
.lk-float__btn--zalo .lk-icon { width: 34px; height: 34px; }
.lk-float__btn--messenger { background: #0084ff; }
.lk-float__btn--phone { background: var(--lk-gold-700); animation: lk-ring 2.4s infinite; }
.lk-float__btn--top { background: var(--lk-ink); color: var(--lk-gold-300); }
.lk-float__btn--top .lk-icon { transform: rotate(180deg); }

/* 15. FORM =============================================================== */
.lk-order-form p { margin: 0 0 var(--lk-space-3); }
.lk-order-form label { display: block; margin-bottom: 0.3rem; font-size: var(--lk-fs-sm); font-weight: 500; color: var(--lk-ink); }
.lk-order-form__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--lk-space-3); }
@media (max-width: 420px) { .lk-order-form__grid { grid-template-columns: 1fr; } }
.lk-order-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lk-order-form__msg { margin: var(--lk-space-2) 0 0 !important; font-size: var(--lk-fs-sm); min-height: 1.4em; }
.lk-order-form__msg.is-success { color: var(--lk-success); font-weight: 600; }
.lk-order-form__msg.is-error { color: var(--lk-sale); }
.lk-order-form [aria-invalid="true"] { border-color: var(--lk-sale); }

.search-form { display: flex; gap: var(--lk-space-2); }
.search-form label { flex: 1; }
.search-form .search-submit { padding: 0 1.2rem; border: 0; border-radius: var(--lk-radius-sm); background: var(--lk-gold-700); color: #fff; cursor: pointer; }

/* Hiệu ứng xuất hiện khi cuộn (JS thêm .is-visible). Tắt nếu người dùng giảm chuyển động. */
.lk-reveal { opacity: 0; transform: translateY(24px); transition: opacity 700ms var(--lk-ease), transform 700ms var(--lk-ease); }
.lk-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .lk-reveal { opacity: 1; transform: none; } }

@keyframes lk-ring {
	0%, 60%, 100% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.55); }
	30% { box-shadow: 0 0 0 10px rgba(212, 175, 55, 0); }
}
@keyframes lk-fade { from { opacity: 0; } }
@keyframes lk-slide-in { from { transform: translateX(-100%); } }

/* 16. BẢN VÁ HIỂN THỊ ==================================================== */
/* Icon Zalo: khung = màu chữ hiện tại, chữ "Zalo" = màu tương phản (mặc định xanh Zalo). */
.lk-zalo-text { fill: var(--lk-zalo-text, #0068ff); }
.lk-mobile-cta .lk-icon--zalo { color: #0068ff; --lk-zalo-text: #fff; }

/* Menu desktop không bao giờ xuống dòng; màn 1024–1279px thu gọn hotline còn icon. */
@media (min-width: 1024px) {
	.lk-nav__list > li > a { white-space: nowrap; }
}
.lk-header__hotline { flex-shrink: 0; white-space: nowrap; }
@media (min-width: 1024px) and (max-width: 1279px) {
	.lk-nav__list > li > a { padding-inline: 0.55rem; letter-spacing: 0.02em; }
	.lk-nav__list .menu-item-has-children > a { padding-right: 1.2rem; }
	.lk-nav__list > li > a::after { left: 0.55rem; right: 0.55rem; }
}
/* Dưới 1600px: số hotline đã có ở topbar → header chỉ giữ icon gọi (chừa chỗ cho logo + menu). */
@media (min-width: 1024px) and (max-width: 1599px) {
	.lk-header__hotline { padding: 0.35rem; }
	.lk-header__hotline > span { display: none; }
}

/* Giá ẩn → "Liên hệ" + gọi */
.lk-price--call { display: inline-flex; align-items: center; gap: 0.3rem; color: var(--lk-gold-700); }
.lk-price--call .lk-icon { width: 16px; height: 16px; }
.lk-price--call:hover { color: var(--lk-gold-800); }
.lk-price-contact { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lk-space-3) var(--lk-space-5); }
.lk-price-contact .lk-btn { text-transform: none; letter-spacing: 0; }

/* Logo tròn + tên chữ */
.lk-logo-text.has-logo { flex-direction: row; align-items: center; gap: var(--lk-space-3); }
.lk-logo-text__img { width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0; }
.lk-logo-text__words { display: flex; flex-direction: column; line-height: 1.1; }
@media (max-width: 420px) {
	.lk-logo-text__img { width: 44px; height: 44px; }
	.lk-logo-text__name { font-size: 1.2rem; }
	.lk-logo-text__tag { display: none; }
}
@media (min-width: 1024px) and (max-width: 1279px) { .lk-logo-text.has-logo .lk-logo-text__tag { display: none; } }
.lk-footer__logo { display: flex; align-items: center; gap: var(--lk-space-3); }
.lk-footer__logo img { width: 72px; height: 72px; border-radius: 50%; }

/* Banner dạng ảnh thiết kế sẵn (hero_mode = artwork) */
/*
 * Banner thiết kế sẵn: LUÔN hiện trọn ảnh (không cắt), đúng tỉ lệ gốc (aspect-ratio lấy từ ảnh),
 * và không phóng to quá bề rộng gốc của ảnh (--lk-art-w) để khỏi bị vỡ trên màn hình lớn.
 * Hai bên dư (màn rất rộng) tô nền tối ấm cho hợp tông banner.
 */
.lk-hero-art { background: var(--lk-ink); }
.lk-hero-art__slides { position: relative; width: 100%; max-width: var(--lk-art-w, 1920px); overflow: hidden; margin-inline: auto; }
.lk-hero-art .lk-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 900ms var(--lk-ease); }
.lk-hero-art .lk-hero__slide.is-active { opacity: 1; }
.lk-hero-art .lk-hero__slide img { width: 100%; height: 100%; object-fit: contain; }
.lk-hero-art .lk-hero__dots { bottom: 14px; }
.lk-hero-intro { padding-block: var(--lk-space-6) calc(var(--lk-space-6) + 40px); background: var(--lk-cream); border-bottom: 1px solid var(--lk-gold-200); }
.lk-hero-intro__inner { display: grid; gap: var(--lk-space-4); align-items: center; }
@media (min-width: 1024px) { .lk-hero-intro__inner { grid-template-columns: 1fr auto; gap: var(--lk-space-7); } }
.lk-hero-intro__title { margin-bottom: var(--lk-space-2); font-size: var(--lk-fs-xl); }
.lk-hero-intro__text { margin: 0; color: var(--lk-muted); max-width: 680px; }
.lk-hero-intro__actions { display: flex; flex-wrap: wrap; gap: var(--lk-space-3); }
.lk-hero-intro__actions .lk-btn--outline { text-transform: none; letter-spacing: 0; }

/* Mega menu co giãn theo số cột danh mục (5–6 cột) */
@media (min-width: 1024px) {
	.lk-nav .lk-mega > .sub-menu { grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); width: min(1180px, 94vw); }
}

/* Căn đều 2 bên cho nội dung bài viết, trang, mô tả sản phẩm (chủ shop yêu cầu 20/09/2026).
   Chỉ áp cho đoạn văn và gạch đầu dòng; tiêu đề, bảng, chú thích ảnh giữ căn trái/giữa. */
.lk-prose p,
.lk-prose li,
.lk-product__excerpt p,
.lk-archive-head__desc p,
.lk-story__content p,
.lk-author-box p,
.lk-post-card__excerpt,
.lk-video-stage__desc {
	text-align: justify;
	text-justify: inter-word;
}
.lk-prose figcaption, .lk-prose .has-text-align-center { text-align: center; }
