/*
Theme Name: Breakdance Zero Theme
Theme URI: https://breakdance.com/zero-theme // todo
Author: Breakdance Builder
Author URI: https://breakdance.com/
Description: Entirely disables the WordPress theme system and lets you design every part of your site with Breakdance, while keeping other theme functionality like templates overrides and functions.php.
Version: 1.0.0
Tested up to: 5.9
Requires PHP: 7
License: GNU General Public License v2 or later // todo no idea about this
License URI: LICENSE
Text Domain: breakdance

Requires Breakdance to be installed.
/*--------------------------------------------------------------*/
:target {
  scroll-margin-top: 160px;
}
.breakdance
  .breakdance-menu-list
  li.highlight--first
  button.breakdance-menu-link,
.breakdance .breakdance-menu-list li.highlight--first a.breakdance-menu-link {
  color: var(--bde-palette-color-2-e15261b9-7e07-4f84-85c2-944e714da6cd);
}
a.highlight {
  color: var(
    --bde-palette-color-2-e15261b9-7e07-4f84-85c2-944e714da6cd
  ) !important;
  span {
    color: var(
      --bde-palette-color-2-e15261b9-7e07-4f84-85c2-944e714da6cd
    ) !important;
  }
}

button[name="custom_register"] {
  background: var(--bde-button-primary-background-color);
  color: var(--bde-button-primary-text-color);
  border-color: var(--bde-button-primary-border-color);
  border-radius: var(--bde-button-border-radius);
  border-width: var(--bde-button-border-width);
  box-shadow: none;
  font-size: var(--bde-button-font-size);
  font-weight: var(--bde-button-font-weight);
  line-height: var(--bde-button-line-height);
  transition: var(--bde-woo-base-transition);
  transition-duration: var(--bde-transition-duration);
  display: inline-flex;
  text-transform: capitalize;
  border-style: solid;
  padding: var(--bde-button-padding-base);
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  justify-content: center;
  align-items: center;
  width: max-content;
  flex-direction: row;
  gap: var(--bde-woo-base-small-gaps);

  border-radius: 20px;
  font-weight: 600;
  padding-top: 16px;
  padding-right: 35px;
  padding-bottom: 16px;
  padding-left: 35px;
}
.bde-preset-bd38e6ae-1221-43b4-9aa1-ce0bfec9da03 {
  transition: all 0.15s ease-in-out;
  border: 2px solid #043391;
  border-radius: 20px;
  padding: 10px 24px;

  &:hover {
    color: #fff;
    background: #043391;
  }
}

.bde-preset-6f6da24c-46d6-42e3-a9c8-f8fe95fdc937 {
  transition: all 0.15s ease-in-out !important;
}

.bde-preset-6f6da24c-46d6-42e3-a9c8-f8fe95fdc937:hover {
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
  transform: translateY(-4px);

  .bde-preset-bd38e6ae-1221-43b4-9aa1-ce0bfec9da03 {
    color: #fff;
    background: #043391;
  }
}

.gform_button.button {
  --bde-button-custom-border-color: var(--bde-brand-primary-color);
  --bde-button-custom-border-color-hover: var(--bde-brand-primary-color);
  --bde-button-custom-background-color: var(
    --bde-palette-color-1-75ae8859-f01a-4cc6-9899-40099250d653
  );
  --bde-button-custom-background-color-hover: var(
    --bde-palette-color-2-e15261b9-7e07-4f84-85c2-944e714da6cd
  );
  --bde-button-custom-text-color: var(--bde-brand-primary-color);
  --bde-button-custom-text-color-hover: var(--bde-background-color);
  color: var(--bde-button-custom-text-color);
  background: var(--bde-button-custom-background-color);
  border-color: var(--bde-button-custom-border-color);
  border-radius: 20px;
  border-width: 2px;
  font-weight: 600;
  padding-top: 12px;
  padding-right: 35px;
  padding-bottom: 12px;
  padding-left: 35px;
  transition-timing-function: ease-in-out;
  transition-property: all;
  transition-duration: var(--bde-transition-duration);
}

.gform_button.button:hover {
  color: var(--bde-background-color);
  background: var(--bde-button-custom-background-color-hover);
  border-color: var(--bde-button-custom-border-color-hover);
  cursor: pointer;
}

