/*
Theme Name: Druco Child
Theme URI: https://demo.theme-sky.com/druco/
Author: Theme Sky Team
Author URI: http://theme-sky.com/
Description: A Premium and Responsive WordPress theme, designed for E-Commerce websites
Template: druco
Version: 1.0.0
License: GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags: two-columns, left-sidebar, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
Text Domain: druco-child
*/

/* -------------------------------------------------------------------------- */
/*                                  TEMPORARY                                 */
/* -------------------------------------------------------------------------- */

/*@font-face {
  font-family: 'Geist'; 
  src: url('./fonts/Geist-Regular.ttf') format('ttf'); 
  font-weight: normal; /* Specify weight (e.g., normal, bold, 400, 700) 
  font-style: normal; /* Specify style (e.g., normal, italic) 
}

* {
	font-size: 0.9rem;
    font-family: 'Geist', sans-serif !important;
}*/

/* -------------------------------------------------------------------------- */
/*                                   LAYOUT                                   */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                                   GENERAL                                  */
/* -------------------------------------------------------------------------- */
/* .cart-wrapper {
	background: white !important;
} */

/* .woocommerce-input-wrapper, .select2-container {
	background: black;
	background-color: black;
}
 */

.woocommerce-checkout .shipping-rate-description.external-fetch-desc:not(:first-of-type) {
    display: none !important;
} 


.search-dropdown-item > div > .add_to_cart_button {
	max-width: 150px !important;
}

.cart-wrappa {
	background: black !important;
}
body {
	background: #121212 !important;
}

#main-content {
	width: 100% !important;
	padding-bottom: 48px !important;
}

@media (min-width: 1279px){
	.header-bottom > .container {
			max-width: 1560px;
	}
}

.related-group-products, .related-label, .related-group-product-link {
	color: #121212 !important;
}

.search-dropdown-item > div > a > .ts-wg-meta > a > * {
	color: #121212 !important;
}

.search-dropdown-item {
	color: #121212 !important;
}

.header-bottom .menu-wrapper {
    justify-content: center; 
}

.ts-mobile-icon-toggle > .icon {
	z-index: 50 !important;
	cursor: pointer;
}

.mobile-menu-wrapper {
	background: #f28c38 !important;
}

.menu > ul > li > a {
	color: #FFF !important;
	font-size: large !important;
	font-weight: 400 !important;
}

.menu > ul > li > a:hover {
	color: #121212 !important;
}

#menu-mobile-menu-with-categories > .menu-item > a > .menu-label {
	color: #FFF !important;
	font-size: large !important;
	font-weight: 400 !important;
}

#menu-mobile-menu-with-categories > .menu-item > a:hover {
	color: #121212 !important;
}

.ts-search-by-category {	
	border: solid 2px #f28c38 !important;
	/* outline: solid 1px #f28c38 !important; */
	border-radius: 60px !important;
}

.ts-search-by-category:has(> form > .search-table > .search-field.search-content > input:focus) {
	border: solid 2px #000000 !important;
	outline: solid 1px #000000 !important;
}

#ts-login-form > .login-remember > label {
	color: #121212 !important;
}

/* -------------------------------------------------------------------------- */
/*                                   SEARCH                                   */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                                   SEARCH                                   */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                                   SEARCH                                   */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                                   SEARCH                                   */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                                   SEARCH                                   */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*                                   SEARCH                                   */
/* -------------------------------------------------------------------------- */


.view-all-wrapper {
	color: #121212 !important;
}

.ts-search-result-container {
	z-index: 1000 !important;
}

.search-content > .product_list_widget > li {
	border-bottom-color: #f3f3f3 !important;
	/* color: #121212 !important; */
}

.search-dropdown-item {
	display: flex !important;
}

.search-dropdown-item > div > a >  {
	display: flex !important;
	align-items: flex-start !important; 

}

.search-dropdown-item > div > a > a {
	width: fit-content !important;
}

.search-dropdown-item > div > a > .ts-wg-meta {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px;
}

.search-dropdown-item > div > a > .ts-wg-meta > a {
	display: flex !important;
	flex-direction: column !important;
	color: #121212;
}

.search-dropdown-item > div > a > .ts-wg-meta > .title {
	color: #121212;
}

.search-dropdown-item > div > a > .ts-wg-meta > .title:hover {
	color: #f28c38;
}

.search-dropdown-item > div > a > .ts-wg-meta > .price {
	color: #121212;
}

.search-dropdown-item > div > a > .ts-wg-meta > .price {
	color: #f28c38;
}

