/*
Theme Name: TEKANET
Theme URI: https://tekanet.vn/
Description: Custom theme for TEKANET website.
Author: TEKANET
Author URI: https://tekanet.vn/
Template: tekanet-core
Version: 1.0.0
*/

/* --- Codespot Design Tokens (Dark + Neon Green) --- */
:root {
	/* Palette mappings */
	--theme-palette-color-1: #0df682 !important;
	/* Primary Accent: Neon Green */
	--theme-palette-color-2: #05b85f !important;
	/* Secondary Accent: Softer Green */
	--theme-palette-color-3: #94a3b8 !important;
	/* Body Text: Muted Silver/Grey */
	--theme-palette-color-4: #ffffff !important;
	/* Headings: White */
	--theme-palette-color-5: #1e293b !important;
	/* Borders/Dividers: Dark Slate */
	--theme-palette-color-6: #111827 !important;
	/* Card / Section BG: Charcoal */
	--theme-palette-color-7: #080d15 !important;
	/* Mid Background: Dark Jungle */
	--theme-palette-color-8: #0b0f19 !important;
	/* Main Page BG: Deep Dark Slate */

	/* Interactive selection colors */
	--theme-selection-background: #0df682 !important;
	--theme-selection-color: #0b0f19 !important;

	/* Form Focus colors */
	--theme-form-field-focus-border: #0df682 !important;
}

/* Force body backgrounds and text colors */
body {
	background-color: var(--theme-palette-color-8) !important;
	color: var(--theme-palette-color-3) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.widget-title {
	color: var(--theme-palette-color-4) !important;
}

/* Selection highlight */
::selection {
	background: var(--theme-selection-background);
	color: var(--theme-selection-color);
}

::-moz-selection {
	background: var(--theme-selection-background);
	color: var(--theme-selection-color);
}

/* --- Section Overrides to Dark Mode --- */
/* Target parent section containers to change their backgrounds to dark without resetting layout or background-images */
.elementor-element.e-con.e-parent,
.elementor-element.e-container.e-parent,
.elementor-section {
	background-color: var(--theme-palette-color-8) !important;
}

/* Give alternating parent containers a slightly different dark background for depth */
.elementor-element.e-con.e-parent:nth-of-type(even),
.elementor-element.e-container.e-parent:nth-of-type(even) {
	background-color: var(--theme-palette-color-7) !important;
}

/* Override manual light backgrounds generated by Elementor inline styles on parent containers */
.elementor-element.e-con.e-parent[style*="background-color:"],
.elementor-section[style*="background-color:"] {
	background-color: var(--theme-palette-color-8) !important;
}

/* --- Heading & Text Color Adaptations in Dark Mode --- */
.elementor-widget-heading .elementor-heading-title,
.elementor-icon-box-title,
.elementor-icon-box-title a,
.elementor-image-box-title,
.elementor-image-box-title a,
.elementor-counter .elementor-counter-title {
	color: var(--theme-palette-color-4) !important;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-text-editor,
.elementor-icon-box-description,
.elementor-image-box-description {
	color: var(--theme-palette-color-3) !important;
}

/* --- Explicit Card Targeting (Zero layout impact) --- */

/* 1. Target exact card container IDs and blocksy post cards */
.elementor-element-a6f9694,
.elementor-element-f4c41eb,
.elementor-element-da5f4ca,
.elementor-element-ffd6f37,
.elementor-element-616c4d2,
.elementor-element-c299f3c,
.elementor-element-09d6af2,
.elementor-element-ce74670,
.elementor-element-ddf0047,
.elementor-element-3012587,
.elementor-element-f0e7e3a,
.elementor-element-d4bcb58,
.elementor-element-722c14e .elementor-widget-container,
.elementor-element-c21cc22 .elementor-widget-container,
.elementor-element-877babe .elementor-widget-container,
.elementor-element-cba3bb0 .elementor-widget-container,
.entry-card {
	position: relative !important;
	background-color: var(--theme-palette-color-6) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	box-shadow: none !important;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

/* 2. Hover states for targeted cards */
.elementor-element-a6f9694:hover,
.elementor-element-f4c41eb:hover,
.elementor-element-da5f4ca:hover,
.elementor-element-ffd6f37:hover,
.elementor-element-616c4d2:hover,
.elementor-element-c299f3c:hover,
.elementor-element-09d6af2:hover,
.elementor-element-ce74670:hover,
.elementor-element-ddf0047:hover,
.elementor-element-3012587:hover,
.elementor-element-f0e7e3a:hover,
.elementor-element-d4bcb58:hover,
.elementor-element-722c14e .elementor-widget-container:hover,
.elementor-element-c21cc22 .elementor-widget-container:hover,
.elementor-element-877babe .elementor-widget-container:hover,
.elementor-element-cba3bb0 .elementor-widget-container:hover,
.entry-card:hover {
	border-color: var(--theme-palette-color-1) !important;
	box-shadow: 0 10px 30px -10px rgba(13, 246, 130, 0.2) !important;
	transform: translateY(-5px);
}

/* --- Card border rotation animation on hover --- */
@property --border-animation-angle {
	syntax: "<angle>";
	initial-value: 0turn;
	inherits: false;
}

@keyframes borderRotate {
	to {
		--border-animation-angle: 1turn;
	}
}

.elementor-element-a6f9694::after,
.elementor-element-f4c41eb::after,
.elementor-element-da5f4ca::after,
.elementor-element-ffd6f37::after,
.elementor-element-616c4d2::after,
.elementor-element-c299f3c::after,
.elementor-element-09d6af2::after,
.elementor-element-ce74670::after,
.elementor-element-ddf0047::after,
.elementor-element-3012587::after,
.elementor-element-f0e7e3a::after,
.elementor-element-d4bcb58::after,
.elementor-element-722c14e .elementor-widget-container::after,
.elementor-element-c21cc22 .elementor-widget-container::after,
.elementor-element-877babe .elementor-widget-container::after,
.elementor-element-cba3bb0 .elementor-widget-container::after,
.entry-card::after {
	pointer-events: none;
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	border: 1px solid transparent;
	animation: borderRotate 5s linear infinite;
	background: conic-gradient(from var(--border-animation-angle), transparent 80%, var(--theme-palette-color-1), var(--theme-palette-color-1) 100%, transparent) border-box;
	background-clip: border-box;
	background-origin: border-box;
	mask: radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(97% - 1px), rgba(0, 0, 0, 0)) content-box, radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(2% - 1px), #000) border-box;
	-webkit-mask-composite: destination-in;
	mask-composite: intersect;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.elementor-element-a6f9694:hover::after,
.elementor-element-f4c41eb:hover::after,
.elementor-element-da5f4ca:hover::after,
.elementor-element-ffd6f37:hover::after,
.elementor-element-616c4d2:hover::after,
.elementor-element-c299f3c:hover::after,
.elementor-element-09d6af2:hover::after,
.elementor-element-ce74670:hover::after,
.elementor-element-ddf0047:hover::after,
.elementor-element-3012587:hover::after,
.elementor-element-f0e7e3a:hover::after,
.elementor-element-d4bcb58:hover::after,
.elementor-element-722c14e .elementor-widget-container:hover::after,
.elementor-element-c21cc22 .elementor-widget-container:hover::after,
.elementor-element-877babe .elementor-widget-container:hover::after,
.elementor-element-cba3bb0 .elementor-widget-container:hover::after,
.entry-card:hover::after {
	opacity: 1;
}

/* --- Keep Text inside Neon-Green CTA Box Dark for Contrast & Readability --- */
.elementor-element-47da2f4 h1,
.elementor-element-47da2f4 h2,
.elementor-element-47da2f4 h3,
.elementor-element-47da2f4 h4,
.elementor-element-47da2f4 p,
.elementor-element-47da2f4 span,
.elementor-element-47da2f4 .elementor-heading-title,
.elementor-element-47da2f4 .elementor-text-editor {
	color: var(--theme-palette-color-8) !important;
	/* Force dark background slate color on text */
}

/* --- Forms Styling (WPForms & Fluent Forms) --- */
.wpforms-form input,
.wpforms-form textarea,
.wpforms-form select,
.fluentform input,
.fluentform textarea,
.fluentform select {
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	color: var(--theme-palette-color-4) !important;
	border-radius: 8px !important;
	padding: 12px 15px !important;
	transition: all 0.3s ease !important;
}

.wpforms-form input:focus,
.wpforms-form textarea:focus,
.fluentform input:focus,
.fluentform textarea:focus {
	border-color: var(--theme-palette-color-1) !important;
	outline: none !important;
	box-shadow: 0 0 10px rgba(13, 246, 130, 0.2) !important;
}

/* --- Button Styling --- */
.elementor-button,
.wpforms-submit,
.fluentform .ff-btn {
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	border-radius: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	border: none !important;
	transition: all 0.3s ease !important;
}

.elementor-button:hover,
.wpforms-submit:hover,
.fluentform .ff-btn:hover {
	background-color: var(--theme-palette-color-2) !important;
	color: var(--theme-palette-color-8) !important;
	box-shadow: 0 5px 15px rgba(13, 246, 130, 0.4) !important;
	transform: translateY(-2px) !important;
}

/* --- Navigation & Header Overrides --- */
.ct-header,
.ct-header-item,
.ct-menu-link {
	color: var(--theme-palette-color-4) !important;
	transition: color 0.3s ease !important;
}

.ct-menu-link:hover {
	color: var(--theme-palette-color-1) !important;
}

/* Active menu item */
.current-menu-item>a {
	color: var(--theme-palette-color-1) !important;
}

/* Footer overrides */
.ct-footer {
	background-color: var(--theme-palette-color-7) !important;
	border-top: 1px solid var(--theme-palette-color-5) !important;
}

/* --- Automatically Generated Background Image Overrides --- */
/* Background image for element 79ee1ff */
.elementor-element.elementor-element-79ee1ff,
.elementor-element.elementor-element-79ee1ff>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/hero-image-services@2x.jpg') !important;
}

/* Background image for element 1f21a73 */
.elementor-element.elementor-element-1f21a73,
.elementor-element.elementor-element-1f21a73>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/decorative-shape.svg') !important;
}

/* Background image for element 01afc5f */
.elementor-element.elementor-element-01afc5f,
.elementor-element.elementor-element-01afc5f>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/decorative-shape-2.svg') !important;
}

/* Background image for element 004343b */
.elementor-element.elementor-element-004343b,
.elementor-element.elementor-element-004343b>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/hero-image-contact@2x.jpg') !important;
}

/* Background image for element 17e973d */
.elementor-element.elementor-element-17e973d,
.elementor-element.elementor-element-17e973d>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/decorative-shape.svg') !important;
}

/* Background image for element 98ec681 */
.elementor-element.elementor-element-98ec681,
.elementor-element.elementor-element-98ec681>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/hero-image-about@2x.jpg') !important;
}

/* Background image for element f742e27 */
.elementor-element.elementor-element-f742e27,
.elementor-element.elementor-element-f742e27>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/decorative-shape.svg') !important;
}

/* Background image for element 20e2200 */
.elementor-element.elementor-element-20e2200,
.elementor-element.elementor-element-20e2200>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/video-thumbnail@2x.jpg') !important;
}

/* Background image for element b460453 */
.elementor-element.elementor-element-b460453,
.elementor-element.elementor-element-b460453>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/home-hero-new@2x.jpg') !important;
}

/* Background image for element 352098f */
.elementor-element.elementor-element-352098f,
.elementor-element.elementor-element-352098f>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/decorative-shape.svg') !important;
}

/* Background image for element f870ed9 */
.elementor-element.elementor-element-f870ed9,
.elementor-element.elementor-element-f870ed9>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/decorative-shape-2.svg') !important;
}

/* Background image for element a6f9694 */
.elementor-element.elementor-element-a6f9694,
.elementor-element.elementor-element-a6f9694>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/case-studies-1@2x.jpg') !important;
}

/* Background image for element f4c41eb */
.elementor-element.elementor-element-f4c41eb,
.elementor-element.elementor-element-f4c41eb>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/case-studies-2@2x.jpg') !important;
}

/* Background image for element da5f4ca */
.elementor-element.elementor-element-da5f4ca,
.elementor-element.elementor-element-da5f4ca>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/case-studies-3@2x.jpg') !important;
}

/* Background image for element ffd6f37 */
.elementor-element.elementor-element-ffd6f37,
.elementor-element.elementor-element-ffd6f37>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/case-studies-4@2x.jpg') !important;
}

/* Background image for element 616c4d2 */
.elementor-element.elementor-element-616c4d2,
.elementor-element.elementor-element-616c4d2>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/case-studies-5@2x.jpg') !important;
}

/* Background image for element c299f3c */
.elementor-element.elementor-element-c299f3c,
.elementor-element.elementor-element-c299f3c>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/case-studies-6@2x.jpg') !important;
}

/* Background image for element b3f875a */
.elementor-element.elementor-element-b3f875a,
.elementor-element.elementor-element-b3f875a>.elementor-motion-effects-container>.elementor-motion-effects-layer {
	background-image: url('../../uploads/2021/07/decorative-shape.svg') !important;
}

/* ==========================================================================
   WOOCOMMERCE DARK + NEON GREEN DESIGN SYSTEM OVERRIDES
   Harmonizing /products/, /san-pham/*, /cart/, and /checkout/
   ========================================================================== */

