/*
	Theme Name: Manufacturer Child - QPack India
	Theme URI: https://qpackindia.com
	Description: Child theme of Manufacturer for QPack India — packaging closures & caps.
	Author: QPack India
	Author URI: https://qpackindia.com
	Template: manufacturer
	Version: 1.0.0
	License: GNU General Public License v2 or later
	License URI: https://www.gnu.org/licenses/gpl-2.0.html
	Text Domain: manufacturer-child
*/

:root {
	--qp-primary: #FF6B00;
	--qp-primary-hover: #E55F00;
	--qp-primary-light: #FF8C33;
	--qp-primary-lighter: #FFF3E8;
	--qp-secondary: #2D2D2D;
	--qp-secondary-hover: #1A1A1A;
	--qp-text: #1B1B1B;
	--qp-text-light: #555555;
	--qp-text-muted: #888888;
	--qp-border: #E0E0E0;
	--qp-border-light: #F0F0F0;
	--qp-bg-light: #FAFAFA;
	--qp-bg-white: #FFFFFF;
	--qp-radius: 6px;
	--qp-radius-lg: 12px;
	--qp-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	--qp-shadow-hover: 0 12px 32px rgba(0, 0, 0, 0.15);
	--qp-transition: all 0.3s ease;
}

   2. Typography â€” Add Montserrat for Headings
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.man_product_cont h3,
.products_grid_type .man_product_cont h3 {
	font-family: 'Montserrat', 'Roboto', sans-serif;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* --------------------------------------------------------------------------
   3. Global Color Override â€” #566dfb â†’ #FF6B00
   -------------------------------------------------------------------------- */

/* Links & text accents */
a:hover,
.man_default_page .man_navigation .current,
.woocommerce .star-rating span::before,
.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
	color: var(--qp-primary) !important;
}

/* Backgrounds */
.page-links a:hover,
.man_page_default .man_product_cont .button,
.man_page_default .man_product_cont .added_to_cart,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--qp-primary) !important;
	color: #fff !important;
}

/* Hover states */
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--qp-primary-hover) !important;
	color: #fff !important;
}

/* Borders that used the old blue */
.woocommerce-info {
	border-top-color: var(--qp-primary);
}

.woocommerce-message {
	border-top-color: #28A745;
}

/* --------------------------------------------------------------------------
   4. Buttons â€” Manufacturer Theme Overrides
   -------------------------------------------------------------------------- */
.man_product_cont_btn a,
.man_button_round .products .man_product_photo .added_to_cart,
.man_button_round .added_to_cart,
.man_button_square .products .man_product_photo .added_to_cart,
.man_button_square .added_to_cart {
	background-color: var(--qp-primary) !important;
	color: #fff !important;
	transition: var(--qp-transition);
}

.man_product_cont_btn a:hover {
	background-color: var(--qp-primary-hover) !important;
}

/* Products loop add-to-cart */
.products .man_product_photo .button,
.products .product:hover .man_product_photo .button,
.products .man_product_photo .added_to_cart,
.products .product:hover .man_product_photo .added_to_cart {
	background-color: var(--qp-primary) !important;
	color: #fff !important;
}

.products .man_product_photo .button:hover,
.products .man_product_photo .added_to_cart:hover {
	background-color: var(--qp-primary-hover) !important;
}

/* Single product add to cart */
.woocommerce div.product form.cart .single_add_to_cart_button {
	background-color: var(--qp-primary) !important;
	color: #fff !important;
	font-family: 'Montserrat', 'Roboto', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 14px 32px;
	border-radius: var(--qp-radius);
	transition: var(--qp-transition);
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background-color: var(--qp-primary-hover) !important;
	transform: translateY(-1px);
	box-shadow: var(--qp-shadow);
}

/* --------------------------------------------------------------------------
   5. Product Cards - QPack India Grid
   -------------------------------------------------------------------------- */

/* Card container */
.qp-product-card {
	background: var(--qp-bg-white);
	border: 1px solid var(--qp-border-light);
	border-radius: var(--qp-radius-lg);
	overflow: hidden;
	transition: var(--qp-transition);
	text-align: center;
	display: flex;
	flex-direction: column;
}

.qp-product-card:hover {
	border-color: var(--qp-border);
	box-shadow: var(--qp-shadow-hover);
	transform: translateY(-4px);
}

/* Product image */
.qp-product-card__image {
	display: block;
	overflow: hidden;
	background: #f8f8f8;
	aspect-ratio: 1 / 1;
}

.qp-product-card__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: var(--qp-transition);
	padding: 16px;
}

.qp-product-card:hover .qp-product-card__image img {
	transform: scale(1.05);
}

