/* Keralcart Site Settings — WPC Smart Quick View modal (woosq): padding on the text column only, close button. */
.woosq-popup {
	box-sizing: border-box !important;
	padding: 0 !important;
	background: #fff !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	box-shadow: 0 20px 50px rgba(6, 68, 47, .22) !important;
	/* Grow to fit the content (plugin caps it at 460px and scrolls the details); only beyond 92vh does it scroll. */
	height: auto !important;
	max-height: 92vh !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
}
.woosq-popup .woosq-product,
.woosq-popup .woosq-product > .product,
.woosq-popup .summary,
.woosq-popup .summary-content {
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}
/* Details column sets the height; the image column matches it and centres the picture. */
.woosq-popup .woosq-product > .product { display: flex !important; align-items: stretch !important; }
.woosq-popup .thumbnails { align-self: stretch; display: flex !important; align-items: center; background: #fff; }
.woosq-popup .thumbnails > * { width: 100%; }
/* perfect-scrollbar rails from the plugin are no longer needed */
.woosq-popup .ps-scrollbar-y-rail,
.woosq-popup .ps-scrollbar-x-rail,
.woosq-popup .ps__rail-y,
.woosq-popup .ps__rail-x { display: none !important; }
.woosq-popup .summary-content {
	padding: 16px 40px 16px 28px !important;
}
.woosq-popup .mfp-close {
	top: 8px !important;
	right: 8px !important;
	width: 36px !important;
	height: 36px !important;
	line-height: 34px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	border: 1px solid #e6ece8 !important;
	background: #fff !important;
	color: #355d3f !important;
	font-size: 0 !important; /* the plugin draws the × with an icon font in ::before; hide the text "×" */
	opacity: 1 !important;
	text-align: center !important;
	transition: background-color .2s ease, color .2s ease;
	z-index: 5;
}
.woosq-popup .mfp-close::before {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	font-size: 16px !important;
	line-height: 34px !important;
	text-align: center !important;
	color: inherit !important;
}
.woosq-popup .mfp-close:hover { background: #d9b45b !important; border-color: #d9b45b !important; color: #06442f !important; }
.woosq-popup .mfp-close:focus-visible { outline: 2px solid #06442f; outline-offset: 2px; }

/* ---------- Details column layout ---------- */
.woosq-popup .summary-content {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	min-height: 100%;
	box-sizing: border-box;
}
.woosq-popup .summary-content > * { margin-top: 0 !important; }

/* Title + price */
.woosq-popup .product_title {
	font-size: 26px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin: 0 0 6px !important;
	padding-right: 24px;
	color: #1f3d2a !important;
}
.woosq-popup .summary-content > .price {
	margin: 0 0 18px !important;
	font-size: 20px !important;
	line-height: 1.3 !important;
}
.woosq-popup .summary-content > .price .amount,
.woosq-popup .summary-content > .price ins .amount {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #355d3f !important;
}
.woosq-popup .summary-content > .price del .amount { font-size: 15px !important; font-weight: 500 !important; color: #8a978e !important; }

/* Variations: label above a full-width select, no table borders */
.woosq-popup table.variations,
.woosq-popup table.variations tbody,
.woosq-popup table.variations tr,
.woosq-popup table.variations th,
.woosq-popup table.variations td {
	display: block !important;
	width: 100% !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: none !important;
	text-align: left !important;
}
.woosq-popup table.variations { margin: 0 0 16px !important; }
.woosq-popup table.variations tr + tr { margin-top: 12px !important; }
.woosq-popup table.variations th.label label {
	display: block !important;
	margin: 0 0 6px !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #5b6b60 !important;
	line-height: 1.4 !important;
}
.woosq-popup table.variations td.value { position: relative; }
.woosq-popup table.variations select {
	width: 100% !important;
	max-width: 100% !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 36px 0 14px !important;
	border: 1px solid #d5e0d8 !important;
	border-radius: 10px !important;
	background-color: #fff !important;
	font-size: 14px !important;
	color: #1f2a22 !important;
}
.woosq-popup table.variations select:focus { border-color: #355d3f !important; outline: none; box-shadow: 0 0 0 3px rgba(53, 93, 63, .15); }
.woosq-popup .reset_variations {
	position: static !important;
	display: inline-block;
	margin: 6px 0 0 !important;
	font-size: 13px !important;
	color: #355d3f !important;
}

/* WooCommerce hides "Clear" with visibility:hidden, which still takes up a line */
.woosq-popup .reset_variations[style*="hidden"] { display: none !important; }
.woosq-popup .single_variation_wrap .woocommerce-variation:empty,
.woosq-popup .single_variation_wrap .woocommerce-variation[style*="none"] { display: none !important; margin: 0 !important; }
.woosq-popup .single_variation_wrap { margin: 0 !important; padding: 0 !important; }

/* Duplicate ShopEngine wishlist/compare mini icons (the "Add to wishlist" button already exists) */
.woosq-popup .shopengine_add_to_list_action,
.woosq-popup .shopengine_comparison_add_to_list_action { display: none !important; }

.woosq-popup .single_variation_wrap .woocommerce-variation:not(:empty) { margin: 0 0 12px; font-size: 14px; }

/* Quantity: label + compact stepper on one line */
.woosq-popup .product-details__quantity {
	display: flex !important;
	align-items: center !important;
	gap: 16px;
	margin: 0 0 16px !important;
}
.woosq-popup .product-details__quantity-title {
	margin: 0 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #5b6b60 !important;
	line-height: 1 !important;
}
.woosq-popup .product-details__quantity .quantity {
	position: relative !important;
	width: 112px !important;
	height: 44px !important;
	margin: 0 !important;
}
.woosq-popup .product-details__quantity input.qty {
	width: 100% !important;
	height: 44px !important;
	padding: 0 36px 0 14px !important;
	border: 1px solid #d5e0d8 !important;
	border-radius: 10px !important;
	background: #fff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-align: left !important;
}
.woosq-popup .product-details__quantity .quantity .add,
.woosq-popup .product-details__quantity .quantity .sub {
	position: absolute !important;
	right: 1px !important;
	width: 32px !important;
	height: 21px !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 1px solid #e6ece8 !important;
	background: #f6f9f7 !important;
	color: #355d3f !important;
	font-size: 9px !important;
	line-height: 21px !important;
	cursor: pointer;
}
.woosq-popup .product-details__quantity .quantity .add { top: 1px !important; border-radius: 0 9px 0 0 !important; }
.woosq-popup .product-details__quantity .quantity .sub { top: auto !important; bottom: 1px !important; border-radius: 0 0 9px 0 !important; border-top: 1px solid #e6ece8 !important; }
.woosq-popup .product-details__quantity .quantity .add:hover,
.woosq-popup .product-details__quantity .quantity .sub:hover { background: #e9f1ec !important; }

/* Buttons: .product-details__buttons holds the cart button and, nested inside it, .product-details__buttons-2
 * (wishlist). One row, same height. */
.woosq-popup .product-details__buttons-2 { margin: 0 !important; padding: 0 !important; display: inline-flex !important; }
.woosq-popup .product-details__buttons {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woosq-popup .thm-btn.cart-btn,
.woosq-popup .single_add_to_cart_button,
.woosq-popup .product-details__buttons-2 .woosw-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	height: 46px !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 0 22px !important;
	border-radius: 999px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	white-space: nowrap;
	box-shadow: none !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.woosq-popup .thm-btn.cart-btn,
.woosq-popup .single_add_to_cart_button {
	background: #355d3f !important;
	border: 1.5px solid #355d3f !important;
	color: #fff !important;
	min-width: 150px;
}
.woosq-popup .thm-btn.cart-btn::before,
.woosq-popup .thm-btn.cart-btn::after { display: none !important; }
.woosq-popup .thm-btn.cart-btn:hover,
.woosq-popup .single_add_to_cart_button:hover { background: #06442f !important; border-color: #06442f !important; }
.woosq-popup .thm-btn.cart-btn.disabled,
.woosq-popup .single_add_to_cart_button.disabled { opacity: .55 !important; cursor: not-allowed; }
.woosq-popup .product-details__buttons-2 .woosw-btn {
	background: #fff !important;
	border: 1.5px solid #d5e0d8 !important;
	color: #355d3f !important;
}
.woosq-popup .product-details__buttons-2 .woosw-btn::before,
.woosq-popup .product-details__buttons-2 .woosw-btn::after,
.woosq-popup .product-details__buttons-2::before,
.woosq-popup .product-details__buttons-2::after { display: none !important; content: none !important; }
.woosq-popup .product-details__buttons-2 .woosw-btn:hover { border-color: #355d3f !important; background: #f3f7f4 !important; }

/* SKU / Category: quiet meta line under a divider */
.woosq-popup .product_meta {
	margin: 20px 0 0 !important;
	padding: 14px 0 0 !important;
	border-top: 1px solid #e6ece8 !important;
	display: flex !important;
	flex-wrap: wrap;
	gap: 4px 20px;
}
.woosq-popup .product_meta > span {
	display: inline-block !important;
	margin: 0 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	color: #5b6b60 !important;
}
.woosq-popup .product_meta > span .sku,
.woosq-popup .product_meta > span a {
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #1f2a22 !important;
}
.woosq-popup .product_meta > span a:hover { color: #355d3f !important; text-decoration: underline; }

/* Image column fills the full height of the popup */
.woosq-popup .thumbnails { background: #f4f7f5 !important; }

@media (max-width: 767px) {
	/* Image and details stack on phones; the popup only scrolls if they are taller than 92vh. */
	.woosq-popup .woosq-product > .product { display: block !important; }
	.woosq-popup { -webkit-overflow-scrolling: touch; }
	/* Shorter image banner so image + details fit on a phone screen without scrolling. */
	.woosq-popup .thumbnails,
	.woosq-popup .thumbnails .slick-list,
	.woosq-popup .thumbnails .slick-track { height: 220px !important; max-height: 220px !important; }
	.woosq-popup .thumbnails img { width: 100% !important; height: 220px !important; max-height: 220px !important; object-fit: cover; }
	.woosq-popup .thumbnails .slick-dots { bottom: 6px !important; }
	.woosq-popup .summary-content { padding: 18px 16px 20px !important; min-height: 0; }
	.woosq-popup .product_title { font-size: 22px !important; }
	.woosq-popup .thm-btn.cart-btn, .woosq-popup .single_add_to_cart_button, .woosq-popup .product-details__buttons-2 .woosw-btn { padding: 0 12px !important; min-width: 0 !important; }
	/* .product-details__buttons holds the cart button AND .product-details__buttons-2 (wishlist): two equal halves */
	.woosq-popup .product-details__buttons {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		width: 100% !important;
		gap: 10px !important;
	}
	.woosq-popup .product-details__buttons > .thm-btn,
	.woosq-popup .product-details__buttons > .single_add_to_cart_button,
	.woosq-popup .product-details__buttons > .product-details__buttons-2 { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; max-width: none !important; }
	.woosq-popup .product-details__buttons-2 { display: flex !important; }
	.woosq-popup .product-details__buttons-2 > * { width: 100% !important; }
	/* Variation table (Volume + select) stays inside the column */
	.woosq-popup table.variations { width: 100% !important; table-layout: fixed; }
	.woosq-popup table.variations select { width: 100% !important; max-width: 100% !important; }
}
