/* Madib Theme - WooCommerce Shop & Product Page Styles */

/***********
Breadcrumbs
***********/

.woocommerce-breadcrumb{
	padding-left: 30px;
	margin-bottom: 20px;
}

.woocommerce-breadcrumb a{
	text-decoration: none!important;
}

.acknowledgment-wrapper{
	border: 1px solid var(--orange-trim-passive);
	background: none!important;
}

/***********************
Single Product Page
***********************/

.product-container{
	display: flex;
}

.product-description-content{
	font-size: 1.2rem;
}

.quantity{
	width: auto;
}

.quantity input{
	border: 1px solid var(--orange-trim-passive);
	color: var(--orange-trim-passive);
}

.cart{
	margin-top: 20px;
	display: flex;
	gap: 5px;
}

@media screen and (max-width: 1050px){
	.product-container{
		flex-direction: column;
		align-items: center;
	}
	.product-gallery{
		max-width: 450px;
		width: 100%;
	}
	.entry-summary{
		max-width: 450px;
		width: 100%;
	}
	.entry-summary p{
		text-align: center;
	}
	.cart{
		justify-content: center;
	}
	.shipping-info{
		align-self: center;
	}
	.product_title{
		align-self: center;
	}
}

@media screen and (min-width: 1051px){
	.product-container{
		flex-direction: row;
		gap: 30px;
	}

	.product-gallery{
		width: 57%;
	}
	.entry-summary{
		width: 37%;
	}
	.cart{
		justify-content: left;
	}
	.product_title{
		align-self: flex-start;
	}

}


.woocommerce-product-gallery{
	position: relative;
}

.woocommerce-product-gallery__trigger{
	background: #fff;
	border: none;
	box-sizing: content-box;
	border-radius: 100%;
	cursor: point;
	font-size: 2em;
	height: 36px;
	padding: 0;
	position: absolute;
	right: .5em;
	text-indent: -9999px;
	top: .5em;
	width: 36px;
	z-index: 3;
}

.woocommerce-product-gallery__trigger::before{
	border: 2px solid #000;
	border-radius: 100%;
	box-sizing: content-box;
	content: "";
	display: block;
	height: 10px;
	left: 9px;
	top: 9px;
	position: absolute;
	width: 10px;
}

.woocommerce-product-gallery__trigger::after{
	background: #000;
	border-radius: 6px;
	box-sizing: content-box;
	content: "";
	display: block;
	height: 8px;
	left: 22px;
	position: absolute;
	top: 19px;
	transform: rotate(-45deg);
	width: 2px;
}

.product_meta{
	display: none;
}

.custom-field-wrapper p{
	margin: 5px 0;
}

.amount{
	font-weight: bold!important;
	font-size: 1.4rem;

}

.variable-item:first-child {
	margin-left: 0!important;
}

.reset_variations{
	display: none;
}

.woo-selected-variation-item-name{
	display: none!important;
}

.entry-summary{
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.flex-control-nav{
	display: flex;
	flex-direction: row;
	justify-content: center;
	list-style: none !important;
	padding: 0!important;
	gap: 1.2rem;
}

.flex-control-nav li{
	cursor: pointer;
}

.variations .label{
	display: none!important;
}

.entry-summary h5{
	font-size: 1rem;
	margin: 5px 0;
	font-weight:bold;

}
#medium-info-wrapper{
	position: relative;
	width:100%;
	overflow: hidden;
}

#medium-info-wrapper p{
	font-size: 1rem;
	margin: 5px 0 10px 0;
	font-weight: 100;
	line-height: 1.2rem;
}

.flex-viewport img{
	width: 100%;
	height: auto;
}

.medium-info{
	position: absolute;
	transition: left ease-in-out 0.5s;
}

.variations_form{
	margin-top: 10px;
}

.variable-items-wrapper .selected{
	border-color: var(--orange-trim-passive)!important;
}

.woocommerce-variation-add-to-cart{
	margin-top: 30px;
}

.quantity input{
	height: 44px;
	width: 40px;
	font-size: 1.2rem;
	padding: 0 5px;
	text-align: center;
}

