/**
* Theme Name: Astra Child
* Author: Brainstorm Force
* Author URI: http://wpastra.com/about/
* Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
* Version: 1.0.0
* License: GNU General Public License v2 or later
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: astra-child
* Template: astra
*/

/*--------------------------------------------------------------
# 1. Theme Meta & Globals
--------------------------------------------------------------*/
:root {
	--site-color-1: #85031F;
	--site-color-2: #ededed;
}

/*--------------------------------------------------------------
# 2. General Layout & Pages
--------------------------------------------------------------*/
body .site-header .menu-link i,
body .site-header li.scan-code {
	display: none;
}

.main-hero-section {
	margin-bottom: 1em;
}

.home #primary {
	margin: 0;
}

.home #primary,
.home #secondary {
	padding-top: 0px;
	padding-bottom: 0px;
}

body:not(.home).ast-plain-container.ast-no-sidebar #primary {
	margin-top: 30px;
	margin-bottom: 30px;
}

body .button {
    padding: 10px 20px !important;
    border-radius: 10px !important;
	background: var(--ast-global-color-0);
    color: var(--ast-global-color-4);
	border: 1px solid var(--ast-global-color-0) !important;
	transition: 0.3s;
}

body .button:hover {
	padding: 10px 20px !important;
    border-radius: 10px !important;
    background: var(--ast-global-color-4);
    color: var(--ast-global-color-0);
	border: 1px solid var(--ast-global-color-0) !important;
	box-shadow: 0 0 0 1px var(--ast-global-color-0) inset !important;
}

.ast-primary-header-bar {
	background: var(--ast-global-color-0);
	border-bottom-color: var(--ast-global-color-0);
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"],
.site-below-footer-wrap[data-section="section-below-footer-builder"] {
	background: var(--ast-global-color-0);
	color: var(--ast-global-color-4);
	border-top-color: var(--ast-global-color-0);
}

.ast-builder-menu-1 .menu-item > .menu-link {
	color: var(--ast-global-color-4);
}

.ast-footer-copyright.site-footer-focus-item {
	color: var(--ast-global-color-4);
}

.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1 .inline-on-mobile .menu-item.current-menu-item > .ast-menu-toggle,
.ast-builder-menu-1 .current-menu-ancestor > .menu-link {
	font-weight: 700;
	color: var(--ast-global-color-4);
}

h1, h2, h3, h4, h5, h6, .entry-content :where(h1,h2,h3,h4,h5,h6) {
	color: var(--ast-global-color-0);
}

.cart-info h3 {
	color: var(--ast-global-color-4);
}

.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price, .widget_layered_nav_filters ul li.chosen a, .woocommerce-page ul.products li.product .ast-woo-product-category, .wc-layered-nav-rating a {
	color: var(--ast-global-color-0);
}

.ast-builder-menu-1 .menu-item:hover > .menu-link, .ast-builder-menu-1 .inline-on-mobile .menu-item:hover > .ast-menu-toggle {
	color: var(--ast-global-color-4);
}

button:focus, .menu-toggle:hover, button:hover, .ast-button:hover, .ast-custom-button:hover .button:hover, .ast-custom-button:hover, input[type=reset]:hover, input[type=reset]:focus, input#submit:hover, input#submit:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="submit"]:hover, input[type="submit"]:focus, form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button:hover, form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button:focus, body .wp-block-file .wp-block-file__button:hover, body .wp-block-file .wp-block-file__button:focus, .woocommerce-js a.button:hover, .woocommerce button.button:hover, .woocommerce .woocommerce-message a.button:hover, .woocommerce #respond input#submit:hover, .woocommerce #respond input#submit.alt:hover, .woocommerce input.button.alt:hover, .woocommerce input.button:hover, .woocommerce button.button.alt.disabled:hover, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link:hover, [CLASS*="wc-block"] button:hover, .woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping):hover, .woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons a.checkout:hover, .woocommerce button.button.alt.disabled.wc-variation-selection-needed:hover, [CLASS*="wc-block"] .wc-block-components-button:hover, [CLASS*="wc-block"] .wc-block-components-button:focus {
	background: var(--ast-global-color-4);
    color: var(--ast-global-color-0);
    border: 1px solid var(--ast-global-color-0) !important;
    box-shadow: 0 0 0 1px var(--ast-global-color-0) inset !important;	
}

#astra-footer-menu .menu-item > a {
	color: var(--ast-global-color-4);
}

#astra-footer-menu .menu-item > a:hover {
	color: var(--ast-global-color-4);
}

#astra-footer-menu .menu-item.current-menu-item > a {
	color: var(--ast-global-color-4);
	font-weight: 700;
}

.ast-header-account-wrap .ast-header-account-type-icon .ahfb-svg-iconset svg path:not( .ast-hf-account-unfill ), .ast-header-account-wrap .ast-header-account-type-icon .ahfb-svg-iconset svg circle {
	fill: var(--ast-global-color-4);
}

/*--------------------------------------------------------------
# 3. WooCommerce: General & Layout
--------------------------------------------------------------*/
body.home .woocommerce-products-header__title.page-title {
	display: none;
}

body .site-content .woocommerce-search,
body .site-content .woocommerce-notices-wrapper,
body .site-content .woocommerce-result-count,
body .site-content .woocommerce-ordering select {
	padding: 0px 0px;
}

body .woocommerce-search,
.woocommerce-result-count {
	margin: 20px 0;
}

body .search-form label[for="search-field"] {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}

body .search-form label[for="search-field"] button.search-submit {
	padding-top: 10px;
	padding-bottom: 10px;
	margin-top: 5px;
	background: var(--ast-global-color-0);
	color: var(--ast-global-color-4);
	display: flex;
	align-items: center;
	gap: 5px;
}

.woocommerce-js ul.products li.product .ast-woo-product-category,
.woocommerce-page ul.products li.product .ast-woo-product-category {
	color: var(--ast-global-color-4);
    opacity: 1;
    font-weight: 500;
	font-size: .9em;
    line-height: 1.3em;
	display: none;
}

body.woocommerce .woocommerce-ordering,
body.woocommerce-page .woocommerce-ordering {
	margin-bottom: 10px;
	min-width: 220px;
}

