/*
Theme Name: TBFR Child Theme
Theme URI: https://elementor.com/
Description: A child theme for Hello Elementor
Author: Christopher Duncan
Author URI: https://tbfr.com
Template: hello-elementor
Version: 1.0.0
*/
/* Base (desktop-first) */
p, ul, ol {
  font-size: 0.9em;          /* 14.4px if parent is 16px */
  line-height: 1.55;         /* good readability at ~14–15px */
  margin-top: 0;             /* avoid double-stacking gaps */
  margin-bottom: 1.2em;      /* consistent space after paragraphs/lists */
}

ul, ol {
  padding-left: 1.4em;       /* keep bullets/numbers aligned nicely */
  list-style-position: outside;
}
ul.pewc-product-extra-groups {
	padding-left:0;
}

/* elementor form field fixes */
/* Target checkbox options */
.elementor-field-type-checkbox .elementor-field-option {
    display: flex;
    align-items: center;
}

/* Move label to the right of the checkbox */
.elementor-field-type-checkbox .elementor-field-option input[type="checkbox"] + label {
    margin-left: 8px;
    display: inline-block;
}
.elementor-field-type-checkbox .elementor-field-label {
    display: none;
}

/* Force the submit button to break out of inline layout */
.elementor-field-type-submit.elementor-field-group {
  display: block;
  width: 100%;
  clear: both;
  margin-top: 20px;
}

/* match appearance woocommerce buttons to global buttons */
a.button.product_type_simple.add_to_cart_button {
    background-color: #003366 !important;
    color: #F5F5DC !important;
    border-radius: 5px;
}
a.button.product_type_simple.add_to_cart_button:hover {
    background-color: #FF6F61 !important;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.3);
}

/* Center align products when fewer than 4 are shown */
.elementor-widget-woocommerce-products ul.products {
  justify-content: center !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 20px; /* optional: controls spacing between items */
  padding: 0;
  margin: 0;
  list-style: none;
}
.elementor-widget-woocommerce-products ul.products li.product {
  flex: 0 0 calc(25% - 20px); /* 4 per row with gap */
  max-width: calc(25% - 20px);
}

/*
.elementor-widget-woocommerce-notices .e-woocommerce-notices-wrapper:has(.woocommerce-notices-wrapper:empty) {
    display: none;
}
.elementor-widget-woocommerce-notices:has(.woocommerce-notices-wrapper:empty) {
    margin: 0 !important;
    padding: 0 !important;
}
*/

/*the following code was added to the custom css in elementor pro for the container background showing the featured image

selector {
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}
*/


/* Make WooCommerce quantity fields wide enough for 2–3 digits sitewide */
.woocommerce .quantity input.qty,
input.qty[type="number"] {
    width: 6em !important;      /* enough space for '10', '100' */
    min-width: 4em !important;
    text-align: center;
}
/*Move the quantity button up 
 .cart {
    display: flex;
    flex-direction: column;
}
.cart .quantity {
    order: -1;
}
*/

@media (max-width: 768px) {
/* Center align products when fewer than 4 are shown */
  .elementor-widget-woocommerce-products ul.products li.product {
    flex: 0 0 calc(50% - 20px); /* 2 per row on tablet */
    max-width: calc(50% - 20px);
  }

  p, ul, ol {
    font-size: 0.875em;      /* ~14px if parent is 16px */
    margin-bottom: 1.05em;   /* slightly tighter rhythm */
    line-height: 1.55;
  }

  ul, ol {
    padding-left: 1.3em;     /* keep bullets from hugging the edge */
  }

	:is(
	  .elementor-widget-woocommerce-product-add-to-cart,
	  .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,
	  .elementor-widget-wc-add-to-cart,
	  .woocommerce div.product .elementor-widget-wc-add-to-cart
	).elementor-add-to-cart-mobile--align-center:not([class*="--layout-stacked"]):not([class*="--layout-auto"])
	form.cart.variations_form .woocommerce-variation-add-to-cart ul,
	:is(
	  .elementor-widget-woocommerce-product-add-to-cart,
	  .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,
	  .elementor-widget-wc-add-to-cart,
	  .woocommerce div.product .elementor-widget-wc-add-to-cart
	).elementor-add-to-cart-mobile--align-center:not([class*="--layout-stacked"]):not([class*="--layout-auto"])
	form.cart.variations_form .woocommerce-variation-add-to-cart ol,
	:is(
	  .elementor-widget-woocommerce-product-add-to-cart,
	  .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,
	  .elementor-widget-wc-add-to-cart,
	  .woocommerce div.product .elementor-widget-wc-add-to-cart
	).elementor-add-to-cart-mobile--align-center:not([class*="--layout-stacked"]):not([class*="--layout-auto"])
	form.cart:not(.grouped_form):not(.variations_form) ul,
	:is(
	  .elementor-widget-woocommerce-product-add-to-cart,
	  .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,
	  .elementor-widget-wc-add-to-cart,
	  .woocommerce div.product .elementor-widget-wc-add-to-cart
	).elementor-add-to-cart-mobile--align-center:not([class*="--layout-stacked"]):not([class*="--layout-auto"])
	form.cart:not(.grouped_form):not(.variations_form) ol {
	  text-align: left; /* or 'start' if you prefer logical alignment */
	  line-height:1em;
	}

	/* 1) Put space below each checkbox row (only for li that contains this checkbox label) */
	.pewc-checkbox-group-wrapper li {
		padding-bottom:0.8em;
	}
	label.pewc-checkbox-form-label {
		padding-top:0.4em;
	}

}

@media (max-width: 480px) {
/* Center align products when fewer than 4 are shown */
  .elementor-widget-woocommerce-products ul.products li.product {
    flex: 0 0 100%; /* 1 per row on mobile */
    max-width: 100%;
  }
  
  p, ul, ol {
    font-size: 0.85em;       /* ~13.6px if parent is 16px */
    margin-bottom: 0.95em;   /* tighter without cramping */
    line-height: 1.55;
  }

  ul, ol {
    padding-left: 1.2em;
  }

}