.search-dropdown-item > div > a > .ts-wg-meta > .description {
	color: #121212;
}
.search-dropdown-item > div > a > .ts-wg-meta > .description:hover {
	color: #f28c38;
}
.search-dropdown-item > div > a > .ts-wg-meta > .sku {
	color: #121212;
}
.search-dropdown-item > div > a > .ts-wg-meta > .sku:hover {
	color: #f28c38;
}
.search-content > .product_list_widget > li > a > .ts-wg-meta > .title {
	color: #121212 ;
	font-weight: 600 !important;
}

.related-label {
	font-size: smaller;
}

.related-grouped-products {
	display: flex !important;
	flex-direction: column;
	gap: 12px;
}

.related-group-product-link {
	color: #f28c38 !important;
}

.related-group-product-link:hover {
	color: #121212 !important;
}
















.page-title {
	padding-bottom: 24px;
}

.breadcrumb-title-wrapper {
	display: none;
}

.account-dropdown-form > .form-content > ul > li > a{
	color: #171717 !important;
}

.header-bottom {
	border-color: black !important;
	/* border-bottom-left-radius: 24px;
	border-bottom-right-radius: 24px; */
}

.categories-list {
	display: flex;
	gap: 24px;
	align-items: center;
	flex-wrap: wrap;
}

.categories-list > li {
	padding: 0;
}

.categories-list > li > a {
	color: white;
}

.product_list_widget > .search-dropdown-item > div > a > a > .ts-wg-meta {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	color: black !important;
}

.product_list_widget li a:hover .ts-wg-meta > * {
	font-weight: 600 !important;
	color: orange !important;
}



.term-description > p {
	padding-top: 24px;
	padding-bottom: 24px;
	/* background: rgba(253, 253, 253, 0.05); */
	/* border: 1px solid rgba(253, 253, 253, 0.15); */
	border-radius: 12px;
	font-size: large;
}

.before-loop-wrapper {
	width: 100% !important;
}

.type-product {
	background-color: transparent !important;
	background: transparent !important;
}

.ts-product-categories .categories-menu .categories-list a.active-category {
    color: black; /* Orange for active category */
}

.ts-product-categories .categories-menu .categories-list a:hover  {
    color: black; /* Orange for active category */
}



/* -------------------------------------------------------------------------- */
/*                            PRODUCT CATEGORY PAGE                           */
/* -------------------------------------------------------------------------- */
/* 
.category-product:hover .category-product-thumbnail {
	background: #f28c38;
} */

.before-loop-wrapper {
	display: none !important;
}

.product-title {
	font-weight: 500;
	line-height: 1.2rem;
}

.woocommerce-product-gallery__trigger {
	z-index: 50;
}

.product-sku {
	background: #121212;
	border-radius: 4px;
    color: white !important;
	width: fit-content;
	padding-left: 8px;
	padding-right: 8px;
	font-size: smaller;
	font-weight: 600;
}

.category-product:hover .product-sku {
	color: #171717 !important;
	background: #FFFFFF !important;
}

.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
	width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    max-width: 100% !important;
}

.category-product {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px;
	color: white !important;
	width: 100%;
}

.category-product-thumbnail {
    position: relative;
    width: 100% !important;
    height: 200px !important; /* Fixed height */
    max-width: 100% !important;
    display: block;
    background: none;
    border-radius: 2px;
    overflow: hidden;
}

/* Target the img element directly */
.category-product-thumbnail img,
.category-product-thumbnail .product-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block;
}
.number-of-parts {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: #171717;
	text-align: center;
	vertical-align: middle;
	border-bottom: solid 1px #474747;
	font-size: smaller;
	z-index: 20;
	
}

.product-inner {
    padding: 0px !important;
    /* border: solid 1px rgb(71, 71, 71); */
	width: 100px;
    /* background: #171717; */
    border-radius: 12px;
    box-sizing: border-box; /* Ensure padding doesn't cause overflow */
}

.product-inner > .product-info > .product-name {
	margin-top: 12px;
	color: #f28c38;
	overflow-wrap: break-word; /* Handles breaking */
} 

/* .product-thumbnail {
	border: solid 1px rgb(71, 71, 71);
	border-radius: 2px;
}

.product-thumbnail > a {
    width: 100px;
    height: auto; 
    overflow: hidden; 
    display: flex;
    justify-content: center;
    align-items: center;
} */

.products > .product {
    width: fit-content !important;
    max-width: fit-content !important; /* Prevent overflow in grid */
    box-sizing: border-box;
	border: none !important;
}

