/*
Theme Name:    Ascotech Premium
Theme URI:     https://ascotech.ch
Description:   A bespoke, ultra-high-performance Block Theme for Ascotech.
Author:        Antigravity
Version:       1.0.0
Tested up to:  6.4
Requires at least: 6.2
Requires PHP:  7.4
License:       GNU General Public License v2 or later
License URI:   http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:   ascotech-premium
*/

:root {
	--primary-red: #ea1b25;
	--text-dark: #222;
	--text-grey: #777;
	--border-color: #eee;
	--display-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

body {
	margin: 0;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--text-dark);
}

/* Header Top Bar */
.ascotech-top-bar {
	display: flex;
	justify-content: center;
	gap: 20px;
	padding: 8px 20px;
	background: #fff;
	color: var(--text-grey);
	font-size: 13px;
	border-bottom: 1px solid var(--border-color);
}

/* Main Header */
.ascotech-header-main {
	max-width: 1400px;
	margin: 0 auto;
	padding: 25px 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 40px;
}

.ascotech-logo-link img {
	max-width: 180px;
}

/* Search Bar */
.ascotech-search-wrapper {
	flex-grow: 1;
	max-width: 800px;
}

.ascotech-search-wrapper .wp-block-search__inside-wrapper {
	display: flex;
	border: 2px solid var(--primary-red);
	border-radius: 30px;
	overflow: hidden;
}

.ascotech-search-wrapper input {
	border: none;
	padding: 12px 20px;
	width: 100%;
	outline: none;
	font-size: 14px;
}

.ascotech-search-wrapper button {
	background: var(--primary-red);
	color: white;
	border: none;
	padding: 0 25px;
	cursor: pointer;
}

.ascotech-header-icons {
	display: flex;
	gap: 20px;
	align-items: center;
}

.header-icon-link {
	text-decoration: none !important;
	color: #555 !important;
	transition: all 0.3s ease;
	display: inline-flex !important;
	align-items: center !important;
	vertical-align: middle !important;
}

.header-icon-link:hover {
	color: var(--primary-red) !important;
	transform: translateY(-2px);
}

.header-icon {
	position: relative;
	display: flex !important;
	align-items: center !important;
	gap: 12px;
	height: 32px !important;
}

.icon-svg {
	stroke-width: 1.5;
	/* Slightly thinner for a more elegant look */
}

.header-icon .badge {
	position: absolute;
	top: -8px;
	right: -8px;
	background: var(--primary-red);
	color: white;
	font-size: 11px;
	font-weight: 700;
	border-radius: 10px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 6px rgba(234, 27, 37, 0.35);
	line-height: 1;
}

.cart-icon-main .badge {
	position: absolute !important;
	top: -8px !important;
	right: -8px !important;
	left: auto !important;
}

.cart-total {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #555 !important;
	line-height: 1 !important;
	margin-left: 10px !important;
	display: inline-block !important;
}

/* Custom Mega Menu Navigation */
.ascotech-menu-toggle {
	display: none;
}

.ascotech-nav-container {
	background: var(--primary-red);
	position: relative;
	z-index: 1000;
}

.ascotech-main-menu {
	width: 100% !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 0 20px !important;
	box-sizing: border-box !important;
	list-style: none;
	display: flex;
	gap: 5px;
}

.ascotech-main-menu>li>a {
	display: block;
	padding: 15px 25px;
	color: white;
	text-decoration: none;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: background 0.3s ease;
}

.ascotech-main-menu>li>a:hover {
	background: rgba(255, 255, 255, 0.1);
}

.ascotech-main-menu li .arrow {
	font-size: 10px;
	margin-left: 5px;
	opacity: 0.8;
}

/* Mega Menu Dropdown */
.has-mega-menu {
	position: static;
	/* Required for full-width dropdown */
}

.mega-menu {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #fff;
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
	padding: 40px 0;
	display: none;
	border-top: 2px solid var(--primary-red);
}

.has-mega-menu:hover .mega-menu {
	display: block;
	animation: fadeInNav 0.3s ease;
}

.mega-menu-inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
}

.mega-column h3 {
	font-size: 16px;
	font-weight: 800;
	color: #000;
	margin: 0 0 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #eee;
}

.mega-column ul {
	list-style: none;
	padding: 0;
}

.mega-column ul li {
	margin-bottom: 12px;
}

.mega-column ul li a {
	text-decoration: none;
	color: #666;
	font-size: 14px;
	transition: color 0.2s ease;
}

.mega-column ul li a:hover {
	color: var(--primary-red);
}

.mega-image-col {
	display: flex;
	align-items: center;
	justify-content: center;
}

.mega-image-col img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
}

@keyframes fadeInNav {
	from {
		opacity: 0;
		transform: translateY(10px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}



/* Premium Features Bar (Below Nav) */
.ascotech-features-bar {
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 15px 20px !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: space-between !important;
	align-items: center !important;
	border: none !important;
	border-bottom: 0px none transparent !important;
	box-shadow: none !important;
	background: #fff !important;
}

.ascotech-features-bar::after,
.ascotech-features-bar::before {
	display: none !important;
	content: none !important;
}

/* Global Header & Main Cleanup */
header,
.wp-block-template-part header,
header.wp-block-group {
	border-bottom: none !important;
	box-shadow: none !important;
}

main.wp-block-group,
.entry-content {
	border-top: none !important;
	margin-top: 0 !important;
}

.feature-item {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 5px 15px !important;
}

.feature-emoji {
	font-size: 24px;
	line-height: 1;
}

.feature-text {
	color: #333 !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	white-space: nowrap !important;
	letter-spacing: -0.2px !important;
}



@media (max-width: 600px) {
	.feature-text {
		font-size: 12px !important;
	}

	.feature-emoji {
		font-size: 18px !important;
	}
}

/* Premium Steps Section */
.ascotech-steps-container {
	max-width: 1400px;
	margin: 80px auto;
	padding: 0 20px;
	text-align: center;
}

.ascotech-steps-container h2 {
	font-size: 36px;
	font-weight: 900;
	margin-bottom: 50px;
	color: #000;
	letter-spacing: -1px;
}

.ascotech-steps-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 30px !important;
}

.step-card {
	background: #fff;
	padding: 40px 25px;
	border-radius: 16px;
	border: 1px solid var(--border-color);
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	position: relative;
	overflow: hidden;
}

.step-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
	border-color: var(--primary-red);
}

.step-number {
	font-size: 80px;
	font-weight: 900;
	color: rgba(0, 0, 0, 0.03);
	position: absolute;
	top: -10px;
	right: -10px;
	z-index: 1;
	line-height: 1;
}

.step-content {
	position: relative;
	z-index: 2;
}

.step-title {
	font-size: 20px;
	font-weight: 800;
	margin: 0 0 15px;
	color: var(--text-dark);
}

.step-title::after {
	content: '';
	display: block;
	width: 40px;
	height: 3px;
	background: var(--primary-red);
	margin: 12px auto 0;
	border-radius: 2px;
}

.step-description {
	font-size: 14px;
	color: var(--text-grey);
	line-height: 1.6;
}

@media (max-width: 1100px) {
	.ascotech-steps-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 600px) {
	.ascotech-steps-grid {
		grid-template-columns: 1fr !important;
	}

	.ascotech-steps-container h2 {
		font-size: 28px;
	}
}

/* Premium Product Carousel */
.ascotech-premium-carousel {
	max-width: 1400px;
	margin: 60px auto !important;
	padding: 30px 20px !important;
	background: #fff;
	border-radius: 12px;
	border: 1px solid #f0f0f0;
}

.carousel-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 30px !important;
	border-bottom: 1px solid var(--border-color) !important;
	padding-bottom: 12px !important;
}

.carousel-title {
	font-family: var(--display-font) !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	margin: 0 !important;
	color: var(--text-dark) !important;
	position: relative !important;
	letter-spacing: -0.3px !important;
}

.carousel-title::after {
	content: '' !important;
	position: absolute !important;
	bottom: -13px !important;
	left: 0 !important;
	width: 40px !important;
	height: 3px !important;
	background: linear-gradient(90deg, #ea1b25 0%, #ff4d5a 100%) !important;
	border-radius: 2px !important;
}

.carousel-nav {
	display: none !important;
}

.carousel-nav button,
button.nav-prev,
button.nav-next {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	width: 38px !important;
	height: 38px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	color: #64748b !important;
	fill: #64748b !important;
	stroke: #64748b !important;
	transition: all 0.25s ease !important;
	font-size: 14px !important;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03) !important;
}

.carousel-nav button svg,
.carousel-nav button svg path,
button.nav-prev svg,
button.nav-next svg,
button.nav-prev svg path,
button.nav-next svg path {
	fill: none !important;
	stroke: #64748b !important;
	color: #64748b !important;
}

.carousel-nav button:hover,
button.nav-prev:hover,
button.nav-next:hover {
	background: #f1f5f9 !important;
	color: #1e293b !important;
	border-color: #cbd5e1 !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
	transform: scale(1.08) !important;
}

.carousel-nav button:hover svg,
.carousel-nav button:hover svg path,
button.nav-prev:hover svg path,
button.nav-next:hover svg path {
	stroke: #1e293b !important;
	color: #1e293b !important;
}

.carousel-nav button.disabled,
button.nav-prev.disabled,
button.nav-next.disabled {
	opacity: 0.35 !important;
	cursor: not-allowed !important;
	background: #f8fafc !important;
	color: #94a3b8 !important;
	border-color: #e2e8f0 !important;
	box-shadow: none !important;
	transform: none !important;
}

.carousel-nav button.disabled svg,
.carousel-nav button.disabled svg path,
button.nav-prev.disabled svg path,
button.nav-next.disabled svg path {
	stroke: #94a3b8 !important;
	color: #94a3b8 !important;
}

.ascotech-product-carousel-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 25px !important;
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch;
	padding: 10px 0 15px !important;
	margin: 0 0 15px 0 !important;
	list-style: none !important;
	width: 100% !important;
	scrollbar-width: thin !important;
	scrollbar-color: #cbd5e1 #f1f5f9 !important;
}

.ascotech-product-carousel-inner.is-dragging {
	scroll-behavior: auto !important;
	scroll-snap-type: none !important;
}

.ascotech-product-carousel-inner.is-dragging * {
	pointer-events: none !important;
}

/* Modern Premium Horizontal Scrollbar (Grey Palette - No Arrows) */
.ascotech-product-carousel-inner::-webkit-scrollbar {
	height: 6px !important;
	display: block !important;
}

.ascotech-product-carousel-inner::-webkit-scrollbar-button {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

.ascotech-product-carousel-inner::-webkit-scrollbar-track {
	background: #f1f5f9 !important;
	border-radius: 10px !important;
}

.ascotech-product-carousel-inner::-webkit-scrollbar-thumb {
	background: #cbd5e1 !important;
	border-radius: 10px !important;
	transition: background 0.3s ease !important;
}

.ascotech-product-carousel-inner::-webkit-scrollbar-thumb:hover,
.ascotech-product-carousel-inner:hover::-webkit-scrollbar-thumb {
	background: #94a3b8 !important;
}

.ascotech-product-carousel-inner.active {
	cursor: grabbing;
	cursor: -webkit-grabbing;
}

.premium-carousel-item {
	flex: 0 0 240px !important;
	min-width: 240px !important;
	width: 240px !important;
	scroll-snap-align: start;
	border: 1px solid #f1f5f9;
	border-radius: 16px;
	padding: 20px;
	text-align: center;
	background: #fff;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between;
	position: relative;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.01);
}

.premium-carousel-item::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 16px;
	padding: 1px;
	background: linear-gradient(135deg, rgba(234, 27, 37, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.premium-carousel-item:hover {
	transform: translateY(-6px);
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.04);
	border-color: rgba(234, 27, 37, 0.15);
}

.premium-carousel-item:hover::before {
	opacity: 1;
}

.premium-carousel-item img {
	width: 100%;
	height: auto;
	margin-bottom: 12px;
	display: block;
	border-radius: 12px;
	transition: transform 0.45s ease;
	background: #f8fafc;
	padding: 8px;
	box-sizing: border-box;
}

.premium-carousel-item:hover img {
	transform: scale(1.05);
}

.premium-carousel-item h3 {
	font-family: var(--display-font) !important;
	font-size: 13px !important;
	margin: 0 0 8px !important;
	font-weight: 700 !important;
	color: var(--text-dark) !important;
	line-height: 1.4 !important;
	min-height: 36px;
	text-align: left !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

.premium-carousel-item .price {
	font-family: var(--display-font) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	margin-bottom: 0 !important;
	display: flex;
	align-items: baseline;
	gap: 6px;
	justify-content: flex-start;
}

/* Carousel Drag & Touch UX */
.ascotech-product-carousel-inner {
	user-select: none !important;
	-webkit-user-select: none !important;
	cursor: grab;
}

.ascotech-product-carousel-inner img,
.ascotech-product-carousel-inner a {
	-webkit-user-drag: none !important;
	user-select: none !important;
}

.premium-carousel-bottom-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	margin-top: auto !important;
	padding-top: 6px !important;
	gap: 8px !important;
	box-sizing: border-box !important;
}

.premium-carousel-item .price {
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	text-align: left !important;
	gap: 1px !important;
	line-height: 1.15 !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.premium-carousel-item .price del {
	font-size: 11.5px !important;
	color: #94a3b8 !important;
	margin-right: 0 !important;
	font-weight: 500 !important;
	text-decoration: line-through !important;
	line-height: 1 !important;
}

.premium-carousel-item .price ins,
.premium-carousel-item .price .woocommerce-Price-amount:not(del .woocommerce-Price-amount) {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--primary-red, #ea1b25) !important;
	text-decoration: none !important;
	line-height: 1.15 !important;
}

.premium-carousel-item .ascotech-loop-cart-btn,
.premium-carousel-item .ascotech-cart-icon-btn {
	background: #0f172a !important;
	color: #ffffff !important;
	width: 36px !important;
	height: 36px !important;
	min-height: 36px !important;
	min-width: 36px !important;
	max-width: 36px !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	cursor: pointer !important;
	transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.15) !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	flex-shrink: 0 !important;
}

.premium-carousel-item .ascotech-loop-cart-btn:hover,
.premium-carousel-item .ascotech-cart-icon-btn:hover {
	background: var(--primary-red, #ea1b25) !important;
	transform: scale(1.08) !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.3) !important;
}

.premium-carousel-item .ascotech-loop-cart-btn.added-success,
.premium-carousel-item .ascotech-cart-icon-btn.added-success {
	background: #27ae60 !important;
	color: #ffffff !important;
	transform: scale(1.08) !important;
	box-shadow: 0 4px 12px rgba(39, 174, 96, 0.4) !important;
}

.premium-carousel-item .ascotech-loop-cart-btn svg,
.premium-carousel-item .ascotech-cart-icon-btn svg {
	width: 16px !important;
	height: 16px !important;
	stroke: #ffffff !important;
	fill: none !important;
	flex-shrink: 0 !important;
	transition: transform 0.2s ease !important;
	margin: 0 !important;
}

.premium-carousel-item .ascotech-loop-cart-btn svg circle,
.premium-carousel-item .ascotech-loop-cart-btn svg path,
.premium-carousel-item .ascotech-loop-cart-btn svg polyline {
	stroke: #ffffff !important;
	fill: none !important;
}

/* High-specificity override for cart circle button inside the product carousel card */
.premium-carousel-item .ascotech-cart-icon-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	padding: 0 !important;
	background: var(--primary-red) !important;
	border-radius: 50% !important;
	border: none !important;
	color: #ffffff !important;
	margin: 4px 0 0 auto !important;
	transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	text-decoration: none !important;
	flex-shrink: 0 !important;
	box-shadow: 0 4px 10px rgba(234, 27, 37, 0.2) !important;
}

.premium-carousel-item .ascotech-cart-icon-btn:hover {
	background: #c1121b !important;
	color: #ffffff !important;
	transform: scale(1.12) !important;
	box-shadow: 0 6px 15px rgba(234, 27, 37, 0.45) !important;
}

.premium-carousel-item .ascotech-cart-icon-btn svg {
	width: 15px !important;
	height: 15px !important;
	display: block !important;
	stroke: #ffffff !important;
	stroke-width: 2.2px !important;
	transition: transform 0.3s ease !important;
}

.premium-carousel-item .ascotech-cart-icon-btn:hover svg {
	transform: scale(1.1);
	animation: cart-heartbeat 0.6s ease-in-out;
}

@keyframes cart-heartbeat {
	0% {
		transform: scale(1);
	}

	30% {
		transform: scale(1.2);
	}

	60% {
		transform: scale(0.9);
	}

	100% {
		transform: scale(1.1);
	}
}

@media (max-width: 600px) {
	.premium-carousel-item {
		flex: 0 0 220px !important;
		min-width: 220px !important;
	}

	.carousel-title {
		font-size: 20px !important;
	}
}

/* Premium Deal Carousel with Sidebar */
.ascotech-deal-carousel-container {
	max-width: 1400px !important;
	margin: 40px auto !important;
	padding: 0 20px !important;
	display: flex !important;
	gap: 30px !important;
	align-items: stretch !important;
	box-sizing: border-box !important;
}

/* Left Deal Box Card */
.deal-side-box {
	flex: 0 0 310px !important;
	width: 310px !important;
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px !important;
	padding: 28px 24px 24px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	text-align: center !important;
	position: relative !important;
	box-shadow: 0 4px 25px rgba(0, 0, 0, 0.03) !important;
	transition: all 0.3s ease !important;
	box-sizing: border-box !important;
}

.deal-side-box:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(234, 27, 37, 0.2) !important;
	box-shadow: 0 16px 40px rgba(234, 27, 37, 0.08) !important;
}

.deal-label {
	background: linear-gradient(135deg, #ea1b25 0%, #c1121c 100%) !important;
	color: #ffffff !important;
	padding: 7px 18px !important;
	font-weight: 800 !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	border-radius: 30px !important;
	position: absolute !important;
	top: -14px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	white-space: nowrap !important;
	box-shadow: 0 4px 15px rgba(234, 27, 37, 0.35) !important;
	z-index: 10 !important;
}

.deal-featured-product {
	margin-top: 6px !important;
	flex-grow: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}

.deal-image-wrapper {
	background: transparent !important;
	border: none !important;
	border-radius: 12px !important;
	padding: 0 !important;
	width: 140px !important;
	height: 140px !important;
	aspect-ratio: 1 / 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 auto 12px auto !important;
	transition: all 0.3s ease !important;
}

.deal-image-wrapper img {
	max-height: 135px !important;
	max-width: 135px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	margin: 0 auto !important;
	display: block !important;
	transition: transform 0.3s ease !important;
}

.deal-side-box:hover .deal-image-wrapper img {
	transform: scale(1.05) !important;
}

.deal-featured-product h4 {
	font-size: 15px !important;
	font-weight: 700 !important;
	margin: 0 0 10px !important;
	color: #111827 !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
}

.deal-featured-product a {
	text-decoration: none !important;
}

.deal-price {
	margin-bottom: 16px !important;
	display: flex !important;
	justify-content: center !important;
	align-items: baseline !important;
	gap: 8px !important;
	line-height: 1 !important;
}

.deal-price ins {
	color: #ea1b25 !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

.deal-price del {
	font-size: 14px !important;
	color: #94a3b8 !important;
	font-weight: 500 !important;
	text-decoration: line-through !important;
}

.deal-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: linear-gradient(135deg, #ea1b25 0%, #c1121c 100%) !important;
	color: #ffffff !important;
	height: 44px !important;
	line-height: 44px !important;
	border-radius: 25px !important;
	text-decoration: none !important;
	font-weight: 800 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	transition: all 0.25s ease !important;
	box-shadow: 0 6px 20px rgba(234, 27, 37, 0.25) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.deal-button:hover {
	background: #111827 !important;
	color: #ffffff !important;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2) !important;
	transform: translateY(-2px) !important;
}

/* Right Side Carousel Box */
.deal-carousel-side {
	flex: 1 1 0% !important;
	min-width: 0 !important;
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px !important;
	padding: 24px 28px !important;
	box-shadow: 0 4px 25px rgba(0, 0, 0, 0.03) !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.deal-carousel-side .carousel-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 16px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid #f3f4f6 !important;
	flex: 0 0 auto !important;
}

.deal-carousel-side .carousel-title {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #111827 !important;
	margin: 0 !important;
	border-left: none !important;
	padding-left: 0 !important;
	line-height: 1.2 !important;
	position: relative !important;
}

.deal-carousel-side .carousel-title::after {
	content: '' !important;
	position: absolute !important;
	bottom: -13px !important;
	left: 0 !important;
	width: 40px !important;
	height: 3px !important;
	background: linear-gradient(90deg, #ea1b25 0%, #ff4d5a 100%) !important;
	border-radius: 2px !important;
	display: block !important;
}

.deal-carousel-side .ascotech-product-carousel-inner {
	display: flex !important;
	gap: 16px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	-webkit-overflow-scrolling: touch !important;
	touch-action: pan-x pan-y !important;
	padding-top: 6px !important;
	padding-bottom: 14px !important;
	scrollbar-width: thin !important;
	scrollbar-color: #cbd5e1 #f1f5f9 !important;
	box-sizing: border-box !important;
}

.deal-carousel-side .ascotech-product-carousel-inner::-webkit-scrollbar {
	height: 6px !important;
}

.deal-carousel-side .ascotech-product-carousel-inner::-webkit-scrollbar-track {
	background: #f1f5f9 !important;
	border-radius: 10px !important;
}

.deal-carousel-side .ascotech-product-carousel-inner::-webkit-scrollbar-thumb {
	background: #cbd5e1 !important;
	border-radius: 10px !important;
}

.deal-carousel-side .ascotech-product-carousel-inner::-webkit-scrollbar-thumb:hover {
	background: #ea1b25 !important;
}

.deal-carousel-side .premium-carousel-item {
	flex: 0 0 200px !important;
	min-width: 200px !important;
	width: 200px !important;
	background: #ffffff !important;
	border: 1px solid #f1f5f9 !important;
	border-radius: 14px !important;
	padding: 14px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	transition: all 0.25s ease !important;
	box-sizing: border-box !important;
}

.deal-carousel-side .premium-carousel-item:hover {
	border-color: rgba(234, 27, 37, 0.2) !important;
	transform: translateY(-4px) !important;
	box-shadow: 0 10px 25px rgba(234, 27, 37, 0.06) !important;
}

.deal-carousel-side .carousel-item-image-wrapper,
.carousel-item-image-wrapper {
	background: transparent !important;
	border: none !important;
	border-radius: 10px !important;
	padding: 0 !important;
	width: 120px !important;
	height: 120px !important;
	aspect-ratio: 1 / 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 auto 10px auto !important;
}

.deal-carousel-side .carousel-item-image-wrapper img,
.carousel-item-image-wrapper img {
	max-height: 115px !important;
	max-width: 115px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	margin: 0 auto !important;
}

.deal-carousel-side .premium-carousel-item h3 {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 0 6px !important;
	line-height: 1.3 !important;
	height: 34px !important;
	overflow: hidden !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
}

.deal-carousel-side .premium-carousel-item .price {
	font-size: 14px !important;
	font-weight: 800 !important;
	color: #ea1b25 !important;
	margin-bottom: 10px !important;
}

.deal-carousel-side .premium-carousel-item .price del {
	font-size: 12px !important;
	color: #94a3b8 !important;
	font-weight: 500 !important;
	margin-right: 4px !important;
}

.deal-carousel-side .ascotech-cart-icon-btn {
	width: 100% !important;
	height: 36px !important;
	background: #ea1b25 !important;
	color: #ffffff !important;
	border-radius: 20px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: none !important;
	transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	cursor: pointer !important;
	margin-top: auto !important;
	box-shadow: 0 4px 10px rgba(234, 27, 37, 0.15) !important;
}

.deal-carousel-side .ascotech-cart-icon-btn:hover {
	background: #111827 !important;
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15) !important;
}

.deal-carousel-side .ascotech-cart-icon-btn.added-success,
.premium-carousel-item .ascotech-cart-icon-btn.added-success {
	background: #27ae60 !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgba(39, 174, 96, 0.4) !important;
	transform: scale(1.04) !important;
}

.deal-carousel-side .ascotech-cart-icon-btn.added-success:hover,
.premium-carousel-item .ascotech-cart-icon-btn.added-success:hover {
	background: #219653 !important;
}

.deal-carousel-side .ascotech-cart-icon-btn svg {
	width: 14px !important;
	height: 14px !important;
	stroke: #ffffff !important;
	fill: none !important;
	transition: transform 0.2s ease !important;
}

.deal-carousel-side .ascotech-cart-icon-btn svg circle,
.deal-carousel-side .ascotech-cart-icon-btn svg path,
.deal-carousel-side .ascotech-cart-icon-btn svg polyline {
	stroke: #ffffff !important;
	fill: none !important;
}

/* Fallbacks for other pages */
.ascotech-main-wrapper {
	max-width: 1400px !important;
	margin: 0 auto !important;
	margin-top: 0 !important;
	padding: 0 20px 80px !important;
}

/* Live Search Results */
.ascotech-search-wrapper {
	position: relative;
}

.ascotech-search-results {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #fff;
	border: 1px solid var(--border-color);
	border-radius: 12px;
	margin-top: 10px;
	box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
	z-index: 9999;
	display: none;
	overflow: hidden;
	max-height: 450px;
	overflow-y: auto;
}

.search-result-item {
	display: flex !important;
	align-items: center !important;
	gap: 15px !important;
	padding: 15px !important;
	text-decoration: none !important;
	color: var(--text-dark) !important;
	border-bottom: 1px solid #f9f9f9 !important;
}

.search-result-item:hover {
	background: #fdf2f2 !important;
}

.result-image img {
	width: 50px !important;
	height: 50px !important;
	object-fit: cover !important;
	border-radius: 4px !important;
}

.result-title {
	font-weight: 700 !important;
	font-size: 14px !important;
	margin-bottom: 4px !important;
	color: var(--text-dark) !important;
}

.result-price {
	color: var(--primary-red) !important;
	font-weight: 800 !important;
	font-size: 13px !important;
}

.no-results {
	padding: 20px !important;
	text-align: center !important;
	color: var(--text-grey) !important;
	font-size: 14px !important;
}

/* Product Archive / Category Page Styles */
.wp-block-woocommerce-product-collection ul.wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
	gap: 30px !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 40px 0 !important;
}

.wp-block-woocommerce-product-collection .wc-block-grid__product {
	background: #fff !important;
	border: 1px solid var(--border-color) !important;
	border-radius: 12px !important;
	padding: 20px !important;
	text-align: center !important;
	transition: all 0.3s ease !important;
}

.wp-block-woocommerce-product-collection .wc-block-grid__product:hover {
	transform: translateY(-5px) !important;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05) !important;
	border-color: var(--primary-red) !important;
}

.wp-block-woocommerce-product-collection .wc-block-grid__product-image {
	margin-bottom: 15px !important;
}

.wp-block-woocommerce-product-collection .wc-block-grid__product-title {
	font-size: 16px !important;
	font-weight: 700 !important;
	margin: 0 0 10px !important;
	color: var(--text-dark) !important;
}

.wp-block-woocommerce-product-collection .wc-block-grid__product-price {
	color: var(--primary-red) !important;
	font-weight: 800 !important;
	font-size: 18px !important;
	margin-bottom: 20px !important;
}

.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-add-to-cart {
	margin-top: auto !important;
}

.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-add-to-cart a {
	background: var(--primary-red) !important;
	color: white !important;
	padding: 10px 20px !important;
	border-radius: 30px !important;
	text-decoration: none !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	display: block !important;
}

/* Post Template Grid Fix */
ul.wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 30px !important;
	list-style: none !important;
	padding: 0 !important;
}

.wp-block-post-template li {
	background: #fff !important;
	border: 1px solid var(--border-color) !important;
	border-radius: 12px !important;
	padding: 20px !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}

/* Premium Product Grid (3 Columns) */
.ascotech-product-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 40px !important;
	list-style: none !important;
	padding: 0 !important;
}

.product-card {
	position: relative !important;
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-items: center !important;
	box-sizing: border-box !important;
	background: #ffffff !important;
	padding: 20px 16px !important;
	border: 1px solid #eaeaea !important;
	border-radius: 16px !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
	transition: all 0.35s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	text-align: center !important;
}

.product-card:hover {
	transform: translateY(-6px) !important;
	box-shadow: 0 15px 35px rgba(234, 27, 37, 0.12) !important;
	border-color: rgba(234, 27, 37, 0.4) !important;
}

