/*
Theme Name: Shoptimizer Child Theme
Theme URI: 
Description: Child theme of Shoptimizer
Author: CommerceGurus
Author URI: 
Template: shoptimizer
Version: 1.2.21
License:         	GNU General Public License v2 or later
License URI:     	http://www.gnu.org/licenses/gpl-2.0.html
*/

@media (min-width: 993px) {
    .main-navigation ul li a span strong {
        margin-left: 0 !important;
        top: -11px !important;
        right: -10px !important;
    }
}

#ywgc-add-new-gift-card {
	display: none !important;
}

.single-product .summary.entry-summary .variations .cgkit-attribute-swatch button {
	opacity: 0.2;
}

.single-product .summary.entry-summary .variations .cgkit-attribute-swatch button.in-stock-availabilty,
.wc_gc_giftcard_product .summary.entry-summary .variations .cgkit-attribute-swatch button {
	opacity: 1;
}

.site-content ul.products li.product::before, .site-content ul.products li.product::before {
    transition: all .0s !important;

}
.site-content ul.products li.product:focus-within::before, .site-content ul.products li.product:hover::before {
    visibility: visible !important;
    opacity: 1 !important;
}
.woocommerce-form-coupon-toggle .woocommerce-info{
	display:none !important;
}
.coupon-wrapper > p{
    font-family: Inter !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}
.coupon-wrapper p.form-row.form-row-first, .coupon-wrapper p.form-row.form-row-last, .coupon-wrapper p.form-row.form-row-last > button{
    width:100% !important;
}

.woocommerce-checkout .add_gift_card_form #wc_gc_cart_redeem_form input[type="text"] {
    margin-bottom: 10px !important;
}
div.add_gift_card_form{
    margin-top:15px !important;
}
#wc_gc_cart_code{
    font-size:16px !important;
}

.woocommerce-variation-add-to-cart-disabled #ckwtl-button3{
	display: block !important;
}

.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button {
	display: none !important;
}

#commercegurus-pdp-gallery-wrapper {
	z-index: 9;
}

.ywgc_delivery_info_title {
    display: none !important;
}

.gift-card-content-editor {
    display: none !important;
}

/* ==========================================================================
   Product Carousels - Tiny Slider (Similar, Recently Viewed, Related)
   ========================================================================== */

/* Shared carousel header styles */
.similar-products-carousel--header,
.recently-viewed-carousel--header,
.related-products-carousel--header {
	display: flex;
	justify-content: space-between;
	align-items: center;
    padding: 0 1rem;
}

@media (min-width: 993px) {
    .similar-products-carousel--header,
    .recently-viewed-carousel--header,
    .related-products-carousel--header {
        padding: 0 12px 0 calc(2rem + 12px);
    }
}

.similar-products-carousel--header h2,
.recently-viewed-carousel--header h2,
.related-products-carousel--header h2 {
	margin: 0;
}

/* Navigation buttons */
.similar-products-carousel--nav,
.recently-viewed-carousel--nav,
.related-products-carousel--nav {
	display: flex;
	gap: 0.5rem;
	flex-shrink: 0;
}

.similar-products-carousel--nav button,
.recently-viewed-carousel--nav button,
.related-products-carousel--nav button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 1px solid #e2e2e2;
	border-radius: 4px;
	background: linear-gradient(180deg, white, #f5f5f5 130%);
	cursor: pointer;
	transition: all 0.2s ease;
}

