/*
 * Modern Samtecno child theme.
 * Vivid violet direction with balanced contrast and clean surfaces.
 */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap');

:root {
	--samtecno-blue: #6c4bff;
	--samtecno-blue-deep: #4b2ac7;
	--samtecno-red: #b14bff;
	--samtecno-red-soft: #f3e8ff;
	--samtecno-surface: #ffffff;
	--samtecno-bg: #f5f2ff;
	--samtecno-text: #251f3b;
	--samtecno-muted: #6f6790;
	--samtecno-border: rgba(108, 75, 255, 0.16);
	--samtecno-shadow: 0 20px 44px rgba(39, 20, 96, 0.14);
	--samtecno-radius: 22px;
}

html {
	scroll-behavior: smooth;
}

body {
	background:
		radial-gradient(circle at top left, rgba(108, 75, 255, 0.18), transparent 36%),
		radial-gradient(circle at top right, rgba(177, 75, 255, 0.16), transparent 34%),
		var(--samtecno-bg);
	color: var(--samtecno-text);
	font-family: 'Manrope', 'Segoe UI', sans-serif;
	letter-spacing: -0.01em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-1,
.display-2,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.block-categories .category-top-menu a {
	font-family: 'Sora', 'Manrope', sans-serif;
	letter-spacing: -0.03em;
}

a {
	color: var(--samtecno-blue);
	transition: color 160ms ease, opacity 160ms ease;
}

a:hover {
	color: var(--samtecno-red);
	text-decoration: none;
}

.container,
.container-fluid {
	position: relative;
}

.header-nav,
.header-top,
.footer-container,
.block-category,
.product-miniature,
.card,
.cms-block,
.search-widget {
	backdrop-filter: blur(12px);
}

.header-banner {
	margin: 0;
}

.header-nav {
	background: rgba(255, 255, 255, 0.82);
	border-bottom: 1px solid rgba(108, 75, 255, 0.14);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset;
	position: relative;
	z-index: 220;
	overflow: visible;
}

.header-top {
	background: rgba(255, 255, 255, 0.88);
	border-bottom: 1px solid rgba(108, 75, 255, 0.14);
	box-shadow: var(--samtecno-shadow);
	border-radius: 0 0 28px 28px;
	margin-bottom: 22px;
	position: relative;
	z-index: 140;
	overflow: visible;
}

.header-top .row {
	align-items: center;
}

.header-top #_desktop_logo,
.header-top .top-logo,
.header-top .logo {
	display: inline-block;
	align-items: center;
	justify-content: center;
	height: auto;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	border-radius: 0;
}

.header-top #_desktop_logo img,
.header-top .top-logo img,
.header-top .logo img {
	height: auto;
	max-height: 114px;
	width: auto;
	max-width: 360px;
	filter: none;
	transform: scale(1.18);
	transform-origin: left center;
	display: block;
}

.header-top .search-widget,
.header-top .input-group,
.header-top .input-group input,
.header-top .search-widget form {
	border-radius: 999px;
}

.header-top .search-widget input,
.header-top input[type='search'],
.header-top input[type='text'] {
	background: rgba(244, 247, 251, 0.95);
	border: 1px solid rgba(108, 75, 255, 0.2);
	border-radius: 999px;
	box-shadow: none;
}

.header-top .search-widget input:focus,
.header-top input[type='search']:focus,
.header-top input[type='text']:focus,
.form-control:focus {
	border-color: rgba(108, 75, 255, 0.5);
	box-shadow: 0 0 0 0.2rem rgba(108, 75, 255, 0.16);
}

.top-menu,
.menu,
.menu > ul,
.menu .top-menu {
	font-weight: 700;
}

.top-menu a,
.menu a {
	color: var(--samtecno-text);
	position: relative;
}

.top-menu a::after,
.menu a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--samtecno-blue), var(--samtecno-red));
	opacity: 0;
	transform: translateY(3px);
	transition: opacity 160ms ease, transform 160ms ease;
}

.top-menu a:hover::after,
.menu a:hover::after,
.top-menu .current a::after,
.menu .current a::after {
	opacity: 1;
	transform: translateY(0);
}

.carousel,
.banner,
.block-category,
.card,
.product-miniature,
.featured-products,
.new-products,
.best-sellers,
.block-reassurance,
.footer-container,
.cms-block,
.contact-rich,
.cart-grid-body,
.product-prices,
.product-cover,
.product-accessories,
.product-tabs,
.search-results,
.pagination,
.breadcrumb,
.page-content,
.page-home .featured-products,
.page-home .products,
.page-home .featured-products .products,
.page-home .products .products {
	border-radius: var(--samtecno-radius);
}

.page-home .featured-products,
.page-home .products,
.page-content,
.product-page,
.cart-grid,
.checkout-step,
.block-category,
.search-results {
	background: rgba(255, 255, 255, 0.88);
	box-shadow: var(--samtecno-shadow);
	border: 1px solid var(--samtecno-border);
}

