/*
Theme Name: Central Tech Premium
Theme URI: https://centec.lk/
Author: Central Tech
Description: Premium WooCommerce theme built from the Central Tech storefront design.
Version: 1.0.2
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: central-tech-premium
Tags: e-commerce, woocommerce, responsive, custom-logo, custom-menu
*/

:root{--lux-bg:#f4f6fb;--lux-card:#fff;--lux-text:#151826;--lux-soft:#687086;--lux-dark:#141827;--lux-primary:#6d5dfc;--lux-teal:#17b89c;--lux-coral:#ff6d78;--lux-gold:#e7b85a;--lux-border:rgba(31,38,67,.10);--lux-shadow:0 22px 55px rgba(42,49,83,.13);--lux-width:1360px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--lux-bg);color:var(--lux-text);font-family:Manrope,Aptos,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.lux-container{width:min(calc(100% - 34px),var(--lux-width));margin:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lux-site-shell{min-height:100vh;background:radial-gradient(circle at 8% 8%,rgba(109,93,252,.12),transparent 26rem),radial-gradient(circle at 92% 38%,rgba(23,184,156,.10),transparent 30rem),var(--lux-bg)}
.lux-page-hero{padding:38px 0 18px}.lux-page-hero-inner{padding:30px;border:1px solid var(--lux-border);border-radius:24px;background:rgba(255,255,255,.80);box-shadow:0 14px 38px rgba(42,49,83,.07)}.lux-page-hero h1{margin:0;font-size:clamp(34px,5vw,60px);font-weight:950;letter-spacing:-.05em;line-height:1.05}.lux-breadcrumbs{margin-bottom:8px;color:var(--lux-soft);font-size:11px}.lux-content-shell{padding:28px 0 65px}.lux-content-card{padding:28px;border:1px solid var(--lux-border);border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(42,49,83,.07)}
/* WooCommerce */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px!important;margin:0!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;overflow:hidden;border:1px solid var(--lux-border);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(42,49,83,.06);transition:.3s ease}.woocommerce ul.products li.product:hover{transform:translateY(-7px);box-shadow:var(--lux-shadow)}.woocommerce ul.products li.product a img{width:100%!important;aspect-ratio:1/.95;object-fit:contain;margin:0!important;padding:7%;background:radial-gradient(circle at 72% 20%,rgba(207,199,255,.68),transparent 35%),linear-gradient(150deg,#f9faff,#e9edf6)}.woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:45px;padding:13px 13px 0!important;font-size:13px!important;font-weight:850!important;line-height:1.4}.woocommerce ul.products li.product .price{display:block;padding:0 13px 10px!important;color:var(--lux-text)!important}.woocommerce ul.products li.product .button{display:flex!important;margin:0 13px 13px!important;min-height:40px!important;width:calc(100% - 26px);align-items:center;justify-content:center;border:0!important;border-radius:11px!important;background:linear-gradient(135deg,#171b30,var(--lux-primary))!important;color:#fff!important;font-size:9px!important;font-weight:900!important}.woocommerce span.onsale{top:10px!important;left:10px!important;min-width:auto!important;min-height:auto!important;padding:5px 9px!important;border-radius:50px!important;background:linear-gradient(135deg,#ff5f78,#ff785d)!important;font-size:8px!important;line-height:1.2!important}.star-rating{color:var(--lux-gold)!important}
.woocommerce div.product{padding:28px;border:1px solid var(--lux-border);border-radius:24px;background:#fff;box-shadow:0 16px 45px rgba(42,49,83,.08)}.woocommerce div.product .product_title{font-size:clamp(32px,4vw,52px);font-weight:950;letter-spacing:-.05em;line-height:1.05}.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{overflow:hidden;border-radius:18px;background:#f2f4f9}.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:10px}.woocommerce .quantity .qty{height:48px;border:1px solid var(--lux-border);border-radius:12px}.woocommerce div.product .single_add_to_cart_button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#171b30,var(--lux-primary))!important;color:#fff!important;font-weight:900!important}.woocommerce table.shop_table{overflow:hidden;border:1px solid var(--lux-border)!important;border-radius:18px!important;background:#fff}.woocommerce table.shop_table th{background:#f2f3f8}.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout #customer_details,.woocommerce-account .woocommerce-MyAccount-content{padding:22px;border:1px solid var(--lux-border);border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(42,49,83,.07)}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{min-height:46px;padding:10px 13px;border:1px solid var(--lux-border);border-radius:12px;background:#fff}.woocommerce-MyAccount-navigation ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.woocommerce-MyAccount-navigation a{display:block;padding:12px 14px;border:1px solid var(--lux-border);border-radius:12px;background:#fff;font-weight:800}.woocommerce-MyAccount-navigation .is-active a{background:linear-gradient(135deg,var(--lux-primary),var(--lux-teal));color:#fff}.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--lux-primary)!important;border-radius:14px;background:#fff}
/* Price presentation */
.ct-price-box{display:block;margin:6px 0 8px}.ct-price-label{margin-bottom:2px;color:var(--lux-soft);font-size:8px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.ct-main-price{color:var(--lux-text);font-size:17px;font-weight:950;letter-spacing:-.02em}.ct-original{display:flex;margin-top:3px;align-items:center;flex-wrap:wrap;gap:5px;color:#8c93a7;font-size:8px;font-weight:750}.ct-original strong{padding:2px 6px;border-radius:50px;background:rgba(255,109,120,.12);color:#e94f62;font-size:7px}.ct-koko{display:flex;min-height:32px;margin-top:6px;padding:4px 7px;align-items:center;justify-content:space-between;gap:7px;border-top:1px solid rgba(31,38,67,.08)}.ct-koko img{width:34px!important;height:17px!important;max-width:34px!important;margin:0!important;object-fit:contain!important}.ct-koko span{color:#646c82;font-size:8px;font-weight:800}.ct-koko b{color:#0c2bb1;font-size:10px}.ct-range{margin:0 3px;color:#9aa1b4}
/* Footer and common */
.ct-footer{padding:48px 0 22px;background:#111421;color:#fff}.ct-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.09)}.ct-footer h3{margin:3px 0 15px;color:#a99fff;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.ct-footer p,.ct-footer a,.ct-footer span{color:rgba(255,255,255,.58);font-size:11px}.ct-footer-links{display:grid;gap:9px}.ct-footer a:hover{color:#fff}.ct-footer-bottom{display:flex;padding-top:20px;justify-content:space-between;gap:18px}
@media(max-width:1050px){.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.ct-footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){body.admin-bar .lux-nav{top:46px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}.lux-container{width:min(calc(100% - 16px),var(--lux-width))}.lux-page-hero-inner,.lux-content-card{padding:20px}.ct-footer-grid{grid-template-columns:1fr}.ct-footer-bottom{display:block}.ct-main-price{font-size:14px}.ct-koko span{font-size:8px}.ct-koko b{font-size:10px}}@media(max-width:390px){.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:10px!important}.ct-koko img{width:30px!important;height:15px!important}.ct-koko span{font-size:7px}.ct-koko b{font-size:9px}}

/* =========================================================
   GLOBAL HEADER + ICON FIX
   These rules must load on every page, not only front-page.
   ========================================================= */
.lux-topbar{
	padding:8px 14px;
	background:linear-gradient(90deg,#151827,#322b69,#151827);
	color:#fff;
	text-align:center;
	font-size:11px;
	font-weight:800;
	letter-spacing:.05em;
}
.lux-topbar span{color:#8ff0dd}

.lux-nav{
	position:sticky;
	top:0;
	z-index:1000;
	border-bottom:1px solid var(--lux-border);
	background:rgba(244,246,251,.94);
	box-shadow:0 8px 24px rgba(42,49,83,.05);
	backdrop-filter:blur(18px);
	-webkit-backdrop-filter:blur(18px);
}
body.admin-bar .lux-nav{top:32px}

.lux-nav-inner{
	display:flex;
	min-height:70px;
	align-items:center;
	justify-content:space-between;
	gap:20px;
}

.lux-logo{
	display:flex;
	flex:0 0 auto;
	align-items:center;
	gap:10px;
	line-height:1;
}
.lux-logo img{
	dis:block;
	width:190px!important;
	height:56px!important;
	max-width:190px!important;
	max-height:56px!important;
	object-fit:contain!important;
}

.lux-nav-links{
	display:flex;
	align-items:center;
	gap:20px;
	color:var(--lux-soft);
	font-size:13px;
	font-weight:750;
}
.lux-nav-links a{display:inline-flex;align-items:center;min-height:42px;white-space:nowrap}
.lux-nav-links a:hover{color:var(--lux-primary)}

.lux-header-search{
	position:relative;
	flex:1 1 300px;
	width:100%;
	max-width:390px;
}
.lux-header-search form{
	position:relative;
	display:flex;
	width:100%;
	height:44px;
	align-items:center;
	overflow:hidden;
	border:1px solid rgba(109,93,252,.18);
	border-radius:14px;
	background:rgba(255,255,255,.90);
	box-shadow:0 8px 24px rgba(42,49,83,.07);
}
.lux-header-search-icon{
	position:absolute;
	z-index:2;
	left:14px;
	top:50%;
	dis:block!important;
	width:18px!important;
	height:18px!important;
	max-width:18px!important;
	max-height:18px!important;
	fill:none!important;
	stroke:var(--lux-soft)!important;
	stroke-width:1.9!important;
	stroke-linecap:round;
	transform:translateY(-50%);
	pointer-events:none;
}
.lux-header-search input[type="search"]{
	width:100%;
	height:100%;
	min-width:0;
	padding:0 50px 0 42px;
	border:0;
	outline:0;
	background:transparent;
	color:var(--lux-text);
	font-size:12px;
	font-weight:700;
	-webkit-appearance:none;
	appearance:none;
}
.lux-header-search button{
	position:absolute;
	right:5px;
	top:5px;
	dis:grid!important;
	width:34px!important;
	height:34px!important;
	min-width:34px!important;
	min-height:34px!important;
	padding:0!important;
	place-items:center;
	border:0!important;
	border-radius:10px!important;
	background:linear-gradient(135deg,var(--lux-primary),var(--lux-teal))!important;
	color:#fff!important;
	line-height:1!important;
}
.lux-header-search button svg{
	dis:block!important;
	width:16px!important;
	height:16px!important;
	max-width:16px!important;
	max-height:16px!important;
	fill:none!important;
	stroke:currentColor!important;
	stroke-width:2!important;
	stroke-linecap:round;
}

.lux-nav-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}
.lux-nav-button{
	position:relative;
	dis:grid!important;
	width:42px!important;
	height:42px!important;
	min-width:42px!important;
	min-height:42px!important;
	padding:0!important;
	place-items:center;
	border:1px solid var(--lux-border)!important;
	border-radius:50%!important;
	background:rgba(255,255,255,.82)!important;
	line-height:1!important;
	transition:.25s ease;
}
.lux-nav-button:hover{transform:translateY(-2px);background:#fff!important;box-shadow:0 10px 28px rgba(42,49,83,.10)}
.lux-nav-button svg{
	dis:block!important;
	width:19px!important;
	height:19px!important;
	max-width:19px!important;
	max-height:19px!important;
	fill:none!important;
	stroke:currentColor!important;
	stroke-width:1.8!important;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.lux-cart-count{
	position:absolute;
	top:-4px;
	right:-4px;
	dis:grid;
	min-width:18px;
	height:18px;
	padding:0 4px;
	place-items:center;
	border:2px solid var(--lux-bg);
	border-radius:20px;
	background:linear-gradient(135deg,var(--lux-primary),var(--lux-teal));
	color:#fff;
	font-size:9px;
	font-weight:950;
	line-height:1;
}

/* Product gallery controls and third-party icon safeguards. */
.single-product .woocommerce-product-gallery svg,
.single-product .flex-direction-nav svg,
.single-product .woocommerce-product-gallery__trigger svg{
	max-width:24px!important;
	max-height:24px!important;
}
.single-product .woocommerce-product-gallery__trigger{
	top:14px!important;
	right:14px!important;
	width:40px!important;
	height:40px!important;
	min-width:40px!important;
	min-height:40px!important;
	border-radius:50%!important;
	background:#fff!important;
	box-shadow:0 8px 22px rgba(42,49,83,.14)!important;
}
.single-product .woocommerce-product-gallery__trigger:before,
.single-product .woocommerce-product-gallery__trigger:after{
	transform:scale(.82);
	transform-origin:center;
}
.single-product .flex-direction-nav a{
	width:38px!important;
	height:38px!important;
	font-size:0!important;
	line-height:38px!important;
}
.single-product .flex-control-thumbs img{
	border-radius:10px;
}

@media(max-width:1180px){
	.lux-header-search{max-width:310px}
	.lux-nav-links{gap:14px}
}
@media(max-width:1050px){
	.lux-nav-links{display:none}
	.lux-header-search{max-width:520px}
}
@media(max-width:782px){body.admin-bar .lux-nav{top:46px}}
@media(max-width:640px){
	.lux-nav-inner{min-height:0;padding:8px 0 9px;flex-wrap:wrap;gap:7px 10px}
	.lux-logo img{width:145px!important;height:42px!important;max-width:145px!important;max-height:42px!important}
	.lux-header-search{order:3;flex:1 0 100%;max-width:none}
	.lux-header-search form{height:40px;border-radius:12px}
	.lux-header-search input[type="search"]{padding-left:38px;padding-right:45px;font-size:11px}
	.lux-header-search-icon{left:12px;width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important}
	.lux-header-search button{right:4px;top:4px;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;border-radius:9px!important}
	.lux-nav-button{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
	.lux-nav-button svg{width:18px!important;height:18px!important;max-width:18px!important;max-height:18px!important}
	.lux-account{display:none!important}
	.single-product .woocommerce-product-gallery__trigger{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
}

/* Dark branded surface only behind the supplied logo. */
.lux-logo-surface{display:flex;width:214px;height:58px;padding:4px 10px;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(196,75,187,.34);border-radius:13px;background:radial-gradient(circle at 22% 50%,rgba(142,42,168,.34),transparent 45%),linear-gradient(135deg,#050506,#15101b);box-shadow:0 10px 24px rgba(21,16,27,.18),inset 0 1px 0 rgba(255,255,255,.06)}
.lux-logo-surface img{display:block!important;width:100%!important;height:100%!important;max-width:194px!important;max-height:50px!important;margin:0!important;object-fit:contain!important}
.lux-logo-surface-footer{width:236px;height:76px;padding:5px 12px;margin-bottom:14px;border-color:rgba(196,75,187,.28);background:radial-gradient(circle at 22% 50%,rgba(142,42,168,.32),transparent 45%),linear-gradient(135deg,#020203,#120d16)}
.ct-footer-logo{display:inline-flex}.lux-topbar a{color:#fff;font-weight:900}.lux-topbar a:hover{color:#8ff0dd}.lux-logo>img{display:none!important}
@media(max-width:760px){.lux-logo-surface{width:154px;height:45px;padding:3px 7px;border-radius:10px}.lux-logo-surface img{max-width:140px!important;max-height:39px!important}.lux-logo-surface-footer{width:205px;height:66px}.lux-topbar{font-size:9px;line-height:1.45}}
