/*======================================
Theme Name: instantpartyhire
Theme URI: https://divicake.com/
Description: divi child theme
Version: 1.2
Author: Divi Cake
Author URI: https://divicake.com/
Template: Divi
======================================*/
/* ## Setup
================================= */
	body{
		overflow-x: clip;
	}

/* ## Header
================================= */
.et-l--header{
	#top-bar-inner{
		display: flex;
		justify-content: end;
		column-gap: 30px;
		flex-wrap: wrap;
		align-items: center;
		.dwe_ajax_search{
			margin: 0 !important;
		}
		.et_pb_blurb_content{
			display: flex !important;
			align-items: center;
			.et_pb_main_blurb_image{
				margin: 0 !important;
			}
			.et_pb_blurb_container{

				h4.et_pb_module_header{
					margin: 0 !important;
					padding: 0 !important;
				}
			}
		}
	}
	.et_pb_sticky{
		box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
	}
	#site-logo-header img{
		transition: all 0.4s ease;
	}
	.has_et_pb_sticky #site-logo-header img{
		max-width: 70px;
	}
	.menu-container{
		display: flex;
		justify-content: end;
		align-items: center;
	}
}

/* ## Alignment
================================= */
	.alignfull{
		margin-inline: calc(50% - 50vw);
		width: 100vw;
	}


/* ## Typography
================================= */
	h1,h2,h3,h4,h5,h6{
		margin-top: 1.3em;
	}
	small{
		font-size: 80%;
	}
	h1{
		font-size: 40px;
		font-weight: 700;
		letter-spacing: -2px;
		margin-top: 1rem;
	}
	h1 small{
		display: block;
		margin-top: 30px;
	}
	#banner-hero h1{
		margin-top: 0;
	}

/* ## Buttons
================================= */
	.wp-block-buttons{
		margin-top: 1.3em;
		.wp-block-button__link{
			display: inline-block;
			background-color: #ffa902;
			border-radius: 4px;
			font-weight: bold;
			transition: all 0.4s ease;
			&:hover{
				background-color: rgba(114,114,114,0.2);
				color: black;
			}
		}
	}

/* ## Menu Styling
================================= */
ul#menu-mega-menu{
	ul.sub-menu{
		display:flex;
		flex-wrap: wrap;
		li {
			max-width: 33%;
			width: 100% !important;
			a {
				line-height: 1.1;
				padding: 8px !important;
				margin-bottom: 8px;
				max-width: 100%;
				color: white;
				font-size: 16px !important;
			}
		}
	}
}

/* ## Back to Top Button
================================= */
	#back-to-top{
		position: fixed;
		z-index: 999;
		width: 35px;
		aspect-ratio: 1;
		bottom: 20px;
		right: 20px;
		background-color: silver;
		border-radius: 50%;
		display: grid;
		place-content: center;
		padding: 5px;
		svg{
			fill: #fff;
			width: 100%;
			height: 100%;
		}
	}

/* ## Plugin Gravity Forms
================================= */
	.iph-quote-request-form_wrapper{
		background-color: hsl(0, 0%, 97%);
		padding: 18px;
		border: solid 1px rgb(217, 217, 217);
		border-radius: 4px;
		.gform_heading h2{
			margin-top: 0;
		}
	}

/* ## Plugin Quote Request
================================= */
	header.et-l--header .ywraq_number_items{
		&::before{
			content: '\f07a';
			font-family: FontAwesome !important;
			font-weight: 900 !important;
			margin-left: 30px;
		}
		a{
			background-color: #ffa902;
			border-radius: 50%;
			display: inline-block;
			aspect-ratio: 1;
			width: 26px;
			font-size: 14px;
			font-weight: bold;
			text-align: center;
			position: relative;
			top: -10px;
			span{
				display: none;
			}
		}
	}
	.cart .yith-ywraq-add-to-quote{
		margin-top: 0 !important;
		a.add-request-quote-button.button{
			margin-top: 0;
		}
	}
	:is(.woocommerce,.woocommerce-page){
		.yith-ywraq-add-to-quote{
			text-align: center;
		}
		.quantity{
			width: fit-content;
			display: inline-block;
			input.qty{
				color: black;
				padding: 5px 0;
				border: solid 1px gray
			}
		}
	}
	.ywraq-form-table-wrapper.wide{
		column-gap: 60px !important;
		margin-bottom: 60px;
	}
	.ywraq-wrapper h3.ywraq-form-title{
		margin-top: 5px;
		margin-bottom: 18px;
		font-size: 18px;
	}
	#yith-ywraq-form .update-list-wrapper{
		flex-direction: column;
		align-items: end;
		::after{
			content: "Quote Cart Total includes GST + Delivery and Pickup";
			display: block;
			padding-block: 20px;
		}
	}