body .woocommerce-pagination {
	padding: 20px 0px;
}

body.woocommerce .woocommerce-pagination ul.page-numbers li,
body.woocommerce-page .woocommerce-pagination ul.page-numbers li {
	border-radius: 50%;
}

/*--------------------------------------------------------------
# 4. WooCommerce: Shop Category Grid
--------------------------------------------------------------*/
body .shop-category-grid {
	display: block;
}

body .shop-category-grid ul.products {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin: 0;
}

/*
body .shop-category-grid ul.products::-webkit-scrollbar {
	display: none;
}
body .shop-category-grid ul.products {
	-ms-overflow-style: none;
	scrollbar-width: none;
}
*/

body .shop-category-grid ul.products li.product-category {
	width: auto !important;
	cursor: pointer;
	text-align: center;
	padding: 0px 15px;
	margin: 0;
	/* border-width: 1px; */
}

body .shop-category-grid ul.products li.product-category.active-product-cat {
	color: var(--ast-global-color-0);
	background: var(--ast-global-color-4);
	/* border-width: 1px; */
}

/* 
body .shop-category-grid ul.products li.product-category a {
	display: flex !important;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
}

body .shop-category-grid ul.products li.product-category a h2 {
	width: 100%;
	border-radius: 5px;
	background: var(--site-color-2);
} 

body .shop-category-grid ul.products li.product-category a:hover h2,
body .shop-category-grid ul.products li.product-category.active-product-cat a h2 {
	background: var(--site-color-1) !important;
}
*/

body .shop-category-grid ul.products li.product-category img {
	width: 60px;
	height: 60px;
	object-fit: cover;
	border-radius: 50%;
	margin-bottom: 8px;
	transition: transform 0.3s ease;
}

body .shop-category-grid ul.products li.product-category:hover img {
	transform: scale(1.1);
}

body .shop-category-grid ul.products li.product-category h2.woocommerce-loop-category__title {
	font-weight: 500;
	margin: 0px;
	padding: 0px;
	position: unset;
	background: transparent;
	transition: transform 0.3s ease;
	color: inherit;
	text-transform: none;
}

body .shop-category-grid ul.products li.product-category h2.woocommerce-loop-category__title a {
	color: inherit;
	text-decoration: none;
}

body .shop-category-grid ul.products li.product-category.active-product-cat h2.woocommerce-loop-category__title {
	font-weight: 700;
}

body .shop-category-grid ul.products li.product-category h2.woocommerce-loop-category__title .count {
	display: none;
}



/* ====== CART PAGE STYLING ====== */
.woocommerce-cart table.shop_table {
    border: none;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    overflow: hidden;
}

/* Table Headers */
.woocommerce-cart table.shop_table thead th {
    background: var(--ast-global-color-0); /* Yellow */
    color: var(--ast-global-color-4); /* Black */
    font-weight: 600;
    text-transform: uppercase;
    padding: 14px;
    border: none;
}

/* Table Rows */
.woocommerce-cart table.shop_table td {
    background: var(--ast-global-color-4);
    border-bottom: 1px solid #f1f1f1;
    padding: 14px;
    vertical-align: middle;
}

/* Product Image */
.woocommerce-cart table.shop_table .product-thumbnail img {
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Quantity Box */
.woocommerce .quantity input.qty {
    border: 2px solid var(--ast-global-color-0);
    border-radius: 10px;
    padding: 6px 10px;
    text-align: center;
    font-weight: 600;
    min-width: 60px;
}

/* Remove Button (X) */
.woocommerce a.remove {
    color: var(--ast-global-color-4) !important;
    background: var(--ast-global-color-0);
    border-radius: 50%;
    font-size: 14px;
    line-height: 16px;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}
.woocommerce a.remove:hover {
    background: var(--ast-global-color-4);
    color: var(--ast-global-color-0) !important;
}

/* Cart Totals Box */
.cart_totals {
    background: var(--ast-global-color-4);
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.cart_totals h2 {
    color: var(--ast-global-color-0);
    font-weight: 700;
    margin-bottom: 16px;
}
.cart_totals table th,
.cart_totals table td {
    padding: 12px 10px;
    border: none;
}
.cart_totals table tr {
    border-bottom: 1px solid #eee;
}

/* Buttons */
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	padding: 10px 20px !important;
	background: var(--ast-global-color-0);
    color: var(--ast-global-color-4);
	border: 1px solid var(--ast-global-color-0) !important;
	font-size: 18px;
	line-height: 20px;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	padding: 10px 20px !important;
    background: var(--ast-global-color-4);
    color: var(--ast-global-color-0);
	border: 1px solid var(--ast-global-color-4) !important;
	box-shadow: 0 0 0 1px var(--ast-global-color-0) inset !important;
}

/* Update Cart Button */
.woocommerce button[name="update_cart"] {
    background: var(--ast-global-color-4);
    color: var(--ast-global-color-0);
}
.woocommerce button[name="update_cart"]:hover {
    background: var(--ast-global-color-0);
    color: var(--ast-global-color-4);
}

/* Coupon Box */
.woocommerce-cart .coupon {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}
.woocommerce-cart .coupon input.input-text {
    flex: 1;
    border-radius: 8px;
    border: 2px solid #eee;
    padding: 12px;
}
.woocommerce-cart .coupon button {
    border-radius: 8px;
    background: var(--ast-global-color-0);
    color: var(--ast-global-color-4);
    font-weight: 600;
    transition: 0.3s;
    border: 2px solid var(--ast-global-color-0);
}
.woocommerce-cart .coupon button:hover {
    background: var(--ast-global-color-4);
    color: var(--ast-global-color-0);
	border: 1px solid var(--ast-global-color-4) !important;
}


td.product-remove svg {
    top: 4px;
    position: relative;
}

/*--------------------------------------------------------------
# 5. WooCommerce: Product Cards & Grid
--------------------------------------------------------------*/
.woocommerce ul.products,
.woocommerce-page ul.products {
	row-gap: 20px;
}

body div:not(.shop-category-grid) ul.products li.product:not(.product-category) {
	border-radius: 15px;
	margin: 0 !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
}

body div:not(.shop-category-grid) ul.products li.product:not(.product-category):hover {
	transform: translateY(-5px);
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
}

body div:not(.shop-category-grid) ul.products li.product:not(.product-category) .astra-shop-thumbnail-wrap {
	overflow: hidden;
	border-radius: 15px;
	border-bottom-left-radius: 0px;
	border-bottom-right-radius: 0px;
	height: 230px !important;
}

.woocommerce-js ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	margin-bottom: 0;
}