/* --- 1. Global WooCommerce Dark Layout --- */
.woocommerce-page,
.woocommerce {
	color: var(--theme-palette-color-3) !important;
}

.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3,
.woocommerce-page h4,
.woocommerce-page h5,
.woocommerce-page h6,
.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce h4,
.woocommerce h5,
.woocommerce h6,
.woocommerce .page-title,
.woocommerce-products-header__title {
	color: var(--theme-palette-color-4) !important;
}

/* Hero Section & Page Title Header (Hidden per user request) */
.hero-section,
.hero-section[data-type],
.hero-section[data-type="type-1"],
.hero-section[data-type="type-2"],
header.entry-header.ct-container-narrow {
	display: none !important;
}

/* WooCommerce Shop Top Spacing & Control Alignment */
.woocommerce-shop #main,
.archive.post-type-archive-product #main,
.woocommerce-shop .ct-container[data-vertical-spacing],
.archive.post-type-archive-product .ct-container[data-vertical-spacing] {
	padding-top: 50px !important;
}

.woo-listing-top {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 24px !important;
	margin-top: 10px !important;
	position: relative !important;
	z-index: 5 !important;
}

.woocommerce-breadcrumb,
.ct-breadcrumbs {
	color: var(--theme-palette-color-3) !important;
}

.woocommerce-breadcrumb a,
.ct-breadcrumbs a {
	color: var(--theme-palette-color-3) !important;
	transition: color 0.2s ease !important;
}

.woocommerce-breadcrumb a:hover,
.ct-breadcrumbs a:hover {
	color: var(--theme-palette-color-1) !important;
}

/* WooCommerce Notices & Messages */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background-color: var(--theme-palette-color-6) !important;
	border-top-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-4) !important;
	border-radius: 12px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--theme-palette-color-1) !important;
}

/* --- 2. WooCommerce Shop & Product Archive (/products/) --- */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
	gap: 24px !important;
	margin-top: 20px !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background-color: var(--theme-palette-color-6) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 16px !important;
	padding: 20px !important;
	position: relative !important;
	margin: 0 !important;
	width: 100% !important;
	float: none !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	border-color: var(--theme-palette-color-1) !important;
	box-shadow: 0 10px 30px -10px rgba(13, 246, 130, 0.25) !important;
	transform: translateY(-5px) !important;
}

/* Product Card Hover Border Glow */
.woocommerce ul.products li.product::after,
.woocommerce-page ul.products li.product::after {
	pointer-events: none;
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	border: 1px solid transparent;
	animation: borderRotate 5s linear infinite;
	background: conic-gradient(from var(--border-animation-angle), transparent 80%, var(--theme-palette-color-1), var(--theme-palette-color-1) 100%, transparent) border-box;
	background-clip: border-box;
	background-origin: border-box;
	mask: radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(97% - 1px), rgba(0, 0, 0, 0)) content-box, radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(2% - 1px), #000) border-box;
	-webkit-mask-composite: destination-in;
	mask-composite: intersect;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.woocommerce ul.products li.product:hover::after,
.woocommerce-page ul.products li.product:hover::after {
	opacity: 1;
}

/* Product Images in Grid */
.woocommerce ul.products li.product img {
	border-radius: 12px !important;
	object-fit: cover !important;
	margin-bottom: 14px !important;
	transition: transform 0.3s ease !important;
}

.woocommerce ul.products li.product:hover img {
	transform: scale(1.03) !important;
}

/* Product Titles */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3 {
	color: var(--theme-palette-color-4) !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	margin: 10px 0 8px 0 !important;
	padding: 0 !important;
}

/* Product Price */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount,
.woocommerce ul.products li.product .price ins .amount {
	color: var(--theme-palette-color-1) !important;
	font-size: 1.15rem !important;
	font-weight: 700 !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce ul.products li.product .price del .amount {
	color: rgba(255, 255, 255, 0.9) !important;
	opacity: 1 !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	margin-right: 6px !important;
	text-decoration-thickness: 2px !important;
	text-decoration-color: rgba(255, 255, 255, 0.75) !important;
}

/* On-Sale Badge */
.woocommerce span.onsale,
.woocommerce-page span.onsale {
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	font-weight: 800 !important;
	font-size: 0.75rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 4px 12px !important;
	min-height: auto !important;
	line-height: 1.4 !important;
	border-radius: 20px !important;
	top: 12px !important;
	right: 12px !important;
	left: auto !important;
}

/* Loop Add to Cart Button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
	flex: 1.15 !important;
	min-height: 42px !important;
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	border-radius: 10px !important;
	font-weight: 800 !important;
	font-size: 0.78rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3px !important;
	padding: 8px 10px !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	border: none !important;
	white-space: nowrap !important;
	transition: all 0.3s ease !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
	background-color: var(--theme-palette-color-2) !important;
	color: var(--theme-palette-color-8) !important;
	box-shadow: 0 5px 18px rgba(13, 246, 130, 0.45) !important;
	transform: translateY(-2px) !important;
}

/* Ordering Filter & Result Count */
.woocommerce-ordering select,
.woocommerce select {
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	color: var(--theme-palette-color-4) !important;
	border-radius: 10px !important;
	padding: 10px 16px !important;
	outline: none !important;
}

.woocommerce-ordering select:focus {
	border-color: var(--theme-palette-color-1) !important;
}

.woocommerce-result-count {
	color: var(--theme-palette-color-3) !important;
}

/* WooCommerce Pagination */
.woocommerce nav.woocommerce-pagination ul {
	border: none !important;
	display: flex !important;
	gap: 8px !important;
	justify-content: center !important;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	background-color: var(--theme-palette-color-6) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	color: var(--theme-palette-color-4) !important;
	border-radius: 10px !important;
	padding: 10px 16px !important;
	font-weight: 600 !important;
	transition: all 0.3s ease !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	border-color: var(--theme-palette-color-1) !important;
}

/* --- 3. Single Product Page (/san-pham/*) --- */
.single-product div.product {
	background: transparent !important;
}

.single-product .woocommerce-product-gallery {
	background-color: var(--theme-palette-color-6) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 16px !important;
	padding: 16px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

.single-product .woocommerce-product-gallery img {
	border-radius: 12px !important;
}

.single-product .product_title {
	color: var(--theme-palette-color-4) !important;
	font-size: 2.2rem !important;
	font-weight: 800 !important;
	margin-bottom: 12px !important;
}

.single-product .entry-summary .price,
.single-product .entry-summary .price .amount {
	color: var(--theme-palette-color-1) !important;
	font-size: 1.8rem !important;
	font-weight: 800 !important;
}

.single-product .woocommerce-product-details__short-description {
	color: var(--theme-palette-color-3) !important;
	font-size: 1.05rem !important;
	line-height: 1.7 !important;
	margin: 20px 0 !important;
}

.single-product form.cart {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	margin: 24px 0 !important;
}

.single-product div.quantity input.qty {
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	color: var(--theme-palette-color-4) !important;
	border-radius: 12px !important;
	padding: 12px !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	text-align: center !important;
	min-width: 70px !important;
}

.single-product div.quantity input.qty:focus {
	border-color: var(--theme-palette-color-1) !important;
	box-shadow: 0 0 10px rgba(13, 246, 130, 0.3) !important;
}

.single-product .single_add_to_cart_button,
.woocommerce button.button.alt,
.woocommerce a.button.alt {
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	border-radius: 12px !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	padding: 14px 32px !important;
	border: none !important;
	box-shadow: 0 4px 15px rgba(13, 246, 130, 0.3) !important;
	transition: all 0.3s ease !important;
}

.single-product .single_add_to_cart_button:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover {
	background-color: var(--theme-palette-color-2) !important;
	color: var(--theme-palette-color-8) !important;
	box-shadow: 0 8px 25px rgba(13, 246, 130, 0.5) !important;
	transform: translateY(-2px) !important;
}

.single-product .product_meta {
	color: var(--theme-palette-color-3) !important;
	border-top: 1px solid var(--theme-palette-color-5) !important;
	padding-top: 16px !important;
	margin-top: 24px !important;
}

.single-product .product_meta a {
	color: var(--theme-palette-color-1) !important;
}

/* Product Tabs (Description, Additional Info, Reviews) */
.woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs {
	background-color: var(--theme-palette-color-6) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 16px !important;
	padding: 24px !important;
	margin-top: 40px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

.woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--theme-palette-color-5) !important;
	display: flex !important;
	gap: 16px !important;
	padding: 0 0 12px 0 !important;
	margin-bottom: 24px !important;
	background: transparent !important;
}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after {
	display: none !important;
}

.woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: var(--theme-palette-color-3) !important;
	font-weight: 600 !important;
	font-size: 1.05rem !important;
	padding: 8px 16px !important;
	border-radius: 8px !important;
	transition: all 0.3s ease !important;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--theme-palette-color-1) !important;
	background-color: var(--theme-palette-color-7) !important;
}

.woocommerce-Tabs-panel {
	color: var(--theme-palette-color-3) !important;
}

.woocommerce-Tabs-panel h2 {
	color: var(--theme-palette-color-4) !important;
	font-size: 1.4rem !important;
	margin-bottom: 16px !important;
}

/* Related Products Grid */
.related.products h2,
.upsells.products h2 {
	color: var(--theme-palette-color-4) !important;
	font-size: 1.6rem !important;
	font-weight: 700 !important;
	margin-top: 40px !important;
	margin-bottom: 24px !important;
}

/* --- 4. Cart Page (/cart/) --- */
.woocommerce-cart table.shop_table,
.woocommerce-page table.shop_table {
	background-color: var(--theme-palette-color-6) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

.woocommerce-cart table.shop_table th,
.woocommerce-page table.shop_table th {
	background-color: var(--theme-palette-color-7) !important;
	color: var(--theme-palette-color-4) !important;
	border-bottom: 1px solid var(--theme-palette-color-5) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.5px !important;
	padding: 16px 20px !important;
}

.woocommerce-cart table.shop_table td,
.woocommerce-page table.shop_table td {
	border-bottom: 1px solid var(--theme-palette-color-5) !important;
	color: var(--theme-palette-color-3) !important;
	padding: 16px 20px !important;
	vertical-align: middle !important;
}

.woocommerce-cart table.shop_table td.product-name a {
	color: var(--theme-palette-color-4) !important;
	font-weight: 600 !important;
	font-size: 1.05rem !important;
	transition: color 0.2s ease !important;
}

.woocommerce-cart table.shop_table td.product-name a:hover {
	color: var(--theme-palette-color-1) !important;
}

.woocommerce-cart table.shop_table td.product-price .amount,
.woocommerce-cart table.shop_table td.product-subtotal .amount {
	color: var(--theme-palette-color-1) !important;
	font-weight: 700 !important;
	font-size: 1.1rem !important;
}

.woocommerce-cart table.shop_table a.remove {
	color: #ef4444 !important;
	font-size: 1.4rem !important;
	line-height: 1 !important;
	display: inline-block !important;
	text-align: center !important;
	transition: transform 0.2s ease !important;
}

.woocommerce-cart table.shop_table a.remove:hover {
	background-color: transparent !important;
	color: #f87171 !important;
	transform: scale(1.2) !important;
}

/* Coupon Area */
.woocommerce-cart .coupon {
	display: flex !important;
	gap: 12px !important;
	align-items: center !important;
}

.woocommerce-cart .coupon input.input-text {
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	color: var(--theme-palette-color-4) !important;
	border-radius: 10px !important;
	padding: 10px 16px !important;
	min-width: 200px !important;
}

.woocommerce-cart .coupon button.button {
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	border-radius: 10px !important;
	font-weight: 700 !important;
	padding: 10px 20px !important;
	border: none !important;
	text-transform: uppercase !important;
}

/* Update Cart Button */
.woocommerce-cart button[name="update_cart"] {
	background-color: var(--theme-palette-color-5) !important;
	color: var(--theme-palette-color-4) !important;
	border-radius: 10px !important;
	font-weight: 600 !important;
	padding: 10px 20px !important;
	border: none !important;
	transition: all 0.3s ease !important;
}

.woocommerce-cart button[name="update_cart"]:hover {
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
}

/* Cart Totals Block */
.cart-collaterals .cart_totals,
.woocommerce-cart .cart_totals {
	background-color: var(--theme-palette-color-6) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 16px !important;
	padding: 28px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
}

.woocommerce-cart .cart_totals h2 {
	color: var(--theme-palette-color-4) !important;
	font-size: 1.4rem !important;
	font-weight: 700 !important;
	margin-bottom: 20px !important;
	border-bottom: 2px solid var(--theme-palette-color-1) !important;
	padding-bottom: 10px !important;
}

.woocommerce-cart .cart_totals table.shop_table {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.woocommerce-cart .cart_totals table.shop_table th {
	background: transparent !important;
	color: var(--theme-palette-color-4) !important;
}

.woocommerce-cart .cart_totals table.shop_table td .amount {
	color: var(--theme-palette-color-1) !important;
	font-weight: 700 !important;
	font-size: 1.2rem !important;
}

/* Proceed to Checkout Button */
.woocommerce-cart .checkout-button,
.woocommerce a.button.alt.wc-forward {
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	border-radius: 12px !important;
	font-weight: 800 !important;
	font-size: 1.05rem !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	padding: 14px 24px !important;
	display: block !important;
	text-align: center !important;
	border: none !important;
	box-shadow: 0 4px 15px rgba(13, 246, 130, 0.3) !important;
	margin-top: 20px !important;
	transition: all 0.3s ease !important;
}

.woocommerce-cart .checkout-button:hover,
.woocommerce a.button.alt.wc-forward:hover {
	background-color: var(--theme-palette-color-2) !important;
	color: var(--theme-palette-color-8) !important;
	box-shadow: 0 8px 25px rgba(13, 246, 130, 0.5) !important;
	transform: translateY(-2px) !important;
}

/* --- 5. Checkout Page (/checkout/) --- */
.woocommerce-checkout form.checkout {
	background: transparent !important;
}

.woocommerce-checkout #customer_details {
	margin-bottom: 30px !important;
}

.woocommerce-checkout #customer_details > .woocommerce-notices-wrapper {
	margin: 0 0 20px !important;
}