.similar-products-carousel--nav button:hover,
.recently-viewed-carousel--nav button:hover,
.related-products-carousel--nav button:hover {
	border-color: #ccc;
	background: linear-gradient(180deg, white, #eee 130%);
}

.similar-products-carousel--nav button[disabled],
.recently-viewed-carousel--nav button[disabled],
.related-products-carousel--nav button[disabled] {
	opacity: 0.4;
	cursor: not-allowed;
}

.similar-products-carousel--nav svg,
.recently-viewed-carousel--nav svg,
.related-products-carousel--nav svg {
	width: 16px;
	height: 16px;
}

/* Carousel outer wrapper - must hide overflow */
.similar-products-carousel .tns-carousel,
.recently-viewed-carousel .tns-carousel,
.related-products-carousel .tns-carousel {
	overflow: hidden;
}

/* Hide tiny-slider live region */
.tns-liveregion {
	position: absolute !important;
	left: -10000px !important;
}

/* 
 * CRITICAL: Override Shoptimizer's default ul.products styles for carousels
 * Shoptimizer uses display:flex/grid which conflicts with tiny-slider
 * Using high specificity to override theme defaults
 */
.similar-products-carousel .tns-carousel ul.products.similar-products-carousel--container,
.recently-viewed-carousel .tns-carousel ul.products.recently-viewed-carousel--container,
.related-products-carousel .tns-carousel ul.products.related-products-carousel--container,
ul.products.similar-products-carousel--container,
ul.products.recently-viewed-carousel--container,
ul.products.related-products-carousel--container {
	display: flex !important;
	flex-wrap: nowrap !important;
	grid-template-columns: none !important;
	gap: 0;
}

.similar-products-carousel .tns-carousel ul.products,
.recently-viewed-carousel .tns-carousel ul.products,
.related-products-carousel .tns-carousel ul.products {
    padding: 2rem;
}

.similar-products-carousel .tns-carousel ul.products li.product .cgkit-swatch-form,
.recently-viewed-carousel .tns-carousel ul.products li.product .cgkit-swatch-form,
.related-products-carousel .tns-carousel ul.products li.product .cgkit-swatch-form {
    display: none !important;
}

.similar-products-carousel .tns-carousel ul.products li.product::before,
.recently-viewed-carousel .tns-carousel ul.products li.product::before,
.related-products-carousel .tns-carousel ul.products li.product::before,
.related.products {
    padding: 0 !important;
}

@media (max-width: 992px) {
	.similar-products-carousel .tns-carousel ul.products.similar-products-carousel--container,
	.recently-viewed-carousel .tns-carousel ul.products.recently-viewed-carousel--container,
	.related-products-carousel .tns-carousel ul.products.related-products-carousel--container,
	ul.products.similar-products-carousel--container,
	ul.products.recently-viewed-carousel--container,
	ul.products.related-products-carousel--container {
        padding: 1rem;
        margin: 0 !important;
        overflow: hidden;
	}
}

@media (min-width: 993px) {
	.similar-products-carousel .tns-carousel ul.products.similar-products-carousel--container,
	.recently-viewed-carousel .tns-carousel ul.products.recently-viewed-carousel--container,
	.related-products-carousel .tns-carousel ul.products.related-products-carousel--container,
	ul.products.similar-products-carousel--container,
	ul.products.recently-viewed-carousel--container,
	ul.products.related-products-carousel--container {
        padding: 2rem !important;
		min-width: 100% !important;
        margin: 0 !important;
	}
}

/* Reset product item styles - let tiny-slider control layout */
ul.products.similar-products-carousel--container.tns-slider > li.product,
ul.products.recently-viewed-carousel--container.tns-slider > li.product,
ul.products.related-products-carousel--container.tns-slider > li.product {
	float: left !important;
	margin: 0 !important;
}

@media (min-width: 993px) {
	ul.products.similar-products-carousel--container.tns-slider > li.product,
	ul.products.recently-viewed-carousel--container.tns-slider > li.product,
	ul.products.related-products-carousel--container.tns-slider > li.product {
		width: 250px !important;
		min-width: 250px !important;
	}
}

/* Hide navigation when slider not needed (few items) */
.similar-products-carousel:has(.similar-products-carousel--container > li:only-child) .similar-products-carousel--nav,
.recently-viewed-carousel:has(.recently-viewed-carousel--container > li:only-child) .recently-viewed-carousel--nav,
.related-products-carousel:has(.related-products-carousel--container > li:only-child) .related-products-carousel--nav {
	display: none;
}

/* Mobile scroll adjustments */
@media (max-width: 992px) {
	.cross-sells ul.products li.product,
	.mobile-scroll ul.products li.product,
	.related.products ul.products li.product,
	.upsells.products ul.products li.product {
		max-width: 150px;
		min-width: 150px;
	}

	.related-products-carousel,
	.similar-products-carousel {
		padding: 0 0 24px 0 !important;
	}
}

/* ==========================================================================
   Subcategories List on Category Archive Pages
   ========================================================================== */

.shoptimizer-child-subcategories {
	margin-bottom: 1.5rem;
    overflow: scroll !important;
    width: 100%;
}

.shoptimizer-child-subcategories__list {
	display: flex;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.shoptimizer-child-subcategories__item {
	margin: 0;
	padding: 0;
}

.shoptimizer-child-subcategories__link {
	display: inline-block;
	padding: 0.5rem 1rem;
	border: 1px solid #e2e2e2;
	border-radius: 4px;
	color: #111;
	text-decoration: none;
	transition: all 0.2s ease;
    white-space: nowrap;
}

.shoptimizer-child-subcategories__link:hover {
	border-color: #111;
	background-color: #f5f5f5;
	color: #111;
}

.woocommerce-products-header {
    background-color: transparent !important;
    margin: 0 !important;
}

/* ==========================================================================
   Reviews Section on Single Product Pages
   ========================================================================== */

.shoptimizer-reviews-section {
    max-width: calc(1170px + 5.2325em);
    margin: 0 auto;
    padding: calc(2rem + 15px);
}

@media (max-width: 992px) {
    .shoptimizer-reviews-section {
        padding: 1rem !important;
    }
}

@media (max-width: 992px) {
    .site-branding button.menu-toggle {
        width: 30px;
    }

    button.mobile-search-toggle {
        left: 50px;
        right: auto;
    }
}

/* ==========================================================================
   Mobile Wishlist Icon
   ========================================================================== */

/* Hide on desktop */
.shoptimizer-mobile-wishlist {
	display: none;
}

@media (max-width: 992px) {
	.shoptimizer-mobile-wishlist {
		display: flex;
		position: absolute;
		top: 0;
        right: 55px;
		height: 100%;
		align-items: center;
	}

	.shoptimizer-mobile-wishlist a {
		display: flex;
		align-items: center;
		color: inherit;
	}

	.shoptimizer-mobile-wishlist svg {
		width: 24px;
		height: 24px;
	}

	.commercekit-wishlist.mini {
		right: 20px;
    	top: 10px;
	}
}


body.theme-shoptimizer ul.products li.product .button {
	display: none !important;
}

@media (min-width: 993px) {
	ul.products li.product:not(.product-category) {
        padding-bottom: 15px;
    }

    ul.products li.product:not(.product-category):before {
		height: calc(100% + 0px);
	}
}

/* ==========================================================================
   Mobile Menu
   ========================================================================== */

@media (max-width: 992px) {
	.mobile-extra .heading, .mobile-extra h2, .mobile-extra h4 {
		color: #999999 !important;
        opacity: 1 !important;
        font-size: 12px !important;
        line-height: 16px !important;
        font-weight: 700 !important;
        letter-spacing: 0.6px !important;
		padding: 30px 0 15px 0;
	}

	.mobile-extra .wpml-ls-item-toggle {
		padding: 0;
		display: flex;
		gap: 10px;
		align-items: center;
	}

	.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
		content: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%236A7282' stroke-width='1.33333' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
		vertical-align: initial;
		display: inline-block;
		border: none;
		border-top: none;
		position: relative;
		right: auto;
		top: auto;
	}

	.col-full-nav {
		width: 85vw;
		left: -85vw;
		padding: 0;
	}

	.mobile-menu.close-drawer {
		left: 90vw;
	}

	.mobile-extra {
		padding: 1rem 20px 2rem;
	}

	.menu-primary-menu-container > ul > li > a {
		line-height: 22.5px;
		letter-spacing: -0.23px;
		padding: 15px 20px;
		border-bottom: 1px solid #E5E7EB;
	}

	.main-navigation ul.menu li.menu-item-has-children span.caret {
		top: 10px;
        right: 20px;
        width: 15px;
	}

	.main-navigation ul.menu li.menu-item-has-children.dropdown-open > .sub-menu-wrapper {
		box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.1) inset;
		padding: 0;
        margin: 0;
		background: #F9F9F9;
	}

	.main-navigation ul.menu .sub-menu-wrapper a.cg-menu-link {
		width: 100%;
        padding: 12px 24px;
	}

	.main-navigation ul.menu .sub-menu-wrapper a.cg-menu-link,
	.main-navigation ul.menu li.menu-item-has-children.full-width > .sub-menu-wrapper li.heading > a {
		text-transform: none !important;
		font-weight: 500 !important;
		font-size: 13px !important;
		line-height: 19.5px !important;
		letter-spacing: 0.25px !important;
	}

	.menu-primary-menu-container > ul > li.dropdown-open {
		margin-bottom: 0 !important;
	}

	.main-navigation ul.menu li ul li ul {
		background: #fff;
		box-shadow: 0 2px 6px 0 rgb(0 0 0 / .1) inset;
	}
	.main-navigation ul.menu li ul li ul li {
		padding-left: 24px;
	}
}