.single_add_to_cart_button, .single_buy_now_button{
	padding: 10px;
	border-radius: 4px;
	font-size: 1.2rem;
}

.single_add_to_cart_button{
	border: 1px solid var(--orange-trim-passive);
	background-color: var(--orange-trim-passive);
	color: #fff;
}

.single_add_to_cart_button:hover{
	border: 1px solid var(--orange-trim);
	color: #fff;
	background-color: var(--orange-trim);
}

.single_buy_now_button{
	border: 1px solid var(--orange-trim-passive);
	background-color: #fff;
	color: var(--orange-trim-passive);
}

.single_buy_now_button:hover{
	border: 1px solid var(--orange-trim);
	color: #fff;
	background-color: var(--orange-trim);
}

/**********
WooCommerce
/*********/
#shop-page-title{
	margin-top: 40px;
	font-size: 1.8rem!important;
	text-align: center;
	font-weight: 500;
	display: none;
}

.shop-container{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	row-gap: 30px;
	margin-bottom: 60px;
	list-style: none;
}

.shop-container img{
	width: 100%;
}

.shop-page{
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: left;
}

.product-item{
	min-width: 250px;
	max-width: 340px;
	border-radius: 10px;
	position: relative;
	border: solid 1px #FFF;
}

.product-item:hover{
	border: solid 1px rgba(212, 123, 36, 0.3);
	background-color: #FBFBFB;
}

.product-item a{
	text-decoration: none;
	color: inherit;
}

#shop-artworks{
	width: 100%;
}

.products-container{
	position: relative;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 2%;
	justify-items: left;
	justify-content: center;
}

.message-container{
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 2%;
	justify-content: center;
}


/***********************
Shop Image Slider
***********************/

.shop-slider-container{
	width: 100%;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

.shop-slider{
	position: relative;
	width: 90%;
	height: auto;
	margin: 5%;
	overflow: hidden;
}

.shop-slide{
	position: absolute;
	height: auto;
	transform: translateX(100%);
	transition: transform 0.6s ease-in-out;
	z-index: 1;
	inset: 0;
}

.shop-slide.active{
	inset: 0;
	transform: translateX(0);
	position: absolute;
	z-index: 3;
}

.shop-slide.prev {
	inset: 0;
	transform: translateX(-100%);
	position: absolute;
	z-index: 2;
}

.shop-slide img {
	width: 100%;
	height: auto;
	position: relative;
	border-radius: 5px;
}

.shop-nav-arrow {
	position: absolute;
	top: 50%;
	border: none;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 4rem;
	color: var(--orange-trim);
	transition: all 0.3s ease;
	z-index: 10;
	opacity: 0.9;
}

.shop-nav-arrow:hover {
	color: var(--orange-trim);
	transform: translateY(-20%) scale(1.2);
	opacity: 0.9;
}

.shop-prev-arrow {
	left: -3px;
}

.shop-next-arrow {
	right: -3px;
}

.shop-meta h3{
	color: var(--orange-trim-passive);
	font-size: 1.4rem;
	margin: 20px 0 10px 0;
	transition: all 0.3s ease-in-out;
	text-align: center;
}

.shop-meta p{
	text-align: center;
	font-size: 1rem;
	margin: 0;
}

.shop-meta div{
	margin-top: 10px;
	margin-bottom: 30px;
	display:flex;
	justify-content: center;

}

.shop-meta span{
	margin: 0 auto;
	position: relative;
	font-size: 1.2rem;
	font-weight: 500;
}

.shop-meta bdi{
	font-weight: 500;
}

/***********************
Product Item Responsive
***********************/

@media screen and (min-width: 935px){
	.product-item{
		flex-basis: 31%;
		margin-bottom: 35px;
	}
}


@media screen and (min-width: 616px) and (max-width: 934px) {
	.product-item{
		flex-basis: 48%;
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 615px){
	.product-item{
		flex-basis: 100%;
		margin-bottom: 30px;
	}
}

/***********************
WC Cart Responsive
***********************/

@media screen and (min-width: 581px) and (max-width: 822px) {
	.wc-block-cart__submit-container a{
		width: 190px;
		float: right;
	}
}

.cart-wrap{
	text-align: center;
}

@media screen and (min-width: 581px){
	.cart-wrap h1{
		margin-top: 30px;
	}
}

@media screen and (max-width: 580px){
	.cart-wrap h1{
		margin-top: 20px;
	}
}

/***********************
Sign Up Banner
***********************/

.sign-up-banner-container{
	display: flex;
	justify-content: center;
	border-bottom: 1px #EEE solid;
}

.sign-up-banner{
	padding: 20px 40px;
	background: #fad9b8;
	width: auto;
	border-radius: 20px;
	margin-bottom: 30px;

}

.sign-up-banner p:nth-of-type(1){
	font-size: 1.2rem;
	margin: 10px 0;
}

.sign-up-banner p:nth-of-type(2){
	font-size: 1.9rem;
	margin: 0;

}

html[lang="en-US"] .sign-up-banner p:nth-of-type(2){
	font-size: 1.9rem;
	font-weight: bold;
}

html[lang="zh-Hant"] .sign-up-banner p:nth-of-type(2){
	font-size: 2.2rem;
	font-weight: bolder;
}

#sign-up-container{
	display: inline-block;
	padding: 5px 12px;
	border-radius: 15px;
	border:var(--orange-trim) solid 1px;
	color:var(--orange-trim)!important;
	width: auto;
}

#sign-up-container a{
	line-height: 30px;
	text-align: center;
	text-decoration: none;
	color: inherit;
}

