/*
	Theme Name:   Joice Child
	Theme URI:
	Description:  Child theme for Joice
	Author:       Kosala
	Template:     joice
	Version:      1.0.0
	Text Domain:  joice
*/

.title-section-title {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 25px;
}

.joice-hidden {
	display: none !important;
}

/* Review image upload preview */
.review-image-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
	margin-bottom: 25px;
}

.review-image-preview .preview-item {
	position: relative;
	width: 80px;
	height: 80px;
}

.review-image-preview .preview-item img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border: 1px solid #ddd;
	display: block;
}

.review-image-preview .preview-item .remove-preview {
	position: absolute;
	top: -6px;
	right: -6px;
	background: #333;
	color: #fff;
	border: none;
	border-radius: 50%;
	width: 18px;
	height: 18px;
	font-size: 11px;
	line-height: 18px;
	text-align: center;
	cursor: pointer;
	padding: 0;
}

/* Review image display grid */
.review-images {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
	gap: 6px;
	margin-top: 12px;
}

.review-images .review-thumb {
	width: 100%;
	height: 80px;
	object-fit: cover;
	border: 1px solid #ddd;
	display: block;
	cursor: zoom-in;
	transition: opacity 0.2s;
}

.review-images .review-thumb:hover {
	opacity: 0.85;
}

.woocommerce-product-gallery {
	max-height: max-content;
}

.woocommerce-product-gallery .flex-viewport {
	max-height: auto !important;
}

.woocommerce-product-gallery .flex-control-nav img {
	height: 100px;
	width: 100px;
}

/* Hide WooCommerce gallery trigger button */
.woocommerce-product-gallery__trigger {
	display: none !important;
}

/* Allow clicks to pass through the zoom overlay to the image link */
.woocommerce-product-gallery__image .zoomImg {
	pointer-events: none;
}

/* Review image lightbox */
#review-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.88);
	z-index: 99999;
	align-items: center;
	justify-content: center;
}

#review-lightbox.active {
	display: flex;
}

#review-lightbox img {
	max-width: 90vw;
	max-height: 90vh;
	border-radius: 6px;
	box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
}

#review-lightbox .lb-close {
	position: fixed;
	top: 20px;
	right: 28px;
	color: #fff;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
	user-select: none;
}

#review-lightbox .lb-prev,
#review-lightbox .lb-next {
	position: fixed;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	font-size: 40px;
	cursor: pointer;
	user-select: none;
	padding: 0 16px;
}

#review-lightbox .lb-prev {
	left: 10px;
}

#review-lightbox .lb-next {
	right: 10px;
}

/* Mobile menu — current item and current parent highlight */
.mobile-menu-container li.current-menu-item>a,
.mobile-menu-container li.current-menu-parent>a,
.mobile-menu-container li.current-menu-ancestor>a,
.mobile-menu-container li.current_page_parent>a,
.mobile-menu-container li.current_page_ancestor>a {
	color: #C9A236 !important;
}

@media only screen and (max-width: 767px) {
	.et-product-search-toggle .toggle {
		width: 18px;
	}
	.et-product-search-toggle .search-toggle {
		mask-size: 16px;
	}
}

/* Sticky dashboard disabled */
.no-sticky-dashboard footer {
	margin-bottom: 0;
}

/* Custom styles for the notification bar */
.notification-bar-content {
	font-weight: 500;
	overflow: hidden;
	white-space: nowrap;
}

.notification-bar-marquee-track {
	display: inline-flex;
}

.notification-bar-marquee-item {
	display: inline-block;
	padding-right: 80px;
	white-space: nowrap;
}

/* Shop inner menu */
nav.swiper {
	padding: 0 3px 0 0;
}

.shop-inner-menu {
	display: flex;
	list-style: none;
	gap: 0;
	margin: 20px 10px 20px 1px;
}

.no-swiper .shop-inner-menu  {
	justify-content: center;
}

.shop-inner-menu:not(.swiper-wrapper) {
	justify-content: center;
}
.shop-inner-menu li {
	width: auto !important;
}
.shop-inner-menu li a {
	position: relative;
	display: inherit;
	padding: 10px 20px;
	outline: 1px solid #e0e0e0;
	text-transform: uppercase;
	color: #111111;
	font-weight: 400;
	text-align: center;
	text-decoration: underline;
	text-underline-offset: 6px;
	text-decoration-thickness: 1px;
	text-decoration-color: #C9A236;
	white-space: nowrap;
	border-radius: 5px;
}

