/* CART PAGE ONLY */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .wp-block-woocommerce-cart * {
  font-family: "Montserrat", sans-serif !important;
}

/* Main button */
.woocommerce-cart .wc-block-components-button,
.woocommerce-cart .wp-element-button,
.woocommerce-cart .wc-block-cart__submit-button {
  background: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
  font-family: "Montserrat", sans-serif !important;
}

/* Button hover */
.woocommerce-cart .wc-block-components-button:hover,
.woocommerce-cart .wp-element-button:hover,
.woocommerce-cart .wc-block-cart__submit-button:hover {
  background: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
}

/* Product name red */
.woocommerce-cart .wc-block-components-product-name {
  color: #CC1D1D !important;
  font-family: "Montserrat", sans-serif !important;
}

/* Product name hover */
.woocommerce-cart .wc-block-components-product-name:hover {
  color: #CC1D1D !important;
}

/* Cart totals heading and labels */
.woocommerce-cart .wc-block-cart__totals-title,
.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-panel__button,
.woocommerce-cart .wc-block-components-product-details,
.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-formatted-money-amount,
.woocommerce-cart .wc-block-cart-item__remove-link,
.woocommerce-cart .wc-block-components-quantity-selector__input,
.woocommerce-cart .wc-block-components-quantity-selector__button {
  font-family: "Montserrat", sans-serif !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__input {
  font-size: 16px !important;
  line-height: normal !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  appearance: textfield;
  -moz-appearance: textfield;
}

.woocommerce-cart .wc-block-components-quantity-selector {
  height: 48px !important;
  min-height: 48px !important;
  align-items: stretch !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__button {
  height: 48px !important;
  min-height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* Quantity + and - hover color */
.woocommerce-cart .wc-block-components-quantity-selector__button:hover {
  background-color: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
}

/* Also apply when focused/active */
.woocommerce-cart .wc-block-components-quantity-selector__button:focus,
.woocommerce-cart .wc-block-components-quantity-selector__button:active {
  background-color: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
}
/* Product name styling */
.woocommerce-cart .wc-block-components-product-name {
  font-size: 18px !important;
  font-weight: 600 !important;
}
/* Hide cart page title */
.woocommerce-cart .entry-title {
  display: none !important;
}
/* Push cart page content below fixed header */
.woocommerce-cart .site-main {
  padding-top: 160px !important;
}
/* Mobile cart page overflow fix */
@media (max-width: 767px) {
  .woocommerce-cart,
  .woocommerce-cart .site-main,
  .woocommerce-cart .entry-content,
  .woocommerce-cart .wp-block-woocommerce-cart,
  .woocommerce-cart .wc-block-cart {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .woocommerce-cart .wp-block-woocommerce-cart {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .woocommerce-cart .wc-block-components-sidebar-layout {
    display: block !important;
  }

  .woocommerce-cart .wc-block-cart__main,
  .woocommerce-cart .wc-block-cart__sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
}
/* =========================
   CHECKOUT PAGE STYLING
   ========================= */

/* Hide checkout page title */
.woocommerce-checkout h1.entry-title {
  display: none !important;
}

/* Montserrat everywhere on checkout */
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-checkout .wp-block-woocommerce-checkout *,
.woocommerce-checkout .wc-block-checkout,
.woocommerce-checkout .wc-block-checkout * {
  font-family: "Montserrat", sans-serif !important;
}

/* Push checkout content below fixed header */
.woocommerce-checkout .wp-block-woocommerce-checkout {
  margin-top: 80px !important;
}

/* Main buttons */
.woocommerce-checkout .wc-block-components-button,
.woocommerce-checkout .wp-element-button,
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  background: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 700 !important;
}

/* Button hover/focus */
.woocommerce-checkout .wc-block-components-button:hover,
.woocommerce-checkout .wc-block-components-button:focus,
.woocommerce-checkout .wp-element-button:hover,
.woocommerce-checkout .wp-element-button:focus,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus {
  background: #CC1D1D !important;
  color: #ffffff !important;
  border-color: #CC1D1D !important;
}

/* Return to cart link */
.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
  color: #CC1D1D !important;
  font-family: "Montserrat", sans-serif !important;
}

/* Section headings */
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
.woocommerce-checkout .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-product-name {
  font-family: "Montserrat", sans-serif !important;
}

/* Product name in summary */
.woocommerce-checkout .wc-block-components-product-name {
  color: #CC1D1D !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

/* Inputs and selects */
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  font-family: "Montserrat", sans-serif !important;
}

/* Checkbox labels and misc text */
.woocommerce-checkout .wc-block-components-checkbox__label,
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-blocks-components-select__label,
.woocommerce-checkout .wc-block-components-panel__button,
.woocommerce-checkout .wc-block-components-product-details,
.woocommerce-checkout .wc-block-formatted-money-amount {
  font-family: "Montserrat", sans-serif !important;
}

/* Mobile overflow fix */
@media (max-width: 767px) {
  .woocommerce-checkout,
  .woocommerce-checkout .site-main,
  .woocommerce-checkout .entry-content,
  .woocommerce-checkout .wp-block-woocommerce-checkout,
  .woocommerce-checkout .wc-block-checkout {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .woocommerce-checkout .wp-block-woocommerce-checkout {
    padding-left: 20px !important;
    padding-right: 20px !important;
    margin-top: 160px !important;
  }

  .woocommerce-checkout .wc-block-components-sidebar-layout {
    display: block !important;
  }

  .woocommerce-checkout .wc-block-checkout__main,
  .woocommerce-checkout .wc-block-checkout__sidebar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  .woocommerce-checkout,
  .woocommerce-checkout *:not(svg):not(path) {
    font-family: "Montserrat", sans-serif !important;
  }
}
@media (max-width: 767px) {
  .woocommerce-checkout .wc-block-checkout__sidebar {
    display: none !important;
  }
}