/* Floating Red Sale Badge for Archive Cards */
.product-card .onsale,
.product-card .wc-block-components-product-sale-badge,
.product-card span.onsale {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	left: auto !important;
	background: linear-gradient(135deg, #ea1b25 0%, #c1121c 100%) !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	padding: 4px 10px !important;
	border-radius: 20px !important;
	box-shadow: 0 4px 10px rgba(234, 27, 37, 0.3) !important;
	border: none !important;
	line-height: 1.2 !important;
	z-index: 5 !important;
}

.product-card .wp-block-woocommerce-product-image,
.product-card .wc-block-components-product-image {
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.product-card img,
.product-card .wp-block-woocommerce-product-image img {
	max-height: 140px !important;
	width: auto !important;
	margin: 0 auto !important;
	object-fit: contain !important;
	display: block !important;
	transition: transform 0.3s ease !important;
}

.product-card:hover img {
	transform: scale(1.05);
}

.product-card-title {
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.product-card-title a {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #111827 !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
	transition: color 0.2s ease !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

.product-card-title a:hover {
	color: var(--primary-red, #ea1b25) !important;
}

/* Product Card Bottom Action Row (Option 1: Price + Compact Cart Button) */
.product-card-bottom-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	margin-top: auto !important;
	padding-top: 6px !important;
	gap: 8px !important;
	box-sizing: border-box !important;
}

/* Strikethrough & Regular Price Formatting */
.product-card-price,
.product-card .wc-block-components-product-price,
.product-card .price {
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	text-align: left !important;
	gap: 1px !important;
	line-height: 1.15 !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.product-card-price del,
.product-card .wc-block-components-product-price del,
.product-card .price del,
.product-card del .woocommerce-Price-amount {
	font-size: 11.5px !important;
	color: #94a3b8 !important;
	font-weight: 500 !important;
	text-decoration: line-through !important;
	line-height: 1 !important;
	margin: 0 !important;
}

.product-card-price ins,
.product-card .wc-block-components-product-price ins,
.product-card .price ins,
.product-card ins .woocommerce-Price-amount,
.product-card-price .woocommerce-Price-amount:not(del .woocommerce-Price-amount) {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: var(--primary-red, #ea1b25) !important;
	text-decoration: none !important;
	line-height: 1.15 !important;
	margin: 0 !important;
}

.product-card-button {
	flex-shrink: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Catalog Card Compact Circular Cart Button */
.product-card-button .add_to_cart_button,
.product-card-button .button,
.product-card-button a.button,
.ascotech-loop-cart-btn {
	background: #0f172a !important;
	color: #ffffff !important;
	width: 36px !important;
	height: 36px !important;
	min-height: 36px !important;
	min-width: 36px !important;
	max-width: 36px !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	cursor: pointer !important;
	transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.15) !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
}

.product-card-button .add_to_cart_button:hover,
.product-card-button .button:hover,
.ascotech-loop-cart-btn:hover {
	background: var(--primary-red, #ea1b25) !important;
	transform: scale(1.08) !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.3) !important;
}

.product-card-button .add_to_cart_button.added-success,
.product-card-button .button.added-success,
.ascotech-loop-cart-btn.added-success {
	background: #27ae60 !important;
	color: #ffffff !important;
	transform: scale(1.08) !important;
	box-shadow: 0 4px 12px rgba(39, 174, 96, 0.4) !important;
}

.product-card-button .add_to_cart_button svg,
.product-card-button .button svg,
.ascotech-loop-cart-btn svg {
	width: 16px !important;
	height: 16px !important;
	stroke: #ffffff !important;
	fill: none !important;
	flex-shrink: 0 !important;
	transition: transform 0.2s ease !important;
	margin: 0 !important;
}

.product-card-button .add_to_cart_button svg circle,
.product-card-button .add_to_cart_button svg path,
.product-card-button .add_to_cart_button svg polyline,
.product-card-button .button svg circle,
.product-card-button .button svg path,
.product-card-button .button svg polyline,
.ascotech-loop-cart-btn svg circle,
.ascotech-loop-cart-btn svg path,
.ascotech-loop-cart-btn svg polyline {
	stroke: #ffffff !important;
	fill: none !important;
}

.product-card .added_to_cart {
	display: none !important;
}

/* AGGRESSIVE GRID FIX (scoped: excludes magazin templates) */
.ascotech-product-grid,
ul.wp-block-post-template:not(.magazin-featured-list):not(.magazin-post-grid) {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	margin: 20px auto !important;
	padding: 0 !important;
	list-style: none !important;
}

ul.wp-block-post-template>li,
li.wp-block-post {
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	width: 100% !important;
}

/* Mobile 2-Column Responsive Layout for Product Grid & Cards */
@media (max-width: 768px) {
	.ascotech-product-grid,
	ul.wp-block-post-template:not(.magazin-featured-list):not(.magazin-post-grid) {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
		margin: 2px auto 15px auto !important;
		padding: 0 !important;
	}

	.product-card {
		padding: 10px 8px 8px 8px !important;
		border-radius: 12px !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
	}

	.product-card .onsale,
	.product-card .wc-block-components-product-sale-badge,
	.product-card span.onsale {
		top: 6px !important;
		right: 6px !important;
		font-size: 8.5px !important;
		font-weight: 800 !important;
		padding: 2px 6px !important;
		letter-spacing: 0.4px !important;
		border-radius: 8px !important;
	}

	.product-card .wp-block-woocommerce-product-image,
	.product-card .wc-block-components-product-image {
		margin: 0 0 2px 0 !important;
		padding: 0 !important;
	}

	.product-card img,
	.product-card .wp-block-woocommerce-product-image img {
		max-height: 90px !important;
		margin: 0 auto !important;
	}

	.product-card-title {
		margin: 0 0 2px 0 !important;
		padding: 0 !important;
	}

	.product-card-title a {
		font-size: 12px !important;
		line-height: 1.2 !important;
		font-weight: 700 !important;
		min-height: unset !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}

	.product-card-bottom-row {
		padding-top: 4px !important;
		gap: 6px !important;
	}

	.product-card-price,
	.product-card .wc-block-components-product-price,
	.product-card .price {
		margin: 0 !important;
		padding: 0 !important;
		gap: 1px !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		text-align: left !important;
	}

	.product-card-price del,
	.product-card .wc-block-components-product-price del,
	.product-card .price del,
	.product-card del .woocommerce-Price-amount {
		font-size: 10px !important;
		line-height: 1 !important;
		margin: 0 !important;
	}

	.product-card-price ins,
	.product-card .wc-block-components-product-price ins,
	.product-card .price ins,
	.product-card ins .woocommerce-Price-amount,
	.product-card-price .woocommerce-Price-amount:not(del .woocommerce-Price-amount) {
		font-size: 13.5px !important;
		font-weight: 800 !important;
		line-height: 1.1 !important;
		margin: 0 !important;
	}

	.product-card-button {
		flex-shrink: 0 !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.product-card-button .add_to_cart_button,
	.product-card-button .button,
	.product-card-button a.button,
	.ascotech-loop-cart-btn {
		width: 32px !important;
		height: 32px !important;
		min-height: 32px !important;
		min-width: 32px !important;
		max-width: 32px !important;
		border-radius: 50% !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.product-card-button .add_to_cart_button svg,
	.product-card-button .button svg,
	.ascotech-loop-cart-btn svg {
		width: 14px !important;
		height: 14px !important;
	}
}

@media (max-width: 380px) {
	.ascotech-product-grid,
	ul.wp-block-post-template:not(.magazin-featured-list):not(.magazin-post-grid) {
		gap: 6px !important;
	}

	.product-card {
		padding: 8px 6px 6px 6px !important;
	}

	.product-card img,
	.product-card .wp-block-woocommerce-product-image img {
		max-height: 80px !important;
	}

	.product-card-title a {
		font-size: 11.5px !important;
	}

	.product-card-button .add_to_cart_button,
	.product-card-button .button,
	.product-card-button a.button {
		font-size: 10.5px !important;
		padding: 3px 5px !important;
	}
}

/* Scope Product Grid to Archives Only */
.single-product li.wp-block-post {
	width: auto !important;
	min-width: 0 !important;
	background: none !important;
	padding: 0 !important;
	border: none !important;
}

.single-product main .wp-block-columns {
	display: flex !important;
	gap: 40px !important;
}

.wp-block-woocommerce-product-categories {
	background: #fff !important;
	padding: 20px !important;
	border-radius: 12px !important;
	border: 1px solid #eee !important;
}

/* Sidebar Category Menu Styles */
.ascotech-sidebar {
	border: 1px solid #eee !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	background: #fff !important;
	margin-right: 20px !important;
	flex-shrink: 0 !important;
	align-self: flex-start !important;
	height: fit-content !important;
}

.ascotech-main-wrapper .wp-block-columns {
	gap: 40px !important;
}

.ascotech-sidebar a.sidebar-header,
.ascotech-sidebar .sidebar-header,
a.sidebar-header,
.sidebar-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	box-sizing: border-box !important;
	background: #ffffff !important;
	padding: 16px 20px !important;
	margin: 0 !important;
	border: none !important;
	border-bottom: 1px solid #eeeeee !important;
	font-size: 14px !important;
	color: #444444 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	box-shadow: none !important;
	outline: none !important;
	transition: color 0.2s ease, background 0.2s ease !important;
}

.ascotech-sidebar a.sidebar-header:hover,
a.sidebar-header:hover {
	color: #ea1b25 !important;
	background: #fafafa !important;
	text-decoration: none !important;
}

.ascotech-sidebar a.sidebar-header svg,
a.sidebar-header svg {
	color: #888888 !important;
	stroke: #888888 !important;
	transition: transform 0.2s ease, color 0.2s ease !important;
	flex-shrink: 0 !important;
}

.ascotech-sidebar a.sidebar-header:hover svg,
a.sidebar-header:hover svg {
	color: #ea1b25 !important;
	stroke: #ea1b25 !important;
	transform: translateX(3px) !important;
}

a.sidebar-header:where(:not(.wp-element-button)),
a.sidebar-header *,
a.sidebar-header:visited,
a.sidebar-header:focus,
a.sidebar-header:active {
	text-decoration: none !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Custom Category Sidebar List Styling */
.ascotech-sidebar ul.ascotech-custom-categories,
.ascotech-custom-categories {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
	width: 100% !important;
}

.ascotech-sidebar .ascotech-custom-categories li,
.ascotech-custom-categories li {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid #f1f5f9 !important;
	position: relative !important;
	box-sizing: border-box !important;
}

.ascotech-sidebar .ascotech-custom-categories li:last-child,
.ascotech-custom-categories li:last-child {
	border-bottom: none !important;
}

.ascotech-sidebar .wc-block-product-categories {
	padding: 0 !important;
}

.ascotech-sidebar ul,
.ascotech-sidebar li,
.ascotech-sidebar .cat-item,
.ascotech-sidebar .cat-row,
.ascotech-sidebar ul.children,
.ascotech-sidebar ul.children li,
.ascotech-sidebar .wc-block-product-categories-list-item {
	list-style: none !important;
	background: #ffffff !important;
}

.ascotech-sidebar li {
	border-bottom: 1px solid #eee !important;
	margin: 0 !important;
}

.ascotech-sidebar li:last-child {
	border-bottom: none !important;
}

.ascotech-sidebar .cat-item {
	position: relative !important;
}

.ascotech-sidebar .cat-row {
	display: grid !important;
	grid-template-areas: "link count toggle" !important;
	grid-template-columns: 1fr auto 28px !important;
	grid-template-rows: 1fr !important;
	align-items: center !important;
	padding: 10px 14px 10px 18px !important;
	background: transparent !important;
	border: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
	gap: 6px !important;
	white-space: normal !important;
}

/* If no toggle exists, make the count occupy the rightmost space */
.ascotech-sidebar .cat-row:not(:has(.menu-toggle)) {
	grid-template-columns: 1fr auto !important;
	grid-template-areas: "link count" !important;
}

/* Level 1 Sub-categories (e.g. Aktionen, Betriebssysteme) */
.ascotech-sidebar ul.children > li > .cat-row {
	padding-left: 28px !important;
}

/* Level 2 Sub-sub-categories (e.g. Windows 10, Windows 11) */
.ascotech-sidebar ul.children ul.children > li > .cat-row {
	padding-left: 38px !important;
}

.ascotech-sidebar .cat-row a {
	grid-area: link !important;
	min-width: 0 !important;
	justify-self: start !important;
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: normal !important;
	padding: 0 !important;
	margin: 0 !important;
}

.ascotech-sidebar .cat-row .cat-count {
	grid-area: count !important;
	justify-self: center !important;
}

.ascotech-sidebar .cat-row .menu-toggle {
	grid-area: toggle !important;
	justify-self: center !important;
}

.ascotech-sidebar .cat-row:hover {
	background: transparent !important;
}

.ascotech-sidebar a {
	display: inline-block !important;
	padding: 0 !important;
	color: #0f172a !important;
	text-decoration: none !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	transition: all 0.2s ease !important;
}

.ascotech-sidebar .cat-row:hover a {
	color: var(--primary-red, #ea1b25) !important;
}

.ascotech-sidebar .cat-count {
	margin: 0 !important;
	background: #f1f5f9 !important;
	color: #64748b !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	padding: 2px 7px !important;
	border-radius: 12px !important;
	transition: all 0.2s ease !important;
	line-height: 1.2 !important;
	align-self: center !important;
}

.ascotech-sidebar .cat-row:hover .cat-count {
	background: var(--primary-red) !important;
	color: #fff !important;
}

/* Active Category Highlights */
.ascotech-sidebar .cat-item.current-cat > .cat-row a,
.ascotech-sidebar .cat-item.current-menu-item > .cat-row a {
	color: var(--primary-red, #ea1b25) !important;
	font-weight: 700 !important;
}

.ascotech-sidebar .cat-item.current-cat > .cat-row .cat-count,
.ascotech-sidebar .cat-item.current-menu-item > .cat-row .cat-count {
	background: var(--primary-red, #ea1b25) !important;
	color: #ffffff !important;
}

.ascotech-sidebar ul.children {
	display: none;
	width: 100% !important;
	order: 10 !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background: #f8fafc !important;
}

.ascotech-sidebar .cat-item.is-expanded > ul.children {
	display: block !important;
}

.ascotech-sidebar ul.children a {
	padding-left: 0 !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: #475569 !important;
}

.ascotech-sidebar ul.children ul.children a {
	padding-left: 0 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #64748b !important;
}

/* Trust Checklist Cleanup */
.is-style-no-bullets {
	list-style: none !important;
	padding-left: 0 !important;
}

.wp-block-group.has-background {
	border: none !important;
	background: none !important;
	padding: 0 !important;
}

/* Sidebar Category Count Fix */
.ascotech-sidebar .wc-block-product-categories-list-item {
	display: block !important;
	position: relative !important;
}

.ascotech-sidebar .wc-block-product-categories-list-item__count {
	font-size: 11px !important;
	color: #999 !important;
	font-weight: 400 !important;
	margin-left: 5px !important;
}

.ascotech-sidebar .wc-block-product-categories-list-item>a {
	display: inline-block !important;
	width: auto !important;
	padding-bottom: 5px !important;
}

/* Checklist Icon Fix */
.is-style-no-bullets ul li {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-bottom: 8px !important;
	font-size: 13px !important;
}

.is-style-no-bullets ul li::before {
	content: '?' !important;
	color: #4CAF50 !important;
	font-weight: bold !important;
}

/* Remove default checkbox boxes if any */
.is-style-no-bullets ul {
	list-style: none !important;
	padding: 0 !important;
}


/* Sidebar Category Layout Tweaks */
.ascotech-sidebar .cat-item {
	position: relative !important;
}

/* Adjust toggle position to fit the flexbox layout */
.ascotech-sidebar .menu-toggle {
	width: 24px !important;
	height: 24px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #f0f0f0 !important;
	border-radius: 50% !important;
	cursor: pointer !important;
	color: #333 !important;
	z-index: 100 !important;
	transition: all 0.3s ease !important;
	line-height: 1 !important;
	flex-shrink: 0 !important;
	/* Prevents toggle from squishing */
}

.ascotech-sidebar .menu-toggle svg {
	transition: transform 0.3s ease !important;
}

.ascotech-sidebar .cat-item.is-expanded>.cat-row .menu-toggle {
	background: var(--primary-red) !important;
	color: #fff !important;
}

.ascotech-sidebar .cat-item.is-expanded>.cat-row .menu-toggle svg {
	transform: rotate(180deg) !important;
}

.ascotech-sidebar .cat-row:hover .menu-toggle {
	background: var(--primary-red) !important;
	color: #fff !important;
}

.ascotech-sidebar .cat-item.is-expanded .cat-row:hover .menu-toggle {
	background: var(--primary-red) !important;
}

.ascotech-sidebar .menu-toggle:hover {
	background: var(--primary-red) !important;
	color: #fff !important;
	transform: scale(1.1) !important;
	/* Subtle pop effect on direct hover */
}

.ascotech-sidebar .wc-block-product-categories-list-item.is-expanded>.menu-toggle {
	transform: rotate(90deg);
}

.ascotech-sidebar .wc-block-product-categories-list .wc-block-product-categories-list a {
	padding-left: 30px !important;
	font-size: 13px !important;
	font-weight: 400 !important;
}

/* Mobile Variant for Sidebar Menu */
@media (max-width: 768px) {
	.ascotech-main-wrapper .wp-block-columns,
	.wp-block-columns {
		gap: 8px !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.ascotech-archive-header {
		margin-bottom: 12px !important;
	}

	.ascotech-sidebar {
		width: 100% !important;
		margin: 0 0 4px 0 !important;
		margin-right: 0 !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 12px !important;
		background: #ffffff !important;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
		overflow: hidden !important;
	}

	.ascotech-sidebar a.sidebar-header,
	.ascotech-sidebar .sidebar-header {
		padding: 12px 16px !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		color: #0f172a !important;
		background: #f8fafc !important;
		border-bottom: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		cursor: pointer !important;
		user-select: none !important;
		-webkit-tap-highlight-color: transparent !important;
	}

	.ascotech-sidebar.is-mobile-open a.sidebar-header,
	.ascotech-sidebar.is-mobile-open .sidebar-header {
		background: #ffffff !important;
		border-bottom: 1px solid #f1f5f9 !important;
	}

	.ascotech-sidebar .sidebar-header-title {
		display: inline-flex !important;
		align-items: center !important;
		gap: 8px !important;
		font-weight: 700 !important;
		color: #0f172a !important;
	}

	.ascotech-sidebar .sidebar-header-title svg {
		color: var(--primary-red, #ea1b25) !important;
		stroke: var(--primary-red, #ea1b25) !important;
		transform: none !important;
	}

	.ascotech-sidebar a.sidebar-header svg.sidebar-arrow,
	.ascotech-sidebar .sidebar-header svg.sidebar-arrow {
		transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
		transform: rotate(90deg) !important;
		width: 16px !important;
		height: 16px !important;
		color: #64748b !important;
		stroke: #64748b !important;
		flex-shrink: 0 !important;
	}

	.ascotech-sidebar.is-mobile-open a.sidebar-header svg.sidebar-arrow,
	.ascotech-sidebar.is-mobile-open .sidebar-header svg.sidebar-arrow {
		transform: rotate(270deg) !important;
		color: var(--primary-red, #ea1b25) !important;
		stroke: var(--primary-red, #ea1b25) !important;
	}

	.ascotech-sidebar ul.ascotech-custom-categories,
	.ascotech-sidebar .wc-block-product-categories {
		display: none;
		border-top: none !important;
		max-height: 420px !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.ascotech-sidebar.is-mobile-open ul.ascotech-custom-categories,
	.ascotech-sidebar.is-mobile-open .wc-block-product-categories {
		display: block !important;
		animation: mobileSidebarSlideDown 0.25s ease-out forwards;
	}

	.ascotech-sidebar .cat-row {
		padding: 10px 14px 10px 16px !important;
		min-height: 42px !important;
	}

	.ascotech-sidebar a {
		font-size: 13.5px !important;
	}
}

@keyframes mobileSidebarSlideDown {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}


/* Post Templates Constraints */
main.alignwide {
	max-width: 1400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
}

/* Force text and groups to expand to the full 1400px wrapper */
main.alignwide .wp-block-group.alignwide>* {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

main.alignwide .wp-block-post-content>* {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Keep featured image constrained and centered (except in magazine featured card) */
.wp-block-post-featured-image:not(.magazin-featured-image),
main.alignwide figure.wp-block-post-featured-image:not(.magazin-featured-image),
main.alignwide .wp-block-post-featured-image:not(.magazin-featured-image),
main.alignwide .wp-block-group.alignwide>.wp-block-post-featured-image:not(.magazin-featured-image) {
	width: 100% !important;
	max-width: 800px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block !important;
}

.wp-block-post-featured-image img,
main.alignwide .wp-block-post-featured-image img,
main.alignwide .wp-block-group.alignwide>.wp-block-post-featured-image img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	border-radius: 8px !important;
}


/* ================================================================
   MAGAZIN / BLOG STYLES — Premium Editorial Design
   ================================================================ */

/* --- Hero Banner --- */
.magazin-hero {
	background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
	padding: 50px 20px 45px !important;
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid #edf2f7;
}

.magazin-hero::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -10%;
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(234, 27, 37, 0.06) 0%, transparent 70%);
	pointer-events: none;
}

.magazin-hero-inner {
	position: relative;
	z-index: 2;
	text-align: center;
}

.magazin-hero-title {
	color: #0f172a !important;
	font-size: 42px !important;
	font-weight: 800 !important;
	letter-spacing: -0.8px !important;
	margin: 0 0 10px !important;
	line-height: 1.2 !important;
}

.magazin-hero-subtitle {
	color: #64748b !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	margin: 0 0 30px !important;
	max-width: 620px;
	margin-left: auto !important;
	margin-right: auto !important;
	line-height: 1.6 !important;
}

/* --- Category Filter Pills --- */
.magazin-category-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.category-pill {
	display: inline-block;
	padding: 9px 20px;
	border-radius: 50px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	color: #475569;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	transition: all 0.25s ease;
	letter-spacing: 0.2px;
}

.category-pill:hover,
.category-pill.active {
	background: #ea1b25 !important;
	color: #ffffff !important;
	border-color: #ea1b25 !important;
	box-shadow: 0 4px 14px rgba(234, 27, 37, 0.25) !important;
	transform: translateY(-2px);
}

/* --- Featured Post Card --- */
.magazin-featured-query {
	margin-bottom: 0 !important;
}

.magazin-featured-list {
	display: block !important;
	padding: 0 !important;
	margin: 0 !important;
}

.magazin-featured-card {
	position: relative !important;
	border-radius: 20px !important;
	overflow: hidden !important;
	min-height: 420px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	background: #1a1a2e !important;
	transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.magazin-featured-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.2) !important;
}

.magazin-featured-image,
.magazin-featured-card>.wp-block-post-featured-image,
figure.magazin-featured-image {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 1 !important;
	overflow: hidden !important;
}

.magazin-featured-image a {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
}

.magazin-featured-image img,
.magazin-featured-card .wp-block-post-featured-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	border-radius: 0 !important;
	max-width: none !important;
}

.magazin-featured-card:hover .magazin-featured-image img {
	transform: scale(1.05) !important;
}

.magazin-featured-overlay {
	position: relative !important;
	z-index: 3 !important;
	padding: 50px 45px 40px !important;
	background: linear-gradient(to top,
			rgba(0, 0, 0, 0.85) 0%,
			rgba(0, 0, 0, 0.5) 50%,
			transparent 100%) !important;
	min-height: 250px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	text-align: left !important;
}

.magazin-featured-meta {
	margin-bottom: 15px !important;
}

.magazin-featured-label {
	background: var(--primary-red) !important;
	color: #fff !important;
	padding: 4px 14px !important;
	border-radius: 30px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	margin: 0 !important;
}

.magazin-featured-card .magazin-cat-badge a {
	background: rgba(255, 255, 255, 0.15) !important;
	color: #fff !important;
	padding: 4px 14px !important;
	border-radius: 30px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	letter-spacing: 0.5px !important;
	backdrop-filter: blur(5px) !important;
}

.magazin-featured-title {
	margin: 0 0 12px !important;
}

.magazin-featured-title a {
	color: #fff !important;
	text-decoration: none !important;
}

.magazin-featured-title a:hover {
	color: var(--primary-red) !important;
}

.magazin-featured-excerpt {
	margin: 0 0 20px !important;
	max-width: 700px;
	line-height: 1.7 !important;
}

.magazin-featured-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	padding-top: 15px !important;
}

/* --- Section Title --- */
.magazin-grid-header {
	margin-bottom: 35px !important;
	padding-bottom: 15px !important;
	border-bottom: 2px solid #f0f0f0 !important;
}

.magazin-section-title {
	color: #111 !important;
	position: relative !important;
	margin: 0 !important;
	letter-spacing: -0.5px !important;
}

.magazin-section-title::after {
	content: '' !important;
	position: absolute !important;
	bottom: -17px !important;
	left: 0 !important;
	width: 50px !important;
	height: 3px !important;
	background: var(--primary-red) !important;
	border-radius: 2px !important;
}

/* --- Post Card Grid --- */
.magazin-post-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 30px !important;
	padding: 0 !important;
	list-style: none !important;
}

.magazin-post-card {
	background: #ffffff !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	border: 1px solid #e2e8f0 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}

.magazin-post-card:hover {
	transform: translateY(-6px) !important;
	box-shadow: 0 16px 32px -8px rgba(234, 27, 37, 0.14) !important;
	border-color: rgba(234, 27, 37, 0.3) !important;
}

/* Card Image */
.magazin-card-image-wrap {
	position: relative !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
}

.magazin-card-image {
	margin: 0 !important;
	overflow: hidden !important;
}

.magazin-card-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16/9 !important;
	object-fit: cover !important;
	transition: transform 0.5s ease !important;
	display: block !important;
}

.magazin-post-card:hover .magazin-card-image img {
	transform: scale(1.05) !important;
}

/* Card Category Badge */
.magazin-card-cat {
	position: absolute !important;
	top: 14px !important;
	left: 14px !important;
	z-index: 10 !important;
	margin: 0 !important;
}

.magazin-card-cat a {
	display: inline-block !important;
	padding: 5px 14px !important;
	border-radius: 30px !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	text-decoration: none !important;
	background: #ea1b25 !important;
	color: #ffffff !important;
	box-shadow: 0 3px 10px rgba(234, 27, 37, 0.3) !important;
	transition: all 0.25s ease !important;
}

.magazin-card-cat a:hover {
	background: #c1121b !important;
	transform: scale(1.05) !important;
}

/* Card Body */
.magazin-card-body {
	display: flex !important;
	flex-direction: column !important;
	flex-grow: 1 !important;
	background: #ffffff !important;
}

.magazin-card-title {
	margin: 0 0 10px !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

.magazin-card-title a {
	color: #0f172a !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.magazin-card-title a:hover {
	color: #ea1b25 !important;
}

.magazin-card-excerpt {
	color: #64748b !important;
	font-size: 14px !important;
	margin: 0 0 auto !important;
	line-height: 1.6 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 3 !important;
	line-clamp: 3 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	padding-bottom: 15px !important;
}

/* Card Footer */
.magazin-card-footer {
	border-top: 1px solid #f0f0f0 !important;
	padding: 14px 24px 20px !important;
	margin-top: auto !important;
	align-items: center !important;
}

.magazin-card-date {
	margin: 0 !important;
}

.magazin-read-more,
a.wp-block-read-more.magazin-read-more {
	color: var(--primary-red) !important;
	margin: 0 !important;
	transition: all 0.3s ease !important;
	white-space: nowrap !important;
	text-decoration: none !important;
}

.magazin-post-card:hover .magazin-read-more {
	transform: translateX(4px) !important;
}

/* --- Pagination --- */
.magazin-pagination {
	margin-top: 20px !important;
}

.magazin-pagination .wp-block-query-pagination-numbers {
	display: flex !important;
	gap: 6px !important;
}

.magazin-pagination a,
.magazin-pagination span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 42px !important;
	height: 42px !important;
	padding: 0 14px !important;
	border-radius: 10px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
	color: var(--text-dark) !important;
	background: #f5f5f5 !important;
}

.magazin-pagination a:hover {
	background: var(--primary-red) !important;
	color: #fff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 15px rgba(234, 27, 37, 0.3) !important;
}

.magazin-pagination .current,
.magazin-pagination span[aria-current] {
	background: var(--primary-red) !important;
	color: #fff !important;
}

/* --- No Results --- */
.magazin-no-results {
	text-align: center;
}

/* --- Archive Hero Variant --- */
.magazin-hero-archive {
	padding: 55px 20px 50px !important;
}

.magazin-hero-archive .magazin-hero-title {
	font-size: 42px !important;
}

/* --- Posts with no featured image fallback (Vibrant Glassmorphism Red-Slate) --- */
.magazin-card-image-wrap:not(:has(img)),
.magazin-card-image:not(:has(img)),
.wp-block-post-featured-image:not(:has(img)) {
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 60%, #dc2626 100%) !important;
	border-bottom: 1px solid #edf2f7 !important;
	min-height: 190px !important;
	aspect-ratio: 16/9 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	overflow: hidden !important;
}

.magazin-card-image-wrap:not(:has(img))::before,
.magazin-card-image:not(:has(img))::before,
.wp-block-post-featured-image:not(:has(img))::before {
	content: '';
	position: absolute;
	top: -30%;
	right: -20%;
	width: 220px;
	height: 220px;
	background: radial-gradient(circle, rgba(234, 27, 37, 0.45) 0%, transparent 70%);
	pointer-events: none;
}

.magazin-card-image-wrap:not(:has(img))::after,
.magazin-card-image:not(:has(img))::after,
.wp-block-post-featured-image:not(:has(img))::after {
	content: '';
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2Zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2"/><path d="M18 14h-8"/><path d="M15 18h-5"/><path d="M10 6h8v4h-8V6Z"/></svg>') center center no-repeat;
	border: 1px solid rgba(255, 255, 255, 0.3);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	position: relative;
	z-index: 2;
	transition: transform 0.35s ease;
}

.magazin-post-card:hover .magazin-card-image-wrap:not(:has(img))::after,
.magazin-post-card:hover .magazin-card-image:not(:has(img))::after {
	transform: scale(1.12);
}

.magazin-featured-card:not(:has(.magazin-featured-image img)) {
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 60%, #dc2626 100%) !important;
}

/* --- Responsive Breakpoints --- */
@media (min-width: 601px) {

	ul.magazin-post-grid,
	.magazin-post-grid,
	.wp-block-post-template.magazin-post-grid,
	.magazin-grid-query ul.wp-block-post-template {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 30px !important;
	}
}

@media (max-width: 768px) {

	.magazin-hero,
	.magazin-hero-archive {
		padding: 35px 15px 25px !important;
	}

	.magazin-hero-title {
		font-size: 28px !important;
		line-height: 1.25 !important;
		margin-bottom: 8px !important;
	}

	.magazin-hero-subtitle {
		font-size: 14px !important;
		line-height: 1.5 !important;
		margin-bottom: 20px !important;
	}

	.magazin-category-pills {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		justify-content: flex-start !important;
		gap: 8px !important;
		padding: 6px 15px 12px !important;
		margin-left: -15px !important;
		margin-right: -15px !important;
		-webkit-overflow-scrolling: touch !important;
		scrollbar-width: none !important;
	}

	.magazin-category-pills::-webkit-scrollbar {
		display: none !important;
	}

	.category-pill {
		flex: 0 0 auto !important;
		white-space: nowrap !important;
		padding: 8px 16px !important;
		font-size: 13px !important;
	}

	.magazin-content-area {
		padding-top: 30px !important;
		padding-bottom: 50px !important;
	}

	.magazin-post-card {
		border-radius: 12px !important;
	}

	.magazin-card-body {
		padding: 16px 18px 18px !important;
	}

	.magazin-card-title a {
		font-size: 16px !important;
		line-height: 1.4 !important;
	}

	.magazin-card-excerpt {
		font-size: 13px !important;
		line-height: 1.5 !important;
	}

	.magazin-section-title {
		font-size: 22px !important;
	}
}

@media (max-width: 600px) {

	ul.magazin-post-grid,
	.magazin-post-grid,
	.wp-block-post-template.magazin-post-grid,
	.magazin-post-grid.is-layout-grid,
	.magazin-grid-query ul.wp-block-post-template {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	.magazin-hero-title {
		font-size: 26px !important;
	}

	.magazin-hero-subtitle {
		font-size: 13px !important;
	}

	.magazin-featured-card {
		min-height: 280px !important;
		border-radius: 14px !important;
	}

	.magazin-featured-title {
		font-size: 20px !important;
	}

	.magazin-post-card {
		border-radius: 12px !important;
	}
}

/* --- Animations --- */
@keyframes magazinFadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

.magazin-post-card {
	animation: magazinFadeIn 0.6s ease forwards;
	opacity: 0;
}

.magazin-post-grid li:nth-child(1) .magazin-post-card {
	animation-delay: 0s;
}

.magazin-post-grid li:nth-child(2) .magazin-post-card {
	animation-delay: 0.1s;
}

.magazin-post-grid li:nth-child(3) .magazin-post-card {
	animation-delay: 0.2s;
}

.magazin-post-grid li:nth-child(4) .magazin-post-card {
	animation-delay: 0.15s;
}

.magazin-post-grid li:nth-child(5) .magazin-post-card {
	animation-delay: 0.25s;
}

.magazin-post-grid li:nth-child(6) .magazin-post-card {
	animation-delay: 0.35s;
}

.magazin-featured-card {
	animation: magazinFadeIn 0.7s ease forwards;
	opacity: 0;
}

/* ================================================================
   SINGLE POST STYLES — Premium Article Design
   ================================================================ */

/* --- Hero Header --- */
.single-post-hero {
	background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%) !important;
	padding: 60px 20px 55px !important;
	position: relative;
	overflow: hidden;
}

.single-post-hero::before {
	content: '';
	position: absolute;
	top: -40%;
	right: -15%;
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, rgba(234, 27, 37, 0.12) 0%, transparent 70%);
	pointer-events: none;
}

.single-post-hero-inner {
	position: relative;
	z-index: 2;
	max-width: 1400px;
	margin: 0 auto;
}

.single-post-cat {
	margin: 0 0 0 !important;
}

.single-post-cat a {
	background: var(--primary-red) !important;
	color: #fff !important;
	padding: 5px 16px !important;
	border-radius: 30px !important;
	text-decoration: none !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.5px !important;
	display: inline-block !important;
}

.single-post-title {
	color: #fff !important;
	letter-spacing: -1px !important;
}

.single-post-meta {
	opacity: 0.7;
}

.single-post-sep {
	margin: 0 !important;
}

/* --- Content Area --- */
.single-post-content-area,
.single-post-nav-inner,
.single-post-comments-area {
	max-width: 1400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.single-post-content-area {
	background: #fff;
}

.single-post-featured {
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	overflow: hidden !important;
}

.single-post-featured img {
	width: 100% !important;
	max-height: 500px !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
	border-radius: 14px !important;
}

/* --- Article Body Typography --- */
.single-post-body .wp-block-post-content {
	font-size: 17px !important;
	line-height: 1.85 !important;
	color: #333 !important;
}

.single-post-body .wp-block-post-content>* {
	max-width: 1400px;
}

.single-post-body .wp-block-post-content p {
	margin-bottom: 1.5em !important;
}

.single-post-body .wp-block-post-content h2 {
	font-size: 28px !important;
	font-weight: 800 !important;
	margin-top: 55px !important;
	margin-bottom: 20px !important;
	color: #111 !important;
	letter-spacing: -0.5px !important;
	line-height: 1.3 !important;
	padding-bottom: 12px !important;
	border-bottom: 2px solid #f0f0f0 !important;
}

.single-post-body .wp-block-post-content h3 {
	font-size: 22px !important;
	font-weight: 700 !important;
	margin-top: 45px !important;
	margin-bottom: 16px !important;
	color: #222 !important;
	line-height: 1.35 !important;
}

.single-post-body .wp-block-post-content h4 {
	font-size: 18px !important;
	font-weight: 700 !important;
	margin-top: 35px !important;
	margin-bottom: 12px !important;
	color: #333 !important;
}

.single-post-body .wp-block-post-content a {
	color: var(--primary-red) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	text-decoration-thickness: 1px !important;
	transition: color 0.2s ease !important;
}

.single-post-body .wp-block-post-content a:hover {
	color: #c1121b !important;
}

.single-post-body .wp-block-post-content blockquote {
	border-left: 4px solid var(--primary-red) !important;
	padding: 20px 28px !important;
	margin: 35px 0 !important;
	background: #fdf2f2 !important;
	border-radius: 0 14px 14px 0 !important;
	font-style: italic !important;
	color: #444 !important;
	line-height: 1.7 !important;
}

.single-post-body .wp-block-post-content ul,
.single-post-body .wp-block-post-content ol {
	padding-left: 24px !important;
	margin-bottom: 1.5em !important;
}

.single-post-body .wp-block-post-content li {
	margin-bottom: 8px !important;
	line-height: 1.7 !important;
}

.single-post-body .wp-block-post-content li strong {
	color: #111 !important;
}

.single-post-body .wp-block-post-content img {
	border-radius: 12px !important;
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}

.single-post-body .wp-block-post-content figure {
	margin-top: 30px !important;
	margin-bottom: 30px !important;
}

.single-post-body .wp-block-post-content figcaption {
	font-size: 13px !important;
	color: #999 !important;
	text-align: center !important;
	margin-top: 10px !important;
}

/* --- Tags --- */
.single-post-tag-list {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
}

.single-post-tag-list a {
	background: #f5f5f5 !important;
	color: #555 !important;
	padding: 6px 16px !important;
	border-radius: 30px !important;
	text-decoration: none !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	transition: all 0.3s ease !important;
	border: 1px solid #eee !important;
}

.single-post-tag-list a:hover {
	background: var(--primary-red) !important;
	color: #fff !important;
	border-color: var(--primary-red) !important;
}

/* --- Post Navigation --- */
.single-post-nav-area {
	background: #f8f8fa !important;
	border-top: 1px solid #eee !important;
	border-bottom: 1px solid #eee !important;
}

.single-post-nav {
	width: 100% !important;
}

.single-post-nav a {
	color: var(--text-dark) !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.single-post-nav a:hover {
	color: var(--primary-red) !important;
}

.single-nav-prev,
.single-nav-next {
	max-width: 45% !important;
}

/* --- Comments --- */
.single-post-comments-area {
	border-top: 1px solid #eee;
}

.single-post-comments-area .comment-reply-link {
	color: var(--primary-red) !important;
	text-decoration: none !important;
	font-weight: 700 !important;
}

.single-post-comments-area .comment-reply-link:hover {
	text-decoration: underline !important;
}

/* --- Responsive --- */
@media (max-width: 768px) {
	.single-post-hero {
		padding: 45px 15px 40px !important;
	}

	.single-post-title {
		font-size: 30px !important;
	}

	.single-post-body .wp-block-post-content h2 {
		font-size: 24px !important;
		margin-top: 40px !important;
	}

	.single-post-body .wp-block-post-content h3 {
		font-size: 20px !important;
	}
}

@media (max-width: 480px) {
	.single-post-title {
		font-size: 26px !important;
	}

	.single-post-body .wp-block-post-content {
		font-size: 16px !important;
	}
}

/* Fix: Prevent magazin grid from bleeding into wp-block-post defaults */
.magazin-page .wp-block-post {
	background: none !important;
	border: none !important;
	padding: 0 !important;
	min-width: 0 !important;
	width: auto !important;
}

/* Featured card MUST be full-width — ultra-high specificity override */
ul.wp-block-post-template.magazin-featured-list,
.magazin-featured-query ul.wp-block-post-template,
ul.magazin-featured-list.wp-block-post-template {
	display: block !important;
	grid-template-columns: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	gap: 0 !important;
	padding: 0 !important;
}

.magazin-featured-list>li,
.magazin-featured-list>li.wp-block-post,
.magazin-featured-query .wp-block-post {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	border-radius: 0 !important;
}

/* Post grid items need clean slate */
@media (min-width: 601px) {

	ul.wp-block-post-template.magazin-post-grid,
	.magazin-grid-query ul.wp-block-post-template,
	.magazin-post-grid {
		grid-template-columns: repeat(3, 1fr) !important;
		max-width: 100% !important;
		margin: 0 !important;
		gap: 30px !important;
		display: grid !important;
	}
}

@media (max-width: 600px) {

	ul.wp-block-post-template.magazin-post-grid,
	.magazin-grid-query ul.wp-block-post-template,
	ul.magazin-post-grid,
	.magazin-post-grid,
	.wp-block-post-template.magazin-post-grid,
	.magazin-post-grid.is-layout-grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
		display: grid !important;
	}
}

.magazin-post-grid>li,
.magazin-post-grid>li.wp-block-post {
	min-width: 0 !important;
	width: auto !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	border-radius: 0 !important;
}

/* ================================================================
   VISIBILITY OVERRIDES
   ================================================================ */
/* Only show the Trust/Features Bar on the Main Homepage */
.ascotech-features-bar {
	display: none !important;
}

body.home .ascotech-features-bar {
	display: flex !important;
}

/* ================================================================
   GLOBAL LAYOUT CONSTRAINTS & FIXES
   ================================================================ */
/* 1. Header Constraints */
/* 1. Header Constraints */
.ascotech-header-main {
	max-width: 1400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 25px 20px !important;
	box-sizing: border-box !important;
}

/* 2. Main Content Constraints
   Forces all page content to align with the 1400px magazin layout,
   even if database templates have full-width settings. */
body:not(.wp-admin) .wp-site-blocks>main {
	max-width: 1400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	box-sizing: border-box !important;
}

.wp-block-post-content {
	max-width: 1400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Allow intended full-width elements to break out safely */
.wp-site-blocks>main>.alignfull,
.wp-block-post-content>.alignfull {
	max-width: 100vw !important;
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

footer.alignfull,
footer.wp-block-template-part {
	background-color: #f0f0f0;
	max-width: 100vw !important;
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* Force footer columns to stretch and spread evenly */
footer,
.ascotech-footer-wrapper {
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
	background-color: #f8fafc !important;
	box-sizing: border-box !important;
}

footer .wp-block-columns,
.ascotech-footer-columns {
	width: 100% !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding: 40px 20px 20px 20px !important;
	display: flex !important;
	justify-content: space-between !important;
	gap: 30px !important;
	box-sizing: border-box !important;
}

footer .wp-block-column,
.ascotech-footer-col {
	flex-grow: 1 !important;
	flex-basis: 0 !important;
	box-sizing: border-box !important;
}

/* Footer List Styling */
.ascotech-footer-list {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.ascotech-footer-list li {
	margin: 0 !important;
}

.ascotech-footer-list a {
	color: #475569 !important;
	text-decoration: none !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	transition: all 0.2s ease !important;
}

.ascotech-footer-list a:hover {
	color: var(--accent-red, #ea1b25) !important;
	transform: translateX(2px) !important;
}

/* ================================================================
   SINGLE PRODUCT PAGE STYLING
   ================================================================ */

/* 1. Breadcrumbs - simple text trail (clean left-aligned layout) */
.ascotech-main-wrapper.is-layout-flow>*+*,
.ascotech-main-wrapper.wp-block-group>*+*,
.ascotech-main-wrapper>.wp-block-columns {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

.ascotech-main-wrapper>.ascotech-breadcrumb-row,
div.ascotech-breadcrumb-row.is-layout-flow,
div.ascotech-breadcrumb-row.wp-block-group-is-layout-flow,
.ascotech-breadcrumb-row {
	margin: 20px 0 20px 0 !important;
	margin-block-start: 20px !important;
	margin-block-end: 20px !important;
	padding: 0 !important;
	display: block !important;
	width: 100% !important;
	clear: both !important;
	float: none !important;
	text-align: left !important;
}

.ascotech-breadcrumb-row .woocommerce-breadcrumb,
.woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb,
.post-type-archive-product .woocommerce-breadcrumb,
.single-product .woocommerce-breadcrumb {
	background: none !important;
	padding: 0 !important;
	margin: 0 !important;
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
	font-size: 14px !important;
	color: #666666 !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	display: block !important;
	width: 100% !important;
	float: none !important;
	text-align: left !important;
}

.ascotech-breadcrumb-row a,
.woocommerce-breadcrumb a {
	color: #333333 !important;
	text-decoration: none !important;
	font-weight: 500 !important;
	transition: color 0.2s ease !important;
}

.ascotech-breadcrumb-row a:hover,
.woocommerce-breadcrumb a:hover {
	color: #ea1b25 !important;
	text-decoration: underline !important;
}

/* Product cats area in summary */
.ascotech-product-cats .woocommerce-breadcrumb {
	background: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 12px !important;
	color: #999 !important;
}

.ascotech-product-cats .woocommerce-breadcrumb a {
	color: #999 !important;
	text-decoration: none !important;
}

.ascotech-product-cats .woocommerce-breadcrumb a:hover {
	color: #ea1b25 !important;
}

/* Product title */
.single-product .product_title,
.single-product .wp-block-post-title {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #222 !important;
	line-height: 1.3 !important;
}

/* Product image gallery */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
	display: flex !important;
	gap: 8px !important;
	margin-top: 10px !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	border: 2px solid transparent;
	border-radius: 4px;
	overflow: hidden;
	transition: border-color 0.2s ease;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li:hover {
	border-color: #ccc;
}

/* Sale badge */
.single-product .onsale {
	background: #ea1b25 !important;
	color: #fff !important;
	font-weight: 700 !important;
	border-radius: 50% !important;
	z-index: 5;
}

/* Price styling */
.single-product .price {
	font-size: 24px !important;
	font-weight: 700 !important;
	color: #ea1b25 !important;
}

.single-product .price del {
	color: #aaa !important;
	font-size: 16px !important;
	font-weight: 400 !important;
}

.single-product .price ins {
	text-decoration: none !important;
}

/* 2. Trust Section */
.ascotech-trust-section {
	margin-bottom: 25px;
	overflow: hidden;
	padding: 15px;
	background: #fafafa;
	border-radius: 6px;
	border: 1px solid #f0f0f0;
}

.ascotech-trust-badges-float {
	float: right;
	margin-left: 15px;
	margin-bottom: 5px;
}

.ascotech-trust-badges-float img {
	display: block;
	margin-bottom: 5px;
	width: 110px;
	height: auto;
	border-radius: 4px;
}

.ascotech-trust-item {
	font-size: 13px !important;
	line-height: 2.2 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #444 !important;
}

/* 3. Add to Cart */
/* ================================================================
   ADD TO CART & QUANTITY (AMOUNT) STYLING
   ================================================================ */

/* Form container scoping */
.single-product form.cart {
	margin-top: 15px !important;
	margin-bottom: 20px !important;
}

.single-product form.cart:not(.variations_form) {
	display: flex !important;
	align-items: center !important;
	gap: 15px !important;
}

.single-product form.variations_form {
	display: block !important;
}

.single-product .woocommerce-variation-add-to-cart {
	display: flex !important;
	align-items: center !important;
	gap: 15px !important;
	margin-top: 15px !important;
	flex-wrap: wrap !important;
}

/* Quantity (Amount) Input Box */
.single-product .quantity {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-product .quantity input.qty {
	width: 65px !important;
	height: 44px !important;
	border: 1px solid #dcdcdc !important;
	border-radius: 6px !important;
	padding: 0 8px !important;
	text-align: center !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #333333 !important;
	background-color: #ffffff !important;
	outline: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	-webkit-appearance: textfield !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}

.single-product .quantity input.qty::-webkit-outer-spin-button,
.single-product .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

.single-product .quantity input.qty:focus {
	border-color: #ea1b25 !important;
	box-shadow: 0 0 0 3px rgba(234, 27, 37, 0.1) !important;
}

/* Add To Cart Button */
.woocommerce div.product form.cart .button.single_add_to_cart_button,
.woocommerce button.button.single_add_to_cart_button,
.woocommerce-page button.button.single_add_to_cart_button,
.single_add_to_cart_button,
.single-product .single_add_to_cart_button {
	height: 44px !important;
	line-height: 44px !important;
	padding: 0 32px !important;
	background: linear-gradient(135deg, #ea1b25 0%, #c1121c 100%) !important;
	color: #ffffff !important;
	border-radius: 6px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	border: none !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	transition: all 0.25s ease !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.2) !important;
	flex-grow: 0 !important;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button:hover,
.woocommerce button.button.single_add_to_cart_button:hover,
.woocommerce-page button.button.single_add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button:hover {
	background: #222222 !important;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15) !important;
	transform: translateY(-1px) !important;
	color: #ffffff !important;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button.loading,
.woocommerce button.button.single_add_to_cart_button.loading,
.single_add_to_cart_button.loading {
	opacity: 0.75 !important;
	pointer-events: none !important;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button.added-success,
.woocommerce button.button.single_add_to_cart_button.added-success,
.single_add_to_cart_button.added-success,
.single-product .single_add_to_cart_button.added-success {
	background: #27ae60 !important;
	color: #ffffff !important;
	box-shadow: 0 6px 20px rgba(39, 174, 96, 0.45) !important;
	transform: scale(1.02) !important;
}

.woocommerce div.product form.cart .button.single_add_to_cart_button.added-success:hover,
.single-product .single_add_to_cart_button.added-success:hover {
	background: #219653 !important;
}

.single_add_to_cart_button svg {
	width: 16px !important;
	height: 16px !important;
	stroke: #ffffff !important;
	fill: none !important;
	margin-right: 8px !important;
	flex-shrink: 0 !important;
	display: inline-block !important;
	vertical-align: middle !important;
}

.single_add_to_cart_button svg polyline,
.single_add_to_cart_button svg circle,
.single_add_to_cart_button svg path {
	stroke: #ffffff !important;
	fill: none !important;
}

/* ================================================================
   WOOCOMMERCE PRODUCT VARIATIONS SELECT & OPTION STYLING
   ================================================================ */

/* Form wrapper spacing */
.single-product form.variations_form {
	width: 100% !important;
	margin-top: 15px !important;
	margin-bottom: 20px !important;
}

/* Variations table - clean minimalist layout */
.single-product table.variations {
	width: auto !important;
	max-width: 100% !important;
	border-collapse: collapse !important;
	margin: 0 0 15px 0 !important;
	background: transparent !important;
	border: none !important;
	display: block !important;
}

.single-product table.variations tbody {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

/* Clean row layout without bulky cards */
.single-product table.variations tbody tr {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 15px !important;
	margin: 0 !important;
	background: transparent !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}

/* Attribute Label (e.g. Color, Size) */
.single-product table.variations th.label {
	width: 65px !important;
	min-width: 65px !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: left !important;
	vertical-align: middle !important;
	background: transparent !important;
	border: none !important;
}

.single-product table.variations th.label label {
	font-size: 13px !important;
	font-weight: 600 !important;
	text-transform: capitalize !important;
	color: #333333 !important;
	margin: 0 !important;
	display: inline-block !important;
	cursor: pointer !important;
}

/* Value cell containing select & clear button */
.single-product table.variations td.value {
	padding: 0 !important;
	margin: 0 !important;
	vertical-align: middle !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	background: transparent !important;
	border: none !important;
}

/* Sleek Compact Select Dropdown */
.single-product table.variations select {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	width: 220px !important;
	min-width: 180px !important;
	max-width: 260px !important;
	height: 38px !important;
	padding: 0 32px 0 12px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #333333 !important;
	background-color: #ffffff !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ea1b25' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	background-size: 14px 14px !important;
	border: 1px solid #dcdcdc !important;
	border-radius: 6px !important;
	outline: none !important;
	cursor: pointer !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	box-sizing: border-box !important;
}

.single-product table.variations select:hover {
	border-color: #ea1b25 !important;
}

.single-product table.variations select:focus {
	border-color: #ea1b25 !important;
	box-shadow: 0 0 0 3px rgba(234, 27, 37, 0.1) !important;
}

/* Dropdown option items */
.single-product table.variations select option {
	font-size: 13px !important;
	padding: 8px 12px !important;
	background-color: #ffffff !important;
	color: #333333 !important;
}

/* Reset / Clear variation link */
.single-product a.reset_variations {
	font-size: 12px !important;
	font-weight: 500 !important;
	color: #777777 !important;
	text-decoration: underline !important;
	white-space: nowrap !important;
	transition: color 0.2s ease !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
}

.single-product a.reset_variations:hover {
	color: #ea1b25 !important;
}

/* Selected Variation Info Card (Price & Stock) */
.single-product .single_variation_wrap {
	margin-top: 10px !important;
}

.single-product .woocommerce-variation {
	margin-bottom: 15px !important;
	padding: 10px 14px !important;
	background: #fafafa !important;
	border-left: 3px solid #ea1b25 !important;
	border-radius: 0 6px 6px 0 !important;
}

.single-product .woocommerce-variation .woocommerce-variation-price .price {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #ea1b25 !important;
}

.single-product .woocommerce-variation .woocommerce-variation-availability {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #059669 !important;
	margin-top: 2px !important;
}

/* Responsive adjustment */
@media (max-width: 576px) {
	.single-product table.variations select {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* 4. Product Tabs */
.woocommerce-tabs {
	margin-top: 50px !important;
	padding-top: 10px;
}

.woocommerce-tabs ul.tabs {
	border-bottom: 1px solid #eee !important;
	margin-bottom: 40px !important;
	padding: 0 !important;
	display: flex !important;
	justify-content: center !important;
	gap: 25px !important;
	list-style: none !important;
	background: none !important;
}

.woocommerce-tabs ul.tabs::before,
.woocommerce-tabs ul.tabs::after,
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.woocommerce-tabs ul.tabs li {
	background: none !important;
	border: none !important;
	border-bottom: 4px solid transparent !important;
	padding: 10px 5px !important;
	margin: 0 !important;
	box-shadow: none !important;
	transition: all 0.3s ease;
	border-radius: 0 !important;
}

.woocommerce-tabs ul.tabs li:hover {
	background-color: transparent !important;
}

.woocommerce-tabs ul.tabs li a {
	color: #999 !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	text-decoration: none !important;
	padding: 0 !important;
	white-space: nowrap;
	letter-spacing: -0.3px;
	transition: color 0.3s ease;
}

.woocommerce-tabs ul.tabs li:hover a {
	color: #666 !important;
}

.woocommerce-tabs ul.tabs li.active {
	border-bottom-color: #ea1b25 !important;
}

.woocommerce-tabs ul.tabs li.active a {
	color: #111 !important;
	font-weight: 700 !important;
}

.woocommerce-tabs .woocommerce-Tabs-panel {
	padding: 25px 0 !important;
	line-height: 1.8;
	color: #444;
}

.woocommerce-tabs .woocommerce-Tabs-panel h2 {
	font-size: 20px !important;
	font-weight: 700 !important;
	margin-bottom: 18px !important;
	color: #222 !important;
}

.woocommerce-tabs .woocommerce-Tabs-panel p {
	color: #555;
	font-size: 14px;
	line-height: 1.8;
}

/* 4b. Reviews / Ratings Section */
#tab-reviews {
	background: #f7f7f7 !important;
	border-radius: 12px !important;
	padding: 35px 40px !important;
}

/* Reviews title */
#tab-reviews .woocommerce-Reviews-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #222 !important;
	margin-bottom: 20px !important;
}

/* No-reviews notice — red banner */
#tab-reviews .woocommerce-noreviews {
	background: #ea1b25 !important;
	color: #fff !important;
	padding: 14px 22px !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	margin-top: 25px !important;
	border-left: 5px solid #c1121b !important;
}

/* Review form title */
#tab-reviews .comment-reply-title {
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #333 !important;
	display: block !important;
	margin-bottom: 20px !important;
}

/* Form labels */
#tab-reviews .comment-form label {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #333 !important;
	display: block !important;
	margin-bottom: 6px !important;
}

/* Form inputs & textarea */
#tab-reviews .comment-form input[type="text"],
#tab-reviews .comment-form input[type="email"],
#tab-reviews .comment-form textarea {
	width: 100% !important;
	border: 1.5px solid #ddd !important;
	border-radius: 8px !important;
	padding: 12px 15px !important;
	font-size: 14px !important;
	color: #333 !important;
	background: #fff !important;
	transition: border-color 0.2s ease !important;
	box-sizing: border-box !important;
}

#tab-reviews .comment-form input[type="text"]:focus,
#tab-reviews .comment-form input[type="email"]:focus,
#tab-reviews .comment-form textarea:focus {
	border-color: #ea1b25 !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(234, 27, 37, 0.08) !important;
}

#tab-reviews .comment-form textarea {
	min-height: 120px !important;
	resize: vertical !important;
}

/* Form field spacing */
#tab-reviews .comment-form p {
	margin-bottom: 18px !important;
}

/* Star rating selector */
#tab-reviews .comment-form-rating {
	margin-bottom: 20px !important;
}

#tab-reviews .comment-form-rating .stars a {
	color: #ffc107 !important;
	text-decoration: none !important;
}

/* Submit button — red rounded CTA */
#tab-reviews .form-submit input[type="submit"],
#tab-reviews .form-submit .submit {
	background-color: #ea1b25 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 25px !important;
	padding: 12px 35px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	letter-spacing: 0.3px !important;
}

#tab-reviews .form-submit input[type="submit"]:hover,
#tab-reviews .form-submit .submit:hover {
	background-color: #c1121b !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.35) !important;
	transform: translateY(-1px) !important;
}

/* Customer Reviews plugin — rating summary graph (if plugin active) */
#tab-reviews .cr-overall-rating-graph,
#tab-reviews .cr-ajax-reviews-summary {
	background: transparent !important;
}

#tab-reviews .cr-overall-rating-graph .cr-bar {
	background: #e0e0e0 !important;
	border-radius: 4px !important;
	overflow: hidden;
}

#tab-reviews .cr-overall-rating-graph .cr-bar .cr-bar-fill {
	background: #ffc107 !important;
}

/* 4c. Additional Information Section */
/* 4c. Tab Content Modernization (Cards) */
#tab-description,
#tab-additional_information,
#tab-produktsicherheit {
	background: #f7f7f7 !important;
	border-radius: 12px !important;
	padding: 35px 40px !important;
}

/* Hide redundant titles inside tabs */
#tab-description h2,
#tab-additional_information h2,
#tab-produktsicherheit h2 {
	display: none !important;
}

#tab-description {
	line-height: 1.8 !important;
	color: #555 !important;
	font-size: 15px !important;
}

#tab-description p {
	margin-bottom: 1.5em !important;
}

#tab-description p:last-child {
	margin-bottom: 0 !important;
}




.shop_attributes {
	width: 100% !important;
	border: none !important;
	margin-bottom: 0 !important;
	border-collapse: collapse !important;
}

.shop_attributes tr {
	border-bottom: 1px solid #eee !important;
	background: none !important;
}

.shop_attributes tr:last-child {
	border-bottom: none !important;
}

.shop_attributes th {
	padding: 14px 0 !important;
	width: 30% !important;
	font-weight: 600 !important;
	color: #333 !important;
	text-align: left !important;
	background: none !important;
	border: none !important;
	font-size: 14px !important;
}

.shop_attributes td {
	padding: 14px 0 !important;
	font-style: normal !important;
	color: #666 !important;
	background: none !important;
	border: none !important;
	font-size: 14px !important;
}

.shop_attributes td p {
	margin: 0 !important;
	padding: 0 !important;
	font-weight: 400 !important;
}

@media (max-width: 768px) {

	#tab-description,
	#tab-additional_information {
		padding: 25px 20px !important;
	}

	.shop_attributes th {
		width: 40% !important;
	}
}

/* 5. Express Checkout */
.wcpay-express-checkout-wrapper {
	margin-top: 12px !important;
	border-radius: 6px;
	overflow: hidden;
}

/* 6. Product meta */
.single-product .product_meta {
	margin-top: 20px;
	padding-top: 15px;
	border-top: 1px solid #f0f0f0;
	font-size: 13px;
	color: #999;
}

.single-product .product_meta a {
	color: #666;
	text-decoration: none;
}

.single-product .product_meta a:hover {
	color: #ea1b25;
}

/* 7. Wishlist */
.single-product .yith-wcwl-add-to-wishlist a {
	color: #888 !important;
	text-decoration: none !important;
	font-size: 13px !important;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	transition: color 0.2s ease;
}

.single-product .yith-wcwl-add-to-wishlist a:hover {
	color: #ea1b25 !important;
}

.single-product .yith-wcwl-add-to-wishlist svg {
	width: 18px;
	height: 18px;
}

/* Header Wishlist Badge */
.ascotech-wishlist-header-link {
	position: relative;
}

.ascotech-wishlist-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #94a3b8;
	color: #ffffff;
	font-size: 10px;
	font-weight: 800;
	border-radius: 999px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	position: absolute;
	top: -4px;
	right: -6px;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.ascotech-wishlist-count.has-items {
	background: var(--accent-red);
	box-shadow: 0 2px 6px rgba(234, 27, 37, 0.35);
	transform: scale(1.05);
}

/* Single Product Wishlist Button (Expandable Icon-First) */
.ascotech-wishlist-toggle-btn.single-wishlist-btn {
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	color: #0f172a !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
	overflow: hidden !important;
	vertical-align: middle !important;
	box-sizing: border-box !important;
}

.ascotech-wishlist-toggle-btn.single-wishlist-btn .btn-text {
	opacity: 0;
	max-width: 0;
	white-space: nowrap;
	overflow: hidden;
	transition: opacity 0.25s ease, max-width 0.3s ease, margin 0.3s ease;
	font-size: 13px;
	font-weight: 700;
	color: #0f172a;
}

/* On Desktop Hover: Expand horizontally to reveal text */
@media (min-width: 769px) {
	.ascotech-wishlist-toggle-btn.single-wishlist-btn:hover {
		width: auto !important;
		min-width: 42px !important;
		padding: 0 16px !important;
		border-radius: 999px !important;
		border-color: var(--accent-red) !important;
		box-shadow: 0 4px 12px rgba(234, 27, 37, 0.15) !important;
	}

	.ascotech-wishlist-toggle-btn.single-wishlist-btn:hover .btn-text {
		opacity: 1;
		max-width: 150px;
		margin-left: 8px;
	}

	.ascotech-wishlist-toggle-btn.single-wishlist-btn:hover svg.heart-icon {
		stroke: var(--accent-red) !important;
	}
}

/* On Mobile: Always icon-only */
@media (max-width: 768px) {
	.ascotech-wishlist-toggle-btn.single-wishlist-btn .btn-text {
		display: none !important;
	}
}

.ascotech-wishlist-toggle-btn.is-in-wishlist {
	background: #ffffff !important;
	border-color: #cbd5e1 !important;
	color: #0f172a !important;
}

.ascotech-wishlist-toggle-btn.is-in-wishlist svg.heart-icon,
.ascotech-wishlist-toggle-btn.is-in-wishlist svg.heart-icon path,
.loop-wishlist-btn.is-in-wishlist svg.heart-icon,
.loop-wishlist-btn.is-in-wishlist svg.heart-icon path {
	fill: var(--accent-red) !important;
	stroke: var(--accent-red) !important;
}

/* Floating Wishlist Toast Notification (Mobile & Desktop) */
.ascotech-wishlist-toast {
	position: fixed !important;
	bottom: 24px !important;
	left: 50% !important;
	transform: translateX(-50%) translateY(30px) !important;
	z-index: 999999 !important;
	background: rgba(15, 23, 42, 0.94) !important;
	color: #ffffff !important;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
	padding: 10px 20px !important;
	border-radius: 999px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	opacity: 0 !important;
	pointer-events: none !important;
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease !important;
	white-space: nowrap !important;
}

.ascotech-wishlist-toast.show {
	opacity: 1 !important;
	transform: translateX(-50%) translateY(0) !important;
}

/* Floating Product Card Wishlist Heart Overlay */
.premium-carousel-item,
.deal-featured-product,
.product,
.type-product {
	position: relative !important;
}

.loop-wishlist-btn {
	position: absolute !important;
	top: 10px !important;
	right: 10px !important;
	z-index: 15 !important;
	width: 34px !important;
	height: 34px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.92) !important;
	backdrop-filter: blur(4px) !important;
	border: 1px solid rgba(226, 232, 240, 0.8) !important;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 0;
	transform: scale(0.85);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Show on card hover or when product is already saved in wishlist */
.premium-carousel-item:hover .loop-wishlist-btn,
.deal-featured-product:hover .loop-wishlist-btn,
.product:hover .loop-wishlist-btn,
.type-product:hover .loop-wishlist-btn,
.loop-wishlist-btn.is-in-wishlist {
	opacity: 1 !important;
	transform: scale(1) !important;
}

.loop-wishlist-btn:hover {
	background: #ffffff !important;
	border-color: #fecdd3 !important;
	box-shadow: 0 4px 14px rgba(234, 27, 37, 0.2) !important;
	transform: scale(1.1) !important;
}

.loop-wishlist-btn svg.heart-icon {
	width: 17px !important;
	height: 17px !important;
	stroke: #64748b !important;
	transition: all 0.2s ease !important;
}

.loop-wishlist-btn:hover svg.heart-icon {
	stroke: var(--accent-red) !important;
}

.loop-wishlist-btn.is-in-wishlist svg.heart-icon {
	fill: var(--accent-red) !important;
	stroke: var(--accent-red) !important;
}

/* Wishlist App Container */
.ascotech-wishlist-wrapper {
	max-width: 1200px;
	margin: 25px auto 50px;
	padding: 0 15px;
	box-sizing: border-box;
}

.ascotech-wishlist-header-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid #f1f5f9;
}

.ascotech-wishlist-header-row h3 {
	margin: 0;
	font-size: 20px;
	font-weight: 800;
	color: #0f172a;
}

.ascotech-clear-wishlist-btn {
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	color: #64748b !important;
	padding: 8px 16px !important;
	border-radius: 8px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
}

.ascotech-clear-wishlist-btn:hover {
	background: #fef2f2 !important;
	border-color: #fca5a5 !important;
	color: #dc2626 !important;
}

/* Grid Layout */
.ascotech-wishlist-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	width: 100%;
}

@media (max-width: 1100px) {
	.ascotech-wishlist-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.ascotech-wishlist-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
}

@media (max-width: 480px) {
	.ascotech-wishlist-grid {
		grid-template-columns: 1fr;
	}
}

.ascotech-wishlist-card {
	background: #ffffff;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	padding: 20px;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	box-sizing: border-box;
}

.ascotech-wishlist-card:hover {
	border-color: #cbd5e1;
	transform: translateY(-4px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.remove-wishlist-item-btn {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(241, 245, 249, 0.9) !important;
	border: 1px solid #e2e8f0 !important;
	color: #64748b !important;
	font-size: 18px !important;
	line-height: 1 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.2s ease !important;
	z-index: 10;
}

.remove-wishlist-item-btn:hover {
	background: #fee2e2 !important;
	border-color: #fca5a5 !important;
	color: #dc2626 !important;
	transform: scale(1.1);
}

.wishlist-card-thumb {
	text-align: center;
	margin-bottom: 16px;
	height: 180px;
	background: #ffffff !important;
	border-radius: 12px;
	padding: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	box-sizing: border-box;
}

.wishlist-card-thumb img {
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
	transition: transform 0.3s ease;
}

.ascotech-wishlist-card:hover .wishlist-card-thumb img {
	transform: scale(1.05);
}

.wishlist-card-details {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.wishlist-card-title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 10px;
	min-height: 40px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.wishlist-card-title a {
	color: #0f172a;
	text-decoration: none;
	transition: color 0.2s ease;
}

.wishlist-card-title a:hover {
	color: var(--accent-red);
}

.wishlist-card-stock {
	font-size: 11.5px;
	font-weight: 700;
	margin-bottom: 10px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.wishlist-card-stock::before {
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
}

.wishlist-card-stock.in-stock {
	color: #15803d;
}

.wishlist-card-stock.in-stock::before {
	background: #22c55e;
	box-shadow: 0 0 6px rgba(34, 197, 94, 0.4);
}

.wishlist-card-stock.out-of-stock {
	color: #b91c1c;
}

.wishlist-card-stock.out-of-stock::before {
	background: #ef4444;
}

.wishlist-card-price {
	font-size: 16px;
	font-weight: 800;
	color: var(--accent-red);
	margin-bottom: 16px;
	margin-top: auto;
}

.wishlist-card-price ins {
	text-decoration: none;
	color: var(--accent-red);
}

.wishlist-card-price del {
	color: #94a3b8;
	font-size: 13px;
	font-weight: 500;
	margin-right: 6px;
}

.wishlist-card-actions {
	margin-top: auto;
	width: 100% !important;
	box-sizing: border-box !important;
}

.ascotech-wishlist-card .wishlist-card-actions a,
.ascotech-wishlist-card .wishlist-card-actions a.button,
.ascotech-wishlist-card a.button,
.ascotech-wishlist-cart-btn {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	text-align: center !important;
	padding: 10px 14px !important;
	background: var(--accent-red) !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	text-decoration: none !important;
	display: block !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.25) !important;
	transition: all 0.25s ease !important;
	border: none !important;
}

.ascotech-wishlist-cart-btn:hover {
	background: #c8131b !important;
	box-shadow: 0 6px 18px rgba(234, 27, 37, 0.4) !important;
	transform: translateY(-1px) !important;
}

/* Empty State */
.ascotech-wishlist-empty {
	text-align: center;
	padding: 60px 20px;
	background: #ffffff;
	border: 1px solid var(--border-light);
	border-radius: 16px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
	max-width: 500px;
	margin: 20px auto;
}

.empty-icon-wrap {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #fef2f2;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
}

.ascotech-wishlist-empty h2 {
	font-size: 20px;
	font-weight: 800;
	color: #0f172a;
	margin: 0 0 10px;
}

.ascotech-wishlist-empty p {
	font-size: 14px;
	color: #64748b;
	margin: 0 0 24px;
	line-height: 1.5;
}

.ascotech-empty-browse-btn {
	background: var(--accent-red) !important;
	color: #ffffff !important;
	padding: 12px 24px !important;
	border-radius: 8px !important;
	font-weight: 800 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	text-decoration: none !important;
	display: inline-block !important;
}

/* Loading & Spinner */
.ascotech-wishlist-loading {
	text-align: center;
	padding: 50px 20px;
	color: #64748b;
	font-weight: 600;
}

.ascotech-spinner {
	width: 32px;
	height: 32px;
	border: 3px solid #e2e8f0;
	border-top-color: var(--accent-red);
	border-radius: 50%;
	animation: ascotech-spin 0.8s linear infinite;
	margin: 0 auto 12px;
}

@keyframes ascotech-spin {
	to { transform: rotate(360deg); }
}

/* 8. Related & Upsell */
.single-product .related.products h2,
.single-product .up-sells h2 {
	font-size: 20px !important;
	font-weight: 700 !important;
	margin-bottom: 20px !important;
	padding-bottom: 10px;
	border-bottom: 2px solid #f0f0f0;
}

/* 10. Trust Section */
.ascotech-trust-section {
	margin: 25px 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

.ascotech-trust-item {
	font-size: 14px !important;
	color: #555 !important;
	margin: 0 0 10px 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	line-height: 1.4 !important;
}

.ascotech-trust-badges-float {
	display: flex !important;
	gap: 15px !important;
	margin-top: 20px !important;
	padding-top: 10px !important;
}

.ascotech-trust-badges-float img {
	height: 60px !important;
	width: auto !important;
	filter: grayscale(0.2) contrast(1.1);
	transition: filter 0.3s ease;
}

.ascotech-trust-badges-float img:hover {
	filter: grayscale(0);
}

/* 11. Sale Badge Redesign */
.single-product span.onsale {
	background: linear-gradient(135deg, #ea1b25 0%, #c1121c 100%) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	height: 45px !important;
	width: 45px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 50% !important;
	box-shadow: 0 5px 15px rgba(234, 27, 37, 0.4) !important;
	border: 2px solid #fff !important;
	top: 15px !important;
	left: 15px !important;
	padding: 0 !important;
	text-align: center !important;
	z-index: 10 !important;
}

/* 12. Mini Cart Dropdown */
.ascotech-mini-cart-dropdown {
	position: absolute !important;
	top: calc(100% + 12px) !important;
	right: 0 !important;
	width: 340px !important;
	background: #ffffff !important;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(0, 0, 0, 0.05) !important;
	border-top: 3px solid var(--primary-red, #ea1b25) !important;
	padding: 0 !important;
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(12px) !important;
	transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	z-index: 9999 !important;
	pointer-events: none !important;
	border-radius: 0 0 12px 12px !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.cart-icon:hover .ascotech-mini-cart-dropdown,
.cart-icon:focus-within .ascotech-mini-cart-dropdown {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) !important;
	pointer-events: auto !important;
}

/* Ensure a hover bridge */
.cart-icon::after {
	content: "" !important;
	position: absolute !important;
	top: 100% !important;
	left: 0 !important;
	width: 100% !important;
	height: 20px !important;
}

/* Empty Mini Cart Box Styling */
.ascotech-mini-cart-empty-box {
	padding: 32px 24px !important;
	text-align: center !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	background: #ffffff !important;
}

.empty-cart-icon-circle {
	width: 60px !important;
	height: 60px !important;
	border-radius: 50% !important;
	background: #fff0f1 !important;
	color: #ea1b25 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 14px !important;
	transition: transform 0.3s ease !important;
}

.cart-icon:hover .empty-cart-icon-circle {
	transform: scale(1.06);
}

.empty-cart-icon-circle svg {
	width: 26px !important;
	height: 26px !important;
	stroke: #ea1b25 !important;
}

.empty-cart-title {
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #111827 !important;
	margin: 0 0 6px 0 !important;
	line-height: 1.2 !important;
}

.empty-cart-desc {
	font-size: 13px !important;
	color: #64748b !important;
	margin: 0 0 18px 0 !important;
	line-height: 1.4 !important;
}

.empty-cart-shop-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 10px 20px !important;
	background: #ea1b25 !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	border-radius: 20px !important;
	text-decoration: none !important;
	transition: all 0.25s ease !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.25) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.empty-cart-shop-btn:hover {
	background: #111827 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2) !important;
}

.ascotech-mini-cart-dropdown .woocommerce-mini-cart__empty-message {
	padding: 30px 20px !important;
	text-align: center !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #64748b !important;
	margin: 0 !important;
	background: #ffffff !important;
}

/* Mini Cart Content Styling */
.ascotech-mini-cart-dropdown .widget_shopping_cart_content {
	display: flex !important;
	flex-direction: column !important;
}

.ascotech-mini-cart-dropdown .cart_list {
	list-style: none !important;
	padding: 20px !important;
	margin: 0 !important;
	max-height: 400px !important;
	overflow-y: auto !important;
}

/* Custom Scrollbar */
.ascotech-mini-cart-dropdown .cart_list::-webkit-scrollbar {
	width: 5px !important;
}

.ascotech-mini-cart-dropdown .cart_list::-webkit-scrollbar-track {
	background: #f1f1f1 !important;
}

.ascotech-mini-cart-dropdown .cart_list::-webkit-scrollbar-thumb {
	background: #ccc !important;
	border-radius: 10px !important;
}

.ascotech-mini-cart-dropdown .cart_list::-webkit-scrollbar-thumb:hover {
	background: #999 !important;
}

.ascotech-mini-cart-dropdown .mini_cart_item {
	display: block !important;
	padding: 15px 20px !important;
	border-bottom: 1px solid #f0f0f0 !important;
	position: relative !important;
}

.ascotech-mini-cart-dropdown .mini_cart_item:last-child {
	border-bottom: none !important;
}

.ascotech-mini-cart-dropdown .mini_cart_item a:not(.remove) {
	display: flex !important;
	gap: 15px !important;
	align-items: center !important;
	font-weight: 700 !important;
	color: #222 !important;
	text-decoration: none !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
	padding-right: 25px !important;
}

.ascotech-mini-cart-dropdown .mini_cart_item img {
	width: 50px !important;
	height: 50px !important;
	object-fit: contain !important;
	border-radius: 4px !important;
	background: #fff !important;
	flex-shrink: 0 !important;
}

.ascotech-mini-cart-dropdown .mini_cart_item .quantity {
	display: block !important;
	font-size: 13px !important;
	color: #777 !important;
	margin-top: 5px !important;
	margin-left: 65px !important;
}

/* Fix for variations like Sprache: Deutsch on one line */
.ascotech-mini-cart-dropdown .variation {
	display: block !important;
	margin: 5px 0 0 65px !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

.ascotech-mini-cart-dropdown .variation dt,
.ascotech-mini-cart-dropdown .variation dd,
.ascotech-mini-cart-dropdown .variation p {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 12px !important;
	color: #777 !important;
}

.ascotech-mini-cart-dropdown .variation dt {
	font-weight: 700 !important;
}

.ascotech-mini-cart-dropdown .variation dd {
	margin-right: 10px !important;
}

.ascotech-mini-cart-dropdown .variation dt::after {
	content: " " !important;
}

.ascotech-mini-cart-dropdown .mini_cart_item a.remove {
	position: absolute !important;
	top: 15px !important;
	right: 15px !important;
	color: #ccc !important;
	font-size: 18px !important;
	text-decoration: none !important;
	line-height: 1 !important;
	transition: color 0.2s ease !important;
}

.ascotech-mini-cart-dropdown .mini_cart_item a.remove:hover {
	color: var(--primary-red) !important;
}


.ascotech-mini-cart-dropdown .total {
	margin: 0 !important;
	padding: 20px !important;
	background: #fafafa !important;
	border-top: 1px solid #eee !important;
	display: flex !important;
	justify-content: space-between !important;
	font-weight: 800 !important;
	color: #222 !important;
	font-size: 16px !important;
}

.ascotech-mini-cart-dropdown .buttons {
	display: flex !important;
	gap: 10px !important;
	padding: 0 20px 20px !important;
	background: #fafafa !important;
}

.ascotech-mini-cart-dropdown .buttons a {
	flex: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	padding: 14px 10px !important;
	border-radius: 6px !important;
	text-decoration: none !important;
	font-weight: 800 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	transition: all 0.2s ease !important;
	line-height: 1 !important;
}

.ascotech-mini-cart-dropdown .buttons a.wc-forward:not(.checkout) {
	background: #fff !important;
	color: #333 !important;
	border: 1px solid #ddd !important;
}

.ascotech-mini-cart-dropdown .buttons a.checkout {
	background: var(--primary-red) !important;
	color: #fff !important;
}

.ascotech-mini-cart-dropdown .buttons a:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

/* ================================================================
   13. CART PAGE STYLING (OPTIMIZED & PREMIUM)
   ================================================================ */

.woocommerce-cart .woocommerce {
	padding: 20px 0 40px 0 !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 40px !important;
	align-items: flex-start !important;
}

.woocommerce-notices-wrapper {
	width: 100% !important;
	flex: 0 0 100% !important;
	margin-bottom: 0 !important;
}

/* Notices styling */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-left: 4px solid #ea1b25 !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
	border-radius: 10px !important;
	padding: 16px 22px !important;
	margin-bottom: 25px !important;
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	gap: 15px !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
	font-size: 14px !important;
	box-sizing: border-box !important;
}

.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
	font-family: "WooCommerce" !important;
	font-size: 18px !important;
	color: #ea1b25 !important;
}

/* ================================================================
   13. CART PAGE STYLING (OPTIMIZED & PREMIUM)
   ================================================================ */

.woocommerce-cart .woocommerce {
	padding: 20px 0 40px 0 !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 30px !important;
	align-items: flex-start !important;
}

.woocommerce-notices-wrapper {
	width: 100% !important;
	flex: 0 0 100% !important;
	margin-bottom: 0 !important;
}

/* Notices styling */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-left: 4px solid #ea1b25 !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
	border-radius: 10px !important;
	padding: 16px 22px !important;
	margin-bottom: 25px !important;
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	gap: 15px !important;
	font-weight: 600 !important;
	color: #1f2937 !important;
	font-size: 14px !important;
	box-sizing: border-box !important;
}

.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
	font-family: "WooCommerce" !important;
	font-size: 18px !important;
	color: #ea1b25 !important;
}

/* Cart Table Form Card */
.woocommerce-cart-form {
	flex: 1 1 680px !important;
	min-width: 0 !important;
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
	overflow: hidden !important;
	transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.woocommerce-cart-form:hover {
	border-color: #d1d5db !important;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06) !important;
}

.woocommerce-cart-form table.shop_table {
	border: none !important;
	border-collapse: collapse !important;
	width: 100% !important;
	margin: 0 !important;
	table-layout: fixed !important;
}

.woocommerce-cart-form table.shop_table thead {
	background: #f9fafb !important;
	border-bottom: 1px solid #e5e7eb !important;
}

.woocommerce-cart-form table.shop_table th {
	padding: 14px 8px !important;
	font-weight: 700 !important;
	color: #4b5563 !important;
	text-transform: uppercase !important;
	font-size: 11px !important;
	letter-spacing: 0.5px !important;
	border: none !important;
	text-align: left !important;
	box-sizing: border-box !important;
	white-space: nowrap !important;
}

.woocommerce-cart-form table.shop_table td {
	padding: 16px 8px !important;
	border-bottom: 1px solid #f3f4f6 !important;
	font-size: 14px !important;
	color: #1f2937 !important;
	vertical-align: middle !important;
	box-sizing: border-box !important;
}

.woocommerce-cart-form .cart_item:last-child td {
	border-bottom: none !important;
}

.woocommerce-cart-form .cart_item:hover {
	background: #fafafa !important;
}

/* Balanced Column Proportions for Native HTML Cart Table (Desktop) */
.woocommerce-cart-form table.shop_table .product-thumbnail {
	width: 10% !important;
	padding-left: 14px !important;
	padding-right: 4px !important;
	text-align: center !important;
}

.woocommerce-cart-form table.shop_table .product-thumbnail img {
	width: 56px !important;
	height: 56px !important;
	object-fit: contain !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	border: 1px solid #e5e7eb !important;
	padding: 4px !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
	display: block !important;
	margin: 0 auto !important;
}

.woocommerce-cart-form table.shop_table .product-name {
	width: 42% !important;
	text-align: left !important;
	padding-left: 4px !important;
}

.woocommerce-cart-form table.shop_table .product-price {
	width: 14% !important;
	text-align: right !important;
	white-space: nowrap !important;
}

.woocommerce-cart-form table.shop_table .product-quantity {
	width: 11% !important;
	text-align: center !important;
}

.woocommerce-cart-form table.shop_table .product-subtotal {
	width: 17% !important;
	text-align: right !important;
	white-space: nowrap !important;
}

.woocommerce-cart-form table.shop_table .product-remove {
	width: 6% !important;
	padding-left: 2px !important;
	padding-right: 14px !important;
	text-align: center !important;
}

.woocommerce-cart-form .product-name a {
	font-weight: 700 !important;
	color: #111827 !important;
	text-decoration: none !important;
	font-size: 14px !important;
	display: block !important;
	line-height: 1.35 !important;
	transition: color 0.2s ease !important;
}

.woocommerce-cart-form .product-name a:hover {
	color: #ea1b25 !important;
}

/* Variation labels in cart */
.woocommerce-cart-form .product-name .variation {
	margin-top: 4px !important;
	display: flex !important;
	gap: 6px !important;
	flex-wrap: wrap !important;
}

.woocommerce-cart-form .product-name .variation dt,
.woocommerce-cart-form .product-name .variation dd {
	font-size: 12px !important;
	color: #6b7280 !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

.woocommerce-cart-form .product-name .variation dt {
	font-weight: 700 !important;
}

.woocommerce-cart-form .product-name .variation p {
	margin: 0 !important;
	display: inline !important;
}

.woocommerce-cart-form .product-price {
	font-weight: 700 !important;
	color: #374151 !important;
}

.woocommerce-cart-form .product-subtotal {
	font-weight: 800 !important;
	color: #ea1b25 !important;
	font-size: 15px !important;
}

/* Remove button - Modern Trash Icon */
.woocommerce-cart-form .product-remove a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	height: 30px !important;
	border-radius: 50% !important;
	background: #fef2f2 !important;
	border: 1px solid #fecaca !important;
	color: #dc2626 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	font-size: 0 !important;
}

.woocommerce-cart-form .product-remove a::before {
	content: "\e013" !important;
	font-family: "WooCommerce" !important;
	font-size: 12px !important;
}

.woocommerce-cart-form .product-remove a:hover {
	background: #ea1b25 !important;
	color: #ffffff !important;
	border-color: #ea1b25 !important;
	transform: scale(1.1) rotate(6deg) !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.25) !important;
}

/* Quantity Input in Cart */
.woocommerce-cart-form .quantity {
	display: inline-block !important;
	margin: 0 !important;
}

.woocommerce-cart-form .quantity input {
	width: 48px !important;
	height: 36px !important;
	border: 1px solid #d1d5db !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	text-align: center !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	color: #111827 !important;
	outline: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce-cart-form .quantity input:focus {
	border-color: #ea1b25 !important;
	box-shadow: 0 0 0 3px rgba(234, 27, 37, 0.12) !important;
}

/* Actions & Coupon Area */
.woocommerce-cart-form .actions {
	background: #f9fafb !important;
	padding: 16px 20px !important;
	border-top: 1px solid #e5e7eb !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 15px !important;
}

.woocommerce-cart-form .coupon {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.woocommerce-cart-form .coupon label {
	display: none !important;
}

.woocommerce-cart-form .coupon input#coupon_code {
	border: 1px solid #d1d5db !important;
	border-radius: 8px !important;
	padding: 0 14px !important;
	font-size: 13px !important;
	outline: none !important;
	color: #111827 !important;
	background: #ffffff !important;
	transition: all 0.2s ease !important;
	height: 40px !important;
	width: 180px !important;
	box-sizing: border-box !important;
}

.woocommerce-cart-form .coupon input#coupon_code:focus {
	border-color: #ea1b25 !important;
	box-shadow: 0 0 0 3px rgba(234, 27, 37, 0.12) !important;
}

/* Button styles in cart form */
.woocommerce button.button {
	background: #ffffff !important;
	color: #374151 !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 0 18px !important;
	height: 40px !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	border-radius: 8px !important;
	border: 1px solid #d1d5db !important;
	transition: all 0.2s ease !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
}

.woocommerce button.button:hover {
	background: #111827 !important;
	color: #ffffff !important;
	border-color: #111827 !important;
}

.woocommerce button.button[name="update_cart"] {
	background: #ea1b25 !important;
	color: #ffffff !important;
	border: none !important;
	height: 40px !important;
	line-height: 1 !important;
	padding: 0 20px !important;
	white-space: nowrap !important;
	font-weight: 800 !important;
	font-size: 12px !important;
	letter-spacing: 0.5px !important;
	border-radius: 8px !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.18) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.25s ease !important;
}

.woocommerce button.button[name="update_cart"]:hover {
	background: #111827 !important;
	color: #ffffff !important;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15) !important;
}

@media (min-width: 768px) {
	.ascotech-cart-inner {
		max-width: 1400px;
		margin: 0 auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
}

/* ================================================================
   Mobile Responsive Cart Item Cards (@media max-width: 767px)
   ================================================================ */
@media (max-width: 767px) {

	.ascotech-cart-inner,
	div.ascotech-cart-inner,
	.ascotech-cart-page,
	main.ascotech-cart-page {
		padding: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.woocommerce-cart .woocommerce {
		padding: 10px 0 30px 0 !important;
	}

	.woocommerce-cart-form {
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		overflow: visible !important;
		padding: 0 !important;
		margin: 0 !important;
		width: 100% !important;
	}

	.woocommerce-cart-form table.shop_table {
		background: transparent !important;
		border: none !important;
		display: block !important;
		width: 100% !important;
	}

	.woocommerce-cart-form table.shop_table thead {
		display: none !important;
	}

	.woocommerce-cart-form table.shop_table tbody {
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
		width: 100% !important;
	}

	/* Sleek single horizontal row card per item (~60px height) */
	.woocommerce-cart-form table.shop_table tr.cart_item {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 8px !important;
		background: #ffffff !important;
		border: 1px solid #e5e7eb !important;
		border-radius: 12px !important;
		padding: 8px 10px !important;
		margin: 0 !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
		position: relative !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 56px !important;
	}

	.woocommerce-cart-form table.shop_table td {
		display: flex !important;
		align-items: center !important;
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
		text-align: left !important;
		box-sizing: border-box !important;
		width: auto !important;
		margin: 0 !important;
		float: none !important;
		clear: none !important;
		position: static !important;
	}

	/* Completely remove default WooCommerce pseudo labels */
	.woocommerce-cart-form table.shop_table td::before,
	.woocommerce-cart-form table.shop_table td.product-name::before,
	.woocommerce-cart-form table.shop_table td.product-price::before,
	.woocommerce-cart-form table.shop_table td.product-quantity::before,
	.woocommerce-cart-form table.shop_table td.product-subtotal::before {
		content: none !important;
		display: none !important;
	}

	/* 1. Thumbnail Image on far left (Full cell space utilisation) */
	.woocommerce-cart-form table.shop_table td.product-thumbnail {
		order: 1 !important;
		flex: 0 0 46px !important;
		width: 46px !important;
		height: 46px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.woocommerce-cart-form table.shop_table td.product-thumbnail img {
		width: 46px !important;
		height: 46px !important;
		max-width: 46px !important;
		max-height: 46px !important;
		object-fit: contain !important;
		border-radius: 6px !important;
		background: transparent !important;
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;
		display: block !important;
	}

	/* 2. Product Name & Details in center flex column (Expanded space) */
	.woocommerce-cart-form table.shop_table td.product-name {
		order: 2 !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		gap: 1px !important;
	}

	.woocommerce-cart-form table.shop_table td.product-name a {
		font-size: 13px !important;
		font-weight: 700 !important;
		color: #111827 !important;
		line-height: 1.25 !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
		word-break: break-word !important;
	}

	.woocommerce-cart-form table.shop_table td.product-name .wc-item-meta {
		font-size: 11px !important;
		color: #6b7280 !important;
		margin: 0 !important;
	}

	/* Unit Price hidden on mobile */
	.woocommerce-cart-form table.shop_table td.product-price {
		display: none !important;
	}

	/* 3. Quantity Input Selector on right (Strict 36px width to eliminate 44px wasted space) */
	.woocommerce-cart-form table.shop_table td.product-quantity {
		order: 3 !important;
		flex: 0 0 36px !important;
		width: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	.woocommerce-cart-form table.shop_table td.product-quantity .quantity {
		width: 36px !important;
		max-width: 36px !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		justify-content: center !important;
	}

	.woocommerce-cart-form table.shop_table td.product-quantity .quantity input {
		width: 36px !important;
		max-width: 36px !important;
		height: 28px !important;
		font-size: 12px !important;
		border-radius: 6px !important;
		padding: 0 !important;
		margin: 0 !important;
		text-align: center !important;
		box-sizing: border-box !important;
	}

	/* 4. Subtotal Price on right */
	.woocommerce-cart-form table.shop_table td.product-subtotal {
		order: 4 !important;
		flex: 0 0 auto !important;
		display: flex !important;
		align-items: center !important;
		font-size: 13px !important;
		font-weight: 800 !important;
		color: #ea1b25 !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: right !important;
		white-space: nowrap !important;
	}

	/* 5. Trash Remove Button on far right end of row */
	.woocommerce-cart-form table.shop_table td.product-remove {
		order: 99 !important;
		flex: 0 0 24px !important;
		width: 24px !important;
		height: 24px !important;
		min-width: 24px !important;
		min-height: 24px !important;
		max-width: 24px !important;
		max-height: 24px !important;
		margin: 0 0 0 2px !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		background: transparent !important;
		border: none !important;
		position: static !important;
	}

	.woocommerce-cart-form table.shop_table td.product-remove a,
	.woocommerce-cart-form table.shop_table td.product-remove a.remove {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 24px !important;
		height: 24px !important;
		min-width: 24px !important;
		min-height: 24px !important;
		border-radius: 50% !important;
		background: #fef2f2 !important;
		border: 1px solid #fecaca !important;
		color: #dc2626 !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
		text-decoration: none !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
		transition: all 0.2s ease !important;
	}

	.woocommerce-cart-form table.shop_table td.product-remove a::before,
	.woocommerce-cart-form table.shop_table td.product-remove a::after {
		content: none !important;
		display: none !important;
	}

	.woocommerce-cart-form table.shop_table td.product-remove a:hover,
	.woocommerce-cart-form table.shop_table td.product-remove a.remove:hover {
		background: #ea1b25 !important;
		color: #ffffff !important;
		border-color: #ea1b25 !important;
		transform: scale(1.1) !important;
	}

	/* Coupon & Action buttons on Mobile */
	.woocommerce-cart-form .actions {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 10px !important;
		padding: 12px !important;
		background: #ffffff !important;
		border: 1px solid #e5e7eb !important;
		border-radius: 12px !important;
		margin-top: 10px !important;
	}

	.woocommerce-cart-form .coupon {
		width: 100% !important;
		display: flex !important;
		gap: 8px !important;
	}

	.woocommerce-cart-form .coupon input#coupon_code {
		flex: 1 !important;
		width: 100% !important;
	}

	.woocommerce button.button[name="update_cart"] {
		width: 100% !important;
	}
}

/* Cart Collaterals & Totals Box Sidebar */
.cart-collaterals {
	flex: 0 0 360px !important;
	width: 360px !important;
	margin-top: 0 !important;
}

@media (max-width: 991px) {
	.woocommerce-cart-form {
		flex: 1 1 100% !important;
		width: 100% !important;
	}

	.cart-collaterals {
		flex: 1 1 100% !important;
		width: 100% !important;
	}
}

.cart_totals {
	width: 100% !important;
	background: #ffffff !important;
	padding: 20px !important;
	border-radius: 18px !important;
	border: 1px solid #e5e7eb !important;
	box-shadow: 0 10px 35px rgba(0, 0, 0, 0.05) !important;
	position: sticky !important;
	top: 100px !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

.cart_totals h2 {
	font-weight: 800 !important;
	color: #111827 !important;
	margin-top: 0 !important;
	margin-bottom: 16px !important;
	padding-bottom: 12px !important;
	border-bottom: 2px solid #f3f4f6 !important;
	text-transform: uppercase !important;
	font-size: 15px !important;
	letter-spacing: 0.5px !important;
}

.cart_totals table.shop_table,
.cart_totals table.shop_table_responsive,
.cart_totals table,
.cart_totals tbody {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	border: none !important;
	border-collapse: collapse !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	outline: none !important;
	box-shadow: none !important;
}

/* 2-column rows (Zwischensumme, Fee, Tax) */
.cart_totals table tr:not(.shipping):not(.woocommerce-shipping-totals) {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid #f3f4f6 !important;
	box-sizing: border-box !important;
}

.cart_totals table tr.order-total {
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 16px 0 0 0 !important;
	border-bottom: none !important;
	box-sizing: border-box !important;
}

/* Completely suppress redundant WooCommerce pseudo labels inside cart totals box */
.cart_totals td::before,
.cart_totals th::before,
.cart_totals table td::before,
.cart_totals table th::before,
.cart_totals table.shop_table td::before,
.cart_totals table.shop_table_responsive td::before {
	content: none !important;
	display: none !important;
}

/* Cell styles for 2-column flex rows */
.cart_totals tr:not(.shipping):not(.woocommerce-shipping-totals) th {
	display: block !important;
	padding: 0 !important;
	margin: 0 !important;
	font-weight: 700 !important;
	color: #6b7280 !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	border: none !important;
	text-align: left !important;
	flex: 0 0 auto !important;
	box-sizing: border-box !important;
}

.cart_totals tr.order-total th {
	font-size: 13px !important;
	font-weight: 800 !important;
	color: #111827 !important;
}

.cart_totals tr:not(.shipping):not(.woocommerce-shipping-totals) td {
	display: block !important;
	padding: 0 !important;
	margin: 0 !important;
	font-weight: 700 !important;
	color: #111827 !important;
	font-size: 14px !important;
	border: none !important;
	text-align: right !important;
	flex: 0 0 auto !important;
	box-sizing: border-box !important;
}

/* Shipping row in Cart Totals — Full width 100% column flex layout with clean white/transparent background */
.cart_totals tr.shipping,
.cart_totals tr.woocommerce-shipping-totals,
.cart_totals tr.shipping td,
.cart_totals tr.woocommerce-shipping-totals td,
.cart_totals tr.shipping th,
.cart_totals tr.woocommerce-shipping-totals th {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

.cart_totals tr.shipping,
.cart_totals tr.woocommerce-shipping-totals {
	padding: 14px 0 !important;
	border-bottom: 1px solid #f3f4f6 !important;
}

.cart_totals tr.shipping th,
.cart_totals tr.woocommerce-shipping-totals th {
	padding: 0 0 10px 0 !important;
	margin: 0 !important;
	text-align: left !important;
	border: none !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	color: #4b5563 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.cart_totals tr.shipping td,
.cart_totals tr.woocommerce-shipping-totals td {
	padding: 0 !important;
	margin: 0 !important;
	text-align: left !important;
	border: none !important;
}

.cart_totals tr.shipping td::before,
.cart_totals tr.shipping th::before,
.cart_totals tr.woocommerce-shipping-totals td::before,
.cart_totals tr.woocommerce-shipping-totals th::before {
	content: none !important;
	display: none !important;
}

.woocommerce-shipping-methods,
ul#shipping_method {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
	max-width: 100% !important;
	background: transparent !important;
	box-sizing: border-box !important;
}

.woocommerce-shipping-methods li,
ul#shipping_method li {
	margin-bottom: 8px !important;
	padding: 10px 14px !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	transition: all 0.2s ease !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	cursor: pointer !important;
	font-size: 12px !important;
	color: #1f2937 !important;
	text-align: left !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.woocommerce-shipping-methods li:hover,
ul#shipping_method li:hover {
	border-color: #d1d5db !important;
	background: #ffffff !important;
}

.woocommerce-shipping-methods li:has(input:checked),
ul#shipping_method li:has(input:checked) {
	border-color: #ea1b25 !important;
	border-width: 1.5px !important;
	background: #ffffff !important;
	box-shadow: 0 2px 8px rgba(234, 27, 37, 0.08) !important;
}

.woocommerce-shipping-methods li label,
ul#shipping_method li label {
	margin: 0 !important;
	cursor: pointer !important;
	flex: 1 !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.woocommerce-shipping-methods li input,
ul#shipping_method li input {
	margin: 0 !important;
	accent-color: #ea1b25 !important;
	width: 16px !important;
	height: 16px !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
}

.woocommerce-shipping-destination {
	font-size: 11px !important;
	color: #6b7280 !important;
	margin-top: 8px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	text-align: left !important;
	background: transparent !important;
}

.shipping-calculator-button {
	color: #ea1b25 !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	font-size: 11px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	margin-top: 8px !important;
	padding: 4px 10px !important;
	background: #fef2f2 !important;
	border-radius: 6px !important;
	transition: all 0.25s ease !important;
}

.shipping-calculator-button:hover {
	background: #ea1b25 !important;
	color: #ffffff !important;
}

/* Order Total row styling in cart totals — Stack amount & tax info vertically */
.cart_totals .order-total .amount {
	font-size: 24px !important;
	font-weight: 900 !important;
	color: #ea1b25 !important;
	letter-spacing: -0.5px !important;
	display: block !important;
	line-height: 1 !important;
	text-align: right !important;
}

.cart_totals .includes_tax {
	font-size: 11px !important;
	color: #9ca3af !important;
	font-weight: 500 !important;
	display: block !important;
	margin-top: 6px !important;
	text-transform: none !important;
	white-space: normal !important;
	text-align: right !important;
	line-height: 1.3 !important;
}

.cart_totals .includes_tax .amount {
	font-size: 11px !important;
	color: #6b7280 !important;
	font-weight: 700 !important;
}

/* Primary Action Button (Checkout CTA) */
.woocommerce a.checkout-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	height: 50px !important;
	line-height: 50px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	margin-top: 18px !important;
	background: linear-gradient(135deg, #ea1b25 0%, #c1121c 100%) !important;
	color: #ffffff !important;
	border-radius: 10px !important;
	box-shadow: 0 8px 25px rgba(234, 27, 37, 0.28) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	text-decoration: none !important;
	transition: all 0.25s ease !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.woocommerce a.checkout-button::after {
	content: "🔒" !important;
	font-size: 14px !important;
}

.woocommerce a.checkout-button:hover {
	background: #111827 !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
	transform: translateY(-2px) !important;
	color: #ffffff !important;
}

/* Cart Trust & Payment Badges inside Totals Box */
.ascotech-cart-trust-badges {
	margin-top: 18px !important;
	padding-top: 16px !important;
	border-top: 1px solid #f3f4f6 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.ascotech-cart-trust-badges .trust-badge-col {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.ascotech-cart-trust-badges .trust-item {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: #4b5563 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
}

.ascotech-cart-trust-badges .payment-methods-icons {
	display: flex !important;
	justify-content: flex-start !important;
	align-items: center !important;
	gap: 5px !important;
	flex-wrap: wrap !important;
}

.ascotech-cart-trust-badges .pay-chip {
	font-size: 10px !important;
	font-weight: 800 !important;
	color: #374151 !important;
	background: #f3f4f6 !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 4px !important;
	padding: 3px 7px !important;
	letter-spacing: 0.3px !important;
	text-transform: uppercase !important;
}


/* Cross Sells Section - High-End 4-Column Grid Below Cart */
.woocommerce-cart .cross-sells {
	width: 100% !important;
	flex: 0 0 100% !important;
	margin-top: 50px !important;
	padding-top: 40px !important;
	border-top: 1px solid #e5e7eb !important;
}

.woocommerce-cart .cross-sells h2 {
	font-size: 22px !important;
	font-weight: 800 !important;
	margin-bottom: 28px !important;
	text-transform: none !important;
	letter-spacing: -0.3px !important;
	color: #111827 !important;
	position: relative !important;
	display: inline-block !important;
}

.woocommerce-cart .cross-sells h2::after {
	content: "" !important;
	position: absolute !important;
	bottom: -8px !important;
	left: 0 !important;
	width: 40px !important;
	height: 3px !important;
	background: #ea1b25 !important;
	border-radius: 2px !important;
}

.woocommerce-cart .cross-sells ul.products {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 20px !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
}

.woocommerce-cart .cross-sells ul.products::before,
.woocommerce-cart .cross-sells ul.products::after {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

.woocommerce-cart .cross-sells ul.products li.product {
	flex: 0 0 calc(25% - 15px) !important;
	max-width: calc(25% - 15px) !important;
	width: calc(25% - 15px) !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	background: #ffffff !important;
	padding: 20px !important;
	border-radius: 14px !important;
	border: 1px solid #e5e7eb !important;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03) !important;
	transition: all 0.25s ease !important;
	position: relative !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
}

@media (max-width: 1199px) {
	.woocommerce-cart .cross-sells ul.products li.product {
		flex: 0 0 calc(33.333% - 14px) !important;
		max-width: calc(33.333% - 14px) !important;
		width: calc(33.333% - 14px) !important;
	}
}

@media (max-width: 850px) {
	.woocommerce-cart .cross-sells ul.products li.product {
		flex: 0 0 calc(50% - 10px) !important;
		max-width: calc(50% - 10px) !important;
		width: calc(50% - 10px) !important;
	}
}

@media (max-width: 550px) {
	.woocommerce-cart .cross-sells ul.products li.product {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}

.woocommerce-cart .cross-sells ul.products li.product:nth-child(3n+1) {
	clear: none !important;
}

.woocommerce-cart .cross-sells ul.products li.product:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important;
	border-color: #d1d5db !important;
}

.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__link {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	text-decoration: none !important;
	margin-bottom: 10px !important;
}

.woocommerce-cart .cross-sells ul.products li.product img {
	width: 100px !important;
	height: 100px !important;
	object-fit: contain !important;
	margin: 0 0 12px 0 !important;
	flex-shrink: 0 !important;
	background: #ffffff !important;
	transition: transform 0.25s ease !important;
}

.woocommerce-cart .cross-sells ul.products li.product:hover img {
	transform: scale(1.05) !important;
}

.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #111827 !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	line-height: 1.35 !important;
	min-height: 38px !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}

.woocommerce-cart .cross-sells ul.products li.product .price {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	color: #ea1b25 !important;
}

.woocommerce-cart .cross-sells ul.products li.product .price del {
	font-size: 12px !important;
	color: #9ca3af !important;
	font-weight: 500 !important;
}

.woocommerce-cart .cross-sells ul.products li.product .price ins {
	text-decoration: none !important;
}

.woocommerce-cart .cross-sells ul.products li.product a.button,
.woocommerce-cart .cross-sells ul.products li.product .button,
.woocommerce-cart .cross-sells ul.products li.product .add_to_cart_button {
	background: #f3f4f6 !important;
	color: #111827 !important;
	border: 1px solid #e5e7eb !important;
	padding: 10px 16px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	margin: 14px 0 0 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 40px !important;
	line-height: 20px !important;
	text-align: center !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	transition: all 0.2s ease !important;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
}

.woocommerce-cart .cross-sells ul.products li.product a.button:hover,
.woocommerce-cart .cross-sells ul.products li.product .button:hover,
.woocommerce-cart .cross-sells ul.products li.product .add_to_cart_button:hover {
	background: #ea1b25 !important;
	color: #ffffff !important;
	border-color: #ea1b25 !important;
	box-shadow: 0 4px 14px rgba(234, 27, 37, 0.25) !important;
	transform: none !important;
}

/* Percentage Badge in Cross Sells - Positioned cleanly inside top right of card */
.woocommerce-cart .cross-sells .onsale {
	position: absolute !important;
	top: 12px !important;
	right: 12px !important;
	left: auto !important;
	background: #ea1b25 !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	height: 28px !important;
	min-width: 44px !important;
	padding: 0 8px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 6px !important;
	box-shadow: 0 2px 8px rgba(234, 27, 37, 0.25) !important;
	z-index: 5 !important;
	line-height: 1 !important;
}

.woocommerce-cart .cross-sells .star-rating {
	display: none !important;
}

/* Trust checklist styling on cart page */
.woocommerce-cart .product-trust-checklist {
	margin-top: 30px !important;
	padding: 20px 24px !important;
	background: #f9fafb !important;
	border-radius: 12px !important;
	border: 1px solid #e5e7eb !important;
}

.woocommerce-cart .product-trust-checklist ul {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 15px !important;
}

@media (max-width: 768px) {
	.woocommerce-cart .product-trust-checklist ul {
		grid-template-columns: 1fr !important;
	}
}

/* Empty Cart Styling */
.cart-empty {
	text-align: center !important;
	padding: 80px 20px !important;
	background: #ffffff !important;
	border-radius: 16px !important;
	width: 100% !important;
	border: 1px solid #e5e7eb !important;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.03) !important;
}

.cart-empty::before {
	content: "🛒" !important;
	font-size: 64px !important;
	display: block !important;
	margin-bottom: 20px !important;
}

.cart-empty .return-to-shop {
	margin-top: 30px !important;
}

.cart-empty .return-to-shop a.button {
	background: #ea1b25 !important;
	color: #ffffff !important;
	padding: 14px 32px !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	border-radius: 10px !important;
	box-shadow: 0 6px 20px rgba(234, 27, 37, 0.25) !important;
	transition: all 0.25s ease !important;
}

.cart-empty .return-to-shop a.button:hover {
	background: #111827 !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15) !important;
}

/* 14. Checkout Progress Bar & Trust Bar */
.ascotech-checkout-progress {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 80px !important;
	margin: 0 auto 10px !important;
	max-width: 800px !important;
	position: relative !important;
}

.ascotech-checkout-progress::before {
	content: "" !important;
	position: absolute !important;
	top: 16px !important;
	/* Perfectly centered with circles */
	left: 10% !important;
	right: 10% !important;
	height: 4px !important;
	border-radius: 2px !important;
	background: #e2e8f0 !important;
	z-index: 1 !important;
	transition: background 0.4s ease !important;
}

/* Dynamic progress line fills */
.ascotech-checkout-progress.step-2::before {
	background: linear-gradient(to right, var(--accent-red, #ea1b25) 50%, #e2e8f0 50%) !important;
}

.ascotech-checkout-progress.step-3::before {
	background: var(--accent-red, #ea1b25) !important;
}

.progress-step {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 15px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	color: #bbb !important;
	text-transform: uppercase !important;
	letter-spacing: 1.5px !important;
	position: relative !important;
	z-index: 2 !important;
	background: transparent !important;
	padding: 0 !important;
}

.progress-step.active {
	color: var(--accent-red, #ea1b25) !important;
}

.progress-step span {
	width: 36px !important;
	height: 36px !important;
	background: var(--steps-bg, #ffffff) !important;
	border: 2px solid #e2e8f0 !important;
	color: #cbd5e1 !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-shadow: 0 0 0 4px var(--steps-bg, #ffffff) !important;
	/* Gap between circle and line */
}

.progress-step.active span {
	background: var(--accent-red, #ea1b25) !important;
	border-color: var(--accent-red, #ea1b25) !important;
	color: #fff !important;
	box-shadow: 0 10px 20px rgba(234, 27, 37, 0.2), 0 0 0 6px var(--steps-bg, #ffffff) !important;
	transform: scale(1.1);
}

.progress-step.completed {
	color: #1e293b !important;
}

.progress-step.completed span {
	background: var(--steps-bg, #ffffff) !important;
	border-color: var(--accent-red, #ea1b25) !important;
	color: var(--accent-red, #ea1b25) !important;
	box-shadow: 0 4px 10px rgba(234, 27, 37, 0.08), 0 0 0 4px var(--steps-bg, #ffffff) !important;
}

.progress-step.completed:hover span {
	background: var(--accent-red, #ea1b25) !important;
	color: #fff !important;
	transform: scale(1.05);
	box-shadow: 0 8px 16px rgba(234, 27, 37, 0.15), 0 0 0 6px var(--steps-bg, #ffffff) !important;
}


/* Page Footer Trust Bar Optimization for Cart */
.woocommerce-cart .product-trust-checklist {
	margin: 80px auto 0 !important;
	padding: 60px !important;
	background: #fff !important;
	border-radius: 24px !important;
	border: 1px solid #f0f0f0 !important;
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.03) !important;
	max-width: 1400px !important;
}

/* 15. Premium Unified E-Commerce Buttons - Fully Optimised */
/* Make block-based recommendation, search, list, and cross-sell buttons look high-end, cohesive, and tactile */
.wc-block-components-product-button__button,
.wc-block-grid__product-add-to-cart .button,
.wp-block-button__link.wp-element-button {
	background: linear-gradient(135deg, #ea1b25 0%, #c1121c 100%) !important;
	color: #fff !important;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-weight: 800 !important;
	font-size: 13px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	padding: 14px 28px !important;
	border-radius: 30px !important;
	border: none !important;
	box-shadow: 0 8px 20px rgba(234, 27, 37, 0.15) !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	line-height: 1 !important;
	text-decoration: none !important;
	width: auto !important;
	min-width: 140px !important;
	max-width: 100% !important;
	height: auto !important;
	outline: none !important;
}

/* Ensure proper width & alignment on product grids */
.ascotech-product-grid .add_to_cart_button,
.wc-block-grid__product-add-to-cart .button,
.wc-block-components-product-button__button {
	width: 100% !important;
	display: flex !important;
	margin-top: 15px !important;
}

/* Premium Hover Transitions */
.wc-block-components-product-button__button:hover,
.wc-block-grid__product-add-to-cart .button:hover,
.wp-block-button__link.wp-element-button:hover {
	background: #222 !important;
	color: #fff !important;
	box-shadow: 0 12px 25px rgba(0, 0, 0, 0.18) !important;
	transform: translateY(-2px) !important;
	border: none !important;
}

/* Tactile Active/Press State */
.wc-block-components-product-button__button:active,
.wc-block-grid__product-add-to-cart .button:active,
.wp-block-button__link.wp-element-button:active {
	transform: translateY(-1px) !important;
	box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15) !important;
}

/* ==========================================================================
   16. My Account Page (Mein Konto) Styles
   ========================================================================== */

:root {
	--portal-bg: #f8fafc;
	/* Slate 50 background */
	--card-bg: #ffffff;
	--steps-bg: #ffffff;
	--accent-red: #ea1b25;
	/* Brand primary red */
	--accent-hover: #c1121c;
	--accent-light: rgba(234, 27, 37, 0.04);
	--accent-glow: rgba(234, 27, 37, 0.08);
	--text-dark: #0f172a;
	/* Slate 900 */
	--text-main: #334155;
	/* Slate 700 */
	--text-muted: #64748b;
	/* Slate 500 */
	--text-muted-light: #94a3b8;
	/* Slate 400 */
	--border-light: #e2e8f0;
	/* Slate 200 */
	--border-focus: #cbd5e1;
	/* Slate 300 */
	--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
	--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.03), 0 2px 4px -2px rgba(0, 0, 0, 0.03);
	--shadow-premium: 0 12px 24px -4px rgba(15, 23, 42, 0.04), 0 4px 12px -2px rgba(15, 23, 42, 0.02);
	--shadow-card-hover: 0 20px 40px -8px rgba(234, 27, 37, 0.06), 0 4px 16px -4px rgba(15, 23, 42, 0.02);
	--radius-lg: 16px;
	--radius-md: 12px;
	--radius-sm: 8px;
	--font-family-premium: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Kill stray br tags injected by WordPress wpautop */
.woocommerce-MyAccount-navigation-link a br,
.ascotech-dashboard-card br,
.ascotech-account-dashboard-cards br,
.woocommerce-MyAccount-content br {
	display: none !important;
}

/* Page Header */
.account-header {
	margin-bottom: 40px !important;
	text-align: left !important;
}

.account-title {
	font-family: var(--font-family-premium) !important;
	font-size: 36px !important;
	font-weight: 900 !important;
	letter-spacing: -1.2px !important;
	color: var(--text-dark) !important;
	margin-top: 0 !important;
	margin-bottom: 8px !important;
	line-height: 1.1 !important;
}

.account-subtitle {
	font-family: var(--font-family-premium) !important;
	font-size: 15px !important;
	color: var(--text-muted) !important;
	margin: 0 !important;
	line-height: 1.6 !important;
	font-weight: 500 !important;
}

/* Center title and add premium details on logged-out view */
.woocommerce-account:not(:has(.woocommerce-MyAccount-navigation)) .account-header {
	text-align: center !important;
	max-width: 600px !important;
	margin: 0 auto 50px !important;
}

.woocommerce-account:not(:has(.woocommerce-MyAccount-navigation)) .account-title::after {
	content: "" !important;
	position: absolute !important;
	bottom: -10px !important;
	left: 25% !important;
	width: 50% !important;
	height: 4px !important;
	background: var(--accent-red) !important;
	border-radius: 2px !important;
	display: none !important;
	/* Hide old generic underline */
}

/* Logged-out view (Single-Card Tabbed Login & Registration) */
.woocommerce-account .u-columns.col2-set,
.woocommerce-account #customer_login {
	display: flex !important;
	flex-direction: column !important;
	max-width: 440px !important;
	width: 100% !important;
	margin: 10px auto 0 auto !important;
	background: var(--card-bg) !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-lg) !important;
	box-shadow: var(--shadow-premium) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.woocommerce-account .u-columns.col2-set::after {
	content: none !important;
}

/* Tab Header Buttons Bar */
.ascotech-auth-tab-header {
	display: flex !important;
	background: #f1f5f9 !important;
	padding: 5px !important;
	gap: 5px !important;
	border-bottom: 1px solid var(--border-light) !important;
	box-sizing: border-box !important;
}

.ascotech-auth-tab {
	flex: 1 !important;
	padding: 10px 14px !important;
	border: none !important;
	background: transparent !important;
	color: #64748b !important;
	font-family: var(--font-family-premium) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	outline: none !important;
	text-align: center !important;
}

.ascotech-auth-tab:hover {
	color: var(--text-dark) !important;
}

.ascotech-auth-tab.active {
	background: #ffffff !important;
	color: var(--accent-red) !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
	font-weight: 800 !important;
}

/* Form Panes inside Single Card */
.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 24px 22px !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	float: none !important;
	margin: 0 !important;
	background: transparent !important;
}

.woocommerce-account .u-column1:hover,
.woocommerce-account .u-column2:hover {
	transform: none !important;
	box-shadow: none !important;
}

/* Hide h2 headings inside single tab card */
.woocommerce-account #customer_login h2 {
	display: none !important;
}

/* Bottom Switch Prompt Link */
.ascotech-auth-switch-prompt {
	margin-top: 14px !important;
	margin-bottom: 0 !important;
	padding-top: 12px !important;
	border-top: 1px solid var(--border-light) !important;
	text-align: center !important;
	font-size: 12px !important;
	color: var(--text-muted) !important;
	line-height: 1.4 !important;
}

.ascotech-switch-link {
	color: var(--accent-red) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	margin-left: 3px !important;
	transition: color 0.2s ease !important;
}

.ascotech-switch-link:hover {
	text-decoration: underline !important;
}

/* Premium Trust & Benefits Bar below login form */
.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation))::after {
	content: "🔒  100% Sichere SSL-Verschlüsselung   •   ⚡  Sofort-Download nach Kauf   •   📞  24/7 Premium Support" !important;
	display: block !important;
	text-align: center !important;
	max-width: 440px !important;
	width: 100% !important;
	margin: 16px auto 0 auto !important;
	padding: 10px 14px !important;
	background: #f8fafc !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-md) !important;
	font-family: var(--font-family-premium) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var(--text-muted) !important;
	letter-spacing: 0.5px !important;
	box-sizing: border-box !important;
}

.woocommerce-account h2::after {
	content: "" !important;
	position: absolute !important;
	bottom: -1px !important;
	left: 0 !important;
	width: 40px !important;
	height: 3px !important;
	background: var(--accent-red) !important;
	border-radius: 2px !important;
}

/* Forms general styling */
.woocommerce-account form.login,
.woocommerce-account form.register,
.woocommerce-account form.edit-account,
.woocommerce-account .woocommerce-address-fields {
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background: none !important;
	box-shadow: none !important;
}

.woocommerce-account .form-row {
	margin-bottom: 12px !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	float: none !important;
}

.woocommerce-account .form-row label {
	font-family: var(--font-family-premium) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	margin-bottom: 4px !important;
	color: var(--text-main) !important;
}

.woocommerce-account .form-row label .required {
	color: var(--accent-red) !important;
	text-decoration: none !important;
}

.woocommerce-account .form-row input.input-text,
.woocommerce-account .form-row select {
	font-family: var(--font-family-premium) !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-sm) !important;
	padding: 10px 14px !important;
	font-size: 14px !important;
	outline: none !important;
	color: var(--text-dark) !important;
	background: #fafafa !important;
	transition: all 0.3s ease !important;
	width: 100% !important;
	box-sizing: border-box !important;
	box-shadow: var(--shadow-sm) !important;
}

.woocommerce-account .form-row input.input-text:focus,
.woocommerce-account .form-row select:focus {
	border-color: var(--accent-red) !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 4px var(--accent-glow) !important;
}

/* Remember me & lost password inline */
.woocommerce-account .woocommerce-form-login__rememberme {
	display: inline-flex !important;
	align-items: center !important;
	flex-direction: row !important;
	gap: 6px !important;
	margin-bottom: 14px !important;
	cursor: pointer !important;
	font-family: var(--font-family-premium) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--text-muted) !important;
	transition: color 0.3s ease !important;
}

.woocommerce-account .woocommerce-form-login__rememberme:hover {
	color: var(--accent-red) !important;
}

.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"] {
	width: 15px !important;
	height: 15px !important;
	accent-color: var(--accent-red) !important;
	cursor: pointer !important;
}

.woocommerce-account .woocommerce-LostPassword {
	margin-top: 12px !important;
	font-family: var(--font-family-premium) !important;
	font-size: 12px !important;
	text-align: center !important;
}

.woocommerce-account .woocommerce-LostPassword a {
	color: var(--text-muted) !important;
	transition: color 0.3s ease !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}

.woocommerce-account .woocommerce-LostPassword a:hover {
	color: var(--accent-red) !important;
	text-decoration: underline !important;
}

/* Logged-out & General Buttons */
.woocommerce-account button.button,
.woocommerce-account a.button,
.woocommerce-account input.button {
	background: var(--accent-red) !important;
	color: #fff !important;
	font-family: var(--font-family-premium) !important;
	font-weight: 800 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.6px !important;
	padding: 11px 20px !important;
	border-radius: var(--radius-sm) !important;
	border: none !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.15) !important;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	line-height: 1 !important;
	width: 100% !important;
	text-decoration: none !important;
}

.woocommerce-account button.button:hover,
.woocommerce-account a.button:hover,
.woocommerce-account input.button:hover {
	background: var(--text-dark) !important;
	color: #fff !important;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.15) !important;
	transform: translateY(-1px) !important;
}

.woocommerce-account button.button:active,
.woocommerce-account a.button:active,
.woocommerce-account input.button:active {
	transform: translateY(0px) !important;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.1) !important;
}


/* ==========================================
   Logged-in Portal Layout (Dashboard)
   ========================================== */
.woocommerce-account .woocommerce {
	width: 100% !important;
	max-width: 100% !important;
}

.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: flex !important;
	flex-direction: row !important;
	align-items: start !important;
	gap: 32px !important;
	margin-top: 20px !important;
	width: 100% !important;
	max-width: 100% !important;
}

/* Sidebar Navigation */
.woocommerce-MyAccount-navigation {
	flex: 0 0 280px !important;
	width: 280px !important;
	background: var(--card-bg) !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-lg) !important;
	padding: 20px 12px !important;
	box-shadow: var(--shadow-premium) !important;
	float: none !important;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}

body .woocommerce-account .woocommerce-MyAccount-navigation li,
body .woocommerce-account .woocommerce-MyAccount-navigation li:first-child,
body .woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	padding: 0 !important;
	margin: 0 !important;
}

/* Premium Greeting Card at the top of sidebar navigation */
.woocommerce-MyAccount-navigation ul::before {
	content: "Kundenportal" !important;
	display: block !important;
	padding: 12px 16px !important;
	margin-bottom: 12px !important;
	background: #f8fafc !important;
	border-radius: var(--radius-sm) !important;
	border: 1px solid var(--border-light) !important;
	color: var(--text-dark) !important;
	font-family: var(--font-family-premium) !important;
	font-weight: 800 !important;
	font-size: 11px !important;
	text-align: center !important;
	letter-spacing: 0.8px !important;
	text-transform: uppercase !important;
}

.woocommerce-MyAccount-navigation-link a {
	display: flex !important;
	align-items: center !important;
	padding: 10px 16px !important;
	color: var(--text-main) !important;
	font-family: var(--font-family-premium) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	border-radius: var(--radius-sm) !important;
	transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
	text-decoration: none !important;
	position: relative !important;
	line-height: 1.3 !important;
}

.woocommerce-MyAccount-navigation-link a:hover {
	background: var(--portal-bg) !important;
	color: var(--accent-red) !important;
	transform: translateX(3px) !important;
}

.woocommerce-MyAccount-navigation-link.is-active a {
	background: var(--accent-light) !important;
	color: var(--accent-red) !important;
	font-weight: 700 !important;
}

/* Premium micro-interactive Chevron revealing on hover */
.woocommerce-MyAccount-navigation-link a::after {
	content: "\203A" !important;
	/* Elegant arrow › */
	margin-left: auto !important;
	font-size: 18px !important;
	color: var(--text-muted-light) !important;
	transition: all 0.2s ease !important;
	opacity: 0 !important;
	transform: translateX(-6px) !important;
}

.woocommerce-MyAccount-navigation-link a:hover::after,
.woocommerce-MyAccount-navigation-link.is-active a::after {
	opacity: 1 !important;
	transform: translateX(0) !important;
	color: var(--accent-red) !important;
}

/* Add custom color-reactive outline SVGs via CSS masks for a high-end feel */
.woocommerce-MyAccount-navigation-link a::before {
	content: "" !important;
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	flex-shrink: 0 !important;
	margin-right: 10px !important;
	background-color: currentColor !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	transition: background-color 0.25s ease !important;
}

.woocommerce-MyAccount-navigation-link--dashboard a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4 6a2 2 0 012-2h2a2 2 0 012 2v4a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v4a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4 6a2 2 0 012-2h2a2 2 0 012 2v4a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v4a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z'/%3E%3C/svg%3E") !important;
}

.woocommerce-MyAccount-navigation-link--orders a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4'/%3E%3C/svg%3E") !important;
}

.woocommerce-MyAccount-navigation-link--downloads a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4'/%3E%3C/svg%3E") !important;
}

.woocommerce-MyAccount-navigation-link--edit-address a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 11a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 11a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E") !important;
}

.woocommerce-MyAccount-navigation-link--payment-methods a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Crect width='22' height='16' x='1' y='4' rx='2' ry='2'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M1 10h22M5 15h2M11 15h4'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Crect width='22' height='16' x='1' y='4' rx='2' ry='2'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M1 10h22M5 15h2M11 15h4'/%3E%3C/svg%3E") !important;
}

