/* ── Bigstep Landing — minimal cyber funnel, scoped under .bigstep-landing
   Dùng lại bảng màu của plugin editor (indigo/violet) để landing và studio
   đồng bộ tuyệt đối.
Class prefix bs-land- để không xung đột với theme. */
.bigstep-landing {
	--bsl-bg:        #080b12;
/* Lift surfaces 1 chút khỏi bg để section không bị "chìm" — gradient
	   tinh tế thay vì flat dark.
Match cảm giác layered của editor. */
	--bsl-surface:   #11162a;
	--bsl-surface-2: #181f38;
	--bsl-surface-3: #222a48;
--bsl-text:      #f1f5f9;
	/* Text phụ trên #080b12 cần ≥ #a5b1c4 để vẫn đọc tốt trên mobile.
Cũ #8896aa contrast chỉ ~4.1 — cận chuẩn AA. Bump lên ~5.2. */
	--bsl-muted:     #a8b4c8;
--bsl-subtle:    #5a6478;
	--bsl-border:    rgba(99, 102, 241, .28);
	--bsl-border-2:  #2a3658;
--bsl-accent:    #818cf8;
	--bsl-accent-2:  #a78bfa;
	--bsl-grd:       linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
--bsl-success:   #10b981;
	--bsl-zalo:      #0068ff;
	--bsl-r-sm:      8px;
--bsl-r-md:      12px;
	--bsl-r-lg:      18px;
/* Layered background — không còn flat dark.
	   Layer 1: subtle grid pattern (32×32, opacity rất thấp) — gợi cảm
	           giác "tech grid" của editor, không gây rối.
Layer 2: radial indigo glow ở top center — chiếu sáng phần hero.
Layer 3: radial violet glow ở bottom — bracket section cuối.
	   Layer 4: solid bg fallback.
Tất cả fixed để không chạy theo scroll. */
	background:
		linear-gradient(rgba(99,102,241,.025) 1px, transparent 1px) 0 0 / 32px 32px,
		linear-gradient(90deg, rgba(99,102,241,.025) 1px, transparent 1px) 0 0 / 32px 32px,
		radial-gradient(ellipse 80% 50% at 50% 0%, rgba(99,102,241,.10), transparent 55%),
		radial-gradient(ellipse 60% 40% at 80% 100%, rgba(139,92,246,.07), transparent 60%),
		radial-gradient(ellipse 50% 40% at 10% 80%, rgba(168,85,247,.05), transparent 60%),
		var(--bsl-bg);
background-attachment: fixed, fixed, fixed, fixed, fixed, fixed;
	color: var(--bsl-text);
	font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
font-size: 16px;
	line-height: 1.62;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	box-sizing: border-box;
	padding: 0 24px 0;
	position: relative;
	overflow-x: hidden;
	overflow-x: clip;
/* Full-viewport breakout — landing được chèn trong page content của
	   theme thường bị bóp về max-width 1140/1200.
Mấy dòng dưới ép landing
	   bung ra toàn viewport bất kể parent container nào.
Trick:
	   margin-left/right: calc(50% - 50vw) đẩy 2 mép sang đúng cạnh viewport.
	   Padding 24px bù cho khoảng safe.
*/
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* ── KILL VERTICAL GAP từ Elementor shortcode wrapper ──────────
   Chỉ target wrapper TRỰC TIẾP của shortcode Elementor — không đụng
   tới section/container/column vì chúng có padding hợp lý cho layout
   rhythm của site.
Cũng chỉ zero TOP (giữ bottom để spacing dưới landing
   với footer site vẫn còn).
*/
/* Elementor wrapper gap is handled by the tiny targeted script above. Avoid
   parent-matching selectors here because they are costly on mobile pages with many theme nodes. */

/* Ẩn entry-header trống do theme tự inject (nếu có) — chỉ áp dụng khi
   page CHỨA landing, không phá page khác.
*/
body.bigstep-landing-page .entry-header:empty,
body.bigstep-landing-page .page-header:empty { display: none !important; }

body.bigstep-landing-page .elementor > .e-con:has(.bigstep-landing) {
	padding-bottom: 0 !important;
}

body.bigstep-landing-page #bigstep-support-button {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* Inner wrappers tự cap width — cho phép background trải full nhưng
   nội dung vẫn căn giữa, comfort reading width đủ rộng cho ảnh hero.
*/
.bigstep-landing .bs-land-topbar,
.bigstep-landing .bs-land-hero,
.bigstep-landing .bs-land-studio,
.bigstep-landing .bs-land-port,
.bigstep-landing .bs-land-reviews,
.bigstep-landing .bs-land-faq,
.bigstep-landing .bs-land-zalo,
.bigstep-landing .bs-land-footer {
	max-width: 1280px;
}

@supports (content-visibility: auto) {
	.bigstep-landing .bs-land-studio,
	.bigstep-landing .bs-land-tpls,
	.bigstep-landing .bs-land-reviews,
	.bigstep-landing .bs-land-faq,
	.bigstep-landing .bs-land-zalo,
	.bigstep-landing .bs-land-footer {
		content-visibility: auto;
		contain-intrinsic-size: 1px 720px;
	}
	.bigstep-landing .bs-land-studio { contain-intrinsic-size: 1px 980px; }
	.bigstep-landing .bs-land-port,
	.bigstep-landing .bs-land-reviews { contain-intrinsic-size: 1px 620px; }
}

.bigstep-landing *,
.bigstep-landing *::before,
.bigstep-landing *::after { box-sizing: border-box; }
.bigstep-landing a { color: inherit; text-decoration: none; }
.bigstep-landing img { max-width: 100%; height: auto; display: block; }
.bigstep-landing h1,
.bigstep-landing h2,
.bigstep-landing h3 { margin: 0; color: var(--bsl-text); font-weight: 800; letter-spacing: -0.02em; }
.bigstep-landing p { margin: 0; }

/* ── Topbar ───────────────────────────────────────────────── */
.bs-land-topbar {
	position: relative; top: auto; z-index: 50;
	margin: 0 auto;
	padding: 14px 20px;
	display: flex;
align-items: center; gap: 28px;
	border-bottom: 1px solid var(--bsl-border);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	background: rgba(8, 11, 18, .72);
}
.bs-land-logo {
	display: inline-flex;
align-items: center;
	transition: opacity .15s;
}
.bs-land-logo:hover { opacity: .82; }
.bs-land-logo img { height: 28px; width: auto; object-fit: contain; }

.bs-land-backtop {
	position: fixed;
	right: 18px;
	bottom: 22px;
	z-index: 90;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	max-width: 44px;
	padding: 0 !important;
	border: 1px solid rgba(99,102,241,.45);
	border-radius: 999px;
	background: rgba(15, 23, 42, .92);
	color: #fff;
	font-size: 20px;
	font-weight: 900;
	line-height: 1;
	box-shadow: 0 14px 40px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.04) inset;
	opacity: 0;
	pointer-events: none;
	transform: translateY(12px);
	transition: opacity .2s ease, transform .2s ease, background .2s ease;
	cursor: pointer;
}
.bs-land-backtop.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.bs-land-backtop:hover {
	background: linear-gradient(135deg, #6366f1, #8b5cf6);
}
@media (max-width: 640px) {
	.bs-land-backtop {
		display: none !important;
	}
}
.bs-land-brand {
	font-weight: 900; font-size: 19px; letter-spacing: -0.02em;
	color: var(--bsl-text);
}
.bs-land-brand-dot {
	background: var(--bsl-grd);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
}
.bs-land-nav {
	display: flex; gap: 28px;
	margin-left: 24px;
	font-size: 14px; font-weight: 500;
	color: var(--bsl-muted);
	letter-spacing: .05em;
}
.bs-land-nav a {
	position: relative;
	transition: color .15s;
}
.bs-land-nav a:hover { color: var(--bsl-text); }
.bs-land-nav a::after {
	content: ''; position: absolute;
left: 0; bottom: -4px;
	width: 0; height: 1px; background: var(--bsl-accent);
	transition: width .25s cubic-bezier(.16,1,.3,1);
}
.bs-land-nav a:hover::after { width: 100%; }
.bs-land-zalo-mini {
	margin-left: auto;
	display: inline-flex; align-items: center; gap: 7px;
	padding: 10px 18px;
/* Ghost outline indigo — match theme thay vì zalo-blue lệch tông */
	background: rgba(99, 102, 241, .08);
border: 1px solid var(--bsl-border);
	color: var(--bsl-text) !important;
	font-size: 13px; font-weight: 700; letter-spacing: .04em;
	transition: border-color .18s, background .18s, color .18s, transform .18s;
}
.bs-land-zalo-mini svg { color: var(--bsl-accent); transition: color .18s; }
.bs-land-zalo-mini:hover {
	border-color: var(--bsl-accent);
background: rgba(99, 102, 241, .16);
	color: #fff !important;
	transform: translateY(-1px);
}
.bs-land-zalo-mini:hover svg { color: var(--bsl-accent-2); }

/* ── Theme toggle button ─────────────────────────────────── */
.bs-land-theme-toggle {
	margin-left: auto;
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px;
padding: 0;
	background: rgba(99, 102, 241, .06);
	border: 1px solid var(--bsl-border);
	color: var(--bsl-text);
	cursor: pointer;
transition: border-color .18s, background .18s, color .18s, transform .18s;
}
.bs-land-theme-toggle + .bs-land-zalo-mini { margin-left: 8px; }
.bs-land-theme-toggle + .bs-land-minicart { margin-left: 8px; }
.bs-land-minicart + .bs-land-zalo-mini { margin-left: 8px; }
.bs-land-theme-toggle:hover {
	border-color: var(--bsl-accent);
background: rgba(99, 102, 241, .16);
	color: var(--bsl-accent);
	transform: translateY(-1px);
}
.bs-land-theme-toggle:focus-visible {
	outline: 2px solid var(--bsl-accent-2);
	outline-offset: 2px;
}
/* Show moon in dark mode, sun in light mode */
.bs-land-theme-icon { transition: opacity .2s, transform .35s cubic-bezier(.16,1,.3,1); }
.bs-land-theme-icon--sun  { display: none; }
:root[data-theme="light"] .bs-land-theme-icon--moon { display: none; }
:root[data-theme="light"] .bs-land-theme-icon--sun  { display: inline-block; }

/* ── Header minicart ─────────────────────────────────────── */
.bs-land-minicart {
	position: relative;
	flex: 0 0 auto;
}
.bs-land-minicart::after {
	content: "";
	position: absolute;
	left: -10px;
	right: -10px;
	top: 100%;
	height: 18px;
	pointer-events: auto;
}
.bs-land-cart-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 38px;
	padding: 0 14px;
	border-radius: 999px;
	border: 1px solid var(--bsl-border);
	background: rgba(99, 102, 241, .08);
	color: var(--bsl-text) !important;
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .02em;
	transition: transform .18s, border-color .18s, background .18s, color .18s;
}
.bs-land-cart-toggle:hover {
	border-color: var(--bsl-accent);
	background: rgba(99, 102, 241, .16);
	color: #fff !important;
	transform: translateY(-1px);
}
.bs-land-cart-toggle svg {
	color: var(--bsl-accent);
	flex: 0 0 auto;
}
.bs-land-cart-count {
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--bsl-accent), var(--bsl-accent-2));
	color: #fff;
	font-size: 11px;
	font-weight: 900;
	box-shadow: 0 0 18px rgba(99, 102, 241, .45);
}
.bs-land-cart-panel {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	width: min(360px, calc(100vw - 24px));
	max-height: min(72vh, 620px);
	overflow: auto;
	padding: 14px;
	border: 1px solid rgba(99, 102, 241, .26);
	border-radius: 16px;
	background: linear-gradient(180deg, rgba(10, 14, 24, .985), rgba(6, 9, 16, .985));
	box-shadow: 0 24px 70px rgba(0, 0, 0, .42), 0 0 0 1px rgba(255, 255, 255, .04) inset;
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	pointer-events: none;
	transition: opacity .18s, transform .18s, visibility .18s;
	z-index: 90;
}
.bs-land-minicart:hover .bs-land-cart-panel,
.bs-land-cart-panel:hover,
.bs-land-minicart:focus-within .bs-land-cart-panel {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}
.bs-land-cart-panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 0 0 12px;
	margin-bottom: 10px;
	border-bottom: 1px solid rgba(148, 163, 184, .16);
	color: var(--bsl-text);
}
.bs-land-cart-panel-head strong {
	font-size: 14px;
	font-weight: 900;
}
.bs-land-cart-panel-head span {
	color: #ffffff;
	font-size: 13px;
	font-weight: 900;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .45);
}
.bs-land-cart-panel :where(.woocommerce-mini-cart, .cart_list) {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10px;
}
.bs-land-cart-panel .mini_cart_item {
	position: relative;
	min-height: 64px;
	padding: 0 26px 10px 72px;
	border-bottom: 1px solid rgba(148, 163, 184, .12);
	color: var(--bsl-muted);
	font-size: 12.5px;
	line-height: 1.45;
}
.bs-land-cart-panel .mini_cart_item img {
	position: absolute;
	left: 0;
	top: 0;
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 10px;
	background: rgba(15, 23, 42, .75);
}
.bs-land-cart-panel .mini_cart_item a:not(.remove) {
	display: block;
	margin-bottom: 4px;
	color: var(--bsl-text) !important;
	text-decoration: none !important;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
}
.bs-land-cart-panel .mini_cart_item a.remove {
	position: absolute;
	top: 0;
	right: 0;
	width: 20px;
	height: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(239, 68, 68, .14);
	color: #fecaca !important;
	text-decoration: none !important;
	font-size: 16px;
	line-height: 1;
}
.bs-land-cart-panel .quantity {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 6px;
	padding: 4px 9px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .12);
	color: #f8fafc;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
}
.bs-land-cart-panel .quantity .amount,
.bs-land-cart-panel .quantity bdi,
.bs-land-cart-panel .quantity .woocommerce-Price-currencySymbol {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-weight: 900 !important;
	text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
}
.bs-land-cart-panel .woocommerce-mini-cart__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 12px 0 0;
	padding: 12px 0 0;
	border-top: 1px solid rgba(148, 163, 184, .16);
	color: #ffffff;
	font-size: 13px;
	font-weight: 900;
}
.bs-land-cart-panel .woocommerce-mini-cart__total strong {
	color: #ffffff !important;
	font-weight: 900 !important;
}
.bs-land-cart-panel .woocommerce-mini-cart__total .amount,
.bs-land-cart-panel .woocommerce-mini-cart__total bdi,
.bs-land-cart-panel .woocommerce-mini-cart__total .woocommerce-Price-currencySymbol {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-weight: 950 !important;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .45);
}
.bs-land-cart-panel .woocommerce-mini-cart__buttons {
	display: none;
}
.bs-land-cart-panel .woocommerce-mini-cart__empty-message {
	margin: 0;
	padding: 18px 6px 8px;
	color: var(--bsl-muted);
	text-align: center;
	font-size: 13px;
}
/* The mini-cart's "Empty cart" h4 is translated to "Xóa giỏ hàng" (Clear
   cart) by the parent theme's .po — misleading wording, and redundant with
   the empty-message paragraph that follows. Hide it inside this panel. */
.bs-land-cart-panel .empty h4 {
	display: none !important;
}
.bs-land-cart-panel .empty {
	text-align: center;
}
.bs-land-cart-panel .empty .woocommerce-mini-cart__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	margin-top: 4px;
	padding: 0 14px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--bsl-accent), var(--bsl-accent-2));
	color: #fff;
	font-size: 12.5px;
	font-weight: 900;
	text-decoration: none;
}
.bs-land-cart-panel-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 12px;
}
.bs-land-cart-panel-actions a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 12px;
	border-radius: 10px;
	border: 1px solid rgba(99, 102, 241, .35);
	background: rgba(99, 102, 241, .12);
	color: #fff !important;
	text-decoration: none !important;
	font-size: 12.5px;
	font-weight: 900;
}
.bs-land-cart-panel-actions a:last-child {
	border-color: transparent;
	background: linear-gradient(135deg, var(--bsl-accent), var(--bsl-accent-2));
	box-shadow: 0 10px 28px rgba(99, 102, 241, .28);
}

