/* ==========================================================================
   Dama Mobile Spares – brand skin for GoStore
   Palette: logo purple / crimson / green + purple-tinted neutrals.
   Mobile-first: base rules target phones, min-width queries scale up.
   ========================================================================== */

:root{
	--dm-purple:#662c91;
	--dm-purple-dark:#4b1f6f;
	--dm-purple-deep:#1f0f33;
	--dm-purple-tint:#f4eff9;
	--dm-red:#bd1e2c;
	--dm-red-dark:#9c1824;
	--dm-red-tint:#fbeced;
	--dm-green:#006838;
	--dm-green-tint:#e6f2ec;

	--dm-ink:#1d1823;
	--dm-text:#5c5766;
	--dm-muted:#8b8794;
	--dm-line:#ebe7f0;
	--dm-line-strong:#d9d3e2;
	--dm-surface:#f7f5fa;
	--dm-white:#ffffff;

	--dm-radius-sm:8px;
	--dm-radius:12px;
	--dm-radius-lg:18px;
	--dm-shadow-sm:0 1px 2px rgba(31,15,51,.06);
	--dm-shadow:0 6px 20px -8px rgba(31,15,51,.18);
	--dm-shadow-lg:0 14px 34px -12px rgba(75,31,111,.32);
	--dm-gutter:16px;
	--dm-font:"Rubik", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	/* Neutralise Elementor kit greys so widgets inherit the palette */
	--e-global-color-text:var(--dm-text);
	--e-global-color-0f11670:var(--dm-line);
	--e-global-color-ff26176:var(--dm-ink);
}