.shop-inner-menu li a::before,
.shop-inner-menu li a::after {
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	left: -1px;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	backface-visibility: hidden;
	transform-origin: left top;
	background-color: transparent;
	transform: scale(0);
	transition: transform .2s cubic-bezier(.19, 1, .22, 1) !important;
	border-color: #C9A236 !important;
	border-radius: 5px;
}

.shop-inner-menu li a::before {
	border-left-width: 1px;
	border-left-style: solid;
	border-top-width: 1px;
	border-top-style: solid;
}

.shop-inner-menu li a::after {
	border-right-width: 1px;
	border-right-style: solid;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	transform-origin: right bottom;
}

.shop-inner-menu .current-menu-item a::before,
.shop-inner-menu .current-menu-item a::after,
.shop-inner-menu li a:hover::before,
.shop-inner-menu li a:hover::after {
	transform: scale(1);
	transition: transform .6s cubic-bezier(.19, 1, .22, 1) !important;
}

.shop-inner-menu-container {
	height: 100%;
	padding: 0 10px 10px;
}

.shop-inner-menu-container .swiper-button-next,
.shop-inner-menu-container .swiper-button-prev {
	display: none;
}

@media (min-width: 576px) {
	.shop-inner-menu-container {
		padding: 0 40px 40px;
	}
	.shop-inner-menu-container:not(.no-swiper) .swiper-button-next,
	.shop-inner-menu-container:not(.no-swiper) .swiper-button-prev {
		display: flex;
	}

	.shop-inner-menu-container .swiper-button-next,
	.shop-inner-menu-container .swiper-button-prev {
		height: 30px;
		background: #C9A236;
		border-radius: 4px;
		transform: translateY(-46%);
	}

	.shop-inner-menu-container .swiper-button-next span,
	.shop-inner-menu-container .swiper-button-prev span {
		display: block;
		width: 18px;
		height: 18px;
		background: url('images/double-arrow-white.svg') no-repeat center center;
	}

	.shop-inner-menu-container .swiper-button-prev {
		left: 0;
	}

	.shop-inner-menu-container .swiper-button-next {
		right: 0;
	}

	.shop-inner-menu-container .swiper-button-prev span {
		transform: rotate(180deg);
	}
}

@media only screen and (min-width: 992px) {
	.shop-inner-menu-container {
		padding-bottom: 40px;
	}
}

/* Single product cart form — quantity + add-to-cart on one row, buy-now full width below */
.single-product .summary-details form.cart:not(.variations_form) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}

.single-product .summary-details form.cart:not(.variations_form) .variation-calc {
	flex: 0 0 110px;
	width: 110px !important;
	max-width: 110px !important;
}

.single-product .summary-details form.cart:not(.variations_form) .single_add_to_cart_button:not(.buy-now-button) {
	flex: 1 1 0 !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	height: 56px !important;
	line-height: 56px !important;
}

.single-product .summary-details form.cart:not(.variations_form) .buy-now-button {
	flex: 0 0 100% !important;
	width: 100% !important;
	margin-top: 0 !important;
}

.single-product .summary-details .minus,
.single-product .summary-details .plus {
	width: 35px !important;
}

@media only screen and (max-width: 767px) {

	form.cart:not(.variations_form),
	.variations_form .single_variation_wrap {
		padding: 0;
		background: none;
		border: none;
	}
}

@media only screen and (min-width: 1024px) {

	.single-product .summary-details .variation-calc,
	.single_add_to_cart_button {
		max-width: none !important;
	}
}

/* Checkout page form changes */
.wc-block-checkout__main.wp-block-woocommerce-checkout-fields-block form .wc-block-components-text-input label,
.wc-block-checkout__main.wp-block-woocommerce-checkout-fields-block form .wc-blocks-components-select label,
.wc-block-checkout__main.wp-block-woocommerce-checkout-fields-block form .wc-block-checkout__add-note textarea::placeholder {
	opacity: 0.5;
}

.pf-slider .ui-slider-handle,
.pf-slider .ui-slider-range {
	background: #C9A236 !important;
}

/* Home page tab (need to use home-product-tabs class as a container class)*/
.home-product-tabs .section-tabs-component.tabset .section-tab-item {
	border-radius: 5px;
}

/* review content styles */

