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

:root {
	/* Colors */
	--allinwp-primary: #0a0000;
	--allinwp-primary-hover: #6A20B0;
	--allinwp-secondary: #F3E8FF;
	--allinwp-accent: #0a0202;
	--allinwp-text: #1A1A2E;
	--allinwp-text-muted: #6B7280;
	--allinwp-bg: #FFFFFF;
	--allinwp-bg-alt: #F9FAFB;
	--allinwp-border: #E5E7EB;
	--allinwp-success: #10B981;
	--allinwp-danger: #EF4444;
	--allinwp-warning: #F59E0B;
	--allinwp-sale: #EF4444;
	--allinwp-sale-text: #FFFFFF;
	--allinwp-link: #7B2FBE;
	--allinwp-link-hover: #6A20B0;

	/* Typography */
	--allinwp-font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
	--allinwp-font-body: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
	--allinwp-font-size: 16px;
	--allinwp-font-size-sm: 14px;
	--allinwp-font-size-lg: 18px;
	--allinwp-font-size-xl: 24px;
	--allinwp-font-weight-heading: 700;
	--allinwp-font-weight-body: 400;
	--allinwp-line-height: 1.6;
	--allinwp-letter-spacing-heading: 0em;

	/* Border & Radius */
	--allinwp-radius-sm: 4px;
	--allinwp-radius-md: 8px;
	--allinwp-radius-lg: 10px;
	--allinwp-radius-xl: 16px;
	--allinwp-radius-full: 9999px;
	--allinwp-border-width: 1px;

	/* Shadows */
	--allinwp-shadow-sm: 0 1px 3px rgba(0,0,0,0.1);
	--allinwp-shadow-md: 0 4px 12px rgba(0,0,0,0.1);
	--allinwp-shadow-lg: 0 10px 30px rgba(0,0,0,0.15);
	--allinwp-shadow-xl: 0 25px 50px rgba(0,0,0,0.25);

	/* Buttons */
	--allinwp-btn-bg: #7B2FBE;
	--allinwp-btn-bg-hover: #6A20B0;
	--allinwp-btn-text: #FFFFFF;
	--allinwp-btn-text-hover: #FFFFFF;
	--allinwp-btn-radius: 8px;
	--allinwp-btn-font-size: 14px;
	--allinwp-btn-font-weight: 600;
	--allinwp-btn-padding: 12px 20px;
	--allinwp-btn-transform: none;
	--allinwp-btn-letter-spacing: 0em;
	--allinwp-btn-secondary-bg: #F3E8FF;
	--allinwp-btn-secondary-text: #7B2FBE;
	--allinwp-btn-secondary-border: #7B2FBE;

	/* Inputs */
	--allinwp-input-bg: #FFFFFF;
	--allinwp-input-border: #E5E7EB;
	--allinwp-input-border-focus: #7B2FBE;
	--allinwp-input-text: #1A1A2E;
	--allinwp-input-placeholder: #9CA3AF;
	--allinwp-input-radius: 8px;
	--allinwp-input-padding: 10px 16px;
	--allinwp-input-font-size: 14px;
	--allinwp-label-weight: 500;
	--allinwp-label-color: #374151;

	/* Cards */
	--allinwp-card-bg: #FFFFFF;
	--allinwp-card-radius: 12px;
	--allinwp-card-border: 1px solid #E5E7EB;
	--allinwp-card-shadow: 0 2px 8px rgba(0,0,0,0.06);
	--allinwp-card-shadow-hover: 0 8px 24px rgba(0,0,0,0.12);
	--allinwp-card-padding: 16px;
	--allinwp-card-gap: 20px;
	--allinwp-card-transition: 0.25s;
	--allinwp-card-title-size: 14px;
	--allinwp-card-title-weight: 600;
	--allinwp-card-price-size: 16px;
	--allinwp-card-price-weight: 700;
	--allinwp-card-price-color: #1A1A2E;
	--allinwp-card-price-sale: #EF4444;

	/* Badge */
	--allinwp-badge-bg: #EF4444;
	--allinwp-badge-text: #FFFFFF;
	--allinwp-badge-radius: 4px;
	--allinwp-badge-font-size: 11px;
	--allinwp-badge-font-weight: 700;

	/* Filters */
	--allinwp-filter-checkbox: #7B2FBE;
	--allinwp-filter-active-bg: #7B2FBE;
	--allinwp-filter-active-text: #FFFFFF;
	--allinwp-filter-active-radius: 20px;
	--allinwp-filter-slider: #7B2FBE;
	--allinwp-filter-title-size: 13px;
	--allinwp-filter-title-weight: 600;

	/* Cart */
	--allinwp-cart-border: #E5E7EB;
	--allinwp-cart-header-bg: #F9FAFB;
	--allinwp-cart-header-text: #374151;
	--allinwp-cart-totals-bg: #F9FAFB;
	--allinwp-cart-totals-radius: 12px;

	/* Checkout */
	--allinwp-checkout-section-bg: #FFFFFF;
	--allinwp-checkout-section-radius: 12px;
	--allinwp-checkout-order-bg: #F9FAFB;

	/* Account */
	--allinwp-account-nav-bg: #F9FAFB;
	--allinwp-account-nav-active-bg: #7B2FBE;
	--allinwp-account-nav-active-text: #FFFFFF;
	--allinwp-account-nav-hover-bg: #F3E8FF;
	--allinwp-account-nav-radius: 8px;

	/* Mini Cart */
	--allinwp-minicart-bg: #FFFFFF;
	--allinwp-minicart-radius: 16px;
	--allinwp-minicart-shadow: 0 20px 60px rgba(0,0,0,0.15);
	--allinwp-minicart-badge-bg: #EF4444;
	--allinwp-minicart-badge-text: #FFFFFF;

	/* Transitions */
	--allinwp-transition: 0.25s ease;
}