/* ---------- Base ---------- */
html{ -webkit-tap-highlight-color:transparent; }
body{
	background:var(--dm-white);
	color:var(--dm-text);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
::selection{ background:var(--dm-purple); color:#fff; }
:focus-visible{ outline:2px solid var(--dm-purple); outline-offset:2px; }

/* Use one typeface throughout (Elementor widgets were mixing in Roboto/Oswald) */
body .elementor-widget-heading .elementor-heading-title,
body .elementor-widget-text-editor,
body .elementor-button,
body .elementor-image-box-title,
body .elementor-image-box-description,
body .elementor-widget-woocommerce-product-price .price,
body .e-loop-item .button{
	font-family:var(--dm-font);
}

/* ---------- Buttons ---------- */
body .button,
body button.button,
body input[type="submit"],
body .elementor-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
	border-radius:var(--dm-radius-sm);
	font-weight:500;
	letter-spacing:.01em;
	transition:background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease;
}
body .elementor-button{
	background:var(--dm-purple);
	color:#fff;
	padding:13px 26px;
	border-radius:999px !important;
	font-size:14px;
	box-shadow:var(--dm-shadow-sm);
}
body .elementor-button:hover,
body .elementor-button:focus{
	background:var(--dm-purple-dark);
	color:#fff;
	box-shadow:var(--dm-shadow-lg);
}
body .elementor-button .elementor-button-text::after{
	content:"\e628"; /* themify arrow-right */
	font-family:themify;
	font-size:11px;
	margin-left:8px;
	display:inline-block;
	transition:transform .2s ease;
}
body .elementor-button:hover .elementor-button-text::after{ transform:translateX(3px); }

/* Checkout / primary WooCommerce actions in crimson */
.woocommerce .checkout-button,
.woocommerce #place_order,
.single_add_to_cart_button,
.woocommerce .cart .single_add_to_cart_button{
	background:var(--dm-red) !important;
	border-color:var(--dm-red) !important;
	color:#fff !important;
	border-radius:var(--dm-radius-sm) !important;
}
.woocommerce .checkout-button:hover,
.woocommerce #place_order:hover,
.single_add_to_cart_button:hover{
	background:var(--dm-red-dark) !important;
	border-color:var(--dm-red-dark) !important;
}

/* ---------- Forms ---------- */
body input[type="text"],
body input[type="email"],
body input[type="tel"],
body input[type="password"],
body input[type="number"],
body input[type="search"],
body textarea,
body select{
	border-radius:var(--dm-radius-sm);
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.ts-header .header-middle{
	background:var(--dm-white);
	border-bottom:1px solid var(--dm-line);
}
.ts-header .header-bottom{
	background:var(--dm-purple);
	background:linear-gradient(90deg, var(--dm-purple-dark) 0%, var(--dm-purple) 55%, var(--dm-purple-dark) 100%);
	border:0;
}
header .logo img{ width:118px; height:auto; }

/* Search pill */
.ts-header .ts-search-by-category form{
	background:var(--dm-surface);
	border:1.5px solid var(--dm-line);
	border-radius:999px;
	overflow:hidden;
	transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.ts-header .ts-search-by-category form:focus-within{
	background:var(--dm-white);
	border-color:var(--dm-purple);
	box-shadow:0 0 0 4px rgba(102,44,145,.12);
}
.ts-header .ts-search-by-category .search-content input[type="text"],
.ts-header .ts-search-by-category select{
	background:transparent;
	border:0;
	color:var(--dm-ink);
}
.ts-header .ts-search-by-category .search-content input[type="text"]::placeholder{ color:var(--dm-muted); }

/* Cart badge */
.ts-header .shopping-cart-wrapper .cart-number,
#ts-mobile-button-bottom .shopping-cart-wrapper .cart-number{
	background:var(--dm-red);
	color:#fff;
	font-weight:600;
	box-shadow:0 0 0 2px #fff;
}

/* Account / cart / recently-viewed icons sitting on the purple bar */
.ts-header .header-bottom .header-right,
.ts-header .header-bottom .header-right a,
.ts-header .header-bottom .header-right a:before,
.ts-header .header-bottom .header-right span:before,
.ts-header .header-bottom .header-right .ic-cart:before{
	color:#fff;
}
.ts-header .header-bottom .header-right .cart-number{ box-shadow:0 0 0 2px var(--dm-purple); }

/* Main menu */
.ts-header .header-bottom .menu > li > a{ font-weight:500; letter-spacing:.01em; }

/* Vertical "Shop by categories" */
.ts-header .vertical-menu-heading{
	background:var(--dm-purple-deep);
	border-radius:var(--dm-radius) var(--dm-radius) 0 0;
	font-weight:600;
	letter-spacing:.04em;
}
.ts-header .vertical-menu-wrapper .vertical-menu{
	border:1px solid var(--dm-line);
	border-top:0;
	border-radius:0 0 var(--dm-radius) var(--dm-radius);
	box-shadow:var(--dm-shadow);
	overflow:visible;
}
.ts-header .vertical-menu > ul.menu > li > a{
	transition:color .2s ease, padding-left .2s ease;
}
.ts-header .vertical-menu > ul.menu > li:hover > a{
	color:var(--dm-purple);
	padding-left:6px;
}

/* ---------- Mobile header (phones) ---------- */
@media only screen and (max-width:767px){
	.ts-header .header-template{
		display:flex;
		flex-direction:column;
	}
	/* Logo row sits on top, white, so the logo's colours read correctly */
	.ts-header .header-template > .logo-wrapper{
		order:-1;
		background:var(--dm-white);
		padding:10px var(--dm-gutter) !important;
		border-bottom:1px solid var(--dm-line);
	}
	header .logo img{ width:112px; }

	/* Purple action bar: menu · search · cart (this is the part that sticks) */
	.ts-header .header-sticky,
	.ts-header .header-middle{
		background:var(--dm-purple) !important;
		background:linear-gradient(120deg, var(--dm-purple-dark) 0%, var(--dm-purple) 100%) !important;
		border:0;
	}
	.ts-header .header-middle > .container{
		padding:10px 8px !important;
	}
	.ts-header .ts-mobile-icon-toggle .icon:before,
	.ts-header .shopping-cart-wrapper a > span.ic-cart:before{
		color:#fff;
		font-size:20px;
	}
	.ts-header .ts-search-by-category form{
		background:#fff;
		border-color:transparent;
		box-shadow:0 2px 6px rgba(31,15,51,.18);
	}
	.ts-header .ts-search-by-category form:focus-within{
		border-color:#fff;
		box-shadow:0 0 0 3px rgba(255,255,255,.35);
	}
	.ts-header .ts-search-by-category .search-content input[type="text"]{
		height:42px;
		font-size:15px; /* ≥15px stops iOS zoom-on-focus */
	}
	.ts-header .shopping-cart-wrapper .cart-number{
		box-shadow:0 0 0 2px var(--dm-purple);
	}
}

@media only screen and (min-width:768px){
	header .logo img{ width:150px; }
	.ts-header .header-middle > .container{ padding-top:14px; padding-bottom:14px; }
}

/* ---------- Mobile bottom tab bar ---------- */
#ts-mobile-button-bottom{
	background:rgba(255,255,255,.96);
	-webkit-backdrop-filter:saturate(1.4) blur(10px);
	backdrop-filter:saturate(1.4) blur(10px);
	border-top:1px solid var(--dm-line);
	box-shadow:0 -6px 20px -10px rgba(31,15,51,.25);
	padding-bottom:env(safe-area-inset-bottom);
}
#ts-mobile-button-bottom a,
#ts-mobile-button-bottom a span{
	color:var(--dm-text);
	font-weight:500;
	font-size:12px;
	transition:color .2s ease;
}
#ts-mobile-button-bottom a:before{ color:var(--dm-ink); transition:color .2s ease, transform .2s ease; }
#ts-mobile-button-bottom a:hover,
#ts-mobile-button-bottom a:hover span,
#ts-mobile-button-bottom a:hover:before{ color:var(--dm-purple); }
.home #ts-mobile-button-bottom .mobile-button-home a,
.home #ts-mobile-button-bottom .mobile-button-home a span,
.home #ts-mobile-button-bottom .mobile-button-home a:before,
.woocommerce-shop #ts-mobile-button-bottom .mobile-button-shop a,
.woocommerce-shop #ts-mobile-button-bottom .mobile-button-shop a span,
.woocommerce-shop #ts-mobile-button-bottom .mobile-button-shop a:before{
	color:var(--dm-purple);
}

