/*
 * Apexengine front-end stylesheet.
 */

/* -------------------------------------------------- */
/* Base / resets                                      */
/* -------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	overflow-x: hidden;
	font-family: var( --apexengine-font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif );
	line-height: 1.6;
	color: #1a1a1a;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var( --apexengine-font-heading, inherit );
	line-height: 1.25;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var( --apexengine-color-primary, #1a73e8 );
	text-decoration: none;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.apexengine-skip-link {
	position: absolute;
	top: -100px;
	left: 0;
	background: #000;
	color: #fff;
	padding: 10px 16px;
	z-index: 100000;
}

.apexengine-skip-link:focus {
	top: 0;
}

.apexengine-container {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 20px;
}

/* -------------------------------------------------- */
/* Fallback header (shown only until an Elementor      */
/* header location is assigned)                        */
/* -------------------------------------------------- */
.apexengine-fallback-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-block: 16px;
	border-bottom: 1px solid #eee;
}

.apexengine-fallback-nav ul {
	list-style: none;
	display: flex;
	gap: 24px;
	margin: 0;
	padding: 0;
}

.apexengine-fallback-notice {
	font-size: 13px;
	color: #b45309;
	background: #fffbeb;
	padding: 8px 12px;
	margin: 0;
}

/* -------------------------------------------------- */
/* Fallback footer                                     */
/* -------------------------------------------------- */
.apexengine-fallback-footer {
	margin-top: 60px;
	background: var( --apexengine-color-secondary, #0b1f3a );
	color: #fff;
	padding-block: 40px 20px;
}

.apexengine-fallback-footer-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 24px;
	margin-bottom: 24px;
}

.apexengine-fallback-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	padding-top: 16px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px;
	font-size: 13px;
}

/* -------------------------------------------------- */
/* Blog / archive / single                             */
/* -------------------------------------------------- */
.apexengine-archive-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 32px;
	margin-block: 32px;
}

.apexengine-post-card {
	border: 1px solid #eee;
	border-radius: 8px;
	overflow: hidden;
}

.apexengine-post-card .apexengine-post-header,
.apexengine-post-card .apexengine-post-excerpt {
	padding: 16px;
}

.apexengine-post-meta {
	font-size: 13px;
	color: #666;
	display: flex;
	gap: 12px;
	margin-top: 4px;
}

.apexengine-pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-block: 32px;
}

.apexengine-single-post {
	max-width: 760px;
}

.apexengine-page-title,
.apexengine-post-title,
.apexengine-archive-title {
	margin-top: 0;
}

/* -------------------------------------------------- */
/* 404                                                  */
/* -------------------------------------------------- */
.apexengine-404 {
	text-align: center;
	padding-block: 80px;
}

.apexengine-404-title {
	font-size: 96px;
	margin: 0;
	color: var( --apexengine-color-primary, #1a73e8 );
}

/* -------------------------------------------------- */
/* Widget: Nav Menu                                     */
/* -------------------------------------------------- */
.apexengine-nav-menu {
	position: relative;
	--apexengine-nav-transition: 300ms;
	--apexengine-nav-underline-color: currentColor;
	--apexengine-mobile-menu-width: 100%;
	--apexengine-mobile-menu-bg: #ffffff;
	--apexengine-mobile-gap: 20px;
	--apexengine-toggle-width: 22px;
}

.apexengine-nav-list {
	list-style: none;
	display: flex;
	margin: 0;
	padding: 0;
}

.apexengine-nav-layout-vertical .apexengine-nav-list {
	flex-direction: column;
}

.apexengine-nav-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.apexengine-nav-menu a {
	transition: color var(--apexengine-nav-transition) ease, background-color var(--apexengine-nav-transition) ease, transform var(--apexengine-nav-transition) ease;
}

/* -- Hover animation: underline -- */
.apexengine-nav-hover-underline .apexengine-nav-list > li > a {
	position: relative;
}

.apexengine-nav-hover-underline .apexengine-nav-list > li > a::after {
	content: '';
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 2px;
	height: 2px;
	background: var(--apexengine-nav-underline-color);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--apexengine-nav-transition) ease;
}

.apexengine-nav-hover-underline .apexengine-nav-list > li > a:hover::after,
.apexengine-nav-hover-underline .apexengine-nav-list > li.current-menu-item > a::after {
	transform: scaleX(1);
}

/* -- Hover animation: scale -- */
.apexengine-nav-hover-scale .apexengine-nav-list > li > a {
	transform-origin: center;
}

.apexengine-nav-hover-scale .apexengine-nav-list > li > a:hover {
	transform: scale(1.08);
}