/* ===== Base ===== */
.allinwp-widget,
.allinwp-woo-wrap {
	font-family: var(--allinwp-font-body);
	font-size: var(--allinwp-font-size);
	color: var(--allinwp-text);
	line-height: var(--allinwp-line-height);
	-webkit-font-smoothing: antialiased;
}

.woocommerce,
.woocommerce-page {
	font-family: var(--allinwp-font-body);
}

.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce h4,
.woocommerce-page h1,
.woocommerce-page h2,
.woocommerce-page h3,
.allinwp-widget h1,
.allinwp-widget h2,
.allinwp-widget h3 {
	font-family: var(--allinwp-font-heading);
	font-weight: var(--allinwp-font-weight-heading);
	letter-spacing: var(--allinwp-letter-spacing-heading);
}

a.allinwp-link,
.allinwp-widget a {
	color: var(--allinwp-link);
	text-decoration: none;
	transition: color var(--allinwp-transition);
}

a.allinwp-link:hover,
.allinwp-widget a:hover {
	color: var(--allinwp-link-hover);
}


/* ===== Product Cards ===== */
.allinwp-widget ul.products,
ul.products.allinwp-styled {
	display: grid;
	gap: var(--allinwp-card-gap);
	list-style: none;
	margin: 0;
	padding: 0;
}

.allinwp-widget ul.products li.product,
ul.products.allinwp-styled li.product {
	background: var(--allinwp-card-bg);
	border: var(--allinwp-card-border);
	border-radius: var(--allinwp-card-radius);
	box-shadow: var(--allinwp-card-shadow);
	overflow: hidden;
	transition: box-shadow var(--allinwp-card-transition) ease,
				transform var(--allinwp-card-transition) ease;
	display: flex;
	flex-direction: column;
}

.allinwp-widget ul.products li.product:hover,
ul.products.allinwp-styled li.product:hover {
	box-shadow: var(--allinwp-card-shadow-hover);
	transform: translateY(-2px);
}

.allinwp-widget ul.products li.product .woocommerce-loop-product__title,
ul.products.allinwp-styled li.product .woocommerce-loop-product__title {
	font-size: var(--allinwp-card-title-size);
	font-weight: var(--allinwp-card-title-weight);
	font-family: var(--allinwp-font-heading);
	color: var(--allinwp-text);
	padding: var(--allinwp-card-padding);
	padding-bottom: 4px;
	margin: 0;
}

.allinwp-widget ul.products li.product .price,
ul.products.allinwp-styled li.product .price {
	font-size: var(--allinwp-card-price-size);
	font-weight: var(--allinwp-card-price-weight);
	color: var(--allinwp-card-price-color);
	padding: 0 var(--allinwp-card-padding) var(--allinwp-card-padding);
}

.allinwp-widget ul.products li.product .price del,
ul.products.allinwp-styled li.product .price del {
	color: var(--allinwp-text-muted);
	font-weight: 400;
	margin-right: 6px;
}

.allinwp-widget ul.products li.product .price ins,
ul.products.allinwp-styled li.product .price ins {
	color: var(--allinwp-card-price-sale);
	text-decoration: none;
}