.woocommerce-MyAccount-navigation-link--edit-account a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/%3E%3C/svg%3E") !important;
}

.woocommerce-MyAccount-navigation-link--customer-logout a::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1'/%3E%3C/svg%3E") !important;
}


/* Main content area */
.woocommerce-MyAccount-content {
	flex: 1 !important;
	min-width: 0 !important;
	max-width: none !important;
	width: auto !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	float: none !important;
}

/* Ensure all children span the full container width */
.woocommerce-MyAccount-content>* {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* User Hero Profile Panel */
.ascotech-account-user-hero {
	background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: var(--radius-lg) !important;
	padding: 24px 28px !important;
	color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px !important;
	margin-bottom: 24px !important;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12) !important;
	flex-wrap: wrap !important;
}

.ascotech-account-user-hero .user-hero-main {
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
}

.ascotech-account-user-hero .user-avatar-circle {
	width: 52px !important;
	height: 52px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, #ea1b25 0%, #c1121c 100%) !important;
	color: #ffffff !important;
	font-weight: 800 !important;
	font-size: 18px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 6px 16px rgba(234, 27, 37, 0.3) !important;
	flex-shrink: 0 !important;
}

.ascotech-account-user-hero .user-greeting {
	font-family: var(--font-family-premium) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin: 0 0 4px 0 !important;
	border-bottom: none !important;
	padding-bottom: 0 !important;
}

