/**
* Fuel Theme
* Version 6.4.0
**/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Feul Lightbox
# WooCommerce
## Product Category
## Product Page
## Checkout Page
## Order Received Page
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Fuel Lightbox
--------------------------------------------------------------*/
html:has(#fuel_lightbox[open]) {
    overflow:hidden;
    scrollbar-gutter:stable
}

#fuel_lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	cursor: pointer;
	background: var(--black, #000);
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.7);
	max-width: 90dvw;
	max-width: 59rem;
    max-height: 90dvh;
    padding: 0;
    overflow: visible;
	overscroll-behavior: contain;
}

#fuel_lightbox::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
}

#fuel_lightbox .lightbox-toolbar {
	position: absolute;
	inset: 0 0 auto;
	background: #009bb6;
	cursor: auto;
	display: flex;
	justify-content: space-between;
}

#fuel_lightbox .lightbox-page-title {
    color: #fff;
    display: flex;
    align-items: center;
    padding: 0 1rem;
}

#fuel_lightbox .lightbox-close {
	color: #fff;
	font-size: 1rem;
	padding: 0.5rem 1.5rem;
	cursor: pointer;
	transition: opacity 0.3s, background 0.3s, color 0.3s;
	background: #333;
	border: none;
}

/* Position WooCommerce image lightbox below product lightbox close button */
.pswp {
    top: 2.1rem !important;
}

#fuel_lightbox .lightbox-close:is(:hover, :focus-visible) {
	background: #f1b120;
	color: #333;
}

#fuel_lightbox iframe,
#fuel_lightbox img {
	max-width: -webkit-fill-available;
	max-height: inherit;
}

#fuel_lightbox img {
	width: 100%;
	height: 100%;
}

/* Fullscreen styling */
#fuel_lightbox.fullscreen {
	max-width: 100vw;
    max-height: 100vh;
}

/* Needed for iPhone/iPad */
#fuel_lightbox[open],
#fuel_lightbox[open] iframe {
    width: 100%;
    height: 100%;
}

#fuel_lightbox.fullscreen .lightbox-close {
	inset: 1.2rem 0 auto;
	width: 5rem;
	margin: auto;
}

#fuel_lightbox.fullscreen iframe,
#fuel_lightbox.fullscreen img {
	width: 100vw;
    height: 100vh;
    object-fit: contain;
}

/* Lightbox Animation */
#fuel_lightbox[open] {
    animation: lightBoxIn var(--s, 0.5s) var(--e, ease);
}

#fuel_lightbox.close{
    animation: lightBoxOut var(--s, 0.5s) var(--e, ease);
}

@keyframes lightBoxIn {
	0% { opacity: var(--o1, 0); transform: translate(var(--x1, 0), var(--y1, 0)); }
	100% { opacity: var(--o2, 1); transform: translate(var(--x2, 0), var(--y2, 0)); }
}

@keyframes lightBoxOut {
	0% { opacity: var(--o2, 1); transform: translate(var(--x2, 0), var(--y2, 0)); }
	100% { opacity: var(--o1, 0); transform: translate(var(--x1, 0), var(--y1, 0)); }
}


/*--------------------------------------------------------------
# WooCommerce
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Product Category
--------------------------------------------------------------*/
#filter-by-tag {
    font-size: 1rem;
}

#filtered-products {
    padding-top: 2rem;
}

#filtered-products .products {
    display: flex;
    flex-wrap: wrap;
    --product-gap: 1rem;
    gap: var(--product-gap);
}

#filtered-products .products:not(:has(li:nth-child(3))) {
	justify-content: flex-start;
}

#filtered-products .products::before {
	display: none
}

#filtered-products .product {
    float: none;
    margin: 0;
    width: unset;
	min-width: 11rem;
    flex: 0 1 calc(33% - var(--product-gap));
	display: flex;
    flex-direction: column;
    justify-content: space-between;
	border: solid .05rem var(--primary-color);
    border-radius: .2rem;
    padding: .5rem;
	outline: 0px solid var(--primary-color);
	transition: outline-width 0.3s;
}

#filtered-products .product:has(a:is(:hover, :focus-visible)) {
    outline-width: 3px;
}

#filtered-products .product .woocommerce-loop-product__title {
    font-size: 1rem;
	color: #333;
}

#filtered-products .product .price {
	color: #333;
}

@media (max-width: 68.49em) {
	#filtered-products .product {
		flex: 1 1 calc(33% - var(--product-gap));
	}
}

/*--------------------------------------------------------------
## Product Page
--------------------------------------------------------------*/
.wc-block-components-notice-banner__content .wc-forward,
.product-template-default #wpadminbar {
    display: none !important;
}

.woocommerce-product-gallery__image a {
    cursor: zoom-in;
}

.pswp__caption .pswp__caption__center {
    text-align: center;
}

.woocommerce .variations :is(.label, .value) {
    padding-bottom: 0;
}

.wp-singular #quantity {
    font-size: 0.8rem;
    padding: 0.3rem 2rem 0.3rem 0.3rem;
}

.wp-singular .wapf-field-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1.5rem;
}

.wp-singular .wapf-field-group .wapf-field-row {
    flex: 0 1 15rem;
}

.wp-singular .wapf-input {
    font-size: 1rem;
	padding: 0.3rem;
	height: 2rem;
    min-height: 2rem;
	border-style: solid;
}

.fm-locations-field .fm-location-checkboxes label { 
	cursor: pointer; 
}

textarea.wapf-input {
	font-family: var(--body-font-family);
}

.wp-singular .wapf-field-group .wapf-field-row:has(.full-width) {
    flex: 1 0 100%;
}

.full-width {
    display: flex;
    align-items: center;
}

.wapf-field-row:has(.wapf-hide) {
    display: none;
}

/*--------------------------------------------------------------
## Checkout Page
--------------------------------------------------------------*/
.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
.wc-block-components-text-input.practice-name,
#wc-guest-checkout-notice {
    display: none;
}

.other-ship-to-location {
    display: none;
}

/*--------------------------------------------------------------
## Order Received Page
--------------------------------------------------------------*/
.woocommerce-order-received .product-quantity {
    display: none;
}