/*
Theme Name: Ecomus Child
Theme URI: https://wpecomus.com/
Author: DrFuri
Author URI: http://drfuri.com/
Description: Multipurpose WooCommerce WordPress Theme
Version: 1.0.0
Requires at least: 5.0
Tested up to: 5.8
Requires PHP: 7.0
License: GNU General Public License v2+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ecomus
Domain Path: /lang/
Tags: one-column, two-columns, left-sidebar, right-sidebar, full-width-template, post-formats, theme-options, threaded-comments, translation-ready
Template: ecomus
*/


/* global */

.post-375 .entry-header,
.single-portfolio .entry-header,
.single-portfolio .entry-thumbnail {
  display: none;
}


/* portofolio - catalog */

.visual-portfolio-archive #site-content {
  padding-top: 120px;
}

#header-title .text{
	display:none;
}

#header-title .text.active {
	display: grid;
}

#ct-entrance, #ct-access, #ct-home, #ct-door {
	display: none;
	min-height: 1200px;
	width: 75%;
	margin-left: auto;
}

.visual-portfolio-archive .elementor-widget-image img {
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
	opacity: 0.8;
    transition: opacity 0.3s ease;
}

.elementor-widget-image .widget-image-caption.wp-caption-text {
	font-weight: 700;
}

.vp_category {
	cursor: pointer;
}
.vp_category:hover{
	opacity: 0.8;
}

.vp-portfolio__loading .vp-portfolio__items-wrap {
    min-height: 600px;
    display: flex;
}

@keyframes fadeInAndSpin {
  0%, 24% {
    opacity: 0;
    transform: rotate(0deg);
  }
  25% {
    opacity: 1;
    transform: rotate(0deg);
  }
  100% {
    opacity: 1;
    transform: rotate(360deg);
  }
}

.vp-portfolio__loading .vp-portfolio__items-wrap .vp-portfolio__items {
    /* Atur bentuk dasar spinner */
    width: 48px !important;
    height: 48px !important;
    border-radius: 50%;
    border: 5px solid rgba(0, 0, 0, 0.08);
    border-top-color: #E01F1F;
    margin: 0 auto;
    align-self: center;
    
    /* Atur agar transparan sebelum animasi dimulai */
    opacity: 0;
    
    /* Panggil animasi yang sudah kita buat */
    /* Total durasi 2.1s: ~0.5s diam, ~1.6s berputar */
    animation-name: fadeInAndSpin;
    animation-duration: 2.1s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

.vp-portfolio__item-meta-title a {
  font-family: "urbanist";
}

.vp-portfolio__items-style-default .vp-portfolio__item-caption a:hover,
.vp-filter__style-minimal .vp-filter__item > a:focus, 
.vp-filter__style-minimal .vp-filter__item > a:hover{
	color: #E01F1F;
}

.vp-filter__style-minimal .vp-filter__item.vp-filter__item-active {
	--vp-filter-minimal--items__color:#E01F1F
}

.vp-portfolio .ecomus-image-box-grid__title{
	font-size: 21px;
	margin-bottom: 20px;
	font-weight: 400;
}

.vp-portfolio__items-style-fade {
	--vp-items-style-fade--overlay__background: #00000052;
}

.vp-portfolio__layout-elements-align-center .vp-filter__style-minimal {
  justify-content: start;
  flex-direction: column;
}

.vp-portfolio__layout-elements.vp-portfolio__layout-elements-top.vp-portfolio__layout-elements-align-center {
  width: 100%;
  text-transform: capitalize;
/*   position: absolute; v1; */
  flex-wrap: nowrap;
  justify-content: space-between;
  flex-direction: column; v2;
  min-height: 540px; v2;
}

.vp-portfolio__sort-wrap {
  z-index: 9;
}

.vp-filter__item {
  text-align: start !important;
}

.vp-portfolio__items-wrap {
/*   width: 75%; v1; */
  margin-left: auto;
	min-height: 1200px;
}

.vp-portfolio__filter-wrap {
  width: 342px;
  display: flex;
  z-index: 9;
	
}

.vp-portfolio__items-wrap > .vp-portfolio__items {
  margin-top: 50px;
}

.vp-sort__style-dropdown select {
  background: transparent;
  font-family: inherit;
  color: black;
  text-transform: capitalize;
  font-weight: 400;
  border-bottom: 2px solid;
  border-radius: 0px;
}

/* vp-filter  */

.vp-filter--accordion {
    width: 100%;
}

.vp-filter__category-toggle {
    width: 100%;
	border: none;
    padding: 10px 15px;
    text-align: left;
    cursor: pointer;
    font-size: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s ease;
}

.vp-filter__category-toggle {
  background-color: #f0f0f0;
}

.vp-filter__category-toggle:hover,
.vp-filter__category-group.active .vp-filter__category-toggle {
    background-color: #ccc;
	color: #000;
}

.vp-filter__toggle-icon {
    font-size: 20px;
    transition: transform 0.3s ease;
}

.vp-filter__style-minimal .vp-filter__item > *{
	font-weight: 400;
}

.vp-filter__category-content {
   max-height: 0;
  overflow: hidden;
  padding: 0 15px;
  border-left: 1px solid #e9e9e9;
}

.vp-filter__category-content .vp-filter__item {
    padding: 8px 0;
}

/* --- State Aktif --- */

.vp-filter__category-group.is-active .vp-filter__category-content {
    max-height: 1000px;
}

.vp-filter__category-group.is-active .vp-filter__toggle-icon {
    transform: rotate(45deg);
}

.vp-filter__category-group {
    margin-bottom: 5px;
	padding-bottom: 1rem;
}

.cloned-category-content {
  animation: fadeInUp ease .75s;
}

.vp-portfolio__item-wrap {
    transition-property: none !important;
    transition-duration: 0s !important;
    transition-delay: 0s !important;
}

@media (max-width: 1200px) {
	
	.visual-portfolio-archive #site-content {
	  padding-top: 125px;
	}
	
	.vp-portfolio__filter-wrap {
	  transform: translateX(-340px);
		column-gap: 20px;
		overflow: visible;
		transition: transform 0.3s ease;
		
		&.active{
			transform: translateX(0);
		}
	}
	
	.vp-portfolio__filter-wrap::after {
	  content: "Filter";
	  left: clamp(15px, 5vw, 30px);
	  position: relative;

	  /* image filter */
	  background-image: url('/wp-content/uploads/2025/11/filter.png');
	  background-repeat: no-repeat;
	  background-position: center calc(10% - 15px);
	  cursor: pointer;
	}

	
	.vp-portfolio__items-wrap{
		width: 100%;
	}
	
	.vp-portfolio__sort-wrap {
	  z-index: 8;
	  position: absolute;
	  right: 0;
	}
	
	.vp-filter__category-group.is-active .vp-filter__category-content {
	  max-height: 200px;
	  overflow: scroll;
	}
	
	.vp-portfolio__items-wrap {
		padding-top: 60px;
	}
}

/* portofolio - detail */

.single-portfolio #site-header{
	position: relative;
}

.single-portfolio #site-header .minimized {
  display: none;
}

.single-portfolio #site-content .em-container {
	max-width: 100%;
	padding: 0px;
}

.single-portfolio .product-highlights_list .swiper-slide {
  border-top: 2px solid #ececec;
}