.allinwp-widget ul.products li.product .button,
ul.products.allinwp-styled li.product .button {
	margin: 0 var(--allinwp-card-padding) var(--allinwp-card-padding);
	width: calc(100% - calc(var(--allinwp-card-padding) * 2));
}

.allinwp-widget ul.products li.product .onsale,
ul.products.allinwp-styled li.product .onsale {
	background: var(--allinwp-badge-bg);
	color: var(--allinwp-badge-text);
	border-radius: var(--allinwp-badge-radius);
	font-size: var(--allinwp-badge-font-size);
	font-weight: var(--allinwp-badge-font-weight);
	padding: 3px 8px;
	top: 12px;
	left: 12px;
	right: auto;
	min-width: unset;
	min-height: unset;
	line-height: 1.4;
}

.allinwp-widget ul.products li.product a.woocommerce-loop-product__link {
	display: block;
	overflow: hidden;
}

.allinwp-widget ul.products li.product img {
	transition: transform var(--allinwp-card-transition) ease;
	width: 100%;
	height: auto;
	display: block;
}

.allinwp-widget ul.products li.product:hover img {
	transform: scale(1.04);
}

.allinwp-widget ul.products .star-rating {
	color: #F59E0B;
	padding: 8px var(--allinwp-card-padding) 4px;
}


/* ===== Buttons ===== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.allinwp-widget .button,
.allinwp-btn-primary {
	background: var(--allinwp-btn-bg) !important;
	color: var(--allinwp-btn-text) !important;
	border-radius: var(--allinwp-btn-radius) !important;
	font-size: var(--allinwp-btn-font-size) !important;
	font-weight: var(--allinwp-btn-font-weight) !important;
	font-family: var(--allinwp-font-body) !important;
	padding: var(--allinwp-btn-padding) !important;
	text-transform: var(--allinwp-btn-transform) !important;
	letter-spacing: var(--allinwp-btn-letter-spacing) !important;
	border: none !important;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	transition: background var(--allinwp-transition), color var(--allinwp-transition), transform var(--allinwp-transition), box-shadow var(--allinwp-transition) !important;
	text-decoration: none;
	line-height: 1.4;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.allinwp-widget .button:hover {
	background: var(--allinwp-btn-bg-hover) !important;
	color: var(--allinwp-btn-text-hover) !important;
	transform: translateY(-1px);
	box-shadow: var(--allinwp-shadow-sm) !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--allinwp-btn-bg) !important;
}

.allinwp-btn-secondary {
	background: var(--allinwp-btn-secondary-bg) !important;
	color: var(--allinwp-btn-secondary-text) !important;
	border: 1px solid var(--allinwp-btn-secondary-border) !important;
}

/* Single product add to cart */
.woocommerce .single_add_to_cart_button {
	height: auto;
}


/* ===== Forms & Inputs ===== */
.woocommerce input[type='text'],
.woocommerce input[type='email'],
.woocommerce input[type='tel'],
.woocommerce input[type='password'],
.woocommerce input[type='number'],
.woocommerce input[type='search'],
.woocommerce textarea,
.woocommerce select,
.allinwp-widget input[type='text'],
.allinwp-widget input[type='email'],
.allinwp-widget input[type='tel'],
.allinwp-widget input[type='password'],
.allinwp-widget input[type='number'],
.allinwp-widget textarea,
.allinwp-widget select {
	background: var(--allinwp-input-bg);
	border: var(--allinwp-border-width, 1px) solid var(--allinwp-input-border) !important;
	border-radius: var(--allinwp-input-radius) !important;
	color: var(--allinwp-input-text) !important;
	font-size: var(--allinwp-input-font-size) !important;
	font-family: var(--allinwp-font-body) !important;
	padding: var(--allinwp-input-padding) !important;
	transition: border-color var(--allinwp-transition), box-shadow var(--allinwp-transition);
	outline: none;
	width: 100%;
	box-sizing: border-box;
}

.woocommerce input[type='text']:focus,
.woocommerce input[type='email']:focus,
.woocommerce input[type='tel']:focus,
.woocommerce input[type='password']:focus,
.woocommerce input[type='number']:focus,
.woocommerce textarea:focus,
.woocommerce select:focus,
.allinwp-widget input:focus,
.allinwp-widget textarea:focus,
.allinwp-widget select:focus {
	border-color: var(--allinwp-input-border-focus) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--allinwp-input-border-focus) 20%, transparent) !important;
}

