/* reset */

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce #respond input#submit,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce a.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce button.button,
:where(body:not(.woocommerce-block-theme-has-button-styles)) .woocommerce input.button {
  color: #fff !important;
  background-color: var(--c-main-btn) !important;
  border: 1px solid var(--c-main-btn) !important;
  text-decoration: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  font-size: 1.25em !important;
  line-height: 1.25 !important;
  padding: 8px 25px 6px !important;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.inquiry-link {
  min-width: 160px !important;
  padding: 8px 30px 6px !important;
  border-radius: 4px !important;
}

/**/

body.woocommerce .woocommerce-breadcrumb {
  display: none;
  position: relative;
  font-size: 1rem;
  padding: 20px 7.5px 0;
  /* margin-bottom: 36px; */
}

body.woocommerce .product form.cart .button,
body.woocommerce ul.products li.product .button {
  background-color: var(--c-main-btn);
  padding: 7px 25px 4px !important;
  border: 1px solid var(--c-main-btn);
  border-radius: 4px;
  font-weight: 500;
  font-size: 1.5em !important;
  line-height: 1.25;
  color: #fff;
}

  body.woocommerce .product form.cart .button.single_add_to_cart_button {
    width: 100%;
  }

  body.woocommerce div.product form.cart .button:hover,
  body.woocommerce ul.products li.product .button:hover {
    background-color: var(--c-main-btn-hover) !important;
    border: 1px solid var(--c-main-btn-hover) !important;
    cursor: pointer !important;
  }

body.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce-form-login,
.woocommerce-thankyou-order-received + .woocommerce-info {
  display: none;
}

body.woocommerce .related.products {
  margin-top: 72px;
}

  body.woocommerce .related.products .product .add_to_cart_button {
    display: none;
  }

  body.woocommerce .related.products .woocommerce-loop-product__link .price {
    display: inline-block;
    border: 1px solid;
    border-radius: 4px;
    padding: 9px 14px 6px;
    font-weight: 500;
    font-size: 1.25rem !important;
  }

body.woocommerce div.product .woocommerce-tabs .panel h2,
body.woocommerce .related.products h2 {
  font-family: 'Noto Serif', serif;
  font-size: 1.25em !important;
  font-weight: 700;
}

body.woocommerce div.product .woocommerce-tabs .panel h2 {
  display: none;
}


/* ------------- products ------------- */
.products {
  display: flex;
  width: 100% !important;
  max-width: 100%;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: flex-start;

  /* margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x)); */

  padding: 0 !important;
}

  .products .product {
    list-style: none;
    display: inline-block;
    width: auto !important;

  }

    .products .product {
      text-align: center;
    }

      .products .product a {
        display: block;
      }

      .products .product a.add_to_cart_button {
        display: inline-block;
        display: none;
      }

      .products .product a:hover {
        text-decoration: none;
      }

      .products .product figure {
        margin-bottom: 16px;
      }

      .products .product a .woocommerce-loop-product__title {
        font-size: 1.25rem;
        margin-bottom: 24px;
      }

      .products .product a .price {
        display: inline-block;
        border: 1px solid;
        border-radius: 4px;
        padding: 9px 14px 6px;
        font-weight: 500;
        font-size: 1.25rem;
      }

      .products .product a:hover .price {
        background-color: var(--c-main);
        border-color: var(--c-main);
        color: #fff !important;
      }

  .products.columns-4 .product {

    width: 100%;
  }



/* ------------- single products ------------- */

body.woocommerce div.product {
  display: flex;
  flex-flow: row;
  flex-wrap: wrap;
}


body.woocommerce .product_title {
  font-family: 'Noto Serif', serif;
  font-size: 1.75rem;
  color: var(--c-main);
  font-style: normal;
  font-weight: 700;
  border-bottom: none;
  margin-top: 36px;
  margin-bottom: 12px;
}

body.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
body.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
  color: var(--c-main);
  font-size: 1.5rem !important;
  border: 2px solid;
  display: inline-block;
  border-radius: 4px;
  padding: 8px 16px 3px;
  font-weight: 400;

  width: 100%;
  text-align: center;
}