h3.gsection_title {
  margin-top: 20px;
  margin-bottom: 0;
}

.bc-table {
  width: 100%;

  th {
    vertical-align: g middle;

    text-align: center;
    padding: 7px 5px 7px 5px;
    line-height: 14px;
    border: 1px solid #eee;
  }

  td {
    vertical-align: middle;

    padding: 4px 5px 3px 5px;
    border: 1px solid #eee;
    text-align: center;
    white-space: pre-wrap;
    white-space: -moz-pre-wrap;
    white-space: -pre-wrap;
    white-space: -o-pre-wrap;
    word-wrap: break-all;
  }

  .bg-lightblue {
    background: #c8e4ff;
  }

  .bg-grey {
    color: #000;
    background: #cccccc;
  }

  .bg-white {
    background: #fff;
  }
}

.bc-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.breakdance .bde-rich-text ul li {
  margin-bottom: 10px;
}

.bde-rich-text.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.bde-rich-text table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  text-align: left;

  tr {
    transition: all 0.3s ease;

    /* &:hover {
      background-color: #eff3fb;
    } */
    th {
      padding: 12px 15px;
      border-bottom: 1px solid #eee;
      background-color: #cccccc;
      font-weight: 600;
      text-transform: uppercase;
      font-size: 12px;
      letter-spacing: 0.5px;
    }

    td {
      padding: 8px 15px;
      border-bottom: 1px solid #eee;
      font-size: 14px;
    }
  }
}

.flipbook-currentPageInput {
  border: 1px solid #666 !important;
  padding-right: 10px !important;
}

li::marker {
  color: #0d5ba8;
  font-size: 1.2em;
}

div.bde-rich-text a:hover {
  text-decoration: underline;
}

h3 {
  margin-top: 0;
}

body.breakdance .breakdance.body-margin {
  margin-top: 163px;
}

body.breakdance.logged-in .breakdance.body-margin {
  margin-top: 0;
}

.breakdance .breadcrumb {
  line-height: 1.2;
}

.breadcrumb li:first-child {
  display: none;
}

.breadcrumb li {
  font-size: 13px;
}

.breakdance .breadcrumb li a {
  font-weight: 300;
  text-decoration: none;
}

.breadcrumb li.active span {
  font-weight: 600;
}

.breadcrumb li::after {
  content: ">";
  margin: 0 8px;
  color: #ccc;
}

/*
PRODUCT MENU
*/
.menu-products-container ul {
  margin: 0;
  padding: 0;
}

.menu-products-container li {
  list-style: none;
}

.menu-products-container li a {
  display: none;
}

.menu-products-container .current-menu-ancestor li li a {
  color: #0f2f4d;
  display: block;
  font-size: 14px;
  font-weight: normal;
  padding: 5px 15px;
}

.menu-products-container .current-menu-ancestor li li.current_page_item a {
  color: #043391;
  font-weight: 600;
}

/*
INNER MENU
*/
.inner-menu ul ul {
  margin-left: 10px;
}

#menu-item-412,
#menu-item-411,
#menu-item-410,
#menu-item-409,
#menu-item-408,
#menu-item-407,
#menu-item-406 {
  margin-left: 10px;
}

.breakdance-menu-item--active a {
  font-weight: bold !important;
}

.breakdance-menu-item--active li a {
  font-weight: normal !important;
}

@media (max-width: 1023px) {
  body.breakdance .breakdance.body-margin {
    margin-top: 123px;
  }
}

@media (max-width: 767px) {
  .breakdance .breakdance:nth-child(2) {
    margin-top: 123px;
  }
}

/* CORRINE END */
.aws_result_head {
  display: flex !important;
}

.less500.aws-search-result .aws_result_price {
  padding-top: 0px;
}

.woocommerce-variation-availability .stock {
  display: none;
}

div.aws-container {
  border: 2px solid var(--bde-brand-primary-color);
  border-radius: 30px;
}

div.aws-container .aws-search-form {
  border-radius: 30px;
}

div.aws-container .aws-search-field {
  border: 0;
  border-radius: 30px !important;
  color: var(--bde-brand-primary-color);
  font-size: 15px;
}

div.aws-container .aws-search-form .aws-form-btn {
  border-radius: 100% !important;
  border: 4px solid #fff;
  background: var(--bde-brand-primary-color);
  transition: 0.15s background-color ease-in-out;
}

