/* 1. Right-align Header Nav right next to the Search icon */
			.site-header > .wesmile-header-inner,
			.site-header > div:first-child {
				display: flex !important;
				align-items: center !important;
				justify-content: space-between !important;
				flex-wrap: nowrap !important;
			}
			.wesmile-header-nav-bar {
				display: flex !important;
				align-items: center !important;
				justify-content: flex-end !important;
				flex: 1 1 auto !important;
				margin-left: auto !important;
				gap: 14px !important;
				flex-wrap: nowrap !important;
				min-width: 0;
			}
			.wesmile-primary-nav {
				display: flex;
				align-items: center;
				justify-content: flex-end;
				margin-left: auto;
				gap: 20px;
				flex-wrap: nowrap;
				font-size: 14px;
				font-weight: 600;
				color: #111c2d;
			}
			@media (max-width: 1240px) {
				.wesmile-primary-nav {
					gap: 13px;
					font-size: 13px;
				}
			}
			.wesmile-header-actions {
				display: inline-flex !important;
				align-items: center !important;
				gap: 10px !important;
				margin-left: 2px !important;
				flex-shrink: 0 !important;
			}
			.wesmile-header-auth-desktop {
				display: inline-flex;
				align-items: center;
				gap: 8px;
				padding-left: 10px;
				border-left: 1px solid rgba(15, 23, 42, 0.1);
			}

			/* Hamburger 3-bar button: hidden on desktop, visible on tablet/mobile or compact overflow */
			.wesmile-mobile-menu-btn {
				display: none;
				align-items: center;
				justify-content: center;
				width: 38px;
				height: 38px;
				padding: 0;
				border-radius: 12px;
				border: 1px solid rgba(15, 23, 42, 0.12);
				background: #ffffff;
				color: #111c2d;
				cursor: pointer;
				flex-shrink: 0;
				transition: all 0.16s ease;
			}
			.wesmile-mobile-menu-btn:hover,
			.wesmile-mobile-menu-btn.is-open {
				border-color: #00A3E0;
				color: #00A3E0;
				background: #f0f9ff;
			}
			.wesmile-mobile-menu-btn .wesmile-close-icon {
				display: none;
			}
			.wesmile-mobile-menu-btn.is-open .wesmile-hamburger-icon {
				display: none;
			}
			.wesmile-mobile-menu-btn.is-open .wesmile-close-icon {
				display: block;
			}

			/* Mobile & Tablet Drawer Base */
			.wesmile-mobile-menu-drawer {
				display: none;
				width: 100%;
				background: #ffffff;
				border-top: 1px solid rgba(15, 23, 42, 0.08);
				border-bottom: 1px solid rgba(15, 23, 42, 0.1);
				box-shadow: 0 22px 45px -12px rgba(15, 23, 42, 0.18);
				max-height: calc(100vh - 68px);
				max-height: calc(100dvh - 68px);
				overflow-y: auto;
				z-index: 85;
			}
			.wesmile-mobile-menu-inner {
				max-width: 1280px;
				margin: 0 auto;
				padding: 12px 18px 20px;
				display: flex;
				flex-direction: column;
				gap: 14px;
			}
			.wesmile-mobile-nav-list {
				list-style: none;
				margin: 0;
				padding: 0;
				display: flex;
				flex-direction: column;
			}
			.wesmile-mobile-nav-li {
				border-bottom: 1px solid rgba(15, 23, 42, 0.06);
			}
			.wesmile-mobile-nav-li:last-child {
				border-bottom: none;
			}
			.wesmile-mobile-nav-item {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 8px;
				padding: 12px 6px;
				font-size: 14.5px;
				font-weight: 700;
				color: #111c2d;
				text-decoration: none;
				transition: color 0.15s ease;
			}
			.wesmile-mobile-nav-item:hover,
			.wesmile-mobile-nav-item.is-current {
				color: #00A3E0;
			}
			.wesmile-mobile-item-arrow {
				font-size: 13px;
				color: #00A3E0;
				font-weight: 700;
			}
			.wesmile-mobile-hot-badge {
				display: inline-flex;
				align-items: center;
				padding: 2px 7px;
				font-size: 10px;
				font-weight: 800;
				border-radius: 999px;
				background: #f43f5e;
				color: #ffffff;
				line-height: 1.1;
			}
			.wesmile-mobile-nav-group-head {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 8px;
			}
			.wesmile-mobile-nav-group-link {
				flex: 1;
				justify-content: flex-start;
			}
			.wesmile-mobile-sub-toggle {
				display: inline-flex;
				align-items: center;
				gap: 5px;
				padding: 6px 11px;
				border-radius: 999px;
				border: 1px solid rgba(15, 23, 42, 0.1);
				background: #f8fafc;
				color: #334155;
				font-size: 11.5px;
				font-weight: 700;
				cursor: pointer;
				transition: all 0.15s ease;
			}
			.wesmile-mobile-sub-toggle:hover,
			.wesmile-mobile-nav-group.is-open .wesmile-mobile-sub-toggle {
				background: #f0f9ff;
				border-color: rgba(0, 163, 224, 0.4);
				color: #00A3E0;
			}
			.wesmile-mobile-sub-caret {
				transition: transform 0.18s ease;
			}
			.wesmile-mobile-nav-group.is-open .wesmile-mobile-sub-caret {
				transform: rotate(180deg);
			}
			.wesmile-mobile-submenu {
				display: none;
				flex-direction: column;
				gap: 8px;
				padding: 4px 0 14px;
			}
			.wesmile-mobile-nav-group.is-open .wesmile-mobile-submenu {
				display: flex;
			}
			.wesmile-mobile-cat-block {
				border: 1px solid rgba(15, 23, 42, 0.08);
				border-radius: 14px;
				background: #f8fafc;
				padding: 10px;
				display: flex;
				flex-direction: column;
				gap: 8px;
			}
			.wesmile-mobile-cat-head {
				display: flex;
				align-items: center;
				gap: 10px;
				text-decoration: none;
				color: #111c2d;
			}
			.wesmile-mobile-cat-icon {
				width: 32px;
				height: 32px;
				border-radius: 9px;
				background: #e0f2fe;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				font-size: 15px;
				flex-shrink: 0;
			}
			.wesmile-mobile-cat-info {
				flex: 1;
				min-width: 0;
				display: flex;
				flex-direction: column;
				gap: 2px;
			}
			.wesmile-mobile-cat-title {
				font-size: 13px;
				font-weight: 800;
				color: #111c2d;
				display: flex;
				align-items: center;
				gap: 6px;
				flex-wrap: wrap;
			}
			.wesmile-mobile-cat-badge {
				font-size: 9.5px;
				font-weight: 800;
				text-transform: uppercase;
				padding: 1px 6px;
				border-radius: 999px;
				background: #e0f2fe;
				color: #0369a1;
			}
			.wesmile-mobile-cat-sub {
				font-size: 11px;
				color: #64748b;
				font-weight: 500;
			}
			.wesmile-mobile-cat-prods {
				display: flex;
				flex-direction: column;
				gap: 6px;
				padding-top: 6px;
				border-top: 1px dashed rgba(15, 23, 42, 0.08);
			}
			.wesmile-mobile-prod-row {
				display: flex;
				align-items: center;
				gap: 10px;
				padding: 6px 8px;
				border-radius: 10px;
				background: #ffffff;
				border: 1px solid rgba(15, 23, 42, 0.06);
				text-decoration: none;
				color: #111c2d;
			}
			.wesmile-mobile-prod-row img {
				width: 34px;
				height: 34px;
				object-fit: contain;
				border-radius: 6px;
				background: #f8fafc;
				flex-shrink: 0;
			}
			.wesmile-mobile-prod-meta {
				flex: 1;
				min-width: 0;
				display: flex;
				flex-direction: column;
				gap: 1px;
			}
			.wesmile-mobile-prod-name {
				font-size: 12px;
				font-weight: 700;
				color: #111c2d;
				line-height: 1.25;
			}
			.wesmile-mobile-prod-price {
				font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
				font-size: 11.5px;
				font-weight: 800;
				color: #00A3E0;
			}
			.wesmile-mobile-promo-row {
				display: flex;
				align-items: flex-start;
				gap: 10px;
				padding: 9px 10px;
				border-radius: 12px;
				background: #f8fafc;
				border: 1px solid rgba(15, 23, 42, 0.07);
				text-decoration: none;
				color: #111c2d;
			}
			.wesmile-mobile-promo-row img {
				width: 38px;
				height: 38px;
				object-fit: contain;
				border-radius: 8px;
				background: #ffffff;
				padding: 3px;
				border: 1px solid rgba(15, 23, 42, 0.06);
				flex-shrink: 0;
			}
			.wesmile-mobile-promo-info {
				flex: 1;
				min-width: 0;
				display: flex;
				flex-direction: column;
				gap: 3px;
			}
			.wesmile-mobile-promo-tags {
				display: flex;
				align-items: center;
				gap: 5px;
				flex-wrap: wrap;
			}
			.wesmile-mobile-promo-badge {
				font-size: 9.5px;
				font-weight: 800;
				padding: 1px 6px;
				border-radius: 999px;
				background: #ffe4e6;
				color: #e11d48;
			}
			.wesmile-mobile-promo-code {
				font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
				font-size: 9.5px;
				font-weight: 800;
				padding: 1px 6px;
				border-radius: 5px;
				background: #e0f2fe;
				color: #0369a1;
			}
			.wesmile-mobile-promo-title {
				font-size: 12px;
				font-weight: 700;
				color: #111c2d;
				line-height: 1.3;
			}
			.wesmile-mobile-sub-all {
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding: 9px 12px;
				border-radius: 10px;
				background: #111c2d;
				color: #ffffff !important;
				font-size: 12px;
				font-weight: 700;
				text-decoration: none;
			}
			.wesmile-mobile-menu-footer {
				padding-top: 12px;
				border-top: 1px solid rgba(15, 23, 42, 0.08);
			}
			.wesmile-mobile-auth-grid {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 10px;
			}
			.wesmile-mobile-auth-user {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				padding: 10px 14px;
				border-radius: 999px;
				border: 1px solid rgba(15, 23, 42, 0.12);
				background: #f0f9ff;
				color: #0D7399;
				font-size: 12.5px;
				font-weight: 700;
				text-decoration: none;
				text-align: center;
			}
			.wesmile-mobile-auth-logout {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				padding: 10px 14px;
				border-radius: 999px;
				border: 1px solid #fecaca;
				background: #ffffff;
				color: #dc2626;
				font-size: 12.5px;
				font-weight: 700;
				cursor: pointer;
			}
			.wesmile-mobile-auth-login {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				padding: 11px 16px;
				border-radius: 999px;
				border: 1.5px solid rgba(15, 23, 42, 0.16);
				background: #111c2d;
				color: #ffffff !important;
				font-size: 12.5px;
				font-weight: 700;
				text-decoration: none;
				text-transform: uppercase;
				letter-spacing: 0.04em;
			}

			/* Responsive Switch: Tablet & Mobile (<= 1080px) OR Automatic Overflow (.is-compact-nav) */
			@media (max-width: 1080px) {
				.site-header > .wesmile-header-inner,
				.site-header > div:first-child {
					min-height: 64px !important;
					padding: 10px 16px !important;
					gap: 10px !important;
					flex-wrap: nowrap !important;
				}
				.site-header .wesmile-primary-nav {
					display: none !important;
				}
				.site-header .wesmile-header-auth-desktop {
					display: none !important;
				}
				.site-header .wesmile-mobile-menu-btn {
					display: inline-flex !important;
				}
				.site-header .wesmile-mobile-menu-drawer.is-open {
					display: block !important;
				}
			}
			.site-header.is-compact-nav > .wesmile-header-inner,
			.site-header.is-compact-nav > div:first-child {
				min-height: 64px !important;
				padding: 10px 16px !important;
				gap: 10px !important;
				flex-wrap: nowrap !important;
			}
			.site-header.is-compact-nav .wesmile-primary-nav {
				display: none !important;
			}
			.site-header.is-compact-nav .wesmile-header-auth-desktop {
				display: none !important;
			}
			.site-header.is-compact-nav .wesmile-mobile-menu-btn {
				display: inline-flex !important;
			}
			.site-header.is-compact-nav .wesmile-mobile-menu-drawer.is-open {
				display: block !important;
			}

			@media (max-width: 640px) {
				.site-header a[aria-label*="WeSmile"] img,
				.site-header > div:first-child > a:first-child img {
					height: 30px !important;
				}
				.wesmile-header-search-box {
					position: fixed !important;
					top: 66px !important;
					left: 12px !important;
					right: 12px !important;
					width: auto !important;
					transform: translateY(-4px) !important;
				}
				.wesmile-header-search-wrap.is-open .wesmile-header-search-box {
					transform: translateY(0) !important;
				}
			}

			/* 2. Dropdown Trigger & Wrapper */
			.wesmile-nav-dropdown-wrap {
				position: relative;
				display: inline-flex;
				align-items: center;
			}
			.wesmile-dropdown-caret {
				transition: transform 0.18s ease;
				opacity: 0.7;
			}
			.wesmile-nav-dropdown-wrap:hover .wesmile-dropdown-caret,
			.wesmile-nav-dropdown-wrap:focus-within .wesmile-dropdown-caret,
			.wesmile-nav-dropdown-wrap.is-open .wesmile-dropdown-caret {
				transform: rotate(180deg);
				opacity: 1;
				color: #00A3E0;
			}

			/* Invisible hover bridge so moving the cursor from link to panel never drops hover */
			.wesmile-nav-dropdown-wrap::after {
				content: "";
				position: absolute;
				top: 100%;
				left: -16px;
				right: -16px;
				height: 18px;
				background: transparent;
				pointer-events: none;
			}
			.wesmile-nav-dropdown-wrap:hover::after,
			.wesmile-nav-dropdown-wrap:focus-within::after,
			.wesmile-nav-dropdown-wrap.is-open::after {
				pointer-events: auto;
			}

			/* 3. Dropdown Panel Base */
			.wesmile-dropdown-panel .sr-only {
				position: absolute;
				width: 1px;
				height: 1px;
				padding: 0;
				margin: -1px;
				overflow: hidden;
				clip: rect(0, 0, 0, 0);
				white-space: nowrap;
				border: 0;
			}
			.wesmile-dropdown-panel {
				position: absolute;
				top: calc(100% + 12px);
				left: 0;
				right: auto;
				box-sizing: border-box;
				max-width: calc(100vw - 32px);
				max-width: calc(100dvw - 32px);
				max-height: calc(100vh - 96px);
				max-height: calc(100dvh - 96px);
				background: #ffffff;
				border: 1px solid rgba(15, 23, 42, 0.1);
				border-radius: 20px;
				box-shadow: 0 24px 60px -12px rgba(15, 23, 42, 0.22), 0 4px 16px rgba(15, 23, 42, 0.06);
				opacity: 0;
				visibility: hidden;
				pointer-events: none;
				transform: translateY(6px);
				transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
				z-index: 95;
				text-align: left;
				font-weight: 500;
			}
			/* Full-width invisible hover bridge across top of panel */
			.wesmile-dropdown-panel::before {
				content: "";
				position: absolute;
				top: -16px;
				left: 0;
				right: 0;
				height: 16px;
				background: transparent;
			}
			@media (prefers-reduced-motion: reduce) {
				.wesmile-dropdown-panel {
					transition: none;
				}
			}

			.wesmile-nav-dropdown-wrap:not(.is-dismissed):hover .wesmile-dropdown-panel,
			.wesmile-nav-dropdown-wrap:not(.is-dismissed):focus-within .wesmile-dropdown-panel,
			.wesmile-nav-dropdown-wrap.is-open .wesmile-dropdown-panel {
				opacity: 1;
				visibility: visible;
				pointer-events: auto;
				transform: translateY(0);
			}

			/* 4. "Sản phẩm" Mega Dropdown (Category Sidebar + Product Table Stage) */
			.wesmile-products-mega-panel {
				width: min(980px, calc(100vw - 32px));
				width: min(980px, calc(100dvw - 32px));
				left: -260px;
				right: auto;
			}
			.wesmile-products-mega-inner {
				display: grid;
				grid-template-columns: 260px minmax(0, 1fr);
				min-height: 370px;
				border-radius: 20px;
				overflow: hidden;
			}
			@media (max-width: 960px) {
				.wesmile-products-mega-inner {
					grid-template-columns: 220px minmax(0, 1fr);
				}
			}
			@media (max-width: 760px) {
				.wesmile-products-mega-inner {
					grid-template-columns: 1fr;
				}
			}

			/* Left Column: Category List */
			.wesmile-mega-cat-sidebar {
				background: #f8fafc;
				border-right: 1px solid rgba(15, 23, 42, 0.08);
				padding: 18px 14px;
				display: flex;
				flex-direction: column;
				justify-content: space-between;
				gap: 12px;
			}
			.wesmile-mega-sidebar-head {
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding: 0 8px 8px;
				border-bottom: 1px solid rgba(15, 23, 42, 0.06);
			}
			.wesmile-mega-eyebrow {
				font-size: 10.5px;
				font-weight: 800;
				text-transform: uppercase;
				letter-spacing: 0.08em;
				color: #00A3E0;
			}
			.wesmile-mega-count {
				font-size: 11px;
				font-weight: 700;
				color: #64748b;
				background: #e2e8f0;
				padding: 2px 8px;
				border-radius: 999px;
			}
			.wesmile-mega-cat-list {
				list-style: none;
				margin: 0;
				padding: 0;
				display: flex;
				flex-direction: column;
				gap: 6px;
			}
			.wesmile-mega-cat-item {
				display: flex;
				align-items: flex-start;
				gap: 10px;
				padding: 11px 12px;
				border-radius: 14px;
				text-decoration: none;
				color: #111c2d;
				border: 1px solid transparent;
				transition: all 0.15s ease;
				cursor: pointer;
			}
			.wesmile-mega-cat-item:hover,
			.wesmile-mega-cat-item:focus-visible,
			.wesmile-mega-cat-item.is-active {
				background: #ffffff;
				border-color: rgba(0, 163, 224, 0.35);
				box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
			}
			.wesmile-mega-cat-icon {
				width: 32px;
				height: 32px;
				border-radius: 10px;
				background: #e0f2fe;
				color: #0284c7;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				font-size: 15px;
				flex-shrink: 0;
				margin-top: 1px;
			}
			.wesmile-mega-cat-item.is-active .wesmile-mega-cat-icon {
				background: #111c2d;
				color: #ffffff;
			}
			.wesmile-mega-cat-text {
				flex: 1;
				min-width: 0;
				display: flex;
				flex-direction: column;
				gap: 2px;
			}
			.wesmile-mega-cat-title-row {
				display: flex;
				align-items: center;
				gap: 6px;
				flex-wrap: wrap;
			}
			.wesmile-mega-cat-name {
				font-size: 13px;
				font-weight: 700;
				color: #111c2d;
				line-height: 1.25;
			}
			.wesmile-mega-cat-item.is-active .wesmile-mega-cat-name {
				color: #00A3E0;
			}
			.wesmile-mega-cat-badge {
				font-size: 9.5px;
				font-weight: 800;
				text-transform: uppercase;
				padding: 1.5px 6px;
				border-radius: 999px;
				background: #e0f2fe;
				color: #0369a1;
				line-height: 1.2;
			}
			.wesmile-mega-cat-sub {
				font-size: 11px;
				color: #64748b;
				font-weight: 500;
				line-height: 1.35;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
			}
			.wesmile-mega-cat-arrow {
				font-size: 16px;
				font-weight: 700;
				color: #94a3b8;
				align-self: center;
				transition: transform 0.15s ease, color 0.15s ease;
			}
			.wesmile-mega-cat-item.is-active .wesmile-mega-cat-arrow {
				color: #00A3E0;
				transform: translateX(2px);
			}
			.wesmile-mega-sidebar-foot {
				padding-top: 10px;
				border-top: 1px solid rgba(15, 23, 42, 0.07);
				display: flex;
				flex-direction: column;
				gap: 6px;
			}
			.wesmile-mega-all-link {
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding: 8px 10px;
				border-radius: 10px;
				background: #111c2d;
				color: #ffffff !important;
				font-size: 12px;
				font-weight: 700;
				text-decoration: none;
				transition: background 0.15s ease;
			}
			.wesmile-mega-all-link:hover {
				background: #00A3E0;
			}
			.wesmile-mega-admin-link {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				padding: 6px 10px;
				border-radius: 8px;
				background: #f0f9ff;
				border: 1px dashed rgba(0, 163, 224, 0.45);
				color: #0369a1 !important;
				font-size: 11px;
				font-weight: 700;
				text-decoration: none;
			}
			.wesmile-mega-admin-link:hover {
				background: #e0f2fe;
			}

			/* Right Column: Product Table Stage */
			.wesmile-mega-products-stage {
				padding: 18px 20px;
				background: #ffffff;
				display: flex;
				flex-direction: column;
				justify-content: flex-start;
				min-width: 0;
			}
			.wesmile-mega-cat-panel {
				display: none;
				flex-direction: column;
				gap: 14px;
				height: 100%;
			}
			.wesmile-mega-cat-panel.is-active {
				display: flex;
			}
			.wesmile-mega-panel-header {
				display: flex;
				align-items: flex-start;
				justify-content: space-between;
				gap: 12px;
				padding-bottom: 12px;
				border-bottom: 1px solid rgba(15, 23, 42, 0.08);
			}
			.wesmile-mega-panel-title-wrap {
				display: flex;
				align-items: center;
				gap: 8px;
				flex-wrap: wrap;
			}
			.wesmile-mega-panel-icon {
				font-size: 18px;
			}
			.wesmile-mega-panel-title {
				font-size: 16px;
				font-weight: 800;
				color: #111c2d;
				margin: 0;
			}
			.wesmile-mega-panel-pill {
				font-size: 11px;
				font-weight: 700;
				padding: 2px 9px;
				border-radius: 999px;
				background: #f0f9ff;
				color: #0284c7;
				border: 1px solid rgba(2, 132, 199, 0.2);
			}
			.wesmile-mega-panel-desc {
				font-size: 12px;
				color: #64748b;
				margin: 4px 0 0;
				line-height: 1.4;
			}
			.wesmile-mega-panel-viewcat {
				font-size: 12px;
				font-weight: 700;
				color: #00A3E0;
				text-decoration: none;
				white-space: nowrap;
				padding: 6px 12px;
				border-radius: 999px;
				background: #f0f9ff;
				transition: all 0.15s ease;
			}
			.wesmile-mega-panel-viewcat:hover {
				background: #00A3E0;
				color: #ffffff;
			}

			/* Responsive Product Table inside Category Panel */
			.wesmile-cat-table-wrapper {
				overflow: auto;
				max-inline-size: 100%;
				max-block-size: min(380px, 65vh);
				max-block-size: min(380px, 65dvh);
				container-type: inline-size;
				border: 1px solid rgba(15, 23, 42, 0.08);
				border-radius: 14px;
			}
			.wesmile-cat-product-table {
				width: 100%;
				border-collapse: separate;
				border-spacing: 0;
				font-size: 12px;
			}
			.wesmile-cat-product-table thead {
				position: sticky;
				inset-block-start: 0;
				z-index: 2;
				background: #f8fafc;
			}
			.wesmile-cat-product-table thead th {
				padding: 9px 10px;
				font-size: 10.5px;
				font-weight: 800;
				text-transform: uppercase;
				letter-spacing: 0.05em;
				color: #475569;
				border-bottom: 1px solid rgba(15, 23, 42, 0.08);
				text-align: left;
				white-space: nowrap;
			}
			.wesmile-cat-product-table tbody tr {
				transition: background 0.14s ease;
			}
			.wesmile-cat-product-table tbody tr:hover {
				background: #f8fafc;
			}
			.wesmile-cat-product-table tbody th,
			.wesmile-cat-product-table tbody td {
				padding: 10px;
				border-bottom: 1px solid rgba(15, 23, 42, 0.06);
				vertical-align: middle;
			}
			.wesmile-cat-product-table tbody tr:last-child th,
			.wesmile-cat-product-table tbody tr:last-child td {
				border-bottom: none;
			}
			.wesmile-cat-product-table tbody th {
				position: sticky;
				inset-inline-start: 0;
				background: #ffffff;
				text-align: left;
				font-weight: 600;
				min-width: 195px;
				max-width: 250px;
			}
			.wesmile-cat-product-table tbody tr:hover th {
				background: #f8fafc;
			}
			.wesmile-tbl-prod-cell {
				display: flex;
				align-items: center;
				gap: 10px;
				text-decoration: none;
				color: #111c2d;
			}
			.wesmile-tbl-prod-thumb {
				width: 44px;
				height: 44px;
				border-radius: 10px;
				background: #f8fafc;
				border: 1px solid rgba(15, 23, 42, 0.07);
				padding: 4px;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				flex-shrink: 0;
			}
			.wesmile-tbl-prod-thumb img {
				width: 100%;
				height: 100%;
				object-fit: contain;
				aspect-ratio: 1 / 1;
			}
			.wesmile-tbl-prod-info {
				display: flex;
				flex-direction: column;
				gap: 2px;
				min-width: 0;
			}
			.wesmile-tbl-prod-name {
				font-size: 12.5px;
				font-weight: 800;
				color: #111c2d;
				line-height: 1.25;
				transition: color 0.15s ease;
			}
			.wesmile-tbl-prod-cell:hover .wesmile-tbl-prod-name {
				color: #00A3E0;
			}
			.wesmile-tbl-prod-excerpt {
				font-size: 11px;
				color: #64748b;
				font-weight: 400;
				line-height: 1.35;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
				max-width: 210px;
			}
			.wesmile-tbl-specs {
				display: flex;
				flex-direction: column;
				gap: 4px;
			}
			.wesmile-tbl-spec-Tag {
				display: inline-block;
				font-size: 10px;
				font-weight: 600;
				color: #334155;
				background: #f1f5f9;
				padding: 2px 6px;
				border-radius: 6px;
				line-height: 1.3;
				white-space: normal;
				width: fit-content;
				max-width: 175px;
			}
			.wesmile-tbl-price-box {
				display: flex;
				flex-direction: column;
				gap: 2px;
				white-space: nowrap;
			}
			.wesmile-tbl-price-current {
				font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
				font-size: 13px;
				font-weight: 800;
				color: #111c2d;
			}
			.wesmile-tbl-price-old-row {
				display: flex;
				align-items: center;
				gap: 5px;
			}
			.wesmile-tbl-price-regular {
				font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
				font-size: 10.5px;
				color: #94a3b8;
				text-decoration: line-through;
			}
			.wesmile-tbl-price-Off {
				font-size: 9.5px;
				font-weight: 800;
				color: #e11d48;
				background: #ffe4e6;
				padding: 1px 5px;
				border-radius: 4px;
			}
			.wesmile-tbl-actions {
				display: inline-flex;
				align-items: center;
				gap: 5px;
				white-space: nowrap;
			}
			.wesmile-tbl-btn-detail {
				padding: 5px 9px;
				border-radius: 8px;
				border: 1px solid rgba(15, 23, 42, 0.14);
				background: #ffffff;
				color: #111c2d !important;
				font-size: 11px;
				font-weight: 700;
				text-decoration: none;
				transition: all 0.15s ease;
			}
			.wesmile-tbl-btn-detail:hover {
				border-color: #00A3E0;
				color: #00A3E0 !important;
			}
			.wesmile-tbl-btn-cart {
				padding: 5px 9px;
				border-radius: 8px;
				border: none;
				background: #111c2d;
				color: #ffffff;
				font-size: 11px;
				font-weight: 700;
				cursor: pointer;
				transition: background 0.15s ease;
			}
			.wesmile-tbl-btn-cart:hover {
				background: #00A3E0;
			}

			@container (width < 520px) {
				.wesmile-cat-product-table,
				.wesmile-cat-product-table thead,
				.wesmile-cat-product-table tbody,
				.wesmile-cat-product-table tr,
				.wesmile-cat-product-table th,
				.wesmile-cat-product-table td {
					display: block;
				}
				.wesmile-cat-product-table thead {
					display: none;
				}
				.wesmile-cat-product-table tbody th {
					min-width: 0;
					max-width: none;
				}
				.wesmile-cat-product-table tbody tr {
					margin-block-end: 10px;
					border: 1px solid rgba(15, 23, 42, 0.08);
					border-radius: 12px;
				}
				.wesmile-cat-product-table tbody td:nth-child(2)::before {
					content: var(--label-2) ": ";
					font-weight: 700;
					color: #475569;
				}
				.wesmile-cat-product-table tbody td:nth-child(3)::before {
					content: var(--label-3) ": ";
					font-weight: 700;
					color: #475569;
				}
			}

			/* 5. "Khuyến mại" Dropdown (5 Recent Promotion News) */
			.wesmile-promos-dropdown-panel {
				width: min(460px, calc(100vw - 32px));
				width: min(460px, calc(100dvw - 32px));
				left: -160px;
				right: auto;
				padding: 16px;
				display: flex;
				flex-direction: column;
				gap: 12px;
			}
			.wesmile-promos-panel-head {
				display: flex;
				align-items: center;
				justify-content: space-between;
				padding-bottom: 10px;
				border-bottom: 1px solid rgba(15, 23, 42, 0.08);
			}
			.wesmile-promos-head-title {
				font-size: 15px;
				font-weight: 800;
				color: #111c2d;
				margin: 2px 0 0;
			}
			.wesmile-promos-head-all {
				font-size: 12px;
				font-weight: 700;
				color: #00A3E0;
				text-decoration: none;
				white-space: nowrap;
			}
			.wesmile-promos-head-all:hover {
				text-decoration: underline;
			}
			.wesmile-promos-list {
				list-style: none;
				margin: 0;
				padding: 0;
				display: flex;
				flex-direction: column;
				gap: 8px;
				max-height: 390px;
				overflow-y: auto;
			}
			.wesmile-promo-item-card {
				display: flex;
				align-items: flex-start;
				gap: 12px;
				padding: 10px 12px;
				border-radius: 14px;
				background: #f8fafc;
				border: 1px solid rgba(15, 23, 42, 0.06);
				text-decoration: none;
				color: #111c2d;
				transition: all 0.15s ease;
			}
			.wesmile-promo-item-card:hover,
			.wesmile-promo-item-card:focus-visible {
				background: #ffffff;
				border-color: rgba(0, 163, 224, 0.4);
				box-shadow: 0 6px 18px rgba(15, 23, 42, 0.07);
				transform: translateY(-1px);
			}
			.wesmile-promo-thumb {
				position: relative;
				width: 48px;
				height: 48px;
				border-radius: 12px;
				background: #ffffff;
				border: 1px solid rgba(15, 23, 42, 0.07);
				padding: 4px;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				flex-shrink: 0;
			}
			.wesmile-promo-thumb img {
				width: 100%;
				height: 100%;
				object-fit: contain;
				aspect-ratio: 1 / 1;
			}
			.wesmile-promo-rank {
				position: absolute;
				top: -5px;
				left: -5px;
				background: #111c2d;
				color: #ffffff;
				font-size: 9.5px;
				font-weight: 800;
				padding: 1px 5px;
				border-radius: 999px;
				line-height: 1.2;
			}
			.wesmile-promo-body {
				flex: 1;
				min-width: 0;
				display: flex;
				flex-direction: column;
				gap: 3px;
			}
			.wesmile-promo-meta-row {
				display: flex;
				align-items: center;
				gap: 6px;
				flex-wrap: wrap;
			}
			.wesmile-promo-badge {
				font-size: 9.5px;
				font-weight: 800;
				text-transform: uppercase;
				padding: 1.5px 6px;
				border-radius: 999px;
				background: #ffe4e6;
				color: #e11d48;
				line-height: 1.2;
			}
			.wesmile-promo-code {
				font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
				font-size: 10px;
				font-weight: 800;
				padding: 1.5px 6px;
				border-radius: 6px;
				background: #e0f2fe;
				color: #0369a1;
			}
			.wesmile-promo-date {
				font-size: 10.5px;
				color: #64748b;
				margin-left: auto;
			}
			.wesmile-promo-title {
				font-size: 12.5px;
				font-weight: 800;
				color: #111c2d;
				line-height: 1.3;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
			}
			.wesmile-promo-item-card:hover .wesmile-promo-title {
				color: #00A3E0;
			}
			.wesmile-promo-excerpt {
				font-size: 11px;
				color: #64748b;
				font-weight: 400;
				line-height: 1.35;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				overflow: hidden;
			}
			.wesmile-promos-panel-foot {
				padding-top: 10px;
				border-top: 1px solid rgba(15, 23, 42, 0.08);
				display: flex;
				flex-direction: column;
				gap: 6px;
			}