body div:not(.shop-category-grid) ul.products li.product:not(.product-category) img {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	height: 100%;
	width: 100%;
	margin: 0 auto;
	display: block;
	object-fit: cover;
}

body div:not(.shop-category-grid) ul.products li.product:not(.product-category):hover img {
	transform: scale(1.05);
}

body .products .product .woocommerce-loop-product__title {
	display: -webkit-box;
	display: box;
	-webkit-box-orient: vertical;
	-moz-box-orient: vertical;
	box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	height: auto;
	/* text-transform: none; */
}

body div:not(.shop-category-grid) ul.products li.product:not(.product-category) .astra-shop-summary-wrap {
	padding: 15px !important;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

.astra-shop-summary-inner-wrap {
	min-height: 70px;
	margin-bottom: 10px;
}

body div:not(.shop-category-grid) ul.products li.product:not(.product-category) .astra-shop-summary-wrap .astra-shop-summary-inner-wrap {
	width: calc(100% - 80px);
}

/* body div:not(.shop-category-grid) ul.products li.product:not(.product-category) .astra-shop-summary-wrap .product-details-right-side {
	min-width: 75px;
} */

/*--------------------------------------------------------------
# 6. WooCommerce: Add to Cart & Quantity Controls
--------------------------------------------------------------*/
.woocommerce-js ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
	margin-bottom: 0;
}

body .add-to-cart-wrapper {
	width: 100%;
}

body .add-to-cart-wrapper .add-to-cart-button {
	font-size: 14px !important;
	/* text-transform: uppercase; */
	width: 100% !important;
	border-radius: 10px !important;
	padding-top: 15px !important;
	padding-right: 13px !important;
	padding-bottom: 15px !important;
	padding-left: 13px !important;
	margin-top: 0px !important;
}

.add-to-cart-button.outofstock {

}

.add-to-cart-button.loading {
	animation: pulse 1.5s ease-in-out infinite;
}

.add-to-cart-button:focus {
	outline: 2px solid #4299e1;
	outline-offset: 2px;
}

form.ajax-add-to-cart {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
}

/* form.ajax-add-to-cart>* {
	max-width: 50%;
} */

.quantity-container {
	display: flex;
	align-items: center;
	border: 2px solid #e9ecef;
	border-radius: 10px;
	background-color: #f8f9fa;
	transition: all 0.2s ease;
	width: 100%;
}

.quantity-container button {
	cursor: pointer;
	color: var(--ast-global-color-4);
	background-color: var(--ast-global-color-0);
	transition: all 0.2s ease;
	font-weight: 600;
	border-radius: 50%;
	outline: none !important;
	border: 1px solid var(--ast-global-color-0);
	margin: 0 !important;
	width: 30px;
	height: 30px;
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
}

.quantity-container button:hover {
	background-color: var(--ast-global-color-4);
	color: var(--ast-global-color-0);
	border: 1px solid var(--ast-global-color-0);
	box-shadow: 0 0 0 1px var(--ast-global-color-0) inset;
}

.quantity-container button span {
	position: relative;
	top: -1px;
	line-height: 1;
}

/* .quantity-container button:focus {
	outline: 2px solid #4299e1;
	outline-offset: 2px;
} */

.quantity-container input.qty {
	padding: 0 !important;
	width: 100% !important;
	text-align: center;
	border: none !important;
	outline: none;
	font-weight: 600;
	margin: 0;
}

.quantity-container input.qty::-webkit-outer-spin-button,
.quantity-container input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.quantity-container input.qty[type=number] {
	-moz-appearance: textfield;
}

button.elementor-button.button {
    padding: 10px;
    width: fit-content;
    text-align: center;
    align-items: center;
    vertical-align: middle;
    align-self: center;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    margin-top: 0;
    align-self: anchor-center;
}

/*--------------------------------------------------------------
# 7. WooCommerce: My Account & Profile
--------------------------------------------------------------*/
body .woocommerce-MyAccount-navigation>ul {
	padding-left: 0px;
	padding-bottom: 20px;
}

body .profile-image-wrapper {
	display: block;
	position: relative;
	max-width: 100px;
	height: auto;
	overflow: hidden;
	padding: 5px;
}

body .profile-image-wrapper img {
	border-radius: 50%;
	width: 100%;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15);
}

body .profile-image-wrapper .remove_profile_image_link {
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	height: 100%;
	font-size: 40px;
	padding: 5px !important;
	margin: 0 !important;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: red;
	background: var(--ast-global-color-primary, var(--ast-global-color-5));
	opacity: 0;
	transform: scale(0.8);
	transition: opacity 0.3s ease, transform 0.3s ease;
	pointer-events: none;
}

body .profile-image-wrapper:hover .remove_profile_image_link {
	opacity: 0.9;
	transform: scale(1);
	pointer-events: auto;
}

/*--------------------------------------------------------------
# 8. Plugin Styles: Wishlist
--------------------------------------------------------------*/
body .tinv-wraper.tinv-wishlist.tinvwl-above_thumb-add-to-cart {
	left: unset;
	right: 1em;
	top: 1em;
	opacity: 0.7;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ast-global-color-4);
	background: var(--ast-global-color-primary, var(--ast-global-color-5));
	box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
}

/*
body .ast-select-options-trigger.ast-on-card-button {
	top: 3.5em;
}
*/

/*--------------------------------------------------------------
# 9. Custom Component: Sticky Cart Footer
--------------------------------------------------------------*/
.cart-info {
	position: fixed;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%) translateY(100px);
	min-width: 320px;
	max-width: 95vw;
	background: var(--ast-global-color-0);
	border-radius: 18px;
	box-shadow: 0 8px 32px rgba(76, 81, 255, 0.18), 0 1.5px 8px rgba(0, 0, 0, 0.10);
	padding: 1rem 1.5rem;
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s cubic-bezier(.4, 0, .2, 1), transform 0.4s cubic-bezier(.4, 0, .2, 1);
}