/* Keep the order button visible while omitting online payment options. */
.woocommerce-checkout #payment {
	display: block !important;
}

.woocommerce-checkout #payment .payment_methods,
.woocommerce-checkout .woocommerce-privacy-policy-text {
	display: none !important;
}

.tekanet-order-success {
	display: grid;
	gap: 5px;
	margin: 0 0 24px;
	padding: 18px 20px;
	border: 1px solid var(--tk-accent);
	border-radius: 12px;
	background: color-mix(in srgb, var(--tk-accent) 10%, var(--tk-surface));
	color: var(--tk-on-surface);
}

.tekanet-order-success strong {
	color: var(--tk-accent);
	font-size: 1.1rem;
}

.woocommerce-order-details .woocommerce-table--order-details {
	overflow: hidden;
	border-radius: 16px;
}

.woocommerce-order-details .woocommerce-table--order-details th,
.woocommerce-order-details .woocommerce-table--order-details td {
	padding: 18px 22px !important;
}

.woocommerce-order-details .woocommerce-table--order-details thead th {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

@media (max-width: 640px) {
	.woocommerce-order-details .woocommerce-table--order-details th,
	.woocommerce-order-details .woocommerce-table--order-details td {
		padding: 16px 18px !important;
	}
}

.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
	color: var(--theme-palette-color-4) !important;
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	margin-bottom: 20px !important;
	border-bottom: 2px solid var(--theme-palette-color-1) !important;
	padding-bottom: 8px !important;
}

.woocommerce-checkout label {
	color: var(--theme-palette-color-4) !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	margin-bottom: 6px !important;
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	color: var(--theme-palette-color-4) !important;
	border-radius: 10px !important;
	padding: 12px 16px !important;
	width: 100% !important;
	outline: none !important;
	transition: all 0.3s ease !important;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
	border-color: var(--theme-palette-color-1) !important;
	box-shadow: 0 0 10px rgba(13, 246, 130, 0.25) !important;
}

