/*Overwrite twentytwentyone styles*/

:root {
  --form--border-width: 1px;
}

a.button:hover,
a.button:visited {
  text-decoration: none !important;
}

/*
* Checkout
*/

.woocommerce-checkout button#place_order,
.woocommerce-cart .checkout-button {
  background: rgba(var(--brz-global-color3), 1);
  color: rgba(var(--brz-global-color7), 1);
  border: none;
}

.woocommerce-checkout button#place_order:hover,
.woocommerce-cart .checkout-button:hover {
  background: rgba(var(--brz-global-color1), 1);
  color: rgba(var(--brz-global-color7), 1);
  border: none;
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text p {
  font-size: 16px;
}

body.woocommerce-checkout #order_comments {
  padding: 12px;
}

.woocommerce table.shop_table tbody tr,
.woocommerce-page table.shop_table tbody tr,
.woocommerce table.shop_table tfoot .woocommerce-shipping-totals {
  border-top: 1px solid #eeeeee;
}

.woocommerce-order-received
  .woocommerce-order
  p.woocommerce-notice.woocommerce-thankyou-order-received {
  font-size: 32px;
  margin-bottom: 24px;
}

.woocommerce-order-overview {
  list-style: none;
  padding: 24px;
  border: 1px solid #ccc;
}

.woocommerce-order-overview ~ p {
  margin-bottom: 32px;
}

.woocommerce-order-details {
  padding: 24px;
  border: 1px solid #ccc;
}

.woocommerce-order-received table tr {
  height: auto;
}

.woocommerce-customer-details {
  padding: 24px !important;
  border: 1px solid #ccc;
  margin-top: 32px;
}

.woocommerce-customer-details .woocommerce-columns--addresses {
  padding: 0;
}

.woocommerce-checkout .continue-shopping a {
  padding: 8px 16px;
  background: rgba(var(--brz-global-color3), 1);
  color: rgba(var(--brz-global-color7), 1);
  font-weight: bold;
}

.woocommerce-checkout .continue-shopping a:hover {
  background: rgba(var(--brz-global-color1), 1);
}

.woocommerce-order-details .woocommerce-order-details__title,
.woocommerce-customer-details .woocommerce-column__title {
  font-size: 32px;
}

/* Radio buttons */

body:is(.woocommerce-cart, .woocommerce-checkout) input[type="radio"] + label {
  position: relative;
  padding: 0 0 0 34px;
}

body:is(.woocommerce-cart, .woocommerce-checkout)
  input[type="radio"]
  + label::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 24px !important;
  height: 24px !important;
  border-radius: 100%;
  border: 1px solid rgba(var(--brz-global-color1), 1);
  background: rgba(var(--brz-global-color7), 1);
  margin: 0;
  transform: none;
}

.woocommerce-checkout-review-order-table
  input[type="radio"].shipping_method
  + label::before {
  width: 24px !important;
  height: 24px !important;
  margin: 0;
  transform: none;
}

body:is(.woocommerce-cart, .woocommerce-checkout)
  input[type="radio"]:checked
  + label::before,
.woocommerce-checkout-review-order-table
  input[type="radio"].shipping_method:checked
  + label::before {
  background: rgba(var(--brz-global-color7), 1);
  border: 1px solid rgba(var(--brz-global-color1), 1);
}

body:is(.woocommerce-cart, .woocommerce-checkout)
  input[type="radio"]:checked
  + label::after {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background: rgba(var(--brz-global-color1), 1);
}

.woocommerce-shipping-methods input.shipping_method {
  display: none;
}

/*
* Woocommerce notices
*/

.woocommerce-error li,
.woocommerce-info,
.woocommerce-message {
  padding: 24px;
}

.woocommerce-error li,
.woocommerce-info,
.woocommerce-message {
  display: block;
}

.woocommerce-error a,
.woocommerce-info a,
.woocommerce-message a {
  color: rgba(var(--brz-global-color3), 1);
}

.woocommerce-error a:hover,
.woocommerce-info a:hover,
.woocommerce-message a:hover {
  color: rgba(var(--brz-global-color1), 1);
}