.cart-info:not(.sticky-visible) {
	opacity: 0;
	pointer-events: none;
	transform: translateX(-50%) translateY(100px);
}

.cart-info.sticky-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}

.cart-info h3 {
	margin: 0;
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	gap: 0;
	background: none;
	border: none;
	padding: 0;
}

.cart-info h3>span {
	padding: 0.2rem 0.4rem;
	border-radius: 8px;
	margin-left: 0.1rem;
}

.cart-info h3 * {
	font-size: 0.9rem !important;
	color: var(--ast-global-color-4) !important;
}

.cart-info .cart-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5em;
	height: 1.5em;
	margin-right: 0.3em;
	font-size: 1.2em;
	background: rgba(255, 255, 255, 0.12);
	border-radius: 50%;
}

.cart-info .cart-icon-products::before {
	content: '\1F6D2';
	/* ðŸ›’ */
}

.cart-info .cart-icon-sale::before {
	content: '\1F4B0';
	/* ðŸ’° */
}

.cart-info .cart-icon-rate::before {
	content: '\1F4B8';
	/* ðŸ’¸ */
}

.cart-redirection svg {
	color: var(--ast-global-color-4) !important;
}


/*--------------------------------------------------------------
# 10. Custom Component: Product Video & YouTube Modal
--------------------------------------------------------------*/
.product-video {
	text-align: -webkit-center;
	padding: 5px;
	transition: all 0.3s ease;
	border-radius: 10px;
}

.product-video:hover {
	transform: scale(1.05);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
	cursor: pointer;
}

div.video-icon-caption {
	font-size: 10px;
}

.product-video img {
	width: auto !important;
	height: 30px !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 0 !important;
}

.youtube-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	display: none;
	justify-content: center;
	align-items: center;
	background-color: rgba(0, 0, 0, 0.9);
	z-index: 9999;
	padding: 1rem;
	box-sizing: border-box;
	backdrop-filter: blur(8px);
}

.youtube-modal.show {
	display: flex;
	animation: modalFadeIn 0.3s ease;
}

.youtube-modal * {
	color: var(--ast-global-color-4);
}
.youtube-modal-content {
	position: relative;
	width: 90%;
	max-width: 900px;
	background: var(--ast-global-color-4);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
	animation: modalSlideIn 0.3s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	max-height: 90vh;
	min-height: 0;
	overflow: visible;
	margin: 0 auto;
}

.youtube-modal-content.shorts {
	max-width: 360px !important;
}

.youtube-modal-header {
	background: var(--ast-global-color-0);
	padding: 1.5rem;
	font-size: 1.25rem;
	font-weight: 600;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.youtube-modal-close {
	background: transparent;
	border: none;
	cursor: pointer;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	backdrop-filter: blur(4px);
	margin: 0;
	color: var(--ast-global-color-4);
	box-shadow: none;
}

.youtube-modal-close:hover {
	background: rgba(255, 255, 255, 0.3);
	transform: scale(1.1);
}

.youtube-modal-close:focus {
	outline: 2px solid #4299e1;
	outline-offset: 2px;
}

.youtube-modal-body {
	background: #000;
	position: relative;
	padding-top: 56.25%;
	/* 16:9 for regular videos */
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	border-radius: 0 0 16px 16px;
	overflow: hidden;
	box-shadow: none;
	border: none;
	display: block;
}

.youtube-modal-body.shorts {
	padding-top: 177.78%;
	/* 9:16 for Shorts */
	max-width: 360px;
	margin: 0 auto;
	border-radius: 32px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
	background: #111;
	border: 8px solid var(--ast-global-color-4);
	position: relative;
	padding-top: 0;
	width: auto;
	aspect-ratio: 9/16;
	height: 80vh;
	min-height: 320px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.youtube-modal-content .youtube-modal-body.shorts {
	width: 100%;
	max-width: 360px;
	margin: 0 auto;
}

.youtube-modal-body iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
	background: #000;
}

/* .youtube-modal-body.shorts iframe {
	position: static;
	border-radius: 24px;
} */

/* Overlay background */
#product-category-modal-overlay {
    position: fixed;
    left: 0; bottom: 0; right: 0; top: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    justify-content: center;
    align-items: flex-end;
    z-index: 9999;
    transition: opacity 0.3s ease;
}

/* Modal content default: mobile slide from bottom */
#product-category-modal-content {
    background: var(--ast-global-color-4);
    width: 100%;
    max-height: 80%;
    overflow-y: auto;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    padding: 20px;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

/* Show modal: slide up on mobile */
#product-category-modal-overlay.show #product-category-modal-content {
    transform: translateY(0);
}

/* Category list styling */
#product-category-modal-content ul {
    padding: 0px 0px 0px 20px;
    margin: 0;
}
#product-category-modal-content ul li {
    margin-bottom: 15px;
}
#product-category-modal-content ul li a {
    text-decoration: none;
    /* color: var(--ast-global-color-4); */
    font-weight: 500;
}
#product-category-modal-content ul li a:hover {
    /* color: var(--ast-global-color-4); */
}

/* Close button */
#product-category-modal-close {
    margin-top: 20px;
    display: block;
    width: 100%;
}

.astra-shop-thumbnail-wrap:hover .ast-on-card-button:not(.ast-onsale-card) {
	display: none;
}

.ast-header-account-wrap .ast-header-account-type-avatar .avatar {
	width: 40px;
}



/* .cart-column-for-mobile,
.cart-column-for-mobile::before {
	display: none !important;
} */

.cart-column-for-mobile-wrap .mobile-only {
	display: none;
}