/* Order Review Container */
.woocommerce-checkout #order_review {
	background: linear-gradient(145deg, color-mix(in srgb, var(--theme-palette-color-6) 94%, #1d3552), var(--theme-palette-color-6)) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 18px !important;
	padding: 22px 28px 28px !important;
	box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24) !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table {
	background: color-mix(in srgb, var(--theme-palette-color-7) 72%, transparent) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 12px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden !important;
	margin: 0 0 18px !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table td {
	background: transparent !important;
	border-bottom: 1px solid var(--theme-palette-color-5) !important;
	color: var(--theme-palette-color-3) !important;
	padding: 16px 18px !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table th {
	color: var(--theme-palette-color-4) !important;
	font-weight: 700 !important;
	background: color-mix(in srgb, var(--theme-palette-color-6) 74%, #16253a) !important;
	font-size: 0.82rem !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name {
	color: var(--theme-palette-color-4) !important;
	font-weight: 600 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total .amount,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total .amount {
	color: var(--theme-palette-color-1) !important;
	font-weight: 700 !important;
	font-size: 1.15rem !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
	color: var(--theme-palette-color-3) !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td {
	background: color-mix(in srgb, var(--theme-palette-color-1) 10%, var(--theme-palette-color-7)) !important;
	border-bottom: 0 !important;
	color: var(--theme-palette-color-4) !important;
	font-size: 0.95rem !important;
	font-weight: 800 !important;
}

.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total .amount {
	font-size: 1.35rem !important;
}

/* Payment Section */
.woocommerce-checkout #payment {
	background: color-mix(in srgb, var(--theme-palette-color-7) 88%, #000) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 12px !important;
	padding: 16px 20px 18px !important;
	margin: 0 !important;
}

.woocommerce-checkout #payment .place-order {
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--theme-palette-color-5) !important;
	padding-bottom: 16px !important;
	margin-bottom: 20px !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
	color: var(--theme-palette-color-4) !important;
	font-weight: 600 !important;
}

.woocommerce-checkout #payment div.payment_box {
	background-color: var(--theme-palette-color-6) !important;
	color: var(--theme-palette-color-3) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 8px !important;
	padding: 14px !important;
	margin-top: 10px !important;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: var(--theme-palette-color-6) !important;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout button.button.alt#place_order {
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	border-radius: 12px !important;
	font-weight: 800 !important;
	font-size: 1.15rem !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	padding: 16px 32px !important;
	width: 100% !important;
	border: none !important;
	box-shadow: 0 4px 20px rgba(13, 246, 130, 0.4) !important;
	transition: all 0.3s ease !important;
	cursor: pointer !important;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout button.button.alt#place_order:hover {
	background-color: var(--theme-palette-color-2) !important;
	color: var(--theme-palette-color-8) !important;
	box-shadow: 0 8px 30px rgba(13, 246, 130, 0.6) !important;
	transform: translateY(-2px) !important;
}

/* ==========================================================================
   6. QUICK VIEW (XEM NHANH) BUTTON & MODAL DARK + NEON GREEN STYLING
   ========================================================================== */

/* Hide Blocksy standalone card action container & direct child loop buttons */
.ct-woo-card-actions,
.woocommerce ul.products li.product>.button,
.woocommerce ul.products li.product>.add_to_cart_button,
.woocommerce ul.products li.product>a.button {
	display: none !important;
}

/* Card Action Buttons Container (Xem Nhanh Left, Thêm Right) */
.tekanet-card-actions {
	display: flex !important;
	gap: 10px !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-top: 14px !important;
	width: 100% !important;
	position: relative !important;
	z-index: 4 !important;
}

/* Left Button: Xem Nhanh (Pill Outline Button matching reference image) */
.tekanet-quick-view-btn {
	flex: 1 !important;
	min-height: 38px !important;
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	color: var(--theme-palette-color-4) !important;
	border-radius: 20px !important;
	padding: 6px 14px !important;
	margin: 0 !important;
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
	transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.tekanet-quick-view-btn:hover {
	background-color: rgba(13, 246, 130, 0.1) !important;
	color: var(--theme-palette-color-1) !important;
	border-color: var(--theme-palette-color-1) !important;
	box-shadow: 0 4px 15px rgba(13, 246, 130, 0.2) !important;
	transform: translateY(-2px) !important;
}

.tekanet-quick-view-btn svg {
	stroke: currentColor !important;
	flex-shrink: 0 !important;
}

/* Right Button: Thêm (Pill Solid Green Button matching reference image) */
.tekanet-add-to-cart-btn,
.woocommerce ul.products li.product .tekanet-add-to-cart-btn {
	flex: 1 !important;
	min-height: 38px !important;
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	border-radius: 20px !important;
	font-weight: 800 !important;
	font-size: 0.82rem !important;
	letter-spacing: 0.3px !important;
	padding: 6px 14px !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	text-align: center !important;
	border: none !important;
	white-space: nowrap !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	transition: all 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.tekanet-add-to-cart-btn:hover,
.woocommerce ul.products li.product .tekanet-add-to-cart-btn:hover {
	background-color: var(--theme-palette-color-2) !important;
	color: var(--theme-palette-color-8) !important;
	box-shadow: 0 5px 18px rgba(13, 246, 130, 0.45) !important;
	transform: translateY(-2px) !important;
}

.tekanet-add-to-cart-btn svg {
	stroke: currentColor !important;
	flex-shrink: 0 !important;
}

/* Modal Overlay Backdrop */
.tekanet-qv-overlay {
	position: fixed !important;
	inset: 0 !important;
	background: rgba(11, 15, 25, 0.88) !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	z-index: 999999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.tekanet-qv-overlay.active {
	opacity: 1 !important;
	visibility: visible !important;
}

/* Modal Card Box */
.tekanet-qv-content {
	background-color: var(--theme-palette-color-6) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 24px !important;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.7), 0 0 40px rgba(13, 246, 130, 0.15) !important;
	max-width: 860px !important;
	width: 100% !important;
	position: relative !important;
	overflow: hidden !important;
	transform: scale(0.92) translateY(20px) !important;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.tekanet-qv-overlay.active .tekanet-qv-content {
	transform: scale(1) translateY(0) !important;
}

/* Close Button (X) */
.tekanet-qv-close {
	position: absolute !important;
	top: 16px !important;
	right: 18px !important;
	background: var(--theme-palette-color-5) !important;
	border: none !important;
	color: var(--theme-palette-color-4) !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	font-size: 24px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	z-index: 10 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.2s ease !important;
}

.tekanet-qv-close:hover {
	background: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	transform: rotate(90deg) !important;
}

/* Modal Body Grid & Custom Scrollbar */
.tekanet-qv-body {
	padding: 28px 32px !important;
	max-height: 85vh !important;
	overflow-y: auto !important;
}

.tekanet-qv-body::-webkit-scrollbar {
	width: 6px !important;
}

.tekanet-qv-body::-webkit-scrollbar-track {
	background: var(--theme-palette-color-7) !important;
	border-radius: 4px !important;
}

.tekanet-qv-body::-webkit-scrollbar-thumb {
	background: var(--theme-palette-color-5) !important;
	border-radius: 4px !important;
}

.tekanet-qv-body::-webkit-scrollbar-thumb:hover {
	background: var(--theme-palette-color-1) !important;
}

.tekanet-qv-loading {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 300px !important;
}

.tekanet-qv-spinner {
	width: 44px !important;
	height: 44px !important;
	border: 3px solid var(--theme-palette-color-5) !important;
	border-top-color: var(--theme-palette-color-1) !important;
	border-radius: 50% !important;
	animation: qvSpin 0.8s linear infinite !important;
}

@keyframes qvSpin {
	to {
		transform: rotate(360deg);
	}
}

.tekanet-qv-grid {
	display: grid;
	grid-template-columns: 1fr 1fr !important;
	gap: 32px !important;
	align-items: start !important;
}

@media (max-width: 768px) {
	.tekanet-qv-grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	.tekanet-qv-body {
		padding: 20px !important;
	}
}

/* Left Image Column */
.tekanet-qv-image-col {
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 18px !important;
	padding: 16px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.tekanet-qv-image-col img {
	max-width: 100% !important;
	height: auto !important;
	border-radius: 12px !important;
	object-fit: contain !important;
}

/* Right Info Column */
.tekanet-qv-info-col {
	display: flex !important;
	flex-direction: column !important;
}

.tekanet-qv-category {
	color: var(--theme-palette-color-1) !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	letter-spacing: 1px !important;
	margin-bottom: 6px !important;
}

.tekanet-qv-product-title {
	color: var(--theme-palette-color-4) !important;
	font-size: 1.65rem !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	margin: 0 0 12px 0 !important;
}

.tekanet-qv-meta-row {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin-bottom: 16px !important;
}

.tekanet-qv-rating {
	color: #fbbf24 !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
}

.tekanet-qv-rating small {
	color: var(--theme-palette-color-3) !important;
	font-weight: 400 !important;
	margin-left: 4px !important;
}

.tekanet-qv-stock-tag {
	background-color: rgba(13, 246, 130, 0.15) !important;
	color: var(--theme-palette-color-1) !important;
	border: 1px solid var(--theme-palette-color-1) !important;
	padding: 3px 12px !important;
	border-radius: 20px !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
}

.tekanet-qv-price-box {
	margin-bottom: 16px !important;
}

.tekanet-qv-price,
.tekanet-qv-price .amount,
.tekanet-qv-price ins .amount {
	color: var(--theme-palette-color-1) !important;
	font-size: 1.6rem !important;
	font-weight: 800 !important;
}

.tekanet-qv-price del,
.tekanet-qv-price del .amount {
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 1.1rem !important;
	opacity: 1 !important;
	font-weight: 600 !important;
	margin-right: 8px !important;
	text-decoration-thickness: 2px !important;
	text-decoration-color: rgba(255, 255, 255, 0.75) !important;
}

.single-product .entry-summary .price del,
.single-product .entry-summary .price del .amount {
	color: rgba(255, 255, 255, 0.9) !important;
	opacity: 1 !important;
	font-weight: 600 !important;
	font-size: 1.1rem !important;
	margin-right: 10px !important;
	text-decoration-thickness: 2px !important;
	text-decoration-color: rgba(255, 255, 255, 0.75) !important;
}

.tekanet-qv-description {
	color: var(--theme-palette-color-3) !important;
	font-size: 0.95rem !important;
	line-height: 1.6 !important;
	margin-bottom: 20px !important;
}

/* Specs Box */
.tekanet-qv-specs-box {
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 14px !important;
	padding: 14px 18px !important;
	margin-bottom: 24px !important;
}

.tekanet-qv-specs-title {
	color: var(--theme-palette-color-4) !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	margin: 0 0 10px 0 !important;
	border-bottom: 1px solid var(--theme-palette-color-5) !important;
	padding-bottom: 6px !important;
}

.tekanet-qv-spec-item {
	display: flex !important;
	justify-content: space-between !important;
	font-size: 0.85rem !important;
	padding: 4px 0 !important;
}

.tekanet-qv-spec-item span {
	color: var(--theme-palette-color-3) !important;
}

.tekanet-qv-spec-item strong {
	color: var(--theme-palette-color-4) !important;
}

/* Action Buttons */
.tekanet-qv-actions {
	display: flex !important;
	gap: 12px !important;
	align-items: center !important;
}

.tekanet-qv-btn-primary {
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	border-radius: 12px !important;
	font-weight: 800 !important;
	font-size: 0.92rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 12px 20px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	flex: 1 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 15px rgba(13, 246, 130, 0.3) !important;
	transition: all 0.3s ease !important;
}

.tekanet-qv-btn-primary:hover {
	background-color: var(--theme-palette-color-2) !important;
	color: var(--theme-palette-color-8) !important;
	box-shadow: 0 8px 25px rgba(13, 246, 130, 0.5) !important;
	transform: translateY(-2px) !important;
}

.tekanet-qv-btn-secondary {
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	color: var(--theme-palette-color-4) !important;
	border-radius: 12px !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	padding: 12px 18px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
}

.tekanet-qv-btn-secondary:hover {
	border-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-1) !important;
}

/* ==========================================================================
   7. SINGLE PRODUCT ENHANCEMENTS (DARK + NEON GREEN STYLING)
   ========================================================================== */

/* Outer Top Card Container (3-Column Layout: Gallery Col 1, Summary Info Col 2, Trust Sidebar Col 3) */
.single-product .product-entry-wrapper {
	display: flex !important;
	gap: 24px !important;
	align-items: flex-start !important;
	background-color: var(--theme-palette-color-6) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 20px !important;
	padding: 24px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin-bottom: 30px !important;
}

/* Column 1: Image Gallery */
.single-product .woocommerce-product-gallery {
	width: 320px !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
	float: none !important;
}

/* Column 2 + Column 3 Parent Summary */
.single-product .summary.entry-summary {
	flex: 1 !important;
	display: flex !important;
	gap: 24px !important;
	align-items: flex-start !important;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}

/* Column 2: Center Info & Buttons */
.tekanet-summary-left-column {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	min-width: 0 !important;
}

/* Column 3: Trust Sidebar Wrapper */
.tekanet-summary-right-column {
	width: 280px !important;
	flex-shrink: 0 !important;
}

/* Hide default redundant short description & divider lines */
.single-product .woocommerce-product-details__short-description,
.single-product .ct-product-divider {
	display: none !important;
}

/* Header Product Title & Price */
.single-product .product_title {
	font-size: 1.65rem !important;
	font-weight: 800 !important;
	color: var(--theme-palette-color-4) !important;
	margin: 0 0 4px 0 !important;
}

.single-product .price {
	font-size: 1.7rem !important;
	font-weight: 900 !important;
	color: var(--theme-palette-color-1) !important;
	margin: 4px 0 8px 0 !important;
}

/* Header Sub-Meta Row (Mã, Rating, Lượt xem) */
.tekanet-product-header-meta {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 12px !important;
	margin-bottom: 8px !important;
	font-size: 0.82rem !important;
	color: var(--theme-palette-color-3) !important;
}

.tekanet-meta-sku {
	background: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	padding: 2px 8px !important;
	border-radius: 6px !important;
	color: var(--theme-palette-color-4) !important;
	font-weight: 600 !important;
}

.tekanet-meta-rating {
	color: #fbbf24 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
}

.tekanet-meta-rating strong {
	color: var(--theme-palette-color-4) !important;
}

.tekanet-meta-views {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	color: var(--theme-palette-color-3) !important;
}

.tekanet-meta-views svg {
	stroke: var(--theme-palette-color-1) !important;
}

/* Short Description Box */
.tekanet-short-desc-box {
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-left: 3px solid var(--theme-palette-color-1) !important;
	border-radius: 12px !important;
	padding: 12px 16px !important;
	margin: 6px 0 !important;
}

.tekanet-short-desc-title {
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	color: var(--theme-palette-color-4) !important;
	margin: 0 0 4px 0 !important;
}

.tekanet-short-desc-content p {
	margin: 0 !important;
	font-size: 0.84rem !important;
	color: var(--theme-palette-color-3) !important;
}

.tekanet-short-desc-content a {
	color: var(--theme-palette-color-1) !important;
	text-decoration: underline !important;
}

/* Single Add to Cart Form Container */
.single-product .ct-product-add-to-cart,
.single-product form.cart {
	margin: 6px 0 !important;
	width: 100% !important;
}

.single-product .single_add_to_cart_button {
	height: 35px !important;
	min-height: 35px !important;
	line-height: 35px !important;
	padding: 0 16px !important;
	border-radius: 8px !important;
	background-color: var(--theme-palette-color-1) !important;
	color: var(--theme-palette-color-8) !important;
	font-weight: 700 !important;
	font-size: 0.78rem !important;
	text-transform: uppercase !important;
	letter-spacing: 0.4px !important;
	box-shadow: 0 3px 10px rgba(13, 246, 130, 0.25) !important;
	transition: all 0.25s ease !important;
}

.single-product .single_add_to_cart_button:hover {
	background-color: var(--theme-palette-color-2) !important;
	color: var(--theme-palette-color-8) !important;
	box-shadow: 0 5px 15px rgba(13, 246, 130, 0.4) !important;
	transform: translateY(-1px) !important;
}

.single-product .quantity {
	height: 35px !important;
	border-radius: 8px !important;
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
}

.single-product .quantity input.qty {
	height: 33px !important;
	font-size: 0.82rem !important;
}

/* Contact Action Buttons (Hotline & Zalo) */
.tekanet-single-contact-row {
	display: flex !important;
	gap: 8px !important;
	margin: 6px 0 !important;
	width: 100% !important;
}

.tekanet-btn-hotline {
	flex: 1.1 !important;
	height: 35px !important;
	background-color: #ef4444 !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	padding: 0 10px !important;
	font-weight: 700 !important;
	font-size: 0.78rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	text-decoration: none !important;
	box-shadow: 0 3px 10px rgba(239, 68, 68, 0.25) !important;
	transition: all 0.25s ease !important;
}

.tekanet-btn-hotline svg {
	width: 14px !important;
	height: 14px !important;
}

.tekanet-btn-hotline:hover {
	background-color: #dc2626 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 5px 15px rgba(239, 68, 68, 0.4) !important;
}

.tekanet-btn-zalo {
	flex: 1 !important;
	height: 35px !important;
	background-color: #0068ff !important;
	color: #ffffff !important;
	border-radius: 8px !important;
	padding: 0 10px !important;
	font-weight: 700 !important;
	font-size: 0.78rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	text-decoration: none !important;
	box-shadow: 0 3px 10px rgba(0, 104, 255, 0.25) !important;
	transition: all 0.25s ease !important;
}

.tekanet-btn-zalo svg {
	width: 14px !important;
	height: 14px !important;
}

.tekanet-btn-zalo:hover {
	background-color: #0052cc !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 5px 15px rgba(0, 104, 255, 0.4) !important;
}

/* Category & Product Meta */
.single-product .product_meta {
	margin-top: 4px !important;
	padding-top: 4px !important;
	border: none !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	color: var(--theme-palette-color-3) !important;
}

/* Right Trust Badges Column (5 Cards matching reference image) */
.tekanet-trust-sidebar-box,
.tekanet-trust-sidebar-col {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin-top: 0 !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
}

.tekanet-trust-item,
.tekanet-trust-card {
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 12px !important;
	padding: 12px 14px !important;
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	transition: all 0.25s ease !important;
}

.tekanet-trust-item:hover,
.tekanet-trust-card:hover {
	border-color: var(--theme-palette-color-1) !important;
	transform: translateY(-2px) !important;
}

.tekanet-trust-icon {
	font-size: 1.3rem !important;
	flex-shrink: 0 !important;
	margin-top: 2px !important;
}

.tekanet-trust-info strong {
	display: block !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	color: var(--theme-palette-color-4) !important;
	margin-bottom: 3px !important;
}

.tekanet-trust-info p {
	margin: 0 !important;
	font-size: 0.8rem !important;
	line-height: 1.4 !important;
	color: var(--theme-palette-color-3) !important;
}

.tekanet-consult-item,
.tekanet-consult-card {
	background-color: rgba(249, 115, 22, 0.08) !important;
	border-color: rgba(249, 115, 22, 0.35) !important;
}

.tekanet-consult-phone {
	display: block !important;
	font-size: 1.2rem !important;
	font-weight: 800 !important;
	color: #f97316 !important;
	margin-top: 3px !important;
	letter-spacing: 0.5px !important;
}

/* Specifications Table & Tab */
.tekanet-specs-tab-wrapper {
	padding: 10px 0 !important;
}

.tekanet-tab-title {
	font-size: 1.1rem !important;
	color: var(--theme-palette-color-4) !important;
	margin-bottom: 16px !important;
}

.tekanet-specs-table {
	width: 100% !important;
	border-collapse: collapse !important;
}

.tekanet-specs-table td {
	padding: 12px 16px !important;
	border-bottom: 1px solid var(--theme-palette-color-5) !important;
	font-size: 0.9rem !important;
}

.tekanet-specs-table tr:nth-child(even) {
	background-color: rgba(255, 255, 255, 0.02) !important;
}

.tekanet-specs-table td:first-child {
	color: var(--theme-palette-color-3) !important;
	width: 30% !important;
	font-weight: 600 !important;
}

.tekanet-specs-table td:last-child {
	color: var(--theme-palette-color-4) !important;
}

/* Rating Breakdown Chart */
.tekanet-rating-chart-box {
	background-color: var(--theme-palette-color-7) !important;
	border: 1px solid var(--theme-palette-color-5) !important;
	border-radius: 16px !important;
	padding: 24px !important;
	display: flex !important;
	gap: 32px !important;
	align-items: center !important;
	margin-bottom: 24px !important;
}

.tekanet-rating-score-col {
	text-align: center !important;
	padding-right: 24px !important;
	border-right: 1px solid var(--theme-palette-color-5) !important;
}

.tekanet-score-num {
	font-size: 3rem !important;
	font-weight: 900 !important;
	color: var(--theme-palette-color-1) !important;
	line-height: 1 !important;
}

.tekanet-score-stars {
	color: #fbbf24 !important;
	font-size: 1.1rem !important;
	margin: 6px 0 !important;
}

.tekanet-score-total {
	font-size: 0.8rem !important;
	color: var(--theme-palette-color-3) !important;
}

.tekanet-rating-bars-col {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.tekanet-bar-row {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	font-size: 0.82rem !important;
	color: var(--theme-palette-color-3) !important;
}

.tekanet-bar-track {
	flex: 1 !important;
	height: 8px !important;
	background-color: var(--theme-palette-color-6) !important;
	border-radius: 4px !important;
	overflow: hidden !important;
}

.tekanet-bar-fill {
	height: 100% !important;
	background-color: var(--theme-palette-color-1) !important;
	border-radius: 4px !important;
}

/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4
 * Component scope: hierarchy-led product discovery · preserves TEKANET tokens.
 */
/* Product-category hierarchy: a hoverable desktop megamenu plus an archive sidebar. */
.tk-megamenu {
	border-top: 1px solid var(--tk-border);
	box-shadow: 0 24px 42px var(--tk-shadow);
}

.tk-megamenu-inner {
	grid-template-columns: 228px minmax(0, 1fr) minmax(210px, 0.28fr);
	gap: 0;
	padding-block: 0;
	min-height: 360px;
}

.tk-mega-roots {
	display: grid;
	align-content: start;
	border-right: 1px solid var(--tk-border);
	background: var(--tk-surface-card);
	padding-block: 10px;
}

.tk-mega-root-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 40px;
	padding: 9px 15px;
	border-left: 3px solid transparent;
	color: var(--tk-muted) !important;
	font-size: 0.78rem;
	font-weight: 750;
	line-height: 1.25;
	transition: background-color 150ms var(--tk-ease-out), color 150ms var(--tk-ease-out), border-color 150ms var(--tk-ease-out);
}

.tk-mega-root-link:hover,
.tk-mega-root-link:focus-visible,
.tk-mega-root-link.is-active {
	border-left-color: var(--tk-accent);
	background: var(--tk-surface-raised);
	color: var(--tk-ink) !important;
}

.tk-mega-root-link svg {
	width: 14px;
	height: 14px;
	color: var(--tk-accent);
	flex: 0 0 auto;
}

.tk-mega-panels {
	min-width: 0;
	padding: 28px 30px;
}

.tk-mega-panel {
	min-width: 0;
}

.tk-mega-panel-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 8px 18px;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--tk-border);
	padding-bottom: 15px;
}

.tk-mega-panel-heading span {
	grid-column: 1 / -1;
	color: var(--tk-accent);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.1em;
}

.tk-mega-panel-heading h2 {
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
	color: var(--tk-ink) !important;
	font-size: 1.18rem;
}

.tk-mega-panel-heading > a {
	color: var(--tk-accent) !important;
	font-size: 0.74rem;
	font-weight: 800;
	white-space: nowrap;
}

.tk-mega-child-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px 26px;
}

.tk-mega-child-group > a {
	display: block;
	border-bottom: 1px solid var(--tk-border);
	padding-bottom: 10px;
	color: var(--tk-ink) !important;
	font-size: 0.86rem;
	font-weight: 800;
	line-height: 1.3;
}

.tk-mega-child-group > a:hover,
.tk-mega-grandchildren a:hover {
	color: var(--tk-accent) !important;
}

.tk-mega-grandchildren {
	display: grid;
	gap: 7px;
	padding-top: 10px;
}

.tk-mega-grandchildren a {
	color: var(--tk-muted) !important;
	font-size: 0.75rem;
	line-height: 1.35;
}

.tk-mega-empty {
	margin: 0;
	color: var(--tk-muted);
	font-size: 0.82rem;
}

.tk-mega-aside {
	align-content: start;
	border: 0;
	border-left: 1px solid var(--tk-border);
	border-radius: 0;
	background: var(--tk-surface-card);
	padding: 30px 22px;
}

.tk-catalog-layout {
	display: grid;
	grid-template-columns: 236px minmax(0, 1fr);
	align-items: start;
	gap: 26px;
}

.tk-catalog-sidebar {
	position: sticky;
	top: 22px;
	overflow: clip;
	border: 1px solid var(--tk-border);
	border-radius: 12px;
	background: var(--tk-surface-raised);
}

.tk-catalog-sidebar-heading {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 14px;
	background: var(--tk-surface-card);
	color: var(--tk-ink);
	font-size: 0.78rem;
	text-transform: uppercase;
}

.tk-catalog-sidebar-heading svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: var(--tk-accent);
	stroke-width: 2;
}

.tk-catalog-tree-item + .tk-catalog-tree-item {
	border-top: 1px solid var(--tk-border);
}

.tk-catalog-tree-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 34px;
	align-items: center;
	min-height: 42px;
}

.tk-catalog-tree-row > a {
	min-width: 0;
	padding: 11px 4px 11px 14px;
	color: var(--tk-ink) !important;
	font-size: 0.76rem;
	font-weight: 750;
	overflow-wrap: anywhere;
}

.tk-catalog-tree-row > a:hover,
.tk-catalog-tree-item.is-open > .tk-catalog-tree-row > a {
	color: var(--tk-accent) !important;
}

.tk-tree-toggle {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--tk-muted) !important;
	padding: 0 !important;
}

.tk-tree-toggle svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	transition: transform 150ms var(--tk-ease-out);
}