/* ==========================================================================
   Active Filters Widget (Grouped Pills)
   ========================================================================== */
.shoptimizer-active-filters__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0 0 1rem 0;
	padding: 0;
}

.shoptimizer-active-filters__item {
	margin: 0;
	padding: 0;
}

.shoptimizer-active-filters__pill {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.75rem;
	background-color: #f5f5f5;
	border: 1px solid #e2e2e2;
	border-radius: 999px;
	color: #111;
	text-decoration: none;
	font-size: 14px;
	line-height: 1.4;
	transition: all 0.2s ease;
}

.shoptimizer-active-filters__pill:hover {
	background-color: #eee;
	border-color: #ccc;
	color: #111 !important;
}

.shoptimizer-active-filters__label {
	color: #666;
}

.shoptimizer-active-filters__values {
	font-weight: 600;
}

.shoptimizer-active-filters__remove {
	display: inline-flex;
	align-items: center;
	margin-left: 0.25rem;
	color: #666;
	transition: color 0.2s ease;
}

.shoptimizer-active-filters__pill:hover .shoptimizer-active-filters__remove {
	color: #111;
}

.shoptimizer-active-filters__remove svg {
	width: 16px;
	height: 16px;
}

.shoptimizer-active-filters__clear-all {
	display: inline-block;
	color: #666;
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.shoptimizer-active-filters__clear-all:hover {
	color: #111;
}

/* ==========================================================================
   Layered Nav Filter Checkboxes (Replace Radio Style)
   ========================================================================== */

.widget_layered_nav ul li {
    padding-left: 0 !important;
}
/* Hide the original li::before */
.widget_layered_nav ul li::before {
	display: none !important;
}

/* Link styling - checkbox is now on the anchor element for clickability */
.widget_layered_nav ul li > a {
	position: relative;
	display: inline-block;
	padding-left: 28px !important;
}

/* Base checkbox style - square instead of round */
.widget_layered_nav ul li > a::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	border-radius: 4px;
	border: 2px solid #d1d5db;
	background: #fff;
	transition: all 0.15s ease;
}

/* Hover state */
.widget_layered_nav ul li > a:hover::before {
	border-color: #9ca3af;
}

/* Checked/chosen state - filled background */
.widget_layered_nav ul li.chosen > a::before,
.widget_layered_nav ul li.woocommerce-widget-layered-nav-list__item--chosen > a::before {
	background: #dc2626;
	border-color: #dc2626;
}

/* Checkmark icon using ::after */
.widget_layered_nav ul li.chosen > a::after,
.widget_layered_nav ul li.woocommerce-widget-layered-nav-list__item--chosen > a::after {
	content: "";
	display: block;
	position: absolute;
	left: 6px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 5px;
	height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	margin-top: -1px;
}

/* Selected item text color */
.widget_layered_nav ul li.chosen > a,
.widget_layered_nav ul li.woocommerce-widget-layered-nav-list__item--chosen > a {
	color: #dc2626;
	font-weight: 500;
}

@media (max-width: 992px) {
	.woocommerce.archive #secondary {
		width: 85vw !important;
	}

	.filter-open .filters.close-drawer {
		left: 90vw !important;
	}
}