.product-name > a {
	font-size: smaller !important;
	color: aliceblue;

}

.attachment-woocommerce_thumbnail {
    width: 100px !important;
    height: 100px !important; /* Fixed height; use 'auto' if you prefer no cropping */
    object-fit: contain !important;
    max-width: 100% !important;
    display: block;
}



.woocommerce.main-products .product {
    text-align: center;
	border: solid 0px transparene;
}

.woocommerce.main-products .product-name {
    font-size: 16px;
	font-weight: 600;
    margin-top: 24px;
}

.woocommerce.main-products .product-name a {
    text-decoration: none;
    color: #f28c38;
}

.woocommerce.main-products .product-name a:hover {
    color: lightgrey;
}

.woocommerce.main-products .product-thumbnail img {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.main-products > .products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)); /* Changed this line */
    gap: 32px; 
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
	border-left: none !important;
}

@media (max-width: 1280px) {
	.main-products > .products {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px;
    }
}

@media (max-width: 768px) {
    .main-products > .products {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px;
    }
}

@media (max-width: 640px) {
    .main-products > .products {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

/* -------------------------------------------------------------------------- */
/*                             PRODUCT DETAIL PAGE                            */
/* -------------------------------------------------------------------------- */

.product-images-summary > .woocommerce-product-gallery {
 height: 100% !important;
 max-height: 700px !important;
}

.product-images-summary > .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
 height: 100% !important;
}

.cart > .quantity {
	max-width: 150px !important;
}

.single-product-image {
	display: grid;
	grid-template-columns: 2fr 1fr; /* Space-separated values */
    gap: 30px;
}

@media (max-width: 1024px) {

	.single-product-image {
		grid-template-columns: 1fr;
	}
}

.product-images-summary {
    display: grid;
    grid-template-columns: 1fr; /* This was forcing single column */
}
.grouped-product-link {
    color: orange !important;
    text-decoration: none;
    transition: color 0.3s ease;
}
.grouped-product-link:hover {
    color: white;
}



.ts-header .is-sticky .header-bottom{
	display: block !important;
}

@media (max-width: 1024px) {
	.ts-header .is-sticky .header-bottom{
		display: none !important;
	}
}


#clear-all-quantities {
	background: white !important;
	border: none;
}


/*.ts-header nav > ul > li > a {
	font-size: 12px !important;
}*/

.woocommerce-grouped-product-list-item__price > .woocommerce-Price-amount > bdi{
	color: #FFF;
	font-weight: semibold;
}

.woocommerce-product-gallery__trigger {
	z-index: 50;
}

.product-page-title {
	font-size: large;
	line-height: 1.25rem;
}

.product-page-sku {
	color: #cbcbcb;
}


.minus, .plus {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    line-height: 1 !important;  /* Reset line-height */
    padding: 0 !important; 
	border-radius: 4px;     /* Remove padding */
	color: #474747;
}

.filter-widget-area-button > a {
	display: none;
}


.entry-summary {
	position: relative;
	overflow: hidden !important;
	width: 100% !important;
	max-width: 100% !important;
	/* display: flex !important; */
	/* flex-grow: 1 !important; */
	flex-direction: column;
	padding-left: 0px !important;
	/* padding: 24px !important; */
	height: fit-content !important;
	/* border: solid 1px #474747; */
	border-radius: 6px;
	/* background: rgba(253, 253, 253, 0.05); */
}

.input-text.qty {
	color: #a7a8a0 !important;
	background: #171717 !important;
	border: solid 1px #474747 !important;
	border-radius: 4px !important;
}

.number-button {
	height: max-content !important;
}

/* -------------------------------------------------------------------------- */
/*                             PRODUCT LIST TABLE                             */
/* -------------------------------------------------------------------------- */

.grouped-products-scroll-container {
	padding-top: 36px;
	width: 100%;
	max-width: 94vw !important;
	overflow-x: auto;
	/* background: #171717;
	border: solid 1px #474747; */
	/* overflow: hidden; */
	border-radius: 6px;
}

.woocommerce-grouped-product-list {
	width: 100% !important;
}
.woocommerce-grouped-product-list > thead > tr > th {
	padding-left: 8px;
	padding-right: 8px;
	color: #a7a8a0;
}

.woocommerce-grouped-product-list-item__quantity > .quantity {
	display: flex;
	justify-content: left;
}


.woocommerce-grouped-product-list-item {
	border-radius: 4px;
}
.woocommerce-grouped-product-list-item__label > label > a {
	font-size: small !important;
}