.woocommerce label,
.allinwp-widget label {
	font-weight: var(--allinwp-label-weight);
	color: var(--allinwp-label-color);
	font-size: var(--allinwp-font-size-sm);
	margin-bottom: 6px;
	display: block;
}

.woocommerce form .form-row,
.allinwp-widget .form-row {
	margin-bottom: 16px;
}


/* ===== Badges & Status ===== */
.allinwp-sale-badge,
.woocommerce span.onsale {
	background: var(--allinwp-badge-bg);
	color: var(--allinwp-badge-text);
	border-radius: var(--allinwp-badge-radius);
	font-size: var(--allinwp-badge-font-size);
	font-weight: var(--allinwp-badge-font-weight);
	padding: 4px 10px;
	display: inline-block;
	line-height: 1.4;
}

.allinwp-stock-status.in-stock {
	color: var(--allinwp-success);
	font-weight: 500;
}

.allinwp-stock-status.out-of-stock {
	color: var(--allinwp-danger);
	font-weight: 500;
}

.woocommerce .stock.in-stock {
	color: var(--allinwp-success);
}

.woocommerce .stock.out-of-stock {
	color: var(--allinwp-danger);
}


/* ===== Cart ===== */
.allinwp-widget .woocommerce-cart-form table.shop_table,
.woocommerce-cart table.shop_table.allinwp-styled {
	border: 1px solid var(--allinwp-cart-border);
	border-radius: var(--allinwp-radius-lg);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	width: 100%;
}

.allinwp-widget table.shop_table th,
.allinwp-widget table.shop_table thead th {
	background: var(--allinwp-cart-header-bg);
	color: var(--allinwp-cart-header-text);
	font-weight: 600;
	font-size: var(--allinwp-font-size-sm);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 12px 16px;
	border-bottom: 1px solid var(--allinwp-cart-border);
}

.allinwp-widget table.shop_table td {
	padding: 16px;
	border-bottom: 1px solid var(--allinwp-cart-border);
	vertical-align: middle;
}

.allinwp-widget .cart_totals,
.woocommerce-cart .cart_totals.allinwp-styled {
	background: var(--allinwp-cart-totals-bg);
	border-radius: var(--allinwp-cart-totals-radius);
	padding: 24px;
	border: 1px solid var(--allinwp-border);
}

.allinwp-widget .cart_totals h2 {
	font-size: var(--allinwp-font-size-lg);
	margin-bottom: 16px;
}


/* ===== Checkout ===== */
.allinwp-widget .woocommerce-checkout #customer_details,
.allinwp-widget .woocommerce-checkout #order_review_heading,
.allinwp-widget .woocommerce-checkout #order_review {
	background: var(--allinwp-checkout-section-bg);
	border-radius: var(--allinwp-checkout-section-radius);
	padding: 24px;
	border: 1px solid var(--allinwp-border);
	margin-bottom: 24px;
}

.allinwp-widget .woocommerce-checkout #order_review {
	background: var(--allinwp-checkout-order-bg);
}

.allinwp-widget .woocommerce-checkout h3 {
	font-size: var(--allinwp-font-size-lg);
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--allinwp-border);
}


/* ===== My Account ===== */
.allinwp-widget .woocommerce-MyAccount-navigation,
.woocommerce .woocommerce-MyAccount-navigation.allinwp-styled {
	background: var(--allinwp-account-nav-bg);
	border-radius: var(--allinwp-account-nav-radius);
	padding: 8px;
	border: 1px solid var(--allinwp-border);
}

.allinwp-widget .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.allinwp-widget .woocommerce-MyAccount-navigation ul li a {
	display: flex;
	align-items: center;
	padding: 10px 14px;
	border-radius: calc(var(--allinwp-account-nav-radius) - 4px);
	color: var(--allinwp-text);
	font-size: var(--allinwp-font-size-sm);
	font-weight: 500;
	text-decoration: none;
	transition: background var(--allinwp-transition), color var(--allinwp-transition);
	gap: 10px;
}

.allinwp-widget .woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--allinwp-account-nav-hover-bg);
	color: var(--allinwp-primary);
}

.allinwp-widget .woocommerce-MyAccount-navigation ul li.is-active a,
.allinwp-widget .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link.is-active a {
	background: var(--allinwp-account-nav-active-bg);
	color: var(--allinwp-account-nav-active-text);
}