#sign-up-container:hover{
	border: 1px solid var(--orange-trim);
	background:var(--orange-trim)!important;
	border:var(--orange-trim) solid 1px;
	color: #fad9b8!important;
	cursor: pointer;
}

/***********************
WC Block Components
***********************/

.wc-block-components-product-name{
	color: var(--orange-trim);
	text-decoration: none;
	font-weight: bold;
}

.wc-block-components-sidebar-layout{
	margin-bottom: 0!important;
}

.wp-block-woocommerce-cart-totals-block{
	margin-bottom: 0!important;
}

.wc-block-cart__submit-container a, .wc-block-components-checkout-place-order-button{
	padding: 8px 20px;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.2s;
    font-size: 1rem;
    border: 1px solid var(--orange-trim);
    color: #FFF;
	background-color: var(--orange-trim);
	text-decoration: none;
}

.wc-block-cart__submit-container a:hover, .wc-block-components-checkout-place-order-button:hover{
	border: 1px solid var(--orange-trim-passive);
	background-color: var(--orange-trim-passive);
}

.wc-block-components-checkout-return-to-cart-button{
    border-radius: 10px;
    cursor: pointer;
    font-weight: 500;
    transition: background-color 0.2s;
    font-size: 1rem;
    border: 1px solid var(--orange-trim);
    color: var(--orange-trim)!important;
	background-color: #FFF!important;
	text-decoration: none;
	padding: 1em 1.5em 1em 3em;
}

.wc-block-components-checkout-return-to-cart-button:hover{
    border: 1px solid var(--orange-trim-passive)!important;
	background-color: var(--orange-trim-passive)!important;
    color: #FFF!important;
}

.wp-block-woocommerce-cart-order-summary-coupon-form-block{
	display: none;
}

.wc-block-components-product-price{
	text-align: left;
}

.wc-block-components-product-details__framing{
	display: flex;
}

.wc-block-cart-item__quantity{
	display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: baseline;
}

.wc-block-components-checkbox__label a{
	color: var(--orange-trim-passive);
	text-decoration: none;
}

.wc-block-components-checkbox__label a:hover{
	color: var(--orange-trim);
}

/***********************
Currency Selector
***********************/

.currency-selector {
    margin: 10px 0;
    text-align: center;
}

.currency-select {
    padding: 8px 12px;
    border: 2px solid #ddd;
    border-radius: 5px;
    background: white;
    font-size: 14px;
    min-width: 80px;
}

.currency-select:focus {
    outline: none;
    border-color: #0073aa;
}

.price {
    transition: all 0.3s ease;
}

#custom-currency-switcher {
	text-align: right;
}

/***********************
Shop Options / Filters
***********************/

#shop-options{
	display: flex;
	justify-content: center;
	gap: 5px;
	margin: 20px 0 30px 0;
}