.woocommerce-grouped-product-list-item:hover {
	background: #171717;
}

.product-type-grouped .entry-summary .price:not(.woocommerce-grouped-product-list-item__price .price),
.product-type-grouped .entry-summary .stock:not(.woocommerce-grouped-product-list-item__stock .stock),
.product-type-grouped .entry-summary .product_meta {
	display: none !important;
}

/* Ensure child product prices in table are visible */
.woocommerce-grouped-product-list-item__price .price {
	display: block !important;
}

/* Hide single product buttons for grouped products */
.single-product-buttons {
	display: none !important;
}

/* Override the existing rule that removes bottom padding from last row */
.woocommerce div.product form.cart table.group_table tr:last-child td {
	padding-bottom: 8px !important;
}

/* And add consistent padding to all cells */
.woocommerce div.product form.cart table.group_table tr td {
	padding: 8px !important;
}


/* Override the existing rule that removes bottom padding from last row */
.woocommerce div.product form.cart table.group_table tr:last-child td {
    padding-bottom: 8px !important;
}

/* And add consistent padding to all cells */
.woocommerce div.product form.cart table.group_table tr td {
    padding: 8px !important;
}

/* Or if you want to be more specific, target each row type */
.woocommerce div.product form.cart table.group_table tr:first-child td {
    padding-top: 8px !important;
}

.woocommerce div.product form.cart table.group_table tr:last-child td {
    padding-bottom: 8px !important;
    border-bottom-width: 0; /* Keep the border removal if desired */
}

.woocommerce div.product form.cart table.group_table tr td {
    padding-left: 8px !important;
    padding-right: 8px !important;
}
.woocommerce-Price-amount.amount > bdi.woocommerce-Price-currencySymbol {
	font-size: small !important;
} 

.product_title.entry-title {
	display: none;
}

form.cart {
	width: 100% !important;
}

.quantity > label {
	margin-bottom: 12px;
}

.product-name {
	text-align: center;
}

.linked-product-thumbnail {

	border: solid 1px #474747 !important;
	padding: 4px;
	border-radius: 4px;
	min-height: 40px;
	min-width: 40px;
	height: 40px;
	width: 40px;
	object-fit: contain;
}


.product-type-simple {
	border: none !important;
}

.ts-buy-now-button {
	color: white !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-bottom: 0 !important;
}

/* .single_add_to_cart_button {
	width: 100% !important;
	border: none !important;
	background: #171717 !important;
	border: solid 1px #474747 !important;
	border-radius: 6px !important;
	color: #474747 !important;
} */

.part-list-row-add-button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 4px !important;
	background: #FFF !important;
	border: none !important;
	height: 24px;

}

.woocommerce-product-gallery__image > a > .wp-post-image{
	max-height: 700px !important;
	border-radius: 12px;
	object-fit: contain;
	padding-top: 24px !important;
	padding-bottom: 24px !important;
	
}

.woocommerce-product-gallery__image--placeholder {
	border: 0px solid #ffffff !important;
}

.wp-post-image {
	background-color: transparent !important;
	border: transparent !important;
}

.woocommerce-product-gallery--without-images {
	position: relative;
	overflow: hidden;
	border: solid 1px #474747;
	border-radius: 6px;
}

.woocommerce-product-gallery__wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-grow: 1;
	width: 100%;
	/* padding: 6px !important; */
	/* border: solid 1px rgba(40, 40, 40, 0.15);  */
	/* /* border-radius: 6px; */
	/* background: rgba(255, 98, 0, 0.05); */
	height: 100%;
	/* max-height: fit-content;	 */
	backdrop-filter: blur(6px) saturate(200%);
	
}