/*--------------------------------------------------------------
# 11. Keyframe Animations
--------------------------------------------------------------*/
@keyframes modalFadeIn {
	from {
		opacity: 0;
		transform: scale(0.9);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes modalSlideIn {
	from {
		transform: translateY(50px);
		opacity: 0;
	}

	to {
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes pulse {

	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0.5;
	}
}

/*--------------------------------------------------------------
# 12. Barcode Scanner Modal Styles
--------------------------------------------------------------*/
.barcode-scanner-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.9);
	z-index: 9999;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1rem;
	box-sizing: border-box;
	backdrop-filter: blur(8px);
}

.barcode-scanner-modal-content {
	position: relative;
	width: 90%;
	max-width: 600px;
	background: var(--ast-global-color-4);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
	animation: modalSlideIn 0.3s ease;
	display: flex;
	flex-direction: column;
	max-height: 90vh;
}

.barcode-scanner-header {
	background: var(--ast-global-color-0);
	padding: 1.5rem;
	font-size: 1.25rem;
	font-weight: 600;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.barcode-scanner-title {
	margin: 0;
	color: var(--ast-global-color-4);
}

.barcode-scanner-close {
	background: transparent;
	border: none;
	cursor: pointer;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
	color: var(--ast-global-color-4);
	font-size: 24px;
	line-height: 1;
}

.barcode-scanner-close:hover {
	background: rgba(255, 255, 255, 0.3);
	transform: scale(1.1);
}

.barcode-scanner-body {
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.scanner-container {
	position: relative;
	width: 100%;
	background: #000;
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 4/3;
}

.scanner-video-container {
	position: relative;
	width: 100%;
	height: 100%;
}

#scanner-video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.scanner-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.scanner-frame {
	width: 80%;
	height: 40%;
	border: 3px solid var(--ast-global-color-0);
	border-radius: 12px;
	position: relative;
	box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5);
}

.scanner-frame::before,
.scanner-frame::after {
	content: '';
	position: absolute;
	width: 20px;
	height: 20px;
	border: 3px solid var(--ast-global-color-0);
}

.scanner-frame::before {
	top: -3px;
	left: -3px;
	border-right: none;
	border-bottom: none;
}

.scanner-frame::after {
	bottom: -3px;
	right: -3px;
	border-left: none;
	border-top: none;
}

.scanner-instructions {
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	text-align: center;
	color: var(--ast-global-color-4);
	background: rgba(0, 0, 0, 0.7);
	padding: 10px 20px;
	border-radius: 20px;
	backdrop-filter: blur(10px);
}

.scanner-instructions p {
	margin: 5px 0;
	font-size: 14px;
}

.scanner-status {
	font-weight: 600;
	color: var(--ast-global-color-0) !important;
}

.scanner-controls {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
}

.scanner-button {
	padding: 12px 24px !important;
	border-radius: 8px !important;
	font-weight: 600;
	transition: all 0.3s ease;
	min-width: 120px;
}

.scanner-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Loading overlay */
.barcode-scanner-loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.8);
	z-index: 10000;
	display: flex;
	justify-content: center;
	align-items: center;
	backdrop-filter: blur(8px);
}

.loading-content {
	text-align: center;
	color: var(--ast-global-color-4);
	background: var(--ast-global-color-4);
	padding: 2rem;
	border-radius: 16px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
}

.loading-spinner {
	width: 40px;
	height: 40px;
	border: 4px solid #f3f3f3;
	border-top: 4px solid var(--ast-global-color-0);
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin: 0 auto 1rem;
}

.loading-content p {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--ast-global-color-0);
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Body class for modal open */
body.barcode-scanner-open {
	overflow: hidden;
}

.cc-compass {
	display: none;
}

.cc-product-thumb img,
.woocommerce #content table.cart img,
.woocommerce table.cart img,
.woocommerce-page #content table.cart img,
.woocommerce-page table.cart img {
	aspect-ratio: 1/1;
	object-fit: cover;
}

.woocommerce-billing-fields__field-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.woocommerce-additional-fields__field-wrapper > p {
	display: grid;
    grid-template-columns: 1fr;
	gap: 5px;
}

#customer_details h3:not(.elementor-widget-woocommerce-checkout-page h3) {
	margin-bottom: 10px;
}


.woocommerce-additional-fields__field-wrapper > p label {
	margin-top: 0px;
}

.woocommerce-additional-fields__field-wrapper > p textarea {
	min-height: 100px !important;
	max-height: 200px !important;
	width: 100% !important;
}

.woocommerce-billing-fields__field-wrapper > p {
    width: 100% !important;
    display: grid;
    margin: 0 !important;
    gap: 1px;
}

.cc-item-content-bottom-left,
.cc-nav li:last-child {
	display: none !important;
}

.cc-cart-actions a.cc-button-primary {
	color: var(--ast-global-color-4) !important;
	background-color: var(--ast-global-color-0) !important;
	border: 1px solid var(--ast-global-color-0) !important;
	border-color: var(--ast-global-color-0) !important;
	box-shadow: 0 0 0 1px var(--ast-global-color-0) inset !important;
}

.cc-cart-actions a.cc-button-primary:hover {
	color: var(--ast-global-color-0) !important;
	background-color: var(--ast-global-color-4) !important;
	border-color: var(--ast-global-color-0) !important;
	box-shadow: 0 0 0 1px var(--ast-global-color-4) inset !important;
}

.cc-cart-actions a.cc-button-primary:hover svg * {
	fill: var(--ast-global-color-0) !important;
	color: var(--ast-global-color-0) !important;
}

.cc_sfl_btn a.save_for_later_btn:hover, .cc_move_to_cart_btn a.button:hover, .cc_item_quantity_update:hover {
	background-color: var(--ast-global-color-0) !important;
	color: var(--ast-global-color-4) !important;
}

.cc-cart-product .cc-qty-disabled,
.cc-cart-product .cc-qty-disabled:hover {
	cursor: not-allowed !important;
}

.cc_item_title, .cc_item_total_price {
	color: var(--ast-global-color-0) !important;
	font-weight: 700 !important;
}

.cc-coupon-form .cc-coupon-btn {
	color: var(--ast-global-color-0) !important;
	background-color: var(--ast-global-color-4) !important;
	border-color: var(--ast-global-color-0) !important;
	/* box-shadow: 0 0 0 1px var(--ast-global-color-0) inset !important; */
}

.cc-coupon-form .cc-coupon-btn:hover {
	color: var(--ast-global-color-4) !important;
	background-color: var(--ast-global-color-0) !important;
	border-color: var(--ast-global-color-4) !important;
	/* box-shadow: 0 0 0 1px var(--ast-global-color-4) inset !important; */
}

.ast-header-account {
	display: none !important;
}


#delivery-address-fields {
	display: block;
	width: 100%;
}