/* ── Buttons ─────────────────────────────────────────────── */
.bs-land-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 18px 36px;
	font-size: 13px; font-weight: 800;
letter-spacing: .08em; text-transform: uppercase;
	border: none; border-radius: 0; cursor: pointer;
	transition: transform .18s cubic-bezier(.16,1,.3,1), box-shadow .18s, background .18s, color .18s;
font-family: inherit; white-space: nowrap;
}
.bs-land-btn--primary {
	background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 60%, #a855f7 100%);
	color: #fff !important;
box-shadow: 0 0 32px rgba(99,102,241,.38), inset 0 1px 0 rgba(255,255,255,.18);
}
.bs-land-btn--primary:hover {
	background: linear-gradient(135deg, #818cf8 0%, #a78bfa 55%, #c084fc 100%);
color: #fff !important;
	box-shadow: 0 0 52px rgba(99,102,241,.6);
	transform: translateY(-2px);
}
.bs-land-btn--designer {
	background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 60%, #a855f7 100%);
color: #fff !important;
	box-shadow: 0 0 28px rgba(99,102,241,.35), inset 0 1px 0 rgba(255,255,255,.15);
	position: relative;
	overflow: hidden;
}
.bs-land-btn--designer::before {
	content: '';
position: absolute; inset: 0;
	background: linear-gradient(135deg, transparent, rgba(255,255,255,.1), transparent);
	transform: translateX(-100%);
	transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.bs-land-btn--designer:hover {
	background: linear-gradient(135deg, #818cf8 0%, #a78bfa 55%, #c084fc 100%);
	box-shadow: 0 0 48px rgba(99,102,241,.55), 0 0 80px rgba(139,92,246,.25);
	transform: translateY(-3px);
}
.bs-land-btn--designer:hover::before { transform: translateX(100%); }
.bs-land-btn--zalo {
	background: var(--bsl-zalo); color: #fff !important;
	box-shadow: 0 0 20px rgba(0, 104, 255, .25);
}
.bs-land-btn--zalo:hover { transform: scale(1.02); box-shadow: 0 0 35px var(--bsl-zalo); }

/* ── Hero ────────────────────────────────────────────────── */
.bs-land-hero {
	margin: 0 auto 56px;
	padding-top: 20px;
display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: start;
}
.bs-land-tag {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 7px 16px;
margin-bottom: 24px;
	background: rgba(99, 102, 241, .06); border: 1px solid var(--bsl-border);
	font-size: 11px; letter-spacing: .2em; color: var(--bsl-accent);
	font-weight: 600;
}
.bs-land-pulse {
	width: 6px; height: 6px; background: var(--bsl-success);
	border-radius: 8px;
box-shadow: 0 0 8px var(--bsl-success);
	animation: bsLandPulse 2s infinite;
}
@keyframes bsLandPulse {
	0%, 100% { transform: scale(.9); opacity: .5; }
	50%      { transform: scale(1.3); opacity: 1; }
}
.bs-land-title {
	font-size: clamp(40px, 5.5vw, 68px);
	font-weight: 900; line-height: 1.12;
letter-spacing: -.04em;
	margin-bottom: 8px;
	padding-bottom: .04em;
}
.bs-land-grad {
	background: linear-gradient(135deg, #fff 20%, var(--bsl-accent) 65%, var(--bsl-accent-2) 100%);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
filter: drop-shadow(0 0 18px rgba(99, 102, 241, .4));
}
.bs-land-sub {
	font-size: 17px; color: #c4cfdf; line-height: 1.7;
	margin: 18px 0 0;
max-width: 540px;
}
.bs-land-cta-row { margin-top: 0; display: flex; gap: 12px; flex-wrap: wrap; }
.bs-land-pay { margin-top: 32px; font-size: 13px; color: var(--bsl-muted); }
.bs-land-pay-list { display: flex; gap: 10px; flex-wrap: wrap; }
.bs-land-pay-list span {
	background: var(--bsl-surface); border: 1px solid var(--bsl-border);
	padding: 10px 22px;
font-size: 14px; font-weight: 600;
	color: #e2e8f0;
	letter-spacing: .04em;
	transition: border-color .18s, color .18s;
}
.bs-land-pay-list span:hover { border-color: var(--bsl-accent); color: #fff; }

/* ── Hero subtitle intro — mô tả tĩnh giới thiệu service ───── */
.bs-land-sub-intro {
	font-size: 16px;
color: #c4cfdf;
	line-height: 1.7;
	margin: 18px 0 18px;
	max-width: 540px;
}

/* ── Hero tagline — value props rotating qua typing animation ──
   Không phải terminal prompt — là tagline marketing với icon + text
   cycle giữa các điểm mạnh (giá trị cốt lõi) của Bigstep.
*/
.bs-land-tagline {
	display: inline-flex; align-items: center;
	gap: 10px;
	margin: 0 0 32px;
	padding: 10px 16px 10px 14px;
	background: linear-gradient(135deg, rgba(99,102,241,.12), rgba(139,92,246,.08));
border: 1px solid rgba(99,102,241,.32);
	border-radius: 999px;
	font-size: 14.5px;
	color: #dbe2ee;
	line-height: 1.4;
	font-weight: 600;
	min-height: 42px;
box-shadow: 0 4px 16px rgba(99,102,241,.12);
}
.bs-land-tagline-icon {
	display: inline-flex;
	font-size: 16px;
	animation: bsTaglineSpin 2.5s ease-in-out infinite;
	color: var(--bsl-accent-2);
	flex-shrink: 0;
}
@keyframes bsTaglineSpin {
	0%, 100% { transform: rotate(-10deg) scale(1); }
	50%      { transform: rotate(15deg) scale(1.15); }
}
.bs-land-tagline-text {
	background: linear-gradient(120deg, #fff, var(--bsl-accent), var(--bsl-accent-2), #fff);
	background-size: 200% auto;
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
animation: bsTaglineShimmer 4s linear infinite;
	font-weight: 700;
}
@keyframes bsTaglineShimmer {
	to { background-position: 200% center; }
}
.bs-land-tagline-caret {
	display: inline-block;
	width: 2px;
height: 16px;
	background: var(--bsl-accent);
	animation: bsCaretBlink 1s steps(2) infinite;
	vertical-align: middle;
	border-radius: 1px;
}
@keyframes bsCaretBlink {
	0%, 50%   { opacity: 1; }
	50.01%, 100% { opacity: 0; }
}

/* ── Hero chips overlay — gom badge nằm trong viewport, bottom centered ── */
.bs-land-hero-chips {
	position: absolute;
	bottom: 16px;
left: 16px; right: 16px;
	z-index: 4;
	display: flex; flex-wrap: wrap; justify-content: center;
	gap: 8px;
	padding: 10px 12px;
background: linear-gradient(180deg, transparent 0%, rgba(8,11,18,.75) 50%, rgba(8,11,18,.9) 100%);
	border-radius: 0 0 12px 12px;
	pointer-events: none;
}
.bs-land-chip {
	display: inline-flex; align-items: center;
gap: 5px;
	padding: 6px 12px;
	background: rgba(8, 11, 18, .85);
	border: 1px solid var(--bsl-border);
	border-radius: 999px;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--bsl-muted);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
transition: border-color .2s, background .2s, color .2s, transform .2s;
	pointer-events: auto;
	white-space: nowrap;
}
.bs-land-chip:hover {
	border-color: var(--bsl-accent);
	background: rgba(99,102,241,.18);
	color: #fff;
transform: translateY(-2px);
}
.bs-land-chip-dot {
	width: 5px; height: 5px;
	border-radius: 8px;
	background: var(--bsl-accent);
	box-shadow: 0 0 8px var(--bsl-accent);
	flex-shrink: 0;
}
.bs-land-chip-dot--success {
	background: var(--bsl-success);
	box-shadow: 0 0 8px var(--bsl-success);
	animation: bsLandPulse 2s infinite;
}
.bs-land-chip-dot--accent {
	background: var(--bsl-accent-2);
	box-shadow: 0 0 8px var(--bsl-accent-2);
}

/* ── BCT logo (external image) ────────────────────────────── */
.bs-land-bct-link img {
	display: block;
	width: 180px;
	max-width: 100%;
	height: auto;
transition: opacity .15s, transform .18s;
}
.bs-land-bct-link:hover img {
	opacity: .92;
	transform: translateY(-1px);
}

/* ── Hero shirt placeholder (khi chưa có ảnh) ───────────── */
.bs-land-shirt-ph {
	position: relative; z-index: 2;
	display: flex; flex-direction: column;
align-items: center; justify-content: center;
	gap: 14px; height: 100%;
	min-height: 260px;
	color: rgba(99,102,241,.5);
	text-align: center;
}
.bs-land-shirt-ph span {
	font-size: 12px; line-height: 1.6;
color: var(--bsl-subtle);
}
.bs-land-shirt-ph strong { color: var(--bsl-muted); }

/* ── Hero visual ─────────────────────────────────────────── */
.bs-land-viewport {
	position: relative;
/* Bỏ aspect-ratio cố định 1:1 — với ảnh mascot dáng đứng (3:4 hoặc 4:5)
	   viewport vuông tạo khoảng trống trên/dưới quá nhiều.
min-height đảm
	   bảo có khung tối thiểu, height tự co theo ảnh. */
	min-height: 460px;
	display: flex; align-items: center;
justify-content: center;
	background: var(--bsl-surface); border: 1px solid var(--bsl-border);
	padding: 36px; overflow: hidden;
box-shadow: inset 0 0 40px rgba(99, 102, 241, .08);
}
.bs-land-grid {
	position: absolute; inset: 0;
background-image:
		linear-gradient(rgba(255, 255, 255, .01) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .01) 1px, transparent 1px);
	background-size: 24px 24px;
}
.bs-land-glow {
	position: absolute;
width: 120%; height: 120%;
	background: radial-gradient(circle, rgba(99, 102, 241, .12) 0%, transparent 70%);
	top: -10%; left: -10%; z-index: 1;
}
.bs-land-shirt {
	position: relative; z-index: 2;
	display: block;
	width: 100%;
	max-width: 480px;
	max-height: 520px;
	height: auto;
	object-fit: contain;
	margin: 0 auto;
animation: bsLandFloat 4.5s ease-in-out infinite;
	will-change: transform;
	filter: drop-shadow(0 24px 44px rgba(0, 0, 0, .65)) drop-shadow(0 0 32px rgba(139, 92, 246, .18));
}
@keyframes bsLandFloat {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	50%      { transform: translateY(-18px) rotate(2deg); }
}
.bs-land-badge {
	position: absolute; z-index: 3;
	background: rgba(0, 0, 0, .75); border: 1px solid var(--bsl-border);
	padding: 6px 12px;
	font-size: 10px;
letter-spacing: .12em;
}
.bs-land-badge--top    { top: 20px;    left: 20px;   color: var(--bsl-accent-2); }
.bs-land-badge--bottom { bottom: 20px; right: 20px;  color: var(--bsl-accent); }
.bs-land-badge--side {
	top: 50%; right: 20px; transform: translateY(-50%);
	color: var(--bsl-success);
border-color: rgba(16, 185, 129, .35);
}

/* ── Section heads ───────────────────────────────────────── */
.bs-land-head { text-align: center; margin-bottom: 32px; }
.bs-land-head h2 { font-size: clamp(30px, 3.6vw, 42px); line-height: 1.18; letter-spacing: -.025em; }
.bs-land-head p { color: var(--bsl-muted); margin-top: 12px; font-size: 16px;
max-width: 560px; margin-left: auto; margin-right: auto; }
.bs-land-br { color: var(--bsl-accent-2); font-weight: 800; }

/* ── Studio console ──────────────────────────────────────── */
.bs-land-studio { margin: 0 auto; padding: 36px 0; }
.bs-land-studio .bs-land-head { margin-bottom: 40px; }
.bs-land-studio .bs-land-head h2 { font-weight: 900; }
.bs-land-console {
	background: linear-gradient(180deg, #0a0d18 0%, #000 100%);
	border: 1.5px solid var(--bsl-border);
box-shadow:
		0 40px 100px rgba(0, 0, 0, .9),
		0 0 60px rgba(99,102,241,.2),
		inset 0 0 60px rgba(99,102,241,.05);
	position: relative;
	overflow: hidden;
transition: box-shadow .3s ease, border-color .3s ease;
}
.bs-land-console::before {
	content: '';
	position: absolute; top: 0; left: 0;
	width: 100%; height: 1px;
background: linear-gradient(90deg, transparent, rgba(99,102,241,.3), transparent);
	pointer-events: none;
}
.bs-land-console:hover {
	border-color: rgba(99,102,241,.5);
box-shadow:
		0 40px 120px rgba(0, 0, 0, .95),
		0 0 80px rgba(99,102,241,.3),
		inset 0 0 80px rgba(99,102,241,.08);
}
.bs-land-console-bar {
	background: var(--bsl-surface);
border-bottom: 1px solid var(--bsl-border);
	padding: 14px 20px;
	display: flex; align-items: center; gap: 16px;
}
.bs-land-dots { display: flex; gap: 6px; }
.bs-land-dots span { width: 8px; height: 8px; background: #2a2b36; border-radius: 8px; }
.bs-land-console-title {
	flex: 1;
font-size: 13px; color: #dbe2ee;
}
.bs-land-console-state {
	display: inline-flex; align-items: center; gap: 7px;
	font-size: 11px; color: var(--bsl-success);
letter-spacing: .04em;
}
.bs-land-dot-live {
	width: 6px; height: 6px; border-radius: 8px; background: var(--bsl-success);
	box-shadow: 0 0 10px var(--bsl-success);
}
.bs-land-console-body { padding: 0;
background: var(--bsl-bg); }
/* Generator nhúng — ẩn topbar riêng để không trùng với console bar */
.bs-land-console-body .bigstep-ai-app { padding-top: 20px; }
.bs-land-console-body .bigstep-ai-gen-topbar { display: none; }

/* ── Generator override (scoped — không ảnh hưởng editor full screen) ──
   Editor tokens optimize cho mật độ cao (10/12/13/14px) — đẹp trong khung
   tools nhỏ, nhưng quá bé khi nhúng vào landing rộng.
Override để khớp
   typography của landing (16px base) và contrast text phụ. */
.bs-land-console-body .bigstep-ai-app {
	--bs-muted: #a8b4c8;
--t-xs:   12px;
	--t-sm:   13px;
	--t-md:   14px;
	--t-base: 15px;
}
.bs-land-console-body .bigstep-ai-gen-title {
	font-size: clamp(26px, 2.75vw, 36px) !important;
	letter-spacing: 0 !important;
}
.bs-land-console-body .bigstep-ai-gen-subtitle {
	font-size: 15px !important;
	line-height: 1.5 !important;
color: #c4cfdf !important;
}
.bs-land-console-body .bigstep-ai-form-label,
.bs-land-console-body .bigstep-ai-generator-form > label {
	font-size: 12px !important;
	letter-spacing: 0 !important;
	color: var(--bsl-muted) !important;
}
.bs-land-console-body .bigstep-ai-app input[type="text"],
.bs-land-console-body .bigstep-ai-app input[type="url"],
.bs-land-console-body .bigstep-ai-app select,
.bs-land-console-body .bigstep-ai-app textarea {
	min-height: 46px !important;
	padding: 12px 14px !important;
	font-size: 15px !important;
background: var(--bsl-surface) !important;
	border-color: var(--bsl-border) !important;
}
.bs-land-console-body .bigstep-ai-app textarea { min-height: 112px !important; }
.bs-land-console-body .bigstep-ai-app input:focus,
.bs-land-console-body .bigstep-ai-app select:focus,
.bs-land-console-body .bigstep-ai-app textarea:focus {
	border-color: var(--bsl-accent) !important;
	box-shadow: 0 0 0 3px rgba(99,102,241,.18) !important;
}
.bs-land-console-body .bigstep-ai-gen-submit {
	height: auto !important;
	min-height: 56px !important;
	font-size: 15px !important;
	letter-spacing: 0 !important;
	font-weight: 800 !important;
}
.bs-land-console-body .bigstep-ai-app .bigstep-ai-swatch {
	height: 40px !important;
min-height: 40px !important;
	padding: 0 14px !important;
	font-size: 13px !important;
}
.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-style-chips button {
	height: 30px !important;
	padding: 0 10px !important;
}
.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-form-block--color {
	grid-column: 1 / -1;
	overflow: visible !important;
}
.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-swatch.bigstep-ai-swatch--color-only {
	width: 40px !important;
	height: 40px !important;
	padding: 4px !important;
	flex: 0 0 40px !important;
	overflow: visible !important;
}
.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-swatch.bigstep-ai-swatch--color-only .bigstep-ai-swatch-dot {
	width: 30px !important;
	height: 30px !important;
}
.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-swatch-grid--placement .bigstep-ai-swatch {
	height: 38px !important;
	min-height: 38px !important;
	padding: 0 10px !important;
}
.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-form-block--method .bigstep-ai-swatch {
	height: auto !important;
	min-height: 52px !important;
	padding: 8px 10px !important;
}
.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-compact-submit-row .bigstep-ai-gen-submit {
	height: auto !important;
	min-height: 56px !important;
}
.bs-land-console-body .bigstep-ai-history-toggle {
	font-size: 13px !important;
	padding: 8px 14px !important;
}
.bs-land-console-body .bigstep-ai-history-note { font-size: 13px !important; }
/* Compact preview box border — match landing surface */
.bs-land-console-body .bigstep-ai-preview-box {
	border-color: var(--bsl-border) !important;
}

/* Codex studio console repair: desktop landing must keep form + preview in two columns. */
@media (min-width: 981px) {
	.bs-land-console-body {
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden !important;
	}

	.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		padding: 24px !important;
	}

	.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-generator-layout {
		display: grid !important;
		width: 100% !important;
		max-width: none !important;
		grid-template-columns: minmax(520px, .96fr) minmax(420px, 1fr) !important;
		gap: 32px !important;
		align-items: start !important;
		padding: 0 !important;
	}

	.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-generator-left,
	.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-generator-right {
		min-width: 0 !important;
		padding: 0 !important;
	}

	.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-generator-right {
		display: flex !important;
		position: sticky !important;
		top: 24px !important;
	}

	.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-preview-box {
		width: 100% !important;
		max-width: 560px !important;
		min-height: 560px !important;
		margin: 0 auto !important;
	}
}

@media (min-width: 981px) and (max-width: 1180px) {
	.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-generator-layout {
		grid-template-columns: minmax(0, 1fr) minmax(360px, .86fr) !important;
		gap: 24px !important;
	}

	.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-preview-box {
		min-height: 460px !important;
	}
}


/* ── Portfolio (Instagram feed frame) ─────────────────────── */
.bs-land-port { margin: 0 auto; padding: 36px 0; }
.bs-land-port-frame {
	background: #000;
border: 1px solid var(--bsl-border);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .7);
}
.bs-land-port-bar {
	background: var(--bsl-surface); border-bottom: 1px solid var(--bsl-border);
padding: 14px 20px;
	display: flex; align-items: center; gap: 16px;
}
.bs-land-port-title {
	flex: 1;
	min-width: 0;
	font-size: 13px;
color: #dbe2ee;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.bs-land-port-state {
	display: inline-flex; align-items: center; gap: 7px;
	font-size: 11px; color: var(--bsl-success); letter-spacing: .04em;
}
.bs-land-port-controls {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.bs-land-feed-arrow {
	width: 34px;
	height: 34px;
	border: 1px solid rgba(129, 140, 248, .28);
	border-radius: var(--bsl-r-sm);
	background: rgba(255,255,255,.05);
	color: #e2e8f0;
	display: inline-grid;
	place-items: center;
	cursor: pointer;
	transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.bs-land-feed-arrow:hover {
	border-color: var(--bsl-accent);
	background: rgba(99,102,241,.14);
	color: #fff;
	transform: translateY(-1px);
}
.bs-land-feed-arrow:disabled {
	opacity: .35;
	cursor: not-allowed;
	transform: none;
}
.bs-land-port-body {
	position: relative;
	padding: 20px;
	background: #04050a;
	min-height: 200px;
}
.bs-land-social-feed #sb_instagram {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
}
.bs-land-social-feed #sb_instagram #sbi_images {
	display: flex !important;
	gap: 16px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	padding: 0 !important;
	margin: 0 !important;
}
.bs-land-social-feed #sb_instagram #sbi_images::-webkit-scrollbar {
	height: 0;
}
.bs-land-social-feed #sb_instagram #sbi_images {
	scrollbar-width: none;
}
.bs-land-social-feed #sb_instagram .sbi_item {
	float: none !important;
	display: block !important;
	flex: 0 0 clamp(230px, 24vw, 330px) !important;
	width: clamp(230px, 24vw, 330px) !important;
	max-width: clamp(230px, 24vw, 330px) !important;
	margin: 0 !important;
	padding: 0 !important;
	scroll-snap-align: start;
	vertical-align: top;
}
.bs-land-social-feed #sb_instagram .sbi_photo {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: 4 / 5;
	padding-bottom: 0 !important;
	background-size: cover !important;
	background-position: center !important;
	cursor: zoom-in;
}
.bs-land-social-feed #sb_instagram .sbi_photo img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}
.bs-land-social-feed #sb_instagram #sbi_load .sbi_follow_btn {
	display: none !important;
}
.bs-land-feed-actions {
	display: flex;
	justify-content: center;
	padding: 0 20px 24px;
	background: #04050a;
}
.bs-land-feed-follow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 0 18px;
	border-radius: var(--bsl-r-sm);
	background: var(--bsl-grd);
	color: #fff !important;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none !important;
	box-shadow: 0 10px 24px rgba(99, 102, 241, .28);
	transition: transform .18s ease, box-shadow .18s ease;
}
.bs-land-feed-follow:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(99, 102, 241, .42);
}
.bs-land-feed-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: grid;
	place-items: center;
	width: 100vw;
	height: 100dvh;
	margin: 0 !important;
	padding: clamp(16px, 4vw, 42px);
	background: rgba(3, 5, 12, .9);
}
.bs-land-feed-modal[hidden] {
	display: none !important;
}
.bs-land-feed-modal-backdrop {
	position: fixed;
	inset: 0;
	border: 0;
	background:
		radial-gradient(circle at 50% 40%, rgba(99,102,241,.16), transparent 34%),
		rgba(3, 5, 12, .9);
	backdrop-filter: blur(12px);
	cursor: zoom-out;
}
.bs-land-feed-modal-dialog {
	position: relative;
	z-index: 1;
	width: min(1040px, calc(100vw - 32px));
	height: min(84dvh, 760px);
	display: grid;
	place-items: center;
	pointer-events: none;
}
.bs-land-feed-modal-img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	background: #050711;
	border: 1px solid rgba(129, 140, 248, .35);
	box-shadow: 0 34px 100px rgba(0, 0, 0, .72);
	pointer-events: auto;
}
.bs-land-feed-modal-close {
	position: absolute;
	top: max(12px, env(safe-area-inset-top));
	right: max(12px, env(safe-area-inset-right));
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 999px;
	background: rgba(15, 23, 42, .86);
	color: #fff;
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow: 0 14px 36px rgba(0,0,0,.42);
	pointer-events: auto;
}
body.bsl-feed-modal-open,
html:has(body.bsl-feed-modal-open) { overflow: hidden !important; }
@media (max-width: 760px) {
	.bs-land-port-controls { gap: 6px; }
	.bs-land-feed-arrow {
		width: 32px;
		height: 32px;
	}
	.bs-land-social-feed #sb_instagram #sbi_images { gap: 10px; }
	.bs-land-social-feed #sb_instagram .sbi_item {
		flex-basis: 78vw !important;
		width: 78vw !important;
		max-width: 78vw !important;
	}
	.bs-land-feed-actions { padding: 0 16px 18px; }
	.bs-land-feed-modal { padding: 16px; }
	.bs-land-feed-modal-close {
		top: 12px;
		right: 12px;
	}
}