.tk-tree-toggle[aria-expanded="true"] svg {
	transform: rotate(90deg);
}

.tk-catalog-tree-children {
	display: grid;
	gap: 0;
	padding: 2px 14px 10px 25px;
	background: var(--tk-surface);
}

.tk-catalog-tree-child,
.tk-catalog-tree-grandchildren a {
	padding-block: 6px;
	color: var(--tk-muted) !important;
	font-size: 0.73rem;
	line-height: 1.3;
}

.tk-catalog-tree-child:hover,
.tk-catalog-tree-grandchildren a:hover {
	color: var(--tk-accent) !important;
}

.tk-catalog-tree-grandchildren {
	display: grid;
	gap: 0;
	border-left: 1px solid var(--tk-border);
	margin: 2px 0 3px 5px;
	padding-left: 11px;
}

.tk-catalog-main {
	min-width: 0;
}

.tk-catalog-main .tk-archive-category-links {
	margin-bottom: 14px;
}

.tk-catalog-main .products {
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
}

.tk-mega-root-link:focus-visible,
.tk-mega-panel a:focus-visible,
.tk-catalog-sidebar a:focus-visible,
.tk-tree-toggle:focus-visible {
	outline: 2px solid var(--tk-accent);
	outline-offset: -2px;
}

@media (max-width: 1024px) {
	.tk-megamenu-inner {
		grid-template-columns: 210px minmax(0, 1fr);
	}

	.tk-mega-aside {
		display: none;
	}

	.tk-mega-child-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tk-catalog-layout {
		grid-template-columns: 205px minmax(0, 1fr);
		gap: 18px;
	}

	.tk-catalog-main .products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 767px) {
	.tk-megamenu-inner {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.tk-mega-roots {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-right: 0;
		border-bottom: 1px solid var(--tk-border);
		padding: 0;
	}

	.tk-mega-root-link {
		min-height: 46px;
		padding: 9px 11px;
		border-left: 0;
		border-bottom: 2px solid transparent;
		font-size: 0.7rem;
	}

	.tk-mega-root-link:hover,
	.tk-mega-root-link:focus-visible,
	.tk-mega-root-link.is-active {
		border-left-color: transparent;
		border-bottom-color: var(--tk-accent);
	}

	.tk-mega-panels {
		padding: 20px 14px 28px;
	}

	.tk-mega-child-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.tk-mega-panel-heading h2 {
		font-size: 1.05rem;
	}

	.tk-catalog-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.tk-catalog-sidebar {
		position: static;
	}

	.tk-catalog-main .products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tk-mega-root-link,
	.tk-tree-toggle svg {
		transition-duration: 0.01ms;
	}
}

/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4
 * Storefront layer: commercial utility / technical · preserves TEKANET tokens.
 */
:root {
	--tk-surface: var(--theme-palette-color-8);
	--tk-surface-raised: var(--theme-palette-color-7);
	--tk-surface-card: var(--theme-palette-color-6);
	--tk-border: var(--theme-palette-color-5);
	--tk-ink: var(--theme-palette-color-4);
	--tk-muted: var(--theme-palette-color-3);
	--tk-accent: var(--theme-palette-color-1);
	--tk-accent-strong: var(--theme-palette-color-2);
	--tk-on-accent: var(--theme-palette-color-8);
	--tk-shadow: color-mix(in srgb, var(--tk-on-accent) 38%, transparent);
	--tk-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

html,
body {
	overflow-x: clip;
}

/* The child theme provides a focused commerce header in place of the generic builder header. */
.ct-header {
	display: none !important;
}

.tk-store-shell {
	width: min(100% - 32px, 1280px);
	margin-inline: auto;
}

.tk-store-header {
	position: relative;
	z-index: 120;
	color: var(--tk-ink);
	background: var(--tk-surface);
	border-bottom: 1px solid var(--tk-border);
}

.tk-store-header a {
	color: inherit;
	text-decoration: none;
}

.tk-store-utility {
	background: var(--tk-surface-raised);
	border-bottom: 1px solid var(--tk-border);
}

.tk-utility-inner,
.tk-main-inner,
.tk-nav-inner {
	display: flex;
	align-items: center;
}

.tk-utility-inner {
	min-height: 32px;
	justify-content: space-between;
	font-size: 0.72rem;
	letter-spacing: 0.03em;
	color: var(--tk-muted);
}

.tk-utility-inner p {
	margin: 0;
}

.tk-utility-links {
	display: flex;
	gap: 18px;
}

.tk-utility-links a:hover,
.tk-primary-links a:hover,
.tk-nav-support:hover {
	color: var(--tk-accent);
}

.tk-store-main {
	background: var(--tk-surface);
}

.tk-main-inner {
	min-height: 84px;
	gap: 34px;
}

.tk-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.tk-brand-mark {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border: 1px solid var(--tk-accent);
	border-radius: 10px;
	color: var(--tk-on-accent);
	background: var(--tk-accent);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: -0.08em;
}

.tk-brand-copy {
	display: grid;
	gap: 1px;
	line-height: 1;
}

.tk-brand-copy strong {
	color: var(--tk-ink);
	font-size: 1.2rem;
	font-weight: 900;
	letter-spacing: 0.03em;
}

.tk-brand-copy small {
	color: var(--tk-muted);
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tk-header-search {
	min-width: 0;
	flex: 1;
	max-width: 620px;
	margin-inline: auto;
}

.tk-header-search .search-form,
.tk-header-search form {
	display: flex;
	margin: 0;
	border: 1px solid var(--tk-border);
	border-radius: 10px;
	background: var(--tk-surface-raised);
	overflow: hidden;
}

.tk-header-search input[type="search"],
.tk-header-search .search-field {
	width: 100%;
	min-width: 0;
	height: 42px;
	margin: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--tk-ink) !important;
	box-shadow: none !important;
	padding-inline: 14px !important;
	font-size: 0.86rem;
}

.tk-header-search button,
.tk-header-search input[type="submit"] {
	display: grid;
	width: 48px;
	height: 42px;
	place-items: center;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--tk-accent) !important;
	color: var(--tk-on-accent) !important;
	font-size: 0;
	box-shadow: none !important;
}

.tk-header-search button::after,
.tk-header-search input[type="submit"]::after {
	content: "⌕";
	font-size: 1.4rem;
	font-weight: 800;
}

.tk-header-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

.tk-header-action {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	padding-inline: 10px;
	border-radius: 8px;
	font-size: 0.76rem;
	font-weight: 700;
	white-space: nowrap;
}

.tk-header-action:hover {
	background: var(--tk-surface-raised);
	color: var(--tk-accent);
}

.tk-header-action svg,
.tk-catalog-trigger svg,
.tk-mega-category svg,
.tekanet-compare-btn svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.tk-cart-count {
	display: grid;
	min-width: 18px;
	height: 18px;
	place-items: center;
	border-radius: 99px;
	background: var(--tk-accent);
	color: var(--tk-on-accent);
	font-size: 0.65rem;
}

.tk-store-nav {
	background: var(--tk-surface-raised);
}

.tk-nav-inner {
	gap: 24px;
	min-height: 52px;
}

.tk-catalog-trigger,
.tk-mobile-menu-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 36px;
	border: 1px solid var(--tk-accent) !important;
	border-radius: 7px !important;
	background: var(--tk-accent) !important;
	color: var(--tk-on-accent) !important;
	padding: 0 14px !important;
	font-size: 0.76rem;
	font-weight: 800;
	white-space: nowrap;
	box-shadow: none !important;
}

.tk-catalog-trigger[aria-expanded="true"] {
	background: var(--tk-surface-card) !important;
	color: var(--tk-accent) !important;
}

.tk-primary-links {
	display: flex;
	align-items: center;
	gap: 22px;
	min-width: 0;
}

.tk-primary-links a {
	color: var(--tk-ink);
	font-size: 0.8rem;
	font-weight: 700;
	white-space: nowrap;
}

.tk-primary-links .menu-item {
	list-style: none;
}

.tk-nav-support {
	margin-left: auto;
	color: var(--tk-muted);
	font-size: 0.74rem;
	font-weight: 700;
	white-space: nowrap;
}

.tk-mobile-menu-trigger {
	display: none;
}

.tk-megamenu {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	background: var(--tk-surface-raised);
	border-bottom: 1px solid var(--tk-border);
	box-shadow: 0 20px 36px var(--tk-shadow);
}

.tk-megamenu-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.33fr);
	gap: 30px;
	padding-block: 24px;
}

.tk-megamenu-categories {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px 26px;
}

.tk-mega-category > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	color: var(--tk-ink);
	font-size: 0.82rem;
}

.tk-mega-category > a:hover,
.tk-mega-children a:hover {
	color: var(--tk-accent);
}

.tk-mega-category svg {
	width: 14px;
	height: 14px;
	color: var(--tk-accent);
	flex: 0 0 auto;
}

.tk-mega-children {
	display: grid;
	gap: 6px;
	margin-top: 8px;
}

.tk-mega-children a {
	color: var(--tk-muted);
	font-size: 0.74rem;
	line-height: 1.35;
}

.tk-mega-aside {
	display: grid;
	align-content: center;
	gap: 10px;
	padding: 26px;
	border: 1px solid var(--tk-border);
	border-radius: 12px;
	background: var(--tk-surface-card);
}

.tk-mega-aside span,
.tk-section-heading span {
	color: var(--tk-accent);
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.tk-mega-aside h2 {
	margin: 0;
	color: var(--tk-ink) !important;
	font-size: 1.4rem;
	line-height: 1.18;
}

.tk-mega-aside p {
	margin: 0;
	color: var(--tk-muted);
	font-size: 0.82rem;
	line-height: 1.55;
}

.tk-mega-aside > a {
	color: var(--tk-accent);
	font-size: 0.78rem;
	font-weight: 800;
}

.tk-category-rail {
	padding: 28px 0 10px;
	background: var(--tk-surface);
}

.tk-category-rail-list {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	gap: 12px;
}

.tk-category-chip {
	display: grid;
	gap: 8px;
	justify-items: center;
	min-width: 0;
	color: var(--tk-muted);
	text-align: center;
	text-decoration: none;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.25;
}

.tk-category-chip img {
	width: 62px;
	height: 62px;
	border: 1px solid var(--tk-border);
	border-radius: 12px;
	background: var(--tk-surface-card);
	object-fit: contain;
	padding: 7px;
}

.tk-category-chip:hover {
	color: var(--tk-accent);
}

.tk-category-chip:hover img {
	border-color: var(--tk-accent);
}

.tk-commerce-section {
	padding: 40px 0;
	background: var(--tk-surface);
}

.tk-offer-section {
	margin-top: 18px;
	padding: 36px 0 44px;
	border-top: 1px solid var(--tk-border);
	border-bottom: 1px solid var(--tk-border);
	background: var(--tk-surface-raised);
}

.tk-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 20px;
}