/* Header Search & Cart Tooltip */
.wesmile-cart-tooltip {
            position: absolute;
            top: calc(100% + 8px);
            left: 50%;
            transform: translate(-50%, 4px);
            padding: 5px 10px;
            border-radius: 6px;
            background: #111c2d;
            color: #ffffff;
            font-size: 11.5px;
            font-weight: 600;
            line-height: 1.2;
            white-space: nowrap;
            box-shadow: 0 6px 16px rgba(15, 23, 42, 0.18);
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
            z-index: 60;
        }
        .wesmile-cart-tooltip::before {
            content: "";
            position: absolute;
            bottom: 100%;
            left: 50%;
            transform: translateX(-50%);
            border-width: 5px;
            border-style: solid;
            border-color: transparent transparent #111c2d transparent;
        }
        .wesmile-cart-tooltip::after {
            content: "";
            position: absolute;
            bottom: 100%;
            left: 0;
            right: 0;
            height: 10px;
        }
        .wesmile-cart-tooltip-wrap:not(.is-tooltip-dismissed):hover .wesmile-cart-tooltip,
        .wesmile-cart-tooltip-wrap:not(.is-tooltip-dismissed):focus-within .wesmile-cart-tooltip {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translate(-50%, 0);
        }
        .wesmile-header-search-wrap {
            position: relative;
            display: inline-flex;
            align-items: center;
        }
        .wesmile-header-search-wrap.is-open .wesmile-header-search-btn {
            border-color: #00A3E0 !important;
            color: #00A3E0 !important;
            background: #f0f9ff !important;
        }
        .wesmile-header-search-box {
            position: absolute;
            right: calc(100% + 8px);
            left: auto;
            top: 50%;
            transform: translateY(-50%) translateX(6px);
            width: 360px;
            max-width: calc(100vw - 80px);
            max-width: calc(100dvw - 80px);
            z-index: 80;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0.22s;
        }
        .wesmile-header-search-wrap.is-open .wesmile-header-search-box {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translateY(-50%) translateX(0);
            transition: opacity 0.22s ease, transform 0.22s ease, visibility 0s linear 0s;
        }
        .wesmile-header-search-form {
            margin: 0;
            width: 100%;
        }
        .wesmile-header-search-input {
            width: 100%;
            height: 38px;
            padding: 0 14px;
            border-radius: 999px;
            border: 1.5px solid #00A3E0;
            background: #ffffff;
            color: #111c2d;
            font-size: 13px;
            font-weight: 500;
            line-height: 1;
            outline: none;
            box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.96), 0 8px 22px rgba(15, 23, 42, 0.14);
            transition: border-color 0.18s ease, box-shadow 0.18s ease;
        }
        .wesmile-header-search-input::placeholder {
            color: #94a3b8;
            font-weight: 400;
        }
        .wesmile-header-search-input:focus {
            border-color: #00A3E0;
            box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.98), 0 0 0 6px rgba(0, 163, 224, 0.16), 0 10px 26px rgba(15, 23, 42, 0.16);
        }
        @media (prefers-reduced-motion: reduce) {
            .wesmile-header-search-box,
            .wesmile-header-search-wrap.is-open .wesmile-header-search-box {
                transform: translateY(-50%);
                transition-duration: 0.1s;
            }
        }