body.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
  display: inline-block;
  color: var(--c-main);
  border: none;
}

.woocommerce .product_meta,
.woocommerce ._quantity .qty,
.woocommerce .product.outofstock .price,
.woocommerce .product.outofstock .button.product_type_simple,
.woocommerce div.product p.stock {
  display: none !important;
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
  float: none !important;
  margin-left: 4%;
}

.woocommerce #content div.product div.images, .woocommerce div.product div.images,
.woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
  float: none !important;
}

.woocommerce-product-details__short-description {
  margin: 12px 0 36px;
}

.woocommerce-Tabs-panel--description {}

  .woocommerce-Tabs-panel--description h4 {
    margin-top: 12px;
    margin-bottom: 12px;
  }

  .woocommerce #content div.product div.summary, .woocommerce div.product div.summary,
  .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    float: none !important;
    margin-left: 0;
  }


/* ------------- courses ------------- */
.courses-list {}

  .courses-list .products {
    margin-bottom: 0;
  }

  .products .courses-list-th {
    background-color: #f7f7f7 !important;
  }

  .products .courses-list-header {
    display: none;
  }

  .courses-list .products.columns-4 {}

    .courses-list .courses-list-th,
    .courses-list .courses-list-th .woocommerce-loop-product__title {
      font-weight: 600 !important;
    }

    .courses-list select {
      padding: 8px 42px 5px 12px;
    }

    .courses-list .products.columns-4 .product {
      width: 100% !important;
      font-size: 1rem !important;
      margin: 0 !important;
    }

      .courses-list .products.columns-4 .product:nth-child(odd) {
        background-color: #ffffff;
      }

      .courses-list .products.columns-4 .product:nth-child(even) {
        background-color: #f7f7f7;
      }

      .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        align-items: center;
        text-align: left;
        color: #000;
        padding: 18px 12px !important;
      }

        .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link:hover {
          color: var(--c-main) !important;
        }

        .courses-list .products.columns-4 .product.courses-list-th .woocommerce-LoopProduct-link:hover,
        .courses-list .products.columns-4 .product.courses-list-th .woocommerce-LoopProduct-link:hover .price {
          color: #000 !important;
        }

      .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .woocommerce-loop-product__title {
        width: 35%;
        width: 100%;
        font-family: 'Hind', sans-serif;
        font-size: 1.25rem !important;
        font-weight: 600;
        margin: 0 0 8px;
      }

        .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-meta {
          width: 10%;
        }

        .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-days {
          width: 100%;
        }

        .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-time {
          width: 100%;
        }

        .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-dates {
          width: 100%;
        }

      .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .price {
        font-size: 1rem !important;
        width: 100%;
        height: fit-content;
        /* display: inline-block; */
        border: none;
        border-radius: 0;
        padding: 0;
        margin: 8px 0 !important;
        color: #000 !important;
      }

        .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link:hover .price {
          background-color: transparent;
          color: var(--c-main) !important;
        }

      .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-order {
        width: 140px;
        text-align: center;
        border: 1px solid;
        padding: 8px 6px 6px;
        border-radius: 4px;
        color: #fff;
        background-color: var(--c-main);
        font-weight: 600;
      }

      .courses-list-filters .woocommerce-loop-product__title { width: 30% !important; }
      .courses-list-filters .courses-days { width: 30%; margin: 0 0 8px; }