.ascotech-account-user-hero .user-greeting::after {
	display: none !important;
}

.ascotech-account-user-hero .user-email {
	font-size: 12px !important;
	color: #94a3b8 !important;
	margin: 0 !important;
}

.ascotech-account-user-hero .customer-badge {
	background: rgba(234, 27, 37, 0.2) !important;
	color: #ff6b72 !important;
	border: 1px solid rgba(234, 27, 37, 0.4) !important;
	padding: 2px 8px !important;
	border-radius: 12px !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.ascotech-account-user-hero .user-stats-pills {
	display: flex !important;
	gap: 12px !important;
}

.ascotech-account-user-hero .stat-pill {
	background: rgba(255, 255, 255, 0.07) !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: 12px !important;
	padding: 8px 16px !important;
	text-align: center !important;
	min-width: 80px !important;
}

.ascotech-account-user-hero .stat-num {
	display: block !important;
	font-size: 18px !important;
	font-weight: 900 !important;
	color: #ffffff !important;
	line-height: 1.1 !important;
}

.ascotech-account-user-hero .stat-label {
	font-size: 10px !important;
	color: #94a3b8 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	font-weight: 700 !important;
}

/* Order Status Mark/Badge Styling */
.woocommerce-account mark.order-status {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 5px 12px !important;
	border-radius: 20px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.3px !important;
}

.woocommerce-account mark.order-status.completed {
	background: #ecfdf5 !important;
	color: #047857 !important;
	border: 1px solid #a7f3d0 !important;
}

.woocommerce-account mark.order-status.processing {
	background: #eff6ff !important;
	color: #1d4ed8 !important;
	border: 1px solid #bfdbfe !important;
}

.woocommerce-account mark.order-status.pending,
.woocommerce-account mark.order-status.on-hold {
	background: #fffbeb !important;
	color: #b45309 !important;
	border: 1px solid #fde68a !important;
}

.woocommerce-account mark.order-status.cancelled,
.woocommerce-account mark.order-status.failed {
	background: #fef2f2 !important;
	color: #b91c1c !important;
	border: 1px solid #fecaca !important;
}

.woocommerce-account mark.order-status .status-icon {
	font-size: 10px !important;
}

/* Dashboard welcome text & greeting banner */
.woocommerce-MyAccount-content p {
	font-family: var(--font-family-premium) !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	color: var(--text-main) !important;
	margin-top: 0 !important;
	margin-bottom: 25px !important;
}

.woocommerce-MyAccount-content p strong {
	color: var(--text-dark) !important;
}

/* Hide default WooCommerce dashboard paragraphs when custom user hero banner is present */
.woocommerce-MyAccount-content:has(.ascotech-account-user-hero)>p {
	display: none !important;
}

.woocommerce-MyAccount-content p a:not([href*="customer-logout"]):not(.button) {
	color: var(--accent-red) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent !important;
	transition: all 0.2s ease !important;
}

.woocommerce-MyAccount-content p a:not([href*="customer-logout"]):not(.button):hover {
	border-bottom-color: var(--accent-red) !important;
	opacity: 0.9 !important;
}

/* Quick Action Cards in Dashboard (4-column desktop layout) */
.ascotech-account-dashboard-cards {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 14px !important;
	margin-top: 24px !important;
	width: 100% !important;
	justify-items: stretch !important;
	align-items: stretch !important;
}

@media (max-width: 1100px) {
	.ascotech-account-dashboard-cards {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 850px) {

	/* Main Page Container Padding & Spacing */
	.woocommerce-account .ascotech-main-wrapper {
		padding: 0 10px !important;
	}

	.woocommerce-account .ascotech-breadcrumb-row {
		margin-bottom: 4px !important;
		font-size: 11px !important;
	}

	/* Title section spacing */
	.woocommerce-account .ascotech-main-wrapper>div:has(h1) {
		margin-bottom: 8px !important;
	}

	.woocommerce-account h1 {
		font-size: 18px !important;
		margin-bottom: 2px !important;
	}

	.woocommerce-account .ascotech-main-wrapper>div:has(h1) p {
		display: none !important;
		/* Hide long subtitle on mobile for extreme vertical compactness */
	}

	/* Logged-out view (Login & Register forms) */
	.woocommerce-account .u-columns.col2-set,
	.woocommerce-account #customer_login {
		gap: 12px !important;
		margin-top: 4px !important;
	}

	.woocommerce-account .u-column1,
	.woocommerce-account .u-column2 {
		flex: 1 1 100% !important;
		min-width: 0 !important;
		width: 100% !important;
		padding: 14px 12px !important;
		border-radius: 10px !important;
	}

	.woocommerce-account h2 {
		font-size: 15px !important;
		margin-bottom: 8px !important;
		padding-bottom: 4px !important;
	}

	.woocommerce-account .form-row {
		margin-bottom: 6px !important;
	}

	.woocommerce-account .form-row label {
		font-size: 11px !important;
		margin-bottom: 2px !important;
	}

	.woocommerce-account .form-row input.input-text,
	.woocommerce-account .form-row select {
		padding: 8px 10px !important;
		font-size: 16px !important;
		/* Prevents iOS auto-zoom on form focus */
		border-radius: 6px !important;
	}

	.woocommerce-account .woocommerce-form-login__rememberme {
		margin-bottom: 8px !important;
		font-size: 11px !important;
		gap: 4px !important;
	}

	.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"] {
		width: 14px !important;
		height: 14px !important;
	}

	.woocommerce-account button.button,
	.woocommerce-account a.button,
	.woocommerce-account input.button {
		padding: 8px 14px !important;
		font-size: 12px !important;
		border-radius: 6px !important;
	}

	.woocommerce-account .woocommerce-LostPassword {
		margin-top: 6px !important;
	}

	.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation))::after {
		margin-top: 12px !important;
		padding: 8px 12px !important;
		font-size: 10px !important;
		line-height: 1.4 !important;
		background-color: #ffffff !important;
		opacity: 1 !important;
	}

	/* Logged-in Portal Layout */
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
		flex-direction: column !important;
		gap: 16px !important;
	}

	/* Content Area Padding */
	.woocommerce-MyAccount-content {
		padding: 16px 14px !important;
		border-radius: var(--radius-lg) !important;
	}

	/* Dashboard Welcome Banner on Mobile */
	.ascotech-account-user-hero {
		padding: 18px 16px !important;
		gap: 14px !important;
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	.ascotech-account-user-hero .user-hero-main {
		gap: 12px !important;
	}

	.ascotech-account-user-hero .user-avatar-circle {
		width: 44px !important;
		height: 44px !important;
		font-size: 16px !important;
	}

	.ascotech-account-user-hero .user-greeting {
		font-size: 16px !important;
	}

	.ascotech-account-user-hero .user-stats-pills {
		width: 100% !important;
		display: grid !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 8px !important;
	}

	.ascotech-account-user-hero .stat-pill {
		min-width: 0 !important;
		padding: 8px 10px !important;
	}

	/* Quick Action Dashboard Cards on Mobile */
	.ascotech-account-dashboard-cards {
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
		margin-top: 16px !important;
	}

	.ascotech-dashboard-card {
		padding: 14px 12px !important;
	}

	.ascotech-dashboard-card .card-icon-container {
		width: 34px !important;
		height: 34px !important;
		margin-bottom: 8px !important;
	}

	.ascotech-dashboard-card .card-svg-icon {
		width: 16px !important;
		height: 16px !important;
	}

	.ascotech-dashboard-card .card-title {
		font-size: 12px !important;
		margin-bottom: 4px !important;
	}

	.ascotech-dashboard-card .card-desc {
		font-size: 10px !important;
		line-height: 1.3 !important;
	}

	/* Orders & Downloads Tables on Mobile */
	.woocommerce-orders-table,
	.woocommerce-table--order-downloads,
	.woocommerce-MyAccount-content table.shop_table {
		display: block !important;
		width: 100% !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		white-space: nowrap !important;
	}

	.woocommerce-orders-table th,
	.woocommerce-orders-table td,
	.woocommerce-table--order-downloads th,
	.woocommerce-table--order-downloads td {
		padding: 10px 12px !important;
		font-size: 13px !important;
	}

	/* Address Cards Grid on Mobile */
	.woocommerce-MyAccount-content .addresses {
		display: flex !important;
		flex-direction: column !important;
		gap: 16px !important;
	}
}