/* ==========================================================================
   HOMEPAGE (Elementor page 16479)
   ========================================================================== */

/* Phones: consistent side gutters (several sections ran edge to edge) */
@media only screen and (max-width:767px){
	.elementor-16479 > .elementor-section.elementor-section-boxed > .elementor-container{
		padding-left:var(--dm-gutter);
		padding-right:var(--dm-gutter);
	}
	/* sections whose cards already carry their own inner spacing */
	.elementor-16479 > .elementor-element-98bd7d8 > .elementor-container,
	.elementor-16479 > .elementor-element-bd793fe > .elementor-container{
		padding-left:calc(var(--dm-gutter) - 6px);
		padding-right:calc(var(--dm-gutter) - 6px);
	}
}

/* ---------- Section headings ("LATEST ARRIVALS", "LCD SCREENS" …) ---------- */
.elementor-16479 .elementor-widget-heading .elementor-heading-title.elementor-size-medium{
	color:var(--dm-ink) !important;
	font-size:18px !important;
	font-weight:700 !important;
	letter-spacing:.04em;
	line-height:1.3;
}
.elementor-16479 .elementor-widget-divider .elementor-divider-separator{
	width:44px !important;
	border:0 !important;
	height:4px;
	border-radius:4px;
	background:linear-gradient(90deg, var(--dm-purple) 0%, var(--dm-red) 100%);
}
.elementor-16479 .elementor-widget-divider .elementor-divider{ padding:6px 0 4px !important; }
@media only screen and (min-width:768px){
	.elementor-16479 .elementor-widget-heading .elementor-heading-title.elementor-size-medium{ font-size:22px !important; }
}