/* Full width fields */
#delivery-address-fields .form-row-wide {
	width: 100%;
	display: block;
}

/* Half width fields (city + postcode) */
#delivery-address-fields .form-row-first,
#delivery-address-fields .form-row-last {
	width: 48%;
	display: inline-block;
	vertical-align: top;
}

/* Small gap between halves */
#delivery-address-fields .form-row-first {
	margin-right: 4%;
}

/* Input styles */
#delivery-address-fields input.input-text {
	width: 100%;	
}

/* Responsive styles for barcode scanner */
@media (max-width: 768px) {
	
	.cart-info:not(.sticky-visible) {
		pointer-events: auto;
	}
	
	.barcode-scanner-modal-content {
		width: 95%;
		max-width: none;
		margin: 5% auto;
	}

	.barcode-scanner-header {
		padding: 1rem;
		font-size: 1rem;
	}

	.barcode-scanner-body {
		padding: 1rem;
	}

	.scanner-controls {
		flex-direction: column;
		align-items: center;
	}

	.scanner-button {
		width: 100%;
		max-width: 200px;
	}

	.scanner-instructions {
		bottom: 10px;
		padding: 8px 16px;
	}

	.scanner-instructions p {
		font-size: 12px;
	}
}

@media (max-width: 600px) {
	.woocommerce-billing-fields__field-wrapper {
		grid-template-columns: 1fr;
	}
	.woocommerce-billing-fields__field-wrapper label {
		margin-top: 5px;
	}
	#delivery-address-fields .form-row-first,
	#delivery-address-fields .form-row-last {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.barcode-scanner-modal {
		padding: 0.5rem;
	}

	.barcode-scanner-modal-content {
		width: 100%;
		margin: 0;
		border-radius: 0;
		max-height: 100vh;
	}

	.scanner-frame {
		width: 90%;
		height: 50%;
	}

	.loading-content {
		padding: 1.5rem;
		margin: 1rem;
	}
}

/*--------------------------------------------------------------
# 13. Responsive Styles (Media Queries)
--------------------------------------------------------------*/
/* body.ast-header-break-point #ast-mobile-header {
	display: none;
} */

body .footer-widget-area[data-section="sidebar-widgets-footer-widget-2"]>section>p {
	display: none;
	padding-bottom: 20px;
}

.site-footer-section>* {
	margin-bottom: 0px;
}


.site-primary-footer-wrap {
	padding-left: 20px;
	padding-right: 20px;
}

.custom-delivery-note {
	color: #808285;
}
/* 
tr.woocommerce-shipping-totals.shipping {
	display: none;
} */
/* 
@media (max-width: 1366px) {
	.ast-container .woocommerce ul.products:not(.elementor-grid), .woocommerce-page ul.products:not(.elementor-grid), .woocommerce.tablet-columns-2 ul.products:not(.elementor-grid) {
		grid-template-columns: repeat(3,1fr);
	}
}

@media (max-width: 921px) {
	.ast-container .woocommerce ul.products:not(.elementor-grid), .woocommerce-page ul.products:not(.elementor-grid), .woocommerce.tablet-columns-2 ul.products:not(.elementor-grid) {
		grid-template-columns: repeat(2,1fr);
	}
} */

.cart-product-quantity {
	max-width: 125px;
}

form.woocommerce-order-search-form {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: center;
}

form.woocommerce-order-search-for input[type="text"] {
    margin-top: 0px;
}

@media (max-width: 921px) {
	.woocommerce-cart table.shop_table,
	.cart_totals {
		box-shadow: none;
		border: 1px solid var(--ast-border-color);
		border-radius: 15px !important;
		overflow: hidden;
	}

	.woocommerce-cart table.shop_table td {
		border: none;
        border-bottom: 1px solid var(--ast-border-color);
	}

	.woocommerce-cart table.shop_table td:last-child {
		border-bottom: none;
	}

	.cart-column-for-mobile-wrap * {
		font-weight: 600;
		font-size: 1.05rem !important
	}

	.cart-product-quantity {
		max-width: 150px;
	}

	.woocommerce table.shop_table_responsive tr td.product-quantity::before,
	.woocommerce-page table.shop_table_responsive tr td.product-quantity::before,
	.woocommerce-cart-form tr td.product-thumbnail,
	.woocommerce-cart-form tr td.product-name,
	.woocommerce-cart-form tr td.product-remove,
	.woocommerce-cart-form tr td.product-price,
	/* .woocommerce-cart-form tr td.product-quantity, */
	.woocommerce-cart-form tr td.product-subtotal {
		display: none !important;
	}

	.woocommerce-cart table.shop_table td {
		padding: 10px;
	}

	.cart-column-for-mobile-wrap {
		position: relative;
	}

	.cart-column-for-mobile-wrap-for-remove-link.mobile-only {
		position: absolute;
		top: 0;
		right: 0;
	}

	.cart-column-for-mobile-wrap {
		text-align: left;
	}

	.cart-column-for-mobile-wrap .mobile-only {
		display: block;
	}

	.cart-column-for-mobile-inner-wrap {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 10px;
	}

	.cart-column-for-mobile-inner-wrap .cart-column-for-mobile-inner-wrap-column-left,
	.cart-column-for-mobile-inner-wrap .cart-column-for-mobile-inner-wrap-column-left .cart-column-for-mobile-inner-wrap-column-left-image,
	.cart-column-for-mobile-inner-wrap .cart-column-for-mobile-inner-wrap-column-left .cart-column-for-mobile-inner-wrap-column-left-image img {
		width: 80px !important;
	}

	.cart-column-for-mobile-inner-wrap .cart-column-for-mobile-inner-wrap-column-left .cart-column-for-mobile-inner-wrap-column-left-image img {
		border-radius: 15px;
		padding-top: 5px;
	}

	.cart-column-for-mobile-inner-wrap-column.cart-column-for-mobile-inner-wrap-column-middle {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 5px;
	}

	.cart-column-for-mobile-inner-wrap-column.cart-column-for-mobile-inner-wrap-column-right {
		align-self: center;
	}

	.cart-product-quantity .quantity input {
		height: 30px;
		min-height: 30px !important;
	}

	.cart-product-quantity .quantity input[type="number"] {
		text-align: center;
	}

	.cart-product-quantity .quantity-container button {
		height: 25px;
		width: 25px;
	}

	.cart-product-quantity .quantity-container .quantity {
		width: 100%;
	}	
	.ast-mobile-header-wrap .ast-button-wrap .menu-toggle.main-header-menu-toggle {
		display: none;
	}
}