div.aws-container .aws-search-form .aws-form-btn:hover {
  background-color: var(
    --bde-palette-color-2-e15261b9-7e07-4f84-85c2-944e714da6cd
  );
}

div.aws-container .aws-search-form .aws-search-btn_icon {
  color: #fff;
  width: auto;
}

.ee-posts-grid .ee-post {
  transition: 0.15s all ease-in-out;
}

.ee-posts-grid .ee-post:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
}

.breakdance-woocommerce div.product form.cart {
  max-width: 100%;
}

p {
  margin-top: 0;
}

h2 {
  margin-top: 0;
}

.breakdance h2.recent-products__title {
  font-size: 18px;
  border-left: 4px solid #ff5a00;
  padding-left: 10px;
}

.recent-products__grid {
  .bde-woo-product-footer {
    display: none;
  }

  .breakdance-woocommerce ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.fixed-category-sidebar {
  width: 100%;

  ul {
    list-style: none;
    /* padding: 0 0 0 5px; */
    padding: 0 0 0 0px;

    li {
      a {
        display: block;
        border-top: 1px solid #eee;
        padding: 5px 20px;
        /* font-weight: 700; */
      }

      a:hover {
        background: #f7f7f7;
      }
    }

    li.current-cat {
      > a {
        background: #f7f7f7;
      }
    }

    li li li {
      a {
        border-top: 0;
        border-bottom: 0;
        font-size: 14px;
        padding: 2px 30px;
      }
    }

    li li li li {
      a {
        border-top: 0;
        border-bottom: 0;
        font-size: 14px;
        padding: 2px 40px;
      }
    }

    li.current-cat > a {
      font-weight: 700;
    }
  }

  .fixed-category-sidebar-heading {
    background-color: #e9f0fc;
    width: 100%;
    padding: 15px 20px 15px 20px;
    border-radius: 5px;
    margin-bottom: 0;
  }
}

.fixed-category-sidebar > ul {
  padding: 0 0 0 0px;
  margin: 0;
}

body.woocommerce-page.woocommerce-account
  .breakdance-woocommerce
  button[name="login"] {
  border: 2px solid var(--bde-brand-primary-color);
  color: var(--bde-brand-primary-color);
  background: #fff;
}

body.woocommerce-page.woocommerce-account
  .breakdance-woocommerce
  button[name="login"]:hover {
  color: #fff;
  background: var(--bde-brand-primary-color);
}

/* Password rule shown under the registration form's password field */
.bc-password-hint {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  opacity: 0.75;
}

/* Sign-up block at the bottom of the My Account sign-in card.
   Spacing is set with gap (not margins), because the form is a flex column with its own gaps. */
body.woocommerce-page.woocommerce-account .breakdance-woocommerce .bc-create-account {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  padding: 28px 24px;
  border-radius: 6px;
  background: var(--bde-brand-primary-color);
  text-align: center;
}

body.woocommerce-page.woocommerce-account
  .breakdance-woocommerce
  .woocommerce-form-login
  .bc-create-account__title {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.3;
}

body.woocommerce-page.woocommerce-account
  .breakdance-woocommerce
  .woocommerce-form-login
  .bc-create-account__text {
  max-width: 26em;
  margin: 0;
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  text-wrap: balance;
}

body.woocommerce-page.woocommerce-account
  .breakdance-woocommerce
  .bc-create-account
  a.bc-create-account__button {
  display: inline-block;
  box-sizing: border-box;
  margin-top: 8px;
  padding: 9px 28px;
  border: 2px solid #fff;
  border-radius: 20px;
  background: #fff;
  color: var(--bde-brand-primary-color);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  transition: all var(--bde-transition-duration) ease-in-out;
}

body.woocommerce-page.woocommerce-account
  .breakdance-woocommerce
  .bc-create-account
  a.bc-create-account__button:hover {
  background: transparent;
  color: #fff;
}

/* DEV */
.variation-Inventory {
  display: none !important;
}

/* Block */
.product-table-container {
  width: 100%;
}

.product-table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  text-align: left;
}

/* Element: Header Container */
.product-table__head {
  background: #f8fafe;
  color: #0f2f4d;
}