/* ---------- Trust strip (Delivery / Restock / Quality / Support) ---------- */
.elementor-16479 .elementor-element-98bd7d8{
	padding-top:20px !important;
	padding-bottom:20px !important;
}
.elementor-16479 .elementor-element-98bd7d8 .elementor-image-box-wrapper{
	background:var(--dm-surface);
	border:1px solid var(--dm-line);
	border-radius:var(--dm-radius);
	padding:14px 10px;
	height:100%;
	transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.elementor-16479 .elementor-element-98bd7d8 .elementor-image-box-wrapper:hover{
	border-color:#e2d5ee;
	box-shadow:var(--dm-shadow);
	transform:translateY(-2px);
}
.elementor-16479 .elementor-element-98bd7d8 .elementor-image-box-img{ margin-bottom:8px !important; }
.elementor-16479 .elementor-element-98bd7d8 .elementor-image-box-img img{
	width:34px !important;
	height:34px;
	object-fit:contain;
	/* recolour the black line icons to brand purple */
	filter:invert(19%) sepia(52%) saturate(2486%) hue-rotate(262deg) brightness(87%) contrast(95%);
}
.elementor-16479 .elementor-element-98bd7d8 .elementor-image-box-title{
	color:var(--dm-ink);
	font-size:12px !important;
	font-weight:700;
	letter-spacing:.04em;
	margin-bottom:2px !important;
}
.elementor-16479 .elementor-element-98bd7d8 .elementor-image-box-description{
	color:var(--dm-text);
	font-size:12px !important;
	line-height:1.4 !important;
}
.elementor-16479 .elementor-element-98bd7d8 .elementor-widget-wrap{ padding:5px !important; }
/* equal-height trust cards */
.elementor-16479 .elementor-element-98bd7d8 .elementor-widget-wrap{ align-content:stretch; }
.elementor-16479 .elementor-element-98bd7d8 .elementor-widget-image-box,
.elementor-16479 .elementor-element-98bd7d8 .elementor-widget-image-box > .elementor-widget-container{ height:100%; }
.elementor-16479 .elementor-element-98bd7d8 .elementor-column > .elementor-widget-wrap > .elementor-widget-image-box{ flex:1 1 100%; }
@media only screen and (min-width:1025px){
	.elementor-16479 .elementor-element-98bd7d8 .elementor-image-box-wrapper{
		display:flex;
		align-items:center;
		gap:14px;
		text-align:left;
		padding:16px 18px;
	}
	.elementor-16479 .elementor-element-98bd7d8 .elementor-image-box-img{
		margin:0 !important;
		flex:0 0 auto;
		background:#fff;
		border-radius:50%;
		width:52px !important;
		height:52px;
		display:flex;
		align-items:center;
		justify-content:center;
		box-shadow:var(--dm-shadow-sm);
	}
	.elementor-16479 .elementor-element-98bd7d8 .elementor-image-box-img img{ width:28px !important; height:28px; }
	.elementor-16479 .elementor-element-98bd7d8 .elementor-image-box-title{ font-size:13px !important; }
}

/* ---------- Category tiles (LCD Screens / Sim Trays / Cables) ---------- */
.elementor-16479 .elementor-element-bd793fe{
	background:var(--dm-surface) !important;
	padding-top:28px !important;
	padding-bottom:8px !important;
	margin-bottom:0 !important;
}
.elementor-16479 .elementor-element-bd793fe > .elementor-container > .elementor-column > .elementor-widget-wrap{
	background:#fff;
	border:1px solid var(--dm-line);
	border-radius:var(--dm-radius-lg);
	box-shadow:var(--dm-shadow-sm) !important;
	overflow:hidden;
	padding:0 !important;
	position:relative;
	transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.elementor-16479 .elementor-element-bd793fe > .elementor-container > .elementor-column > .elementor-widget-wrap:hover{
	transform:translateY(-4px);
	box-shadow:var(--dm-shadow-lg) !important;
	border-color:#e2d5ee;
}
.elementor-16479 .elementor-element-bd793fe .elementor-widget-image,
.elementor-16479 .elementor-element-bd793fe .elementor-widget-image .elementor-widget-container{
	margin:0 !important;
	padding:0 !important;
}
.elementor-16479 .elementor-element-bd793fe .elementor-widget-image img{
	display:block;
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	border-radius:0 !important;
	transition:transform .4s ease;
}
.elementor-16479 .elementor-element-bd793fe .elementor-widget-wrap:hover .elementor-widget-image img{ transform:scale(1.04); }
.elementor-16479 .elementor-element-bd793fe .elementor-widget-heading{ margin:0 !important; }
.elementor-16479 .elementor-element-bd793fe .elementor-widget-heading .elementor-widget-container{
	padding:12px 10px !important;
	margin:0 !important;
}
.elementor-16479 .elementor-element-bd793fe .elementor-heading-title{
	color:var(--dm-ink) !important;
	font-size:13px !important;
	font-weight:600 !important;
	text-align:center;
	line-height:1.25;
}
/* Stretch the image link over the whole tile so the label is tappable too */
.elementor-16479 .elementor-element-bd793fe .elementor-widget-image a::after{
	content:"";
	position:absolute;
	inset:0;
	z-index:1;
}
@media only screen and (max-width:767px){
	/* three compact tiles in one row instead of three full-screen cards */
	.elementor-16479 .elementor-element-bd793fe > .elementor-container{ flex-wrap:nowrap; }
	.elementor-16479 .elementor-element-bd793fe > .elementor-container > .elementor-column{ width:33.333% !important; }
	.elementor-16479 .elementor-element-bd793fe > .elementor-container > .elementor-column > .elementor-widget-wrap{ margin:4px !important; }
	.elementor-16479 .elementor-element-bd793fe .elementor-widget-image img{ aspect-ratio:1 / 1; }
}
@media only screen and (min-width:768px){
	.elementor-16479 .elementor-element-bd793fe .elementor-heading-title{
		font-size:17px !important;
		text-align:left;
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	.elementor-16479 .elementor-element-bd793fe .elementor-heading-title::after{
		content:"\e628";
		font-family:themify;
		font-size:12px;
		color:var(--dm-purple);
		background:var(--dm-purple-tint);
		width:30px;
		height:30px;
		border-radius:50%;
		display:inline-flex;
		align-items:center;
		justify-content:center;
		transition:background-color .2s ease, color .2s ease;
	}
	.elementor-16479 .elementor-element-bd793fe .elementor-widget-wrap:hover .elementor-heading-title::after{
		background:var(--dm-purple);
		color:#fff;
	}
	.elementor-16479 .elementor-element-bd793fe .elementor-widget-heading .elementor-widget-container{ padding:16px 20px !important; }
}
/* "All Categories" button strip continues the tinted band */
.elementor-16479 .elementor-element-a23cb57{
	background:var(--dm-surface) !important;
	padding-bottom:28px !important;
}

/* ---------- Product grids (Elementor Loop Grid) ---------- */
/* Columns were sized by content (one 1120px card per column); force equal tracks */
.elementor-widget-loop-grid .elementor-loop-container.elementor-grid{
	grid-template-columns:repeat(var(--grid-columns, 2), minmax(0, 1fr)) !important;
	gap:12px !important;
}
.elementor-16479 .elementor-widget-loop-grid{ --grid-columns:2 !important; }
@media only screen and (min-width:768px){
	.elementor-16479 .elementor-widget-loop-grid{ --grid-columns:3 !important; }
	.elementor-widget-loop-grid .elementor-loop-container.elementor-grid{ gap:16px !important; }
}
@media only screen and (min-width:1025px){
	.elementor-16479 .elementor-widget-loop-grid{ --grid-columns:4 !important; }
	.elementor-16479 .elementor-element-443622c .elementor-widget-loop-grid,
	.elementor-16479 .elementor-element-be981c1 .elementor-widget-loop-grid{ --grid-columns:5 !important; }
}

/* Product card */
.e-loop-item{ height:100%; }
/* GoStore gives .elementor-container a negative side margin on phones, which made
   each card spill 10px into its neighbour */
.e-loop-item > .elementor-section,
.e-loop-item > .elementor-section > .elementor-container{
	margin-left:0 !important;
	margin-right:0 !important;
	width:100% !important;
}
.e-loop-item > .elementor-section > .elementor-container > .elementor-column{ padding:0 !important; }
.e-loop-item > .elementor-section,
.e-loop-item > .elementor-section > .elementor-container,
.e-loop-item > .elementor-section > .elementor-container > .elementor-column{ height:100%; }
.elementor-48282 .elementor-element.elementor-element-66a1cb7 > .elementor-element-populated{
	background:#fff;
	border:1px solid var(--dm-line) !important;
	border-radius:var(--dm-radius);
	padding:10px !important;
	display:flex;
	flex-direction:column;
	height:100%;
	transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.elementor-48282 .elementor-element.elementor-element-66a1cb7 > .elementor-element-populated:hover{
	border-color:#e2d5ee !important;
	box-shadow:var(--dm-shadow);
	transform:translateY(-2px);
}
.elementor-48282 .elementor-widget{ margin-bottom:8px !important; }
.elementor-48282 .elementor-widget:last-child{ margin-bottom:0 !important; }

/* image */
.elementor-48282 .elementor-element-877f177 .elementor-widget-container{
	background:var(--dm-surface);
	border-radius:var(--dm-radius-sm);
	overflow:hidden;
}
.elementor-48282 .elementor-element-877f177 img{
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	object-fit:contain;
	mix-blend-mode:multiply; /* white product backgrounds melt into the tile */
	transition:transform .35s ease;
}
.elementor-48282 .elementor-element-66a1cb7 > .elementor-element-populated:hover .elementor-element-877f177 img{ transform:scale(1.05); }

/* title: two lines max, equal height across the row */
.elementor-48282 .elementor-element-cfed42d .elementor-heading-title{
	color:var(--dm-ink) !important;
	font-size:12.5px !important;
	font-weight:600 !important;
	line-height:1.35 !important;
	letter-spacing:.01em;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	min-height:calc(1.35em * 2);
}
.elementor-48282 .elementor-element-cfed42d .elementor-heading-title a{ color:inherit; }
.elementor-48282 .elementor-element-cfed42d .elementor-heading-title a:hover{ color:var(--dm-purple); }

/* price */
.woocommerce .elementor-48282 .elementor-element.elementor-element-f6ae35a .price{
	color:var(--dm-purple) !important;
	font-size:15px !important;
	font-weight:700 !important;
	font-family:var(--dm-font) !important;
	margin:0;
}
.woocommerce .elementor-48282 .elementor-element.elementor-element-f6ae35a .price del{ color:var(--dm-muted); font-weight:400; font-size:.85em; }
.woocommerce .elementor-48282 .elementor-element.elementor-element-f6ae35a .price ins{ color:var(--dm-red) !important; text-decoration:none; }
.elementor-48282 .price .amount,
.elementor-48282 .price bdi{ font-weight:inherit; color:inherit; }
.elementor-48282 .woocommerce-Price-currencySymbol{ font-size:.78em; font-weight:500; margin-right:1px; }

/* add to cart – pinned to the card bottom */
.elementor-48282 .elementor-element-0384aaa{ margin-top:auto !important; }
.elementor-48282 .elementor-element.elementor-element-0384aaa .cart .button,
.elementor-48282 .elementor-element.elementor-element-0384aaa .cart button{
	width:100%;
	min-height:40px;
	padding:10px 12px !important;
	background:var(--dm-red) !important;
	border:0 !important;
	border-radius:var(--dm-radius-sm) !important;
	color:#fff !important;
	font-size:12px !important;
	font-weight:600 !important;
	letter-spacing:.04em;
	line-height:1.2 !important;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:6px;
}
.elementor-48282 .elementor-element.elementor-element-0384aaa .cart .button::before{
	content:"\e60d"; /* themify shopping-cart */
	font-family:themify;
	font-size:14px;
	font-weight:400;
}
.elementor-48282 .elementor-element.elementor-element-0384aaa .cart .button:hover{
	background:var(--dm-red-dark) !important;
	box-shadow:0 6px 14px -6px rgba(189,30,44,.6);
}
.elementor-48282 .elementor-element.elementor-element-0384aaa .cart .button.loading{ opacity:.7; }
.elementor-48282 .elementor-element.elementor-element-0384aaa .cart .button.added{ background:var(--dm-green) !important; }
.elementor-48282 .added_to_cart{
	display:block;
	text-align:center;
	font-size:12px;
	font-weight:600;
	color:var(--dm-green);
	margin-top:6px;
}
.elementor-48282 .e-loop-add-to-cart-form-container,
.elementor-48282 .elementor-add-to-cart,
.elementor-48282 form.cart{ margin:0 !important; width:100%; }
@media only screen and (min-width:768px){
	.elementor-48282 .elementor-element-cfed42d .elementor-heading-title{ font-size:13px !important; }
	.woocommerce .elementor-48282 .elementor-element.elementor-element-f6ae35a .price{ font-size:16px !important; }
	.elementor-48282 .elementor-element.elementor-element-66a1cb7 > .elementor-element-populated{ padding:12px !important; }
}

/* ---------- Category showcase rows (LCD Screens, Batteries) ---------- */
/* The tall promo image column duplicates the heading and pushes products far down on phones */
@media only screen and (max-width:767px){
	.elementor-16479 .elementor-column:has(> .elementor-widget-wrap > .elementor-element-f1143db),
	.elementor-16479 .elementor-column:has(> .elementor-widget-wrap > .elementor-element-524a3ab){
		display:none;
	}
}
.elementor-16479 .elementor-element-f1143db,
.elementor-16479 .elementor-element-524a3ab{ margin-bottom:0 !important; }
.elementor-16479 .elementor-column:has(> .elementor-widget-wrap > .elementor-element-f1143db) > .elementor-widget-wrap,
.elementor-16479 .elementor-column:has(> .elementor-widget-wrap > .elementor-element-524a3ab) > .elementor-widget-wrap{
	border-radius:var(--dm-radius-lg);
	overflow:hidden;
	box-shadow:var(--dm-shadow);
	border:0 !important;
}
.elementor-16479 .elementor-element-ed2495d,
.elementor-16479 .elementor-element-81f6b7e{
	background:var(--dm-surface) !important;
	padding-top:24px !important;
	padding-bottom:24px !important;
}

/* ---------- Quality banner ---------- */
.elementor-16479 .elementor-element-10f7d61 img{ border-radius:var(--dm-radius); }
@media only screen and (max-width:767px){
	.elementor-16479 .elementor-element-c4828fd{ padding:0 var(--dm-gutter) !important; }
}

/* ---------- About block ---------- */
.elementor-16479 .elementor-element-e891bf5 .elementor-heading-title{
	color:var(--dm-ink) !important;
	font-weight:700 !important;
}
.elementor-16479 .elementor-element-616099a{ color:var(--dm-text); line-height:1.7; }

/* ==========================================================================
   FOOTER (Elementor footer block 18444)
   ========================================================================== */
#colophon.footer-container{
	background:var(--dm-purple-deep);
	background:linear-gradient(180deg, #2a1442 0%, var(--dm-purple-deep) 100%);
	color:#cbc1d8;
	position:relative;
}
#colophon.footer-container::before{
	content:"";
	position:absolute;
	left:0; right:0; top:0;
	height:4px;
	background:linear-gradient(90deg, var(--dm-purple) 0%, var(--dm-red) 50%, var(--dm-green) 100%);
}
#colophon .elementor-18444,
#colophon .elementor-18444 p,
#colophon .elementor-18444 .elementor-widget-text-editor{ color:#cbc1d8; }
#colophon .elementor-18444 h1,
#colophon .elementor-18444 h2,
#colophon .elementor-18444 h3,
#colophon .elementor-18444 h4,
#colophon .elementor-18444 h5,
#colophon .elementor-18444 h6,
#colophon .elementor-18444 .elementor-heading-title,
#colophon .elementor-18444 strong,
#colophon .elementor-18444 b{ color:#fff; }
#colophon .elementor-18444 h2,
#colophon .elementor-18444 h3{ letter-spacing:.03em; font-weight:600; }
#colophon .elementor-18444 a{ color:#e3d6ee; transition:color .2s ease; }
#colophon .elementor-18444 a:hover{ color:#fff; }

/* footer trust row: red line icons on white discs */
#colophon .elementor-18444 .elementor-image-box-img img{
	background:#fff;
	border-radius:50%;
	padding:10px;
	width:56px !important;
	height:56px;
	object-fit:contain;
	box-shadow:0 6px 16px -8px rgba(0,0,0,.5);
}
#colophon .elementor-18444 .elementor-image-box-title{ color:#fff; font-weight:600; letter-spacing:.04em; }
#colophon .elementor-18444 .elementor-image-box-description{ color:#cbc1d8; }

/* footer logo (logo has a dark drop-shadow, so it sits on a white card) */
#colophon .elementor-18444 .elementor-element-be59577 img{
	background:#fff;
	border-radius:var(--dm-radius);
	padding:10px 14px;
	width:auto !important;
	max-width:200px !important;
	height:auto;
}

/* social icons: neutral chips instead of off-brand pink */
#colophon .elementor-18444 .elementor-social-icon{
	background-color:rgba(255,255,255,.1) !important;
	transition:background-color .2s ease, transform .2s ease;
}
#colophon .elementor-18444 .elementor-social-icon i,
#colophon .elementor-18444 .elementor-social-icon svg{ color:#fff; fill:#fff; }
#colophon .elementor-18444 .elementor-social-icon:hover{
	background-color:var(--dm-purple) !important;
	transform:translateY(-2px);
}
#colophon .elementor-18444 .elementor-divider-separator{ border-color:rgba(255,255,255,.12) !important; }

