/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://example.com/
 Description:  Child theme for Hello Elementor
 Author:       Girit Technologies (Ariel Ashri)
 Author URI:   https://www.girit.biz/
 Template:     hello-elementor
 Version:      1.0.0
*/

/* Import parent theme styles */
@import url("../hello-elementor/style.css");

:root{
	--chiq-gradient: linear-gradient(to right, #00C691, #005DE3);
	--color-white: #ffffff;
	--color-black: #000000;
	--color-border: #DFDFDF;
	--icon-color: #A9A4A4;
	--thumb-height: 180px;
}

ul, ol {
	list-style: none;
	padding: 0;
}

.page-width{
	display: block !important;
	width: 100% !important;
	max-width: var(--container-max-width, 1600px);
	margin: 0 auto;
}

.elementor-button{
	background: var(--chiq-gradient);
}

ul.e-n-menu-heading li:hover a

#desktopMenu ul li{
	position:  relative !important;
}
#desktopMenu ul li .sub-arrow{
	display: none;
}
#desktopMenu > ul:not(.sub-menu) a{
	color: var(--color-white) !important;
}
ul.e-n-menu-heading li:hover > .e-n-menu-title a,
#desktopMenu ul li a.elementor-item-active,
#desktopMenu ul li:hover a.elementor-item{
  background: var(--chiq-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

#desktopMenu ul li .elementor-nav-menu--dropdown{
	left: 100% !important;
	margin-top: 17px !important;
}

#desktopMenu ul a.elementor-item:after{
	position: absolute;
	bottom: -8px;
	content: "";
	display: block;
	height: 3px;
	width: 100%;
	background: var(--chiq-gradient);
}

#search_trigger{
	cursor: pointer;
}
#search_container.active{
	display: flex;
	border-bottom: 1px solid #cccccc;
}