/* Element: Header Cells */
.product-table__header {
  padding: 12px 15px;
  border-bottom: 1px solid #e4e8ef;
  background-color: #f8fafe;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 0.5px;
}

/* Element: Body Row */
.product-table__row {
  transition: all 0.3s ease;
}

/* State: Row Hover */
.product-table__row:hover {
  background-color: #eff3fb;
}

/* Element: Body Cells */
.product-table__cell {
  padding: 8px 15px;
  border-bottom: 1px solid #e4e8ef;
  font-size: 14px;
}

/* Modifier: Title Column */
.product-table__cell--title {
  font-weight: 700;
}

/* Element: Link */
.product-table__link {
  text-decoration: none;
}

/* Element: Select Dropdown */
.product-table__select {
  padding: 5px;
  border-radius: 4px;
  border: 1px solid #ccc;
  width: 100%;
}

.product-table-container {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.product-table {
  width: 100%;
  /* Separate (not collapsed) borders: Firefox can drop the faint collapsed row lines. */
  border-collapse: separate;
  border-spacing: 0;
  min-width: 800px;
}

.product-table th,
.product-table td {
  /* white-space: nowrap; */
  padding: 12px 8px;
  text-align: left;
  display: revert;
}

.product-table__select {
  width: auto;
}

/* Sorting Styles */
.product-table th.sortable {
  cursor: pointer;
  position: relative;
  padding: 0;
  user-select: none;
}

.product-table th.sortable:hover {
  background-color: rgba(0, 0, 0, 0.05);
}

.product-table th.sortable:after {
  content: " \2195";
  /* Up/Down arrow */
  opacity: 0.3;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

.product-table th.sorted-asc:after {
  content: " \2191";
  opacity: 1;
}

.product-table th.sorted-desc:after {
  content: " \2193";
  opacity: 1;
}

.category-grid {
  width: 100%;
}

.category-grid__list {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.category-grid--small .category-grid__list {
  gap: 20px;
}

/* Element: Item */
.category-grid__item {
  flex: 0 0 calc((100% - 64px) / 3);
  max-width: calc((100% - 64px) / 3);
  box-sizing: border-box;
  border: 1px solid #e2e2e2;
  overflow: hidden;
  border-radius: 20px;

  background: #fff;
  transition: 0.15s all ease-in-out;
}

.category-grid--small .category-grid__item {
  flex: 0 0 calc((100% - 40px) / 3);
  max-width: calc((100% - 40px) / 3);
}

.category-grid__item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);

  .category-grid__button {
    color: #fff;
    background: #043391;
  }
}

.category-grid__title {
  text-align: left;
  margin-bottom: 0;
  font-size: 16px;
  font-weight: bold;
  margin-top: 20px;
}

/* Element: Link */
.category-grid__link {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.category-grid--small .category-grid__link {
  padding: 10px;
}

.breakdance h4.category-grid__title {
  color: #043391;
  text-align: center;
}

/* Element: Image */
.category-grid__image-wrapper img.category-grid__image {
  width: 100%;
  display: block;
  margin: 0 auto;
  height: 200px;
  object-fit: cover;
  object-position: bottom;
}

.category-grid--small .category-grid__image {
  max-height: 100px;
  object-fit: contain;
  aspect-ratio: 1 / 1;
  background-position: center;
}

@media (max-width: 768px) {
  .category-grid--small .category-grid__item {
    flex: 0 0 calc((100% - 32px));
    max-width: calc((100% - 32px));
  }

  .category-grid--small .category-grid__image {
    display: none;
  }

  .breakdance h4.category-grid__title {
    margin-top: 10px;
  }
}

.category-grid__content {
  padding: 0 30px 30px;
}

.category-grid--small .category-grid__content {
  padding: 0px 10px 10px;
}

.category-grid__excerpt {
  color: #000;
}

.category-grid__label {
  align-self: flex-start;
  border-radius: 30px;
  font-weight: 700;
  background-color: #e9f0fc;
  padding: 2px 10px;
  margin-bottom: 10px;
}

.category-grid__button {
  font-weight: 600;
  border-radius: 20px;
  padding: 14px 24px;
  border: 2px solid #043391;
  display: block;
  margin-top: 20px;
  line-height: 1;
  text-align: center;
}

.navigation.pagination {
  margin-top: 20px;
}

.product_cat a {
  display: inline-block;
  padding: 4px 0;
}

/* Block */
.category-banner {
}

/* Elements */
.category-banner__title {
  margin-bottom: 20px;
}

.category-banner__layout {
  display: flex;
  gap: 30px;
  align-items: start;
}

.category-banner__image-wrapper {
  flex: 0 0 75px;
  /* Fixed width for the image column */
  max-width: 75px;
  border: 1px solid #e2e2e2;
  border-radius: 20px;
}

.category-banner__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
  max-height: 120px;
  object-fit: cover;
}

.category-banner__content {
  flex: 1;
  /* Description fills remaining horizontal space */
}

.category-banner__description {
  line-height: 1.6;
}

/* Responsive: Stack image on top of text on mobile */

/* Responsive Modifiers / Media Queries */
@media (max-width: 768px) {
  .category-grid__item {
    flex: 0 0 calc((100% - 32px) / 2);
    max-width: calc((100% - 32px) / 2);
  }
}

@media (max-width: 480px) {
  .category-banner__layout {
    flex-direction: column;
  }

  .category-banner__image-wrapper {
    flex: 1;
    width: 100%;
    max-width: 100%;
  }

  .category-grid__item {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Website form edits (Oct 2026) */

/* "(Required)" on WooCommerce fields, same look as the Gravity Forms marker. */
.bc-required {
  color: #c02b0a;
  font-size: 13px;
  font-style: italic;
  font-weight: 400;
}

/* A dropdown with nothing chosen (the State box after a country change) has no text line, so it collapses to its padding.
   Keep one line of text height in it so it stays as tall as an input. WooCommerce turns the country and state selects
   into select2 widgets, whose text sits in .select2-selection__rendered; plain selects get the same minimum. */
.breakdance-woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
  min-height: calc(var(--bde-woo-typography__size-standard) * var(--bde-woo-base-paragraph-line-height));
}

.breakdance-woocommerce select {
  min-height: calc(
    var(--bde-woo-typography__size-standard) * var(--bde-woo-base-paragraph-line-height) +
    var(--bde-form-input-padding-top) + var(--bde-form-input-padding-bottom) +
    2 * var(--bde-form-input-border-width, 1px)
  );
}

/* Sign in / Create an account prompt (checkout, Tax Exempt form). */
.bc-signin-notice {
  margin: 0 0 24px;
  padding: 20px 24px;
  background: #e8eefb;
  border-radius: 8px;
}

.bc-signin-notice p {
  margin: 0 0 12px;
}

.bc-signin-notice .bc-signin-notice__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
}

.bc-signin-notice__button,
.gfield_description .bc-form-button {
  display: inline-block;
  padding: 10px 22px;
  border: 2px solid #043391;
  border-radius: 999px;
  background: #043391;
  color: #fff;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: all var(--bde-transition-duration, 200ms) ease-in-out; /* same as the site's other buttons */
}

.bc-signin-notice__button:hover,
.gfield_description .bc-form-button:hover {
  background: #fff;
  color: #043391;
}

.bc-signin-notice__button--outline {
  background: transparent;
  color: #043391;
}

.bc-signin-notice__button--outline:hover {
  background: #043391;
  color: #fff;
}

.gfield_description .bc-form-button {
  margin-top: 10px;
}

/* My Account sign-in: a wider card, with the "had an account on our old website?" notice (bc-legacy-customers plugin)
   lined up with it and set apart from it. Breakdance caps the card at 360px and puts no space under the notice. */
body.woocommerce-page.woocommerce-account .breakdance-woocommerce .woocommerce-form-login,
body.woocommerce-page.woocommerce-account .breakdance-woocommerce .bc-legacy-login-notice {
  box-sizing: border-box;
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

body.woocommerce-page.woocommerce-account .breakdance-woocommerce .bc-legacy-login-notice {
  margin-bottom: 32px;
  line-height: 1.5;
}

/* The reset-password link in that notice: underlined all the time (Breakdance only underlines on hover) and a darker blue than the text. */
body.woocommerce-page.woocommerce-account .breakdance-woocommerce .bc-legacy-login-notice a,
body.woocommerce-page.woocommerce-account .breakdance-woocommerce .bc-legacy-login-notice a:hover {
  color: var(--bde-brand-primary-color);
  text-decoration: underline;
  text-underline-offset: 2px;
}