.shop-option, #custom-currency-switcher{
	padding: 0.4rem 0.6rem;
    font-size: 1rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    display: block;
}

.shop-option:hover, #custom-currency-switcher:hover{
	border-color: var(--orange-trim);
	color: var(--orange-trim);
}

#shop-options .selected{
	border-color: var(--orange-trim)!important;
	color: var(--orange-trim)!important;
}

/***********************
Related Products
***********************/

#related-products-wrapper{
	width: 100%;
	border-top: 1px solid #CCC;
	margin-top: 40px;
}

#related-products-wrapper h3{
	font-weight: bold;
	text-align: center;
	font-size: 1.4rem;
}


#related-products-container{
	margin-top: 20px;
	width: 100%;
	display: flex;
	gap: 3%;
	justify-content: center;
}

.related-product{
	width: 31%;
	max-width: 180px;
}

.related-product a{
	text-decoration: none!important;
	padding: 5%;
	border: 1px solid #FFF;
	color: var(--orange-trim-passive);
	display: block;
	border-radius: 5px;
}

.related-product a:hover{
	color: var(--orange-trim);
	border: 1px solid var(--orange-trim);
}


.single-related-product-image-cont{
	width: 100%;
}

.single-related-product-image-cont img{
	width: 100%;
	height: auto;
}

.related-product-meta {
	text-align: center;

}

.related-product-meta h4{
	font-size: 1.1rem;
	font-weight: bold;
	margin: 10px 0;
}

.related-product-meta p{
	margin: 5px 0 0 0;
}

.related-product-meta div, .related-product-meta bdi{
	margin: 3px 0 0 0;
	font-size: 1rem;
}

/***********************
WC Notices
***********************/

.woocommerce-notices-wrapper{
	text-align: center;
	color: var(--orange-trim);
	margin-bottom: 15px;
}

.custom-woocom-notices-wrapper{
    padding: 10px;
    border: 1px solid var(--orange-trim);
	border-radius: 10px;
}

.wc-block-components-product-metadata{
	text-align: left;
}

.product-text-wrapper{
	margin-top: 10px;
	color: var(--orange-trim-passive);
	font-size: 1.2rem;
}

.wc-block-components-address-form__country{
	margin-top: 10px!important;
}

.wp-block-product-new{
	display: none;
}

/***********************
Order Received Page
***********************/

.woocommerce-thankyou-order-received, .woocommerce-thankyou-order-failed{
	text-align: center;
}

.order-received-info-cont{
	display: flex;
	max-width: 800px;
	width: calc(100% - 20px);
	margin: 0 auto;
	justify-content: center;
	flex-direction: row;
	flex-wrap: wrap;
	list-style-type: none;
	padding: 10px;
	border: 1px solid var(--orange-trim-passive);
	border-radius: 10px 10px 0 0 ;
}

.order-received-info-cont li{
	margin-top: 10px;
	width: 50%;
}

.order-received-info-cont li:nth-child(odd){
	text-align: left;
}

.order-received-info-cont li:nth-child(even){
	text-align: right;
}

.order-received-info-cont li strong{
	font-size: 0.8rem;
	width: 100%;
}
.order-received-info-cont li span{
	width: 100%;
	font-size: 1rem;
	font-weight: bold;
}

.order-received-info-cont li:nth-child(3) span{
	font-size: 1.5rem!important;
	font-weight: bolder!important;
}

.woocommerce-order-details{
	width: calc(100% - 20px);
	max-width: 800px;
	border: 1px solid #666;
	padding: 10px;
	margin: 20px auto 0 auto;
}

.woocommerce-order-details h2{
	font-size: 1.2rem;
	text-align: center;
}

.woocommerce-table--order-details{
	width: 100%;
	margin-top: 10px;
}

.woocommerce-table--order-details tfoot tr{
	display: flex;
}

.woocommerce-table--order-details tfoot tr th{
	flex: 1;
	text-align: right;

    height: 30px;
    align-content: center;
}

.woocommerce-table--order-details tfoot tr td{
	min-width: 130px;
	flex-basis: 0 0 auto;
	text-align: right;
	align-content: center;
}