.gradient-text {
  background: var(--chiq-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
.newsletter-footer .elementor-form-fields-wrapper{
	position: relative;
	display: grid;
	grid-template-areas:
		"email email submit"
		"agree agree agree";
	grid-template-columns: 1fr 1fr 100px;

}
.newsletter-footer .elementor-field-type-checkbox {
	grid-area: agree;
}
.newsletter-footer .elementor-field-type-submit{
	grid-area: submit;
	position: absolute;
	left: 30px;
}

.newsletter-footer .elementor-field-type-submit .elementor-button{
	border-radius: 39px;
}
.newsletter-footer .elementor-field-type-email {
	grid-area: email;
}

.newsletter-footer .elementor-field-type-email input[type="email"] {
	height: 50px;
	border-top-right-radius: 39px;
	border-bottom-right-radius: 39px;
}

.newsletter-footer .elementor-field-type-email .elementor-field-label{
	display: none;
}
.newsletter-footer .elementor-field-type-checkbox label{
	font-size: 14px !important;
	cursor: pointer;
}
.newsletter-footer .elementor-field-type-checkbox  a{
	font-size: 14px !important;
	text-decoration: underline;
}
.newsletter-footer .elementor-field-type-checkbox .elementor-field-option{
	display: flex;
	align-items:center;
	gap: 0.5rem;
}
.newsletter-footer .elementor-field-type-checkbox .elementor-field-option input[type="checkbox"]{
	appearance: none;
	--webkit-appearence: none;
	background: var(--color-white);
	height: 1.2rem;
	width: 1.2rem;
	border-radius: 50%;
	cursor: pointer;
	position: relative;
	transition: all 0.3s ease;
}

.newsletter-footer .elementor-field-type-checkbox .elementor-field-option input[type="checkbox"]::after {
  content: '';
  position: absolute;
	top: 5px;
    left: 5px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #4a9abd;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.newsletter-footer .elementor-field-type-checkbox .elementor-field-option input[type="checkbox"]:checked::after {
  opacity: 1;
}

.footer-wrap .footer-columns{
	position: relative !important;
}
@media(min-width: 768px){

	.footer-wrap .footer-columns::before{
		content: "";
		position: absolute;
		top: 43px;
		right:0;
		display: block;
		height: 3px;
		width: 90%;
		background: var(--chiq-gradient);
	}

}

.product-category-archive header{
	padding: 0 15px;
}

.gradient-divder{
	display: block;
	height: 3px;
	width: 100%;
	background: var(--chiq-gradient);
	
}
.product-grid {
	display: grid;
	width: 100%;
	row-gap: 15px;
	column-gap: 15px;
	list-style: none;
	margin: 0;
	padding: 0 15px;
}




.product-grid.cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.product-grid.cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.product-grid.cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.product-grid.cols-5 {
  grid-template-columns: repeat(5, minmax(300px, 1fr));
}
.product-grid-title{
	text-align: center;
}
.product-card{
	position: relative;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--color-border);
	
}

.product-card:hover {
	border: 1px solid var(--icon-color);
}
.product-card:hover .product-media .media-img{
	transform: scale(1.05);
}

.product-card .product-info {
	padding: 10px;
}
.product-card .product-title{
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 8px;
	
}

@media (min-width: 750px) {
	.product-card .product-title{ 
		min-height: 50px;
	}
}

.product-media {
	position: relative;
	width: 100%;
	padding-top: 100%;
	overflow: hidden;
}

.product-media .media-img{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease-in-out;
}

.product-media .product-badges{
	position: absolute;
    top: 10px;
    right: 10px;
    z-index: 20;
    height: 100%;
    width: 100%;
}

.product-media .product-badges img{
	width: 50px;
	height: 50px;
}

.product-card .sku{
	font-size: 16px;
	color: #9E9E9E;
	text-align: right;
}
.product-attributes{
	padding-top: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}

.product-attributes.empty-terms{
	min-height: 54px;
}
.product-attribute-icon{
	display: inline-flex;
}

/* Responsive tweak: stack on small screens */
@media (max-width: 768px) {

.product-attributes{
	flex-wrap: wrap;
}
  .product-grid.cols-3,
  .product-grid.cols-4,
  .product-grid.cols-5 {
    grid-template-columns: repeat(2, minmax(150px, 1fr));
	
  }
  .product-image img{
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: center;
  }
  .product-card .product-title{
	min-height: 33px;
	font-size: 14px;
	font-weight: 700;
	text-align: right;
	display: -webkit-box;
  	-webkit-line-clamp: 2;     
  	-webkit-box-orient: vertical;
  	overflow: hidden;
  	text-overflow: ellipsis;

  }
  .product-card .sku{
	font-size: 12px;
	display: -webkit-box;
  	-webkit-line-clamp: 1;     
  	-webkit-box-orient: vertical;
  	overflow: hidden;
  	text-overflow: ellipsis;
  }
  .product-attribute-icon,
  .product-attribute-icon svg{
	width: 25px;
	height: 25px;

  }
  .product-attributes.empty-terms,
  .product-attributes {
	min-height: 35px;
  }
}

.elementor-post{
	position: relative;
	border: 1px solid var(--color-border);
	padding: 10px !important;
}
.elementor-post__meta-data{
	position: absolute;
	top: 10px;
	left: 10px;
	background: rgba(255,255,255, 0.8);
	font-size: 12px;
	color: var(--color-black) !important;
	padding: 5px;
}
.elementor-post .elementor-post__text{
	display: flex !important;
}

.elementor-post .elementor-post__title{
	margin-bottom: 8px !important;
}

.elementor-post__text .elementor-post__read-more{
  align-self: end !important;
  font-weight: 800 !important;	
  background: var(--chiq-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

@media (min-width: 750px) {
	[data-elementor-type="product"] .woocommerce-product-gallery{
		display: grid;
		grid-template-areas: "stage thumbs";
		grid-template-columns: 80% 20%;
		column-gap: 20px;
	}
	[data-elementor-type="product"] .woocommerce-product-gallery .woocommerce-product-gallery__trigger,
	[data-elementor-type="product"] .woocommerce-product-gallery .flex-viewport{
		grid-area: stage;
	}

	[data-elementor-type="product"] .woocommerce-product-gallery .flex-viewport{
		border: 1px solid #e6e6e6;
	}

	[data-elementor-type="product"] .woocommerce-product-gallery .flex-control-thumbs {
		grid-area: thumbs;
		display: flex;
		flex-direction: column;
		justify-content: start;
		align-items: start;
		gap: 20px;
		max-height: calc(4 * var(--thumb-height));
		margin: 0 !important;
		overflow-y: auto;
	}
	.woocommerce div.product div.images .flex-control-thumbs li{
		width: 100%;
		height: 100%;
		max-height: var(--thumb-height);
		float: none;
		padding: 0 !important;
		margin: 0 !important;
		
	}

	.woocommerce div.product div.images .flex-control-thumbs li img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}
.product-attributes-detail .attr-title{
	font-size: 20px;
}

.top-attributes .product-attributes-group .product-attribute{
	display: flex;
	align-items: center;
	justify-content: start;
	gap: 10px;
	padding-bottom: 15px;
}


@media(min-width: 750px) {
	.top-attributes .product-attributes-group{
		display: grid;
		grid-template-rows: repeat(7, 1fr);
		grid-auto-flow: column;
		gap: 10px 40px;
	}
	.top-attributes .product-attributes-group .product-attribute{

		gap: 10px;
		padding-bottom: 5px;
	}
}






.top-attributes .actions{
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 10px;
	font-size: 20px;
}
.btn{
	display: block;
	color: var(--color-white);
	background: var(--color-black);
	padding: 10px 20px;
	border-radius: 5px;
}
.btn.btn-download{
	display: flex;
	gap: 8px;
	color: var(--color-black);
	background: #f6f6f6;
}

.product-attributes-table {
  display: grid;
  grid-template-columns: 1fr 2fr;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  overflow: hidden;
  font-family: 'Inter', sans-serif;
}

.product-attribute-row {
  display: contents; /* let grid columns apply directly to children */
}

.product-attribute-row .attribute-label,
.product-attribute-row .attribute-value {
  padding: 12px 16px;
  border-top: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
}

.product-attribute-row.even .attribute-label,
.product-attribute-row.even .attribute-value {
  background-color: #f9fafb;
}

.product-attribute-row.odd .attribute-label,
.product-attribute-row.odd .attribute-value {
  background-color: #ffffff;
}

.attribute-label {
  font-weight: 500;
  color: #374151;
}

.attribute-value {
  color: #1f2937;
}


.product-attributes-title {
  margin-bottom: 12px;
  font-size: 28px;
  font-weight: 600;
  color: #111827;
}

.product-bottom-description{
	font-size: 20px;
}

/* [scroll_to_banner_grid] shortcode */
.acf-grid-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  padding: 1rem;
  border-radius: 12px;
}

.acf-grid-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 1rem;
}

@media(min-width: 750px) {
	.acf-grid-wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	padding: 2rem;
	border-radius: 12px;
	}
	.acf-grid-cell {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 1rem;
	}
}