@media only screen and (max-width:767px){
	#colophon > .container{ padding-left:var(--dm-gutter); padding-right:var(--dm-gutter); }
	#colophon .elementor-18444 .elementor-widget-text-editor{ font-size:13px; line-height:1.65; }
	/* room for the fixed bottom tab bar */
	#colophon{ padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
}

/* ==========================================================================
   SHOP / WOOCOMMERCE TEMPLATES (GoStore)
   ========================================================================== */
.woocommerce .products .product .product-wrapper,
.woocommerce-page .products .product .product-wrapper{
	border-radius:var(--dm-radius);
	transition:box-shadow .2s ease, transform .2s ease;
}
.woocommerce .products .product .thumbnail-wrapper{
	background:var(--dm-surface);
	border-radius:var(--dm-radius-sm);
	overflow:hidden;
}
.woocommerce .products .product .thumbnail-wrapper img{ mix-blend-mode:multiply; }
.woocommerce .products .product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
	color:var(--dm-purple);
	font-weight:700;
}
.woocommerce .products .product .price del,
.woocommerce div.product p.price del{ color:var(--dm-muted); font-weight:400; }
.woocommerce .products .product .price ins,
.woocommerce div.product p.price ins{ color:var(--dm-red); text-decoration:none; }

/* shop grid cards (GoStore loop) */
.woocommerce .products .product .product-name,
.woocommerce .products .product .product-name a{
	color:var(--dm-ink);
	font-weight:600;
	font-size:13px;
	line-height:1.35;
}
.woocommerce .products .product .product-name a:hover{ color:var(--dm-purple); }
.woocommerce .products .product .meta-wrapper .loop-add-to-cart .button{
	color:var(--dm-red);
	font-weight:600;
}
.woocommerce .products .product .meta-wrapper .loop-add-to-cart .button:hover{ color:var(--dm-red-dark); }
.woocommerce .products .product .product-label > span{
	border-radius:6px;
	font-weight:600;
	letter-spacing:.03em;
}
.woocommerce .products .product .price .amount,
.woocommerce div.product p.price .amount{ font-weight:inherit; }

