/**Fonts*/
@font-face{
  font-family: boucherieblock;
  src: url('../Fonts/boucherieblock.woff2') format('woff2'),
  font-display: swap;  
}

@font-face{
  font-family: noir;
  src: url('../Fonts/noir.woff2') format('woff2'),
     url('../Fonts/noir.ttf') format('truetype');
  font-display: swap;  
}

@font-face{
  font-family: icomoon;
  src: url('../Fonts/icomoon.woff') format('woff'),
     url('../Fonts/icomoon.ttf') format('truetype');
  font-display: swap;  
}

@font-face{
  font-family: wooicomoon;
  src: url('../Fonts/wooicomoon.woff') format('woff'),
     url('../Fonts/wooicomoon.ttf') format('truetype');
  font-display: swap;  
}


/**Root*/
:root {
  --bright: #F8F8F8;
  --dark: #161616;
  --darksecondary: #1B1B1B;
  --primary: #355E3B; 
  --gold: #BC7E2B;
}


.plus:before{
	font-family: wooicomoon;
	content: "\ea0a";
}

.minus:before{
	font-family: wooicomoon;
	content: "\ea0b";
}

.bin:before{
	font-family: wooicomoon;
	content: "\e9ac";
}

.woocommerce-notices-wrapper{
	margin-bottom: 3em;
}

.woocommerce-message, .woocommerce-error, .woocommerce-info {
    border-top: 3px solid var(--primary) !important;
    outline: none;
}

.woocommerce-message::before, .woocommerce-error::before, .woocommerce-info::before {
    color: var(--primary) !important;
}

.cart-update-button {
    display: none;
}

.cart-grid {
    display: flex;
    flex-direction: column;
    gap: 2em;
}

.cart-grid__items form{
	display: grid;
    grid-template-columns: 1fr;
    gap: 1em;
}

.cart-item{
	position: relative;
	display: grid;
    grid-template-columns: 3em 1fr 5em;
    gap: 1.5em;
    padding: 1em;
	background: #F2F2F2;
}

.cart-item__info {
    display: flex;
    flex-direction: column;
    padding: 0.75em 0;
    height: 100%;
}

.cart-item__actions {
    display: flex;
    flex-direction: column;
    justify-self: end;
    align-items: flex-end;
    text-align: right;
    padding: 0.75em 0;
    height: 100%;
    gap: 0.75em;
}

.cart-item .cart-item__title{
	font-family: noir, sans-serif !important;
	font-size: 1.1em;
	line-height: 1.2em;
}

.cart-item .cart-item__price{
	font-size: 1.3em;
	margin-top: auto;
}

.qty-control, .product_quantity_flex {
    display: flex;
    align-items: center;
    gap: 0em;
}

.qty-display{
	font-size: 1.1em;
	width: 2.5em;
	background: var(--bright);
	text-align: center;
	padding: .4em .5em;
}

.qty-control button, .voucher_minus, .voucher_plus {
    width: 3em;
    height: 3em;
    cursor: pointer;
    color: var(--bright);
    background: var(--primary);
    outline: none;
    border: none;
    text-align: center;
}

.qty-control input.qty {
	display: none;
    width: 0em;
    text-align: center;
}


.cart-item__qty {
    margin-top: auto;
}

.cart-item__remove .cart_remove_button{
	font-size: 1em;
	color: var(--bright) !important;
	text-transform: uppercase;
	text-decoration: none;
	background: var(--primary);
	padding: .7em .7em .5em .7em;
	border-radius: 0.5em;
	border: 1px solid var(--bright);
}

.cart-item__remove .cart_remove_button:hover, .qty-control button:hover, #place_order:hover, 
.voucher_minus:hover, .voucher_plus:hover{
	background: var(--gold) !important;
}

.cart-grid__items, .cart-grid__summary {
    width: 100%;
}

.cart-grid__summary{
	position: relative;
	color: var(--bright);
	padding: 2em;
	background: var(--dark);
	box-sizing: border-box;
}

.cart-grid__summary h3{
	margin: 0em !important;
	padding: 0em 0em 1.5em 0em;
}

.cart-line, .summary-line, .summary-total {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
}

.summary-line{
	padding: .5em 0em;
}

.cart-total, .summary-total{
	font-size: 1.2em;
}

.coupon_cart_grid form{
	position: relative;
	display: grid;
    grid-template-columns: 1fr;
    gap: .3em;
	padding: 2em 0em 3em 0em;
	box-sizing: border-box;
}

.coupon_cart_grid input{
	font-family: noir, sans-serif;
	padding: .5em;
    width: 100%;
	border-radius: 0 !important;
	outline: none;
}

.coupon_cart_grid input::placeholder{
	color: var(--dark);
	text-transform: uppercase;
}