/* ── Instagram feed plugin overrides ─────────────────────────
   Hỗ trợ Smash Balloon (Instagram Feed) — selector phổ biến nhất.
Nếu dùng plugin khác có thể cần bổ sung selector.
Tất cả scope
   trong .bs-land-port-body để không ảnh hưởng nơi khác.
*/
.bs-land-port-body #sb_instagram,
.bs-land-port-body .sbi_lightbox,
.bs-land-port-body .sb_instagram_header { background: transparent !important; }
.bs-land-port-body #sb_instagram .sb_instagram_header,
.bs-land-port-body #sb_instagram .sbi_header_link,
.bs-land-port-body #sb_instagram .sbi_bio,
.bs-land-port-body #sb_instagram .sbi_name { color: var(--bsl-text) !important; }
.bs-land-port-body #sb_instagram .sbi_followers,
.bs-land-port-body #sb_instagram .sbi_meta { color: var(--bsl-muted) !important; }
.bs-land-port-body #sb_instagram #sbi_load .sbi_load_btn,
.bs-land-port-body #sb_instagram #sbi_load .sbi_follow_btn a {
	background: var(--bsl-grd) !important;
color: #fff !important;
	border: 0 !important; border-radius: var(--bsl-r-sm) !important;
	font-weight: 700 !important; padding: 10px 22px !important;
box-shadow: 0 8px 20px rgba(99, 102, 241, .3) !important;
	transition: transform .15s, box-shadow .15s !important;
}
.bs-land-port-body #sb_instagram #sbi_load .sbi_load_btn:hover,
.bs-land-port-body #sb_instagram #sbi_load .sbi_follow_btn a:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 12px 28px rgba(99, 102, 241, .45) !important;
}
.bs-land-port-body #sb_instagram .sbi_item,
.bs-land-port-body #sb_instagram .sbi_photo_wrap {
	border-radius: 0 !important;
	border: 1px solid var(--bsl-border) !important;
	overflow: hidden !important;
	background: var(--bsl-surface) !important;
transition: border-color .2s, transform .2s !important;
}
.bs-land-port-body #sb_instagram .sbi_item:hover {
	border-color: var(--bsl-accent) !important;
	transform: translateY(-3px) !important;
}
.bs-land-port-body #sb_instagram .sbi_photo {
	transition: transform .5s ease !important;
}
.bs-land-port-body #sb_instagram .sbi_item:hover .sbi_photo {
	transform: scale(1.06) !important;
}
.bs-land-port-body #sb_instagram .sbi_hover_overlay {
	background: linear-gradient(180deg, transparent 0%, rgba(99, 102, 241, .35) 100%) !important;
}