.tk-section-heading h2 {
	margin: 5px 0 0;
	color: var(--tk-ink) !important;
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.tk-section-heading > a {
	color: var(--tk-accent);
	font-size: 0.78rem;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

.tk-store-products {
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 15px !important;
	margin: 0 !important;
}

.tk-store-products li.product {
	min-width: 0;
	padding: 15px !important;
	border-radius: 12px !important;
}

.tk-store-products li.product .woocommerce-loop-product__title {
	font-size: 0.9rem !important;
}

.tekanet-card-actions {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 7px !important;
	margin-top: 13px !important;
}

.tekanet-compare-btn {
	display: inline-flex;
	grid-column: 1 / -1;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: 31px;
	border: 1px solid var(--tk-border);
	border-radius: 8px;
	background: transparent;
	color: var(--tk-muted);
	padding: 4px 8px;
	font-size: 0.68rem;
	font-weight: 700;
	white-space: nowrap;
}

.tekanet-compare-btn:hover,
.tekanet-compare-btn.is-selected {
	border-color: var(--tk-accent);
	color: var(--tk-accent);
}

.tekanet-compare-btn svg {
	width: 14px;
	height: 14px;
}

.tk-service-strip {
	padding: 28px 0 42px;
	border-top: 1px solid var(--tk-border);
	background: var(--tk-surface-raised);
}

.tk-service-strip .tk-store-shell {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.tk-service-strip .tk-store-shell > div {
	display: grid;
	gap: 4px;
	padding-left: 16px;
	border-left: 2px solid var(--tk-accent);
}

.tk-service-strip strong {
	color: var(--tk-ink);
	font-size: 0.86rem;
}

.tk-service-strip span {
	color: var(--tk-muted);
	font-size: 0.76rem;
	line-height: 1.45;
}

.tk-archive-category-links {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	margin: 0 0 20px;
	padding: 0 0 3px;
	scrollbar-width: thin;
}

.tk-archive-category-links a {
	flex: 0 0 auto;
	border: 1px solid var(--tk-border);
	border-radius: 99px;
	color: var(--tk-muted);
	padding: 7px 11px;
	font-size: 0.74rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.tk-archive-category-links a:hover {
	border-color: var(--tk-accent);
	color: var(--tk-accent);
}

.tk-price-filter {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 24px;
}

.tk-price-filter label {
	color: var(--tk-muted);
	font-size: 0.74rem;
	font-weight: 700;
	white-space: nowrap;
}

.tk-price-filter select {
	min-width: 165px;
	min-height: 35px;
	border: 1px solid var(--tk-border) !important;
	border-radius: 7px !important;
	background: var(--tk-surface-raised) !important;
	color: var(--tk-ink) !important;
	padding-inline: 9px !important;
	font-size: 0.74rem;
}

.tk-price-filter button {
	min-height: 35px;
	border: 1px solid var(--tk-accent) !important;
	border-radius: 7px !important;
	background: var(--tk-accent) !important;
	color: var(--tk-on-accent) !important;
	padding-inline: 12px !important;
	font-size: 0.72rem;
	font-weight: 800;
	white-space: nowrap;
}

.tk-compare-tray {
	position: fixed;
	right: 20px;
	bottom: 20px;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: min(440px, calc(100vw - 32px));
	padding: 12px 13px 12px 16px;
	border: 1px solid var(--tk-border);
	border-radius: 12px;
	background: var(--tk-surface-card);
	box-shadow: 0 16px 34px var(--tk-shadow);
	color: var(--tk-ink);
	z-index: 200;
}

.tk-compare-tray[hidden] {
	display: none;
}

.tk-compare-tray > div {
	display: grid;
	gap: 2px;
	min-width: 0;
	margin-right: auto;
}

.tk-compare-tray strong {
	font-size: 0.78rem;
}

.tk-compare-tray span {
	color: var(--tk-muted);
	font-size: 0.68rem;
}

.tk-compare-open,
.tk-compare-clear,
.tk-compare-modal button {
	border: 0;
	box-shadow: none;
}

.tk-compare-open {
	min-height: 34px;
	border-radius: 7px !important;
	background: var(--tk-accent) !important;
	color: var(--tk-on-accent) !important;
	padding-inline: 11px;
	font-size: 0.72rem;
	font-weight: 800;
	white-space: nowrap;
}

.tk-compare-clear {
	width: 26px;
	height: 26px;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--tk-muted) !important;
	font-size: 1.2rem;
}

.tk-compare-modal {
	position: fixed;
	inset: 0;
	display: none;
	place-items: center;
	padding: 20px;
	background: color-mix(in srgb, var(--tk-on-accent) 72%, transparent);
	z-index: 300;
}

.tk-compare-modal.is-open {
	display: grid;
}

.tk-compare-modal-card {
	position: relative;
	width: min(100%, 720px);
	border: 1px solid var(--tk-border);
	border-radius: 14px;
	background: var(--tk-surface-card);
	padding: 30px;
	box-shadow: 0 20px 46px var(--tk-shadow);
}

.tk-compare-modal-card > span {
	color: var(--tk-accent);
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.tk-compare-modal-card h2 {
	margin: 6px 0 20px;
	color: var(--tk-ink) !important;
	font-size: 1.5rem;
}

.tk-compare-modal-close {
	position: absolute;
	top: 13px;
	right: 13px;
	width: 32px;
	height: 32px;
	border-radius: 50% !important;
	background: var(--tk-surface-raised) !important;
	color: var(--tk-ink) !important;
	font-size: 1.25rem;
}

.tk-compare-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
}

.tk-compare-list article {
	display: grid;
	align-content: start;
	gap: 10px;
	min-height: 138px;
	padding: 15px;
	border: 1px solid var(--tk-border);
	border-radius: 9px;
	background: var(--tk-surface-raised);
}

.tk-compare-list strong {
	color: var(--tk-ink);
	font-size: 0.8rem;
	line-height: 1.4;
}

.tk-compare-list a,
.tk-compare-list button {
	color: var(--tk-accent) !important;
	background: transparent !important;
	padding: 0 !important;
	font-size: 0.72rem;
	font-weight: 800;
	text-align: left;
	text-decoration: none;
}

.tk-modal-open {
	overflow: hidden;
}

.tk-store-header a:focus-visible,
.tk-store-header button:focus-visible,
.tk-category-chip:focus-visible,
.tk-section-heading > a:focus-visible,
.tekanet-compare-btn:focus-visible,
.tk-archive-category-links a:focus-visible,
.tk-compare-tray button:focus-visible,
.tk-compare-modal a:focus-visible,
.tk-compare-modal button:focus-visible {
	outline: 2px solid var(--tk-accent);
	outline-offset: 3px;
}

@media (max-width: 1024px) {
	.tk-main-inner {
		gap: 18px;
	}

	.tk-primary-links {
		gap: 14px;
	}

	.tk-megamenu-categories {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tk-store-products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.tk-category-rail-list {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.tk-store-shell {
		width: min(100% - 24px, 1280px);
	}

	.tk-store-utility,
	.tk-header-search,
	.tk-account-link,
	.tk-nav-support {
		display: none;
	}

	.tk-main-inner {
		min-height: 64px;
		justify-content: space-between;
	}

	.tk-brand-mark {
		width: 34px;
		height: 34px;
	}

	.tk-brand-copy strong {
		font-size: 1.05rem;
	}

	.tk-header-action {
		padding-inline: 4px;
	}

	.tk-header-action span {
		display: none;
	}

	.tk-nav-inner {
		position: relative;
		min-height: 46px;
		gap: 8px;
	}

	.tk-catalog-trigger {
		min-width: 0;
		padding-inline: 10px !important;
	}

	.tk-catalog-trigger span {
		font-size: 0.7rem;
	}

	.tk-mobile-menu-trigger {
		display: inline-flex;
		margin-left: auto;
		border-color: var(--tk-border) !important;
		background: var(--tk-surface-card) !important;
		color: var(--tk-ink) !important;
	}

	.tk-primary-links {
		display: none;
		position: absolute;
		top: calc(100% + 1px);
		right: 0;
		left: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0;
		border: 1px solid var(--tk-border);
		background: var(--tk-surface-raised);
		box-shadow: 0 14px 30px var(--tk-shadow);
	}

	.tk-primary-links.is-open {
		display: grid;
	}

	.tk-primary-links a,
	.tk-primary-links .menu-item > a {
		display: block;
		border-bottom: 1px solid var(--tk-border);
		padding: 13px;
	}

	.tk-megamenu {
		position: fixed;
		top: 110px;
		bottom: 0;
		overflow-y: auto;
	}

	.tk-megamenu-inner {
		grid-template-columns: minmax(0, 1fr);
		padding-block: 18px 28px;
	}

	.tk-megamenu-categories {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.tk-mega-aside {
		padding: 18px;
	}

	.tk-category-rail {
		padding-top: 18px;
	}

	.tk-category-rail-list {
		display: flex;
		overflow-x: auto;
		gap: 11px;
		padding-bottom: 8px;
		scroll-snap-type: x mandatory;
	}

	.tk-category-chip {
		flex: 0 0 78px;
		scroll-snap-align: start;
	}

	.tk-category-chip img {
		width: 54px;
		height: 54px;
	}

	.tk-commerce-section {
		padding-block: 28px;
	}

	.tk-section-heading {
		align-items: start;
		margin-bottom: 16px;
	}

	.tk-section-heading h2 {
		font-size: 1.22rem;
	}

	.tk-store-products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.tk-store-products li.product {
		padding: 10px !important;
	}

	.tk-store-products li.product .woocommerce-loop-product__title {
		font-size: 0.77rem !important;
	}

	.tekanet-card-actions {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.tekanet-quick-view-btn,
	.tekanet-add-to-cart-btn,
	.tekanet-compare-btn {
		grid-column: auto;
		min-height: 30px !important;
		font-size: 0.63rem !important;
	}

	.tk-service-strip .tk-store-shell {
		grid-template-columns: minmax(0, 1fr);
		gap: 15px;
	}

	.tk-price-filter {
		margin-bottom: 18px;
	}

	.tk-price-filter label {
		display: none;
	}

	.tk-price-filter select {
		min-width: 0;
		flex: 1;
	}

	.tk-compare-tray {
		right: 12px;
		bottom: 12px;
		left: 12px;
		max-width: none;
	}

	.tk-compare-modal-card {
		padding: 24px 18px;
	}
}

gap: 12px !important;
font-size: 0.82rem !important;
color: var(--theme-palette-color-3) !important;
}

.tekanet-bar-track {
	flex: 1 !important;
	height: 8px !important;
	background-color: var(--theme-palette-color-6) !important;
	border-radius: 4px !important;
	overflow: hidden !important;
}

.tekanet-bar-fill {
	height: 100% !important;
	background-color: var(--theme-palette-color-1) !important;
	border-radius: 4px !important;
}

/* Final cascade for the category hierarchy; follows legacy storefront declarations. */
.tk-megamenu-inner {
	grid-template-columns: 228px minmax(0, 1fr) minmax(210px, 0.28fr);
	gap: 0;
	padding-block: 0;
	min-height: 360px;
}

.tk-mega-aside {
	align-content: start;
	border: 0;
	border-left: 1px solid var(--tk-border);
	border-radius: 0;
	background: var(--tk-surface-card);
	padding: 30px 22px;
}

@media (max-width: 1024px) {
	.tk-megamenu-inner {
		grid-template-columns: 210px minmax(0, 1fr);
	}

	.tk-mega-aside {
		display: none;
	}
}

@media (max-width: 767px) {
	.tk-megamenu-inner {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
		padding-block: 0;
	}

	.tk-mega-aside {
		display: none;
	}
}

/* High-visibility controls for product discovery. */
.tk-catalog-trigger {
	border-color: var(--tk-accent) !important;
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--tk-accent) 28%, transparent), 0 0 20px color-mix(in srgb, var(--tk-accent) 13%, transparent) !important;
}

.tk-catalog-trigger:hover,
.tk-catalog-trigger:focus-visible,
.tk-store-header.is-mega-open .tk-catalog-trigger {
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--tk-accent) 42%, transparent), 0 0 26px color-mix(in srgb, var(--tk-accent) 18%, transparent) !important;
}

.tk-megamenu {
	border: 1px solid color-mix(in srgb, var(--tk-accent) 32%, var(--tk-border));
	border-top-color: var(--tk-accent);
}

.tk-mega-root-link {
	position: relative;
	padding-right: 13px;
}

.tk-mega-root-copy {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	gap: 9px;
}

.tk-mega-root-copy > span:last-child {
	min-width: 0;
	overflow-wrap: anywhere;
}

.tk-mega-root-icon,
.tk-catalog-root-icon {
	display: grid;
	width: 23px;
	height: 23px;
	place-items: center;
	flex: 0 0 auto;
	border: 1px solid color-mix(in srgb, var(--tk-accent) 30%, var(--tk-border));
	border-radius: 6px;
	background: color-mix(in srgb, var(--tk-accent) 8%, var(--tk-surface));
	color: var(--tk-accent);
}

.tk-mega-root-icon svg,
.tk-catalog-root-icon svg {
	width: 14px !important;
	height: 14px !important;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
}

.tk-mega-root-link:hover .tk-mega-root-icon,
.tk-mega-root-link.is-active .tk-mega-root-icon {
	border-color: var(--tk-accent);
	background: color-mix(in srgb, var(--tk-accent) 18%, var(--tk-surface-raised));
	box-shadow: 0 0 14px color-mix(in srgb, var(--tk-accent) 17%, transparent);
}

.tk-mega-root-link.is-active {
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--tk-accent) 17%, transparent);
}