.carousel {
	overflow: hidden;
	box-shadow: var(--samtecno-shadow);
	border: 1px solid rgba(108, 75, 255, 0.16);
}

.carousel .carousel-caption,
.carousel .caption,
.carousel h2,
.carousel p {
	text-shadow: none;
}

.carousel .display-1,
.carousel h2 {
	font-family: 'Sora', sans-serif;
	font-weight: 800;
}

.btn,
.btn-primary,
.btn-secondary,
.btn-tertiary,
.btn-outline-primary,
.product-add-to-cart .btn,
.form-control,
.custom-select,
select,
input,
textarea {
	border-radius: 999px;
}

.btn-primary,
.btn-secondary,
.btn-outline-primary:hover,
.product-add-to-cart .btn,
.btn.btn-primary,
.btn.btn-primary.disabled,
.btn.btn-primary:disabled {
	background: linear-gradient(135deg, var(--samtecno-blue), var(--samtecno-blue-deep));
	border: none;
	box-shadow: 0 14px 30px rgba(76, 42, 199, 0.28);
	color: #fff;
}

.btn-primary:hover,
.btn-secondary:hover,
.product-add-to-cart .btn:hover {
	background: linear-gradient(135deg, #5736db, #381f98);
	transform: translateY(-1px);
}

.btn-outline-primary {
	border-color: rgba(108, 75, 255, 0.34);
	color: var(--samtecno-blue-deep);
}

.btn-outline-primary:hover {
	color: #fff;
}

.product-miniature,
.card,
.block-category,
.product-cover,
.product-tabs,
.footer-container,
.cms-block,
.contact-rich {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(15, 23, 42, 0.06);
	box-shadow: var(--samtecno-shadow);
}

.product-miniature {
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
	margin-bottom: 20px;
}

.products .products,
.featured-products .products,
.new-products .products,
.best-sellers .products {
	row-gap: 18px;
}

.product-miniature:hover {
	transform: translateY(-6px);
	box-shadow: 0 24px 44px rgba(57, 30, 150, 0.2);
	border-color: rgba(108, 75, 255, 0.28);
}

.product-miniature .thumbnail-container,
.product-miniature .product-image,
.product-miniature img {
	border-radius: 18px;
}

.product-miniature .discount,
.product-miniature .new,
.product-miniature .on-sale,
.product-miniature .product-flags,
.product-flags .discount,
.product-flags .new {
	border-radius: 999px;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.product-miniature .new,
.product-flags .new {
	background: rgba(108, 75, 255, 0.14);
	color: var(--samtecno-blue-deep);
}

.product-miniature .discount,
.product-flags .discount,
.product-miniature .on-sale {
	background: rgba(177, 75, 255, 0.14);
	color: var(--samtecno-red);
}

.price,
.current-price,
.product-price,
.discount-percentage,
.has-discount .current-price {
	color: var(--samtecno-blue-deep);
	font-weight: 800;
}

.product-title,
.product-miniature .product-title {
	font-weight: 700;
	line-height: 1.35;
}

.breadcrumb {
	background: transparent;
	color: var(--samtecno-muted);
}

.breadcrumb a {
	color: var(--samtecno-muted);
}

.pagination {
	gap: 8px;
	padding: 6px 0;
}

.pagination .page-item .page-link {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(108, 75, 255, 0.18);
	color: var(--samtecno-blue-deep);
	box-shadow: 0 8px 18px rgba(57, 30, 150, 0.08);
	border-radius: 14px;
	min-width: 42px;
	text-align: center;
	transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.pagination .page-item .page-link:hover {
	background: rgba(108, 75, 255, 0.08);
	border-color: rgba(108, 75, 255, 0.34);
	color: var(--samtecno-blue);
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(76, 42, 199, 0.16);
}

.pagination .page-item.active .page-link,
.pagination .page-item.active .page-link:hover {
	background: linear-gradient(135deg, var(--samtecno-blue), var(--samtecno-blue-deep));
	border-color: transparent;
	color: #fff;
	box-shadow: 0 12px 26px rgba(76, 42, 199, 0.26);
}

.pagination .page-item.disabled .page-link,
.pagination .page-item.disabled .page-link:hover {
	background: rgba(255, 255, 255, 0.72);
	border-color: rgba(108, 75, 255, 0.1);
	color: rgba(111, 103, 144, 0.65);
	box-shadow: none;
	transform: none;
}

.pagination .page-link:focus {
	box-shadow: 0 0 0 0.2rem rgba(108, 75, 255, 0.16);
	border-color: rgba(108, 75, 255, 0.42);
	outline: none;
}

.footer-container {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 248, 252, 0.98)),
		radial-gradient(circle at left top, rgba(108, 75, 255, 0.14), transparent 26%),
		radial-gradient(circle at right top, rgba(177, 75, 255, 0.14), transparent 24%);
	border: 1px solid rgba(108, 75, 255, 0.14);
	border-radius: 28px 28px 0 0;
	margin-top: 42px;
}

.footer-container h3,
.footer-container h4,
.footer-container .title,
.footer-container .h3 {
	color: var(--samtecno-text);
}

.footer-container a,
.footer-container p,
.footer-container li {
	color: var(--samtecno-muted);
}

.footer-container a:hover {
	color: var(--samtecno-red);
}

.block-reassurance ul {
	gap: 12px;
}

.block-reassurance li {
	background: rgba(108, 75, 255, 0.1);
	border-radius: 18px;
	padding: 14px 16px;
}

.page-index .featured-products > h2,
.page-index .featured-products .section-title,
.page-index .products > h2,
.page-index .products .section-title {
	text-align: center;
	margin-bottom: 18px;
}

.page-index .featured-products > h2::after,
.page-index .products > h2::after,
.section-title::after {
	content: '';
	display: block;
	width: 84px;
	height: 4px;
	border-radius: 999px;
	margin: 12px auto 0;
	background: linear-gradient(90deg, var(--samtecno-blue), var(--samtecno-red));
}

.page-index main,
.page-index #wrapper .container,
.page-index #content-wrapper .container {
	position: relative;
}