/* Card content */
.qp-product-card__content {
	padding: 16px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

/* Product title */
.qp-product-card__title {
	font-family: 'Montserrat', 'Roboto', sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.4;
	color: var(--qp-secondary) !important;
	display: block;
	margin-bottom: 8px;
	min-height: 40px;
	text-align: left;
}

.qp-product-card__title:hover {
	color: var(--qp-primary) !important;
}

/* Product price */
.qp-product-card__price {
	color: var(--qp-primary);
	font-weight: 700;
	font-size: 16px;
	margin-bottom: 12px;
	text-align: left;
}

.qp-product-card__price del {
	color: var(--qp-text-muted);
	font-size: 13px;
	font-weight: 400;
}

.qp-product-card__price ins {
	text-decoration: none;
}

/* Add to Cart button */
.qp-product-card__button {
	margin-top: auto;
}

.qp-product-card__button .button,
.qp-product-card__button .add_to_cart_button,
.qp-product-card__button a {
	display: block;
	width: 100%;
	background-color: var(--qp-primary) !important;
	color: #fff !important;
	font-family: 'Montserrat', 'Roboto', sans-serif;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 12px 16px;
	border: none;
	border-radius: var(--qp-radius);
	text-align: center;
	transition: var(--qp-transition);
	cursor: pointer;
	box-shadow: none;
}

.qp-product-card__button .button:hover,
.qp-product-card__button .add_to_cart_button:hover,
.qp-product-card__button a:hover {
	background-color: var(--qp-primary-hover) !important;
	transform: none;
}

/* Sale badge */
.woocommerce span.onsale,
.products .onsale {
	background-color: var(--qp-primary) !important;
	color: #fff !important;
	font-weight: 700;
	border-radius: var(--qp-radius);
}

/* Grid layout - auto-fit columns based on available width */
.stm-products-main.grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
}

.stm-products-main.grid .product {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

@media (max-width: 767px) {
	.stm-products-main.grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.qp-product-card__image img {
		padding: 10px;
	}

	.qp-product-card__content {
		padding: 12px;
	}

	.qp-product-card__title {
		font-size: 12px;
		min-height: 34px;
	}

	.qp-product-card__button .button,
	.qp-product-card__button a {
		font-size: 11px;
		padding: 10px 12px;
	}
}

@media (max-width: 480px) {
	.stm-products-main.grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}
}

/* --------------------------------------------------------------------------
   6. Product Archive / Shop Page
   -------------------------------------------------------------------------- */

/* Archive page header */
.woocommerce-products-header {
	margin-bottom: 24px;
}

.woocommerce-products-header__title {
	font-family: 'Montserrat', 'Roboto', sans-serif;
	font-size: 32px;
	font-weight: 800;
	color: var(--qp-secondary);
}

/* Sorting & result count bar */
.woocommerce .woocommerce-ordering select {
	border: 2px solid var(--qp-border);
	border-radius: var(--qp-radius);
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 500;
}

.woocommerce .woocommerce-result-count {
	font-size: 13px;
	color: var(--qp-text-muted);
}

/* Grid/List view toggle */
.man_page_default .man_views_type a.active,
.man_views_type a:hover {
	color: var(--qp-primary) !important;
}

/* Pagination */
.man_navigation .current,
.woocommerce nav.woocommerce-pagination ul li span.current {
	color: var(--qp-primary) !important;
}

.man_navigation span:after {
	background: var(--qp-primary) !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--qp-primary-lighter);
	color: var(--qp-primary);
}

/* --------------------------------------------------------------------------
   7. Sidebar / Filters
   -------------------------------------------------------------------------- */
.man_sidebar_col .widget-title,
.man_sidebar_col .widgettitle,
.man_sidebar_col h2 {
	font-family: 'Montserrat', 'Roboto', sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--qp-secondary);
}

/* Active filter / current category highlight */
.man_sidebar_col .current-cat a,
.man_sidebar_col .widget_layered_nav ul li.chosen a {
	color: var(--qp-primary) !important;
	font-weight: 600;
}

/* Price filter slider */
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
	background: var(--qp-primary) !important;
	border-color: var(--qp-primary) !important;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
	background: var(--qp-primary) !important;
}

.woocommerce .widget_price_filter .price_slider_amount .button {
	background: var(--qp-primary) !important;
	color: #fff !important;
}

/* --------------------------------------------------------------------------
   8. Single Product Page
   -------------------------------------------------------------------------- */
.woocommerce div.product .product_title {
	font-family: 'Montserrat', 'Roboto', sans-serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--qp-secondary);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--qp-primary) !important;
	font-size: 24px;
	font-weight: 700;
}

/* Quantity input */
.woocommerce .quantity .qty {
	border: 2px solid var(--qp-border);
	border-radius: var(--qp-radius);
}