.woocommerce-form-coupon-toggle .woocommerce-info {
  margin-bottom: 2rem;
  padding: 24px;
}

.woocommerce-checkout form.checkout_coupon {
  margin-bottom: 2rem;
  padding: 24px;
}

.woocommerce-form-coupon #coupon_code {
  padding: 8px;
  height: 38px;
}

.woocommerce-checkout form.checkout_coupon button {
  font-size: 16px;
  padding: 8px;
  line-height: 1;
  height: 38px;
}

.woocommerce .woocommerce-error .button,
.woocommerce .woocommerce-info .button,
.woocommerce .woocommerce-message .button,
.woocommerce-page .woocommerce-error .button,
.woocommerce-page .woocommerce-info .button,
.woocommerce-page .woocommerce-message .button {
  padding: 8px 16px;
  background-color: transparent;
  color: black;
  border: 1px solid black;
}

.woocommerce .woocommerce-error .button:hover,
.woocommerce .woocommerce-info .button:hover,
.woocommerce .woocommerce-message .button:hover,
.woocommerce-page .woocommerce-error .button:hover,
.woocommerce-page .woocommerce-info .button:hover,
.woocommerce-page .woocommerce-message .button:hover {
  padding: 8px 16px;
  background-color: black;
  color: white;
  border: 1px solid black;
}

/*
* Cart table
*/

.woocommerce table.shop_table td,
.woocommerce table.shop_table th,
.woocommerce-page table.shop_table td,
.woocommerce-page table.shop_table th {
  text-align: left;
}

.woocommerce-page table.cart td.actions .coupon {
  display: flex;
}

.woocommerce
  .woocommerce-cart-form
  .shop_table_responsive
  input#coupon_code.input-text {
  margin: 0;
}

.woocommerce .woocommerce-cart-form button[name="apply_coupon"],
.woocommerce .woocommerce-cart-form button[name="update_cart"] {
  font-size: 16px;
}

.woocommerce .cart-collaterals h2 {
  font-size: 21px;
  font-weight: 700;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
  padding: 16px;
  border: 1px solid black;
}

.woocommerce
  .woocommerce-cart-form
  .product-thumbnail
  .attachment-woocommerce_thumbnail {
  aspect-ratio: 1;
  object-fit: contain;
  width: 80px !important;
}

/*
* My Account
*/

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content p {
  font-size: 16px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
  font-size: 16px;
  display: block;
  padding: 12px;
  background: rgba(var(--brz-global-color6), 1);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: rgba(var(--brz-global-color3), 1);
  color: white !important;
  text-decoration: none;
}

.woocommerce-MyAccount-navigation {
  margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content h2 {
  font-size: 24px;
  font-weight: bold;
}

#my-account-page .woocommerce {
  display: flex;
  gap: 30px;
  padding: 10px;
}

#my-account-page .woocommerce:has(form.woocommerce-form-login) {
  flex-direction: column;
}

#my-account-page .woocommerce form.woocommerce-form-login {
  max-width: 400px;
}

#my-account-page
  .woocommerce
  form.woocommerce-form-login
  label.woocommerce-form-login__rememberme {
  display: flex;
  gap: 10px;
  align-items: center;
}

#my-account-page
  .woocommerce
  form.woocommerce-form-login
  input.woocommerce-form__input-checkbox {
  position: relative;
}

#my-account-page
  .woocommerce
  form.woocommerce-form-login
  input.woocommerce-form__input-checkbox:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-60%) translateX(-40%) rotate(40deg);
}

/*
 * Product single template
 */

.brz-woo-add-to-cart > div {
  flex-direction: column;
  gap: 8px;
}

.brz-woo-add-to-cart > div .cart,
.brz-woo-add-to-cart > div .cart .single_variation_wrap,
.brz-woo-add-to-cart > div .cart .woocommerce-variation-add-to-cart {
  width: 100%;
  flex-wrap: wrap;
}