/* -- Toggle (hamburger) button -- */
.apexengine-nav-toggle {
	display: none;
	background: none;
	border: 0;
	cursor: pointer;
	flex-direction: column;
	gap: 5px;
	padding: 8px;
	position: relative;
	z-index: 2;
}

.apexengine-nav-toggle-bar {
	width: var(--apexengine-toggle-width);
	height: 2px;
	background: currentColor;
	display: block;
	transition: transform var(--apexengine-nav-transition) ease, opacity var(--apexengine-nav-transition) ease;
}

/* Animate hamburger into an "X" when the menu is open. */
.apexengine-nav-open .apexengine-nav-toggle-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.apexengine-nav-open .apexengine-nav-toggle-bar:nth-child(2) {
	opacity: 0;
}

.apexengine-nav-open .apexengine-nav-toggle-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 992px) {
	.apexengine-nav-toggle {
		display: flex;
	}

	.apexengine-nav-list {
		display: none;
		flex-direction: column;
		gap: var(--apexengine-mobile-gap) !important;
	}

	.apexengine-nav-menu.apexengine-nav-open .apexengine-nav-list {
		display: flex;
	}

	/* -- Dropdown panel style -- */
	.apexengine-nav-mobile-dropdown .apexengine-nav-list {
		position: absolute;
		top: 100%;
		left: 0;
		width: var(--apexengine-mobile-menu-width);
		max-width: 100vw;
		background: #fff;
		box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
		z-index: 999;
		padding: 16px;
	}

	/* -- Full screen overlay style -- */
	.apexengine-nav-mobile-fullscreen.apexengine-nav-open .apexengine-nav-list {
		position: fixed;
		inset: 0;
		width: 100vw;
		height: 100vh;
		max-width: 100vw;
		margin: 0;
		background: var(--apexengine-mobile-menu-bg);
		align-items: center;
		justify-content: center;
		overflow-y: auto;
		z-index: 99999;
		animation: apexengine-fade-in var(--apexengine-nav-transition) ease;
	}

	.apexengine-nav-mobile-fullscreen .apexengine-nav-list ul {
		align-items: center;
	}

	.apexengine-nav-mobile-fullscreen.apexengine-nav-open .apexengine-nav-toggle {
		position: fixed;
		top: 20px;
		right: 20px;
		z-index: 100000;
	}
}

@keyframes apexengine-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* Prevent background scrolling while the full-screen mobile menu is open. */
body.apexengine-body-menu-open {
	overflow: hidden;
}

/* -------------------------------------------------- */
/* Widget: Header Cart                                  */
/* -------------------------------------------------- */
.apexengine-header-cart {
	position: relative;
	display: inline-flex;
}

