
/*
 * AquaFit WooCommerce final override.
 * Loaded after WooCommerce CSS and theme CSS.
 * Purpose: beat WooCommerce default purple/grey buttons and tiny product title rules.
 */

:root {
  --aquafit-primary: #4686C6;
  --aquafit-dark: #222222;
  --aquafit-text: #444444;
  --aquafit-border: #ebebeb;
  --aquafit-soft: #f7f7f7;
}

html,
body,
button,
input,
select,
textarea,
.woocommerce,
.woocommerce-page {
  font-family: "Roboto", Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

/* Product titles: override WooCommerce 1em rule */
body.woocommerce ul.products li.product .woocommerce-loop-category__title,
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product h3,
body.woocommerce-page ul.products li.product .woocommerce-loop-category__title,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-page ul.products li.product h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  color: #222 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

body.woocommerce ul.products li.product .woocommerce-loop-product__title:hover,
body.woocommerce-page ul.products li.product .woocommerce-loop-product__title:hover {
  color: var(--aquafit-primary) !important;
}

/* Buttons: override WooCommerce grey and purple defaults including :where selectors */
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) #respond input#submit,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) a.button,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) button.button,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) input.button,
body.woocommerce-page:not(.woocommerce-block-theme-has-button-styles) #respond input#submit,
body.woocommerce-page:not(.woocommerce-block-theme-has-button-styles) a.button,
body.woocommerce-page:not(.woocommerce-block-theme-has-button-styles) button.button,
body.woocommerce-page:not(.woocommerce-block-theme-has-button-styles) input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button,
.woocommerce .single_add_to_cart_button,
.woocommerce a.added_to_cart,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order {
  background: #222 !important;
  background-color: #222 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 43px !important;
  padding: 11px 22px !important;
  margin: 0 !important;
  font-family: "Roboto", Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all .25s ease !important;
}

body.woocommerce:not(.woocommerce-block-theme-has-button-styles) #respond input#submit.alt,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) a.button.alt,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) button.button.alt,
body.woocommerce:not(.woocommerce-block-theme-has-button-styles) input.button.alt,
body.woocommerce-page:not(.woocommerce-block-theme-has-button-styles) #respond input#submit.alt,
body.woocommerce-page:not(.woocommerce-block-theme-has-button-styles) a.button.alt,
body.woocommerce-page:not(.woocommerce-block-theme-has-button-styles) button.button.alt,
body.woocommerce-page:not(.woocommerce-block-theme-has-button-styles) input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button.button.alt,
.woocommerce-checkout #place_order.button.alt {
  background: #222 !important;
  background-color: #222 !important;
  color: #fff !important;
}

body.woocommerce a.button:hover,
body.woocommerce button.button:hover,
body.woocommerce input.button:hover,
body.woocommerce #respond input#submit:hover,
body.woocommerce-page a.button:hover,
body.woocommerce-page button.button:hover,
body.woocommerce-page input.button:hover,
body.woocommerce-page #respond input#submit:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover {
  background: var(--aquafit-primary) !important;
  background-color: var(--aquafit-primary) !important;
  color: #fff !important;
}

/* Shop grid/product card polish */
body.woocommerce ul.products,
body.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px 24px !important;
  margin: 0 0 45px !important;
  padding: 0 !important;
}

body.woocommerce.aquafit-has-shop-sidebar ul.products,
body.woocommerce-page.aquafit-has-shop-sidebar ul.products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.woocommerce ul.products:before,
body.woocommerce ul.products:after,
body.woocommerce-page ul.products:before,
body.woocommerce-page ul.products:after {
  display: none !important;
}

body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
  float: none !important;
  clear: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 15px 15px 20px !important;
  border: 1px solid var(--aquafit-border) !important;
  background: #fff !important;
  text-align: left !important;
  transition: all .25s ease !important;
}

body.woocommerce ul.products li.product:hover,
body.woocommerce-page ul.products li.product:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
  transform: translateY(-2px) !important;
}