.ascotech-dashboard-card {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-md) !important;
	padding: 20px 18px !important;
	text-align: left !important;
	background: var(--card-bg) !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	cursor: pointer !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	text-decoration: none !important;
	box-shadow: var(--shadow-sm) !important;
}

.ascotech-dashboard-card:hover {
	transform: translateY(-3px) !important;
	border-color: rgba(234, 27, 37, 0.2) !important;
	box-shadow: var(--shadow-card-hover) !important;
}

.ascotech-dashboard-card .card-icon-container {
	width: 40px !important;
	height: 40px !important;
	border-radius: var(--radius-sm) !important;
	background: var(--accent-light) !important;
	color: var(--accent-red) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 14px !important;
	transition: all 0.3s ease !important;
}

.ascotech-dashboard-card:hover .card-icon-container {
	background: var(--accent-red) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 10px rgba(234, 27, 37, 0.15) !important;
}

.ascotech-dashboard-card .card-svg-icon {
	width: 20px !important;
	height: 20px !important;
	stroke-width: 1.5 !important;
}

.ascotech-dashboard-card .card-title {
	font-family: var(--font-family-premium) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	margin: 0 0 6px !important;
	color: var(--text-dark) !important;
	display: block !important;
}

.ascotech-dashboard-card .card-desc {
	font-family: var(--font-family-premium) !important;
	font-size: 11px !important;
	color: var(--text-muted) !important;
	margin: 0 !important;
	line-height: 1.4 !important;
	display: block !important;
	font-weight: 500 !important;
}


/* ==========================================
   Order tables, Address blocks, Form adjustments
   ========================================== */

/* Elegant Order Lists & Tables */
.woocommerce-orders-table {
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	margin: 0 !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-lg) !important;
	overflow: hidden !important;
	box-shadow: var(--shadow-sm) !important;
}

.woocommerce-orders-table thead th {
	background: #f8fafc !important;
	padding: 16px 20px !important;
	font-family: var(--font-family-premium) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	color: var(--text-muted) !important;
	text-align: left !important;
	border-bottom: 2px solid var(--border-light) !important;
	border-top: none !important;
}

.woocommerce-account .woocommerce-MyAccount-content table tbody tr th:first-child,
.woocommerce-account .woocommerce-MyAccount-content table tbody tr td:first-child,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders tbody th,
.woocommerce-account .woocommerce-MyAccount-content table.my_account_orders tbody td,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody th,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number,
.woocommerce-account .woocommerce-MyAccount-content [data-title="Bestellung"],
.woocommerce-orders-table td,
.woocommerce-orders-table tbody th {
	background: #ffffff !important;
	background-color: #ffffff !important;
	padding: 18px 20px !important;
	font-family: var(--font-family-premium) !important;
	font-size: 14px !important;
	color: var(--text-main) !important;
	border-bottom: 1px solid var(--border-light) !important;
	vertical-align: top !important;
	font-weight: 500 !important;
	text-align: left !important;
}