.tk-mega-panel-heading > a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	border: 1px solid var(--tk-accent);
	border-radius: 7px;
	background: color-mix(in srgb, var(--tk-accent) 10%, var(--tk-surface-raised));
	padding: 0 10px;
	box-shadow: 0 0 14px color-mix(in srgb, var(--tk-accent) 10%, transparent);
}

.tk-mega-panel-heading > a::after {
	content: '→';
	margin-left: 7px;
	font-size: 1rem;
	line-height: 1;
}

.tk-mega-panel-heading > a:hover,
.tk-mega-panel-heading > a:focus-visible {
	background: var(--tk-accent);
	color: var(--tk-on-accent) !important;
}

.tk-mega-child-group {
	border: 1px solid var(--tk-border);
	border-radius: 8px;
	background: color-mix(in srgb, var(--tk-surface-card) 72%, var(--tk-surface));
	padding: 12px;
	transition: border-color 150ms var(--tk-ease-out), box-shadow 150ms var(--tk-ease-out);
}

.tk-mega-child-group:hover {
	border-color: color-mix(in srgb, var(--tk-accent) 52%, var(--tk-border));
	box-shadow: 0 9px 20px color-mix(in srgb, var(--tk-accent) 7%, transparent);
}

.tk-mega-child-group > a::after {
	content: 'Khám phá →';
	display: block;
	margin-top: 7px;
	color: var(--tk-accent);
	font-size: 0.67rem;
	font-weight: 800;
}

.tk-catalog-sidebar {
	border-color: color-mix(in srgb, var(--tk-accent) 28%, var(--tk-border));
	box-shadow: 0 12px 28px var(--tk-shadow);
}

.tk-catalog-sidebar-heading {
	border-bottom: 1px solid color-mix(in srgb, var(--tk-accent) 36%, var(--tk-border));
	box-shadow: inset 3px 0 0 var(--tk-accent);
}

.tk-catalog-tree-row > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.tk-catalog-root-icon {
	width: 19px;
	height: 19px;
	border-radius: 5px;
}

.tk-catalog-root-icon svg {
	width: 12px !important;
	height: 12px !important;
}

.tk-catalog-tree-item.is-open > .tk-catalog-tree-row,
.tk-catalog-tree-row:hover {
	background: color-mix(in srgb, var(--tk-accent) 7%, var(--tk-surface-card));
}

.tk-catalog-tree-item.is-open > .tk-catalog-tree-row {
	box-shadow: inset 3px 0 0 var(--tk-accent);
}

.tk-catalog-tree-item.is-open .tk-catalog-root-icon,
.tk-catalog-tree-row:hover .tk-catalog-root-icon {
	border-color: var(--tk-accent);
	background: color-mix(in srgb, var(--tk-accent) 16%, var(--tk-surface));
}

.tk-tree-toggle {
	color: var(--tk-accent) !important;
}

@media (max-width: 767px) {
	.tk-mega-root-copy {
		gap: 6px;
	}

	.tk-mega-root-icon {
		width: 20px;
		height: 20px;
	}

	.tk-mega-panel-heading > a {
		min-height: 30px;
		padding-inline: 8px;
	}
}

/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4
 * Chrome restoration: the original TEKANET navigation and contact-footer rhythm.
 */
/* The commerce controls stay available, but the header returns to the original one-line brand rhythm. */
.tk-store-header {
	border-top: 1px solid var(--tk-border);
	border-bottom: 1px solid var(--tk-border);
	background: var(--tk-surface);
}

.tk-store-header .tk-store-shell {
	width: min(100% - 48px, 1090px);
}

.tk-store-header .tk-store-nav {
	background: transparent;
}

.tk-store-header .tk-nav-inner {
	position: relative;
	min-height: 130px;
	gap: 0;
}

.tk-store-header .tk-brand {
	display: inline-flex;
	align-items: center;
	flex: 0 0 136px;
	margin-right: 78px;
}

.tk-store-header .tk-brand img {
	display: block;
	width: 136px;
	height: auto;
}

.tk-store-header .tk-primary-links {
	flex: 1 1 auto;
	justify-content: space-between;
	gap: 24px;
}

.tk-store-header .tk-primary-links a,
.tk-store-header .tk-primary-links .tk-catalog-trigger {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--tk-ink) !important;
	font-size: 0.92rem;
	font-weight: 720;
	line-height: 1.25;
	padding: 8px 0 !important;
	white-space: nowrap;
}

.tk-store-header .tk-primary-links a:hover,
.tk-store-header .tk-primary-links a:focus-visible,
.tk-store-header .tk-primary-links a.is-current,
.tk-store-header .tk-primary-links .tk-catalog-trigger:hover,
.tk-store-header .tk-primary-links .tk-catalog-trigger:focus-visible,
.tk-store-header.is-mega-open .tk-catalog-trigger {
	color: var(--tk-accent) !important;
}

.tk-store-header .tk-catalog-trigger {
	display: inline-flex;
	align-items: center;
	min-height: 0;
}

.tk-store-header .tk-header-actions {
	gap: 14px;
	margin-left: 72px;
}

.tk-store-header .tk-header-action {
	display: grid;
	width: 28px;
	height: 38px;
	place-items: center;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: var(--tk-ink);
	padding: 0;
}

.tk-store-header .tk-header-action:hover,
.tk-store-header .tk-header-action:focus-visible {
	background: color-mix(in srgb, var(--tk-accent) 10%, transparent);
	color: var(--tk-accent);
}

.tk-store-header .tk-header-action svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.tk-store-header .tk-cart-count {
	position: absolute;
	top: 3px;
	right: -4px;
	min-width: 15px;
	height: 15px;
	border: 2px solid var(--tk-surface);
	font-size: 0.55rem;
}

.tk-store-header .tk-header-search {
	position: absolute;
	top: calc(100% - 18px);
	right: 0;
	width: min(100%, 390px);
	max-width: none;
	margin: 0;
	padding: 10px;
	border: 1px solid var(--tk-border);
	border-radius: 8px;
	background: var(--tk-surface-raised);
	box-shadow: 0 18px 38px var(--tk-shadow);
	z-index: 4;
}

.tk-store-header .tk-header-search[hidden] {
	display: none;
}

.tk-store-header .tk-header-search form {
	border-radius: 6px;
}

.tk-store-header .tk-mobile-menu-trigger {
	display: none;
}

.tk-store-header .tk-megamenu {
	top: 100%;
}

/* The preceding builder footer and the footer embedded in the original welcome page are replaced globally. */
body .ct-footer,
.tn-footer,
.tn-topbar {
	display: none !important;
}

.tk-site-footer {
	border-top: 1px solid var(--tk-border);
	background: var(--tk-surface);
	padding: 58px 0 42px;
}

.tk-footer-shell {
	width: min(100% - 80px, 1280px);
	margin-inline: auto;
	display: grid;
	grid-template-columns: minmax(0, .78fr) minmax(0, 1.25fr) minmax(0, 1fr);
	gap: 52px;
	align-items: start;
}

.tk-site-footer a {
	text-decoration: none;
}

.tk-footer-brand img {
	display: block;
	width: 136px;
	height: auto;
}

.tk-footer-brand p {
	max-width: 310px;
	margin: 20px 0 0;
	color: var(--tk-muted);
	font-size: 0.96rem;
	line-height: 1.65;
}

.tk-footer-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	border: 1px solid color-mix(in srgb, var(--tk-accent) 23%, var(--tk-border));
	border-radius: 3px;
	color: color-mix(in srgb, var(--tk-ink) 84%, var(--tk-muted));
	padding: 10px 12px;
	font-size: 0.75rem;
	font-weight: 650;
}

.tk-footer-badge i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--tk-accent);
	box-shadow: 0 0 13px color-mix(in srgb, var(--tk-accent) 65%, transparent);
}

.tk-footer-label {
	display: block;
	margin-bottom: 16px;
	color: var(--tk-accent);
	font-size: 0.64rem;
	font-weight: 850;
	letter-spacing: 0.14em;
}

.tk-footer-company h2 {
	max-width: 410px;
	margin: 0 0 24px;
	color: var(--tk-ink) !important;
	font-size: 0.96rem;
	font-weight: 820;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.tk-footer-detail {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	margin: 14px 0 0;
	color: var(--tk-muted);
	font-size: 0.79rem;
	line-height: 1.65;
}

.tk-footer-detail svg,
.tk-contact-row > svg:first-child {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--tk-accent) 23%, var(--tk-border));
	border-radius: 3px;
	background: color-mix(in srgb, var(--tk-accent) 4%, transparent);
	color: var(--tk-accent);
	padding: 8px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.tk-footer-detail strong {
	color: color-mix(in srgb, var(--tk-ink) 84%, var(--tk-muted));
}

.tk-footer-contact {
	display: flex;
	flex-direction: column;
}

.tk-contact-row {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 15px;
	gap: 12px;
	align-items: center;
	min-height: 58px;
	border-bottom: 1px solid var(--tk-border);
	color: var(--tk-muted);
	padding: 10px 0;
	transition: color 150ms var(--tk-ease-out), transform 150ms var(--tk-ease-out);
}

.tk-contact-row:first-of-type {
	border-top: 1px solid var(--tk-border);
}

