/* 1. QUANTITY INPUT & SPIN BUTTONS */
.woocommerce input[type=number]::-webkit-inner-spin-button, 
.woocommerce input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: inner-spin-button !important;
  opacity: 1 !important;
  display: block !important;
}

.woocommerce input[type=number],
input[type=number] {
  -moz-appearance: textfield;
  appearance: auto !important;
}

.woocommerce .quantity input[type=number],
.woocommerce-cart .cart_item .quantity input[type=number] {
  height: 40px !important;
  line-height: 1.2 !important;
  width: 4.5em !important;
  max-width: none !important;
  padding-left: 8px !important;
  padding-right: 0px !important;
  box-sizing: content-box !important;
}

/* 2. VARIATION SWATCHES & CHECKMARKS */
.variable-item.selected::before,
.variable-item.selected::after {
  display: none !important;
  content: none !important;
}

.variable-item.selected {
  border: 2px solid #000 !important;
  position: relative !important;
  overflow: visible !important;
}

.variable-item.selected::after {
  content: "" !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: absolute !important;
  top: -8px !important;
  right: -8px !important;
  width: 18px !important;
  height: 18px !important;
  background-color: #000 !important;
  border-radius: 50% !important;
  border: 2px solid #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") !important;
  background-size: 10px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
  z-index: 99 !important;
}

.variable-item-contents {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper {
  padding: 12px 0 10px 0;
}

.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected, 
.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover {
  -webkit-box-shadow: 0 0 0 4px #3bafa0;
  box-shadow: 0 0 0 4px #3bafa0;
}

span.woo-selected-variation-item-name {
  font-size: 14px;
  font-weight: 500;
  color: #23A455;
}

span.swatch.swatch-image.swatch-none,
dt.variation-Selectacanopycolor,
dt.variation-BaseOptions,
dt.variation-Selectabaseoption {
  display: none;
}

/* 3. WOOCOMMERCE GALLERY & PRODUCT DETAILS */
.woocommerce-product-gallery .flex-viewport {
  width: 100% !important;
}

.woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain;
}

.woocommerce-product-gallery .flex-control-nav {
  padding: 0 !important;
  margin-top: 15px;
}

.woocommerce .elementor-3518 .elementor-element.elementor-element-104a748 form.cart .variations {
  width: 70% !important;
  margin-bottom: 0px !important;
}

.woocommerce div.product.elementor form.cart table.variations td.label {
  margin-top: -21px;
}

span.wpc-term-count-value::before { content: "("; }
span.wpc-term-count-value::after { content: ")"; }

legend.wc-pao-addon-name.wc-pao-legend {
  padding: 0px !important;
  margin-left: 0px !important;
}

.wc-pao-addon-image-swatch img {
  max-height: 99px !important;
}

/* 4. PRICING & LABELS */
.single-product div.product p.price {
  margin: 50px 0 0 0 !important;
}

.price-note {
  font-size: 0.6em !important;
}

.price del {
  display: inherit;
  margin: 0px;
}

.price del+ins {
  margin-left: 0px;
}

.single_variation .price del+ins::before {
  content: "Your Price: ";
  font-weight: bold;
  font-size: 1.3em;
  color: red;
}

.single_variation .price del::before {
  content: "List Price: ";
  margin: .327em;
  font-weight: bold;
}

/* 5. NAVIGATION, HEADER & FOOTER */
.mega-menu-description,
.mega-menu-item-description,
.menu-item-description,
.mega-description,
#jp-relatedposts,
div#infinite-handle {
  display: none !important;
}

header.entry-header {
  text-align: center;
}

header#masthead {
  margin-bottom: 1px;
}

li.sf-pro-search {
  margin-left: 2px;
}

.widget-title {
  font-size: 18px !important;
}

.site-info {
  text-align: center;
}

#mega-menu-wrap-primary #mega-menu-primary {
  z-index: 1005;
}

.storefront-pro-active nav.secondary-navigation {
  background-color: #bbc4cb;
  padding: 5px 5px;
}

#site-navigation.main-navigation ul li:hover a {
  background: #f3f3f3;
  background-color: rgba(0,0,0,.7);
}

.storefront-pro-active .site-header-cart .widget_shopping_cart *:not(.button) {
  color: #fff;
}

.main-navigation ul.nav-menu > li {
  border: 1px solid rgba(255, 255, 255, .1);
  background: #376d7c;
}

.social-info a {
  color: #fff;
}

.overlay h1 {
  font-size: 3em !important;
  text-shadow: rgba(0, 0, 0, 0.4) 0px 4px 5px;
  letter-spacing: 3px;
}

/* 6. UTILITIES & COMPONENT OVERRIDES */
.star-rating span:before, 
.quantity .plus, 
.quantity .minus, 
p.stars a:hover:after, 
p.stars a:after, 
#payment .payment_methods li input[type=radio]:first-child:checked+label:before {
  color: #0693e3;
}

.umyoutube-video {
  aspect-ratio: 16 / 9;
  width: 100%;
}

.woocommerce-store-notice.demo_store {
  background-color: #26A293;
  text-align: center;
  font-weight: bold;
  font-family: "Montserrat", Sans-serif;
  font-size: .9em;
}

.woocommerce-info, 
.woocommerce-noreviews, 
p.no-comments {
  background-color: rgba(22,101,107,0.82);
}

table.cart .product-thumbnail img {
  max-width: 250px;
}

.free-shipping {
  padding: 25px;
}

.storefront-pro-active .woocommerce-tabs ul.tabs.wc-tabs li {
  padding-right: 20px;
  padding-left: 20px;
  margin-right: 0px;
  margin-left: -20px;
}

li#tab-title-description.active {
  background-color: #f2f2f2;
}

div#tab-hurricane-side-wind-assembly-instructions,
div#tab-sirocco-assembly-instructions,
div#tab-assembly-instructions {
  width: 100%;
}

/* 7. MEDIA QUERIES */
@media screen and (min-width: 768px) {
  .site-header {
    border-bottom: 2px solid rgba(255, 255, 255, .9);
    border-top: 2px solid rgba(255, 255, 255, .9);
  }
}

@media (max-width: 768px) {
  .single-product div.product p.price {
    margin: 0 0 0 0 !important;
  }

  .price-note {
    font-size: 0.5em !important;
  }

  h1.product_title.entry-title {
    font-size: 1.1em;
    font-weight: bold;
  }

  .single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
    width: 66px;
    margin-right: 3px;
  }
}

@media only screen and (min-width: 1280px) {
  .storefront-full-width-content.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
    width: 19%;
    margin-right: 5px;
  }
}