@media (max-width: 900px) {
	.youtube-modal-content {
		max-width: 98vw;
	}

	.youtube-modal-body.shorts {
		max-width: 90vw;
		height: 70vw;
		min-height: 240px;
		border-radius: 16px;
		border-width: 4px;
	}
}

/* Desktop: slide from right */
@media(min-width:769px){
    #product-category-modal-overlay {
        justify-content: flex-end;
        align-items: stretch;
    }

    #product-category-modal-content {
        width: 400px;
        max-height: 100%;
        border-radius: 0;
        transform: translateX(100%);
    }

    #product-category-modal-overlay.show #product-category-modal-content {
        transform: translateX(0);
    }
}

@media (max-width: 768px) {
	
	.cart-info {
		padding: 0.75rem 1rem;
	}

	.youtube-modal-content {
		width: 95%;
		max-width: none;
		margin: 5% auto;
	}

	.youtube-modal-body {
		padding-top: 56.25%;
	}

	.youtube-modal-body.shorts {
		padding-top: 177.78%;
	}
	
	#product-category-modal-content {
		padding-bottom: 30px;
	}

	body div:not(.shop-category-grid) ul.products li.product:not(.product-category) .astra-shop-thumbnail-wrap {
		height: auto !important;
		aspect-ratio: 4 / 3;
	}
}

@media (max-width: 544px) {
	/* .ast-container .woocommerce ul.products:not(.elementor-grid), .woocommerce-page ul.products:not(.elementor-grid), .woocommerce.tablet-columns-2 ul.products:not(.elementor-grid) {
		grid-template-columns: repeat(2,1fr);
	} */

	body div:not(.shop-category-grid) ul.products li.product:not(.product-category) .astra-shop-summary-wrap {
		position: unset;
		flex-direction: column;
		padding: 10px !important;
	}

	.product-video img {
		height: 20px !important;
	}

	div.video-icon-caption {
		display: none;
	}

	.product-details-right-side {
		position: absolute;
		top: 1.2em;
		right: 1em;
	}

	.astra-shop-summary-inner-wrap {
		min-height: auto;
	}

	body div:not(.shop-category-grid) ul.products li.product:not(.product-category) .astra-shop-summary-wrap .astra-shop-summary-inner-wrap {
		width: 100%;
	}

	form.ajax-add-to-cart {
		flex-wrap: wrap;
	}

	/* form.ajax-add-to-cart>* {
		width: 100%;
		max-width: 100%;
	} */

	body:not(.home) .site-content {
		padding-top: 20px;
	}

	body .custom-profile-section-header {
		display: block !important;
		padding: 20px 0px 20px 0px;
		border-bottom: 1px solid var(--ast-border-color);
	}

	body .custom-profile-section-header .custom-profile-section-header-inner-wrap {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	body .custom-profile-section-header .custom-profile-section-header-inner-wrap .greeting-user-message {
		display: flex;
		flex-direction: column;
		align-items: left;
	}

	body .custom-profile-section-header .custom-profile-section-header-inner-wrap .greeting-user-message h2 {
		margin-bottom: 0.1em;
	}

	body .custom-profile-section-header .custom-profile-section-header-inner-wrap .profile-image .profile-image-wrapper {
		max-width: 55px;
	}

	body ul.products:not(.shop-category-grid) li.product .astra-shop-summary-wrap {
		padding: 15px !important;
	}

	.quantity-container button {
		margin: 0px 5px !important;
	}

	.cart-info {
		gap: 0.5rem;
		padding: 0 0;
		min-width: 0;
		border-radius: 12px;
		position: relative;
		opacity: 1 !important;
		background: inherit;
		box-shadow: none;
		transform: none !important;
		left: unset;
		bottom: unset;
		padding-bottom: 20px;
	}

	.cart-info h3 {
		font-size: 0.95rem;
	}

	.cart-info span {
		font-size: 1rem;
	}

	/* Footer Mobile Nav */
	body .site-footer {
		width: 100%;
		padding-bottom: 130px;
	}

	.ast-header-break-point .footer-widget-area[data-section="sidebar-widgets-footer-widget-2"]>section>p {
		display: none;
		padding-bottom: 20px;
	}

	body.ast-header-break-point .site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
		margin-left: auto;
		margin-right: auto;
		padding: 20px;
	}

	.site-footer-section>* {
		margin-bottom: 0px;
	}

	body .site-primary-footer-wrap[data-section="section-primary-footer-builder"].ast-footer-row-mobile-stack .site-footer-section {
		margin-bottom: 0px;
	}

	body.ast-header-break-point .ast-footer-copyright.ast-builder-layout-element {
		display: none;
	}

	body .site-footer .site-below-footer-wrap {
		position: fixed;
		bottom: 0;
		top: auto;
		width: 100%;
		z-index: 9999;
	}

	.site-footer .site-below-footer-wrap[data-section="section-below-footer-builder"].ast-footer-row-mobile-stack .site-footer-section {
		margin-bottom: 0;
	}

	.site-footer .site-below-footer-wrap[data-section="section-below-footer-builder"] .ast-builder-grid-row {
		min-height: unset;
	}

	.site-footer #astra-footer-menu {
		display: flex;
		gap: 10px;
		align-items: center;
		vertical-align: middle;
		flex-wrap: nowrap;
	}

	.site-footer #astra-footer-menu li a {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
	}

	.site-footer #astra-footer-menu li a i {
		margin-right: 2px;
	}

	body .shop-category-grid ul.products {
		gap: 10px;
		justify-content: flex-start;
	}

	/* body .shop-category-grid ul.products li.product-category {
		flex: 0 0 calc(50% - 10px);
        max-width: calc(50% - 10px);
	} */
}