.acf-grid-cell .icon img {
  max-width: 100%;
  height: auto;
  margin-bottom: 12px;
}

.acf-grid-cell .title {
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 4px;
}

.acf-grid-cell .subtitle {
  font-size: 0.85rem;
  color: #444;
  margin-bottom: 6px;
}

.acf-grid-cell .action a {
  font-size: 12px;
  text-decoration: underline;
  color: #888;
}
.bg-gray {
	background-color: #FBFBFC;
}
.acf-banner{
	padding: 3rem;	
}

.acf-banner.has-bg-img{
	background: var(--image-url) no-repeat;
	background-size: cover;
}

.gradient-border-box {
  display: inline-block;
  padding: 10px 20px;
  border: 2px solid transparent;
  border-radius: 12px;
  font-weight: bold;
  background: 
    linear-gradient(#fff, #fff) padding-box, 
    linear-gradient(to right, #00d084, #006eff) border-box;
  text-align: center;
}


.acf-banner.centered {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.acf-banner.centered .banner-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.acf-banner.centered .banner-content ul{
	list-style: none;
	padding: 0;
	display: flex;
	gap: 1.5rem;
	align-items: center;
	justify-content: space-between;
}

.acf-banner .banner-image{
	grid-area: bannerImage;
}
.acf-banner .banner-content{
	grid-area: bannerContent;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}


.acf-banner.image_left,
.acf-banner.image_right{
	display: grid;
	grid-template-areas: "bannerImage"
						 "bannerContent";
	grid-template-columns: 1fr;
}

@media (min-width: 750px) {
	.acf-banner.image_left{
	display: grid;
	grid-template-areas: "bannerContent bannerImage";
	grid-template-columns: 1fr 1fr;
}
.acf-banner.image_right{
	display: grid;
	grid-template-areas: "bannerImage bannerContent";
	grid-template-columns: 1fr 1fr;
}

}


.acf-banner.huge-capacity ul{
  counter-reset: section;
  list-style: none;
  margin: 0;
  padding: 0;
  direction: rtl;
  font-family: inherit;
}

.acf-banner.huge-capacity li{
  position: relative;
  counter-increment: section;
  padding: 1em;
  margin: 4px 0;
  border-radius: 8px;
  font-size: 16px;
  color: #333;
  background: linear-gradient(to right, transparent, #d2e9f7);
}
.acf-banner.huge-capacity li .bullet-title {
	margin-right: 1rem;
}

.acf-banner.huge-capacity li::before{
  content: counter(section) ".";
  font-weight: bold;
  color: #333;
  margin-left: 10px;
  display: inline-block;
  min-width: 2em;
  direction: rtl;
  position: absolute;
}
.acf-banner.huge-capacity li:nth-child(1) { background: linear-gradient(to right, transparent, #b2ebf2); }
.acf-banner.huge-capacity li:nth-child(2) { background: linear-gradient(to right, transparent, #f8bbd0); }
.acf-banner.huge-capacity li:nth-child(3) { background: linear-gradient(to right, transparent, #d1c4e9); }
.acf-banner.huge-capacity li:nth-child(4) { background: linear-gradient(to right, transparent, #c8e6c9); }
.acf-banner.huge-capacity li:nth-child(5) { background: linear-gradient(to right, transparent, #ffe0b2); }
.acf-banner.huge-capacity li:nth-child(6) { background: linear-gradient(to right, transparent, #bbdefb); }


.image-text-rows li {
	padding: 1.5rem;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: start;
	gap: 1rem;
	border: 2px solid transparent;
	border-radius: 1.2rem;
	  background: 
    linear-gradient(#fff, #fff) padding-box, 
    linear-gradient(to right, #00d084, #006eff) border-box;
	margin-bottom: 1.5rem;
}

.image-text-rows li .bullet-text h3{
	margin: 0;
}