.woocommerce-orders-table tbody th a {
	color: var(--text-dark) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.woocommerce-orders-table tbody th a:hover {
	color: var(--accent-red) !important;
}

.woocommerce-orders-table tr:last-child td,
.woocommerce-orders-table tr:last-child th {
	border-bottom: none !important;
}

.woocommerce-orders-table tr:hover td,
.woocommerce-orders-table tr:hover th {
	background: #fafafa !important;
	background-color: #fafafa !important;
}

.woocommerce-account .woocommerce-orders-table a.button,
.woocommerce-account .woocommerce-orders-table .button,
.woocommerce-orders-table td a.button,
.woocommerce-orders-table td .button {
	background: transparent !important;
	color: var(--accent-red) !important;
	border: 1.5px solid rgba(234, 27, 37, 0.25) !important;
	border-radius: 30px !important;
	font-family: var(--font-family-premium) !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	letter-spacing: 0.5px !important;
	padding: 8px 18px !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
	width: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}

.woocommerce-account .woocommerce-orders-table a.button:hover,
.woocommerce-account .woocommerce-orders-table .button:hover,
.woocommerce-orders-table td a.button:hover,
.woocommerce-orders-table td .button:hover {
	background: var(--accent-red) !important;
	color: #fff !important;
	border-color: var(--accent-red) !important;
	box-shadow: 0 4px 10px rgba(234, 27, 37, 0.15) !important;
	transform: translateY(-1px) !important;
}

/* Beautiful badges for order status */
.woocommerce-orders-table mark.order-status {
	padding: 6px 12px !important;
	border-radius: 30px !important;
	font-family: var(--font-family-premium) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	background: #f1f5f9 !important;
	color: #475569 !important;
	border: 1px solid #e2e8f0 !important;
}

.woocommerce-orders-table mark.order-status::before {
	content: none !important;
}

.woocommerce-orders-table mark.order-status.completed {
	background: #f0fdf4 !important;
	color: #166534 !important;
	border-color: #dcfce7 !important;
}

.woocommerce-orders-table mark.order-status.processing {
	background: #fffbeb !important;
	color: #92400e !important;
	border-color: #fef3c7 !important;
}

.woocommerce-orders-table mark.order-status.on-hold {
	background: #eff6ff !important;
	color: #1e40af !important;
	border-color: #dbeafe !important;
}

.woocommerce-orders-table mark.order-status.cancelled,
.woocommerce-orders-table mark.order-status.failed {
	background: #fef2f2 !important;
	color: #991b1b !important;
	border-color: #fee2e2 !important;
}

/* Desktop Order Details Table Clean Alignment */
@media (min-width: 651px) {

	table.order_details,
	table.woocommerce-table--order-details {
		width: 100% !important;
		border-collapse: separate !important;
		border-spacing: 0 !important;
		border: 1px solid var(--border-light) !important;
		border-radius: 12px !important;
		overflow: hidden !important;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
		margin-top: 15px !important;
		margin-bottom: 25px !important;
	}

	body .woocommerce-account .woocommerce-MyAccount-content table tbody tr th:last-child,
	body .woocommerce-account .woocommerce-MyAccount-content table tbody tr td:last-child,
	body .woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td.product-total,
	body .woocommerce-account .woocommerce-MyAccount-content table.shop_table.order_details tbody td:last-child,
	body .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tbody td:last-child,
	body .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details thead th:last-child,
	body .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot td,
	body .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details td.woocommerce-table__product-total,
	body .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details .product-total,
	table.order_details tr th:last-child,
	table.order_details tr td:last-child,
	table.woocommerce-table--order-details tr th:last-child,
	table.woocommerce-table--order-details tr td:last-child,
	table.shop_table tr th:last-child,
	table.shop_table tr td:last-child,
	.woocommerce-table__product-total,
	.product-total {
		text-align: right !important;
	}

	body .woocommerce-account .woocommerce-MyAccount-content table.order_details tbody tr td.product-total *,
	body .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tbody tr td.woocommerce-table__product-total * {
		text-align: right !important;
		float: right !important;
	}

	table.order_details thead th.product-name,
	table.woocommerce-table--order-details thead th.product-name,
	table.order_details tbody td.product-name,
	table.woocommerce-table--order-details tbody td.product-name,
	table.order_details tfoot th,
	table.woocommerce-table--order-details tfoot th {
		text-align: left !important;
	}

	table.order_details thead th,
	table.woocommerce-table--order-details thead th {
		background: #f8fafc !important;
		padding: 16px 20px !important;
		font-family: var(--font-family-premium) !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		letter-spacing: 1px !important;
		color: var(--text-muted) !important;
		border-bottom: 1.5px solid var(--border-light) !important;
	}

	table.order_details tbody td,
	table.woocommerce-table--order-details tbody td,
	table.order_details tfoot th,
	table.order_details tfoot td,
	table.woocommerce-table--order-details tfoot th,
	table.woocommerce-table--order-details tfoot td {
		padding: 16px 20px !important;
		border-bottom: 1px solid var(--border-light) !important;
		font-size: 14px !important;
		vertical-align: middle !important;
	}

	table.order_details tfoot tr:last-child th,
	table.order_details tfoot tr:last-child td,
	table.woocommerce-table--order-details tfoot tr:last-child th,
	table.woocommerce-table--order-details tfoot tr:last-child td {
		border-bottom: none !important;
		background: #f8fafc !important;
		font-weight: 800 !important;
	}
}


/* Address blocks */
.woocommerce-Addresses.addresses,
.u-columns.col2-set.addresses,
.woocommerce-MyAccount-content .addresses,
div.addresses {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 24px !important;
	margin-top: 25px !important;
	max-width: 100% !important;
	width: 100% !important;
	float: none !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* Force explicit grid row and columns for the two address cards to make it 100% bulletproof */
.woocommerce-Addresses.addresses .woocommerce-Address:nth-child(1),
.u-columns.col2-set.addresses .woocommerce-Address:nth-child(1),
.woocommerce-Addresses.addresses .col-1,
.u-columns.col2-set.addresses .col-1,
.woocommerce-MyAccount-content .addresses .woocommerce-Address:nth-child(1),
.woocommerce-MyAccount-content .addresses .col-1 {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

.woocommerce-Addresses.addresses .woocommerce-Address:nth-child(2),
.u-columns.col2-set.addresses .woocommerce-Address:nth-child(2),
.woocommerce-Addresses.addresses .col-2,
.u-columns.col2-set.addresses .col-2,
.woocommerce-MyAccount-content .addresses .woocommerce-Address:nth-child(2),
.woocommerce-MyAccount-content .addresses .col-2 {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

/* Ensure non-card elements (like description paragraphs/headings) inside the grid span the full width */
.woocommerce-Addresses.addresses>*:not(.woocommerce-Address):not(.col-1):not(.col-2),
.u-columns.col2-set.addresses>*:not(.woocommerce-Address):not(.col-1):not(.col-2),
.woocommerce-MyAccount-content .addresses>*:not(.woocommerce-Address):not(.col-1):not(.col-2) {
	grid-column: 1 / -1 !important;
}

/* Ensure two columns down to 768px (overriding the 900px mobile wrap from parent layout) */
@media (max-width: 900px) {

	.woocommerce-Addresses.addresses,
	.u-columns.col2-set.addresses,
	.woocommerce-MyAccount-content .addresses {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

.woocommerce-Addresses.addresses .woocommerce-Address,
.u-columns.col2-set.addresses .woocommerce-Address,
.woocommerce-Addresses.addresses .col-1,
.woocommerce-Addresses.addresses .col-2,
.u-columns.col2-set.addresses .col-1,
.u-columns.col2-set.addresses .col-2,
.woocommerce-MyAccount-content .addresses .woocommerce-Address,
.woocommerce-MyAccount-content .addresses .col-1,
.woocommerce-MyAccount-content .addresses .col-2 {
	background: var(--card-bg) !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-lg) !important;
	padding: 30px !important;
	box-shadow: var(--shadow-sm) !important;
	position: relative !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	float: none !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	box-sizing: border-box !important;
}

@media (max-width: 768px) {

	.woocommerce-Addresses.addresses,
	.u-columns.col2-set.addresses,
	.woocommerce-MyAccount-content .addresses {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	.woocommerce-Addresses.addresses .woocommerce-Address:nth-child(1),
	.u-columns.col2-set.addresses .woocommerce-Address:nth-child(1),
	.woocommerce-Addresses.addresses .col-1,
	.u-columns.col2-set.addresses .col-1,
	.woocommerce-MyAccount-content .addresses .woocommerce-Address:nth-child(1),
	.woocommerce-MyAccount-content .addresses .col-1 {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	.woocommerce-Addresses.addresses .woocommerce-Address:nth-child(2),
	.u-columns.col2-set.addresses .woocommerce-Address:nth-child(2),
	.woocommerce-Addresses.addresses .col-2,
	.u-columns.col2-set.addresses .col-2,
	.woocommerce-MyAccount-content .addresses .woocommerce-Address:nth-child(2),
	.woocommerce-MyAccount-content .addresses .col-2 {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}
}

.woocommerce-Address:hover {
	border-color: rgba(234, 27, 37, 0.2) !important;
	box-shadow: var(--shadow-premium) !important;
}

.woocommerce-Address-title {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	margin-bottom: 20px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid var(--border-light) !important;
	position: relative !important;
}

.woocommerce-Address-title h3,
.woocommerce-Address-title h2 {
	font-family: var(--font-family-premium) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	margin: 0 !important;
	color: var(--text-dark) !important;
	line-height: 1.2 !important;
	flex: 0 0 auto !important;
	width: auto !important;
	float: none !important;
}

.woocommerce-Address-title p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
}

.woocommerce-Address-title br {
	display: none !important;
}

.woocommerce-Address .edit {
	position: static !important;
	display: inline-block !important;
	color: var(--accent-red) !important;
	font-family: var(--font-family-premium) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}

.woocommerce-Address .edit:hover {
	color: var(--text-dark) !important;
	text-decoration: underline !important;
}

.woocommerce-Address address,
.woocommerce-customer-details address,
.woocommerce-MyAccount-content address {
	font-family: var(--font-family-premium) !important;
	font-style: normal !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: var(--text-main) !important;
	font-weight: 500 !important;
	display: block !important;
	white-space: normal !important;
}

.woocommerce-Address address br,
.woocommerce-customer-details address br,
.woocommerce-MyAccount-content address br {
	display: block !important;
}

/* Spacing and margins for phone number and email inside address cards */
address p:empty,
.woocommerce-customer-details address p:empty {
	display: none !important;
}

address .woocommerce-customer-details--phone,
address .woocommerce-customer-details--email,
.woocommerce-customer-details address .woocommerce-customer-details--phone,
.woocommerce-customer-details address .woocommerce-customer-details--email {
	margin: 0 !important;
	padding: 0 0 0 24px !important;
	/* Left padding for perfect icon alignment */
	line-height: 1.6 !important;
	position: relative !important;
	display: block !important;
}

address .woocommerce-customer-details--phone::before,
address .woocommerce-customer-details--email::before,
.woocommerce-customer-details address .woocommerce-customer-details--phone::before,
.woocommerce-customer-details address .woocommerce-customer-details--email::before {
	position: absolute !important;
	left: 0 !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
	display: inline-block !important;
	line-height: 1 !important;
}

address .woocommerce-customer-details--phone,
.woocommerce-customer-details address .woocommerce-customer-details--phone {
	margin-top: 12px !important;
	/* Perfect visual separation from street/place */
}

address .woocommerce-customer-details--email,
.woocommerce-customer-details address .woocommerce-customer-details--email {
	margin-top: 6px !important;
	/* Perfect visual separation from phone number */
}



/* Profile details edit form buttons */
.woocommerce-account .woocommerce-MyAccount-content form.edit-account .woocommerce-Button {
	width: auto !important;
	display: inline-flex !important;
	margin-top: 20px !important;
	border-radius: var(--radius-sm) !important;
	padding: 14px 30px !important;
	background: var(--accent-red) !important;
	color: #ffffff !important;
}

.woocommerce-account .woocommerce-MyAccount-content form.edit-account .woocommerce-Button:hover {
	background: var(--text-dark) !important;
}

/* Password Change Fieldset Styling */
.woocommerce-EditAccountForm fieldset {
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-md) !important;
	padding: 20px 22px !important;
	margin: 20px 0 !important;
	background: #f8fafc !important;
}

.woocommerce-EditAccountForm legend {
	font-family: var(--font-family-premium) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	color: var(--text-dark) !important;
	padding: 0 10px !important;
}

/* Action Buttons in Orders & Addresses */
body .woocommerce-orders-table__cell-order-actions .button,
body .woocommerce-Address-title a,
body .woocommerce-Address a.edit,
body .woocommerce-Address .edit,
body .woocommerce-MyAccount-content .woocommerce-Address a {
	padding: 6px 14px !important;
	font-family: var(--font-family-premium) !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	border-radius: 20px !important;
	background: rgba(234, 27, 37, 0.08) !important;
	color: var(--accent-red) !important;
	border: 1px solid rgba(234, 27, 37, 0.2) !important;
	box-shadow: none !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	width: auto !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
	text-transform: none !important;
}

body .woocommerce-orders-table__cell-order-actions .button:hover,
body .woocommerce-Address-title a:hover,
body .woocommerce-Address a.edit:hover,
body .woocommerce-Address .edit:hover,
body .woocommerce-MyAccount-content .woocommerce-Address a:hover,
body .woocommerce-MyAccount-content .woocommerce-Address .edit:hover {
	background: var(--accent-red) !important;
	background-color: var(--accent-red) !important;
	color: #ffffff !important;
	border-color: var(--accent-red) !important;
	text-decoration: none !important;
}

/* Alerts & Info Messages */
body .woocommerce-error,
body .woocommerce-message,
body .woocommerce-info,
body .wc-block-components-notice-banner,
body .wc-block-components-notice-banner__content {
	border-radius: var(--radius-md) !important;
	padding: 12px 16px !important;
	font-family: var(--font-family-premium) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	margin-bottom: 14px !important;
	position: relative !important;
	list-style: none !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.06) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	gap: 6px 10px !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

body .woocommerce-error li,
body .woocommerce-message li,
body .woocommerce-info li,
body .wc-block-components-notice-banner__content {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 4px 6px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

/* On logged-out My Account page, center and constrain notice width to match card (440px) */
body .woocommerce-account:not(:has(.woocommerce-MyAccount-navigation)) .woocommerce-notices-wrapper,
body .woocommerce-account:not(:has(.woocommerce-MyAccount-navigation)) .woocommerce-error,
body .woocommerce-account:not(:has(.woocommerce-MyAccount-navigation)) .woocommerce-info,
body .woocommerce-account:not(:has(.woocommerce-MyAccount-navigation)) .woocommerce-message,
body .woocommerce-account:not(:has(.woocommerce-MyAccount-navigation)) .wc-block-components-notice-banner {
	max-width: 440px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Color & Border Overrides */
body .woocommerce-error,
body .wc-block-components-notice-banner.is-error,
body .wc-block-components-notice-banner[class*="error"],
body div.woocommerce-error {
	background: #fef2f2 !important;
	background-color: #fef2f2 !important;
	color: #991b1b !important;
	border: 1px solid #fecaca !important;
	border-left: 4px solid #ea1b25 !important;
}

body .woocommerce-message,
body .wc-block-components-notice-banner.is-success,
body .wc-block-components-notice-banner[class*="success"],
body div.woocommerce-message {
	background: #ecfdf5 !important;
	background-color: #ecfdf5 !important;
	color: #065f46 !important;
	border: 1px solid #a7f3d0 !important;
	border-left: 4px solid #10b981 !important;
}

body .woocommerce-info,
body .wc-block-components-notice-banner.is-info,
body .wc-block-components-notice-banner[class*="info"],
body div.woocommerce-info {
	background: #eff6ff !important;
	background-color: #eff6ff !important;
	color: #1e40af !important;
	border: 1px solid #bfdbfe !important;
	border-left: 4px solid #2563eb !important;
}

/* Icon & Text Highlighting */
body .woocommerce-error::before,
body .wc-block-components-notice-banner__icon {
	color: #ea1b25 !important;
	fill: #ea1b25 !important;
	font-size: 16px !important;
}

body .woocommerce-error strong,
body .wc-block-components-notice-banner strong {
	color: #7f1d1d !important;
	font-weight: 800 !important;
}

/* Notice Banner Buttons (e.g. PRODUKTE DURCHSUCHEN in Downloads tab) */
body .woocommerce-info .button,
body .woocommerce-message .button,
body .woocommerce-error .button,
body .wc-block-components-notice-banner .button,
body .wc-block-components-notice-banner a.button {
	max-width: 100% !important;
	box-sizing: border-box !important;
	white-space: normal !important;
	text-align: center !important;
	display: block !important;
	width: 100% !important;
	margin-top: 10px !important;
	margin-left: 0 !important;
	padding: 10px 14px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	border-radius: var(--radius-sm) !important;
	background: var(--text-dark) !important;
	color: #ffffff !important;
	border: none !important;
	transition: background-color 0.2s ease !important;
}

body .woocommerce-info .button:hover,
body .woocommerce-message .button:hover,
body .woocommerce-error .button:hover,
body .wc-block-components-notice-banner .button:hover,
body .wc-block-components-notice-banner a.button:hover {
	background: var(--accent-red) !important;
	color: #ffffff !important;
}

/* WooCommerce Block Notice Banners (payment methods, etc.) */
.woocommerce-MyAccount-content .wc-block-components-notice-banner,
.woocommerce-account .wc-block-components-notice-banner {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	padding: 18px 24px !important;
	border-radius: var(--radius-md) !important;
	font-family: var(--font-family-premium) !important;
	background: #eff6ff !important;
	color: #1e40af !important;
	border: none !important;
	border-left: 4px solid #3b82f6 !important;
	box-shadow: var(--shadow-sm) !important;
	margin-bottom: 24px !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

.woocommerce-MyAccount-content .wc-block-components-notice-banner p:empty,
.woocommerce-account .wc-block-components-notice-banner p:empty {
	display: none !important;
}

.woocommerce-MyAccount-content .wc-block-components-notice-banner svg,
.woocommerce-account .wc-block-components-notice-banner svg {
	flex-shrink: 0 !important;
	width: 22px !important;
	height: 22px !important;
	fill: currentColor !important;
	color: #3b82f6 !important;
	margin: 0 !important;
}

.woocommerce-MyAccount-content .wc-block-components-notice-banner__content,
.woocommerce-account .wc-block-components-notice-banner__content {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	font-family: var(--font-family-premium) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1e40af !important;
	line-height: 1.5 !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
}

.woocommerce-MyAccount-content .wc-block-components-notice-banner__content a.button,
.woocommerce-account .wc-block-components-notice-banner__content a.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--text-dark) !important;
	color: #ffffff !important;
	font-family: var(--font-family-premium) !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 10px 18px !important;
	border-radius: var(--radius-sm) !important;
	text-decoration: none !important;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
	border: none !important;
	box-shadow: none !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}

.woocommerce-MyAccount-content .wc-block-components-notice-banner__content a.button:hover,
.woocommerce-account .wc-block-components-notice-banner__content a.button:hover {
	background: var(--accent-red) !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
}

@media (max-width: 600px) {

	.woocommerce-MyAccount-content .wc-block-components-notice-banner,
	.woocommerce-account .wc-block-components-notice-banner {
		align-items: flex-start !important;
		padding: 16px 20px !important;
	}

	.woocommerce-MyAccount-content .wc-block-components-notice-banner__content,
	.woocommerce-account .wc-block-components-notice-banner__content {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 14px !important;
	}

	.woocommerce-MyAccount-content .wc-block-components-notice-banner__content a.button,
	.woocommerce-account .wc-block-components-notice-banner__content a.button {
		width: 100% !important;
	}
}

/* Content-area action buttons (auto width, not full-stretch) */
.woocommerce-MyAccount-content p a.button,
.woocommerce-MyAccount-content>a.button {
	width: auto !important;
	display: inline-flex !important;
	padding: 12px 24px !important;
	font-size: 13px !important;
	border-radius: var(--radius-sm) !important;
}

/* ==========================================
   Mobile Adaptability & Responsiveness
   ========================================== */
@media (max-width: 1050px) {
	.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
		flex-direction: column !important;
		gap: 10px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.woocommerce-MyAccount-navigation {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		padding: 5px !important;
		box-sizing: border-box !important;
		background: #f1f5f9 !important;
		border-radius: var(--radius-md) !important;
		border: 1px solid var(--border-light) !important;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03) !important;
	}

	.woocommerce-MyAccount-navigation ul {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr) !important;
		align-items: stretch !important;
		gap: 4px !important;
		padding: 0 !important;
		margin: 0 !important;
		width: 100% !important;
		list-style: none !important;
	}

	.woocommerce-MyAccount-navigation ul::before {
		display: none !important;
	}

	body .woocommerce-account .woocommerce-MyAccount-navigation li,
	body .woocommerce-account .woocommerce-MyAccount-navigation li:first-child,
	body .woocommerce-account .woocommerce-MyAccount-navigation li:last-child,
	.woocommerce-MyAccount-navigation li,
	.woocommerce-MyAccount-navigation-link {
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		list-style: none !important;
		display: flex !important;
		flex-direction: column !important;
		min-width: 0 !important;
		height: 100% !important;
	}

	.woocommerce-MyAccount-navigation-link a {
		flex: 1 1 100% !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 48px !important;
		padding: 5px 3px !important;
		font-size: 10px !important;
		font-weight: 700 !important;
		border-radius: 8px !important;
		border: 1px solid #e2e8f0 !important;
		background: #ffffff !important;
		color: #475569 !important;
		transition: all 0.2s ease !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		text-align: center !important;
		gap: 2px !important;
		line-height: 1.15 !important;
		white-space: normal !important;
		word-break: normal !important;
		box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02) !important;
		box-sizing: border-box !important;
		text-shadow: none !important;
	}

	.woocommerce-MyAccount-navigation-link a::after {
		display: none !important;
	}

	.woocommerce-MyAccount-navigation-link a::before {
		width: 14px !important;
		height: 14px !important;
		margin: 0 0 1px 0 !important;
		opacity: 0.8 !important;
	}

	.woocommerce-MyAccount-navigation-link.is-active a {
		background: var(--accent-red) !important;
		color: #ffffff !important;
		border-color: var(--accent-red) !important;
		box-shadow: 0 3px 8px rgba(234, 27, 37, 0.25) !important;
		font-weight: 800 !important;
		text-shadow: none !important;
	}

	.woocommerce-MyAccount-navigation-link.is-active a::before {
		background-color: #ffffff !important;
		filter: brightness(0) invert(1) !important;
		opacity: 1 !important;
	}

	.woocommerce-MyAccount-content {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		margin: 0 !important;
	}

	.woocommerce-account .u-columns.col2-set {
		grid-template-columns: 1fr !important;
		padding: 0 4px !important;
	}
}

@media (max-width: 650px) {

	.woocommerce-orders-table,
	.woocommerce-orders-table tbody {
		display: block !important;
		width: 100% !important;
		border: none !important;
		background: transparent !important;
	}

	.woocommerce-orders-table thead,
	.woocommerce-orders-table thead th {
		display: none !important;
	}

	/* Ultra-Tight Compact Card Box */
	.woocommerce-orders-table tr {
		display: flex !important;
		flex-direction: column !important;
		background: #ffffff !important;
		border: 1px solid var(--border-light) !important;
		border-radius: 8px !important;
		padding: 4px 8px !important;
		margin-bottom: 6px !important;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
		gap: 0 !important;
	}

	/* Completely zero out all table cell paddings & margins */
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody th,
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td,
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr th,
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr td,
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number,
	.woocommerce-account .woocommerce-MyAccount-content [data-title],
	.woocommerce-orders-table td,
	.woocommerce-orders-table tbody th,
	.woocommerce-orders-table .woocommerce-orders-table__cell {
		display: flex !important;
		align-items: baseline !important;
		justify-content: space-between !important;
		padding: 1px 0 !important;
		margin: 0 !important;
		border: none !important;
		border-bottom: none !important;
		border-top: none !important;
		background: transparent !important;
		min-height: unset !important;
		height: auto !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		font-size: 11px !important;
		line-height: 1.25 !important;
		text-align: right !important;
		width: 100% !important;
	}

	/* Uppercase Labels (BESTELLUNG, DATUM, ARTIKEL, STATUS, GESAMTSUMME) */
	.woocommerce-orders-table td::before,
	.woocommerce-orders-table tbody th::before {
		display: inline-block !important;
		content: attr(data-title) !important;
		font-weight: 700 !important;
		color: #64748b !important;
		font-size: 10px !important;
		text-transform: uppercase !important;
		letter-spacing: 0.3px !important;
		float: none !important;
		margin-right: 6px !important;
		white-space: nowrap !important;
		align-self: baseline !important;
		line-height: 1.25 !important;
		flex-shrink: 0 !important;
	}

	/* Order Number Link (First row border) */
	.woocommerce-orders-table .woocommerce-orders-table__cell-order-number,
	.woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number {
		padding-bottom: 2px !important;
		margin-bottom: 2px !important;
		border-bottom: 1px solid #f1f5f9 !important;
	}

	.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a,
	.woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number a {
		font-weight: 800 !important;
		color: var(--accent-red) !important;
		font-size: 12px !important;
		line-height: 1.25 !important;
		text-decoration: none !important;
		align-self: baseline !important;
	}

	/* Date Text */
	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-date time,
	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-date {
		line-height: 1.25 !important;
		font-size: 11px !important;
		color: var(--text-dark) !important;
		align-self: baseline !important;
	}

	/* Article Items Cell Multi-line Wrapping */
	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-items {
		align-items: baseline !important;
		white-space: normal !important;
	}

	.ascotech-order-items-list {
		font-weight: 700 !important;
		color: #0f172a !important;
		font-size: 11px !important;
		text-align: right !important;
		max-width: 65% !important;
		white-space: normal !important;
		word-wrap: break-word !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
		line-height: 1.25 !important;
		align-self: baseline !important;
	}

	/* Order Status Badge Baseline Alignment */
	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-status mark.order-status,
	.woocommerce-orders-table mark.order-status {
		align-self: center !important;
		margin: 0 !important;
		padding: 2px 6px !important;
		font-size: 9.5px !important;
		line-height: 1.15 !important;
	}

	/* Order Total Price */
	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-total {
		font-weight: 800 !important;
		color: #0f172a !important;
		font-size: 11.5px !important;
		line-height: 1.25 !important;
		align-self: baseline !important;
	}

	/* Actions Cell ([ ANSEHEN ] button row) */
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td.woocommerce-orders-table__cell-order-actions,
	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
		margin-top: 2px !important;
		padding-top: 3px !important;
		padding-bottom: 1px !important;
		border: none !important;
		border-top: 1px solid #f1f5f9 !important;
		justify-content: flex-end !important;
		align-items: center !important;
	}

	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before {
		display: none !important;
	}

	.woocommerce-account .woocommerce-orders-table__cell-order-actions .button,
	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button,
	.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a.button {
		padding: 2px 10px !important;
		font-size: 9.5px !important;
		height: auto !important;
		min-height: unset !important;
		line-height: 1.15 !important;
		border-radius: 10px !important;
		margin: 0 !important;
	}

	/* Order Details Table Mobile Responsive Reset */
	table.order_details,
	table.woocommerce-table--order-details,
	table.order_details tbody,
	table.order_details tfoot,
	table.order_details thead {
		display: block !important;
		width: 100% !important;
		box-sizing: border-box !important;
		border-collapse: collapse !important;
	}

	table.order_details,
	table.woocommerce-table--order-details {
		border: 1px solid var(--border-light) !important;
		border-radius: 10px !important;
		background: #ffffff !important;
		overflow: hidden !important;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
		margin-bottom: 20px !important;
	}

	table.order_details thead tr,
	table.woocommerce-table--order-details thead tr {
		display: flex !important;
		justify-content: space-between !important;
		background: #f8fafc !important;
		padding: 10px 12px !important;
		border-bottom: 1.5px solid var(--border-light) !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	table.order_details thead th,
	table.woocommerce-table--order-details thead th {
		padding: 0 !important;
		font-size: 10px !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		letter-spacing: 0.5px !important;
		color: #64748b !important;
		border: none !important;
		background: transparent !important;
	}

	table.order_details tbody tr,
	table.woocommerce-table--order-details tbody tr {
		display: flex !important;
		flex-direction: column !important;
		padding: 10px 12px !important;
		border-bottom: 1px solid #f1f5f9 !important;
		gap: 4px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	table.order_details tbody td,
	table.woocommerce-table--order-details tbody td {
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	table.order_details tbody td.product-name,
	table.woocommerce-table--order-details tbody td.product-name,
	table.order_details tbody td.product-name a,
	table.woocommerce-table--order-details tbody td.product-name a,
	table.order_details tbody td.product-name .product-quantity {
		font-weight: 700 !important;
		color: #0f172a !important;
		font-size: 12px !important;
		line-height: 1.35 !important;
		white-space: normal !important;
		word-wrap: break-word !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
		display: inline !important;
	}

	table.order_details tbody td.product-total,
	table.woocommerce-table--order-details tbody td.product-total {
		font-weight: 800 !important;
		color: var(--accent-red) !important;
		font-size: 12.5px !important;
		text-align: right !important;
	}

	/* Footer Totals (Zwischensumme, Zahlungsmethode, Gesamtsumme) */
	table.order_details tfoot tr,
	table.woocommerce-table--order-details tfoot tr {
		display: flex !important;
		align-items: baseline !important;
		justify-content: space-between !important;
		padding: 8px 12px !important;
		border-bottom: 1px solid #f1f5f9 !important;
		box-sizing: border-box !important;
		width: 100% !important;
	}

	table.order_details tfoot tr:last-child,
	table.woocommerce-table--order-details tfoot tr:last-child {
		border-bottom: none !important;
		background: #f8fafc !important;
	}

	table.order_details tfoot th,
	table.order_details tfoot td,
	table.woocommerce-table--order-details tfoot th,
	table.woocommerce-table--order-details tfoot td {
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
		font-size: 11.5px !important;
		line-height: 1.3 !important;
	}

	table.order_details tfoot th,
	table.woocommerce-table--order-details tfoot th {
		font-weight: 700 !important;
		color: #475569 !important;
		text-align: left !important;
		white-space: nowrap !important;
		margin-right: 12px !important;
	}

	table.order_details tfoot td,
	table.woocommerce-table--order-details tfoot td {
		font-weight: 700 !important;
		color: #0f172a !important;
		text-align: right !important;
		word-break: break-word !important;
	}
}

.ascotech-order-items-list {
	font-weight: 600 !important;
	color: var(--text-dark) !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	white-space: normal !important;
	word-wrap: break-word !important;
	word-break: break-word !important;
	overflow-wrap: break-word !important;
}

/* ==========================================
   Premium Downloads Grid & Card Styles
   ========================================== */

table.woocommerce-MyAccount-downloads {
	display: block !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	margin-top: 25px !important;
	width: 100% !important;
}

table.woocommerce-MyAccount-downloads thead {
	display: none !important;
	/* Hide traditional table header */
}

table.woocommerce-MyAccount-downloads tbody {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	padding: 0 !important;
}

table.woocommerce-MyAccount-downloads tbody tr {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	background: var(--card-bg) !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-lg) !important;
	padding: 30px !important;
	box-shadow: var(--shadow-sm) !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	position: relative !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}

table.woocommerce-MyAccount-downloads tbody tr:hover {
	border-color: rgba(234, 27, 37, 0.2) !important;
	box-shadow: var(--shadow-premium) !important;
	transform: translateY(-2px) !important;
}

/* Individual card fields styling */
table.woocommerce-MyAccount-downloads td {
	display: block !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	margin-bottom: 12px !important;
	font-family: var(--font-family-premium) !important;
	text-align: left !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Card title (Product Link) */
table.woocommerce-MyAccount-downloads td.download-product {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--text-dark) !important;
	line-height: 1.3 !important;
	border-bottom: 1px solid var(--border-light) !important;
	padding-bottom: 15px !important;
	margin-bottom: 18px !important;
}

table.woocommerce-MyAccount-downloads td.download-product a {
	color: var(--text-dark) !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

table.woocommerce-MyAccount-downloads td.download-product a:hover {
	color: var(--accent-red) !important;
}

/* Metadata fields styling (remaining downloads / expires) */
table.woocommerce-MyAccount-downloads td.download-remaining,
table.woocommerce-MyAccount-downloads td.download-expires {
	font-size: 13px !important;
	color: var(--text-main) !important;
	font-weight: 600 !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	border-bottom: 1px dashed var(--border-light) !important;
	padding-bottom: 8px !important;
	margin-bottom: 8px !important;
}

/* Field labels using standard attributes */
table.woocommerce-MyAccount-downloads td.download-remaining::before,
table.woocommerce-MyAccount-downloads td.download-expires::before {
	content: attr(data-title) !important;
	font-weight: 700 !important;
	color: var(--text-muted) !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

/* File download action block */
table.woocommerce-MyAccount-downloads td.download-file {
	margin-top: 15px !important;
	margin-bottom: 0 !important;
	padding-top: 10px !important;
	width: 100% !important;
}

/* Button inside download cell */
table.woocommerce-MyAccount-downloads td.download-file a.button,
table.woocommerce-MyAccount-downloads td.download-file .woocommerce-MyAccount-downloads-button {
	display: inline-flex !important;
	width: 100% !important;
	justify-content: center !important;
	align-items: center !important;
	background: var(--accent-red) !important;
	color: #ffffff !important;
	font-family: var(--font-family-premium) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 14px 24px !important;
	border-radius: var(--radius-sm) !important;
	border: none !important;
	box-shadow: none !important;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
}

table.woocommerce-MyAccount-downloads td.download-file a.button:hover,
table.woocommerce-MyAccount-downloads td.download-file .woocommerce-MyAccount-downloads-button:hover {
	background: var(--text-dark) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.15) !important;
	transform: translateY(-1px) !important;
}

/* Alert box styling for empty state button alignment */
.woocommerce-account .woocommerce-info .woocommerce-Button,
.woocommerce-account .woocommerce-info a.button {
	float: right !important;
	margin-top: -6px !important;
	margin-bottom: -6px !important;
	background: var(--text-dark) !important;
	color: #ffffff !important;
	font-family: var(--font-family-premium) !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 10px 18px !important;
	border-radius: var(--radius-sm) !important;
	border: none !important;
	transition: all 0.2s ease !important;
	display: inline-flex !important;
	align-items: center !important;
	text-decoration: none !important;
}

.woocommerce-account .woocommerce-info .woocommerce-Button:hover,
.woocommerce-account .woocommerce-info a.button:hover {
	background: var(--accent-red) !important;
	color: #ffffff !important;
}

@media (max-width: 480px) {
	table.woocommerce-MyAccount-downloads tbody tr {
		padding: 20px !important;
	}

	table.woocommerce-MyAccount-downloads tbody {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
}

/* 13. Header Cart Icon Alignment & Spacing Adjustments */
.cart-icon.ascotech-cart-fragment {
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
}

.cart-icon-link {
	height: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
}

.cart-icon-main {
	display: flex !important;
	align-items: center !important;
}

/* ==========================================================================
   17. Premium Checkout & Payment Page Styles
   ========================================================================== */

body.woocommerce-checkout,
body.woocommerce-cart {
	background-color: #ffffff !important;
}

/* Dynamic full-width layout for the promo/coupon banner */
.woocommerce-checkout .woocommerce-info {
	background: #fffbfb !important;
	border: 1px solid #fecaca !important;
	border-left: 4px solid var(--accent-red) !important;
	border-radius: var(--radius-md) !important;
	padding: 16px 20px !important;
	font-family: var(--font-family-premium) !important;
	font-size: 14px !important;
	color: #1e293b !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 0 auto 30px !important;
	max-width: 1400px !important;
	width: 100% !important;
	box-shadow: var(--shadow-sm) !important;
}

.woocommerce-checkout .woocommerce-info::before {
	content: "🏷️" !important;
	font-size: 16px !important;
}

.woocommerce-checkout .woocommerce-info a {
	color: var(--accent-red) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.woocommerce-checkout .woocommerce-info a:hover {
	color: var(--accent-hover) !important;
	text-decoration: underline !important;
}

/* Stacking subcolumns inside #customer_details to prevent squished layouts */
#customer_details {
	display: flex !important;
	flex-direction: column !important;
	gap: 30px !important;
	width: 100% !important;
}

#customer_details .col-1,
#customer_details .col-2 {
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
	float: none !important;
	display: block !important;
	padding: 0 !important;
	margin: 0 !important;
}

@media (min-width: 992px) {
	form.checkout.woocommerce-checkout {
		display: grid !important;
		grid-template-columns: 1fr 450px !important;
		gap: 0 40px !important;
		align-items: start !important;
		max-width: 1400px !important;
		margin: 0 auto !important;
	}

	#customer_details {
		grid-column: 1 !important;
		grid-row: 1 !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.ascotech-order-review-wrapper {
		grid-column: 2 !important;
		grid-row: 1 !important;
		position: sticky !important;
		top: 100px !important;
		width: 100% !important;
		margin-top: 0 !important;
	}
}

/* Card Wrappers for Form Sections */
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
	background: var(--card-bg) !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-lg) !important;
	padding: 35px !important;
	box-shadow: var(--shadow-premium) !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	transition: all 0.3s ease !important;
}

/* Hide empty or field-less section cards (e.g. empty shipping fields for digital/software orders) */
.woocommerce-billing-fields:empty,
.woocommerce-shipping-fields:empty,
.woocommerce-additional-fields:empty,
.woocommerce-billing-fields:not(:has(input, select, textarea, label)),
.woocommerce-shipping-fields:not(:has(input, select, textarea, label)),
.woocommerce-additional-fields:not(:has(input, select, textarea, label)) {
	display: none !important;
}

/* Hide unnecessary Kanton / State fields */
#billing_state_field,
#shipping_state_field {
	display: none !important;
}

.woocommerce-billing-fields:hover,
.woocommerce-shipping-fields:hover,
.woocommerce-additional-fields:hover {
	border-color: rgba(234, 27, 37, 0.1) !important;
	box-shadow: var(--shadow-card-hover) !important;
}

/* Premium CSS Grid Layout for Checkout Form Fields */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-address-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 20px 24px !important;
	width: 100% !important;
}

/* Form row elements setup inside grid */
.woocommerce-checkout .form-row {
	margin-bottom: 0 !important;
	/* Handled by grid gap */
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	float: none !important;
	grid-column: span 2 !important;
}

.woocommerce-checkout .form-row label {
	font-family: var(--font-family-premium) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	margin-bottom: 8px !important;
	color: #1e293b !important;
}

.woocommerce-checkout .form-row label .required {
	color: var(--accent-red) !important;
	text-decoration: none !important;
}

/* Premium Form Input Fields Design */
/* Premium Form Input Fields Design */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea {
	font-family: var(--font-family-premium) !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: var(--radius-sm) !important;
	padding: 12px 16px !important;
	font-size: 14px !important;
	outline: none !important;
	color: var(--text-dark) !important;
	background: #ffffff !important;
	transition: all 0.2s ease !important;
	width: 100% !important;
	box-sizing: border-box !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02) !important;
	height: 46px !important;
}

.woocommerce-checkout .form-row textarea {
	height: auto !important;
	min-height: 90px !important;
}

.woocommerce-checkout .form-row select {
	font-family: var(--font-family-premium) !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: var(--radius-sm) !important;
	padding: 0 36px 0 16px !important;
	font-size: 14px !important;
	outline: none !important;
	color: var(--text-dark) !important;
	background-color: #ffffff !important;
	transition: all 0.2s ease !important;
	width: 100% !important;
	height: 46px !important;
	min-height: 46px !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	background-size: 16px !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02) !important;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
	border-color: var(--accent-red) !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 3px rgba(234, 27, 37, 0.08) !important;
}

/* Half-width Form Rows side-by-side positioning in grid */
.woocommerce-checkout .form-row-first {
	grid-column: span 1 !important;
	width: 100% !important;
	float: none !important;
}

.woocommerce-checkout .form-row-last {
	grid-column: span 1 !important;
	width: 100% !important;
	float: none !important;
}

.woocommerce-checkout .form-row-wide {
	grid-column: span 2 !important;
	width: 100% !important;
}

/* Mobile-responsive stacking of form fields */
@media (max-width: 600px) {

	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper,
	.woocommerce-address-fields__field-wrapper {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
}

/* Select2 Custom Premium Dropdowns (Clean, borderless wrapper with single border on selection) */
.woocommerce-checkout .select2-container,
.select2-container {
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	display: block !important;
	box-sizing: border-box !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--single {
	background-color: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: var(--radius-sm) !important;
	height: 46px !important;
	min-height: 46px !important;
	display: flex !important;
	align-items: center !important;
	transition: all 0.2s ease !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02) !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	outline: none !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 44px !important;
	padding-left: 16px !important;
	padding-right: 36px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	color: var(--text-dark) !important;
	font-family: var(--font-family-premium) !important;
	font-size: 14px !important;
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px !important;
	right: 12px !important;
	top: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b,
.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: #64748b transparent transparent transparent !important;
	border-width: 5px 4px 0 4px !important;
}

.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--accent-red) !important;
	box-shadow: 0 0 0 3px rgba(234, 27, 37, 0.08) !important;
}

/* Headings Styling */
#customer_details h3,
#order_review_heading {
	font-family: var(--font-family-premium) !important;
	font-weight: 800 !important;
	color: var(--text-dark) !important;
	margin-top: 0 !important;
	margin-bottom: 25px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid var(--border-light) !important;
	position: relative !important;
	text-transform: uppercase !important;
	font-size: 14px !important;
	letter-spacing: 0.8px !important;
}

#customer_details h3::after,
#order_review_heading::after {
	content: "" !important;
	position: absolute !important;
	bottom: -1px !important;
	left: 0 !important;
	width: 40px !important;
	height: 3px !important;
	background: var(--accent-red) !important;
	border-radius: 2px !important;
}

/* Order Review Card Container (Encloses IHRE BESTELLUNG heading & review box) */
.ascotech-order-review-wrapper {
	background: var(--card-bg) !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-lg) !important;
	padding: 35px !important;
	box-shadow: var(--shadow-premium) !important;
	box-sizing: border-box !important;
}

/* Inner Order Review Element */
#order_review {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