/* ------------- checkout page ------------- */
form.checkout {
  /* background-color: var(--c-grey-l); */
  padding: 20px 0;
}

  form.checkout .checkout-wrapper {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
  }

  .woocommerce form.checkout .form-row {
    margin-bottom: calc(1 * var(--spacer));
    padding: 0 !important;
  }

    .woocommerce form.checkout .form-row label .optional {
      display: none;
    }

  form.checkout .column-2-1,
  form.checkout .column-2-2 {
    width: 100%;
    display: block;
  }

  form.checkout .column-2-1 {
    margin-right: 0 !important;
  }

  form.checkout .column-2-2 {
    margin-left: 0 !important;
  }

  /* review order table */
  form.checkout .shop_table.woocommerce-cart-form__contents {
    border-collapse: inherit;
    border-radius: 0;
    border: 1px solid var(--c-grey-m);
    margin-bottom: calc(3 * var(--spacer));
  }

    form.checkout .shop_table.woocommerce-cart-form__contents thead {
      display: none;
    }

    form.checkout .shop_table.woocommerce-cart-form__contents tbody tr {
      background-color: #fff;
    }

    form.checkout .shop_table.woocommerce-cart-form__contents tbody td {
      /* border: 2px solid #fff; */
      background-color: #fff;
      padding: 12px 12px 8px;
      padding: 0 !important;
      text-align: left !important;
    }

    form.checkout .shop_table.woocommerce-cart-form__contents tbody td.product-remove {
      padding: 7px 0 0 !important;
      width: 50px;
      display: table-cell;
      vertical-align: top
    }

    form.checkout .shop_table.woocommerce-cart-form__contents tbody td.product-name {
      width: calc(100% - 40px);
      display: table-cell;
    }

    form.checkout .shop_table.woocommerce-cart-form__contents tbody .product-subtotal,
    form.checkout .shop_table.woocommerce-cart-form__contents tbody tr.order-total td {
      /* padding-left: 50px !important; */
      font-weight: 600;
    }

    .woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td {
      display: block;
    }



    form.checkout .shop_table.woocommerce-cart-form__contents tbody .actions,
    form.checkout .shop_table.woocommerce-cart-form__contents tbody .product-thumbnail,
    form.checkout .shop_table.woocommerce-cart-form__contents tbody .product-price,
    form.checkout .shop_table.woocommerce-cart-form__contents tbody ._product-quantity,
    form.checkout .shop_table.woocommerce-cart-form__contents tbody tr td::before,
    form.checkout .shop_table.woocommerce-cart-form__contents tbody tr:last-of-type {
      display: none;
    }

    form.checkout .shop_table.woocommerce-cart-form__contents tbody .product-quantity {
      width: 80px;
    }

      form.checkout .shop_table.woocommerce-cart-form__contents tbody .product-quantity input {
        border: none;
        padding: 0;
      }



    .woocommerce a.remove {
      font-weight: 400;
      font-size: 1.75em;
      padding-top: 3px;
      color: var(--c-main-btn);
    }

      .woocommerce a.remove:hover {
        background-color: var(--c-main-btn);
      }

  /*------- variations -------*/
  .variations {

  }

    .woocommerce div.product form.cart .variations th,
    .woocommerce div.product form.cart .variations td {
      padding-top: 8px;
      padding-bottom: 8px;
    }

    .woocommerce div.product form.cart .variations th {
      vertical-align: middle;
      padding-left: 16px;

    }

    .woocommerce div.product form.cart .variations label {
      font-weight: 400;
      font-size: 1rem;
    }

    .woocommerce div.product form.cart .variations select {
      font-size: 1rem;
      padding: 4px 12.5px 1px;
    }


    .woocommerce-cart-form__cart-item.cart_item .variation {
      line-height: 1.125rem;
    }

    .variation-FilesUpload,
    .variation-FilesUpload * {
      font-size: 0.875rem !important;

    }

    dt.variation-FilesUpload {
      font-weight: 400;
      display: block;
      float: none !important;
    }




  /*------- wc_payment_methods -------*/
  .wc_payment_methods {}

    .wc_payment_methods .wc_payment_method.payment_method_gpwebpaybinder {

    }

      .wc_payment_methods .wc_payment_method.payment_method_gpwebpaybinder img {
        width: 64px;
      }

    .wc_payment_methods .payment_method_cheque {
      display: none;
    }



  form.checkout ._payment_methods,
  .shop_table.woocommerce-checkout-review-order-table {
    display: none;
  }

  .woocommerce-terms-and-conditions-wrapper {
    margin-top: calc(1 * var(--spacer));
  }

  .woocommerce-checkout p.woocommerce-invalid-required-field span.error {
     color: #a00;
     display: block !important;
     margin-top: 8px;
     font-size: .875em;
  }

  body #add_payment_method #payment, body .woocommerce-cart #payment, body .woocommerce-checkout #payment {
    background: transparent;
    border-radius: 0;
    font-size: .8888889em;
  }

  body #add_payment_method #payment ul.payment_methods li,
  body .woocommerce-cart #payment ul.payment_methods li,
  body .woocommerce-checkout #payment ul.payment_methods li {
    line-height: 1.3;
  }

  body .woocommerce-privacy-policy-text {
    margin-bottom: 20px;
  }

  body #add_payment_method #payment ul.payment_methods,
  body .woocommerce-cart #payment ul.payment_methods,
  body .woocommerce-checkout #payment ul.payment_methods {
    border: none;
    padding: 0;
  }

  body .woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    float: none;
  }

  .woocommerce-NoticeGroup-checkout {
      /* display: none !important; */
  }

  .woocommerce form .form-row .required {
    color: var(--c-main) !important;
  }


