.woocommerce-page h1.page-title,
.single-product .product_title {
  font-weight: 700;
}

.post-type-archive-product ul.products li.product,
.tax-product_cat ul.products li.product,
.tax-product_tag ul.products li.product {
  transition: box-shadow 200ms ease, transform 200ms ease;
}

.post-type-archive-product ul.products li.product:hover,
.post-type-archive-product ul.products li.product:focus-within,
.tax-product_cat ul.products li.product:hover,
.tax-product_cat ul.products li.product:focus-within,
.tax-product_tag ul.products li.product:hover,
.tax-product_tag ul.products li.product:focus-within {
  z-index: 1;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .1), 0 25px 50px -20px rgba(50, 50, 93, .5), 0 30px 60px -30px rgba(0, 0, 0, .3);
  transform: scale(1.025);
}

.post-type-archive-product .card,
.tax-product_cat .card,
.tax-product_tag .card {
  height: 100%;
  border-color: var(--bs-light);
  transition: inherit;
}

.post-type-archive-product .card img,
.tax-product_cat .card img,
.tax-product_tag .card img,
.single-product .woocommerce-product-gallery {
  overflow: hidden;
  border-radius: var(--bs-border-radius);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--bs-primary);
  font-weight: 700;
}

.woocommerce-tabs li {
  text-transform: capitalize;
}

.woocommerce-Tabs-panel {
  padding-top: 1rem !important;
}

.woocommerce-Tabs-panel > h2:first-child {
  display: none;
}

.product-endorsements .endorsement {
  border-color: var(--bs-primary) !important;
  font-size: 1.05rem;
}

.product-endorsements .endorsement p {
  color: var(--bs-body-color);
}

.product-endorsements .endorsement .blockquote-footer {
  padding-top: .5rem !important;
  padding-left: 2rem;
  color: var(--bs-secondary);
}

.product-endorsements .endorsement .blockquote-footer cite {
  font-style: italic;
}

.wcsg_add_recipient_fields_container {
  width: 100%;
}

.nyp-product .wcsg_add_recipient_fields_container,
.nyp-product .quantity,
.nyp-product .product_meta,
.nyp-product .woocommerce-tabs,
.nyp-product .related.products,
.nyp-product .nyp-terms,
.donate .wp-block-post-title,
.donate .cart .minimum-price.nyp-terms,
.donate .cart .wcsg_add_recipient_fields_container,
.donate .cart .quantity {
  display: none !important;
}

.donate .cart,
.donate .wc-block-components-product-image {
  margin: 0 !important;
}

.nyp-product .nyp,
.donate .cart .nyp {
  display: flex;
}

.donate .cart .nyp {
  align-items: center;
  width: 100%;
  margin-bottom: 1rem;
}

.nyp-product .nyp label,
.donate .cart .nyp label {
  flex-grow: 1;
  margin-right: 1rem;
  font-weight: 700;
}

.nyp-product .nyp label .woocommerce-Price-currencySymbol,
.donate .cart .nyp label .woocommerce-Price-currencySymbol {
  font-weight: 400;
}

.nyp-product form > div {
  margin-right: 1rem;
}

.nyp-product input[name="nyp"],
.donate .cart .nyp input[name="nyp"] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 12.5rem;
  padding: .375rem .75rem;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.donate .cart .nyp input[name="nyp"] {
  margin-right: .5rem;
}

.nyp-product input[name="nyp"]:focus,
.donate .cart .nyp input[name="nyp"]:focus {
  border-color: var(--bs-primary);
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb), .2);
}

.wp-block-woocommerce-single-product .wp-block-woocommerce-product-image {
  overflow: hidden;
  margin-bottom: 1rem;
  border-radius: var(--bs-border-radius);
}

/* Existing Membership Plans page. */
.membership-grid .quantity,
.membership-grid .wp-block-woocommerce-product-price,
.membership-grid .wp-block-post-title {
  display: none !important;
}

.membership-grid .wp-block-woocommerce-single-product {
  height: 100%;
}