/* ## WOO Category Pages
================================= */
	/* marquee & stage pages */
	body:is(
		.term-budget-marquees,
		.term-classic-framed-marquees,
		.term-premium-clear-span-marquees,
		.term-400mm-high-stage,
		.term-900mm-high-stage
	){
		.price{
			display: none !important;
		}
	}
	body.tax-product_cat.woocommerce{
		#content-area{
			margin-bottom: 80px;
		}
		.term-description{
			margin-top: 20px;
			margin-bottom: 40px;
			font-size: 18px;
			max-width: 860px;
		}
		.cat-banner.alignfull{
			height: 65vh;
			margin-top: 60px;
			img{
				width: 100%;
				height: 100%;
				object-fit: cover;
				filter: brightness(65%);
			}
		}
		.category-bottom-description{
			padding-block: 30px;
			font-size: 18px;
		}
		#content-area:has(.cat-banner){
			margin-bottom: 0;
		}
		ul.products.columns-4{
			&::before, &::after{display: none;}

			display:grid;
			grid-template-columns: repeat( auto-fill, minmax(250px, 1fr) );
			gap: 45px;

			&:has(.product-category){
				grid-template-columns: repeat( auto-fill, minmax(250px, 1fr) );
			}

			li.product{
				margin: 0;
				width: 100% !important;
				display: flex;
				flex-direction: column;
				align-items: center;
				padding: 8px;
				border: solid 1px silver;
				&.product-category{
					display: block;
				}
				a{
					flex-grow:1;
					img{
						filter: brightness(0.95);
						margin-bottom: 0 !important;
					}
				}
			}
		}
	}
	.woocommerce ul.products li.product .woocommerce-loop-category__title, 
	.woocommerce ul.products li.product .woocommerce-loop-product__title, 
	.woocommerce ul.products li.product h3 {
		font-weight: 600;
		font-size: 18px;
		text-transform: uppercase;
		color: #ffa902;
		text-align: center;
	}
	.woocommerce ul.products li.product.product-category h2.woocommerce-loop-category__title{
		padding: 10px;
		background: #000;
		border-top: 5px solid white;
		color: white !important;
		font-size: 16px;
		transition: all 0.4s ease;
		&:hover{
			background-color: hsl(0, 0%, 85%);
			color: black !important;

		}

	}
	.woocommerce ul.products li.product .price {
		font-weight: 600;
		font-size: 21px;
		color: #3C3C3C !important;
		text-align: center;
	}
	.et_button_custom_icon.woocommerce button.button::after, 
	.et_button_custom_icon.woocommerce-page button.button::after{
		line-height: unset;
	}

/* ## WOO Product Page
================================= */
	body.single-product{
		.woocommerce-variation-add-to-cart{
			margin-bottom: 12px !important;
		}
	}

/* ## Embellishments
================================= */
	.iph_shaped{
		position: relative;
	}
	.iph_shaped::after {
		content: '';
		display: block;
		position: absolute;
		background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDBweCIgdmlld0JveD0iMCAwIDEyODAgMTQwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiNGRkZGRkYiPjxwYXRoIGQ9Ik0xMjgwIDE0MFYwSDBsMTI4MCAxNDB6IiBmaWxsLW9wYWNpdHk9Ii41Ii8+PHBhdGggZD0iTTEyODAgOThWMEgwbDEyODAgOTh6Ii8+PC9nPjwvc3ZnPg==);
		background-size: 100% 100px;
		bottom: 0;
		height: 100px;
		width: 100%;
		z-index: 10;
		transform: scale(1,-1);
	}

/* ## Responsive
================================= */
	@media(max-width: 810px){
		body.tax-product_cat.woocommerce{
			#main-content > .container{
				width: 90%;

				ul.products.columns-4,
				ul.products.columns-4:has(.product-category){
					grid-template-columns: 1fr 1fr;
					gap: 12px;

					li.product{
						margin-bottom: 0 !important;
					}

					h2.woocommerce-loop-category__title{
						font-size: 16px;
						max-width: 85%;
						text-transform: lowercase;
						text-transform: capitalize;
					}
					button.button{
						font-size: 15px !important;
					}
					.et_shop_image{
						background-color: #EFEFEF;
					}
					img.attachment-woocommerce_thumbnail{
						aspect-ratio: 4 / 3;
						object-fit: contain;
					}
				}
			}
		}
		body:has(.mobile_nav.opened){
			position: fixed;
			overflow-y: clip;
		}
		ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after, 
		.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
			content: '3' !important;
		}
	}