.tk-contact-row > span {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.tk-contact-row small {
	color: var(--tk-muted);
	font-size: 0.61rem;
	font-weight: 650;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.tk-contact-row strong {
	color: color-mix(in srgb, var(--tk-ink) 84%, var(--tk-muted));
	font-size: 0.76rem;
	font-weight: 720;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.tk-contact-row > svg:last-child {
	width: 15px;
	height: 15px;
	fill: none;
	stroke: var(--tk-accent);
	stroke-width: 2;
}

.tk-contact-row:hover,
.tk-contact-row:focus-visible {
	color: var(--tk-accent);
	transform: translateX(2px);
}

.tk-contact-row:hover strong,
.tk-contact-row:focus-visible strong {
	color: var(--tk-accent);
}

@media (max-width: 1100px) {
	.tk-store-header .tk-store-shell {
		width: min(100% - 40px, 980px);
	}

	.tk-store-header .tk-brand {
		margin-right: 40px;
	}

	.tk-store-header .tk-header-actions {
		margin-left: 40px;
	}

	.tk-footer-shell {
		gap: 32px;
	}
}

@media (max-width: 767px) {
	.tk-store-header .tk-store-shell {
		width: min(100% - 28px, 680px);
	}

	.tk-store-header .tk-nav-inner {
		min-height: 76px;
		justify-content: space-between;
	}

	.tk-store-header .tk-brand {
		flex-basis: 105px;
		margin-right: auto;
	}

	.tk-store-header .tk-brand img {
		width: 105px;
	}

	.tk-store-header .tk-header-actions {
		gap: 5px;
		margin-left: 8px;
	}

	.tk-store-header .tk-header-action {
		width: 27px;
	}

	.tk-store-header .tk-mobile-menu-trigger {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		min-height: 38px;
		border: 1px solid var(--tk-border) !important;
		border-radius: 5px !important;
		background: var(--tk-surface-card) !important;
		color: var(--tk-ink) !important;
		font-size: 0.72rem;
		font-weight: 750;
		padding: 0 9px !important;
	}

	.tk-store-header .tk-mobile-menu-trigger svg {
		width: 16px;
		height: 16px;
		fill: none;
		stroke: currentColor;
		stroke-width: 2;
	}

	.tk-store-header .tk-primary-links {
		display: none;
		position: absolute;
		top: calc(100% - 1px);
		right: 0;
		left: 0;
		z-index: 5;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 0;
		border: 1px solid var(--tk-border);
		background: var(--tk-surface-raised);
		box-shadow: 0 18px 32px var(--tk-shadow);
	}

	.tk-store-header .tk-primary-links.is-open {
		display: grid;
	}

	.tk-store-header .tk-primary-links a,
	.tk-store-header .tk-primary-links .tk-catalog-trigger {
		min-height: 46px;
		border-bottom: 1px solid var(--tk-border) !important;
		padding: 14px !important;
		text-align: left;
		white-space: normal;
	}

	.tk-store-header .tk-header-search {
		top: calc(100% + 7px);
		left: 0;
		width: 100%;
	}

	.tk-store-header .tk-megamenu {
		top: 76px;
	}

	.tk-site-footer {
		padding: 42px 0 34px;
	}

	.tk-footer-shell {
		width: min(100% - 40px, 680px);
		grid-template-columns: minmax(0, 1fr);
		gap: 36px;
	}

	.tk-footer-brand p {
		margin-top: 16px;
	}

	.tk-footer-company h2 {
		font-size: 0.9rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tk-contact-row {
		transition-duration: 0.01ms;
	}
}

/* Archive toolbar: compact controls with a dedicated category row and readable result state. */
.tk-catalog-main {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto auto;
	align-items: center;
	column-gap: 12px;
	row-gap: 14px;
}

.tk-catalog-main > .tk-archive-category-links {
	grid-column: 1 / -1;
	width: 100%;
	margin: 0;
	border: 1px solid var(--tk-border);
	border-radius: 12px;
	background: color-mix(in srgb, var(--tk-surface-card) 74%, var(--tk-surface));
	padding: 8px;
	gap: 7px;
	scrollbar-width: thin;
	scrollbar-color: color-mix(in srgb, var(--tk-accent) 48%, var(--tk-border)) transparent;
}

.tk-archive-category-links a {
	border-color: transparent;
	border-radius: 7px;
	background: transparent;
	color: var(--tk-muted);
	padding: 8px 11px;
	font-size: 0.72rem;
	font-weight: 750;
	transition: color 150ms var(--tk-ease-out), background-color 150ms var(--tk-ease-out), border-color 150ms var(--tk-ease-out);
}

.tk-archive-category-links a:first-child {
	border-color: color-mix(in srgb, var(--tk-accent) 50%, var(--tk-border));
	background: color-mix(in srgb, var(--tk-accent) 12%, var(--tk-surface-raised));
	color: var(--tk-accent);
}

.tk-archive-category-links a:hover,
.tk-archive-category-links a:focus-visible {
	border-color: color-mix(in srgb, var(--tk-accent) 45%, var(--tk-border));
	background: color-mix(in srgb, var(--tk-accent) 9%, var(--tk-surface-raised));
	color: var(--tk-ink);
}

.tk-catalog-main > .tk-price-filter {
	grid-column: 1;
	min-width: 0;
	margin: 0;
	gap: 9px;
}

.tk-price-filter label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--tk-muted);
	font-size: 0.69rem;
	font-weight: 800;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.tk-price-filter label::before {
	content: '';
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--tk-accent);
	box-shadow: 0 0 10px color-mix(in srgb, var(--tk-accent) 54%, transparent);
}

.tk-price-filter select {
	min-width: 178px;
	min-height: 39px;
	border-color: var(--tk-border) !important;
	border-radius: 8px !important;
	background: var(--tk-surface-raised) !important;
	font-size: 0.76rem;
}

.tk-price-filter button {
	min-height: 39px;
	border-radius: 8px !important;
	padding-inline: 14px !important;
	box-shadow: 0 8px 18px color-mix(in srgb, var(--tk-accent) 13%, transparent);
	transition: background-color 150ms var(--tk-ease-out), box-shadow 150ms var(--tk-ease-out), transform 150ms var(--tk-ease-out);
}

.tk-price-filter button:hover,
.tk-price-filter button:focus-visible {
	background: var(--tk-accent-strong) !important;
	box-shadow: 0 10px 24px color-mix(in srgb, var(--tk-accent) 24%, transparent);
	transform: translateY(-1px);
}

.tk-catalog-main > .woocommerce-result-count {
	grid-column: 2;
	margin: 0 !important;
	border: 1px solid var(--tk-border);
	border-radius: 8px;
	background: color-mix(in srgb, var(--tk-surface-card) 72%, var(--tk-surface));
	color: var(--tk-muted) !important;
	padding: 10px 12px;
	font-size: 0.73rem;
	line-height: 1.2;
	white-space: nowrap;
}

.tk-catalog-main > .woocommerce-ordering {
	grid-column: 3;
	float: none !important;
	margin: 0 !important;
}

.tk-catalog-main > .woocommerce-ordering select {
	min-height: 39px;
	border-color: color-mix(in srgb, var(--tk-accent) 55%, var(--tk-border)) !important;
	border-radius: 8px !important;
	background: var(--tk-surface-raised) !important;
	color: var(--tk-ink) !important;
	font-size: 0.75rem;
	font-weight: 700;
}

.tk-catalog-main > .products {
	grid-column: 1 / -1;
	margin-top: 4px !important;
}

.tk-catalog-main > .woocommerce-pagination {
	grid-column: 1 / -1;
}

@media (max-width: 1024px) {
	.tk-catalog-main {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.tk-catalog-main > .tk-price-filter {
		grid-column: 1;
	}

	.tk-catalog-main > .woocommerce-result-count {
		grid-column: 2;
	}

	.tk-catalog-main > .woocommerce-ordering {
		grid-column: 1 / -1;
		justify-self: start;
	}
}

@media (max-width: 767px) {
	.tk-catalog-main {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 11px;
	}

	.tk-catalog-main > .tk-archive-category-links {
		padding: 7px;
		margin-bottom: 2px;
	}

	.tk-archive-category-links a {
		padding: 7px 10px;
	}

	.tk-catalog-main > .tk-price-filter,
	.tk-catalog-main > .woocommerce-result-count,
	.tk-catalog-main > .woocommerce-ordering {
		grid-column: 1;
		width: 100%;
	}

	.tk-price-filter {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.tk-price-filter label {
		display: inline-flex;
	}

	.tk-price-filter select {
		min-width: 0;
		width: 100%;
	}

	.tk-catalog-main > .woocommerce-result-count {
		padding: 9px 11px;
		white-space: normal;
	}

	.tk-catalog-main > .woocommerce-ordering select {
		width: 100%;
	}
}

/* WooCommerce places these controls inside .woo-listing-top; establish the actual toolbar grid there. */
.tk-catalog-main > .woo-listing-top {
	display: grid !important;
	grid-column: 1 / -1;
	grid-template-columns: minmax(220px, 1fr) auto auto;
	align-items: center !important;
	justify-content: initial !important;
	column-gap: 12px;
	row-gap: 14px;
	float: none !important;
	margin: 0 0 18px !important;
}

.tk-catalog-main > .woocommerce-notices-wrapper:empty {
	display: none;
}

.tk-catalog-main > .woo-listing-top > .tk-archive-category-links {
	grid-column: 1 / -1;
}

.tk-catalog-main > .woo-listing-top > .tk-price-filter {
	grid-column: 1;
	margin: 0;
}

.tk-catalog-main > .woo-listing-top > .woocommerce-result-count {
	grid-column: 2;
	margin: 0 !important;
	border: 1px solid var(--tk-border);
	border-radius: 8px;
	background: color-mix(in srgb, var(--tk-surface-card) 72%, var(--tk-surface));
	color: var(--tk-muted) !important;
	padding: 10px 12px;
	font-size: 0.73rem;
	line-height: 1.2;
	white-space: nowrap;
}

.tk-catalog-main > .woo-listing-top > .woocommerce-ordering {
	grid-column: 3;
	float: none !important;
	margin: 0 !important;
}

.tk-catalog-main > .woo-listing-top > .woocommerce-ordering select {
	min-height: 39px;
	border-color: color-mix(in srgb, var(--tk-accent) 55%, var(--tk-border)) !important;
	border-radius: 8px !important;
	background: var(--tk-surface-raised) !important;
	color: var(--tk-ink) !important;
	font-size: 0.75rem;
	font-weight: 700;
}

@media (max-width: 1400px) {
	.tk-catalog-main > .woo-listing-top {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.tk-catalog-main > .woo-listing-top > .tk-price-filter {
		grid-column: 1;
	}

	.tk-catalog-main > .woo-listing-top > .woocommerce-result-count {
		grid-column: 2;
	}

	.tk-catalog-main > .woo-listing-top > .woocommerce-ordering {
		grid-column: 1 / -1;
		justify-self: end;
	}
}

@media (max-width: 767px) {
	.tk-catalog-main > .woo-listing-top {
		grid-template-columns: minmax(0, 1fr);
		gap: 11px;
	}

	.tk-catalog-main > .woo-listing-top > .tk-archive-category-links,
	.tk-catalog-main > .woo-listing-top > .tk-price-filter,
	.tk-catalog-main > .woo-listing-top > .woocommerce-result-count,
	.tk-catalog-main > .woo-listing-top > .woocommerce-ordering {
		grid-column: 1;
		width: 100%;
	}

	.tk-catalog-main > .woo-listing-top > .woocommerce-ordering select {
		width: 100%;
	}
}

/* Product-card actions: two quiet utilities above one deliberate purchase action. */
.tekanet-card-actions {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 7px !important;
	align-items: stretch !important;
}

.tekanet-card-actions .tekanet-quick-view-btn,
.tekanet-card-actions .tekanet-compare-btn {
	grid-column: auto !important;
	width: 100% !important;
	min-height: 34px !important;
	border: 1px solid var(--tk-border) !important;
	border-radius: 8px !important;
	background: color-mix(in srgb, var(--tk-surface-card) 68%, var(--tk-surface)) !important;
	box-shadow: none !important;
	color: var(--tk-muted) !important;
	padding: 6px 8px !important;
	font-size: 0.68rem !important;
	font-weight: 750 !important;
	line-height: 1 !important;
	transition: border-color 150ms var(--tk-ease-out), background-color 150ms var(--tk-ease-out), color 150ms var(--tk-ease-out), transform 150ms var(--tk-ease-out) !important;
}

.tekanet-card-actions .tekanet-quick-view-btn svg,
.tekanet-card-actions .tekanet-compare-btn svg {
	width: 13px !important;
	height: 13px !important;
}

.tekanet-card-actions .tekanet-quick-view-btn:hover,
.tekanet-card-actions .tekanet-quick-view-btn:focus-visible,
.tekanet-card-actions .tekanet-compare-btn:hover,
.tekanet-card-actions .tekanet-compare-btn:focus-visible,
.tekanet-card-actions .tekanet-compare-btn.is-selected {
	border-color: color-mix(in srgb, var(--tk-accent) 66%, var(--tk-border)) !important;
	background: color-mix(in srgb, var(--tk-accent) 10%, var(--tk-surface-raised)) !important;
	box-shadow: none !important;
	color: var(--tk-accent) !important;
	transform: translateY(-1px) !important;
}

.tekanet-card-actions .tekanet-add-to-cart-btn,
.woocommerce ul.products li.product .tekanet-card-actions .tekanet-add-to-cart-btn {
	grid-column: 1 / -1 !important;
	width: 100% !important;
	min-height: 36px !important;
	border: 1px solid var(--tk-accent) !important;
	border-radius: 8px !important;
	background: var(--tk-accent) !important;
	box-shadow: 0 8px 16px color-mix(in srgb, var(--tk-accent) 16%, transparent) !important;
	color: var(--tk-on-accent) !important;
	font-size: 0.72rem !important;
	font-weight: 850 !important;
	letter-spacing: 0.02em !important;
	padding: 7px 10px !important;
	transition: background-color 150ms var(--tk-ease-out), box-shadow 150ms var(--tk-ease-out), transform 150ms var(--tk-ease-out) !important;
}

.tekanet-card-actions .tekanet-add-to-cart-btn:hover,
.tekanet-card-actions .tekanet-add-to-cart-btn:focus-visible {
	background: var(--tk-accent-strong) !important;
	box-shadow: 0 10px 20px color-mix(in srgb, var(--tk-accent) 27%, transparent) !important;
	transform: translateY(-1px) !important;
}

/* WooCommerce injects this link after an AJAX add-to-cart action. */
.tekanet-card-actions .added_to_cart {
	grid-column: 1 / -1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: 34px !important;
	margin: 0 !important;
	padding: 7px 10px !important;
	border: 1px solid var(--tk-border) !important;
	border-radius: 8px !important;
	background: var(--tk-surface-raised) !important;
	color: var(--tk-on-surface) !important;
	font-size: 0.72rem !important;
	font-weight: 750 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.single-product form.cart .added_to_cart {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 146px !important;
	min-height: 40px !important;
	margin: 0 0 0 10px !important;
	padding: 10px 16px !important;
	border-radius: 8px !important;
	background: var(--tk-surface-raised) !important;
	color: var(--tk-on-surface) !important;
	font-weight: 750 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}

.single-product form.cart .single_add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 165px !important;
	min-height: 40px !important;
	height: 40px !important;
	line-height: 1 !important;
	padding: 10px 18px !important;
	white-space: nowrap !important;
}

@media (max-width: 640px) {
	.single-product form.cart .added_to_cart {
		width: 100% !important;
		margin: 10px 0 0 !important;
	}
}

.tekanet-card-actions .tekanet-quick-view-btn:active,
.tekanet-card-actions .tekanet-compare-btn:active,
.tekanet-card-actions .tekanet-add-to-cart-btn:active {
	transform: translateY(0) !important;
}

@media (max-width: 767px) {
	.tekanet-card-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.tekanet-card-actions .tekanet-quick-view-btn,
	.tekanet-card-actions .tekanet-compare-btn {
		min-height: 34px !important;
		font-size: 0.65rem !important;
	}

	.tekanet-card-actions .tekanet-add-to-cart-btn {
		grid-column: 1 / -1 !important;
		min-height: 35px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tekanet-card-actions .tekanet-quick-view-btn,
	.tekanet-card-actions .tekanet-compare-btn,
	.tekanet-card-actions .tekanet-add-to-cart-btn {
		transition-duration: 0.01ms !important;
	}
}