/* single product */
.woocommerce div.product .product_title{
	color:var(--dm-ink);
	font-weight:600;
	letter-spacing:.01em;
}
.woocommerce div.product .summary p.price{ font-size:24px; }
.woocommerce div.product .ts-buy-now-button{
	border:1.5px solid var(--dm-purple) !important;
	color:var(--dm-purple) !important;
	background:#fff !important;
	border-radius:var(--dm-radius-sm) !important;
	font-weight:600;
}
.woocommerce div.product .ts-buy-now-button:hover{
	background:var(--dm-purple) !important;
	color:#fff !important;
}
.woocommerce div.product .quantity{
	border-radius:var(--dm-radius-sm);
	overflow:hidden;
}
/* share buttons: neutral chips instead of four third-party brand colours */
.ts-social-sharing li a{
	background:var(--dm-surface) !important;
	border:1px solid var(--dm-line) !important;
	color:var(--dm-ink) !important;
	border-radius:999px !important;
	transition:background-color .2s ease, color .2s ease, border-color .2s ease;
}
.ts-social-sharing li a i{ color:var(--dm-purple) !important; }
.ts-social-sharing li a:hover{
	background:var(--dm-purple) !important;
	border-color:var(--dm-purple) !important;
	color:#fff !important;
}
.ts-social-sharing li a:hover i{ color:#fff !important; }
/* description / reviews tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{ color:var(--dm-purple); }

/* stock status uses the logo green */
.woocommerce div.product .stock.in-stock,
.woocommerce .availability .in-stock,
.in-stock{ color:var(--dm-green) !important; }
.woocommerce div.product .stock.out-of-stock{ color:var(--dm-red) !important; }

/* notices */
.woocommerce-message,
.woocommerce-info{
	border-top-color:var(--dm-purple) !important;
	background:var(--dm-purple-tint) !important;
	border-radius:var(--dm-radius-sm);
}
.woocommerce-message::before,
.woocommerce-info::before{ color:var(--dm-purple) !important; }
.woocommerce-error{
	border-top-color:var(--dm-red) !important;
	background:var(--dm-red-tint) !important;
	border-radius:var(--dm-radius-sm);
}

/* breadcrumb band */
.breadcrumb-title-wrapper{ background-color:var(--dm-surface); }

/* back-to-top */
#to-top a,
.scroll-button{
	background:var(--dm-purple) !important;
	color:#fff !important;
	border-radius:50% !important;
	box-shadow:var(--dm-shadow-lg);
}

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{
		transition-duration:.01ms !important;
		animation-duration:.01ms !important;
	}
}