body.woocommerce ul.products li.product a img,
body.woocommerce-page ul.products li.product a img {
  width: 100% !important;
  height: 255px !important;
  object-fit: contain !important;
  margin: 0 0 18px !important;
  background: #fff !important;
}

body.woocommerce ul.products li.product .price,
body.woocommerce-page ul.products li.product .price {
  color: #222 !important;
  display: block !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  margin: 0 0 15px !important;
}

body.woocommerce ul.products li.product .price del {
  color: #888 !important;
  font-weight: 400 !important;
}

body.woocommerce ul.products li.product .price ins {
  color: #222 !important;
  text-decoration: none !important;
}

/* Single product */
body.single-product .woocommerce div.product .product_title {
  color: #222 !important;
  font-size: 30px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-transform: none !important;
  margin: 0 0 16px !important;
}

body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price {
  color: #222 !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  margin: 0 0 18px !important;
}

body.single-product .woocommerce-product-details__short-description {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #555 !important;
}

body.single-product .woocommerce div.product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

body.single-product .woocommerce .quantity .qty {
  width: 82px !important;
  min-height: 43px !important;
  border: 1px solid #e5e5e5 !important;
  text-align: center !important;
  font-size: 16px !important;
}

/* Forms */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
  border: 1px solid #e5e5e5 !important;
  border-radius: 0 !important;
  min-height: 44px !important;
  font-size: 16px !important;
  box-shadow: none !important;
}

/* Page spacing */
.aquafit-woo-section,
.woocommerce-page .page-area,
.woocommerce .shop-main-area,
.woocommerce-page .shop-main-area {
  padding-top: 65px !important;
  padding-bottom: 85px !important;
}

.footer-area,
.site-footer,
footer {
  margin-top: 75px !important;
}

.footer-top,
.footer-middle,
.footer-widget-area,
.footer-area .footer-top,
.footer-area .footer-middle {
  padding-top: 70px !important;
}

/* Mobile */
@media (max-width: 991px) {
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.woocommerce.aquafit-has-shop-sidebar ul.products,
  body.woocommerce-page.aquafit-has-shop-sidebar ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.single-product .woocommerce div.product .product_title {
    font-size: 26px !important;
  }
}