.membership-grid .wp-block-woocommerce-product-image {
  overflow: hidden;
  margin-bottom: 1rem;
  border-radius: var(--bs-border-radius);
}

.membership-grid .wc-block-components-product-summary p,
.membership-grid li {
  margin-bottom: 0;
  font-family: var(--bs-font-sans-serif) !important;
  line-height: 1.3;
}

.membership-grid .cart {
  display: flex;
  flex: none !important;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 1rem !important;
  padding-left: 0;
}

.membership-grid .wcsg_add_recipient_fields_container {
  width: auto !important;
}

.membership-grid .wcsg_add_recipient_fields_container label {
  margin-bottom: 0 !important;
}

.membership-grid .single_add_to_cart_button {
  flex-grow: 0 !important;
  margin-right: 1rem !important;
  padding-right: 1.5rem !important;
  padding-left: 1.5rem !important;
}

.membership-grid-free .single_add_to_cart_button {
  float: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.membership-grid .variations {
  margin-bottom: .5rem !important;
}

.membership-grid .variations td.label,
.membership-grid .variations td.value .reset_variations,
.membership-grid .single_variation_wrap .woocommerce-variation.single_variation {
  display: none !important;
}

.membership-grid .single_variation_wrap {
  width: 100%;
}

.membership-grid .single_variation_wrap .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex: none !important;
  flex-direction: row-reverse !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.membership-grid .membership-limited .single_add_to_cart_button {
  border-color: var(--bs-info) !important;
  background-color: var(--bs-info) !important;
  color: var(--bs-white) !important;
}

.membership-grid .membership-premium .single_add_to_cart_button {
  border-color: var(--bs-warning) !important;
  background-color: var(--bs-warning) !important;
  color: var(--bs-white) !important;
}

.membership-grid .membership-elite .single_add_to_cart_button {
  border-color: var(--bs-danger) !important;
  background-color: var(--bs-danger) !important;
  color: var(--bs-white) !important;
}

.membership-grid .membership-limited .single_add_to_cart_button:hover,
.membership-grid .membership-limited .single_add_to_cart_button:focus-visible,
.membership-grid .membership-premium .single_add_to_cart_button:hover,
.membership-grid .membership-premium .single_add_to_cart_button:focus-visible,
.membership-grid .membership-elite .single_add_to_cart_button:hover,
.membership-grid .membership-elite .single_add_to_cart_button:focus-visible {
  color: var(--bs-white) !important;
  filter: brightness(90%);
}

.woocommerce.single-product .reset_variations,
.woocommerce.single-product .single_variation_wrap .woocommerce-variation.single_variation {
  display: none !important;
}

.woocommerce-order-received .entry-content p,
.woocommerce-order-received .entry-content li,
.woocommerce-account .entry-content p,
.woocommerce-account .entry-content li {
  font-family: var(--bs-font-sans-serif) !important;
}

.woocommerce-order-received .woocommerce-order-overview li {
  font-size: 1rem;
}

.woocommerce-account .entry-content h2,
.woocommerce-account .entry-content h3,
.woocommerce-account .entry-content h5 {
  margin-bottom: .5rem;
  font-weight: 700;
}

.woocommerce-account .entry-content p,
.woocommerce-account .entry-content li {
  margin-bottom: 1rem;
  font-size: 1.15rem;
  font-weight: 300;
  line-height: 1.8;
}

.woocommerce-account .shop_table .order_item .product-name a.wcs-switch-link {
  margin-left: 1rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation .list-group {
  border-radius: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation .list-group-item {
  border-width: 0 0 0 2px !important;
  border-color: var(--bs-light) !important;
  text-transform: capitalize;
}

.woocommerce-account .woocommerce-MyAccount-navigation .list-group-item[aria-current="page"] {
  color: var(--bs-primary);
  background: var(--bs-light);
}

@media (min-width: 768px) {
  .donate .cart .nyp {
    width: 75%;
    margin-bottom: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .post-type-archive-product ul.products li.product,
  .tax-product_cat ul.products li.product,
  .tax-product_tag ul.products li.product {
    transition: none;
  }
}