.page-index main::before {
	content: '';
	position: absolute;
	inset: 24px 20px auto;
	height: 160px;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(108, 75, 255, 0.16), rgba(177, 75, 255, 0.16));
	filter: blur(48px);
	opacity: 0.72;
	border-radius: 999px;
}

.header-top .container,
.header-top .row,
.header-top-right,
.header-top .position-static {
	overflow: visible;
}

#header,
#header .header-nav,
#header .header-top,
#header .header-nav .container,
#header .header-top .container,
#header .header-nav .row,
#header .header-top .row {
	position: relative;
	overflow: visible !important;
}

#header .header-nav {
	z-index: 260;
}

#header .header-top {
	z-index: 140;
}

.header-top .language-selector,
.header-top .currency-selector,
.header-top .user-info,
.header-top #contact-link,
.header-top .blockcart,
.header-top .search-widget {
	position: relative;
	z-index: 120;
}

#_desktop_language_selector,
#_desktop_currency_selector,
.header-top .dropdown,
.header-nav .dropdown {
	position: relative;
	z-index: 1700;
}

#_desktop_language_selector.show,
#_desktop_currency_selector.show,
.header-top .dropdown.show,
.header-nav .dropdown.show {
	z-index: 1750;
}

.header-top .dropdown-menu,
.header-nav .dropdown-menu,
.header-top .language-selector .dropdown-menu,
.header-top .currency-selector .dropdown-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 1800 !important;
	border: 1px solid rgba(108, 75, 255, 0.24);
	box-shadow: 0 18px 35px rgba(57, 30, 150, 0.2);
	border-radius: 14px;
}

#_desktop_language_selector .dropdown-menu,
#_desktop_currency_selector .dropdown-menu {
	min-width: 170px;
}

.header-top .user-info a,
.header-top #contact-link a,
.header-top .language-selector .dropdown-menu,
.header-top .currency-selector .dropdown-menu {
	color: var(--samtecno-text);
}

.quickview,
.wishlist-button,
.cart-preview {
	border-radius: 999px;
}

.header-top .shopping-cart,
.header-top .material-icons,
.header-top .dropdown-item,
.header-top .btn,
.header-top .nav-link {
	transition: transform 160ms ease, color 160ms ease, opacity 160ms ease;
}

.header-top .nav-link:hover,
.header-top .btn:hover,
.header-top .dropdown-item:hover {
	transform: translateY(-1px);
}

.page-index .carousel .carousel-inner img {
	object-fit: cover;
}

@media (max-width: 991px) {
	.header-top {
		border-radius: 0 0 22px 22px;
	}

	.page-home .featured-products,
	.page-home .products,
	.page-content,
	.product-page,
	.cart-grid,
	.checkout-step,
	.block-category,
	.search-results {
		border-radius: 18px;
	}
}

@media (max-width: 767px) {
	body {
		background:
			radial-gradient(circle at top left, rgba(108, 75, 255, 0.16), transparent 44%),
			radial-gradient(circle at top right, rgba(177, 75, 255, 0.14), transparent 40%),
			var(--samtecno-bg);
	}

	.header-nav,
	.header-top {
		border-radius: 0 0 18px 18px;
	}

	.header-top .search-widget,
	.header-top input[type='search'],
	.header-top input[type='text'] {
		border-radius: 18px;
	}

	.header-top #_desktop_logo img,
	.header-top .top-logo img,
	.header-top .logo img {
		max-height: 84px;
		transform: scale(1.12);
	}

	.header-top #_desktop_logo,
	.header-top .top-logo,
	.header-top .logo {
		height: auto;
		padding: 0;
	}

	.page-index main::before {
		inset: 12px 8px auto;
	}
}