.woocommerce .quantity .qty:focus {
	border-color: var(--qp-primary);
	outline: none;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--qp-primary) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	border-bottom-color: var(--qp-primary) !important;
}

/* Related products heading */
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2 {
	font-family: 'Montserrat', 'Roboto', sans-serif;
	font-size: 24px;
	font-weight: 700;
}

/* Product meta links */
.woocommerce div.product .product_meta a {
	color: var(--qp-primary);
}

.woocommerce div.product .product_meta a:hover {
	color: var(--qp-primary-hover);
}

/* --------------------------------------------------------------------------
   9. Cart & Checkout
   -------------------------------------------------------------------------- */
.woocommerce table.shop_table th {
	font-family: 'Montserrat', 'Roboto', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 0.5px;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button {
	background-color: var(--qp-primary) !important;
	color: #fff !important;
	font-weight: 700;
	border-radius: var(--qp-radius);
	transition: var(--qp-transition);
}

.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	background-color: var(--qp-primary-hover) !important;
}

/* Form inputs */
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--qp-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(255, 107, 0, 0.1);
}

/* --------------------------------------------------------------------------
   10. Header Overrides
   -------------------------------------------------------------------------- */
.manufacturer_header .man_header_bottom,
.man_header_bottom {
	border-bottom: 3px solid var(--qp-primary);
}

/* Active menu item */
.manufacturer_header .main-navigation .current-menu-item > a,
.manufacturer_header .main-navigation li:hover > a {
	color: var(--qp-primary) !important;
}

/* Sub-menu hover */
.manufacturer_header .main-navigation .sub-menu a:hover {
	color: var(--qp-primary) !important;
}

/* --------------------------------------------------------------------------
   10b. Mega Menu â€” CSS-only multi-column dropdown
   Transforms the standard WordPress nested menu into a mega menu layout
   -------------------------------------------------------------------------- */

/* Target the "Product Categories" menu item (has children with sub-children).
   WordPress adds .menu-item-has-children automatically.
   We make its dropdown a mega menu. */
.sm_nav_menu > .menu-item-has-children > .sub-menu {
	display: flex !important;
	flex-wrap: wrap;
	min-width: 1140px !important;
	width: 1140px;
	left: 50% !important;
	transform: translateX(-40%) translateY(7px) !important;
	padding: 0 !important;
	gap: 0;
	margin:0;
}

/* Show mega menu on hover */
.sm_nav_menu > .menu-item-has-children:hover > .sub-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-40%) translateY(5%) !important;
}

/* Each category = a column (25% width, 4 columns) */
.sm_nav_menu > .menu-item-has-children > .sub-menu > li {
	width: 25%;
	padding: 6px 10px !important;
	flex-shrink: 0;
}

/* Category heading style (bold, with bottom border) */
.sm_nav_menu > .menu-item-has-children > .sub-menu > li > a {
	font-family: 'Montserrat', 'Roboto', sans-serif;
	font-weight: 700 !important;
	font-size: 14px !important;
	color: var(--qp-secondary) !important;
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: 2px solid var(--qp-primary);
	display: block;
}

.sm_nav_menu > .menu-item-has-children > .sub-menu > li > a:hover {
	color: var(--qp-primary) !important;
	transform: none !important;
}

.sm_nav_menu > .menu-item-has-children > .sub-menu > li > a:before {
	display: none !important;
}

/* Remove the arrow icon on mega menu category items */
.sm_nav_menu > .menu-item-has-children > .sub-menu > .menu-item-has-children > a:after {
	display: none !important;
}

/* Sub-sub-menu (size items) â€” display inline, not as flyout */
.sm_nav_menu > .menu-item-has-children > .sub-menu > li > .sub-menu {
	display: block !important;
	position: static !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 4px 0 0 0 !important;
	margin: 0 !important;
	min-width: auto !important;
	border-radius: 0 !important;
	transform: none !important;
}

/* Size items (sub-sub-menu links) */
.sm_nav_menu > .menu-item-has-children > .sub-menu > li > .sub-menu > li {
	padding: 0 !important;
}

.sm_nav_menu > .menu-item-has-children > .sub-menu > li > .sub-menu > li > a {
	font-size: 13px !important;
	font-weight: 400 !important;
	color: var(--qp-text-light) !important;
	padding: 0 !important;
	transition: var(--qp-transition);
}

.sm_nav_menu > .menu-item-has-children > .sub-menu > li > .sub-menu > li > a:hover {
	color: var(--qp-primary) !important;
	transform: none !important;
}

.sm_nav_menu > .menu-item-has-children > .sub-menu > li > .sub-menu > li > a:before {
	display: none !important;
}

/* Hide the triangle arrow on mega menu */
.sm_nav_menu > .menu-item-has-children > .sub-menu:before {
	left: 50% !important;
	transform: translateX(-50%);
}

