/*
Theme Name: Porto Child
Theme URI: https://www.portotheme.com/wordpress/porto
Template: porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive Wordpress Multi Purpose + eCommerce Theme.
Tags: woocommerce,business,corporate,e-commerce,blog,news,education,food-and-drink,portfolio,responsive,blue,black,green,white,light,dark,red,two-columns,three-columns,four-columns,left-sidebar,right-sidebar,fixed-layout,responsive-layout,custom-menu,editor-style,featured-images,flexible-header,full-width-template,microformats,post-formats,rtl-language-support,sticky-post,theme-options,translation-ready,accessibility-ready,block-styles,custom-background,custom-colors,custom-header,custom-logo,footer-widgets,template-editing,grid-layout,one-column,wide-blocks
Version: 7.6.2.1775188771
Updated: 2026-04-03 10:59:31

*/


/* PRODUCT CATALOGUE */
/* limit product desc to 3 lines */
.product-desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.5em;
    height: calc(1.5em * 3);
}
.product-desc a, .single-product-desc a {
	color: #000 !important
}
@media (min-width: 992px) {
    .product-grid {
        width: 25% !important;
    }
	
	.product-desc {
		-webkit-line-clamp: 1;
		height: calc(1.5em * 1);
	}
}

/* Add to cart button */
.product-link img {
	height: 40px !important;
	object-fit: contain !important;
}

/* Modal popup add to cart */
.variable-popup-wrap {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10000;
    background: #fff;
    padding: 20px;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    display: none;
	width: 50%;
    max-width: 800px;
    height: auto;
    max-height: 90vh;
    overflow-y: auto;
	border-radius: 20px;
}
.variable-popup-wrap form.variations_form {
    width: 100%;
}

.variable-popup-wrap table.variations {
    width: 100%;
}

.variable-popup-wrap .single_variation_wrap {
    margin-top: 20px;
}
.variable-popup-wrap .variable-items-wrapper .variable-item {
	height: 100px !important;
	width: 100px !important;
	padding: 0 !important;
	border-radius: 10px !important;
}
.variable-popup-wrap .variable-item-contents img {
    width: 100%;
    max-width: 400px;
    height: 100%;
	border-radius: 10px !important;
}
.variable-popup-wrap .variations .label {
	font-size: 1.6em;
	color: #000 !important;
}
.variable-popup-wrap button[type="submit"] {
	border-radius: 10px;
}
.popup-overlay {
    position: fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background: rgba(0,0,0,0.5);
    z-index: 9999;
    display:none;
}

.variable-popup-wrap ul.variable-items-wrapper {
    display: grid;
 	grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 15px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.variable-popup-wrap ul.variable-items-wrapper li {
    width: 100%;
}
.archive li.variable-item.image-variable-item {
	-webkit-box-shadow: none !important; 
}
.archive .single_variation_wrap .variations_button {
    align-items: unset !important;
    justify-content: space-between !important;
}
.archive div.quantity .plus, .archive div.quantity .minus {
	padding: 1.5rem !important;
}
.archive div.quantity .qty {
	padding-top: 1.5rem !important;	
	padding-bottom: 1.5rem !important;	
}
.product-image-hover {
    position: relative;
    overflow: hidden;
    display: block;
}

.product-image-hover .secondary-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

/* Saat kursor diarahkan (hover) */
.product-image-hover:hover .secondary-image {
    opacity: 1;
}

/* Opsional: Efek zoom sedikit pada gambar utama saat hover */
.product-image-hover:hover .primary-image {
    opacity: 0.8;
}

.product-image-hover img {
    width: 100%;
    height: auto;
    display: block;
}
/* SINGLE */
.single-product .woo-variation-product-gallery {
	max-width: 75% !important;	
	float: none !important;
}
.single-product form.cart, .single-product .single_variation_wrap {
	border-bottom: none !important
}
.single-product form div:hover {
	background-color: none !important;
}
.single-product .yith-wcwl-add-to-wishlist a {
	border-radius: 100%;
	border: 1px solid #999;
	padding: 10px
}
.single-product li.variable-item.image-variable-item.selected, .archive li.variable-item.image-variable-item.selected {
	box-shadow: var(--wvs-selected-item-box-shadow,0 0 0 2px #000) !important;
	-webkit-box-shadow: var(--wvs-selected-item-box-shadow,0 0 0 2px #000) !important;
	color: #000;
}
.single-product li.variable-item.image-variable-item {
    padding: 0 !important;
    border-radius: 8px !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important; 
}
.single-product li.variable-item.image-variable-item  img
{
	border-radius: 8px !important;
}
.single-product .woocommerce-variation-add-to-cart.variations_button button, .single-product .woocommerce-variation-add-to-cart.variations_button .quantity, .single-product .woocommerce-variation-add-to-cart.variations_button a {
	display: none !important;
}
.single-product .woocommerce-variation.single_variation {
	display: none !important;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).image-variable-item.selected:not(.no-stock) .variable-item-contents:before {
	display: none !important;
}
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) {
	-webkit-box-shadow: var(--wvs-item-box-shadow,  0 0 1px rgba(0, 0, 0, 0.2)) !important;
	box-shadow: var(--wvs-item-box-shadow,  0 0 1px rgba(0, 0, 0, 0.2)) !important;
}
.single-product button#single-add-to-cart-btn {
    background-color: transparent !important;
    border: 0 !important;
    width: 50% !important;
}
.single-product .quantity {
	margin-right: 16px;
}
.single-product .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled {
	display: none !important;
}
@media (max-width: 768px) {
    .single-product .woo-variation-product-gallery {
		max-width: 100% !important;
		width: 100% !important
	}
	.single-product .variations .woo-variation-items-wrapper {
		padding: 0 !important;
	}
	.single-product button#single-add-to-cart-btn {
		width: 80% !important;
	}
	.single-product .main-content  {
		padding-top: 0 !important;
	}
	.single-product .page-top {
		padding-bottom: 0 !important;
	}
	.single-product .quantity {
		margin-right: 0;
	}
	.archive .variable-popup-wrap {
		width: 90%;
	}
}