@media (max-width: 575px) {
  html,
  body,
  button,
  input,
  select,
  textarea,
  .woocommerce,
  .woocommerce-page {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.woocommerce.aquafit-has-shop-sidebar ul.products,
  body.woocommerce-page.aquafit-has-shop-sidebar ul.products {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce ul.products li.product a img,
  body.woocommerce-page ul.products li.product a img {
    height: 245px !important;
  }

  body.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce .single_add_to_cart_button {
    width: 100% !important;
    min-height: 46px !important;
    font-size: 14px !important;
  }

  .footer-area,
  .site-footer,
  footer {
    margin-top: 48px !important;
  }
}



/* AquaFit v1.7 FORCE OVERRIDES - must appear in browser as aquafit-woocommerce-force-inline */
:root,
body.woocommerce,
body.woocommerce-page {
  --woocommerce: #4686C6 !important;
  --wc-primary: #4686C6 !important;
  --wc-primary-text: #ffffff !important;
  --wc-secondary: #222222 !important;
  --wc-secondary-text: #ffffff !important;
  --wc-form-border-color: #e5e5e5 !important;
  --wc-form-border-radius: 0 !important;
}

body,
body *:not(i):not(.fa):not([class^="ion-"]):not([class*=" ion-"]):not(.star-rating):not(.star-rating *):not(.tinvwl_add_to_wishlist_button):not(.tinvwl_add_to_wishlist_button *) {
  font-family: "Roboto", Arial, Helvetica, sans-serif !important;
}

html body.woocommerce ul.products li.product .woocommerce-loop-category__title,
html body.woocommerce ul.products li.product .woocommerce-loop-product__title,
html body.woocommerce ul.products li.product h3,
html body.woocommerce-page ul.products li.product .woocommerce-loop-category__title,
html body.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
html body.woocommerce-page ul.products li.product h3 {
  padding: 0 !important;
  margin: 0 0 12px !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  color: #222 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,
html body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
html body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
html body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,
html body:not(.woocommerce-block-theme-has-button-styles):not(.edit-post-visual-editor) .woocommerce #respond input#submit,
html body:not(.woocommerce-block-theme-has-button-styles):not(.edit-post-visual-editor) .woocommerce a.button,
html body:not(.woocommerce-block-theme-has-button-styles):not(.edit-post-visual-editor) .woocommerce button.button,
html body:not(.woocommerce-block-theme-has-button-styles):not(.edit-post-visual-editor) .woocommerce input.button,
html body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt,
html body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt,
html body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt,
html body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt,
html body:not(.woocommerce-block-theme-has-button-styles):not(.edit-post-visual-editor) .woocommerce #respond input#submit.alt,
html body:not(.woocommerce-block-theme-has-button-styles):not(.edit-post-visual-editor) .woocommerce a.button.alt,
html body:not(.woocommerce-block-theme-has-button-styles):not(.edit-post-visual-editor) .woocommerce button.button.alt,
html body:not(.woocommerce-block-theme-has-button-styles):not(.edit-post-visual-editor) .woocommerce input.button.alt,
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .woocommerce input.button,
html body .woocommerce #respond input#submit,
html body .woocommerce .single_add_to_cart_button,
html body .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
html body .woocommerce-checkout #place_order {
  background: #222 !important;
  background-color: #222 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 12px 22px !important;
  min-height: 44px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: all .25s ease !important;
}

html body .woocommerce a.button:hover,
html body .woocommerce button.button:hover,
html body .woocommerce input.button:hover,
html body .woocommerce #respond input#submit:hover,
html body .woocommerce .single_add_to_cart_button:hover,
html body .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
html body .woocommerce-checkout #place_order:hover {
  background: #4686C6 !important;
  background-color: #4686C6 !important;
  color: #fff !important;
}

html body.single-product .woocommerce div.product .product_title {
  color: #222 !important;
  font-size: 32px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  margin-bottom: 18px !important;
}

html body.single-product .woocommerce div.product p.price,
html body.single-product .woocommerce div.product span.price {
  color: #222 !important;
  font-size: 26px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

html body.woocommerce ul.products,
html body.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 32px 24px !important;
}

html body.woocommerce.aquafit-has-shop-sidebar ul.products,
html body.woocommerce-page.aquafit-has-shop-sidebar ul.products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html body.woocommerce ul.products::before,
html body.woocommerce ul.products::after,
html body.woocommerce-page ul.products::before,
html body.woocommerce-page ul.products::after {
  content: none !important;
  display: none !important;
}

html body.woocommerce ul.products li.product,
html body.woocommerce-page ul.products li.product {
  width: auto !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  border: 1px solid #ebebeb !important;
  padding: 16px !important;
  background: #fff !important;
}

html body.woocommerce ul.products li.product a img,
html body.woocommerce-page ul.products li.product a img {
  height: 255px !important;
  object-fit: contain !important;
  width: 100% !important;
  margin-bottom: 18px !important;
}

@media (max-width: 991px) {
  html body.woocommerce ul.products,
  html body.woocommerce-page ul.products,
  html body.woocommerce.aquafit-has-shop-sidebar ul.products,
  html body.woocommerce-page.aquafit-has-shop-sidebar ul.products {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width: 575px) {
  html body,
  html body.woocommerce,
  html body.woocommerce-page {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
  html body.woocommerce ul.products,
  html body.woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }
  html body.woocommerce ul.products li.product .woocommerce-loop-product__title,
  html body.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size: 16px !important;
  }
}