.coupon_cart_grid button{
    width: 100%;
    font-family: boucherieblock, sans-serif;
    font-size: 1.2em;
	color: var(--bright) !important;
	text-transform: uppercase;
	background: var(--primary) !important;
	padding: 1em 0em;
	border: 1px solid var(--bright) !important;
	border-radius: 0 !important;
}

.cart-grid__summary .checkout-button, #place_order{
	font-family: boucherieblock, sans-serif;
    font-size: 1.3em !important;
	color: var(--bright) !important; 
	width: 100%;
	text-align: center !important;
	text-transform: uppercase;
	background: var(--primary) !important;
	border: 1px solid var(--bright) !important;
	border-radius: 0!important;
}

.cart-grid__summary .checkout-button:hover, .coupon_cart_grid button:hover{

	background: var(--gold) !important;
}



/**Checkout Styles*/
.checkout-grid{
	display: flex;
    flex-direction: column;
    gap: 2em;
}

.checkout-grid h3{
	margin-top: 0em;
}

.checkout-grid__left{
	position: relative;
	background: #F2F2F2;
	padding: .5em 2em 2em 2em;
	box-sizing: border-box;
}


.checkout-grid__right{
	position: relative;
	color: var(--bright);
	background: var(--dark);
	padding: .5em 2em 2em 2em;
	box-sizing: border-box;
}

.woocommerce-billing-fields .form-row label{
	font-weight: bold;
	text-transform: uppercase;
	margin: .5em 0em .1em 0em;
}

.woocommerce-billing-fields input, #order-comments{
	padding: .8em !important;
	border-radius: 0em !important;
	outline:  none !important;
	border: 1px solid var(--primary) !important;
}

 .woocommerce-billing-fields .select2-selection{
	padding: .5em !important;
	border-radius: 0em !important;
	border: 1px solid var(--primary) !important;
}


/**Order Summary*/
.order-received__message{
	font-size: 1.15em;
	padding-bottom: 2em;
}

.order_glance {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5em;
}

.order_glance_item_wrap{
	position: relative;
	flex: 1 1 180px;
    display: flex;
    flex-direction: column;
    gap: 0.3em;
	padding: .5em;
	background: #F2F2F2;
}

.order_glance_label{
	display: block;
	font-size: .8em;
	text-transform: uppercase;
}

.order_glance_item{
	font-size: 1.1em;
	font-weight: bold;
}

.order-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2em;
    padding: .5em;
    align-items: center;
}

.order-col--product {
    flex: 1;
    font-size: 0.95em;
    text-transform: uppercase;
}

.order-col--total {
    min-width: 120px;
    text-align: right;
}

.order-row--header {
	font-size:  1.2em;
    color: var(--bright);
    font-weight: bold;
    text-transform: uppercase;
    background: var(--primary);
}

.order-row--total {
	font-size: 1.3em;
    font-weight: bold;
    margin-top: 1em;
	background: #F2F2F2;
}

/**Shop Page*/
#shop_content{
	position: relative;
	padding: 2em 0em 4em 0em;
	box-sizing: border-box;
}

.store_unavailable{
	position: relative;
	font-size: 1.5em;
	text-align: center;
	padding: 3em 0em;
	box-sizing: border-box;
}

#gift_voucher_grid{
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5em;
	align-items: stretch;
}

.voucher_item{
	position: relative;
	color: var(--bright);
	background: var(--dark);
	box-shadow: 0 0 10px #9F9F9F;
	overflow: hidden;
}

.voucher_item_top{
	position: relative;
	height: 20em;
	box-sizing: border-box;
}

.sold_out_badge{
	position: absolute;
	top: 0em;
	left: 0em;
	font-family: boucherieblock, sans-serif;
	font-size: 1.3em;
	color: var(--bright);
	text-transform: uppercase;
	text-align: center;
	background: var(--dark);
	padding: .7em;
	box-sizing: border-box;
}

.voucher_image {
    height: 100%;
}

.voucher_image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.voucher_info{
	position: relative;
	text-align: center;
	padding: 1.5em;
	box-sizing: border-box;
}

.voucher_info h3{
	font-family: boucherieblock, sans-serif;
  	font-size: 1.5em;
  	text-align: center;
  	text-transform: uppercase;
  	line-height: 1.1em;
  	margin: 0 0 .7em 0;
}

.voucher_info h4{
	font-family: noir, sans-serif;
  	font-size: 1.1em;
  	text-align: center;
  	text-transform: uppercase;
  	line-height: 1.1em;
  	margin: 0;
}

.voucher_info a{
	color: var(--bright);
	text-decoration: none;
}

.voucher_info a:hover{
	color: var(--gold);
}

.product_quantity_flex{
	position: relative;
	padding: 1em 0em 1.5em 0em;
    justify-content: center;
	box-sizing: border-box;
}

.product_quantity_val{
	font-size: 1.1em;
	width: 2.5em;
	background: var(--dark);
	text-align: center;
	padding: .4em .5em;
}