/* ===== Filters ===== */
.allinwp-widget .widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: var(--allinwp-border);
	border-radius: var(--allinwp-radius-full);
	height: 4px;
}

.allinwp-widget .widget_price_filter .ui-slider-range,
.allinwp-widget .widget_price_filter .ui-slider .ui-slider-handle {
	background: var(--allinwp-filter-slider);
}

.allinwp-widget .widget_price_filter .ui-slider .ui-slider-handle {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	top: -7px;
	cursor: grab;
}

.allinwp-widget .wc-block-components-checkbox .wc-block-components-checkbox__mark,
.allinwp-widget .wc-block-filter-checkbox-list__checkbox {
	accent-color: var(--allinwp-filter-checkbox);
}

.allinwp-active-filters-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.allinwp-active-filter-tag {
	background: var(--allinwp-filter-active-bg);
	color: var(--allinwp-filter-active-text);
	border-radius: var(--allinwp-filter-active-radius);
	padding: 4px 10px;
	font-size: var(--allinwp-badge-font-size);
	font-weight: 500;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	transition: opacity var(--allinwp-transition);
}

.allinwp-active-filter-tag:hover {
	opacity: 0.8;
}

.allinwp-filter-title {
	font-size: var(--allinwp-filter-title-size);
	font-weight: var(--allinwp-filter-title-weight);
	color: var(--allinwp-text);
	margin-bottom: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}


/* ===== Mini Cart ===== */
.allinwp-mini-cart-wrap {
	position: relative;
}

.allinwp-cart-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	padding: 8px;
}

.allinwp-cart-count {
	position: absolute;
	top: -4px;
	right: -4px;
	background: var(--allinwp-minicart-badge-bg);
	color: var(--allinwp-minicart-badge-text);
	border-radius: var(--allinwp-radius-full);
	width: 18px;
	height: 18px;
	font-size: 11px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.allinwp-mini-cart-dropdown {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	background: var(--allinwp-minicart-bg);
	border-radius: var(--allinwp-minicart-radius);
	box-shadow: var(--allinwp-minicart-shadow);
	min-width: 320px;
	z-index: 9999;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-8px);
	transition: opacity var(--allinwp-transition), transform var(--allinwp-transition);
	border: 1px solid var(--allinwp-border);
}

.allinwp-mini-cart-dropdown.is-open {
	opacity: 1;
	pointer-events: all;
	transform: translateY(0);
}

.allinwp-mini-cart-inner {
	padding: 20px;
}


/* ===== Product Tabs ===== */
.allinwp-widget .woocommerce-tabs ul.tabs,
.woocommerce .woocommerce-tabs ul.tabs.allinwp-styled {
	display: flex;
	gap: 4px;
	border-bottom: 2px solid var(--allinwp-border);
	padding: 0;
	margin: 0 0 24px;
	list-style: none;
}

.allinwp-widget .woocommerce-tabs ul.tabs li,
.woocommerce .woocommerce-tabs ul.tabs.allinwp-styled li {
	margin: 0;
}

.allinwp-widget .woocommerce-tabs ul.tabs li a,
.woocommerce .woocommerce-tabs ul.tabs.allinwp-styled li a {
	display: block;
	padding: 10px 20px;
	font-size: var(--allinwp-font-size-sm);
	font-weight: 600;
	color: var(--allinwp-text-muted);
	text-decoration: none;
	border-radius: var(--allinwp-radius-md) var(--allinwp-radius-md) 0 0;
	transition: color var(--allinwp-transition), background var(--allinwp-transition);
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
}

.allinwp-widget .woocommerce-tabs ul.tabs li.active a,
.woocommerce .woocommerce-tabs ul.tabs.allinwp-styled li.active a {
	color: var(--allinwp-primary);
	border-bottom-color: var(--allinwp-primary);
}

.allinwp-widget .woocommerce-tabs ul.tabs li a:hover {
	color: var(--allinwp-primary);
}

.allinwp-widget .woocommerce-tabs .panel {
	padding: 24px 0;
}

/* ===== Star Rating ===== */
.woocommerce .star-rating,
.allinwp-widget .star-rating {
	color: #F59E0B;
}

/* ===== Notices ===== */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
	border-radius: var(--allinwp-radius-md);
	font-size: var(--allinwp-font-size-sm);
}

.woocommerce-message { border-left-color: var(--allinwp-success); }
.woocommerce-error   { border-left-color: var(--allinwp-danger); }
.woocommerce-info    { border-left-color: var(--allinwp-primary); }