.woocommerce-checkout-review-order-table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin-bottom: 25px !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 14px 16px !important;
	border-bottom: 1px solid #f3f4f6 !important;
	font-size: 14px !important;
	color: #1f2937 !important;
	text-align: left !important;
	vertical-align: middle !important;
}

.woocommerce-checkout-review-order-table th {
	font-weight: 700 !important;
	color: #6b7280 !important;
	text-transform: uppercase !important;
	font-size: 11px !important;
	letter-spacing: 0.8px !important;
	background: #f9fafb !important;
}

.woocommerce-checkout-review-order-table td.product-name {
	font-weight: 600 !important;
	color: #111827 !important;
	line-height: 1.4 !important;
}

.woocommerce-checkout-review-order-table td.product-name strong.product-quantity {
	color: #6b7280 !important;
	font-weight: 700 !important;
	margin-left: 6px !important;
}

.woocommerce-checkout-review-order-table td.product-total,
.woocommerce-checkout-review-order-table th.product-total,
.woocommerce-checkout-review-order-table tr.cart-subtotal td,
.woocommerce-checkout-review-order-table tr.order-total td,
.woocommerce-checkout-review-order-table tr.tax-rate td,
.woocommerce-checkout-review-order-table tr.shipping td {
	text-align: right !important;
	font-weight: 700 !important;
	color: #111827 !important;
}

.woocommerce-checkout-review-order-table tr.order-total th,
.woocommerce-checkout-review-order-table tr.order-total td {
	border-bottom: none !important;
	padding-top: 18px !important;
	padding-bottom: 14px !important;
}

.woocommerce-checkout-review-order-table tr.order-total th {
	font-size: 14px !important;
	font-weight: 800 !important;
	color: #111827 !important;
	text-transform: uppercase !important;
}

.woocommerce-checkout-review-order-table tr.order-total td>strong>.amount,
.woocommerce-checkout-review-order-table tr.order-total td>.amount {
	font-size: 26px !important;
	font-weight: 900 !important;
	color: #ea1b25 !important;
	letter-spacing: -0.5px !important;
	display: inline-block !important;
	line-height: 1 !important;
}

.woocommerce-checkout-review-order-table .includes_tax {
	font-size: 11px !important;
	color: #6b7280 !important;
	font-weight: 400 !important;
	display: block !important;
	margin-top: 4px !important;
	text-transform: none !important;
	white-space: normal !important;
	text-align: right !important;
	line-height: 1.3 !important;
}

.woocommerce-checkout-review-order-table tr.order-total td .includes_tax .amount,
.woocommerce-checkout-review-order-table .includes_tax .amount {
	font-size: 11px !important;
	color: #6b7280 !important;
	font-weight: 600 !important;
	letter-spacing: normal !important;
	display: inline !important;
}

/* Mobile Responsive Adjustments for Checkout Page (@media max-width: 767px) */
@media (max-width: 767px) {

	body.woocommerce-checkout h1,
	body.woocommerce-checkout .entry-title,
	body.woocommerce-checkout .wp-block-post-title {
		font-size: 20px !important;
		font-weight: 800 !important;
		margin: 8px 0 14px 0 !important;
		text-align: center !important;
	}

	/* Progress Bar on Mobile */
	.ascotech-checkout-progress {
		gap: 20px !important;
		max-width: 100% !important;
		margin: 0 auto 16px auto !important;
		padding: 0 10px !important;
	}

	.ascotech-checkout-progress::before {
		top: 13px !important;
		left: 16% !important;
		right: 16% !important;
		height: 3px !important;
	}

	.progress-step {
		gap: 5px !important;
		font-size: 9px !important;
		font-weight: 800 !important;
		letter-spacing: 0.5px !important;
	}

	.progress-step span {
		width: 26px !important;
		height: 26px !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		box-shadow: 0 0 0 3px #ffffff !important;
	}

	.progress-step.active span {
		transform: scale(1.05) !important;
		box-shadow: 0 3px 8px rgba(234, 27, 37, 0.25), 0 0 0 3px #ffffff !important;
	}

	/* Notice / Info / Coupon Banners on Mobile */
	.woocommerce-checkout .woocommerce-info,
	body.woocommerce-checkout div.woocommerce-info,
	body.woocommerce-checkout .wc-block-components-notice-banner.is-info {
		background: #f8fafc !important;
		background-color: #f8fafc !important;
		border: 1px solid #e2e8f0 !important;
		border-left: 3px solid #64748b !important;
		color: #334155 !important;
		padding: 8px 12px !important;
		font-size: 11.5px !important;
		border-radius: 8px !important;
		margin: 0 auto 8px auto !important;
		gap: 8px !important;
		box-shadow: none !important;
		line-height: 1.35 !important;
	}

	.woocommerce-checkout .woocommerce-info::before,
	body.woocommerce-checkout div.woocommerce-info::before {
		content: "ℹ️" !important;
		font-size: 13px !important;
		color: #64748b !important;
		margin-right: 0 !important;
	}

	.woocommerce-checkout .woocommerce-info a,
	body.woocommerce-checkout div.woocommerce-info a {
		color: var(--accent-red, #ea1b25) !important;
		font-weight: 700 !important;
		text-decoration: none !important;
	}

	/* Section Cards on Mobile */
	.ascotech-order-review-wrapper,
	.woocommerce-billing-fields,
	.woocommerce-shipping-fields,
	.woocommerce-additional-fields {
		padding: 16px 14px !important;
		border-radius: 14px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		margin-bottom: 12px !important;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
	}

	#customer_details h3,
	#order_review_heading {
		font-size: 13px !important;
		font-weight: 800 !important;
		margin-bottom: 14px !important;
		padding-bottom: 6px !important;
		letter-spacing: 0.5px !important;
	}

	#customer_details h3::after,
	#order_review_heading::after {
		width: 30px !important;
		height: 2.5px !important;
	}

	/* Form Field Wrapper & Input Layout on Mobile */
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper,
	.woocommerce-address-fields__field-wrapper,
	.woocommerce-additional-fields__field-wrapper {
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
		width: 100% !important;
	}

	.woocommerce-checkout .form-row,
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last,
	.woocommerce-checkout .form-row-wide {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		float: none !important;
		clear: both !important;
		margin: 0 0 6px 0 !important;
		display: flex !important;
		flex-direction: column !important;
	}

	.woocommerce-checkout .form-row label {
		font-size: 12px !important;
		font-weight: 700 !important;
		margin-bottom: 4px !important;
		color: #1e293b !important;
	}

	.woocommerce-checkout .form-row input.input-text,
	.woocommerce-checkout .form-row textarea {
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		height: 42px !important;
		padding: 8px 12px !important;
		font-size: 13px !important;
		border-radius: 8px !important;
		box-sizing: border-box !important;
		border: 1px solid #cbd5e1 !important;
		background: #ffffff !important;
	}

	.woocommerce-checkout .form-row select {
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		height: 42px !important;
		min-height: 42px !important;
		padding: 0 32px 0 12px !important;
		font-size: 13px !important;
		border-radius: 8px !important;
		box-sizing: border-box !important;
		border: 1px solid #cbd5e1 !important;
		background-color: #ffffff !important;
		-webkit-appearance: none !important;
		-moz-appearance: none !important;
		appearance: none !important;
	}

	.woocommerce-checkout .select2-container {
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		background: transparent !important;
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;
		box-shadow: none !important;
	}

	.woocommerce-checkout .select2-container--default .select2-selection--single {
		height: 42px !important;
		min-height: 42px !important;
		border-radius: 8px !important;
		border: 1px solid #cbd5e1 !important;
		background-color: #ffffff !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
		line-height: 40px !important;
		padding-left: 12px !important;
		padding-right: 32px !important;
		font-size: 13px !important;
		box-sizing: border-box !important;
	}

	.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
		height: 40px !important;
		right: 10px !important;
		top: 0 !important;
	}

	/* Order Review Table on Mobile */
	.woocommerce-checkout-review-order-table {
		table-layout: fixed !important;
		width: 100% !important;
		margin-bottom: 14px !important;
	}

	.woocommerce-checkout-review-order-table th,
	.woocommerce-checkout-review-order-table td {
		padding: 8px 4px !important;
		font-size: 12.5px !important;
		box-sizing: border-box !important;
	}

	.woocommerce-checkout-review-order-table th.product-name,
	.woocommerce-checkout-review-order-table td.product-name {
		width: 60% !important;
		word-break: break-word !important;
	}

	.woocommerce-checkout-review-order-table th.product-total {
		width: 40% !important;
		text-align: right !important;
		white-space: nowrap !important;
		font-size: 10px !important;
		letter-spacing: 0.2px !important;
		padding-right: 2px !important;
	}

	.woocommerce-checkout-review-order-table td.product-total,
	.woocommerce-checkout-review-order-table tr.cart-subtotal td,
	.woocommerce-checkout-review-order-table tr.tax-rate td {
		width: 40% !important;
		text-align: right !important;
		white-space: nowrap !important;
	}

	/* Stack shipping rows vertically on mobile (Full 100% width cards) */
	.woocommerce-checkout-review-order-table tr.shipping,
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 8px 0 !important;
		box-sizing: border-box !important;
	}

	.woocommerce-checkout-review-order-table tr.shipping th,
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 0 4px 0 !important;
		margin: 0 !important;
		text-align: left !important;
		border: none !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		color: #6b7280 !important;
		text-transform: uppercase !important;
		background: transparent !important;
	}

	.woocommerce-checkout-review-order-table tr.shipping td,
	.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		text-align: left !important;
		border: none !important;
		white-space: normal !important;
		box-sizing: border-box !important;
	}

	.woocommerce-checkout-review-order-table tr.shipping td ul.woocommerce-shipping-methods,
	.woocommerce-checkout-review-order-table tr.shipping td ul#shipping_method {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	.woocommerce-checkout-review-order-table tr.shipping td ul.woocommerce-shipping-methods li,
	.woocommerce-checkout-review-order-table tr.shipping td ul#shipping_method li {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		margin-bottom: 6px !important;
		padding: 8px 10px !important;
		font-size: 11px !important;
		line-height: 1.3 !important;
		white-space: normal !important;
		word-break: break-word !important;
	}

	/* Order Total Row sizing on mobile */
	.woocommerce-checkout-review-order-table tr.order-total {
		display: table-row !important;
	}

	.woocommerce-checkout-review-order-table tr.order-total th,
	.woocommerce-checkout-review-order-table tr.order-total td {
		border-top: 1px solid #e5e7eb !important;
		border-bottom: none !important;
		padding-top: 12px !important;
		padding-bottom: 12px !important;
		vertical-align: top !important;
		box-sizing: border-box !important;
	}

	.woocommerce-checkout-review-order-table tr.order-total th {
		width: 60% !important;
		padding-left: 4px !important;
		padding-right: 4px !important;
		font-size: 12.5px !important;
		font-weight: 800 !important;
		color: #111827 !important;
		text-transform: uppercase !important;
		background: transparent !important;
		text-align: left !important;
	}

	.woocommerce-checkout-review-order-table tr.order-total td {
		width: 40% !important;
		padding-left: 4px !important;
		padding-right: 4px !important;
		text-align: right !important;
	}

	.woocommerce-checkout-review-order-table tr.order-total td>strong>.amount,
	.woocommerce-checkout-review-order-table tr.order-total td>.amount {
		font-size: 18px !important;
		display: block !important;
		text-align: right !important;
	}

	#payment {
		padding: 12px 10px !important;
		border-radius: 12px !important;
	}

	#payment button#place_order {
		font-size: 14px !important;
		padding: 12px !important;
		border-radius: 20px !important;
		height: 44px !important;
	}
}

/* Payment Methods Accordion */
#payment {
	background: #f8fafc !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-md) !important;
	padding: 20px !important;
	margin-top: 10px !important;
}

#payment ul.payment_methods {
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

#payment ul.payment_methods li {
	background: #ffffff !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-sm) !important;
	padding: 14px 16px !important;
	transition: all 0.2s ease !important;
	cursor: pointer !important;
}

#payment ul.payment_methods li:hover {
	border-color: var(--border-focus) !important;
	background: #fffafa !important;
}

#payment ul.payment_methods li:has(input:checked) {
	border-color: var(--accent-red) !important;
	background: #fffafa !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.04) !important;
}

#payment ul.payment_methods li input[type="radio"] {
	accent-color: var(--accent-red) !important;
	width: 16px !important;
	height: 16px !important;
	margin-right: 10px !important;
	vertical-align: middle !important;
	cursor: pointer !important;
}

#payment ul.payment_methods li label {
	font-family: var(--font-family-premium) !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	color: var(--text-dark) !important;
	cursor: pointer !important;
	display: inline-block !important;
	vertical-align: middle !important;
}

#payment ul.payment_methods li img {
	max-height: 22px !important;
	width: auto !important;
	margin-left: 10px !important;
	vertical-align: middle !important;
	display: inline-block !important;
}

#payment ul.payment_methods li div.payment_box {
	background: #f8fafc !important;
	border: 1px solid var(--border-light) !important;
	border-radius: var(--radius-sm) !important;
	padding: 12px 15px !important;
	margin-top: 10px !important;
	font-size: 13px !important;
	color: var(--text-main) !important;
	line-height: 1.5 !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.01) !important;
}

/* Place Order Button Section */
#payment .place-order {
	padding: 20px 0 0 0 !important;
	margin: 0 !important;
}

#payment #place_order {
	background: linear-gradient(135deg, #ea1b25 0%, #c1121c 100%) !important;
	color: #ffffff !important;
	font-family: var(--font-family-premium) !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	height: 52px !important;
	line-height: 1 !important;
	padding: 0 30px !important;
	border-radius: 8px !important;
	border: none !important;
	width: 100% !important;
	box-shadow: 0 8px 25px rgba(234, 27, 37, 0.25) !important;
	transition: all 0.25s ease !important;
	cursor: pointer !important;
	text-align: center !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
}

#payment #place_order:hover {
	background: #111111 !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
}

#payment #place_order:active {
	transform: translateY(-0.5px) !important;
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15) !important;
}

/* WooCommerce Privacy Policy Notice Sizing & Styling */
.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p {
	font-size: 12px !important;
	line-height: 1.5 !important;
	color: #6b7280 !important;
	margin-top: 0 !important;
	margin-bottom: 16px !important;
}

.woocommerce-privacy-policy-text a {
	color: #ea1b25 !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
}

#payment .place-order::after {
	content: "🔒 256-Bit SSL Verschlüsselte Sichere Kasse" !important;
	display: block !important;
	text-align: center !important;
	margin-top: 18px !important;
	font-family: var(--font-family-premium) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var(--text-muted) !important;
	letter-spacing: 0.8px !important;
	text-transform: uppercase !important;
}

/* ==========================================================================
   16. ORDER RECEIVED (THANK YOU) PAGE PREMIUM STYLING
   ========================================================================== */

/* Hide duplicate static checkout heading on thank you page */
.woocommerce-order-received .checkout-title,
.woocommerce-order-received h1.checkout-title {
	display: none !important;
}

.woocommerce-order {
	max-width: 1000px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

/* 1. Thank You / Success Hero Card */
.woocommerce-order > .woocommerce-notice--success.woocommerce-thankyou-order-received,
.woocommerce-order > .woocommerce-thankyou-order-received {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 16px !important;
	padding: 24px 28px !important;
	margin: 0 0 24px 0 !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
	display: flex !important;
	align-items: center !important;
	gap: 16px !important;
	font-family: var(--font-family-premium) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	line-height: 1.4 !important;
}

.woocommerce-order > .woocommerce-notice--success.woocommerce-thankyou-order-received::before,
.woocommerce-order > .woocommerce-thankyou-order-received::before {
	content: "✓" !important;
	background: #22c55e !important;
	color: #ffffff !important;
	width: 38px !important;
	height: 38px !important;
	min-width: 38px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: 900 !important;
	font-size: 18px !important;
	box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3) !important;
	flex-shrink: 0 !important;
}