.order-details-head{
	width:100%;
	display: flex;

}

.order-details-head span{
	flex: 1;
}

.order-details-head span:first-child{
	text-align: left;
}

.order-details-head span:nth-child(2){
	text-align: right;
}

.order-details-body{
	width: 100%;
	margin-top: 15px;
}

.order-item-cont{
	width: 100%;
	display: flex;
}


.order-item-thumbmail{
	flex-basis: 0 0 auto;
}

.woocommerce-customer-details h2{
	font-size:1.5rem ;
}

@media screen and (min-width: 581px){
	.order-item-info-cont{
		flex: 1;
		display: flex;
	}

	.order-item{
		flex: 1;
		padding-left: 10px;
		align-content: center;
	}

	.order-item-total{
		flex-basis: 0 0 auto;
		text-align: right;
		font-size: 1.2rem;
		align-content: center;
	}
	.woocommerce-customer-details h2{
		text-align: left;
	}
	.woocommerce-customer-details{
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
	}

	.main_address_col{
		flex: 1;
	}

	.secondary_address_col{
		flex: 1;
	}

}

@media screen and (max-width: 580px){
	.order-item-info-cont{
		flex: 1;
		display: flex;
		flex-direction: column;
		margin-left: 10px;
	}

	.order-item{
		flex: 1;
		align-content: center;
	}

	.order-item-total{
		flex-basis: 0 0 auto;
		text-align: right;
		font-size: 1.2rem;
	}
	.woocommerce-customer-details h2{
		text-align: center;
	}

}

.ori-separator{
	width: 95%;
	display: block;
	border-bottom: 1px #999 solid;
	margin: 5px auto 10px auto;
}

.woocommerce-customer-details, .woocommerce-customer-notes{
	width: calc(100% - 20px);
	max-width: 800px;
	border: 1px solid #666;
	padding: 10px;
	margin: 20px auto 0 auto;
}

.woocommerce-customer-notes p{
	text-align: center;
	margin-top:0;
	font-weight: bold;
}

.woocommerce-column__title{
	font-size: 1.2rem;
}

.woocommerce-customer-details address p{
	font-style: normal;
	margin: 3px 0;
}

.woocommerce-customer-details address p:first-child{
	font-size: 1.1rem;
}

.address-name{
	margin: 35px 0;
}

.address-contact{
	margin: 15px 0;
	display: block;
}

/***********************
Misc WooCommerce
***********************/

.shipping-info{
	color: #666;
    border: 1px solid #666;
    border-radius: 5px;
    padding: 8px 10px;
    inline-size: fit-content;
}

.entry-content .wp-block-separator{
	display: none;
}

.cffb__list{
	width: calc(100% - 20px);
    max-width: 800px;
    border: 1px solid #666;
    padding: 10px;
    margin: 20px auto 0 auto;
}

.cffb__list-node{
	height: 25px;
}

.wp-block-checkout-fields-for-blocks-input-number{
	margin-bottom: 25px;
}

.woocommerce-order h3{
	text-align: center;
}

.shop .entry-title{
	margin-top: 30px;
	text-align: center;
}

/**********************
Price Loading Animation
**********************/

.shop-price{
	height: 22px;
}

.price-loader, .price-loader:before, .price-loader:after {
  border-radius: 50%;
  width: 10px;
  height: 10px;
  animation-fill-mode: both;
  animation: bblFadInOut 1.8s infinite ease-in-out;
}
.price-loader {
  color: var(--orange-trim-passive);
  font-size: 3px;
  position: relative;
  text-indent: -9999em;
  transform: translateZ(0);
  animation-delay: -0.16s;
  top: -45px;
}
.price-loader:before,
.price-loader:after {
  content: '';
  position: absolute;
  top: 0;
}
.price-loader:before {
  left: -30px;
  animation-delay: -0.32s;
}
.price-loader:after {
  left: 30px;
}

@keyframes bblFadInOut {
  0%, 80%, 100% { box-shadow: 0 2.5em 0 -1.3em }
  40% { box-shadow: 0 2.5em 0 0 }
}
    
.end-shop-vote{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 30px;
	align-items: center;
}

.end-shop-vote span{
	padding: 10px 0;
}