/* ── Google Reviews ──────────────────────────────────────── */
.bs-land-reviews { margin: 0 auto; padding: 36px 0; }
.bs-land-reviews .bs-land-head { margin-bottom: 40px; }
.bs-land-reviews .bs-land-head h2 {
	background: linear-gradient(135deg, var(--bsl-accent) 0%, var(--bsl-accent-2) 50%, #c084fc 100%);
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
}

.bs-land-rv-frame {
	background: #000;
border: 1.5px solid var(--bsl-border);
	box-shadow:
		0 30px 80px rgba(0, 0, 0, .7),
		0 0 40px rgba(99,102,241,.15),
		inset 0 0 40px rgba(99,102,241,.04);
	position: relative;
transition: box-shadow .3s ease, border-color .3s ease;
}
.bs-land-rv-frame:hover {
	border-color: rgba(99,102,241,.5);
box-shadow:
		0 30px 100px rgba(0, 0, 0, .8),
		0 0 60px rgba(99,102,241,.25),
		inset 0 0 60px rgba(99,102,241,.06);
}
.bs-land-rv-bar {
	background: var(--bsl-surface);
border-bottom: 1px solid var(--bsl-border);
	padding: 14px 20px;
	display: flex; align-items: center; gap: 14px;
}
.bs-land-rv-title {
	flex: 1;
	font-size: 13px; color: #dbe2ee;
	display: flex; align-items: center;
}
.bs-land-rv-state {
	display: inline-flex; align-items: center; gap: 7px;
	font-size: 11px;
}
.bs-land-rv-body {
	padding: 28px 24px 20px;
	background: #0a0d18;
	overflow: hidden;
}

/* ── Trustindex overrides — tất cả scope trong .bs-land-rv-body ─
   Trustindex inject widget với class .ti-widget / .ti-review-item
   Mục tiêu: dark background, ẩn branding, style khớp frame.
*/

/* Widget container */
.bs-land-rv-body .ti-widget,
.bs-land-rv-body .ti-widget-container,
.bs-land-rv-body [class*="ti-widget"] {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--bsl-text) !important;
font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Header (tên shop + star tổng) */
.bs-land-rv-body .ti-header,
.bs-land-rv-body .ti-widget .ti-header {
	background: transparent !important;
border-bottom: 1px solid var(--bsl-border) !important;
	padding-bottom: 16px !important;
	margin-bottom: 20px !important;
	color: var(--bsl-text) !important;
}
.bs-land-rv-body .ti-rating,
.bs-land-rv-body .ti-stars,
.bs-land-rv-body .ti-rating-number { color: #f59e0b !important; }

/* Từng review card */
.bs-land-rv-body .ti-review-item,
.bs-land-rv-body .ti-review-item-body {
	background: var(--bsl-surface) !important;
border: 1px solid var(--bsl-border) !important;
	border-radius: 0 !important;
	color: var(--bsl-text) !important;
	transition: border-color .2s !important;
}
.bs-land-rv-body .ti-review-item:hover { border-color: var(--bsl-accent) !important; }

/* Tên reviewer */
.bs-land-rv-body .ti-name,
.bs-land-rv-body .ti-reviewer-name { color: var(--bsl-text) !important; font-weight: 700 !important; }

/* Nội dung đánh giá */
.bs-land-rv-body .ti-review-text,
.bs-land-rv-body .ti-review-content { color: #c4cfdf !important; line-height: 1.7 !important; font-size: 15px !important; }

/* Ngày đăng */
.bs-land-rv-body .ti-date,
.bs-land-rv-body .ti-review-date { color: var(--bsl-subtle) !important; font-size: 11px !important; }

/* Stars trên từng review */
.bs-land-rv-body .ti-review-item .ti-stars,
.bs-land-rv-body .ti-review-item .ti-rating { color: #f59e0b !important; }

/* Avatar */
.bs-land-rv-body .ti-avatar img,
.bs-land-rv-body .ti-profile-picture { border-radius: 0 !important; border: 1px solid var(--bsl-border) !important; }

/* "Powered by Trustindex" badge — ẩn đi */
.bs-land-rv-body .ti-powered-by,
.bs-land-rv-body [class*="ti-powered"],
.bs-land-rv-body .ti-branding { display: none !important; }

/* "Write a review" / CTA button */
.bs-land-rv-body .ti-write-review,
.bs-land-rv-body [class*="ti-cta"] {
	background: var(--bsl-grd) !important;
	color: #fff !important;
	border: 0 !important;
border-radius: 0 !important;
	font-weight: 700 !important;
}

/* Nav dots / arrow nếu có slider */
.bs-land-rv-body .ti-nav-dot { background: var(--bsl-subtle) !important; }
.bs-land-rv-body .ti-nav-dot.active,
.bs-land-rv-body .ti-nav-dot:hover { background: var(--bsl-accent) !important; }
.bs-land-rv-body .ti-prev,
.bs-land-rv-body .ti-next {
	background: var(--bsl-surface-3) !important;
	border: 1px solid var(--bsl-border) !important;
color: var(--bsl-text) !important;
}
.bs-land-rv-body .ti-prev:hover,
.bs-land-rv-body .ti-next:hover { border-color: var(--bsl-accent) !important; }

/* ── Template Slider ─────────────────────────────────────── */
.bs-land-tpls {
	margin: 0 auto;
	max-width: 1280px;
	padding: 42px 0;
}
.bs-land-tpls .bs-land-head { margin-bottom: 32px; }
.bs-land-tpls .bs-land-head h2 {
	background: linear-gradient(135deg, #fff 20%, var(--bsl-accent) 60%, var(--bsl-accent-2) 100%);
-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
	display: block;
	font-size: clamp(34px, 3.2vw, 46px);
	line-height: 1.5;
	letter-spacing: 0;
	padding: .2em 0 .08em;
	text-transform: uppercase;
	text-wrap: balance;
	overflow: visible !important;
}
.bs-land-tpls .bs-land-head p {
	max-width: 720px;
	line-height: 1.68;
	text-wrap: balance;
}

.bs-land-tpls-frame {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--bsl-border);
	border-radius: 18px;
	background: rgba(4, 5, 10, .72);
	box-shadow: 0 22px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
.bs-land-tpls-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 10px 14px;
	border-bottom: 1px solid var(--bsl-border);
	background: rgba(15,23,42,.56);
}
.bs-land-tpls-title {	flex: 1;	min-width: 0;	font-size: 13px;	color: #dbe2ee;	white-space: nowrap;	overflow: hidden;	text-overflow: ellipsis;}
.bs-land-tpls-controls {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: auto;
	flex: 0 0 auto;
}
.bs-land-tpls-body {
	padding: 20px;
	background: #04050a;
}
.bs-land-tpls-track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding: 0;
/* Mỗi card chiếm 1/4 - gap → 4 cards/view trên desktop */
	--bs-tpl-cols: 4;
	--bs-tpl-gap: 16px;
}
.bs-land-tpls-track::-webkit-scrollbar { display: none; }

.bs-land-tpl-card {
	flex: 0 0 calc((100% - (var(--bs-tpl-cols) - 1) * var(--bs-tpl-gap)) / var(--bs-tpl-cols));
	scroll-snap-align: start;
	background: linear-gradient(180deg, rgba(17,22,42,.96), rgba(10,15,29,.96));
	border: 1px solid rgba(129,140,248,.26);
	border-radius: 16px;
	overflow: hidden;
	transition:
		border-color .28s cubic-bezier(.16,1,.3,1),
		background .28s ease,
		box-shadow .28s ease,
		transform .28s cubic-bezier(.16,1,.3,1);
}
.bs-land-tpl-card:hover {
	border-color: rgba(99,102,241,.42);
	background: linear-gradient(180deg, rgba(20,27,50,.98), rgba(11,17,33,.98));
	transform: translateY(-2px);
	box-shadow:
		0 18px 44px rgba(0,0,0,.42),
		0 0 0 1px rgba(99,102,241,.18),
		0 0 34px rgba(99,102,241,.12);
}

.bs-land-tpl-thumb {
	position: relative;
	aspect-ratio: 1 / 1;
background:
		repeating-conic-gradient(rgba(255,255,255,.025) 0deg 90deg, transparent 90deg 180deg) 0 0 / 16px 16px,
		linear-gradient(180deg, var(--bsl-surface-2) 0%, var(--bsl-surface) 100%);
	overflow: hidden;
}
.bs-land-tpl-thumb img {
	position: absolute;
	inset: 7%;
	width: 86%;
	height: 86%;
	object-fit: contain;
	transition: transform .28s cubic-bezier(.16,1,.3,1), filter .28s ease;
}
.bs-land-tpl-card:hover .bs-land-tpl-thumb img {
	transform: scale(1.025);
	filter: saturate(1.04);
}

.bs-land-tpl-overlay {
	position: absolute;
	inset: 0;
	display: flex; align-items: flex-end; justify-content: center;
	padding: 16px;
	background: linear-gradient(180deg, transparent 48%, rgba(8,11,18,.82) 100%);
	opacity: 1;
	transition: opacity .25s;
}
.bs-land-tpl-card:hover .bs-land-tpl-overlay { opacity: 1; }

.bs-land-tpl-cta {
	display: inline-flex;
align-items: center; gap: 6px;
	padding: 10px 16px;
	background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 60%, #a855f7 100%);
	color: #fff !important;
	border-radius: 999px;
font-size: 12px; font-weight: 800; letter-spacing: .06em;
	text-transform: uppercase;
	box-shadow: 0 8px 20px rgba(99,102,241,.4);
	transition: transform .15s, box-shadow .15s;
}
.bs-land-tpl-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(99,102,241,.55);
}
.bs-land-tpl-cta:active { transform: scale(.96); }

.bs-land-tpl-meta {
	padding: 14px 16px 16px;
	display: flex;
flex-direction: column; gap: 3px;
	border-top: 1px solid rgba(129,140,248,.22);
}
.bs-land-tpl-meta strong {
	font-size: 15px; font-weight: 850;
	color: var(--bsl-text);
	line-height: 1.3;
	overflow: hidden;
display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
}
.bs-land-tpl-meta span {
	font-size: 11px; color: #9fb0c8;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* Arrows */
.bs-land-tpls-arrow {
	width: 64px !important;
	height: 36px !important;
	min-width: 64px !important;
	max-width: 64px !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 8px;
	background: rgba(15, 23, 42, .55);
	color: #e2e8f0;
	display: inline-grid;
	place-items: center;
	cursor: pointer;
	transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.bs-land-tpls-arrow svg { width: 14px; height: 14px; }
.bs-land-tpls-arrow:hover {
	border-color: var(--bsl-accent);
	background: rgba(99,102,241,.15);
	color: #fff;
	transform: translateY(-1px);
}
.bs-land-tpls-arrow:disabled {
	opacity: .42;
	cursor: default;
	pointer-events: none;
}

/* Dots indicator (mobile only) */
.bs-land-tpls-dots {
	display: none;
	justify-content: center;
	gap: 6px;
	margin-top: 12px;
}
.bs-land-tpls-dots span {
	width: 6px; height: 6px;
	border-radius: 8px;
	background: var(--bsl-border-2);
	transition: background .2s, transform .2s;
}
.bs-land-tpls-dots span.is-active {
	background: var(--bsl-accent);
transform: scale(1.4);
}

/* Light mode template slider */
:root[data-theme="light"] .bs-land-tpls .bs-land-head h2 {
	background: linear-gradient(135deg, #0f172a 10%, #6366f1 50%, #8b5cf6 100%);
-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
}
:root[data-theme="light"] .bs-land-tpl-card {
	background: radial-gradient(circle at 50% 45%, rgba(99,102,241,.10), transparent 62%), #ffffff;
	border-color: rgba(99,102,241,.18);
}
:root[data-theme="light"] .bs-land-tpl-card:hover {
	border-color: rgba(99,102,241,.42);
	background: radial-gradient(circle at 50% 45%, rgba(99,102,241,.14), transparent 62%), #fafbff;
	box-shadow:
		0 18px 44px rgba(15,23,42,.18),
		0 0 0 1px rgba(99,102,241,.20),
		0 0 34px rgba(99,102,241,.12);
}
:root[data-theme="light"] .bs-land-tpl-thumb {
	background:
		repeating-conic-gradient(rgba(99,102,241,.04) 0deg 90deg, transparent 90deg 180deg) 0 0 / 16px 16px,
		linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}
/* Tablet: 3 cards / view */
@media (max-width: 1100px) {
	.bs-land-tpls-track { --bs-tpl-cols: 3; --bs-tpl-gap: 14px; gap: 14px; }
}
/* Phablet: 2 cards / view */
@media (max-width: 768px) {
	.bs-land-tpls-track { --bs-tpl-cols: 2; --bs-tpl-gap: 12px; gap: 12px; }
	.bs-land-tpls-arrow { display: inline-grid !important; width: 26px !important; height: 26px !important; min-width: 26px !important; max-width: 26px !important; padding: 0 !important; }
	.bs-land-tpls-arrow svg { width: 12px; height: 12px; }
	.bs-land-tpls-dots { display: flex; }
	.bs-land-tpl-overlay { opacity: 1; } /* tap target visible mobile */
	.bs-land-tpl-cta { padding: 8px 14px; font-size: 11px; }
}
/* Mobile: 1.4 cards (peek effect) */
@media (max-width: 480px) {
	.bs-land-tpls-track { --bs-tpl-cols: 1.4; gap: 10px; padding: 4px 0 14px; }
	.bs-land-tpl-meta { padding: 10px 12px 12px; }
	.bs-land-tpl-meta strong { font-size: 13px; }
	.bs-land-tpl-meta span { font-size: 10px; }
}

/* ── Q&A / FAQ ───────────────────────────────────────────── */
.bs-land-faq { margin: 0 auto; padding: 36px 0; }
.bs-land-faq-list { display: flex; flex-direction: column; gap: 0; }

.bs-land-faq-item {
	border: 1px solid var(--bsl-border);
	border-top: none;
	background: var(--bsl-surface);
	transition: background .2s;
}
.bs-land-faq-item:first-child { border-top: 1px solid var(--bsl-border); }
.bs-land-faq-item[open] { background: #000; border-color: var(--bsl-accent); }
/* stack borders — avoid double line */
.bs-land-faq-item + .bs-land-faq-item { margin-top: -1px; }
.bs-land-faq-item[open] + .bs-land-faq-item { margin-top: 0; border-top: 1px solid var(--bsl-border); }

.bs-land-faq-q {
	list-style: none;
	display: flex; align-items: center; gap: 18px;
padding: 24px 28px;
	cursor: pointer;
	font-weight: 700; font-size: 16px;
	color: var(--bsl-text);
	transition: color .15s;
	user-select: none;
	line-height: 1.45;
}
.bs-land-faq-q::-webkit-details-marker { display: none; }
.bs-land-faq-q::marker { display: none; }
.bs-land-faq-item[open] .bs-land-faq-q { color: var(--bsl-accent); }

.bs-land-faq-idx {
font-size: 12px; font-weight: 500;
	color: var(--bsl-muted);
	flex-shrink: 0; width: 26px;
}
.bs-land-faq-item[open] .bs-land-faq-idx { color: var(--bsl-accent-2); }

.bs-land-faq-q > span:nth-child(2) { flex: 1; }

.bs-land-faq-icon {
	flex-shrink: 0;
	width: 28px; height: 28px;
	display: flex; align-items: center; justify-content: center;
border: 1px solid var(--bsl-border);
	font-size: 18px; font-weight: 300;
	color: var(--bsl-muted);
transition: transform .22s cubic-bezier(.16,1,.3,1), border-color .2s, color .2s;
}
.bs-land-faq-item[open] .bs-land-faq-icon {
	transform: rotate(45deg);
	border-color: var(--bsl-accent);
	color: var(--bsl-accent);
}

.bs-land-faq-a {
	padding: 0 28px 28px calc(28px + 26px + 18px);
	font-size: 15px; color: #c4cfdf; line-height: 1.78;
}
.bs-land-faq-a strong { color: var(--bsl-text); }

/* ── Studio bypass button ────────────────────────────────── */
.bs-land-bypass {
	display: flex; align-items: center; justify-content: center; gap: 16px;
margin-top: 20px; flex-wrap: wrap;
}
.bs-land-bypass-label {
	font-size: 14px; color: var(--bsl-muted);
}
.bs-land-bypass-btn {
	display: inline-flex; align-items: center;
gap: 8px;
	padding: 14px 28px;
	background: linear-gradient(135deg, rgba(99,102,241,.22), rgba(139,92,246,.16));
	border: 1px solid rgba(129,140,248,.72);
	color: #ffffff !important;
	font-size: 14px; font-weight: 800; letter-spacing: .02em;
	box-shadow: 0 12px 34px rgba(99,102,241,.22), inset 0 0 0 1px rgba(255,255,255,.05);
transition: border-color .18s, color .18s, background .18s, transform .18s, box-shadow .18s;
	font-family: inherit;
}
.bs-land-bypass-btn:hover {
	border-color: var(--bsl-accent);
	background: linear-gradient(135deg, #6366f1, #8b5cf6);
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 18px 48px rgba(99,102,241,.34), 0 0 28px rgba(139,92,246,.22);
}
.bs-land-bypass-btn svg { flex-shrink: 0; }

/* ── Footer ──────────────────────────────────────────────── */
.bs-land-footer {
	margin: 48px auto 0;
	border-top: 1px solid var(--bsl-border);
	padding-top: 40px;
}
.bs-land-footer-inner {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
	gap: 48px;
	margin-bottom: 32px;
}
.bs-land-footer-logo img { height: 32px; width: auto; }
.bs-land-footer-tagline {
	font-size: 14px; color: var(--bsl-muted); line-height: 1.5;
	margin-top: 16px; font-weight: 500;
}
.bs-land-footer-info {
	list-style: none; padding: 0; margin: 14px 0 0;
display: flex; flex-direction: column; gap: 8px;
	font-size: 13.5px; color: var(--bsl-muted); line-height: 1.55;
}
.bs-land-footer-info li {
	display: flex;
	align-items: flex-start;
	gap: 9px;
}
.bs-land-footer-info-icon {
	width: 15px;
	height: 15px;
	flex: 0 0 15px;
	margin-top: 3px;
	color: var(--bsl-accent);
	stroke: currentColor;
	fill: none;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: .9;
}
.bs-land-footer-info-icon--facebook {
	fill: currentColor;
	stroke: none;
}
.bs-land-footer-info a {
	color: var(--bsl-muted);
	transition: color .18s;
}
.bs-land-footer-info a:hover { color: var(--bsl-text); }

/* Column headings — sentence case theo screenshot, không UPPERCASE mono */
.bs-land-footer-col h4 {
	font-size: 16px; letter-spacing: 0;
	color: var(--bsl-text);
margin: 0 0 18px; font-weight: 700;
}
.bs-land-footer-col ul {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-direction: column; gap: 10px;
}
.bs-land-footer-col ul li {
	display: block;
	font-size: 14px; color: var(--bsl-muted); line-height: 1.5;
}
.bs-land-footer-col ul li a {
	color: var(--bsl-muted);
	transition: color .18s;
}
.bs-land-footer-col ul li a:hover { color: var(--bsl-text); }

/* Cột 4: BCT + payment + social */
.bs-land-footer-bct {
	display: flex; flex-direction: column;
gap: 18px;
	align-items: flex-start;
}
.bs-land-bct-link {
	display: inline-block;
	transition: opacity .15s, transform .18s;
}
.bs-land-bct-link:hover { opacity: .85; transform: translateY(-1px); }
.bs-land-bct-link img {
	display: block;
	max-width: 170px;
	height: auto;
}

/* Payment row — 1 hàng, không wrap */
.bs-land-footer-pay {
	display: flex;
flex-wrap: nowrap; gap: 5px;
	width: 100%;
	overflow: hidden;
}
.bs-land-pay-chip {
	display: inline-flex; align-items: center; gap: 4px;
	padding: 5px 9px;
	background: var(--bsl-surface);
border: 1px solid var(--bsl-border);
	border-radius: 6px;
	font-size: 10.5px; font-weight: 600;
	color: var(--bsl-muted);
	letter-spacing: .02em;
white-space: nowrap;
	flex-shrink: 1;
	min-width: 0;
}
.bs-land-pay-chip svg { color: var(--bsl-accent); flex-shrink: 0; }

/* Social row */
.bs-land-footer-social {
	display: flex;
flex-direction: column; gap: 10px;
}
.bs-land-social-label {
	font-size: 13px; font-weight: 600;
	color: var(--bsl-muted);
}
.bs-land-social-row {
	display: flex; gap: 8px;
}
.bs-land-social-link {
	display: inline-flex;
align-items: center; justify-content: center;
	width: 34px; height: 34px;
	background: var(--bsl-surface);
	border: 1px solid var(--bsl-border);
	border-radius: 8px;
	color: var(--bsl-muted);
transition: border-color .18s, color .18s, background .18s, transform .18s;
}
.bs-land-social-link:hover {
	border-color: var(--bsl-accent);
	color: var(--bsl-accent);
	background: rgba(99,102,241,.08);
	transform: translateY(-2px);
}

.bs-land-footer-bottom {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	padding: 16px 0 8px;
	border-top: 1px solid rgba(255,255,255,.06);
	font-size: 13px; color: var(--bsl-muted);
	letter-spacing: .03em;
	text-align: center;
}
.bs-land-footer-bottom strong {
	color: var(--bsl-text);
	font-weight: 700;
}
.bs-land-footer-sep { color: var(--bsl-subtle);
padding: 0 4px; }

/* ── Zalo fallback ───────────────────────────────────────── */
.bs-land-zalo { margin: 36px auto; }
.bs-land-zalo-box {
	position: relative;
	overflow: hidden;
	padding: 48px 56px;
	background:
		radial-gradient(circle at 82% 22%, rgba(168, 85, 247, .28), transparent 34%),
		radial-gradient(circle at 18% 100%, rgba(16, 185, 129, .16), transparent 34%),
		linear-gradient(135deg, rgba(12, 16, 30, .98), rgba(4, 7, 14, .99));
	border: 1px solid rgba(129, 140, 248, .42);
	border-radius: 22px;
	box-shadow:
		0 28px 90px rgba(0, 0, 0, .44),
		0 0 0 1px rgba(255, 255, 255, .05) inset,
		0 0 70px rgba(99, 102, 241, .16);
}
.bs-land-zalo-box::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, transparent 0%, rgba(99, 102, 241, .75) 32%, rgba(168, 85, 247, .75) 68%, transparent 100%) top left / 100% 2px no-repeat,
		linear-gradient(120deg, rgba(255, 255, 255, .10), transparent 36%);
	opacity: .9;
}
.bs-land-zalo-box::after {
	content: "";
	position: absolute;
	right: 150px;
	top: 50%;
	width: 210px;
	height: 210px;
	border-radius: 50%;
	transform: translateY(-50%);
	background: radial-gradient(circle, rgba(99, 102, 241, .24), transparent 68%);
	filter: blur(8px);
	pointer-events: none;
}
.bs-land-zalo-flag {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 18px;
	padding: 8px 12px;
	border-radius: 999px;
	background: rgba(16, 185, 129, .12);
	border: 1px solid rgba(52, 211, 153, .28);
	color: #6ee7b7;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .11em;
	text-transform: uppercase;
	box-shadow: 0 0 24px rgba(16, 185, 129, .12);
}
.bs-land-zalo-row {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 42px;
}
.bs-land-zalo-text {
	max-width: 720px;
}
.bs-land-zalo-text h3 {
	margin: 0 0 12px;
	font-size: clamp(30px, 3.2vw, 44px);
	font-weight: 950;
	line-height: 1.05;
	letter-spacing: -.02em;
	color: #ffffff;
	text-shadow: 0 1px 24px rgba(99, 102, 241, .22);
}
.bs-land-zalo-text p  {
	margin: 0;
	font-size: 16.5px;
	color: #dbeafe;
	line-height: 1.72;
}
.bs-land-zalo-text p strong {
	display: inline-flex;
	align-items: center;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(99, 102, 241, .20);
	border: 1px solid rgba(129, 140, 248, .32);
	color: #ffffff;
	font-weight: 950;
	letter-spacing: .02em;
}
.bs-land-zalo .bs-land-btn--designer {
	flex: 0 0 auto;
	min-height: 58px;
	padding: 0 30px;
	border-radius: 16px;
	background: linear-gradient(135deg, #7c3aed 0%, #8b5cf6 46%, #a78bfa 100%);
	box-shadow: 0 18px 46px rgba(124, 58, 237, .36), 0 0 0 1px rgba(255, 255, 255, .12) inset;
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 950;
	letter-spacing: .04em;
}
.bs-land-zalo .bs-land-btn--designer:hover {
	transform: translateY(-2px);
	box-shadow: 0 24px 58px rgba(124, 58, 237, .46), 0 0 0 1px rgba(255, 255, 255, .16) inset;
	filter: saturate(1.08) brightness(1.06);
}

/* ══════════════════════════════════════════════════════════════
   ── LIGHT MODE ─────────────────────────────────────────────
   Toggle qua nút topbar;
persist trong localStorage chung
   với editor (key 'bigstep_ai_editor_theme').
CSS scope qua
   :root[data-theme="light"] để win specificity bất kể source order.
══════════════════════════════════════════════════════════════ */
:root[data-theme="light"] .bigstep-landing {
	--bsl-bg:        #f7f8fb;
	--bsl-surface:   #ffffff;
	--bsl-surface-2: #f0f2f7;
	--bsl-surface-3: #e5e8ef;
--bsl-text:      #0f172a;
	--bsl-muted:     #475569;
	--bsl-subtle:    #94a3b8;
--bsl-border:    rgba(99, 102, 241, .22);
	--bsl-border-2:  #cbd5e1;
	--bsl-accent:    #6366f1;
	--bsl-accent-2:  #8b5cf6;
/* Background layered cho light — glow softer, grid darker */
	background:
		linear-gradient(rgba(99,102,241,.04) 1px, transparent 1px) 0 0 / 32px 32px,
		linear-gradient(90deg, rgba(99,102,241,.04) 1px, transparent 1px) 0 0 / 32px 32px,
		radial-gradient(ellipse 80% 50% at 50% 0%, rgba(99,102,241,.10), transparent 55%),
		radial-gradient(ellipse 60% 40% at 80% 100%, rgba(139,92,246,.08), transparent 60%),
		radial-gradient(ellipse 50% 40% at 10% 80%, rgba(168,85,247,.06), transparent 60%),
		var(--bsl-bg);
background-attachment: fixed, fixed, fixed, fixed, fixed, fixed;
}

/* Topbar backdrop trong light — trắng mờ thay vì đen mờ */
:root[data-theme="light"] .bs-land-topbar {
	background: rgba(247, 248, 251, .8);
border-bottom-color: rgba(99,102,241,.18);
}

/* Hero viewport: light surface với border indigo */
:root[data-theme="light"] .bs-land-viewport {
	background: #ffffff;
box-shadow:
		inset 0 0 46px rgba(99,102,241,.12),
		0 24px 70px rgba(15,23,42,.18);
	border-color: rgba(99,102,241,.32);
}
:root[data-theme="light"] .bs-land-grid {
	background-image:
		linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
}
:root[data-theme="light"] .bs-land-glow {
	background: radial-gradient(circle, rgba(99,102,241,.22) 0%, transparent 70%);
}
:root[data-theme="light"] .bs-land-shirt {
	filter: drop-shadow(0 16px 32px rgba(0,0,0,.15))
	        drop-shadow(0 0 24px rgba(139,92,246,.12));
}
:root[data-theme="light"] .bs-land-badge {
	background: rgba(255,255,255,.85);
	color: var(--bsl-accent);
	border-color: rgba(99,102,241,.28);
	backdrop-filter: blur(4px);
}
:root[data-theme="light"] .bs-land-badge--bottom { color: var(--bsl-accent-2); }
:root[data-theme="light"] .bs-land-badge--side {
	color: #059669;
border-color: rgba(16,185,129,.35);
}

/* Console frames: light surface */
:root[data-theme="light"] .bs-land-console {
	background: linear-gradient(180deg, #fafbff 0%, #ffffff 100%);
box-shadow:
		0 40px 100px rgba(99,102,241,.15),
		0 0 60px rgba(99,102,241,.08),
		inset 0 0 40px rgba(99,102,241,.04);
	border-color: rgba(99,102,241,.24);
}
:root[data-theme="light"] .bs-land-console:hover {
	box-shadow:
		0 40px 120px rgba(99,102,241,.22),
		0 0 80px rgba(99,102,241,.15),
		inset 0 0 60px rgba(99,102,241,.06);
}
:root[data-theme="light"] .bs-land-port-frame,
:root[data-theme="light"] .bs-land-tpls-frame,
:root[data-theme="light"] .bs-land-rv-frame {
	background: #ffffff;
box-shadow:
		0 30px 100px rgba(99,102,241,.12),
		0 0 40px rgba(99,102,241,.08),
		inset 0 0 30px rgba(99,102,241,.03);
	border-color: rgba(99,102,241,.24);
}
:root[data-theme="light"] .bs-land-port-frame:hover,
:root[data-theme="light"] .bs-land-tpls-frame:hover,
:root[data-theme="light"] .bs-land-rv-frame:hover {
	box-shadow:
		0 30px 100px rgba(99,102,241,.18),
		0 0 60px rgba(99,102,241,.12),
		inset 0 0 50px rgba(99,102,241,.05);
}
:root[data-theme="light"] .bs-land-console-bar,
:root[data-theme="light"] .bs-land-port-bar,
:root[data-theme="light"] .bs-land-tpls-bar,
:root[data-theme="light"] .bs-land-rv-bar {
	background: var(--bsl-surface-2);
border-bottom-color: rgba(99,102,241,.14);
}
:root[data-theme="light"] .bs-land-console-title,
:root[data-theme="light"] .bs-land-port-title,
:root[data-theme="light"] .bs-land-tpls-title,
:root[data-theme="light"] .bs-land-rv-title { color: #475569; }
:root[data-theme="light"] .bs-land-console-body { background: #ffffff; }
:root[data-theme="light"] .bs-land-port-body { background: #fafbff; }
:root[data-theme="light"] .bs-land-feed-actions { background: #fafbff; }
:root[data-theme="light"] .bs-land-feed-arrow,
:root[data-theme="light"] .bs-land-tpls-arrow {
	background: #ffffff;
	border-color: rgba(99,102,241,.2);
	color: #475569;
}
:root[data-theme="light"] .bs-land-rv-body { background: #fafbff; }

:root[data-theme="light"] .bs-land-reviews .bs-land-head h2 {
	background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);
	-webkit-background-clip: text;
background-clip: text;
	-webkit-text-fill-color: transparent;
}
:root[data-theme="light"] .bs-land-dots span { background: #d1d5db; }

/* Hover bloom phù hợp light — already defined above in frame styles */

/* Hero text colors */
:root[data-theme="light"] .bs-land-sub {
	color: #475569;
}
:root[data-theme="light"] .bs-land-sub-intro,
:root[data-theme="light"] .bs-land-head p {
	color: #334155;
}
:root[data-theme="light"] .bs-land-grad {
	background: linear-gradient(120deg, #0f172a 10%, #6366f1 35%, #8b5cf6 55%, #c084fc 70%, #0f172a 90%);
	background-size: 220% auto;
	-webkit-background-clip: text;
background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 0 16px rgba(99,102,241,.25));
}

/* Tag bg trong light */
:root[data-theme="light"] .bs-land-tag {
	background: rgba(99,102,241,.08);
	border-color: rgba(99,102,241,.28);
}

/* Payment chips */
:root[data-theme="light"] .bs-land-pay-list span {
	background: #ffffff;
	color: #1e293b;
	border-color: rgba(99,102,241,.22);
}
:root[data-theme="light"] .bs-land-pay-list span:hover {
	background: rgba(99,102,241,.06);
	color: #0f172a;
}

/* FAQ items */
:root[data-theme="light"] .bs-land-faq-item {
	background: #ffffff;
	border-color: rgba(99,102,241,.18);
}
:root[data-theme="light"] .bs-land-faq-item[open] {
	background: #fafbff;
	border-color: var(--bsl-accent);
}
:root[data-theme="light"] .bs-land-faq-item:not([open]):hover {
	background: #fafbff;
border-color: rgba(99,102,241,.34);
}
:root[data-theme="light"] .bs-land-faq-icon {
	color: #475569;
	border-color: rgba(99,102,241,.28);
}
:root[data-theme="light"] .bs-land-faq-a { color: #475569; }
:root[data-theme="light"] .bs-land-faq-idx { color: #94a3b8; }

/* Footer light mode */
:root[data-theme="light"] .bs-land-footer {
	border-top-color: rgba(99,102,241,.18);
}
:root[data-theme="light"] .bs-land-footer-col h4 { color: #0f172a; }
:root[data-theme="light"] .bs-land-pay-chip {
	background: #ffffff;
	border-color: rgba(99,102,241,.2);
color: #475569;
}
:root[data-theme="light"] .bs-land-social-link {
	background: #ffffff;
	border-color: rgba(99,102,241,.22);
	color: #475569;
}
:root[data-theme="light"] .bs-land-social-link:hover {
	background: rgba(99,102,241,.08);
	color: var(--bsl-accent);
}
:root[data-theme="light"] .bs-land-footer-bottom {
	border-top-color: rgba(99,102,241,.12);
color: #475569;
}
:root[data-theme="light"] .bs-land-footer-bottom strong { color: #0f172a; }

/* Bypass button */
:root[data-theme="light"] .bs-land-bypass-btn {
	background: linear-gradient(135deg, #6366f1, #8b5cf6);
	border-color: rgba(99,102,241,.28);
	color: #ffffff !important;
	box-shadow: 0 16px 42px rgba(99,102,241,.26);
}
:root[data-theme="light"] .bs-land-bypass-btn:hover {
	background: linear-gradient(135deg, #4f46e5, #7c3aed);
	color: #ffffff !important;
}

/* Zalo mini button */
:root[data-theme="light"] .bs-land-zalo-mini {
	background: #ffffff;
	border-color: rgba(99,102,241,.28);
	color: #1e293b !important;
}
:root[data-theme="light"] .bs-land-zalo-mini:hover {
	background: rgba(99,102,241,.08);
	color: var(--bsl-accent) !important;
}

:root[data-theme="light"] .bs-land-cart-toggle {
	background: #ffffff;
	border-color: rgba(99,102,241,.28);
	color: #1e293b !important;
}
:root[data-theme="light"] .bs-land-cart-toggle:hover {
	background: rgba(99,102,241,.08);
	color: var(--bsl-accent) !important;
}
:root[data-theme="light"] .bs-land-cart-panel {
	background: rgba(255, 255, 255, .97);
	border-color: rgba(99,102,241,.22);
	box-shadow: 0 24px 70px rgba(15, 23, 42, .16), 0 0 0 1px rgba(255,255,255,.8) inset;
}
:root[data-theme="light"] .bs-land-cart-panel-head,
:root[data-theme="light"] .bs-land-cart-panel .mini_cart_item a:not(.remove),
:root[data-theme="light"] .bs-land-cart-panel .woocommerce-mini-cart__total {
	color: #0f172a !important;
}
:root[data-theme="light"] .bs-land-cart-panel .mini_cart_item,
:root[data-theme="light"] .bs-land-cart-panel .quantity,
:root[data-theme="light"] .bs-land-cart-panel .woocommerce-mini-cart__empty-message {
	color: #64748b !important;
}
:root[data-theme="light"] .bs-land-cart-panel .quantity {
	background: rgba(99,102,241,.08);
	border-color: rgba(99,102,241,.18);
	color: #334155 !important;
}
:root[data-theme="light"] .bs-land-cart-panel .quantity .amount,
:root[data-theme="light"] .bs-land-cart-panel .quantity bdi,
:root[data-theme="light"] .bs-land-cart-panel .quantity .woocommerce-Price-currencySymbol,
:root[data-theme="light"] .bs-land-cart-panel .woocommerce-mini-cart__total .amount,
:root[data-theme="light"] .bs-land-cart-panel .woocommerce-mini-cart__total bdi,
:root[data-theme="light"] .bs-land-cart-panel .woocommerce-mini-cart__total .woocommerce-Price-currencySymbol {
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
	text-shadow: none !important;
}

:root[data-theme="light"] .bs-land-zalo-box {
	background:
		radial-gradient(circle at 82% 18%, rgba(124, 58, 237, .14), transparent 35%),
		radial-gradient(circle at 18% 100%, rgba(16, 185, 129, .12), transparent 34%),
		linear-gradient(135deg, #ffffff 0%, #eef2ff 100%);
	border-color: rgba(99,102,241,.28);
	box-shadow: 0 26px 78px rgba(99,102,241,.18), inset 0 0 0 1px rgba(255,255,255,.85);
}
:root[data-theme="light"] .bs-land-zalo-flag {
	color: #059669;
}
:root[data-theme="light"] .bs-land-zalo-text h3 {
	color: #0f172a;
}
:root[data-theme="light"] .bs-land-zalo-text p {
	color: #334155;
}
:root[data-theme="light"] .bs-land-zalo-text p strong {
	background: rgba(99,102,241,.10);
	border-color: rgba(99,102,241,.22);
	color: #4f46e5;
}

/* Designer button light mode */
:root[data-theme="light"] .bs-land-btn--designer {
	background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 60%, #a855f7 100%);
box-shadow: 0 0 28px rgba(99,102,241,.25), inset 0 1px 0 rgba(255,255,255,.2);
}
:root[data-theme="light"] .bs-land-btn--designer:hover {
	background: linear-gradient(135deg, #818cf8 0%, #a78bfa 55%, #c084fc 100%);
box-shadow: 0 0 48px rgba(99,102,241,.4), 0 0 80px rgba(139,92,246,.15);
}

/* Theme toggle button */
:root[data-theme="light"] .bs-land-theme-toggle {
	background: #ffffff;
	border-color: rgba(99,102,241,.28);
color: #475569;
}
:root[data-theme="light"] .bs-land-theme-toggle:hover {
	background: rgba(99,102,241,.08);
	color: var(--bsl-accent);
}

/* Nav links */
:root[data-theme="light"] .bs-land-nav { color: #475569; }
:root[data-theme="light"] .bs-land-nav a:hover { color: #0f172a; }

/* Brand text */
:root[data-theme="light"] .bs-land-brand { color: #0f172a; }

/* Hero placeholder (khi không có ảnh) */
:root[data-theme="light"] .bs-land-shirt-ph { color: rgba(99,102,241,.6); }
:root[data-theme="light"] .bs-land-shirt-ph span { color: #94a3b8; }

/* Aurora orbs: tone down trong light để không bị "loè" trên nền trắng */
:root[data-theme="light"] .bs-land-orb { opacity: .55; }
:root[data-theme="light"] .bs-land-orb--1 { background: radial-gradient(circle, rgba(99,102,241,.18) 0%, transparent 70%); }
:root[data-theme="light"] .bs-land-orb--2 { background: radial-gradient(circle, rgba(139,92,246,.14) 0%, transparent 70%); }
:root[data-theme="light"] .bs-land-orb--3 { background: radial-gradient(circle, rgba(217,70,239,.10) 0%, transparent 70%); }

/* Generator compact nhúng — override surface trong light */
:root[data-theme="light"] .bs-land-console-body .bigstep-ai-app {
	--bs-bg: #ffffff;
--bs-surface: #ffffff;
	--bs-surface-2: #f0f2f7;
	--bs-surface-3: #e5e8ef;
	--bs-text: #0f172a;
	--bs-muted: #475569;
	--bs-border: rgba(99,102,241,.18);
	--bs-border-2: #cbd5e1;
}
:root[data-theme="light"] .bs-land-console-body .bigstep-ai-app input::placeholder,
:root[data-theme="light"] .bs-land-console-body .bigstep-ai-app textarea::placeholder {
	color: rgba(15, 23, 42, .38) !important;
}

/* ══════════════════════════════════════════════════════════════
   ── RESPONSIVE — Mobile-first rebuild ─────────────────────
   Target: 18-30 user dùng iPhone/Android.
Tap target ≥ 48px,
   typography rõ ràng, section rhythm gọn, card rounded.
══════════════════════════════════════════════════════════════ */

/* ── TABLET (≤ 980px) ─────────────────────────────────────── */
@media (max-width: 980px) {
	.bigstep-landing {
		padding: 0 16px 96px;
		background-attachment: scroll, scroll, scroll, scroll, scroll, scroll;
	}
	:root[data-theme="light"] .bigstep-landing {
		background-attachment: scroll, scroll, scroll, scroll, scroll, scroll;
	}
	.bs-land-aurora { display: none; }
	.bs-land-topbar,
	.bs-land-chip {
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
	.bs-land-grid,
	.bs-land-grad,
	.bs-land-btn--primary,
	.bs-land-pulse,
	.bs-land-chip-dot--success,
	.bs-land-tagline-icon,
	.bs-land-tagline-text,
	.bs-land-tagline-caret,
	.bs-land-dot-live::before,
	.bs-land-topbar::after {
		animation: none !important;
	}
	.bs-land-shirt,
	.bs-land-grad {
		filter: none;
	}
	.bs-land-topbar::after {
		display: none;
	}

	/* Topbar: gọn — chỉ logo + theme + chat */
	.bs-land-topbar {
		gap: 10px;
		padding: 12px 4px;
		border-radius: 14px;
margin: 0 auto 12px;
		background: rgba(8, 11, 18, .82);
		border: 1px solid var(--bsl-border);
		padding-left: 14px;
		padding-right: 10px;
		top: auto;
}
	.bs-land-nav { display: none; }
	.bs-land-zalo-mini {
		padding: 9px 14px;
		font-size: 12px;
		border-radius: 10px;
		gap: 6px;
	}
	.bs-land-theme-toggle {
		width: 38px; height: 38px;
border-radius: 10px;
		margin-left: auto;
	}
	.bs-land-logo img { height: 24px; }

	/* HERO — stack, image first, text after */
	.bs-land-hero {
		grid-template-columns: 1fr;
		text-align: center;
		gap: 18px;
		margin-bottom: 36px;
		display: flex; flex-direction: column-reverse;
	}
	.bs-land-hero-right {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.bs-land-hero-left { padding: 0 4px; }
	.bs-land-tag {
		margin-bottom: 16px;
		border-radius: 999px;
}
	.bs-land-title { margin-bottom: 6px !important; }
	.bs-land-typing {
		margin: 18px auto 24px;
		padding: 14px 16px;
		font-size: 13.5px;
		min-height: 56px;
		text-align: left;
max-width: 100%;
	}
	.bs-land-hero-chips {
		justify-content: center;
		gap: 8px;
		margin-top: 14px;
	}
	.bs-land-chip { padding: 6px 12px; font-size: 10.5px; }
	.bs-land-cta-row { justify-content: center;
margin-top: 0; }
	.bs-land-btn--primary {
		width: 100%; max-width: 100%;
		justify-content: center;
		border-radius: 14px;
		padding: 18px 28px;
		min-height: 56px;
	}
	.bs-land-pay {
		display: flex;
flex-direction: column; align-items: center;
		margin-top: 26px;
	}
	.bs-land-pay-list {
		justify-content: center;
		gap: 8px;
		flex-wrap: wrap;
	}
	.bs-land-pay-list span {
		border-radius: 999px;
		padding: 8px 16px;
}

	/* Hero viewport — rounded card feel */
	.bs-land-viewport {
		max-width: 100%;
		margin: 0 auto;
		min-height: 380px;
		padding: 28px 20px;
		border-radius: 20px;
}

	/* SECTION HEADS — tighter spacing */
	.bs-land-head { margin-bottom: 22px; padding: 0 6px; }
	.bs-land-head h2 { letter-spacing: -.02em; }

	/* SECTIONS — rounded card containers */
	.bs-land-studio,
	.bs-land-port,
	.bs-land-reviews,
	.bs-land-faq { padding: 24px 0; }
	.bs-land-zalo { margin: 18px auto; }

	/* Console / Frames: rounded corners cho cảm giác modern */
	.bs-land-console,
	.bs-land-port-frame,
	.bs-land-rv-frame {
		border-radius: 18px;
		overflow: hidden;
	}
	.bs-land-console-bar,
	.bs-land-port-bar,
	.bs-land-rv-bar {
		padding: 12px 16px;
gap: 10px;
	}
	.bs-land-console-title,
	.bs-land-port-title,
	.bs-land-rv-title { font-size: 12px; }
	.bs-land-rv-body { padding: 20px 16px; }
	.bs-land-port-body { padding: 16px; }

	/* Bypass row */
	.bs-land-bypass {
		flex-direction: column; gap: 12px;
		text-align: center; margin-top: 18px;
	}
	.bs-land-bypass-label { font-size: 13px; }
	.bs-land-bypass-btn {
		width: 100%;
max-width: 100%;
		justify-content: center;
		border-radius: 12px;
		padding: 14px 20px;
		min-height: 48px;
	}

	/* FAQ */
	.bs-land-faq-list { gap: 8px; }
	.bs-land-faq-item {
		border-radius: 14px;
border-top: 1px solid var(--bsl-border) !important;
	}
	.bs-land-faq-item + .bs-land-faq-item { margin-top: 0; }
	.bs-land-faq-q {
		padding: 16px 18px;
		font-size: 14.5px;
		gap: 12px;
line-height: 1.4;
	}
	.bs-land-faq-a {
		padding: 0 18px 18px calc(18px + 22px + 12px);
		font-size: 14.5px;
		line-height: 1.72;
	}
	.bs-land-faq-icon {
		width: 30px;
height: 30px;
		border-radius: 8px;
	}

	/* Designer / Zalo CTA box */
	.bs-land-zalo-box {
		padding: 34px 24px;
		border-radius: 18px;
	}
	.bs-land-zalo-row {
		flex-direction: column;
text-align: center;
		gap: 20px;
	}
	.bs-land-zalo-text h3 { font-size: 28px; }
	.bs-land-zalo-text p { font-size: 15px; }
	.bs-land-btn--designer,
	.bs-land-btn--zalo {
		width: 100%;
		justify-content: center;
border-radius: 14px;
		padding: 17px 24px;
		min-height: 54px;
		font-size: 13px;
	}

	/* FOOTER tablet: brand full-width, Thông tin + Chính sách 2 col, BCT full */
	.bs-land-footer {
		margin-top: 28px;
padding-top: 28px;
	}
	.bs-land-footer-inner {
		grid-template-columns: 1fr 1fr;
		gap: 28px 22px;
		margin-bottom: 24px;
	}
	.bs-land-footer-brand { grid-column: span 2; }
	.bs-land-footer-bct {
		grid-column: span 2;
flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 16px 24px;
		padding-top: 8px;
		border-top: 1px solid var(--bsl-border);
	}
	.bs-land-footer-pay { flex: 1; }
	.bs-land-footer-bottom {
		font-size: 12px;
	}
}

/* ── MOBILE (≤ 600px) ─────────────────────────────────────── */
@media (max-width: 600px) {
	.bigstep-landing {
		padding: 0 12px 24px;
		font-size: 15px;
}

	/* Topbar còn gọn hơn */
	.bs-land-topbar {
		padding: 10px 12px;
		border-radius: 12px;
		margin-bottom: 8px;
	}
	.bs-land-zalo-mini {
		padding: 8px 12px;
		font-size: 11px;
}
	.bs-land-zalo-mini svg { width: 12px; height: 12px; }
	.bs-land-theme-toggle { width: 36px; height: 36px; }
	.bs-land-logo img { height: 22px; }

	/* HERO — typography mobile */
	.bs-land-title {
		font-size: clamp(30px, 8.5vw, 40px);
		letter-spacing: -.025em;
		line-height: 1.08;
		margin-bottom: 4px !important;
}
	.bs-land-grad { line-height: 1.05; display: inline-block; }
	.bs-land-sub {
		font-size: 14.5px;
		margin-top: 12px;
		line-height: 1.65;
	}
	.bs-land-tag {
		font-size: 10px;
		letter-spacing: .12em;
		margin-bottom: 14px;
padding: 6px 12px;
	}

	/* Hero viewport */
	.bs-land-viewport {
		padding: 18px;
		min-height: 320px;
		border-radius: 18px;
	}
	.bs-land-shirt { max-height: 260px; max-width: 75%; }
	.bs-land-badge {
		padding: 4px 9px;
		font-size: 9px;
		letter-spacing: .08em;
		border-radius: 6px;
	}
	.bs-land-badge--top { top: 12px; left: 12px; }
	.bs-land-badge--bottom { bottom: 12px;
right: 12px; }
	.bs-land-badge--side { right: 12px; }

	/* Hero CTA */
	.bs-land-btn--primary {
		padding: 16px 24px;
		font-size: 13.5px;
		letter-spacing: .06em;
		min-height: 54px;
}
	.bs-land-pay { margin-top: 22px; font-size: 12px; }
	.bs-land-pay-list span {
		padding: 7px 14px;
		font-size: 12px;
}

	/* Section heads — tighter */
	.bs-land-head h2 {
		font-size: clamp(22px, 6.2vw, 28px);
		line-height: 1.2;
	}
	.bs-land-head p {
		font-size: 13.5px;
		margin-top: 8px;
line-height: 1.55;
	}

	/* Section padding cực ngắn */
	.bs-land-studio,
	.bs-land-port,
	.bs-land-reviews,
	.bs-land-faq { padding: 20px 0; }
	.bs-land-zalo { margin: 14px auto; }
	.bs-land-studio .bs-land-head,
	.bs-land-reviews .bs-land-head { margin-bottom: 18px; }
	.bs-land-head { margin-bottom: 16px; }

	/* Console / frames mobile */
	.bs-land-console,
	.bs-land-port-frame,
	.bs-land-rv-frame {
		border-radius: 16px;
}
	.bs-land-console-bar,
	.bs-land-port-bar,
	.bs-land-rv-bar {
		padding: 11px 14px;
	}
	.bs-land-console-state,
	.bs-land-port-state,
	.bs-land-rv-state { font-size: 10px; }
	.bs-land-rv-state span:last-child { display: none; } /* hide "VERIFIED" tag */

	/* FAQ */
	.bs-land-faq-q {
		padding: 14px 16px;
		font-size: 13.5px;
		gap: 10px;
		line-height: 1.42;
}
	.bs-land-faq-a {
		padding: 0 16px 16px calc(16px + 22px + 10px);
		font-size: 13.5px;
		line-height: 1.7;
	}
	.bs-land-faq-idx { width: 20px; font-size: 11px; }
	.bs-land-faq-icon { width: 26px; height: 26px; font-size: 16px; }

	/* Designer / Zalo CTA */
	.bs-land-zalo-box {
		padding: 28px 18px;
		border-radius: 16px;
}
	.bs-land-zalo-flag { font-size: 10px; letter-spacing: .12em; }
	.bs-land-zalo-text h3 { font-size: 24px; }
	.bs-land-zalo-text p { font-size: 14px; line-height: 1.6; }
	.bs-land-btn--designer,
	.bs-land-btn--zalo {
		padding: 15px 20px;
		font-size: 12.5px;
		min-height: 52px;
		border-radius: 12px;
	}

	/* Bypass btn */
	.bs-land-bypass-btn {
		padding: 12px 18px;
		font-size: 13px;
min-height: 46px;
		border-radius: 10px;
	}

	/* FOOTER mobile — 1 cột, căn trái cho dễ đọc */
	.bs-land-footer-inner {
		grid-template-columns: 1fr;
		gap: 20px;
margin-bottom: 16px;
	}
	.bs-land-footer-brand,
	.bs-land-footer-bct { grid-column: span 1; }
	.bs-land-footer {
		padding: 22px 14px 0;
		margin-top: 22px;
		border: 1px solid rgba(99,102,241,.18);
		border-radius: 18px;
		background: rgba(8,11,18,.34);
	}
	.bs-land-footer-col h4 { font-size: 15px; margin-bottom: 12px; }
	.bs-land-footer-col ul { gap: 9px; }
	.bs-land-footer-col ul li { font-size: 13.5px; }
	.bs-land-footer-info { font-size: 13px; gap: 6px; }
	.bs-land-footer-tagline { font-size: 13px; margin-top: 12px; }
	.bs-land-footer-bct {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		padding-top: 0;
		border-top: 0;
}
	.bs-land-bct-link img { max-width: 150px; }
	.bs-land-footer-pay {
		flex-wrap: wrap;
		gap: 7px;
		overflow: visible;
	}
	.bs-land-pay-chip {
		flex: 0 0 auto;
		padding: 7px 10px;
	}
	.bs-land-footer-social {
		gap: 8px;
	}
	.bs-land-footer-bottom {
		font-size: 11.5px;
		padding: 12px 8px 8px;
		line-height: 1.5;
}

	/* Reviews body */
	.bs-land-rv-body { padding: 16px 12px; }

	/* Console body inner */
	.bs-land-console-body .bigstep-ai-app { padding-top: 10px !important; }
	.bs-land-console-body .bigstep-ai-app input[type="text"],
	.bs-land-console-body .bigstep-ai-app input[type="url"],
	.bs-land-console-body .bigstep-ai-app select,
	.bs-land-console-body .bigstep-ai-app textarea {
		min-height: 48px !important;
		font-size: 16px !important;
/* iOS không zoom khi focus input ≥ 16px */
	}
	.bs-land-console-body .bigstep-ai-gen-submit {
		height: 54px !important;
		min-height: 54px !important;
		font-size: 14px !important;
border-radius: 12px !important;
	}

	/* Disable hero badges' animation on mobile để bớt rối */
	.bs-land-badge { animation-duration: .4s; }

	/* Aurora orbs nhỏ hơn trên mobile để không lag GPU */
	.bs-land-orb--1 { width: 380px; height: 380px; filter: blur(70px); }
	.bs-land-orb--2 { width: 320px; height: 320px; filter: blur(70px); }
	.bs-land-orb--3 { width: 240px; height: 240px; filter: blur(60px); }
}

/* ══════════════════════════════════════════════════════════════
   ── ANIMATION LAYER ─────────────────────────────────────────
   ══════════════════════════════════════════════════════════════ */

/* Đảm bảo content đè lên aurora */
.bigstep-landing > .bs-land-hero,
.bigstep-landing > .bs-land-studio,
.bigstep-landing > .bs-land-port,
.bigstep-landing > .bs-land-tpls,
.bigstep-landing > .bs-land-reviews,
.bigstep-landing > .bs-land-faq,
.bigstep-landing > .bs-land-zalo,
.bigstep-landing > .bs-land-footer { position: relative;
z-index: 1; }

/* ── Aurora background orbs ──────────────────────────────── */
.bs-land-aurora { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.bs-land-orb {
	position: fixed;
	border-radius: 8px;
	filter: blur(100px);
	will-change: transform;
	opacity: 0;
	animation-fill-mode: both;
}
.bs-land-orb--1 {
	width: 680px; height: 680px;
background: radial-gradient(circle, rgba(99,102,241,.13) 0%, transparent 70%);
	top: -180px; left: -120px;
	animation: bsOrbFade .8s ease forwards, bsOrbA 22s ease-in-out .8s infinite;
}
.bs-land-orb--2 {
	width: 520px; height: 520px;
	background: radial-gradient(circle, rgba(139,92,246,.10) 0%, transparent 70%);
	bottom: 10vh; right: -100px;
animation: bsOrbFade .8s ease .15s forwards, bsOrbB 28s ease-in-out 1s infinite;
}
.bs-land-orb--3 {
	width: 380px; height: 380px;
background: radial-gradient(circle, rgba(217,70,239,.07) 0%, transparent 70%);
	top: 55vh; left: 35vw;
animation: bsOrbFade .8s ease .3s forwards, bsOrbC 19s ease-in-out 1.2s infinite;
}
@keyframes bsOrbFade { to { opacity: 1; } }
@keyframes bsOrbA {
	0%,100% { transform: translate(0,0); }
	25%      { transform: translate(140px, 200px); }
	50%      { transform: translate(260px, 60px); }
	75%      { transform: translate(80px, 280px); }
}
@keyframes bsOrbB {
	0%,100% { transform: translate(0,0); }
	33%     { transform: translate(-180px, -140px); }
	66%     { transform: translate(100px, -220px); }
}
@keyframes bsOrbC {
	0%,100% { transform: translate(0,0) scale(1); }
	50%     { transform: translate(-130px, 90px) scale(1.18); }
}

/* ── Hero grid drift ─────────────────────────────────────── */
.bs-land-grid {
	animation: bsGridDrift 35s linear infinite;
}
@keyframes bsGridDrift {
	0%   { background-position: 0 0, 0 0; }
	100% { background-position: 24px 24px, 24px 24px; }
}

/* ── Title gradient shimmer ──────────────────────────────── */
.bs-land-grad {
	background: linear-gradient(
		120deg,
		#fff 10%, var(--bsl-accent) 35%,
		var(--bsl-accent-2) 55%, #c084fc 70%, #fff 90%
	);
	background-size: 220% auto;
-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 0 18px rgba(99,102,241,.38));
	animation: bslGradShimmer 6s linear infinite;
}
@keyframes bslGradShimmer {
	0%   { background-position: 0% center; }
	100% { background-position: 220% center; }
}

/* ── Primary CTA pulse glow ──────────────────────────────── */
.bs-land-btn--primary {
	animation: bslBtnPulse 3.5s ease-in-out infinite;
}
@keyframes bslBtnPulse {
	0%,100% { box-shadow: 0 0 32px rgba(99,102,241,.35), inset 0 1px 0 rgba(255,255,255,.18); }
	50%     { box-shadow: 0 0 56px rgba(99,102,241,.6), 0 0 80px rgba(139,92,246,.25), inset 0 1px 0 rgba(255,255,255,.18); }
}
/* Pause pulse khi hover để không conflict */
.bs-land-btn--primary:hover { animation-play-state: paused; }

/* ── Scan line màu riêng cho từng frame ──────────────────── */
/* ── Hero badge entrance ─────────────────────────────────── */
.bs-land-badge {
	animation: bslBadgeIn .6s cubic-bezier(.16,1,.3,1) both;
}
.bs-land-badge--top    { animation-delay: .8s; }
.bs-land-badge--bottom { animation-delay: 1.0s; }
.bs-land-badge--side   { animation-delay: 1.2s; }
@keyframes bslBadgeIn {
	from { opacity: 0; transform: translateY(-6px) scale(.92); }
	to   { opacity: 1; transform: none; }
}

/* ── Tag entrance ────────────────────────────────────────── */
.bs-land-tag {
	animation: bslTagIn .7s cubic-bezier(.16,1,.3,1) .2s both;
}
@keyframes bslTagIn {
	from { opacity: 0; transform: translateX(-14px); }
	to   { opacity: 1; transform: none; }
}

/* ── Hero title + intro + tagline + chips entrance ──────── */
.bs-land-title {
	animation: bslTitleIn .8s cubic-bezier(.16,1,.3,1) .35s both;
}
.bs-land-sub-intro {
	animation: bslTitleIn .8s cubic-bezier(.16,1,.3,1) .45s both;
}
.bs-land-tagline {
	animation: bslTitleIn .7s cubic-bezier(.16,1,.3,1) .55s both;
}
.bs-land-cta-row {
	animation: bslTitleIn .8s cubic-bezier(.16,1,.3,1) .65s both;
}
.bs-land-hero-chips {
	animation: bslTitleIn .7s cubic-bezier(.16,1,.3,1) .9s both;
}
.bs-land-pay {
	animation: bslTitleIn .7s cubic-bezier(.16,1,.3,1) .8s both;
}
@keyframes bslTitleIn {
	from { opacity: 0; transform: translateY(20px); }
	to   { opacity: 1; transform: none; }
}

/* ── Scroll reveal — JS thêm class .bsl-will-reveal ─────── */
.bsl-will-reveal {
	opacity: 0;
transform: translateY(32px);
	transition: opacity .7s cubic-bezier(.16,1,.3,1),
	            transform .7s cubic-bezier(.16,1,.3,1);
will-change: opacity, transform;
}
.bsl-will-reveal.bsl-visible {
	opacity: 1;
	transform: none;
}
/* Staggered reveal cho multiple items */
.bsl-will-reveal.bsl-stagger-1 { transition-delay: 0ms; }
.bsl-will-reveal.bsl-stagger-2 { transition-delay: 80ms; }
.bsl-will-reveal.bsl-stagger-3 { transition-delay: 160ms; }
.bsl-will-reveal.bsl-stagger-4 { transition-delay: 240ms; }
.bsl-will-reveal.bsl-stagger-5 { transition-delay: 320ms; }

/* ── FAQ smooth open ─────────────────────────────────────── */
.bs-land-faq-item {
	transition: background .22s, border-color .22s, box-shadow .22s;
}
.bs-land-faq-item[open] {
	box-shadow: 0 8px 32px rgba(99,102,241,.08);
}

/* ── Portfolio frame scroll reveal ────────────────────────── */
.bs-land-port-frame {
	animation: bslFrameReveal .8s cubic-bezier(.16,1,.3,1) both;
}
@keyframes bslFrameReveal {
	from { opacity: 0;
transform: translateY(40px); }
	to { opacity: 1; transform: none; }
}

/* ── Reviews frame scroll reveal ──────────────────────────── */
.bs-land-rv-frame {
	animation: bslReviewReveal .8s cubic-bezier(.16,1,.3,1) .1s both;
}
@keyframes bslReviewReveal {
	from { opacity: 0; transform: translateY(40px) scale(.96); }
	to { opacity: 1; transform: none; }
}

/* ── Zalo box scroll reveal ──────────────────────────────── */
.bs-land-zalo-box {
	animation: bslZaloReveal .8s cubic-bezier(.16,1,.3,1) .15s both;
}
@keyframes bslZaloReveal {
	from { opacity: 0;
transform: translateY(40px) scale(.94); }
	to { opacity: 1; transform: none; }
}

/* ══════════════════════════════════════════════════════════════
   ── MICRO-INTERACTIONS — depth layer ───────────────────────
   Tinh tế, không loè loẹt.
Hover state tạo cảm giác "alive"
   mà không phá flow đọc. Mọi animation < 280ms.
══════════════════════════════════════════════════════════════ */

/* ── Console frames: gentle border + shadow bloom khi hover ── */
.bs-land-console,
.bs-land-port-frame,
.bs-land-rv-frame,
.bs-land-tpls-frame {
	transition: border-color .28s var(--bsl-ease, cubic-bezier(.16,1,.3,1)),
	            box-shadow   .28s ease,
	            transform    .28s ease;
}
.bs-land-console:hover,
.bs-land-port-frame:hover,
.bs-land-rv-frame:hover,
.bs-land-tpls-frame:hover {
	border-color: rgba(99,102,241,.42);
	box-shadow:
		0 30px 80px rgba(0,0,0,.7),
		0 0 0 1px rgba(99,102,241,.18),
		0 0 40px rgba(99,102,241,.12);
}

/* ── Console bar dots: tinted với accent khi hover frame ───── */
.bs-land-dots span {
	transition: background .25s ease, box-shadow .25s ease;
}
.bs-land-console:hover .bs-land-dots span:nth-child(1) { background: #ff5f57; }
.bs-land-console:hover .bs-land-dots span:nth-child(2) { background: #febc2e; }
.bs-land-console:hover .bs-land-dots span:nth-child(3) { background: #28c840; }
.bs-land-port-frame:hover .bs-land-dots span:nth-child(1),
.bs-land-rv-frame:hover .bs-land-dots span:nth-child(1),
.bs-land-tpls-frame:hover .bs-land-dots span:nth-child(1) { background: #ff5f57; }
.bs-land-port-frame:hover .bs-land-dots span:nth-child(2),
.bs-land-rv-frame:hover .bs-land-dots span:nth-child(2),
.bs-land-tpls-frame:hover .bs-land-dots span:nth-child(2) { background: #febc2e; }
.bs-land-port-frame:hover .bs-land-dots span:nth-child(3),
.bs-land-rv-frame:hover .bs-land-dots span:nth-child(3),
.bs-land-tpls-frame:hover .bs-land-dots span:nth-child(3) { background: #28c840; }

/* ── Live dot: pulse halo liên tục — báo "ACTIVE" sống động ── */
.bs-land-dot-live {
	position: relative;
}
.bs-land-dot-live::before {
	content: '';
	position: absolute; inset: -3px;
	border-radius: 8px;
	background: inherit;
	opacity: .45;
	animation: bslDotPulse 1.8s ease-out infinite;
	pointer-events: none;
}
@keyframes bslDotPulse {
	0%   { transform: scale(.8); opacity: .55; }
	100% { transform: scale(2.4); opacity: 0; }
}

/* ── Payment chips: lift + indigo glow on hover ────────────── */
.bs-land-pay-list span {
	transition: border-color .2s, color .2s, transform .2s, box-shadow .2s, background .2s;
cursor: default;
}
.bs-land-pay-list span:hover {
	border-color: var(--bsl-accent);
	color: #fff;
	background: rgba(99,102,241,.08);
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(99,102,241,.22);
}

/* ── Hero badges: hover scale + accent shift ───────────────── */
.bs-land-badge {
	transition: transform .25s var(--bsl-ease, cubic-bezier(.16,1,.3,1)),
	            border-color .25s, background .25s;
}
.bs-land-badge:hover {
	transform: scale(1.06);
	background: rgba(99,102,241,.16);
	border-color: rgba(99,102,241,.55);
}

/* ── FAQ item closed state: subtle hover lift ──────────────── */
.bs-land-faq-item:not([open]) {
	transition: background .22s, border-color .22s, transform .22s;
}
.bs-land-faq-item:not([open]):hover {
	background: var(--bsl-surface-2);
	border-color: rgba(99,102,241,.34);
}
.bs-land-faq-item:not([open]):hover .bs-land-faq-icon {
	color: var(--bsl-accent);
	border-color: var(--bsl-accent);
}
.bs-land-faq-item:not([open]):hover .bs-land-faq-idx {
	color: var(--bsl-accent-2);
}

/* ── Footer links: underline slide-in (giống nav) ──────────── */
.bs-land-footer-col ul li a,
.bs-land-footer-info a {
	position: relative;
	transition: color .18s;
}
.bs-land-footer-col ul li a::after,
.bs-land-footer-info a::after {
	content: ''; position: absolute; left: 0; bottom: -2px;
	width: 0; height: 1px; background: var(--bsl-accent);
transition: width .25s cubic-bezier(.16,1,.3,1);
}
.bs-land-footer-col ul li a:hover::after,
.bs-land-footer-info a:hover::after { width: 100%; }

/* ── Bypass button: shimmer sweep on hover ─────────────────── */
.bs-land-bypass-btn {
	position: relative;
	overflow: hidden;
}
.bs-land-bypass-btn::before {
	content: '';
	position: absolute;
inset: 0;
	background: linear-gradient(120deg,
		transparent 30%,
		rgba(99,102,241,.18) 50%,
		transparent 70%);
	transform: translateX(-100%);
	transition: transform .55s cubic-bezier(.16,1,.3,1);
	pointer-events: none;
}
.bs-land-bypass-btn:hover::before { transform: translateX(100%); }

/* ── Logo: subtle gradient shift on hover ──────────────────── */
.bs-land-brand-dot {
	display: inline-block;
	transition: filter .25s, transform .25s;
}
.bs-land-logo:hover .bs-land-brand-dot {
	filter: drop-shadow(0 0 10px rgba(139,92,246,.65));
	transform: scale(1.15);
}

/* ── Tag pulse — accent breathing khi không hover ──────────── */
.bs-land-tag {
	transition: border-color .25s, background .25s;
}
.bs-land-tag:hover {
	border-color: var(--bsl-accent);
	background: rgba(99,102,241,.12);
}

/* ── CTA secondary: ripple shadow on focus-visible ──────────── */
.bs-land-btn:focus-visible {
	outline: 2px solid var(--bsl-accent-2);
outline-offset: 3px;
}

/* ── Reduced motion: tắt hết khi user opt-out ──────────────── */
@media (prefers-reduced-motion: reduce) {
	.bigstep-landing *,
	.bigstep-landing *::before,
	.bigstep-landing *::after {
		animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

/* ── Topbar shimmer line ─────────────────────────────────── */
.bs-land-topbar::after {
	content: '';
	position: absolute; bottom: 0;
left: 0;
	width: 40%; height: 1px;
	background: linear-gradient(90deg, transparent, var(--bsl-accent), transparent);
	animation: bslTopbarLine 5s ease-in-out infinite;
	opacity: .6;
}
.bs-land-topbar { position: relative; overflow: visible; }
@keyframes bslTopbarLine {
	0%   { left: -40%; opacity: 0; }
	10%  { opacity: .6; }
	90%  { opacity: .6; }
	100% { left: 100%; opacity: 0; }
}
/* Mobile hero refinement: keep the hero visual substantial and keep the
   three trust tags inside the frame without covering the product image. */
@media (max-width: 768px) {
	.bigstep-landing {
		padding-bottom: max(20px, env(safe-area-inset-bottom, 0px)) !important;
	}
	.bs-land-hero {
		gap: 22px !important;
		margin-bottom: 42px !important;
	}
	.bs-land-hero-right {
		width: 100% !important;
	}
	.bs-land-viewport {
		width: min(100%, 430px) !important;
		min-height: clamp(380px, 78vw, 430px) !important;
		padding: 18px 14px 66px !important;
		border-radius: 20px !important;
	}
	.bs-land-shirt {
		max-width: 96% !important;
		max-height: clamp(300px, 68vw, 370px) !important;
	}
	.bs-land-hero-chips {
		left: 10px !important;
		right: 10px !important;
		bottom: 12px !important;
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 6px !important;
		padding: 0 !important;
		margin: 0 !important;
		background: none !important;
		border-radius: 0 !important;
	}
	.bs-land-chip {
		min-width: 0 !important;
		justify-content: center !important;
		padding: 7px 6px !important;
		font-size: clamp(8px, 2.15vw, 10px) !important;
		line-height: 1.15 !important;
		letter-spacing: .01em !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}
	.bs-land-chip-dot {
		width: 5px !important;
		height: 5px !important;
	}
}

@media (max-width: 768px) {
	.bs-land-footer {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}
	.bs-land-footer-inner {
		align-items: start !important;
	}
	.bs-land-footer-brand {
		padding-bottom: 2px;
	}
	.bs-land-footer-logo img {
		height: 30px !important;
	}
	.bs-land-footer-info {
		margin-top: 12px !important;
	}
	.bs-land-footer-col {
		padding-top: 2px;
	}
	.bs-land-footer-bct {
		padding-top: 8px !important;
		border-top: 1px solid rgba(99,102,241,.18) !important;
	}
}

@media (max-width: 600px) {
	.bs-land-title {
		font-size: clamp(34px, 9.6vw, 46px) !important;
		line-height: 1.1 !important;
	}
	.bs-land-sub {
		font-size: 15.5px !important;
		line-height: 1.62 !important;
	}
	.bs-land-tagline {
		max-width: 100% !important;
		margin-bottom: 28px !important;
	}
	.bs-land-port-bar {
		gap: 8px !important;
		padding: 10px 12px !important;
	}
	.bs-land-dots {
		flex: 0 0 auto !important;
		gap: 5px !important;
	}
	.bs-land-dots span {
		width: 8px !important;
		height: 8px !important;
	}
	.bs-land-port-title {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		font-size: 11.5px !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}
	.bs-land-port-state {
		flex: 0 0 auto !important;
		font-size: 9.5px !important;
		letter-spacing: .02em !important;
	}
	.bs-land-port-controls {
		flex: 0 0 auto !important;
		gap: 5px !important;
	}
	.bs-land-feed-arrow {
		width: 30px !important;
		height: 30px !important;
		min-width: 30px !important;
		padding: 0 !important;
	}
	.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-style-chips {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 6px !important;
	}
	.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-style-chips button {
		height: 32px !important;
		min-height: 32px !important;
		padding: 0 6px !important;
		border-radius: 14px !important;
		font-size: 11px !important;
		line-height: 1 !important;
	}
}

@media (max-width: 380px) {
	.bs-land-dots { display: none !important; }
	.bs-land-port-title { font-size: 11px !important; }
	.bs-land-port-state { font-size: 9px !important; }
	.bs-land-feed-arrow {
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
	}
	.bs-land-console-body .bigstep-ai-app[data-editor-mode="compact"] .bigstep-ai-style-chips {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
	.bs-land-viewport {
		min-height: 360px !important;
		padding-bottom: 62px !important;
	}
	.bs-land-chip {
		font-size: 7.6px !important;
		padding-left: 4px !important;
		padding-right: 4px !important;
	}
}

/* Landing chrome simplification: keep the header in the normal document flow. */
.bigstep-landing .bs-land-topbar {
	position: relative !important;
	top: auto !important;
}
@media (max-width: 980px) {
	.bigstep-landing {
		padding-bottom: max(20px, env(safe-area-inset-bottom, 0px)) !important;
	}
}

/* Codex landing mobile guard: prevent hero/header overflow after recent CSS churn. */
@media (max-width: 600px) {
	.bigstep-landing {
		width: 100dvw !important;
		max-width: 100dvw !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
		overflow-x: hidden !important;
	}

	.bigstep-landing .bs-land-topbar {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		padding: 10px 10px !important;
		overflow: hidden !important;
	}

	.bigstep-landing .bs-land-logo {
		flex: 0 0 auto !important;
		min-width: 0 !important;
		margin-right: auto !important;
		justify-content: flex-start !important;
	}

	.bigstep-landing .bs-land-logo img {
		max-width: 108px !important;
		height: 22px !important;
		object-fit: contain !important;
	}

	.bigstep-landing .bs-land-theme-toggle {
		flex: 0 0 36px !important;
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		margin-left: auto !important;
	}

	.bigstep-landing .bs-land-minicart {
		flex: 0 0 42px !important;
		width: 42px !important;
		min-width: 42px !important;
	}

	.bigstep-landing .bs-land-cart-toggle {
		width: 42px !important;
		height: 36px !important;
		padding: 0 !important;
		border-radius: 10px !important;
		gap: 0 !important;
	}

	.bigstep-landing .bs-land-cart-label {
		display: none !important;
	}

	.bigstep-landing .bs-land-cart-count {
		position: absolute !important;
		top: -6px !important;
		right: -6px !important;
		min-width: 18px !important;
		height: 18px !important;
		padding: 0 5px !important;
		font-size: 10px !important;
	}

	.bigstep-landing .bs-land-cart-panel {
		position: fixed !important;
		top: 58px !important;
		right: 12px !important;
		left: 12px !important;
		width: auto !important;
		max-height: calc(100dvh - 78px) !important;
	}

	.bigstep-landing .bs-land-zalo-mini {
		flex: 0 0 118px !important;
		width: 118px !important;
		max-width: 118px !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		padding: 8px 10px !important;
		gap: 5px !important;
		overflow: hidden !important;
		white-space: nowrap !important;
		text-overflow: ellipsis !important;
	}

	.bigstep-landing .bs-land-hero,
	.bigstep-landing .bs-land-hero-left,
	.bigstep-landing .bs-land-hero-right,
	.bigstep-landing .bs-land-viewport {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		min-width: 0 !important;
		overflow-x: hidden !important;
	}

	.bigstep-landing .bs-land-title {
		max-width: 100% !important;
		font-size: clamp(25px, 7.7vw, 30px) !important;
		line-height: 1.12 !important;
		letter-spacing: 0 !important;
		overflow-wrap: normal !important;
		text-wrap: balance;
	}

	.bigstep-landing .bs-land-grad {
		max-width: 100% !important;
		white-space: normal !important;
	}

	.bigstep-landing .bs-land-sub-intro {
		max-width: 100% !important;
		font-size: 14.5px !important;
		line-height: 1.62 !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
	}

	.bigstep-landing .bs-land-zalo {
		width: 100% !important;
		max-width: 100% !important;
		margin: 18px auto !important;
		padding: 0 !important;
		box-sizing: border-box !important;
		overflow: visible !important;
	}

	.bigstep-landing .bs-land-zalo-box {
		width: 100% !important;
		max-width: 100% !important;
		padding: 24px 16px !important;
		border-radius: 18px !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.bigstep-landing .bs-land-zalo-box::after {
		right: -70px !important;
		top: -58px !important;
		width: 180px !important;
		height: 180px !important;
		transform: none !important;
		opacity: .65 !important;
	}

	.bigstep-landing .bs-land-zalo-row {
		width: 100% !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		text-align: left !important;
		gap: 18px !important;
		min-width: 0 !important;
	}

	.bigstep-landing .bs-land-zalo-flag {
		max-width: 100% !important;
		margin-bottom: 14px !important;
		padding: 7px 10px !important;
		font-size: 9.8px !important;
		line-height: 1.2 !important;
		letter-spacing: .08em !important;
		white-space: normal !important;
	}

	.bigstep-landing .bs-land-zalo-text {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.bigstep-landing .bs-land-zalo-text h3 {
		max-width: 100% !important;
		margin-bottom: 10px !important;
		font-size: clamp(24px, 8vw, 30px) !important;
		line-height: 1.08 !important;
		letter-spacing: 0 !important;
		overflow-wrap: normal !important;
		text-wrap: balance;
	}

	.bigstep-landing .bs-land-zalo-text p {
		max-width: 100% !important;
		font-size: 14.5px !important;
		line-height: 1.62 !important;
		overflow-wrap: break-word !important;
		word-break: normal !important;
	}

	.bigstep-landing .bs-land-zalo-text p strong {
		display: inline-flex !important;
		margin: 0 2px !important;
		padding: 1px 7px !important;
		vertical-align: baseline !important;
		white-space: nowrap !important;
	}

	.bigstep-landing .bs-land-zalo .bs-land-btn--designer {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		min-height: 52px !important;
		padding: 0 16px !important;
		border-radius: 14px !important;
		justify-content: center !important;
		font-size: 12.5px !important;
		line-height: 1.2 !important;
		text-align: center !important;
		white-space: normal !important;
	}
}

@media (max-width: 380px) {
	.bigstep-landing .bs-land-logo img {
		max-width: 96px !important;
	}

	.bigstep-landing .bs-land-zalo-mini {
		max-width: 46px !important;
		width: 46px !important;
		flex-basis: 46px !important;
		justify-content: center !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		color: transparent !important;
	}

	.bigstep-landing .bs-land-zalo-mini svg {
		color: var(--bsl-accent) !important;
	}

	.bigstep-landing .bs-land-minicart,
	.bigstep-landing .bs-land-cart-toggle {
		width: 38px !important;
		min-width: 38px !important;
		flex-basis: 38px !important;
	}

	.bigstep-landing .bs-land-cart-toggle {
		height: 36px !important;
	}

	.bigstep-landing .bs-land-zalo-box {
		padding: 22px 14px !important;
		border-radius: 16px !important;
	}

	.bigstep-landing .bs-land-zalo-text h3 {
		font-size: clamp(22px, 8.2vw, 26px) !important;
	}

	.bigstep-landing .bs-land-zalo-text p {
		font-size: 13.8px !important;
		line-height: 1.58 !important;
	}

	.bigstep-landing .bs-land-zalo .bs-land-btn--designer {
		min-height: 50px !important;
		font-size: 12px !important;
		padding: 0 12px !important;
	}
}

/* Final light-mode hero visual override: keep the image frame dark even when
   the surrounding landing page is light. */
:root[data-theme="light"] .bigstep-landing .bs-land-hero .bs-land-viewport {
	background:
		radial-gradient(circle at 50% 45%, rgba(99,102,241,.24), transparent 62%),
		linear-gradient(180deg, #101626 0%, #070b14 100%) !important;
	border-color: rgba(99,102,241,.38) !important;
	box-shadow:
		inset 0 0 56px rgba(99,102,241,.14),
		0 24px 70px rgba(15,23,42,.22) !important;
}
:root[data-theme="light"] .bigstep-landing .bs-land-hero .bs-land-grid {
	background-image:
		linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) !important;
}
:root[data-theme="light"] .bigstep-landing .bs-land-hero .bs-land-glow {
	background: radial-gradient(circle, rgba(99,102,241,.26) 0%, transparent 70%) !important;
}


/* ══════════════════════════════════════════════════════════════
   FIX (20260609 v2): landing surface trên elementor_canvas.
   Body class thực tế = `bigstep-plugin-surface`. v1 thêm max-width:
   100% lên body → landing co lại, lộ html bg TRẮNG ở mép. v2 bỏ
   max-width, thay bằng: phủ nền tối lên html+body để bất kỳ mép
   nào (nếu có) cũng tối liền mạch, + reset margin.
   ────────────────────────────────────────────────────────────── */

/* Nền tối + reset margin để KHÔNG bao giờ lộ trắng quanh landing. */
html:has(body.bigstep-plugin-surface) {
	background: #080b12 !important;
	overflow-x: clip;
}
body.bigstep-plugin-surface {
	background: #080b12 !important;
	margin: 0 !important;
	overflow-x: clip;
}

/* Container Elementor bọc landing: zero top gap + nền trùng landing. */
body.bigstep-plugin-surface .elementor.elementor-29919 > .e-con.e-parent,
body.bigstep-plugin-surface .elementor-29919 > .e-con,
body.bigstep-plugin-surface .elementor-element[data-element_type="container"]:first-child {
	padding-block-start: 0 !important;
	margin-top: 0 !important;
	background-color: #080b12 !important;
}
body.bigstep-plugin-surface .bigstep-landing { margin-top: 0; }

/* IG feed de-lazy (20260609): ảnh thật được inject inline background-image
   trên .sbi_photo (cache de-lazy). Ẩn <img placeholder> bên trong để lộ
   background — nếu không placeholder.png trắng đè lên ảnh thật. */
.bs-land-social-feed #sb_instagram .sbi_photo img { display: none !important; }
.bs-land-social-feed #sb_instagram .sbi_photo { min-height: 240px; }

/* IG feed cleanup (20260609): ẩn text screen-reader (post-id đè góc) +
   icon album to (carousel clone icon) — showcase landing chỉ cần ảnh sạch. */
.bs-land-social-feed #sb_instagram .sbi-screenreader {
	position: absolute !important; width: 1px !important; height: 1px !important;
	padding: 0 !important; margin: -1px !important; overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
.bs-land-social-feed #sb_instagram .sbi_lightbox_carousel_icon,
.bs-land-social-feed #sb_instagram .sbi_photo svg { display: none !important; }