.voucher_atc{
	display: inline-block;
  	font-family: boucherieblock, sans-serif;
  	font-size: 1.3em;
  	color: var(--bright) !important;
  	text-align: center;
  	text-decoration: none;
  	background: var(--primary);
  	padding: 0.5em 1em;
  	border: 1.5px solid var(--bright);
  	box-sizing: border-box;
}

.voucher_atc:hover{
	cursor: pointer;
	background: var(--gold);
  	border: 1.5px solid var(--dark);
}
		


/**Product Page*/				
#product_listing{
	position: relative;
	display: grid;
    grid-template-columns: 1fr;
    gap: 2em;
    padding-bottom: 5em;
	box-sizing: border-box;
}

.product_image{
	position: relative;
	left: 50%;
	width: 90%;
	max-width: 20em;
	transform: translateX(-50%);
}

.product_image img{
	width: 100%;
	height: auto;
}

.product_listing_right h1{
	font-family: boucherieblock, sans-serif;
	font-size: 2.2em;
}

.product_listing_right h3{
	font-family: noir, sans-serif;
	font-size: 1.4em;
	text-transform: uppercase;
}

.product_listing_right h2{
	font-size: 1.2em;
	padding: 1em 0em;
}

.product_listing_right a{
	color: var(--primary);
}

.product_listing_right a:hover{
	color: var(--gold);
}


.product_info{
	font-family: noir, sans-serif;
	line-height: 1.5em;
}

.voucher_qty_bright{
	background: var(--bright) !important;
}

.product_listing_right .product_quantity_flex{
    justify-content: flex-start;
}

.product_listing_right .product_quantity_val{
	background: var(--bright);
}

.product_ratings .badge_rating{
	font-family: noir, sans-serif;
	font-size: .95em;
	color: var(--dark)
}

.product_ratings .badge_link .star, .ta_stars{
	color: var(--primary);
}

.product_page_cart{
	display: grid;
    grid-template-columns: 6em 17em;
    gap: 2em;
    align-items:center;
}

.product_page_cart .voucher_atc{
	position: relative;
    justify-self: start;
    top: -.2em;
}







/**Media Queries*/

@media only screen and (min-width: 27em){ 

}


@media only screen and (min-width: 30.313em){ 

}


@media only screen and (min-width: 33.125em){ 

	/**Cart Styles*/
	 .coupon_cart_grid form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.3em;
        padding: 2em 0 3em 0;
        align-items: stretch;
    }

}


@media only screen and (min-width: 36.875em){ 

}


@media only screen and (min-width: 38.5em){ 

	/**Cart Styles*/
	.cart-item{
	    grid-template-columns: 7em 1fr 7em;
	}




}


@media only screen and (min-width: 45em){ 

}


@media only screen and (min-width: 46em){ 

}


@media only screen and (min-width: 48em){ 

    /**Shop Page*/
	#gift_voucher_grid{
		grid-template-columns: 1fr 1fr;
	}

	/**Product Page*/				
	#product_listing{
	    grid-template-columns: 40% 60%;
	}


}


@media only screen and (min-width: 50em){ 

}


@media only screen and (min-width: 54em){ 

}


@media only screen and (min-width: 59em){

	/**Cart Styles*/
	.cart-grid, .checkout-grid{
        flex-direction: row;
        gap: 2em;
    	align-items: flex-start;
    }

    .cart-grid__items{
        flex: 1;
        min-width: 0;
    }

    .cart-grid__summary{
        flex: 0 0 22.5em;
    }

     .coupon_cart_grid form {
        grid-template-columns: 1fr 8em;
    }


    /**Checkout Styles*/
    .cart-grid__items, .checkout-grid__left{
        flex: 1;
        min-width: 0;
    }

    .cart-grid__summary, .checkout-grid__right{
        flex: 0 0 20em;
    }

  

}

@media only screen and (min-width: 67em){ 

}


@media only screen and (min-width: 70em){ 

	/**Cart Styles*/
	.cart-grid__items form{
	    gap: 1.5em;
	}

	.cart-item{
	    gap: 2em;
	}

	.cart-item .cart-item__title{
		font-size: 1.15em;
	}

	.cart-item .cart-item__price{
		font-size: 1.5em;
	}

  	/**Shop Page*/
	#gift_voucher_grid{
		grid-template-columns: 1fr 1fr 1fr;
	}

	.voucher_info{
		padding: 2.5em 1.5em;
	}

}


@media only screen and (min-width: 75em){ 
	
	/**Cart Styles*/
	.cart-grid {
        gap: 3em;
    }
}


@media only screen and (min-width: 80em){ 

    /**Checkout Styles*/
    .cart-grid__items, .checkout-grid__left{
        flex: 1;
        min-width: 0;
    }

    .cart-grid__summary, .checkout-grid__right{
        flex: 0 0 27em;
    }
}