.single-product-reviews-wrap .woocommerce-Reviews .commentlist {
	max-height: 400px;
	overflow-y: scroll;
	padding-right: 5px;
}

/* Firefox only */
@supports (-moz-appearance: none) {
	.single-product-reviews-wrap .woocommerce-Reviews .commentlist {
		scrollbar-width: thin;
		scrollbar-color: #c9a236 #f1f1f1;
	}
}

.single-product-reviews-wrap .woocommerce-Reviews .commentlist::-webkit-scrollbar {
	display: block;
	width: 6px;
}

.single-product-reviews-wrap .woocommerce-Reviews .commentlist::-webkit-scrollbar-track {
	background: #f1f1f1;
}

.single-product-reviews-wrap .woocommerce-Reviews .commentlist::-webkit-scrollbar-thumb {
	background: #c9a236;
	border-radius: 4px;
}

@media only screen and (min-width: 1024px) {
	.single-product-reviews-wrap .rating-bars {
		order: 2;
		padding-right: 0;
	}

	.single-product-reviews-wrap .woocommerce-Reviews {
		order: 1;
		padding-right: 24px;
	}
}

/* global theme related changes */
.theme-button:hover::after {
	background-color: #C9A236;
}

.simple.et-terms .terms-item .term-image, .list.et-terms .terms-item .term-image {
	border-radius: 15px;
}

.simple.et-terms .terms-item .term-title, .list.et-terms .terms-item .term-title {
	text-decoration: none;
}

.terms-item .term-image::before {
	border-top-left-radius: 15px;
	border-bottom-left-radius: 15px;
	border-top-right-radius: 15px;
}

.terms-item .term-image::after {
	border-top-right-radius: 15px;
	border-bottom-right-radius: 15px;
	border-bottom-left-radius: 15px;
}

ul.products:not(.history-products) .product .post-inner {
	border-radius: 10px !important;
}

ul.loop-products:not(.history-products) .product .post-inner:hover:before {
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	border-top-right-radius: 10px;
}

ul.loop-products:not(.history-products) .product .post-inner:hover:after {
	border-top-right-radius: 10px;
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
}

@media only screen and (max-width: 767px) {
	ul.products .product .post-image {
		padding: 0 !important;
	}
}

ul.loop-products:not(.history-products) .product > .post-inner .image-container img {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}

.related-products ul.loop-products:not(.history-products) .product > .post-inner .image-container img {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.related-products .product-layout ul.products .product .post-inner {
	border-radius: 0 !important;
}

.related-products .product-layout ul.loop-products .product .post-inner:hover:before {
	border-radius: 0;
}
.related-products .product-layout ul.loop-products .product .post-inner:hover:after {
	border-radius: 0;
}

.product-layout ul.products .product .post-inner {
	border-radius: 5px !important;
}

.product-layout ul.loop-products .product .post-inner:hover:before {
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	border-top-right-radius: 5px;
}

.product-layout ul.loop-products .product .post-inner:hover:after {
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
}

.product-layout .product > .post-inner .image-container img {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}

.single-product .summary-details form.cart:not(.variations_form) .buy-now-button {
	border-radius: 30px;
}

.single-product .summary-details form.cart:not(.variations_form) .buy-now-button:hover {
	background-color: transparent !important;
	outline: 1px solid #C9A236 ;
	color: #C9A236 !important;
}

.shop-page.et-button {
	border-radius: 30px;
}

.shop-page.et-button:hover {
	background-color: transparent !important;
	outline: 1px solid #C9A236 ;
	color: #C9A236 !important;
}

.single-product .summary-details form.cart:not(.variations_form) .buy-now-button:hover::before,
.single-product .summary-details form.cart:not(.variations_form) .buy-now-button:hover::after {
	background-color: #C9A236 !important;
}

.single-product .summary-details form.cart:not(.variations_form) .single_add_to_cart_button:not(.buy-now-button) {
	border-radius: 30px;
	outline: 1px solid;
	background: transparent !important;
}

.single-product .summary-details form.cart:not(.variations_form) .single_add_to_cart_button:not(.buy-now-button):hover {
	background-color: #C9A236 !important;
	color: #fff !important;
}

.single-product .summary-details form.cart:not(.variations_form) .single_add_to_cart_button:not(.buy-now-button):hover::before,
.single-product .summary-details form.cart:not(.variations_form) .single_add_to_cart_button:not(.buy-now-button):hover::after {
	background-color: #fff !important;
}

.single-product .summary-details .minus, .single-product .summary-details .plus {
	outline: unset;
}

.single-product .summary-details form.cart:not(.variations_form) .variation-calc {
	border-radius: 30px;
	padding: 10px;
}
.product .summary .quantity input {
	height: 36px;
}
form.cart .quantity {
	min-height: 30px;
}
.summary .minus, .summary .plus {
	line-height: 55px;
}
.summary-details .et-accordion {
	border-radius: 10px;
}

@media only screen and (max-width: 1280px) {
	.summary-details .et-accordion .accordion-title {
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
	}
	.summary-details .et-accordion .accordion-title:not(.active) {
		border-bottom-left-radius: 10px;
		border-bottom-right-radius: 10px;
	}

	.summary-details .et-accordion .accordion-content table tbody tr:last-child td {
		border-bottom-right-radius: 10px;
	}
	.summary-details .et-accordion .accordion-content table tbody tr:last-child th {
		border-bottom-left-radius: 10px;
	}
}

.summary-details .et-accordion .accordion-title.active {
	background-color: #efefef;
}

.product .summary .woocommerce-product-attributes tr:nth-child(odd) td,
.product .summary .woocommerce-product-attributes tr:nth-child(odd) th {
	background-color: #f7f7f7 ;
}

.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=number],
.wc-block-components-form .wc-block-components-text-input input[type=password],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=url],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=number],
.wc-block-components-text-input input[type=password],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=url],
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border: 1px solid color-mix(in srgb,currentColor 20%,transparent)!important;
}