/* 2. Order Overview Meta Grid */
.woocommerce-order-overview.woocommerce-thankyou-order-details {
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 14px !important;
	padding: 20px 24px !important;
	margin: 0 0 30px 0 !important;
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
	gap: 16px 20px !important;
	list-style: none !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details li {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	font-family: var(--font-family-premium) !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: #64748b !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details li strong {
	font-size: 14.5px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	word-break: break-word !important;
	line-height: 1.3 !important;
}

.woocommerce-order-overview.woocommerce-thankyou-order-details li.total strong {
	color: var(--accent-red, #ea1b25) !important;
}

/* 3. Account Registration Card on Order Received (Classic + WooCommerce Blocks) */
.woocommerce-checkout-order-received-create-account,
.create-account-card,
.wc-block-order-confirmation-create-account,
.wp-block-woocommerce-order-confirmation-create-account,
.wc-block-order-confirmation-create-account-content,
.woocommerce-order form.checkout_coupon,
.woocommerce-order form.woocommerce-form-register,
.woocommerce-order form.register,
.woocommerce-order [class*="create-account"] {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 16px !important;
	padding: 28px 30px !important;
	margin: 25px 0 35px 0 !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	clear: both !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 30px !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.wc-block-order-confirmation-create-account > div:first-child,
.wc-block-order-confirmation-create-account-content > div:first-child,
.woocommerce-checkout-order-received-create-account > div:first-child {
	flex: 1 1 300px !important;
}

.wc-block-order-confirmation-create-account-form-wrapper,
.wc-block-order-confirmation-create-account-form {
	flex: 1 1 320px !important;
	width: 100% !important;
	max-width: 100% !important;
}

.woocommerce-checkout-order-received-create-account h3,
.woocommerce-checkout-order-received-create-account h4,
.wc-block-order-confirmation-create-account h2,
.wc-block-order-confirmation-create-account h3,
.wc-block-order-confirmation-create-account h4,
.woocommerce-order [class*="create-account"] h3,
.woocommerce-order [class*="create-account"] h4 {
	font-size: 17px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 12px 0 !important;
}

.woocommerce-checkout-order-received-create-account ul,
.wc-block-order-confirmation-create-account ul,
.woocommerce-order [class*="create-account"] ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 16px 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.woocommerce-checkout-order-received-create-account ul li,
.wc-block-order-confirmation-create-account ul li,
.woocommerce-order [class*="create-account"] ul li {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 13.5px !important;
	color: #475569 !important;
	font-weight: 500 !important;
}

.woocommerce-checkout-order-received-create-account ul li::before,
.wc-block-order-confirmation-create-account ul li::before,
.woocommerce-order [class*="create-account"] ul li::before {
	content: "✓" !important;
	color: #16a34a !important;
	font-weight: 900 !important;
	font-size: 14px !important;
}

/* Reset all broken floats from WooCommerce core on thankyou form */
.woocommerce-order form,
.wc-block-order-confirmation-create-account form,
.woocommerce-checkout-order-received-create-account form,
.woocommerce-order [class*="create-account"] form {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box !important;
}

.woocommerce-order .form-row,
.woocommerce-order .form-row-first,
.woocommerce-order .form-row-last,
.woocommerce-order .form-row-wide,
.woocommerce-checkout-order-received-create-account .form-row,
.woocommerce-checkout-order-received-create-account .form-row-first,
.woocommerce-checkout-order-received-create-account .form-row-last {
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: both !important;
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	box-sizing: border-box !important;
}

/* Floating Label & Text Input in WC Blocks */
.wc-block-components-text-input,
.wc-block-components-password-input {
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}

.woocommerce-order .form-row label,
.woocommerce-checkout-order-received-create-account .form-row label,
.wc-block-components-text-input label,
.wc-block-components-password-input label {
	display: block !important;
	position: static !important;
	transform: none !important;
	font-family: var(--font-family-premium) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #1e293b !important;
	margin-bottom: 6px !important;
	text-align: left !important;
	float: none !important;
	width: 100% !important;
	opacity: 1 !important;
	line-height: 1.2 !important;
}

.woocommerce-order .password-input,
.woocommerce-order span.password-input,
.woocommerce-checkout-order-received-create-account .password-input,
.woocommerce-checkout-order-received-create-account span.password-input {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.woocommerce-order input[type="password"],
.woocommerce-order input[type="text"],
.woocommerce-order input.input-text,
.woocommerce-order .password-input input,
.woocommerce-checkout-order-received-create-account input[type="password"],
.woocommerce-checkout-order-received-create-account input[type="text"],
.woocommerce-checkout-order-received-create-account .input-text,
.woocommerce-order [class*="create-account"] input[type="password"],
.woocommerce-order [class*="create-account"] .input-text,
.wc-block-components-text-input input[type="password"],
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input,
.wc-block-components-password-input input {
	display: block !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	padding: 12px 45px 12px 16px !important;
	font-family: var(--font-family-premium) !important;
	font-size: 14px !important;
	color: #0f172a !important;
	background: #ffffff !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 10px !important;
	box-sizing: border-box !important;
	outline: none !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02) !important;
	transition: all 0.2s ease !important;
}

.woocommerce-order input[type="password"]:focus,
.woocommerce-order input[type="text"]:focus,
.woocommerce-order input.input-text:focus,
.woocommerce-order .password-input input:focus,
.woocommerce-checkout-order-received-create-account input[type="password"]:focus,
.woocommerce-checkout-order-received-create-account input[type="text"]:focus,
.woocommerce-order [class*="create-account"] input[type="password"]:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-password-input input:focus {
	border-color: var(--accent-red, #ea1b25) !important;
	box-shadow: 0 0 0 3px rgba(234, 27, 37, 0.08) !important;
}

.woocommerce-order .show-password-input,
.woocommerce-checkout-order-received-create-account .show-password-input,
.wc-block-components-password-input__toggle,
.wc-block-components-text-input .wc-block-components-password-input__toggle {
	position: absolute !important;
	right: 12px !important;
	top: auto !important;
	bottom: 12px !important;
	background: transparent !important;
	border: none !important;
	cursor: pointer !important;
	color: #64748b !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	z-index: 5 !important;
}

/* Password Strength Meter (Classic + WC Blocks) */
.woocommerce-order .woocommerce-password-strength,
.woocommerce-checkout-order-received-create-account .woocommerce-password-strength,
.woocommerce-order [class*="create-account"] .woocommerce-password-strength,
.wc-block-components-password-strength {
	width: 100% !important;
	padding: 8px 12px !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	margin-top: 6px !important;
	text-align: center !important;
	box-sizing: border-box !important;
	display: block !important;
}

.wc-block-components-password-strength meter,
meter.wc-block-components-password-strength__meter {
	width: 100% !important;
	height: 8px !important;
	border-radius: 4px !important;
	background: #e2e8f0 !important;
	display: block !important;
	border: none !important;
}

.wc-block-components-password-strength span,
.wc-block-components-password-strength__hint,
.woocommerce-order .woocommerce-password-hint {
	font-size: 11.5px !important;
	color: #64748b !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	margin-top: 4px !important;
	display: block !important;
}

.woocommerce-order .woocommerce-password-strength.short,
.woocommerce-order .woocommerce-password-strength.bad {
	background-color: #fee2e2 !important;
	color: #ef4444 !important;
	border: 1px solid #fca5a5 !important;
}

.woocommerce-order .woocommerce-password-strength.good {
	background-color: #fef3c7 !important;
	color: #d97706 !important;
	border: 1px solid #fcd34d !important;
}

.woocommerce-order .woocommerce-password-strength.strong {
	background-color: #dcfce7 !important;
	color: #16a34a !important;
	border: 1px solid #86efac !important;
}

/* Submit Buttons (Classic + WC Blocks) */
.woocommerce-order button[type="submit"],
.woocommerce-order button[name="create_account"],
.woocommerce-order button[name="register"],
.woocommerce-order .woocommerce-form-register__submit,
.woocommerce-checkout-order-received-create-account button[type="submit"],
.woocommerce-checkout-order-received-create-account .button,
.woocommerce-order [class*="create-account"] button[type="submit"],
.woocommerce-order [class*="create-account"] .button,
.wc-block-components-button,
.wc-block-order-confirmation-create-account-button,
.wc-block-order-confirmation-create-account form .wc-block-components-button {
	background: linear-gradient(135deg, #ea1b25 0%, #c1121c 100%) !important;
	color: #ffffff !important;
	font-family: var(--font-family-premium) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	height: 48px !important;
	line-height: 48px !important;
	border-radius: 24px !important;
	border: none !important;
	box-shadow: 0 4px 14px rgba(234, 27, 37, 0.25) !important;
	width: 100% !important;
	cursor: pointer !important;
	transition: all 0.25s ease !important;
	text-align: center !important;
	padding: 0 20px !important;
	box-sizing: border-box !important;
	text-decoration: none !important;
	display: block !important;
	margin-top: 6px !important;
}

.woocommerce-order button[type="submit"]:hover,
.woocommerce-order button[name="create_account"]:hover,
.woocommerce-order button[name="register"]:hover,
.woocommerce-order .woocommerce-form-register__submit:hover,
.woocommerce-checkout-order-received-create-account button[type="submit"]:hover,
.woocommerce-checkout-order-received-create-account .button:hover,
.woocommerce-order [class*="create-account"] button[type="submit"]:hover,
.woocommerce-order [class*="create-account"] .button:hover,
.wc-block-components-button:hover,
.wc-block-order-confirmation-create-account-button:hover,
.wc-block-order-confirmation-create-account form .wc-block-components-button:hover {
	background: #0f172a !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.2) !important;
}

.woocommerce-order .woocommerce-privacy-policy-text,
.woocommerce-order form p:last-child,
.wc-block-order-confirmation-create-account-description,
.wc-block-order-confirmation-create-account-description p {
	font-size: 12px !important;
	color: #94a3b8 !important;
	text-align: center !important;
	line-height: 1.4 !important;
	margin-top: 4px !important;
}

.wc-block-order-confirmation-create-account-description a,
.woocommerce-order .woocommerce-privacy-policy-text a,
.woocommerce-order form p:last-child a {
	color: #64748b !important;
	text-decoration: underline !important;
}

.wc-block-order-confirmation-create-account-description a:hover,
.woocommerce-order .woocommerce-privacy-policy-text a:hover,
.woocommerce-order form p:last-child a:hover {
	color: var(--accent-red, #ea1b25) !important;
}

/* 4. Order Details & Table on Thank You Page */
section.woocommerce-order-details {
	margin-bottom: 30px !important;
}

section.woocommerce-order-details .woocommerce-order-details__title,
section.woocommerce-customer-details .woocommerce-column__title {
	font-family: var(--font-family-premium) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 16px 0 !important;
}

table.woocommerce-table--order-details {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
	width: 100% !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
}

table.woocommerce-table--order-details th {
	background: #f8fafc !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	color: #64748b !important;
	padding: 14px 20px !important;
	border-bottom: 1px solid #e2e8f0 !important;
	letter-spacing: 0.5px !important;
}

table.woocommerce-table--order-details td {
	padding: 14px 20px !important;
	font-size: 14px !important;
	color: #1e293b !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

table.woocommerce-table--order-details tbody tr:last-child td {
	border-bottom: 1px solid #e2e8f0 !important;
}

table.woocommerce-table--order-details tfoot th {
	background: #ffffff !important;
	font-weight: 700 !important;
	font-size: 13.5px !important;
	color: #475569 !important;
	border-bottom: 1px solid #f1f5f9 !important;
}

table.woocommerce-table--order-details tfoot tr.order-total th,
table.woocommerce-table--order-details tfoot tr.order-total td {
	border-top: 2px solid #e2e8f0 !important;
	border-bottom: none !important;
	padding-top: 16px !important;
	padding-bottom: 16px !important;
}

table.woocommerce-table--order-details tfoot tr.order-total th {
	font-size: 15px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	text-transform: uppercase !important;
}

table.woocommerce-table--order-details tfoot tr.order-total td .amount {
	font-size: 18px !important;
	font-weight: 900 !important;
	color: var(--accent-red, #ea1b25) !important;
}

/* 5. Customer Details / Address Card */
section.woocommerce-customer-details {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 16px !important;
	padding: 24px 28px !important;
	margin-top: 25px !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

section.woocommerce-customer-details address {
	font-style: normal !important;
	font-size: 14px !important;
	line-height: 1.65 !important;
	color: #334155 !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Mobile Responsive for Order Received Page */
@media (max-width: 768px) {
	.woocommerce-order > .woocommerce-notice--success.woocommerce-thankyou-order-received,
	.woocommerce-order > .woocommerce-thankyou-order-received {
		padding: 16px 14px !important;
		font-size: 13.5px !important;
		border-radius: 12px !important;
		gap: 12px !important;
	}

	.woocommerce-order > .woocommerce-notice--success.woocommerce-thankyou-order-received::before,
	.woocommerce-order > .woocommerce-thankyou-order-received::before {
		width: 30px !important;
		height: 30px !important;
		min-width: 30px !important;
		font-size: 15px !important;
	}

	.woocommerce-order-overview.woocommerce-thankyou-order-details {
		grid-template-columns: repeat(2, 1fr) !important;
		padding: 14px 12px !important;
		gap: 12px !important;
		border-radius: 12px !important;
	}

	.woocommerce-order-overview.woocommerce-thankyou-order-details li strong {
		font-size: 13px !important;
	}

	.woocommerce-checkout-order-received-create-account,
	.create-account-card,
	.woocommerce-order [class*="create-account"] {
		grid-template-columns: 1fr !important;
		padding: 18px 14px !important;
		gap: 16px !important;
		border-radius: 12px !important;
	}

	table.woocommerce-table--order-details th,
	table.woocommerce-table--order-details td {
		padding: 10px 12px !important;
		font-size: 12.5px !important;
	}

	section.woocommerce-customer-details {
		padding: 18px 14px !important;
		border-radius: 12px !important;
	}
}

/* ==========================================================================
   MOBILE & TABLET VIEWPORT OPTIMIZATIONS (Antigravity Premium Mobile Fixes)
   ========================================================================== */

/* Prevent horizontal scroll leakage globally on mobile viewports */
html,
body {
	overflow-x: hidden !important;
	width: 100% !important;
}

@media (max-width: 900px) {

	/* 1. Header Main Layout - Premium Asymmetric Grid with Burger Menu */
	.ascotech-header-main {
		flex-wrap: wrap !important;
		padding: 15px 15px !important;
		gap: 15px 10px !important;
		justify-content: space-between !important;
		align-items: center !important;
	}

	/* Sleek modern 3-bar burger button toggle */
	.ascotech-menu-toggle {
		display: flex !important;
		flex-direction: column !important;
		justify-content: space-between !important;
		width: 22px !important;
		height: 16px !important;
		background: transparent !important;
		border: none !important;
		cursor: pointer !important;
		padding: 0 !important;
		z-index: 100000 !important;
		order: 1 !important;
		position: relative !important;
	}

	.ascotech-menu-toggle .burger-line {
		display: block !important;
		width: 100% !important;
		height: 2px !important;
		background-color: #222 !important;
		border-radius: 2px !important;
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
		transform-origin: left center !important;
	}

	/* Burger morphs into a modern close "X" when active */
	.ascotech-menu-toggle.active {
		position: fixed !important;
		top: 30px !important;
		left: 24px !important;
	}

	.ascotech-menu-toggle.active .burger-line:nth-child(1) {
		transform: rotate(45deg) translate(1px, -1px) !important;
		background-color: #fff !important;
	}

	.ascotech-menu-toggle.active .burger-line:nth-child(2) {
		width: 0% !important;
		opacity: 0 !important;
	}

	.ascotech-menu-toggle.active .burger-line:nth-child(3) {
		transform: rotate(-45deg) translate(1px, 1px) !important;
		background-color: #fff !important;
	}

	.ascotech-logo-link {
		order: 2 !important;
		flex: 0 0 auto !important;
		margin-left: 10px !important;
	}

	.ascotech-logo-link img {
		max-width: 120px !important;
		height: auto !important;
	}

	/* Top right icon row, aligned neatly */
	.ascotech-header-icons {
		order: 3 !important;
		flex: 0 0 auto !important;
		gap: 14px !important;
		margin-left: auto !important;
	}

	/* Full-width Search Bar wrapped perfectly underneath */
	.ascotech-search-wrapper {
		order: 4 !important;
		flex: 0 0 100% !important;
		max-width: 100% !important;
		margin-top: 5px !important;
	}

	/* Slide-out Off-Canvas Drawer Container */
	.ascotech-nav-container {
		position: fixed !important;
		top: 0 !important;
		left: -100% !important;
		width: 320px !important;
		max-width: 85% !important;
		height: 100vh !important;
		background: rgba(18, 18, 18, 0.98) !important;
		backdrop-filter: blur(20px) !important;
		-webkit-backdrop-filter: blur(20px) !important;
		box-shadow: 15px 0 50px rgba(0, 0, 0, 0.5) !important;
		z-index: 99999 !important;
		transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
		padding: 80px 24px 40px 24px !important;
		box-sizing: border-box !important;
		overflow-y: auto !important;
		display: block !important;
	}

	.ascotech-nav-container.active {
		left: 0 !important;
	}

	body.menu-open {
		overflow: hidden !important;
	}

	body.menu-open::before {
		content: "" !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		background: rgba(0, 0, 0, 0.6) !important;
		backdrop-filter: blur(6px) !important;
		-webkit-backdrop-filter: blur(6px) !important;
		z-index: 99998 !important;
		animation: fadeInOverlay 0.3s ease forwards !important;
	}

	@keyframes fadeInOverlay {
		from {
			opacity: 0;
		}

		to {
			opacity: 1;
		}
	}

	/* Vertical Menu inside Drawer */
	.ascotech-main-menu {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		width: 100% !important;
		overflow-x: visible !important;
		white-space: normal !important;
	}

	.ascotech-main-menu>li {
		width: 100% !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
	}

	.ascotech-main-menu>li>a {
		padding: 16px 0 !important;
		color: rgba(255, 255, 255, 0.9) !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		text-transform: uppercase !important;
		letter-spacing: 0.5px !important;
		display: flex !important;
		justify-content: space-between !important;
		align-items: center !important;
		background: transparent !important;
		transition: color 0.2s ease !important;
	}

	.ascotech-main-menu>li>a:hover {
		background: transparent !important;
		color: var(--primary-red) !important;
	}

	/* Submenu Accordion Customization on Mobile */
	.has-mega-menu {
		position: relative !important;
	}

	.mega-menu {
		position: static !important;
		display: none !important;
		background: rgba(255, 255, 255, 0.03) !important;
		box-shadow: none !important;
		padding: 15px 15px 25px 15px !important;
		border-top: none !important;
		border-radius: 8px !important;
		margin-top: 5px !important;
		margin-bottom: 15px !important;
		border-left: 2px solid var(--primary-red) !important;
	}

	.has-mega-menu.is-expanded>a {
		color: var(--primary-red) !important;
	}

	.has-mega-menu.is-expanded>a .arrow {
		transform: rotate(180deg) !important;
		color: var(--primary-red) !important;
	}

	.mega-menu-inner {
		display: flex !important;
		flex-direction: column !important;
		gap: 25px !important;
		padding: 0 !important;
	}

	.mega-column h3 {
		font-size: 14px !important;
		color: #fff !important;
		margin: 0 0 12px 0 !important;
		padding-bottom: 6px !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
	}

	.mega-column ul {
		padding-left: 5px !important;
	}

	.mega-column ul li {
		margin-bottom: 10px !important;
	}

	.mega-column ul li a {
		color: rgba(255, 255, 255, 0.6) !important;
		font-size: 13px !important;
		display: block !important;
	}

	.mega-column ul li a:hover {
		color: var(--primary-red) !important;
	}

	.mega-image-col {
		display: none !important;
		/* Hide massive images inside accordion */
	}

	.ascotech-search-wrapper .wp-block-search__inside-wrapper {
		border-radius: 20px !important;
		border-width: 1.5px !important;
	}

	.ascotech-search-wrapper input {
		padding: 8px 15px !important;
		font-size: 13px !important;
	}

	.ascotech-search-wrapper button {
		padding: 0 15px !important;
	}

	/* Elegant, distraction-free icon adjustments for mobile screen sizes */
	.cart-total {
		display: none !important;
	}

	.header-icon-link {
		gap: 0 !important;
	}

	.header-icon {
		gap: 0 !important;
		height: 28px !important;
	}

	.icon-svg {
		width: 20px !important;
		height: 20px !important;
	}

	.header-icon .badge {
		top: -8px !important;
		right: -8px !important;
		width: 16px !important;
		height: 16px !important;
		font-size: 8px !important;
	}

	/* 2. Gutenberg Columns Overrides on Mobile (Fix Squeezed Main & Sidebar) */
	.single-product main .wp-block-columns {
		display: flex !important;
		flex-direction: column !important;
		gap: 30px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	.single-product main .wp-block-columns .wp-block-column {
		flex-basis: 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}

	/* 3. Product Gallery Thumbnails wrapping */
	.single-product .woocommerce-product-gallery .flex-control-thumbs {
		flex-wrap: wrap !important;
	}
}

/* Desktop Footer layout centering safeguard */
@media (min-width: 901px) {
	footer .wp-block-columns,
	.ascotech-footer-columns {
		max-width: 1400px !important;
		margin: 0 auto !important;
		padding: 40px 20px 20px 20px !important;
		box-sizing: border-box !important;
	}
}

@media (max-width: 768px) {

	/* 4. Footer layout columns spacing and horizontal margins on smaller viewports */
	footer,
	.ascotech-footer-wrapper,
	footer .wp-block-group {
		padding: 30px 16px 20px 16px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	footer .wp-block-columns,
	.ascotech-footer-columns {
		display: flex !important;
		flex-direction: column !important;
		gap: 28px !important;
		padding: 0 !important;
		margin: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	footer .wp-block-column,
	.ascotech-footer-col {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 100% !important;
		flex: 1 1 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	footer h4,
	footer .wp-block-heading {
		font-size: 15px !important;
		font-weight: 800 !important;
		color: #0f172a !important;
		margin: 0 0 10px 0 !important;
		text-transform: uppercase !important;
		letter-spacing: 0.5px !important;
	}

	.ascotech-footer-list {
		list-style: none !important;
		padding: 0 !important;
		margin: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
	}

	.ascotech-footer-list li {
		margin: 0 !important;
		padding: 0 !important;
	}

	.ascotech-footer-list li a {
		font-size: 14px !important;
		color: #475569 !important;
		display: inline-block !important;
		text-decoration: none !important;
		font-weight: 500 !important;
		transition: all 0.2s ease !important;
	}

	.ascotech-footer-list li a:hover {
		color: var(--accent-red, #ea1b25) !important;
		transform: translateX(3px) !important;
	}

	/* Payment methods display alignment on mobile footer */
	.payment-methods-wrapper {
		display: flex !important;
		flex-direction: column !important;
		gap: 8px !important;
		width: 100% !important;
	}

	.payment-row-top {
		display: flex !important;
		gap: 8px !important;
		align-items: center !important;
		flex-wrap: wrap !important;
	}

	.payment-row-top .pay-logo {
		height: 36px !important;
		width: auto !important;
		object-fit: contain !important;
	}

	.payment-row-bottom .pay-banner {
		height: 36px !important;
		width: auto !important;
		max-width: 100% !important;
		object-fit: contain !important;
	}

	/* 4b. Smooth, premium horizontally-scrollable tab headers on mobile viewports */
	.woocommerce-tabs ul.tabs {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		justify-content: flex-start !important;
		gap: 15px !important;
		padding: 0 10px 8px 10px !important;
		margin-bottom: 25px !important;
		white-space: nowrap !important;
		scrollbar-width: none !important;
	}

	.woocommerce-tabs ul.tabs::-webkit-scrollbar {
		display: none !important;
	}

	.woocommerce-tabs ul.tabs li {
		flex: 0 0 auto !important;
		padding: 6px 2px !important;
	}

	.woocommerce-tabs ul.tabs li a {
		font-size: 14px !important;
	}
}

@media (max-width: 600px) {

	/* 5. Top Bar - Keep on one line but scale down */
	.ascotech-top-bar {
		flex-direction: row !important;
		justify-content: space-between !important;
		font-size: 11px !important;
		padding: 6px 12px !important;
		gap: 8px !important;
	}

	/* 6. Clean up single product title & price spacing */
	.single-product .product_title,
	.single-product .wp-block-post-title {
		font-size: 24px !important;
		margin-bottom: 15px !important;
	}

	.single-product .price {
		font-size: 20px !important;
	}

	/* 7. Float-free, beautifully centered trust badge block on mobile viewports */
	.ascotech-trust-badges-float {
		float: none !important;
		margin: 15px 0 !important;
		display: flex !important;
		justify-content: center !important;
		gap: 15px !important;
	}

	.ascotech-trust-badges-float img {
		display: inline-block !important;
		margin-bottom: 0 !important;
		height: 45px !important;
		width: auto !important;
	}

	.ascotech-trust-item {
		justify-content: center !important;
		font-size: 13px !important;
	}

	/* 8. Make the single add-to-cart form fully responsive */
	.single-product form.cart {
		flex-wrap: wrap !important;
		gap: 10px !important;
	}

	.single-product .quantity input.qty {
		padding: 10px !important;
		height: 48px !important;
		box-sizing: border-box !important;
	}

	.single-product .single_add_to_cart_button {
		padding: 14px 20px !important;
		height: 48px !important;
		font-size: 14px !important;
		box-sizing: border-box !important;
	}
}

/* ==========================================================================
   HOMEPAGE CUSTOM LAYOUT & STYLES (ASCOTECH HOME REDESIGN)
   ========================================================================== */

/* Robust overrides to neutralize WordPress's wpautop paragraph injections in headers */
.header-icon p,
.ascotech-header-icons p {
	margin: 0 !important;
	padding: 0 !important;
	display: inline !important;
}

/* 1. Hero Section (Light & Elegant Design) */
.ascotech-hero-section {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: linear-gradient(135deg, #ffffff 0%, #f4f6fa 100%);
	border-radius: 24px;
	padding: 55px 50px;
	margin: 30px auto 40px;
	box-shadow: 0 15px 45px rgba(0, 0, 0, 0.06);
	position: relative;
	overflow: hidden;
	gap: 40px;
	box-sizing: border-box;
	border: 1px solid #e5e7eb;
}

.ascotech-hero-section::before {
	content: '';
	position: absolute;
	top: -40%;
	right: -15%;
	width: 550px;
	height: 550px;
	background: radial-gradient(circle, rgba(234, 27, 37, 0.08) 0%, transparent 70%);
	pointer-events: none;
}

.hero-content {
	flex: 1;
	max-width: 620px;
	position: relative;
	z-index: 2;
}

.hero-swiss-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(234, 27, 37, 0.08);
	border: 1px solid rgba(234, 27, 37, 0.25);
	color: #c1121c;
	font-size: 13px;
	font-weight: 700;
	padding: 6px 16px;
	border-radius: 20px;
	margin-bottom: 20px;
	letter-spacing: 0.3px;
}

.hero-content h1 {
	font-size: 48px !important;
	font-weight: 900 !important;
	color: #111116 !important;
	margin: 0 0 8px 0 !important;
	letter-spacing: -1.5px !important;
	line-height: 1.15 !important;
}

.hero-content h2 {
	font-size: 26px !important;
	font-weight: 800 !important;
	color: var(--primary-red, #ea1b25) !important;
	margin: 0 0 14px 0 !important;
	letter-spacing: -0.5px !important;
}

.hero-content h3 {
	font-size: 16px !important;
	font-weight: 500 !important;
	color: #55555e !important;
	margin: 0 0 25px 0 !important;
	line-height: 1.5 !important;
}

.hero-trust-bullets {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 30px;
	color: #33333d;
	font-size: 13px;
	font-weight: 600;
}

.hero-trust-bullets span {
	background: #ffffff;
	padding: 6px 14px;
	border-radius: 12px;
	border: 1px solid #e0e0e6;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}

.hero-actions {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
}

.hero-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 15px 32px !important;
	border-radius: 30px !important;
	font-weight: 800 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	letter-spacing: 0.5px !important;
	transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.hero-btn-primary {
	background: linear-gradient(135deg, #ea1b25 0%, #c1121c 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 8px 25px rgba(234, 27, 37, 0.35) !important;
}

.hero-btn-primary:hover {
	transform: translateY(-3px) !important;
	box-shadow: 0 15px 35px rgba(234, 27, 37, 0.5) !important;
	background: #111116 !important;
	color: #ffffff !important;
}

.hero-btn-secondary {
	background: #ffffff !important;
	color: #111116 !important;
	border: 1px solid #d0d0d8 !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
}

.hero-btn-secondary:hover {
	background: #f4f4f7 !important;
	border-color: #111116 !important;
	transform: translateY(-3px) !important;
}

.hero-products br,
.ascotech-hero-section p:empty,
.hero-product-card p:empty,
.ascotech-hero-section>span,
.hero-products>span,
.ascotech-hero-section>p:empty,
.hero-products>p:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	width: 0 !important;
}

.hero-products p {
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	width: 100% !important;
}

.hero-products {
	display: flex !important;
	gap: 20px !important;
	flex: 1 !important;
	justify-content: flex-end !important;
	position: relative !important;
	z-index: 2 !important;
}

.hero-product-card {
	background: #ffffff;
	border: 1px solid #eaeaea;
	border-radius: 18px;
	padding: 18px 16px;
	width: 195px;
	text-align: center;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	box-sizing: border-box;
	text-decoration: none !important;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.hero-product-card:hover {
	transform: translateY(-8px);
	border-color: rgba(234, 27, 37, 0.4);
	box-shadow: 0 20px 40px rgba(234, 27, 37, 0.15);
}

.hero-card-badge {
	position: absolute;
	top: -12px;
	background: #ea1b25;
	color: #ffffff;
	font-size: 11px;
	font-weight: 800;
	padding: 4px 12px;
	border-radius: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	box-shadow: 0 4px 10px rgba(234, 27, 37, 0.25);
	z-index: 3;
}

.hero-card-badge.sale {
	background: #27ae60;
	box-shadow: 0 4px 10px rgba(39, 174, 96, 0.25);
}

.hero-card-link-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none !important;
	width: 100%;
	color: inherit;
	flex: 1 0 auto;
}

.hero-product-card img,
.hero-card-img {
	width: 100% !important;
	max-height: 130px !important;
	height: auto !important;
	margin: 10px 0 12px !important;
	display: block !important;
	border-radius: 10px !important;
	object-fit: contain !important;
	transition: transform 0.3s ease !important;
}

.hero-product-card:hover .hero-card-img {
	transform: scale(1.04);
}

.hero-card-title {
	font-size: 14px;
	font-weight: 800;
	color: #111116;
	margin-bottom: 10px;
	line-height: 1.35;
	transition: color 0.2s ease;
	display: -webkit-box;
	line-clamp: 2;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 38px;
}

.hero-card-link-wrap:hover .hero-card-title {
	color: #ea1b25;
}

.hero-card-bottom-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	margin-top: auto !important;
	padding-top: 6px !important;
	gap: 8px !important;
	box-sizing: border-box !important;
}

.hero-product-price {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	text-align: left !important;
	gap: 1px !important;
	line-height: 1.15 !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.hero-product-price del {
	font-size: 11px !important;
	color: #94a3b8 !important;
	font-weight: 500 !important;
	display: block !important;
	text-decoration: line-through !important;
	line-height: 1 !important;
	margin: 0 !important;
}

.hero-product-price ins,
.hero-product-price .woocommerce-Price-amount:not(del .woocommerce-Price-amount) {
	font-size: 15px !important;
	font-weight: 800 !important;
	color: var(--primary-red, #ea1b25) !important;
	text-decoration: none !important;
	display: block !important;
	line-height: 1.15 !important;
	margin: 0 !important;
}

.hero-product-price:empty {
	display: none !important;
}

.hero-card-cart-btn {
	background: #0f172a !important;
	color: #ffffff !important;
	width: 36px !important;
	height: 36px !important;
	min-height: 36px !important;
	min-width: 36px !important;
	max-width: 36px !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	cursor: pointer !important;
	transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.15) !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	flex-shrink: 0 !important;
}

.hero-card-cart-btn:hover {
	background: var(--primary-red, #ea1b25) !important;
	transform: scale(1.08) !important;
	box-shadow: 0 4px 12px rgba(234, 27, 37, 0.3) !important;
}

.hero-card-cart-btn svg {
	width: 16px !important;
	height: 16px !important;
	stroke: #ffffff !important;
	fill: none !important;
	flex-shrink: 0 !important;
	transition: transform 0.2s ease !important;
	margin: 0 !important;
}

.hero-card-cart-btn svg circle,
.hero-card-cart-btn svg path,
.hero-card-cart-btn svg polyline {
	stroke: #ffffff !important;
	fill: none !important;
}

.hero-card-cart-btn:hover svg {
	transform: scale(1.1);
}

.hero-card-cart-btn.loading {
	opacity: 0.75 !important;
	pointer-events: none !important;
}

.hero-card-cart-btn.added-success {
	background: #27ae60 !important;
	color: #ffffff !important;
	transform: scale(1.08) !important;
	box-shadow: 0 4px 12px rgba(39, 174, 96, 0.4) !important;
}

.hero-card-cart-btn.added-success:hover {
	background: #219653 !important;
	color: #ffffff !important;
}

@keyframes cart-badge-bounce {
	0% { transform: scale(1); }
	30% { transform: scale(1.35); }
	60% { transform: scale(0.92); }
	100% { transform: scale(1); }
}

.cart-badge-bounce {
	animation: cart-badge-bounce 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* Hide WooCommerce default added_to_cart text link to preserve the clean card layout */
.hero-product-card .added_to_cart,
.deal-carousel-side .added_to_cart,
.premium-carousel-item .added_to_cart,
.ascotech-deal-carousel-container .added_to_cart,
.ascotech-premium-carousel .added_to_cart,
.product .added_to_cart {
	display: none !important;
}

/* 2. Category Grid Section */
.ascotech-category-grid-section {
	margin: 50px 0;
}

.category-grid-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 30px;
	border-bottom: 2px solid #f0f0f0;
	padding-bottom: 15px;
}

.category-badge {
	color: var(--primary-red, #ea1b25);
	font-weight: 800;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	display: block;
	margin-bottom: 4px;
}

.category-grid-title {
	font-size: 26px !important;
	font-weight: 800 !important;
	color: #111116 !important;
	margin: 0 !important;
}

.category-grid-all-link {
	color: #555;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 6px;
	transition: color 0.2s ease;
}

.category-grid-all-link:hover {
	color: var(--primary-red, #ea1b25);
}

.category-cards-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.cat-card {
	background: #ffffff;
	border-radius: 20px;
	padding: 30px 24px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	border: 1px solid #eaeaea;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	text-decoration: none !important;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 220px;
}

.cat-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 40px rgba(234, 27, 37, 0.12);
	border-color: rgba(234, 27, 37, 0.3);
}

.cat-card-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #ea1b25 0%, #ff525d 100%);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.cat-card:hover .cat-card-overlay {
	opacity: 1;
}

.cat-card-icon {
	color: var(--primary-red, #ea1b25);
	margin-bottom: 20px;
}

.cat-card-content h3 {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: #111116 !important;
	margin: 0 0 8px 0 !important;
}

.cat-card-content p {
	font-size: 13px !important;
	color: #666 !important;
	margin: 0 0 16px 0 !important;
	line-height: 1.4 !important;
}

.cat-card-btn {
	font-size: 13px;
	font-weight: 700;
	color: var(--primary-red, #ea1b25);
	display: inline-block;
}

.cat-count-pill {
	position: absolute;
	top: 20px;
	right: 20px;
	background: #f5f5f7;
	color: #555;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 12px;
}

/* 3. Trust Reviews Section */
.ascotech-trust-reviews-section {
	background: #f9f9fc;
	border: 1px solid #eaeaef;
	border-radius: 24px;
	padding: 50px 40px;
	margin: 50px 0;
}

.trust-section-header {
	text-align: center;
	margin-bottom: 40px;
}

.trust-rating-badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #ffffff;
	border: 1px solid #e0e0e5;
	padding: 8px 20px;
	border-radius: 30px;
	margin-bottom: 15px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.trust-rating-badge .stars {
	color: #ffb800;
	font-size: 16px;
}

.trust-rating-badge .score {
	font-weight: 900;
	font-size: 15px;
	color: #111;
}

.trust-rating-badge .count {
	color: #666;
	font-size: 13px;
}

.trust-title {
	font-size: 28px !important;
	font-weight: 800 !important;
	color: #111116 !important;
	margin: 0 !important;
}

.trust-reviews-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-bottom: 40px;
}

.trust-review-card {
	background: #ffffff;
	border-radius: 18px;
	padding: 26px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
	border: 1px solid #eee;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.review-stars {
	color: #ffb800;
	font-size: 16px;
	margin-bottom: 12px;
}

.review-text {
	font-size: 14px !important;
	color: #333 !important;
	line-height: 1.6 !important;
	font-style: italic;
	margin-bottom: 20px !important;
}

.review-author {
	border-top: 1px solid #f0f0f0;
	padding-top: 12px;
	display: flex;
	flex-direction: column;
}

.author-name {
	font-weight: 800;
	font-size: 14px;
	color: #111;
}

.author-location {
	font-size: 12px;
	color: #888;
}

.trust-badges-bar {
	display: flex;
	justify-content: space-around;
	align-items: center;
	background: #ffffff;
	border-radius: 16px;
	padding: 20px;
	border: 1px solid #e0e0e5;
	flex-wrap: wrap;
	gap: 15px;
}

.trust-badge-item {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #111116;
	font-weight: 700;
	font-size: 14px;
}

.trust-badge-item svg {
	color: var(--primary-red, #ea1b25);
}

/* ==========================================================================
   HOMEPAGE MOBILE & RESPONSIVE OVERRIDES
   ========================================================================== */
@media (max-width: 1100px) {
	.category-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.trust-reviews-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 900px) {
	.ascotech-hero-section {
		flex-direction: column !important;
		padding: 22px 16px 24px 16px !important;
		gap: 16px !important;
		text-align: center !important;
		margin: 12px auto 25px auto !important;
		border-radius: 18px !important;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
	}

	.hero-content {
		max-width: 100% !important;
		width: 100% !important;
	}

	.hero-swiss-tag {
		font-size: 11px !important;
		font-weight: 700 !important;
		padding: 4px 10px !important;
		margin-bottom: 10px !important;
		gap: 5px !important;
		border-radius: 12px !important;
	}

	.hero-swiss-tag svg {
		width: 12px !important;
		height: 12px !important;
	}

	.hero-content h1 {
		font-size: 21px !important;
		line-height: 1.25 !important;
		letter-spacing: -0.4px !important;
		margin: 0 0 6px 0 !important;
		font-weight: 800 !important;
		color: #0f172a !important;
	}

	.hero-subtitle,
	.hero-content p.hero-subtitle {
		font-size: 12.5px !important;
		line-height: 1.35 !important;
		color: #64748b !important;
		margin: 0 0 12px 0 !important;
	}

	.hero-trust-bullets {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 6px 8px !important;
		margin-bottom: 14px !important;
	}

	.hero-trust-bullets span {
		background: #ffffff !important;
		border: 1px solid #e2e8f0 !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		color: #334155 !important;
		padding: 3px 8px !important;
		border-radius: 6px !important;
		box-shadow: none !important;
		white-space: nowrap !important;
	}

	.hero-actions {
		display: flex !important;
		flex-direction: row !important;
		justify-content: center !important;
		gap: 8px !important;
		width: 100% !important;
		margin-bottom: 6px !important;
	}

	.hero-btn {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		padding: 10px 10px !important;
		font-size: 11.5px !important;
		font-weight: 800 !important;
		border-radius: 20px !important;
		letter-spacing: 0.2px !important;
		text-align: center !important;
		white-space: nowrap !important;
		box-sizing: border-box !important;
	}

	.hero-btn-primary {
		box-shadow: 0 4px 12px rgba(234, 27, 37, 0.3) !important;
	}

	.hero-btn-secondary {
		border: 1.5px solid #cbd5e1 !important;
	}

	.hero-products {
		display: flex !important;
		flex-direction: row !important;
		justify-content: center !important;
		width: 100% !important;
		gap: 8px !important;
		margin-top: 6px !important;
	}

	.hero-product-card {
		flex: 1 1 0 !important;
		width: calc(50% - 4px) !important;
		max-width: calc(50% - 4px) !important;
		padding: 10px 8px 8px 8px !important;
		border-radius: 12px !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
	}

	.hero-card-badge {
		top: -8px !important;
		font-size: 9px !important;
		font-weight: 800 !important;
		padding: 2px 7px !important;
		border-radius: 8px !important;
		letter-spacing: 0.3px !important;
	}

	.hero-product-card img,
	.hero-card-img {
		max-height: 80px !important;
		height: auto !important;
		margin: 6px auto 6px auto !important;
	}

	.hero-card-title {
		font-size: 11.5px !important;
		line-height: 1.2 !important;
		min-height: 28px !important;
		margin-bottom: 4px !important;
	}

	.hero-card-bottom-row {
		padding-top: 4px !important;
		gap: 6px !important;
	}

	.hero-product-price {
		gap: 1px !important;
	}

	.hero-product-price del {
		font-size: 9.5px !important;
		line-height: 1 !important;
	}

	.hero-product-price ins,
	.hero-product-price .woocommerce-Price-amount:not(del .woocommerce-Price-amount) {
		font-size: 13px !important;
		line-height: 1.1 !important;
	}

	.hero-card-cart-btn {
		width: 32px !important;
		height: 32px !important;
		min-height: 32px !important;
		min-width: 32px !important;
		max-width: 32px !important;
		border-radius: 50% !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.hero-card-cart-btn svg {
		width: 14px !important;
		height: 14px !important;
	}

	.category-grid-header {
		display: flex !important;
		align-items: flex-end !important;
		justify-content: space-between !important;
		margin-bottom: 16px !important;
		gap: 12px !important;
	}

	.category-grid-title-wrapper {
		flex: 1 !important;
	}

	.category-badge {
		font-size: 10.5px !important;
		letter-spacing: 0.5px !important;
		margin-bottom: 3px !important;
		display: inline-block !important;
	}

	.category-grid-title {
		font-size: 18px !important;
		line-height: 1.2 !important;
		font-weight: 800 !important;
		color: #0f172a !important;
	}

	.category-grid-all-link {
		font-size: 12px !important;
		font-weight: 700 !important;
		white-space: nowrap !important;
		flex-shrink: 0 !important;
		gap: 4px !important;
	}

	.category-grid-all-link svg {
		width: 14px !important;
		height: 14px !important;
	}

	.category-cards-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}

	.cat-card {
		padding: 14px 12px 12px 12px !important;
		min-height: unset !important;
		border-radius: 14px !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: space-between !important;
	}

	.cat-card-icon {
		margin-bottom: 8px !important;
	}

	.cat-card-icon svg {
		width: 28px !important;
		height: 28px !important;
	}

	.cat-count-pill {
		top: 10px !important;
		right: 10px !important;
		font-size: 9.5px !important;
		padding: 2px 7px !important;
		border-radius: 8px !important;
	}

	.cat-card-content h3 {
		font-size: 13.5px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
		margin: 0 0 3px 0 !important;
	}

	.cat-card-content p {
		font-size: 11px !important;
		line-height: 1.25 !important;
		color: #64748b !important;
		margin: 0 0 8px 0 !important;
		display: -webkit-box !important;
		-webkit-line-clamp: 2 !important;
		line-clamp: 2 !important;
		-webkit-box-orient: vertical !important;
		overflow: hidden !important;
	}

	.cat-card-btn {
		font-size: 11.5px !important;
		font-weight: 700 !important;
	}

	.trust-badges-bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 15px;
	}
}

/* Global Responsive & Carousel Width Fixes (Prevents horizontal overflow and 3700px page stretch on mobile) */
html,
body {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

@media (max-width: 900px) {
	.ascotech-home-page .wp-block-spacer,
	.wp-block-spacer {
		height: 8px !important;
		margin: 0 !important;
	}

	.ascotech-category-grid-section {
		margin: 8px 0 12px 0 !important;
	}

	.ascotech-deal-carousel-container {
		flex-direction: column !important;
		gap: 12px !important;
		margin: 6px auto 14px auto !important;
		padding: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.deal-side-box {
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 14px 12px 12px 12px !important;
		border-radius: 14px !important;
		border: 1px solid #e5e7eb !important;
		background: #ffffff !important;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
		box-sizing: border-box !important;
	}

	.deal-label {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		transform: none !important;
		display: inline-block !important;
		margin: 0 auto 6px auto !important;
		align-self: center !important;
		font-size: 9.5px !important;
		font-weight: 800 !important;
		padding: 3px 10px !important;
		border-radius: 10px !important;
		box-shadow: 0 2px 6px rgba(234, 27, 37, 0.25) !important;
	}

	.deal-image-wrapper {
		width: 90px !important;
		height: 90px !important;
		aspect-ratio: 1 / 1 !important;
		padding: 0 !important;
		margin: 0 auto 6px auto !important;
		border-radius: 10px !important;
		background: transparent !important;
		border: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.deal-image-wrapper img {
		max-height: 85px !important;
		max-width: 85px !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain !important;
		margin: 0 auto !important;
	}

	.deal-featured-product h4 {
		font-size: 12.5px !important;
		font-weight: 800 !important;
		margin: 0 0 2px 0 !important;
		line-height: 1.2 !important;
		color: #0f172a !important;
	}

	.deal-price {
		margin-bottom: 6px !important;
		gap: 6px !important;
		display: flex !important;
		align-items: baseline !important;
		justify-content: center !important;
	}

	.deal-price ins {
		font-size: 15px !important;
		font-weight: 800 !important;
		color: var(--primary-red, #ea1b25) !important;
	}

	.deal-price del {
		font-size: 10.5px !important;
		color: #94a3b8 !important;
	}

	.deal-button {
		height: 30px !important;
		line-height: 30px !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		border-radius: 15px !important;
		max-width: 160px !important;
		margin: 0 auto !important;
		padding: 0 14px !important;
		box-shadow: 0 3px 10px rgba(234, 27, 37, 0.2) !important;
	}

	.deal-carousel-side {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 12px 10px !important;
		border-radius: 14px !important;
		overflow: hidden !important;
		background: #ffffff !important;
		border: 1px solid #e5e7eb !important;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
	}

	.deal-carousel-side .carousel-header {
		margin-bottom: 6px !important;
		padding-bottom: 4px !important;
	}

	.deal-carousel-side .carousel-title {
		font-size: 15px !important;
		font-weight: 800 !important;
	}

	.ascotech-premium-carousel {
		margin: 10px auto !important;
		padding: 12px 10px !important;
		border-radius: 14px !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}

	.ascotech-product-carousel-inner {
		gap: 8px !important;
		padding: 2px 0 8px !important;
		width: 100% !important;
		overflow-x: auto !important;
		display: flex !important;
		flex-wrap: nowrap !important;
	}

	.premium-carousel-item {
		flex: 0 0 140px !important;
		min-width: 140px !important;
		width: 140px !important;
		max-width: 140px !important;
		padding: 8px 6px 6px 6px !important;
		border-radius: 10px !important;
		box-sizing: border-box !important;
		min-height: unset !important;
	}

	.deal-carousel-side .carousel-item-image-wrapper,
	.carousel-item-image-wrapper {
		width: 75px !important;
		height: 75px !important;
		aspect-ratio: 1 / 1 !important;
		padding: 0 !important;
		margin: 0 auto 4px auto !important;
		background: transparent !important;
		border: none !important;
		border-radius: 8px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	.premium-carousel-item img,
	.deal-carousel-side .carousel-item-image-wrapper img,
	.carousel-item-image-wrapper img {
		max-height: 70px !important;
		max-width: 70px !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain !important;
		margin: 0 auto !important;
	}

	.premium-carousel-item h3 {
		font-size: 11px !important;
		line-height: 1.2 !important;
		height: 26px !important;
		min-height: 26px !important;
		margin-bottom: 2px !important;
	}

	.premium-carousel-bottom-row {
		padding-top: 2px !important;
		gap: 4px !important;
	}

	.premium-carousel-item .price ins,
	.premium-carousel-item .price .woocommerce-Price-amount:not(del .woocommerce-Price-amount) {
		font-size: 12px !important;
	}

	.premium-carousel-item .price del {
		font-size: 9px !important;
	}

	.premium-carousel-item .ascotech-loop-cart-btn,
	.deal-carousel-side .ascotech-cart-icon-btn {
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		min-height: 28px !important;
		max-width: 28px !important;
	}

	.premium-carousel-item .ascotech-loop-cart-btn svg,
	.deal-carousel-side .ascotech-cart-icon-btn svg {
		width: 12px !important;
		height: 12px !important;
	}

	/* 4 Steps Section on Mobile */
	.ascotech-steps-container {
		margin: 15px auto 20px auto !important;
		padding: 0 !important;
	}

	.ascotech-steps-container h2 {
		font-size: 18px !important;
		font-weight: 800 !important;
		margin-bottom: 12px !important;
	}

	.ascotech-steps-grid {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
	}

	.step-card {
		padding: 12px 10px 10px 10px !important;
		border-radius: 12px !important;
		min-height: unset !important;
		text-align: center !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
	}

	.step-number {
		font-size: 26px !important;
		top: 4px !important;
		right: 6px !important;
		color: rgba(0, 0, 0, 0.04) !important;
		line-height: 1 !important;
	}

	.step-title {
		font-size: 13px !important;
		font-weight: 800 !important;
		margin: 0 0 2px 0 !important;
		color: #0f172a !important;
	}

	.step-title::after {
		margin: 4px auto 6px auto !important;
		width: 22px !important;
		height: 2px !important;
	}

	.step-description {
		font-size: 10.5px !important;
		line-height: 1.3 !important;
		color: #64748b !important;
		margin: 0 !important;
	}

	/* Trust & Reviews Social Proof Section on Mobile */
	.ascotech-trust-reviews-section {
		margin: 15px 0 20px 0 !important;
		padding: 18px 12px 16px 12px !important;
		border-radius: 16px !important;
	}

	.trust-section-header {
		margin-bottom: 12px !important;
	}

	.trust-rating-badge {
		padding: 4px 12px !important;
		margin-bottom: 8px !important;
		gap: 6px !important;
		border-radius: 15px !important;
	}

	.trust-rating-badge .stars {
		font-size: 12px !important;
	}

	.trust-rating-badge .score {
		font-size: 12px !important;
	}

	.trust-rating-badge .count {
		font-size: 10.5px !important;
	}

	.trust-title {
		font-size: 18px !important;
		font-weight: 800 !important;
		line-height: 1.25 !important;
		color: #0f172a !important;
	}

	.trust-reviews-grid {
		display: flex !important;
		flex-direction: row !important;
		overflow-x: auto !important;
		gap: 8px !important;
		margin-bottom: 12px !important;
		padding-bottom: 4px !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.trust-review-card {
		flex: 0 0 230px !important;
		min-width: 230px !important;
		max-width: 230px !important;
		padding: 12px 10px !important;
		border-radius: 12px !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
	}

	.review-stars {
		font-size: 12px !important;
		margin-bottom: 6px !important;
	}

	.review-text {
		font-size: 11px !important;
		line-height: 1.35 !important;
		margin-bottom: 8px !important;
	}

	.review-author {
		padding-top: 6px !important;
	}

	.author-name {
		font-size: 11.5px !important;
		font-weight: 800 !important;
	}

	.author-location {
		font-size: 10px !important;
	}

	.trust-badges-bar {
		display: grid !important;
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 8px !important;
		padding: 10px 12px !important;
		border-radius: 12px !important;
	}

	.trust-badge-item {
		font-size: 11px !important;
		font-weight: 700 !important;
		gap: 6px !important;
		justify-content: flex-start !important;
	}

	.trust-badge-item svg {
		width: 14px !important;
		height: 14px !important;
	}

	/* SEO Text Section on Mobile */
	.ascotech-seo-content-section {
		margin-top: 15px !important;
		padding: 18px 14px !important;
		border-radius: 14px !important;
	}

	.ascotech-seo-content-section h2 {
		font-size: 17px !important;
		font-weight: 800 !important;
		margin-bottom: 8px !important;
		line-height: 1.25 !important;
	}

	.ascotech-seo-content-section p {
		font-size: 12px !important;
		line-height: 1.45 !important;
		margin-bottom: 12px !important;
	}

	.ascotech-seo-content-section h3 {
		font-size: 13px !important;
		font-weight: 700 !important;
		margin-bottom: 4px !important;
	}
}

/* Hide trust features bar on all mobile and tablet viewports under 1100px */
@media (max-width: 1100px) {
	html body .ascotech-features-bar {
		display: none !important;
	}
}

/* Fail-safe right-alignment for Order Details Total column on desktop */
@media (min-width: 651px) {

	body.woocommerce-account .woocommerce-MyAccount-content table.order_details th.product-total,
	body.woocommerce-account .woocommerce-MyAccount-content table.order_details td.product-total,
	body.woocommerce-account .woocommerce-MyAccount-content table.order_details th.woocommerce-table__product-total,
	body.woocommerce-account .woocommerce-MyAccount-content table.order_details td.woocommerce-table__product-total,
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.order_details th.product-total,
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.order_details td.product-total,
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.order_details tbody tr th:last-child,
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table.order_details tbody tr td:last-child,
	body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tbody tr th:last-child,
	body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tbody tr td:last-child,
	body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details thead tr th:last-child,
	body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot tr td,
	.woocommerce-table__product-total,
	.product-total {
		text-align: right !important;
	}

	body.woocommerce-account .woocommerce-MyAccount-content table.order_details td.product-total *,
	body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details td.woocommerce-table__product-total * {
		text-align: right !important;
		float: right !important;
	}
}