.woocommerce-product-gallery__image {
	position: sticky;
	top: 0;
	left: 0;
	padding: 6px;
	width: 100% !important;
	border: solid 1px #474747;
	background: #121212;
	border-radius: 6px;
	max-height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media (max-width: 768px) {
	.woocommerce-product-gallery__image > a > .wp-post-image {
		max-height: 300px !important;
	}
}

@media (max-width: 1024px) and (orientation: landscape) {
    .woocommerce-product-gallery__image > a > .wp-post-image {
		max-height: 250px !important;
	}
}




.woocommerce-product-gallery {
	height: fit-content;
	width: 100% !important;
	display: flex;
	justify-content: center;
	margin-bottom: 0px !important;
}

.product-images-summary {
	display: grid;
	grid-template-columns: 1fr;
	/* gap: 48px; */
	width: 100%;
}

.woocommerce div.product form.cart table.group_table td {
	border-color: #2E2E2E !important;
}

.meta-content {
	display: none !important;
}


@media (max-width: 1024px) {
    .product-images-summary {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}


/* -------------------------------------------------------------------------- */
/*                                    CART                                    */
/* -------------------------------------------------------------------------- */

.cart-item-wrapper > .product-name > a {
	pointer-events: none;
    cursor: default;
	color: #FFFFFF !important;
	text-align: left;
}
.woocommerce-mini-cart-item > .thumbnail {
	pointer-events: none;
    cursor: default;
}

.ts-sidebar-content > .close {
	position: absolute;
	top: 0;
	right: 0;
}

/* -------------------------------------------------------------------------- */
/*                                  CART PAGE                                 */
/* -------------------------------------------------------------------------- */

.empty-cart-button {
	color: #FFF !important;
}

.empty-cart-button:hover {
	color: #FF7940 !important;
}

@media (max-width: 767px) {
    /* New rule: Hide only the "Product" header (not the cells) */
    .woocommerce-cart-form__contents > thead > tr > th.product-name {
        display: none !important;
    }
}

/* Custom CSS spinner: Spinning ring with fixed button size (no expansion during loading) */

/* Custom CSS spinner: Spinning ring overlaid on button (no size change or expansion) */

/* Base button styles: Lock size and positioning (no padding changes) */

.add_to_cart_button {
	border: none !important;
}
.woocommerce-grouped-product-list .add_to_cart_button {
    position: relative !important; /* Allows absolute positioning of spinner inside */
    display: inline-block !important; /* Prevents width jumps */
    box-sizing: border-box !important; /* Ensures no padding/border adds to size */
    transition: opacity 0.3s ease, background-color 0.3s ease; /* Smooth non-size changes */
}

/* Loading state: No size changes, optional text fade and background adjustment */
.woocommerce-grouped-product-list .add_to_cart_button.loading {
    position: relative !important; /* Keep relative */
    opacity: 1 !important; /* Keep button visible; adjust to 0.8 for slight fade */
    color: transparent !important; /* Hide text during loading to avoid overlap (change to 'inherit' if you want text visible) */
    background-color: #333 !important; /* Optional: Darken background for contrast with spinner (remove or match your theme) */
}

/* Spinner styles: Overlaid in the center, only during loading */
.add_to_cart_button.loading::after {
    content: ''; /* Remove any default icon content */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(0deg); /* Center it perfectly */
    width: 1.2em !important; /* Slightly smaller size to fit without expansion (adjust: 1em for tiny, 1.5em for larger) */
    height: 1.2em !important;
    border: 3px solid #ffffff !important; /* Light gray for the static ring "background" (placeholder) - thinner for compactness */
    border-top: 3px solid red !important; 
    border-radius: 50% !important; /* Circle shape */
    animation: spin 1s linear infinite !important; /* Spinning animation */
    background-color: red !important; /* No solid background */
    z-index: 1 !important; /* Ensure it's on top */
}

/* Broader target if needed (for theme overrides) */
a.add_to_cart_button.loading::after,
.button.loading::after {
    border: 3px solid #383838 !important;
    border-top: 3px solid rgb(190, 190, 190) !important;
    border-radius: 50% !important;
    background-color: transparent !important; /* No solid background */
    animation: spin 1s linear infinite !important;
}

/* Spin animation keyframes (add if not defined by WooCommerce/theme) */
@keyframes spin {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}
/* Spin animation keyframes (add if not defined by WooCommerce/theme) */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
/* -------------------------------------------------------------------------- */
/*                                   UTLITY                                   */
/* -------------------------------------------------------------------------- */

.tight-letters {
    letter-spacing: -0.025em; /* Tightens letter spacing; adjust value (e.g., -0.05em for more tightness) */
    transition: letter-spacing 0.3s ease; /* Optional: Smooth transition on hover or changes */
	font-weight: 600;
}

/* 8/20 requests */
@media (max-width: 767px) { 
    .my-account-wrapper.hidden-phone,
    .account-icon.hidden-phone {
        display: block !important;  /* Override the hide */
    }
}

.my-account-wrapper .dropdown-container .form-content .login-register  {
	color: #121212 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	font-size: 18px !important;
}
.woocommerce-account .wc-address-book-add-new-address .button {
	font-size: 11px;
	padding: 4px 10px 4px 10px;
}

.address_book h3 {
	font-size: 24px !important;
}