.brz-woo-add-to-cart
  > div
  .cart
  :is(.wc-points-rewards-product-message, .points) {
  width: 100%;
  margin-bottom: 12px;
}

/* Cart sidebar */

.brz .brz-woocart__sidebar-remove .brz-icon-svg {
  color: rgba(var(--brz-global-color1), 1) !important;
}

#talontunes-header .brz-woocart__sidebar-button {
  text-decoration: none;
}

/* Product detail */

#product-single-tabs p,
#product-single-tabs em,
#product-single-tabs strong,
#product-single-tabs h4,
#product-single-tabs li {
  font-size: 16px !important;
}

.brz .brz-wooproductmeta {
  justify-content: start !important;
}

/* Product archive */

.products-archive .brz-posts__item .brz-column__items {
  justify-content: start !important;
}

.products-archive .brz-posts__item .brz-column__items img {
  aspect-ratio: 1;
  object-fit: contain;
}

.products-archive .brz-posts__item .brz-column__items .product-item-button {
  flex-grow: 1 !important;
  align-items: end;
}

/*
* Our partners block
*/

#our-partners-block .our-partners-list a picture {
  position: relative;
}

#our-partners-block .our-partners-list a picture:after {
  content: "View products";
  color: white;
  background-color: rgba(var(--brz-global-color3), 0.75);
  border-radius: 8px;
  padding: 8px 16px;
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: all 0.2s ease-out;
  width: auto;
  height: auto;
  text-transform: uppercase;
  white-space: nowrap;
}

#our-partners-block .our-partners-list a:hover picture:after {
  opacity: 1;
}

/* Hide the weight in the product single */

.woocommerce-product-attributes-item.woocommerce-product-attributes-item--weight {
  display: none;
}

/*
* Product search field
*/

.woof_husky_txt-option img.woof_husky_txt-option-thumbnail {
  aspect-ratio: 1;
  object-fit: contain;
  max-width: 90px;
}

/*
* Product upsells
*/
#product-upsells .product-upsells-title {
  font-family: var(--brz-heading1fontfamily, initial) !important;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 32px;
}

#product-upsells .products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  gap: 16px;
}

@media (min-width: 992px) {
  #product-upsells .products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px;
  }
}

#product-upsells .products .custom-product-item {
  display: flex;
  flex-direction: column;
}

#product-upsells .products .custom-product-item a:not(.brz-btn) {
  text-decoration: none;
  display: block;
}

#product-upsells .products .custom-product-item a img {
  aspect-ratio: 1;
  object-fit: contain;
  width: 100%;
  height: auto !important;
  margin-bottom: 10px;
}

#product-upsells .products .custom-product-item h3 {
  font-size: 20px;
  text-align: center;
}

#product-upsells .products .custom-product-item .price {
  text-align: center;
}

#product-upsells .products .custom-product-item .custom-product-item-button {
  flex-grow: 1;
  display: flex;
  align-items: end;
  justify-content: center;
}

#product-upsells .products .custom-product-item a.brz-btn {
  display: flex;
  font-family: var(--brz-buttonfontfamily, initial);
  font-weight: var(--brz-buttonfontweight, initial);
  font-size: var(--brz-buttonfontsize, initial);
  line-height: var(--brz-buttonlineheight, initial);
  letter-spacing: var(--brz-buttonletterspacing, initial);
  font-variation-settings: var(--brz-buttonfontvariation, initial);
  font-weight: var(--brz-buttonbold, initial);
  font-style: var(--brz-buttonitalic, initial);
  text-decoration: var(--brz-buttontextdecoration, initial) !important;
  text-transform: var(--brz-buttontexttransform, initial) !important;
  color: rgba(255, 255, 255, 1);
  border: 2px solid rgba(var(--brz-global-color3), 1);
  border-radius: 0;
  box-shadow: none;
  padding: 11px 26px;
  flex-flow: row-reverse nowrap;
  padding: 12px;
  background-color: rgba(var(--brz-global-color3), 1);
  background-image: none;
  gap: 8px;
  justify-self: center;
  margin-top: 10px;
}