.apexengine-header-cart-link {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.apexengine-cart-count {
	position: absolute;
	top: -6px;
	right: -10px;
	min-width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var( --apexengine-color-accent, #ff6a3d );
	color: #fff;
	font-size: 10px;
	line-height: 16px;
	text-align: center;
	padding-inline: 2px;
}

.apexengine-mini-cart-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	background: #fff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
	padding: 16px;
	min-width: 280px;
	z-index: 999;
}

.apexengine-header-cart:hover .apexengine-mini-cart-dropdown,
.apexengine-header-cart:focus-within .apexengine-mini-cart-dropdown {
	display: block;
}

/* -------------------------------------------------- */
/* Widget: Search Toggle                                */
/* -------------------------------------------------- */
.apexengine-search-toggle {
	position: relative;
}

.apexengine-search-toggle-btn {
	background: none;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	padding: 6px;
}

.apexengine-search-form-wrap {
	position: absolute;
	top: 100%;
	right: 0;
	background: #fff;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
	padding: 12px;
	z-index: 999;
}

.apexengine-search-form {
	display: flex;
	gap: 8px;
}

/* -------------------------------------------------- */
/* Widget: Social Icons                                 */
/* -------------------------------------------------- */
.apexengine-social-icons {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}

.apexengine-social-icons a {
	display: inline-flex;
}

/* -------------------------------------------------- */
/* Widget: Copyright                                    */
/* -------------------------------------------------- */
.apexengine-copyright {
	font-size: 13px;
}

/* ==================================================== */
/* WooCommerce -- Shop / Archive Page                    */
/* ==================================================== */
.woocommerce-breadcrumb {
	font-size: 13px;
	color: #666;
	margin-block: 0 20px;
}

.apexengine-breadcrumb-wrap {
	margin-top: 24px;
}

.woocommerce-breadcrumb a {
	color: #666;
}

/* -- Full-bleed page title banner (matches classic shop header style) -- */
.woocommerce-products-header__title.page-title,
.apexengine-page-banner {
	margin: 0 0 40px;
	padding: 56px 20px;
	text-align: center;
	font-size: 34px;
	/* No default background -- blank/transparent until the site owner sets
	   a color and/or image in Appearance > Customize > Apexengine Shop
	   Page. See Apexengine_WooCommerce::print_shop_css_vars(). */
	/* Full-bleed: break out of the max-width container to span the viewport. */
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

.apexengine-page-banner span {
	color: var(--apexengine-color-primary, #1a73e8);
}

.apexengine-search-subheading {
	margin: 44px 0 20px;
	font-size: 22px;
}

.apexengine-shop-layout {
	display: flex;
	gap: 40px;
	align-items: flex-start;
}

.apexengine-shop-layout.apexengine-sidebar-left {
	flex-direction: row-reverse;
}

.apexengine-shop-main {
	flex: 1 1 0%;
	min-width: 0;
}

.apexengine-shop-sidebar {
	flex: 0 0 280px;
	width: 280px;
}

.apexengine-shop-sidebar .apexengine-widget {
	margin-bottom: 28px;
	padding-bottom: 28px;
	border-bottom: 1px solid #eee;
}

.apexengine-shop-sidebar .apexengine-widget:last-child {
	border-bottom: 0;
}

.apexengine-shop-sidebar-empty {
	font-size: 13px;
	color: #888;
	border: 1px dashed #ccc;
	border-radius: 8px;
	padding: 20px;
	text-align: center;
	line-height: 1.6;
}

/* Shop-sidebar widget titles: bold, uppercase, small accent bar -- matches
   the "PRODUCT CATEGORY" style heading in the reference design. */
.apexengine-shop-sidebar .apexengine-widget-title {
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 0.03em;
	border-left: 3px solid var(--apexengine-loop-btn-bg, #2fb344);
	padding-left: 10px;
	margin-bottom: 16px;
}

/* Search widget (core WP "Search" widget, classic or block). */
.apexengine-shop-sidebar .search-form,
.apexengine-shop-sidebar .wp-block-search__inside-wrapper {
	display: flex;
	border: 1px solid #ddd;
	border-radius: 6px;
	overflow: hidden;
}

.apexengine-shop-sidebar .search-form .search-field,
.apexengine-shop-sidebar .wp-block-search__input {
	flex: 1 1 auto;
	border: 0;
	padding: 10px 12px;
	font-family: inherit;
}

.apexengine-shop-sidebar .search-form .search-submit,
.apexengine-shop-sidebar .wp-block-search__button {
	border: 0;
	background: var(--apexengine-loop-btn-bg, #2fb344);
	color: #fff;
	padding: 0 16px;
	cursor: pointer;
}

/* Product category / tag list widgets. */
.apexengine-shop-sidebar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.apexengine-shop-sidebar ul li {
	padding: 7px 0;
	border-bottom: 1px dashed #eee;
	font-size: 14px;
}

.apexengine-shop-sidebar ul li a {
	color: #444;
}

.apexengine-shop-sidebar ul li .count {
	color: #999;
	font-size: 12px;
}

/* -- Toolbar: result count + ordering dropdown + grid/list view toggle -- */
.apexengine-shop-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid #eee;
}

.woocommerce-result-count {
	font-size: 14px;
	color: #666;
	margin: 0;
}

.woocommerce-ordering {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 12px;
}

.woocommerce-ordering select {
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-family: inherit;
	font-size: 14px;
	background: #fff;
}

.apexengine-shop-view-toggle {
	display: flex;
	gap: 6px;
}

.apexengine-view-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid #ddd;
	border-radius: 6px;
	background: #fff;
	color: #666;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.apexengine-view-btn svg {
	fill: currentColor;
}

.apexengine-view-btn:hover {
	color: #333;
}

.apexengine-view-btn.is-active {
	background: var(--apexengine-loop-btn-bg, #2fb344);
	border-color: var(--apexengine-loop-btn-bg, #2fb344);
	color: #fff;
}

/* -- Product grid -- */
ul.products {
	display: grid;
	grid-template-columns: repeat(var(--apexengine-shop-columns, 3), 1fr);
	gap: 28px;
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
}

ul.products li.product {
	border: 1px solid #eee;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
	background: #fff;
}

ul.products li.product:hover {
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
	transform: translateY(-3px);
}

ul.products li.product a {
	color: inherit;
	text-decoration: none;
	display: block;
}

ul.products li.product img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

ul.products li.product .woocommerce-loop-product__title {
	font-size: 16px;
	margin: 14px 14px 6px;
}

ul.products li.product .price {
	margin: 0 14px 14px;
	font-size: 15px;
	color: var(--apexengine-color-primary, #1a73e8);
	font-weight: 600;
}

ul.products li.product .price del {
	color: #999;
	font-weight: 400;
	margin-right: 6px;
}

ul.products li.product .star-rating {
	margin: 0 14px 8px;
	font-size: 13px;
	color: #f5a623;
}

ul.products li.product .apexengine-btn-loop {
	display: inline-block;
	margin: 0 14px 16px;
	text-align: center;
	padding: 10px 22px;
	border-radius: 24px;
	background: var(--apexengine-loop-btn-bg, #2fb344);
	color: var(--apexengine-loop-btn-text, #ffffff);
	font-size: 14px;
	font-weight: 700;
	transition: opacity 0.2s ease;
}

ul.products li.product .apexengine-btn-loop:hover {
	opacity: 0.9;
}

/* -- List view (toggled via JS, class added to ul.products) -- */
ul.products.apexengine-view-list {
	grid-template-columns: 1fr;
}

ul.products.apexengine-view-list li.product {
	display: flex;
	align-items: stretch;
	gap: 20px;
}

ul.products.apexengine-view-list li.product a.woocommerce-LoopProduct-link {
	display: flex;
	align-items: center;
	flex: 0 0 200px;
}

ul.products.apexengine-view-list li.product img {
	width: 200px;
	height: 100%;
	aspect-ratio: auto;
}

ul.products.apexengine-view-list li.product .woocommerce-loop-product__title,
ul.products.apexengine-view-list li.product .price,
ul.products.apexengine-view-list li.product .star-rating,
ul.products.apexengine-view-list li.product .apexengine-btn-loop {
	margin-left: 0;
	margin-right: 20px;
}

ul.products.apexengine-view-list li.product {
	padding-block: 14px;
}

ul.products li.product .onsale {
	position: absolute;
	margin: 10px;
	background: var(--apexengine-color-accent, #ff6a3d);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 20px;
}

/* -- Pagination -- */
.woocommerce-pagination {
	display: flex;
	justify-content: center;
	margin-block: 40px;
}

.woocommerce-pagination .page-numbers {
	list-style: none;
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0;
}

.woocommerce-pagination .page-numbers li {
	display: inline-flex;
}

.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding-inline: 8px;
	border-radius: 6px;
	border: 1px solid #eee;
	color: #333;
	font-size: 14px;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.woocommerce-pagination a.page-numbers:hover,
.woocommerce-pagination span.page-numbers.current {
	background: var(--apexengine-pagination-color, #ff6a3d);
	border-color: var(--apexengine-pagination-color, #ff6a3d);
	color: #fff;
}

/* ==================================================== */
/* WooCommerce -- Single Product Page                     */
/* ==================================================== */
.product.type-product {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	margin-block: 24px 60px;
}

.product.type-product .images {
	flex: 1 1 440px;
	min-width: 280px;
}

.product.type-product .summary.entry-summary {
	flex: 1 1 440px;
	min-width: 280px;
}

.woocommerce-product-gallery__wrapper {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-product-gallery__image img {
	width: 100%;
	border-radius: 10px;
	object-fit: cover;
}

.flex-control-thumbs {
	display: flex;
	gap: 10px;
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	flex-wrap: wrap;
}

.flex-control-thumbs li {
	width: 72px;
}

.flex-control-thumbs img {
	width: 100%;
	border-radius: 6px;
	cursor: pointer;
	opacity: 0.7;
	border: 2px solid transparent;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}

.flex-control-thumbs img.flex-active,
.flex-control-thumbs img:hover {
	opacity: 1;
	border-color: var(--apexengine-color-primary, #1a73e8);
}

.summary.entry-summary .product_title {
	margin-top: 0;
	font-size: 30px;
}

.summary.entry-summary .price {
	font-size: 24px;
	font-weight: 700;
	color: var(--apexengine-color-primary, #1a73e8);
	margin-bottom: 16px;
	display: block;
}

.summary.entry-summary .price del {
	color: #999;
	font-weight: 400;
	font-size: 18px;
	margin-right: 10px;
}

.summary.entry-summary .star-rating {
	color: #f5a623;
	margin-bottom: 12px;
}

.summary.entry-summary .woocommerce-product-details__short-description {
	color: #444;
	margin-bottom: 20px;
	line-height: 1.7;
}

.summary.entry-summary .product_meta {
	font-size: 13px;
	color: #777;
	border-top: 1px solid #eee;
	padding-top: 16px;
	margin-top: 24px;
}

.summary.entry-summary .product_meta > span {
	display: block;
	margin-bottom: 4px;
}

.summary.entry-summary .product_meta a {
	color: #777;
}

/* -- Purchase buttons: Add to Cart / Buy Now / Checkout / Get Inquiry -- */
.apexengine-purchase-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-block: 24px;
}

.apexengine-btn-wrap.apexengine-btn-add-to-cart .cart {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.apexengine-btn-wrap .quantity {
	margin: 0;
}

.apexengine-btn-wrap .quantity .qty {
	width: 70px;
	padding: 10px;
	border: 1px solid #ddd;
	border-radius: 6px;
}

.apexengine-btn,
.apexengine-btn-wrap button[type="submit"],
.apexengine-btn-wrap .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 28px;
	border-radius: 6px;
	border: 0;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.15s ease;
}

.apexengine-btn:hover,
.apexengine-btn-wrap button[type="submit"]:hover,
.apexengine-btn-wrap .single_add_to_cart_button:hover {
	transform: translateY(-1px);
}

.apexengine-btn-wrap .single_add_to_cart_button,
.apexengine-btn-add-to-cart button[type="submit"] {
	background: var(--apexengine-color-primary, #1a73e8);
	color: #fff;
}

.apexengine-btn-buy-now {
	background: var(--apexengine-color-secondary, #0b1f3a);
	color: #fff;
}

.apexengine-btn-checkout {
	background: #2f9e44;
	color: #fff;
}

.apexengine-btn-inquiry {
	background: var(--apexengine-get-inquiry-bg, #ff6a3d);
	color: var(--apexengine-get-inquiry-text, #ffffff);
}

.apexengine-buy-now-form {
	margin: 0;
}

/* -- Product tabs (Description / Reviews / Additional Information) -- */
.woocommerce-tabs {
	margin-top: 40px;
	clear: both;
}

.woocommerce-tabs ul.tabs {
	display: flex;
	gap: 8px;
	list-style: none;
	margin: 0 0 -1px;
	padding: 0;
	border-bottom: 1px solid #eee;
}

.woocommerce-tabs ul.tabs li {
	margin: 0;
}

.woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 12px 20px;
	text-decoration: none;
	color: #666;
	font-weight: 600;
	border: 1px solid transparent;
	border-bottom: none;
	border-radius: 8px 8px 0 0;
}

.woocommerce-tabs ul.tabs li.active a {
	color: var(--apexengine-color-primary, #1a73e8);
	border-color: #eee;
	background: #fff;
}

.woocommerce-tabs .panel {
	padding: 28px 0;
	line-height: 1.8;
	color: #444;
}

.woocommerce-tabs .panel h2 {
	margin-top: 0;
}

/* -- Reviews -- */
#reviews .comment-form-rating label,
#reviews .comment-form-comment label {
	display: block;
	margin-bottom: 6px;
	font-weight: 600;
}

#reviews .comment-form-comment textarea,
#reviews #author,
#reviews #email {
	width: 100%;
	max-width: 500px;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-family: inherit;
}

#reviews .form-submit input[type="submit"] {
	margin-top: 12px;
	padding: 12px 24px;
	border: 0;
	border-radius: 6px;
	background: var(--apexengine-color-primary, #1a73e8);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}

/* -- Notices / messages -- */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	list-style: none;
	padding: 14px 18px;
	border-radius: 8px;
	background: #eef6ff;
	border-left: 4px solid var(--apexengine-color-primary, #1a73e8);
	margin-bottom: 24px;
}

.woocommerce-error {
	background: #fdecea;
	border-left-color: #e03131;
}

/* -- Responsive -- */
@media (max-width: 900px) {
	.apexengine-shop-layout {
		flex-direction: column;
	}

	.apexengine-shop-sidebar {
		width: 100%;
		flex-basis: auto;
	}

	.product.type-product {
		flex-direction: column;
	}

	.woocommerce-products-header__title.page-title {
		padding: 40px 20px;
		font-size: 26px;
	}
}

@media (max-width: 700px) {
	ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}

	.apexengine-shop-toolbar {
		flex-direction: column;
		align-items: flex-start;
	}

	ul.products.apexengine-view-list li.product {
		flex-direction: column;
	}

	ul.products.apexengine-view-list li.product a.woocommerce-LoopProduct-link {
		flex-basis: auto;
	}

	ul.products.apexengine-view-list li.product img {
		width: 100%;
		aspect-ratio: 1 / 1;
	}
}

@media (max-width: 480px) {
	ul.products {
		grid-template-columns: 1fr !important;
	}
}