#customer_details {}

  #customer_details .col-1,
  #customer_details .col-2 {
    width: 100%;
    float: none;
    clear: both;
    padding: 0;
  }

  #customer_details .col-2 {
    /* display: none; */
  }

  #customer_details .col-2 .woocommerce-shipping-fields,
  #customer_details .col-2 .woocommerce-additional-fields h3 {
    display: none;
  }

  #customer_details .col-2 .woocommerce-additional-fields__field-wrapper {
    margin-bottom: calc(2 * var(--spacer));
  }


  @media only screen
  and (min-width : 576px) {

    form.checkout .shop_table.woocommerce-cart-form__contents tbody td {
      padding: 12px 12px 8px !important;
    }

      form.checkout .shop_table.woocommerce-cart-form__contents tbody td.product-remove {
        padding: 2px 0 0 !important;
        padding-left: 8px !important;
        width: 50px;
        display: table-cell;
        vertical-align: middle;
      }

    .woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td {
      display: table-cell;
    }

    form.checkout .column-2-1,
    form.checkout .column-2-2 {
      width: calc(50% - 15px);
      display: inline-block;
    }

    form.checkout .column-2-1 {
      margin-right: 15px !important;
    }

    form.checkout .column-2-2 {
      margin-left: 15px !important;
    }

    body.woocommerce .product_title {
      font-size: 2.5rem;
    }

  }



  @media only screen
  and (min-width : 576px) {

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .woocommerce-loop-product__title {
      width: 100%;
    }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-days {
      width: 20%;
    }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-time {
      width: 43%;
    }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-dates {
      width: 33%;
    }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .price {
      width: 100%;
      margin: 8px 0 !important;
      text-align: left;
    }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-order {
      width: 20%;
      padding: 8px 6px 6px;
    }

  }


  @media only screen
  and (min-width : 768px) {

    .products.columns-4 .product {
      flex: 0 0 auto;
      width: 48% !important;
      margin: 3rem 0 !important;
      padding-right: 10px !important;
      padding-left: 10px !important;
    }

    body.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
    body.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
      width: auto;
      min-width: 100px;
    }

    body.woocommerce .product form.cart .button.single_add_to_cart_button {
      width: auto;
    }

    .courses-list .products.columns-4 .product {
      padding-right: 12px !important;
      padding-left: 12px !important;
    }

    .woocommerce #content div.product div.summary, .woocommerce div.product div.summary,
    .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
      float: none !important;
      margin-left: 4%;
    }

  }



  @media only screen
  and (min-width : 1200px) {

    .products.columns-4 .product {
      width: 25% !important;
    }

    .products .courses-list-header {
      display: inline-block;
    }

    .courses-list-filter .woocommerce-loop-product__title { width: 20%; }
    .courses-list-filter .courses-days { width: 20%; }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link {
      padding: 12px 0 !important;
    }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .woocommerce-loop-product__title {
      width: 35%;
      font-size: 1rem !important;
      margin-bottom: 0;
    }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-days {
      width: 10%;
    }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-time {
      width: 22%;
    }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-dates {
      width: 13%;
    }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .price {
      width: 10%;
      margin: 0 !important;
    }

    .courses-list .products.columns-4 .product .woocommerce-LoopProduct-link .courses-order {
      width: 10%;
    }

  }