.stm-products-main.grid.cols-4 .stm-product-item {
    width: 100%;
}
a.button.rtwpvs_add_to_cart {
    padding: 6px 10px;
    font-size: 12px;
}
/* Responsive â€” reset mega menu for mobile slide-out panel */
@media (max-width: 1024px) {
	/* Reset mega menu back to standard vertical dropdown */
	.sm_nav_menu > .menu-item-has-children > .sub-menu {
		display: none !important;
		flex-wrap: nowrap;
		min-width: 100% !important;
		width: 100% !important;
		left: 0 !important;
		transform: none !important;
		position: relative !important;
		opacity: 1 !important;
		pointer-events: auto !important;
		box-shadow: none !important;
		background: transparent !important;
		padding: 0 !important;
		margin: 10px 0 0 0 !important;
		flex-direction: column;
		border-radius: 0 !important;
	}

	/* Let the theme's JS toggle handle visibility */
	.sm_menu .sm_nav_menu > .menu-item-has-children > .sub-menu {
		width: 250px !important;
		min-width: 250px !important;
		background: #fff !important;
		border-radius: 10px !important;
		padding: 20px 0 !important;
		box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.1) !important;
	}

	/* Each category takes full width on mobile */
	.sm_nav_menu > .menu-item-has-children > .sub-menu > li {
		width: 100% !important;
		padding: 10px 30px !important;
	}

	/* Category heading â€” keep bold but remove bottom border */
	.sm_nav_menu > .menu-item-has-children > .sub-menu > li > a {
		border-bottom: none;
		padding-bottom: 0;
		margin-bottom: 0;
		font-size: 14px !important;
	}

	/* Sub-sub-menu (sizes) â€” hide by default, show on tap */
	.sm_nav_menu > .menu-item-has-children > .sub-menu > li > .sub-menu {
		display: none !important;
	}

	/* Re-enable arrow icon for expandable items */
	.sm_nav_menu > .menu-item-has-children > .sub-menu > .menu-item-has-children > a:after {
		display: inline-block !important;
	}
}

/* --------------------------------------------------------------------------
   11. Footer Overrides
   -------------------------------------------------------------------------- */
.manufacturer_footer a:hover,
footer a:hover {
	color: var(--qp-primary-light) !important;
}

/* --------------------------------------------------------------------------
   12. Breadcrumbs
   -------------------------------------------------------------------------- */
.man_breadcrumbs a:hover,
.breadcrumb_last {
	color: var(--qp-primary) !important;
}

/* --------------------------------------------------------------------------
   13. Elementor Overrides (for pages built with Elementor)
   -------------------------------------------------------------------------- */
.elementor-button {
	background-color: var(--qp-primary) !important;
	font-family: 'Montserrat', 'Roboto', sans-serif;
	font-weight: 600;
}

.elementor-button:hover {
	background-color: var(--qp-primary-hover) !important;
}

.elementor-widget-heading .elementor-heading-title {
	font-family: 'Montserrat', 'Roboto', sans-serif;
}

/* --------------------------------------------------------------------------
   14. Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
	.woocommerce-products-header__title {
		font-size: 26px;
	}

	.woocommerce div.product .product_title {
		font-size: 24px;
	}
}

@media (max-width: 767px) {
	.woocommerce-products-header__title {
		font-size: 22px;
	}

	.woocommerce div.product .product_title {
		font-size: 22px;
	}

	.woocommerce div.product p.price,
	.woocommerce div.product span.price {
		font-size: 20px;
	}

	.products .product:hover {
		transform: translateY(-2px);
	}
}

.woocommerce.woocommerce-page .woocommerce-products-header__title.page-title, .woocommerce.woocommerce-page  .stm-products-catalog__title {
	display: none;
}
.woocommerce-page .man_sidebar .widget {
    background: transparent;
    padding: 0;
}
.woocommerce-page .man_sidebar .widget-title {
	  font-size: 16px;
    color: #000000;
    margin: 0;
    font-size: 16px;
    padding: 15px 15px 0;
}
.wpc-filters-main-wrap ul.wpc-filters-ul-list {
    padding: 0 15px 0;
}
body .wpc-filters-main-wrap li.wpc-term-item {
    margin-bottom: 4px;
    border: none;
    padding: 0;
    margin-left: 0;
}
.wpc-filters-main-wrap li.wpc-term-item label {
    color: #000;
    opacity: 1 !important;
}
.widget ul:not(.product_list_widget):not(#recentcomments) li a {
    font-size: 14px;
    padding: 0 10px 0 20px;
    margin-bottom: 0px;
    display: inline-block;
    color: #000 !important;
    opacity: 1;
}