.wc-block-components-form .wc-block-components-text-input input[type=email]:focus, 
.wc-block-components-form .wc-block-components-text-input input[type=number]:focus, 
.wc-block-components-form .wc-block-components-text-input input[type=password]:focus, 
.wc-block-components-form .wc-block-components-text-input input[type=tel]:focus, 
.wc-block-components-form .wc-block-components-text-input input[type=text]:focus, 
.wc-block-components-form .wc-block-components-text-input input[type=url]:focus, 
.wc-block-components-text-input input[type=email]:focus,
.wc-block-components-text-input input[type=number]:focus,
.wc-block-components-text-input input[type=password]:focus,
.wc-block-components-text-input input[type=tel]:focus,
.wc-block-components-text-input input[type=text]:focus,
.wc-block-components-text-input input[type=url]:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border: 1.5px solid color-mix(in srgb,currentColor 20%,transparent)!important;
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: inset 0 0 0 1.5px color-mix(in srgb,currentColor 20%,transparent) !important;
}

.wc-block-checkout__shipping-option .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: none !important;
	pointer-events: none !important;
}

.wc-block-checkout__shipping-option .wc-block-components-radio-control--highlight-checked:after {
	display: none;
}

.wc-block-components-product-price {
	color: #191716 !important;
}

.woocommerce-mini-cart__buttons > a,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	border-radius: 30px;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background-color: transparent !important;
	outline: 1px solid #C9A236 !important;
	color: #C9A236 !important;
}

.woocommerce-mini-cart__buttons > a:hover {
	background-color: #C9A236 !important;
	color: #fff !important;
	border-color: transparent !important;
}

/* Font changes */
h1, h2, h3, h4, h5, h6, body {
	font-family: 'Google Sans', serif;
}

/* shopping cart icon change */
.cart-toggle:before,
.dashboard-mobile-toggle-off:before,
.compare-table-toggle:before,
.ask-form .ask-close:before,
.categories-mobile-toggle-off:before {
    -webkit-mask: url(images/icons/cart.svg) no-repeat 50% 50%;
    mask: url(images/icons/cart.svg) no-repeat 50% 50%;
}

@media only screen and (max-width: 767px) {
	.cart-toggle:before,
	.dashboard-mobile-toggle-off:before,
	.compare-table-toggle:before,
	.ask-form .ask-close:before,
	.categories-mobile-toggle-off:before {
		mask-size: 25px;
	}
}

/* Site container max width changes */
@media only screen and (min-width: 1620px) {
	.container, .sub-menu.megamenu[data-width="grid"],
	.megamenu[data-width="100"] > .elementor,
	.alignwide,
	.wp-block[data-align="wide"] {
		max-width: 1600px !important;
		width: 1600px !important;
	}
	.e-con>.e-con-inner {
		max-width: 1600px;
	}
	.slider-1-layer-transform-x {
		transform: translateX(-324px) !important;
	}
}