@media (max-width: 480px) {
	.category-filter-btn {
		width: 45%;
		padding: 14px 20px 14px 20px !important;
	}

	.youtube-modal-content {
		width: 100%;
		margin: 0;
		border-radius: 0;
		max-height: 100vh;
	}

	.youtube-modal-header {
		padding: 1rem;
	}

	.youtube-modal-title {
		font-size: 1rem;
	}

	.youtube-modal-close {
		width: 35px;
		height: 35px;
		font-size: 1.2rem;
	}

	#astra-footer-menu .menu-item > a {
		padding-left: 12px;
		padding-right: 12px;
	}
}

@media (max-width: 390px) {
	#astra-footer-menu .menu-item > a {
		padding-left: 6px;
		padding-right: 6px;
		font-size: 90%;
	}
}

/*--------------------------------------------------------------
# 14. Order Tracking Page Styles
--------------------------------------------------------------*/
.order-tracking-page {
	max-width: 800px;
	margin: 0 auto;
	padding: 40px 20px;
}

.order-tracking-header {
	text-align: center;
	margin-bottom: 40px;
}

.order-tracking-title {
	color: var(--ast-global-color-0);
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 10px;
}

.order-tracking-subtitle {
	color: #666;
	font-size: 1.1rem;
	margin: 0;
}

.order-tracking-form-container {
	background: #fff;
	padding: 30px;
	border-radius: 15px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	margin-bottom: 30px;
}

.order-tracking-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.form-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.form-label {
	font-weight: 600;
	color: var(--ast-global-color-0);
	font-size: 1rem;
	margin-bottom: 8px;
}

.form-input {
	padding: 15px 20px;
	border: 2px solid #e9ecef;
	border-radius: 10px;
	font-size: 1rem;
	transition: border-color 0.3s ease;
	flex: 1;
	min-width: 0;
}

.form-input:focus {
	outline: none;
	border-color: var(--ast-global-color-0);
	box-shadow: 0 0 0 3px rgba(104, 12, 147, 0.1);
}

.track-button {
	background: var(--ast-global-color-4);
	color: var(--ast-global-color-0);
	border: 2px solid var(--ast-global-color-0);
	padding: 15px 30px;
	border-radius: 10px;
	font-size: 1.1rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	min-width: 160px;
	white-space: nowrap;
	box-shadow: 0 0 0 1px var(--ast-global-color-0) inset;
}

/* Form row layout for inline form */
.form-row {
	display: flex;
	gap: 15px;
	align-items: flex-end;
}

.form-row .form-group {
	flex: 1;
	margin-bottom: 0;
}

.form-row .track-button {
	margin-bottom: 0;
}

.track-button:hover {
	background: var(--ast-global-color-0);
	color: var(--ast-global-color-4);
	box-shadow: none;
}

.track-button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.order-results {
	background: #fff;
	border-radius: 15px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	overflow: hidden;
}

.order-results-header {
	background: var(--ast-global-color-0);
	color: var(--ast-global-color-4);
	padding: 20px;
	text-align: center;
}

.order-results-title {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
}

.orders-table {
	width: 100%;
	border-collapse: collapse;
}

.orders-table th {
	background: #f8f9fa;
	color: var(--ast-global-color-0);
	padding: 15px;
	text-align: left;
	font-weight: 600;
	border-bottom: 2px solid #e9ecef;
}

.orders-table td {
	padding: 15px;
	border-bottom: 1px solid #e9ecef;
	vertical-align: middle;
}

.orders-table tr:hover {
	background: #f8f9fa;
}

.order-number {
	color: var(--ast-global-color-0);
	font-weight: 600;
}

.order-status {
	padding: 6px 12px;
	border-radius: 20px;
	font-size: 0.9rem;
	font-weight: 600;
	text-transform: uppercase;
}

.order-status.completed {
	background: #d4edda;
	color: #155724;
}

.order-status.processing {
	background: #fff3cd;
	color: #856404;
}

.order-status.pending {
	background: #f8d7da;
	color: #721c24;
}

.order-status.cancelled {
	background: #f5c6cb;
	color: #721c24;
}

.order-status.on-hold {
	background: #d1ecf1;
	color: #0c5460;
}

.no-orders-found {
	background: #fff;
	border-radius: 15px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	padding: 40px;
	text-align: center;
}

.no-orders-message h3 {
	color: var(--ast-global-color-0);
	margin-bottom: 15px;
}

.no-orders-message p {
	color: #666;
	margin: 0;
}

.loading-spinner {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #f3f3f3;
	border-top: 2px solid var(--ast-global-color-0);
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin-right: 10px;
}

button.track-button {
    background-color: var(--site-color-1) !important;
	color: #fff !important;
}

/* Download PDF Button Styles */
.download-pdf-btn {
	background: #28a745;
	color: #fff;
	border: none;
	padding: 8px 16px;
	border-radius: 6px;
	font-size: 0.9rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
	display: inline-block;
}

.download-pdf-btn:hover {
    background: #218838;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: unset !important;
    border: none !important;
}

.download-pdf-btn:active {
	transform: translateY(0);
	box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

.download-pdf-btn:disabled {
	opacity: 0.7;
	cursor: not-allowed;
	background: #6c757d;
}

.download-pdf-btn:disabled:hover {
	background: #6c757d;
	transform: none;
	box-shadow: none;
}

/* Order Tracking Page Responsive Styles */
@media (max-width: 768px) {
	.order-tracking-page {
		padding: 20px 10px;
	}
	
	.order-tracking-title {
		font-size: 2rem;
	}
	
	.order-tracking-form-container {
		padding: 20px;
	}
	
	.orders-table {
		font-size: 0.9rem;
	}
	
	.orders-table th,
	.orders-table td {
		padding: 10px 8px;
	}
	
	.download-pdf-btn {
		padding: 6px 12px;
		font-size: 0.8rem;
	}
	
	/* Mobile: Stack form elements vertically */
	.form-row {
		flex-direction: column;
		gap: 15px;
	}
	
	.form-row .form-group {
		width: 100%;
	}
	
	.form-row .track-button {
		width: 100%;
		min-width: auto;
	}
}

@media (max-width: 480px) {
	.order-tracking-form-container {
		padding: 15px;
	}
	
	.form-input {
		padding: 12px 15px;
		font-size: 0.95rem;
	}
	
	.track-button {
		padding: 12px 20px;
		font-size: 1rem;
	}
	
	.form-label {
		font-size: 0.95rem;
	}
}

