/** Shopify CDN: Minification failed

Line 1257:0 All "@import" rules must come first

**/
/*********************************

  Product Card Container Styling (#224)
  Keep theme borders and padding, make background transparent for shadow visibility

**********************************/
/* Ensure page background is white */
body,
html {
  background-color: #ffffff !important;
}

/* Ensure product list background is white */
.product-list {
  background-color: #ffffff !important;
}

/* Keep theme borders and padding, only make background transparent for shadow visibility */
.product-list .product-item {
  background-color: transparent !important;
  /* Ensure borders are visible - use exact color from reference */
  border-right: 1px solid rgb(225, 225, 225) !important;
  border-bottom: 1px solid rgb(225, 225, 225) !important;
  /* Ensure padding is applied - theme should apply 10px but being explicit */
  padding: 10px !important;
}

[data-section-type=featured-collection] .product-list .product-item {
  background-color: transparent !important;
  /* Featured collection has all borders - use exact color from reference */
  border: 1px solid rgb(225, 225, 225) !important;
  padding: 10px !important;
}

/*********************************

	Header Login Button, Search Icon, and Cart Count (#227)

**********************************/
/* Search icon - WHITE icon on green background */
.header__action-item-link[data-action="toggle-search"] {
  background-color: #85cb33 !important;
  color: #ffffff !important;
  border-radius: 4px;
  padding: 8px;
}

.header__action-item-link[data-action="toggle-search"] svg,
.header__action-item-link[data-action="toggle-search"] .icon--search,
.header__action-item-link[data-action="toggle-search"] .icon {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* Search bar submit button icon - WHITE icon on green background */
.search-bar__submit {
  background-color: #85cb33 !important;
  color: #ffffff !important;
}

.search-bar__submit svg,
.search-bar__submit .icon--search,
.search-bar__submit .icon {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

/* =============================================
   LOGIN / REGISTER – Apple-inspired header auth
   ============================================= */

/* Base: white monochrome icon + text (replaces green #85cb33) */
.header__action-item--account .header__action-item-link,
.header__action-item--account .header__action-item-link svg,
.header__action-item--account .icon--account,
.header__action-item--account svg.icon--account {
  color: #ffffff !important;
  stroke: #ffffff !important;
  fill: none !important;
}

/* Cart count - green */
.header__cart-count {
  color: #ffffff !important;
  background-color: #85cb33 !important;
}

/* Remove vertical divider when logged out */
.header__action-item.user-logged-out::after {
  display: none !important;
}

/* Mobile icon hover (< 1280px) */
.user-logged-out .header__account-icon.icon-state {
  transition: opacity 0.2s ease;
}
.user-logged-out .header__account-icon.icon-state:hover {
  opacity: 0.75;
}

/* ---- Desktop (>= 1280px) ---- */
@media screen and (min-width: 1280px) {

  /* Flex container for Login + Register */
  .user-logged-out .header__action-item-content {
    display: flex;
    align-items: center;
    gap: 12px;
  }

  /* LOGIN – clean text link with underline hover */
  .header__auth-login {
    color: #ffffff !important;
    text-decoration: none;
    position: relative;
    padding: 8px 0;
    transition: opacity 0.2s ease;
  }

  .header__auth-login::after {
    content: '';
    position: absolute;
    bottom: 5px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #ffffff;
    opacity: 0;
    transition: opacity 0.2s ease;
  }

  .header__auth-login:hover {
    opacity: 0.85;
  }

  .header__auth-login:hover::after {
    opacity: 0.85;
  }

  /* REGISTER – pill-shaped outlined button */
  .header__auth-register {
    color: #ffffff !important;
    text-decoration: none;
    padding: 8px 20px;
    border: 1.5px solid rgba(255, 255, 255, 0.4);
    border-radius: 980px;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    display: inline-block;
    white-space: nowrap;
  }

  .header__auth-register:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.7);
  }

  .header__auth-register:active {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.9);
  }

  /* Popover position adjustment */
  .popover--unlogged {
    right: 180px !important;
    top: calc(100% + 13px);
  }
}

/* Mobile: hide popover triangle */
@media screen and (max-width: 999px) {
  #account-popover .icon--nav-triangle-borderless {
    display: none !important;
  }
}


/*********************************

	Collection / Produdct Page

**********************************/
.collection__dynamic-part.card {
  background: transparent;
  border: none;
}

.collection__dynamic-part.card .card__header {
  background-color: #fff;
  border: 1px solid var(--border-color);
}

.collection__dynamic-part.card .card__header.collection-footer-description {
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 25px;
  border-bottom: none;
}

.collection__dynamic-part.card .collection__toolbar {
  box-shadow: none;
  background: #fff;
  border-bottom: 1px solid var(--border-color);
  border-right: 1px solid var(--border-color);
  border-left: 1px solid var(--border-color);
}

.collection__dynamic-part.card .product-list {
  background: transparent;
  border: none;
}

.product-list .product-item {
  position: relative;
  overflow: hidden;
}

/*********************************
  Flickity requires explicit heights - height: 100% doesn't work 
  with position: absolute that Flickity sets on cells.
  Measured values: outer 590px, inner 570px (allows for padding + hover)
**********************************/
.flickity-enabled .product-item {
  height: 480px;
}

.flickity-enabled .ms-product-card,
.flickity-enabled .wp-product-card {
  height: 460px;
}

/* Recently viewed: shorter cards (less content than featured/recommendations) */
[data-section-type="recently-viewed-products"] .flickity-enabled .product-item {
  height: 420px;
}
[data-section-type="recently-viewed-products"] .flickity-enabled .ms-product-card,
[data-section-type="recently-viewed-products"] .flickity-enabled .wp-product-card {
  height: 400px;
}

.product-list .\31 \/4--desk {
  margin-bottom: 20px;
}

.scroller .product-list {
  background: transparent;
  border: none;
  /* overflow: hidden;	*/
}

.scroller .product-list:before {
  display: none;
}

.scroller .product-list .product-item:not(:first-of-type) {
  margin-left: 20px;
}

@media screen and (min-width: 641px) and (max-width: 1279px) {
  .\31 \/3--tablet-and-up {
    width: calc(33.333333% - 0.84em);
  }

  .product-list .\31 \/3--tablet-and-up {
    margin-left: 20px;
  }

  .product-list .\31 \/3--tablet-and-up:nth-of-type(3n + 1) {
    margin-left: 0px;
  }
}

@media screen and (min-width: 1280px) {
  .\31 \/4--desk {
    width: calc(25% - 15px);
  }
  
  /* Fix for 5 items per row width calculation issue */
  .product-list--5-per-row .\31 \/4--desk {
    width: calc(20% - 16px);
  }

  .product-list .\31 \/4--desk {
    margin-left: 20px;
  }

  .product-list .\31 \/4--desk:nth-of-type(4n + 1) {
    margin-left: 0px;
  }
}

@media screen and (max-width: 640px) {
  .collection__dynamic-part.card .collection__toolbar {
    margin-top: -20px;
  }

  .collection__dynamic-part.card .card__header.collection-footer-description {
    margin: 0;
    width: 100%;
  }

  .product-list--collection .product-item--vertical {
    width: 50%;
  }

  .scroller .product-list .product-item:not(:first-of-type) {
    margin-left: 10px;
  }
}

.product-list .product-item .product-item__inventory:before {
  display: none;
}

.product-list .product-item .product-item__inventory.inventory--high {
  display: none;
  background: var(--product-in-stock-color);
}

.product-item__info .product-item__info-inner {
  margin-top: auto;
}

.product-item__info .price-unit-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 0 0 7px;
}

.product-item__info .case-price {
  position: relative;
}

.product-item__info .case-price:before {
  content: "";
  position: absolute;
  left: -19px;
  bottom: 6px;
  width: 1px;
  height: 30px;
  background: var(--border-color);
}

.price-unit-wrap .case-price,
.price-unit-wrap .unit-price {
  text-align: center;
  min-width: 50%;
}

.price-unit-wrap .case-price span,
.price-unit-wrap .unit-price span {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
}

.price-unit-wrap .unit-price span {
  margin-right: 0 !important;
}

.price-unit-wrap .case-price span {
  margin-left: 0 !important;
}

.price-unit-wrap .case-price span.price-label,
.price-unit-wrap .unit-price span.price-label {
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
}

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

.product-item .price {
  position: relative;
}

.block-swatch.block-swatch--disabled {
  pointer-events: none;
}

@media screen and (max-width: 576px) {
  .product-list--collection .product-item--vertical {
    padding-left: 10px;
    padding-right: 10px;
  }

  .product-item__title {
    letter-spacing: -0.5px;
  }
}

/* Custom Select Box */
.nice-select {
  height: 48px;
  padding-right: 36px;
  font-size: 1rem;
  line-height: 46px;
  border: 1px solid var(--form-border-color);
  border-radius: 4px;
}

.nice-select:after {
  width: 7px;
  height: 7px;
}

.nice-select.open,
.nice-select:active,
.nice-select:focus {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 1px var(--accent-color);
  outline: 0;
}

.nice-select .list {
  max-height: 300px;
  overflow-y: auto;
}

.nice-select .option {
  padding-right: 36px;
}

.nice-select .option.disabled {
  color: #bbb;
}

.nice-select .option:not(.disabled):hover {
  background: var(--accent-color);
  color: #fff;
}

.ui-tooltip {
  background: var(--header-accent-color);
  color: white;
  border: none;
  padding: 0;
  opacity: 1;
  box-shadow: none;
}

.ui-tooltip-content {
  position: relative;
  padding: 5px 10px;
  font-size: 14px;
}

.ui-tooltip-content::after {
  content: '';
  position: absolute;
  border-style: solid;
  display: block;
  width: 0;
}

.right .ui-tooltip-content::after {
  top: 8px;
  left: -7px;
  border-color: transparent var(--header-accent-color);
  border-width: 7px 7px 7px 0;
}

.left .ui-tooltip-content::after {
  top: 18px;
  right: -10px;
  border-color: transparent var(--header-accent-color);
  border-width: 10px 0 10px 10px;
}

.top .ui-tooltip-content::after {
  bottom: -10px;
  left: 72px;
  border-color: var(--header-accent-color) transparent;
  border-width: 10px 10px 0;
}

.bottom .ui-tooltip-content::after {
  top: -10px;
  left: 72px;
  border-color: var(--header-accent-color) transparent;
  border-width: 0 10px 10px;
}

.template-product .product-form__info-content .case-price .price-list {
  flex-direction: column;
}

.template-product .product-form__info-content .price--compare {
  order: -1;
  font-size: 14px;
  font-weight: 100;
  color: grey;
}


.template-product .product-form__info-content.have-compared .unit-price {
  padding-top: 0;
}

/*********************************

	Footer Styling

**********************************/
/* Custom footer text - matches live site styling */
.custom-footer-text {
  font-size: 10px;
  color: #777;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
  line-height: 1.4;
  font-style: italic;
}

/*********************************

	Quick Order Form Styling

**********************************/
.quick-order-form__instructions {
  margin-bottom: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--border-color);
}

.quick-order-form__instructions p {
  font-size: 14px;
  color: var(--text-color);
  margin: 0;
}

.quick-order-form__table-wrapper {
  margin-bottom: 20px;
  overflow-x: auto;
}

.quick-order-table {
  width: 100%;
  min-width: 600px;
}

.quick-order-row__sku {
  position: relative;
}

.quick-order-row__sku input {
  width: 150px;
}

.quick-order-row__sku-status {
  margin-top: 5px;
  font-size: 12px;
}

.quick-order-row__sku-status .quick-order-row__loading {
  color: #666;
}

.quick-order-row__sku-status .quick-order-row__success {
  color: var(--success-color);
}

.quick-order-row__sku-status .quick-order-row__error {
  color: var(--error-color);
}

.quick-order-row__sku-status .quick-order-row__warning {
  color: #ff8800;
}

.quick-order-row__product-title {
  font-weight: 600;
  margin-bottom: 3px;
}

.quick-order-row__variant-title {
  font-size: 13px;
  color: #777;
}

.quick-order-row__placeholder {
  color: #999;
  font-style: italic;
}

.quick-order-row__quantity input {
  width: 80px;
  text-align: center;
}

.quick-order-form__actions {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
}

.quick-order-form__status {
  margin-top: 15px;
}

.quick-order-form__status ul {
  margin-top: 10px;
  margin-left: 20px;
  list-style-type: disc;
}

.quick-order-form__status li {
  margin-top: 5px;
}

@media screen and (max-width: 640px) {
  .quick-order-table {
    min-width: 500px;
  }

  .quick-order-row__sku input {
    width: 120px;
  }

  .quick-order-row__quantity input {
    width: 60px;
  }

  .quick-order-form__actions {
    flex-direction: column;
  }

  .quick-order-form__actions .button {
    width: 100%;
  }
}

/*********************************

	Order Reorder Functionality

**********************************/
.order-summary__reorder {
  margin-top: 20px;
}

.order-summary__reorder .button {
  margin-bottom: 15px;
}

.reorder-status {
  margin-top: 15px;
}

.reorder-status ul {
  margin-top: 10px;
  margin-left: 20px;
  list-style-type: disc;
}

.reorder-status li {
  margin-top: 5px;
}

/*********************************

	Saved Carts Styling

**********************************/
.cart-recap__save-cart {
  margin-bottom: 15px;
}

.save-cart-status {
  margin-top: 10px;
}

.saved-cart-item {
  margin-bottom: 15px;
}

.saved-cart-item__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.saved-cart-item__name {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.saved-cart-item__date {
  font-size: 14px;
  color: #777;
}

.saved-cart-item__details {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
  font-size: 14px;
}

.saved-cart-item__total {
  font-weight: 600;
}

.saved-cart-item__actions {
  display: flex;
  gap: 10px;
}

.saved-cart-item__actions .button {
  flex: 1;
}

/*********************************

  Product Card Vendor Styling

**********************************/
a.product-item__vendor.link[href] {
  font-family: 'SF Pro Display', -apple-system, system-ui, Roboto, 'Helvetica Neue', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #86868b !important;
  text-transform: none !important;
  text-decoration: none !important;
  line-height: 1.87 !important;
  -webkit-font-smoothing: antialiased !important;
}

a.product-item__vendor.link[href]:hover {
  color: #86868b !important;
  text-decoration: underline !important;
}


/*********************************

  Product Card Title Styling

**********************************/
.product-item__title {
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  min-height: 47px;
  text-align: left !important;
}

.product-item__title.link,
a.product-item__title.link {
  color: #1d1d1f !important;
  text-decoration: none !important;
}

.product-item__title.link:hover,
a.product-item__title.link:hover {
  color: #1d1d1f !important;
  text-decoration: none !important;
}


/*********************************

  Actual Product Card Button Styling

**********************************/
.product-item__action-button.button.button--primary {
  background-color: #0071e3 !important;
  color: #ffffff !important;
  border: 1px solid #0071e3 !important;
  border-radius: 8px !important;
  min-height: 40px !important;
  padding: 10px 16px !important; /* Ensure consistent padding */
}

.product-item__action-button.button.button--primary:hover {
  background-color: #0077ED !important;
  border-color: #0077ED !important;
}

/* Hide "Choose options" button and Quick view - only show Add to Cart or Quick Shop */
.product-item__action-button.button--ternary,
.product-item__action-button[data-action="open-modal"],
a.product-item__action-button[href*="/products/"],
a.product-item__action-button.button.button--primary[href*="/products/"],
.product-item__action-list a[href*="/products/"] {
  display: none !important;
}


/*********************************

  Product Page Subtitle

**********************************/
.product-subtitle {
  font-size: 18px;
  color: #666;
  margin: 8px 0 20px;
  font-weight: 400;
}

/**********************************
  Product Page: 3-Column Metafield Display (#196)
  Strength | Case | QTY Per Unit
**********************************/
.product-meta .product-item__extra-fields {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 3.5rem;
  padding: 0;
  margin-bottom: 2rem;
}

.product-meta .product-item__extra-fields-group {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  gap: 0.5rem;
}

.product-meta .product-item__extra-fields-group .icon {
  font-size: 1.5rem;
  flex-shrink: 0;
}

.product-meta .product-item__extra-fields-group-meta {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.product-meta .product-item__extra-fields-group-meta .product-item__extra-fields-val {
  display: block;
  font-size: 1rem;
  line-height: 1.188rem;
}

.product-meta .product-item__extra-fields-group-meta .product-item__extra-fields-val:first-child {
  font-weight: normal;
  color: #333;
}

.product-meta .product-item__extra-fields-group-meta .product-item__extra-fields-val:last-child {
  font-weight: bold;
  color: #8BC34A;
}

/* Vertical dividers between columns */
.product-meta .product-item__extra-fields-group:nth-child(2)::before,
.product-meta .product-item__extra-fields-group:nth-child(3)::before {
  content: '';
  display: block;
  position: absolute;
  left: -1.75rem;
  top: 0;
  bottom: 0;
  border-left: 1px solid #dfdfdf;
}

/* Mobile: stack into single column */
@media screen and (max-width: 640px) {
  .product-meta .product-item__extra-fields {
    flex-direction: column;
    gap: 1rem;
  }
  
  .product-meta .product-item__extra-fields-group:nth-child(2)::before,
  .product-meta .product-item__extra-fields-group:nth-child(3)::before {
    display: none;
  }
}

/**********************************
  Product Page: Hide Price Spacing Fix (#214)
  Prevent hidden elements from taking up space
**********************************/
.hidePrice[style*="display: none"],
.hidePrice[style*="visibility: hidden"] {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* Reduce spacing on product-meta when elements are hidden */
.product-meta .product-item__extra-fields[style*="display: none"],
.product-meta .product-item__extra-fields[style*="visibility: hidden"] {
  margin: 0 !important;
}

/**********************************
  Product Page: Unit vs Case Pricing Display (#197)
  $21.95 Per Case | $4.39 Per Unit
**********************************/
/* Fix PRICE spacing - override table layout spacing and line-height */
.product-form__info-list--top {
  border-spacing: 0;
  margin: 0 0 22px 0; /* Add back bottom spacing that was removed */
  line-height: 1.3; /* Override theme's 1.87 line-height for tighter spacing */
}

.product-form__info-list--top .product-form__info-item {
  display: block;
}

.product-form__info-list--top .product-form__info-item .product-form__info-title {
  display: block;
  font-size: 1.375rem;
  text-transform: uppercase;
  margin-bottom: 1rem; /* 16px spacing below PRICE */
  line-height: 1.3; /* Tighter line-height for PRICE heading */
}

.product-form__info-content.price-unit-wrap {
  display: flex !important;
  flex-direction: row !important;
  gap: 2.5rem;
  align-items: flex-start !important;
  width: 100% !important;
  margin: 0 !important;
  justify-content: flex-start !important;
}

.product-form__info-content.price-unit-wrap .case-price,
.product-form__info-content.price-unit-wrap .unit-price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  flex: 0 0 auto;
  width: auto;
  min-width: auto !important;
  text-align: left !important;
  vertical-align: top;
  align-self: flex-start;
  line-height: 1.3 !important;
}

.product-form__info-content.price-unit-wrap .case-price .price-list,
.product-form__info-content.price-unit-wrap .case-price .price,
.product-form__info-content.price-unit-wrap .unit-price .price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  padding: 0;
  line-height: 1.3 !important;
}

.product-form__info-content .case-price .price,
.product-form__info-content .unit-price .price {
  font-size: 1.5rem;
  font-weight: 700;
  color: #8BC34A !important;
}

.product-form__info-content.price-unit-wrap .case-price .price-label,
.product-form__info-content.price-unit-wrap .unit-price .price-label {
  font-size: 12px;
  font-weight: normal;
  text-transform: capitalize !important;
  color: #666;
  line-height: 14px;
}

/* Mobile: stack case and unit prices vertically */
@media screen and (max-width: 640px) {
  .product-form__info-content.price-unit-wrap {
    flex-direction: column;
    gap: 1rem;
  }
}

/**********************************
  Bulk Order Matrix (#200)
  Multi-variant add to cart table
**********************************/

/* Hide standard variant selectors when bulk matrix is present */
.template-product .mvb ~ .product-form__variants,
.template-product .mvb ~ * .product-form__info-item--quantity {
  display: none !important;
}

/* Hide duplicate price in variant selector when bulk matrix is present (#229) */
.template-product .mvb ~ .product-form__info-list .product-form__info-item:first-child {
  display: none !important;
}

/* Hide buy buttons (Add to Cart/Buy it now) when bulk matrix is present (#228) */
.template-product .mvb ~ .product-form__payment-container,
.template-product .mvb ~ * .product-form__payment-container {
  display: none !important;
}

/* Matrix container */
.mvb {
  margin-bottom: 2rem;
}

/* Header row */
.mvb__header {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  border: 1px solid var(--border-color);
  border-bottom: none;
  padding: 20px;
}

.mvb__header__title {
  font-size: 0.875rem;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
}

.mvb__header__title:first-child {
  text-align: left;
}

.mvb__header__title:last-child {
  text-align: right;
}

/* Body - scrollable variant list */
.mvb__body {
  border: 1px solid var(--border-color);
  border-top: none;
  max-height: 346px;
  overflow-y: auto;
  position: relative;
}

.mvb__body.is-loading::before {
  content: '';
  display: block;
  position: absolute;
  background-color: #fff;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.8;
}

.mvb__variants {
  display: flex;
  flex-direction: column;
}

/* Variant rows */
.mvb__variants__item {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  position: relative;
  padding: 15px 0;
  margin: 0 20px;
  align-items: center;
  border-bottom: 1px solid var(--border-color);
}

.mvb__variants__item:first-child {
  border-top: 1px solid var(--border-color);
}

.mvb__variants__item:last-child {
  border-bottom: none;
}

/* Disabled (out of stock) variants */
.mvb__variants__item.disabled {
  order: 100;
}

.mvb__variants__item.disabled::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  opacity: 0.8;
}

/* Cell alignment */
.mvb__variants__item__cell {
  text-align: center;
  font-size: 0.875rem;
}

.mvb__variants__item__cell:first-child {
  text-align: left;
}

.mvb__variants__item__cell:last-child {
  text-align: right;
}

/* Variant title - clickable to change image */
.vr--title:hover {
  cursor: pointer;
}

/* Quantity input */
.mvb__qty-selector {
  border: none;
  width: 40px;
  text-align: center;
}

.mvb__qty-selector::-webkit-outer-spin-button,
.mvb__qty-selector::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Footer - total and add to cart */
.mvb__footer {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  margin-top: 19px;
  border: 1px solid var(--accent-color);
}

.mvb__overal-total {
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: flex-start;
  padding: 0 18px;
  min-height: 50px;
}

.mvb__overal-total-label {
  text-transform: uppercase;
  font-size: 0.938rem;
  font-weight: bold;
}

.mvb__overal-total-value {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1;
  color: var(--accent-color);
}

/* Add to cart button */
.mvb__add-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  width: 100%;
}

.mvb__add-button.disabled {
  pointer-events: none;
  opacity: 0.7;
}

.mvb__add-button-total {
  font-size: 1.25rem;
  font-weight: bold;
  margin-right: 10px;
}

/* Loading spinner */
.mcb__add-button-loader {
  display: none;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  border: 0.25rem solid rgba(255, 255, 255, 0.2);
  border-top-color: white;
  animation: spin 1s infinite linear;
}

.is-loading .mcb__add-button-loader {
  display: block;
}

.is-loading .mvb__add-button-content {
  display: none;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Hide "cases" text when Units metafield is blank */
.no-cases .hide-c {
  display: none;
}

/* Mobile responsive */
@media screen and (max-width: 640px) {
  .mvb__footer {
    grid-template-columns: 1fr;
  }
  
  .mvb__overal-total {
    justify-content: center;
  }
}

/*********************************
  Bouncer age-gate modal (Token of Trust / #231)
  Ported from main theme.css for V6
**********************************/
#bouncer_modal_submit {
  background: black !important;
  padding: 9px 17px !important;
  font-weight: 550 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-family: Source Sans Pro, sans-serif !important;
  font-size: 11px !important;
  color: white !important;
  border: 1px solid transparent !important;
  border-radius: 5px !important;
}

#bouncer_modal_exit {
  color: black !important;
  font-weight: 250 !important;
}

/*********************************

  Warehouse Pro (wp-) Product Card & Quick Shop Styles
  B2B-optimized product cards with Quick Order Table modal

**********************************/

/* Warehouse Pro - B2B/Wholesale Theme */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@700&family=Inter:wght@400;500;700&display=swap');

:root {
  --wp-font-heading: 'Roboto Condensed', sans-serif;
  --wp-font-body: 'Inter', sans-serif;

  --wp-color-white: #FFFFFF;
  --wp-color-paper: #F8F9FA;
  --wp-color-steel: #DDE2E6;
  --wp-color-gray: #A9B1B9;
  --wp-color-charcoal: #343A40;
  --wp-color-charcoal-light: #6c757d; /* Darker gray for text */
  --wp-color-accent: #FF6700; /* Safety Orange */
  --wp-color-accent-hover: #E05A00;
  --wp-color-success: #28a745;
  --wp-color-danger: #dc3545;
  --wp-color-border-light: #e9ecef;
  --wp-color-hover-light: #f1f3f5;
  --wp-scrollbar-width: 16px;
}

/* ===== Desktop safety: hide mobile-only bits by default ===== */
.mqs-mobile-link,
.mqs-choose-price,
.mqs-selected,
.variant-info__avatar,
.wp-button__text-mobile { display: none !important; }

/* --- Product Card --- */
.wp-product-card {
  font-family: var(--wp-font-body);
  display: flex;
  flex-direction: column;
  background-color: var(--wp-color-white);
  border: 1px solid var(--wp-color-steel);
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03), 0 6px 18px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.wp-product-card:hover {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 10px 28px rgba(0, 0, 0, 0.10), 0 4px 12px rgba(0, 0, 0, 0.06);
  transform: translateY(-1px);
  border-color: var(--wp-color-gray);
}

.wp-product-image-container { position: relative; background-color: transparent; overflow: hidden; }
.wp-product-image-link { display: block; padding-bottom: 85%; position: relative; }
.wp-product-image, .wp-product-image-hover { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; padding: 3%; transition: opacity 0.3s ease, transform 0.3s ease; }
.wp-product-image-hover { opacity: 0; }
.wp-product-image-link:hover .wp-product-image { opacity: 0; transform: scale(1.05); }
.wp-product-image-link:hover .wp-product-image-hover { opacity: 1; transform: scale(1.05); }

.wp-labels { position: absolute; top: 12px; left: 12px; display: flex; flex-wrap: wrap; gap: 8px; z-index: 2; }
.wp-label { display: inline-flex; padding: 4px 12px; border-radius: 4px; font-size: 11px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; }
.wp-label--custom1, .wp-label--custom2 { background-color: var(--wp-color-charcoal); color: var(--wp-color-white); }
.wp-label--on-sale { background-color: var(--wp-color-accent); color: var(--wp-color-white); }

.wp-product-content { display: flex; flex-direction: column; padding: 6px 16px 16px; }
.wp-product-header { margin-bottom: 6px; }
.wp-product-vendor a { font-size: 12px; color: var(--wp-color-gray); text-decoration: none; font-weight: 500; }
.wp-product-vendor a:hover { text-decoration: underline; }
.wp-product-title { font-family: 'SF Pro Text', 'SF Pro Display', -apple-system, BlinkMacSystemFont, system-ui, var(--wp-font-heading); font-size: 17px; font-weight: 600; line-height: 1.2; margin: 0; min-height: 42px; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wp-product-title a { color: var(--wp-color-charcoal); text-decoration: none; }
.wp-product-title a:hover { color: var(--wp-color-accent); }

.wp-product-specs { margin-bottom: 16px; }
.wp-product-pricing { display: flex; align-items: baseline; flex-wrap: wrap; margin-bottom: 4px; }
.wp-product-price { font-size: 19px; font-weight: 600; color: var(--wp-color-charcoal); font-family: 'SF Pro Text', 'SF Pro Display', -apple-system, BlinkMacSystemFont, system-ui, var(--wp-font-body); }
.wp-product-price--sale { color: var(--wp-color-danger); }
.wp-product-price--compare { font-size: 14px; color: var(--wp-color-gray); text-decoration: line-through; margin-left: 8px; }
.wp-product-unit-price { font-size: 12px; color: var(--wp-color-charcoal-light); margin-left: 4px; font-weight: 500; }

.wp-metafields { display: flex; flex-direction: column; gap: 4px; padding-top: 8px; align-items: flex-start; }
.wp-metafield-item { display: inline-flex; gap: 4px; font-size: 13px; }
.wp-metafield-label { color: var(--wp-color-gray); }
.wp-metafield-value { color: var(--wp-color-charcoal); font-weight: 500; }

.wp-product-footer { }
.wp-inventory-status { margin-bottom: 12px; }
.wp-inventory { display: inline-flex; align-items: center; font-size: 13px; font-weight: 700; text-transform: uppercase; }
.wp-inventory svg { margin-right: 6px; }
.wp-inventory--available { color: var(--wp-color-success); }
.wp-inventory--low { color: var(--wp-color-accent); }
.wp-inventory--soldout { color: var(--wp-color-danger); }

.wp-product-actions, .wp-product-form { display: flex; width: 100%; }
.wp-button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 0 24px; border-radius: 8px; font-size: 16px; font-weight: 700; text-align: center; cursor: pointer; transition: all 0.2s ease; text-decoration: none; white-space: nowrap; border: none; text-transform: uppercase; }
.wp-button--full { width: 100%; }
.wp-button--primary { background-color: var(--wp-color-accent); color: var(--wp-color-white); border: 2px solid var(--wp-color-accent); }
.wp-button--primary:hover { background-color: var(--wp-color-accent-hover); border-color: var(--wp-color-accent-hover); }
.wp-button--secondary { background-color: transparent; color: var(--wp-color-charcoal); border: 2px solid var(--wp-color-steel); }
.wp-button--secondary:hover { background-color: var(--wp-color-paper); border-color: var(--wp-color-gray); }
.wp-button--disabled { background-color: var(--wp-color-steel); color: var(--wp-color-gray); border-color: var(--wp-color-steel); cursor: not-allowed; }
.wp-button--disabled:hover { background-color: var(--wp-color-steel); border-color: var(--wp-color-steel); }

/* --- Quick View Popup --- */
.wp-quick-view { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 9999; opacity: 0; visibility: hidden; display: flex; align-items: center; justify-content: center; padding: 20px; transition: opacity 0.3s ease, visibility 0.3s ease; pointer-events: none; overscroll-behavior: contain; }
.wp-quick-view.active { opacity: 1; visibility: visible; pointer-events: all; }
.wp-quick-view__overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(52, 58, 64, 0.8); z-index: 1; cursor: pointer; }
.wp-quick-view__container { position: relative; width: 100%; max-width: 1300px; max-height: 90vh; background-color: var(--wp-color-white); border-radius: 16px; box-shadow: 0 10px 40px rgba(0,0,0,0.2); overflow: hidden; z-index: 2; transform: scale(0.95); transition: transform 0.3s ease; display: flex; overscroll-behavior: contain; }
.wp-quick-view.active .wp-quick-view__container { transform: scale(1); }
.wp-quick-view__close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; background: var(--wp-color-paper); border: 1px solid var(--wp-color-steel); border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10; color: var(--wp-color-charcoal); transition: all 0.2s ease; }
.wp-quick-view__close:hover { background-color: var(--wp-color-steel); color: var(--wp-color-charcoal); }

.wp-quick-view__content { display: flex; width: 100%; }
.wp-quick-view__image-wrapper { flex: 1 1 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px; border-right: 1px solid var(--wp-color-steel); }
.wp-quick-view__image-container { width: 100%; max-width: 500px; }
.wp-quick-view__image { max-width: 100%; max-height: 500px; object-fit: contain; display: block; margin: 0 auto; }
.wp-quick-view__details { flex: 1 1 50%; padding: 0; overflow-y: hidden; display: flex; flex-direction: column; }
.wp-quick-view__title-wrapper { display: flex; align-items: flex-start; gap: 16px; }
.wp-quick-view__title { font-family: var(--wp-font-heading); font-size: 32px; font-weight: 700; margin: 0; color: var(--wp-color-charcoal); flex-grow: 1; }
.wp-quick-view__product-link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--wp-color-charcoal-light); text-decoration: none; font-weight: 500; transition: color 0.2s ease; flex-shrink: 0; margin-top: 8px; }
.wp-quick-view__product-link:hover { color: var(--wp-color-accent); }
.wp-quick-view__product-link svg { width: 18px; height: 18px; }

/* --- Gallery Thumbnails --- */
.wp-quick-view__thumbnails { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 24px; }
.wp-quick-view__thumbnail-item { padding: 0; border: 2px solid transparent; border-radius: 8px; cursor: pointer; overflow: hidden; transition: border-color 0.2s ease; background: none; }
.wp-quick-view__thumbnail-item:hover { border-color: var(--wp-color-gray); }
.wp-quick-view__thumbnail-item.is-active { border-color: var(--wp-color-accent); }
.wp-quick-view__thumbnail-item img { display: block; width: 70px; height: 70px; object-fit: cover; }

/* --- Quick Order Form --- */
.wp-quick-order-header { padding: 24px 24px 16px; border-bottom: 1px solid var(--wp-color-border-light); }
.wp-quick-order-meta { display: flex; align-items: center; gap: 24px; margin-top: 16px; }
.wp-quick-view__sku { font-size: 13px; color: var(--wp-color-gray); }
.wp-quick-view__case-info { font-size: 14px; color: var(--wp-color-gray); font-weight: 500; padding: 6px 12px; background-color: var(--wp-color-paper); border-radius: 8px; }

.wp-quick-order-form { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
.wp-quick-order-table { flex-grow: 1; display: flex; flex-direction: column; overflow: hidden; }
.wp-quick-order-table__header { display: grid; grid-template-columns: minmax(0, 1fr) 120px 110px 100px; gap: 8px; padding: 8px calc(32px + var(--wp-scrollbar-width)) 8px 8px; background-color: var(--wp-color-white); border-bottom: 1px solid var(--wp-color-border-light); }
.wp-quick-order-table__cell { font-size: 13px; color: var(--wp-color-charcoal); font-weight: 400; letter-spacing: 0; text-transform: none; }
.wp-quick-order-table__header .wp-quick-order-table__cell { font-weight: 600; color: var(--wp-color-charcoal); }
.wp-quick-order-table__cell.col-price,
.wp-quick-order-table__cell.col-subtotal { text-align: right; }
.wp-quick-order-table__cell.col-qty { text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 0 4px; }
.wp-quick-order-table__cell.col-price { padding-right: 6px; }
.wp-quick-order-table__cell.col-subtotal { padding-left: 6px; }

.wp-quick-order-table__body { flex-grow: 1; overflow-y: auto; padding: 0 32px 0 8px; scrollbar-gutter: stable both-edges; overscroll-behavior: contain; }
.wp-quick-order-table__row { display: grid; grid-template-columns: minmax(0, 1fr) 120px 110px 100px; gap: 8px; align-items: center; min-height: 48px; padding: 6px 0; border: none; transition: background-color 0.2s ease; }
.wp-quick-order-table__row:nth-child(even) { background-color: var(--wp-color-paper); }
.wp-quick-order-table__row:hover { background-color: var(--wp-color-hover-light); }
.wp-quick-order-table__row.is-oos { opacity: 0.6; background-color: var(--wp-color-paper); cursor: not-allowed; }
.wp-quick-order-table__row.is-oos:hover { background-color: var(--wp-color-paper); }

.variant-info { padding: 0 8px 0 0; display: flex; align-items: center; gap: 8px; }
.variant-info__title { font-weight: 500; font-size: 14px; color: var(--wp-color-charcoal); line-height: 1.35; }
.variant-info__sku { display: block; font-size: 12px; color: var(--wp-color-gray); margin-top: 2px; }

.col-price, .col-subtotal { font-size: 14px; font-weight: 500; color: var(--wp-color-charcoal); }
.wp-quick-order-table__cell.col-subtotal { text-align: center; padding-right: 0; }

.wp-quantity-selector__control { display: flex; align-items: stretch; height: 30px; border: 1px solid var(--wp-color-border-light); border-radius: 10px; overflow: hidden; width: 74px; margin: 0; background-color: var(--wp-color-white); }
.wp-quantity-selector__btn { width: 26px; background-color: transparent; border: none; font-size: 16px; font-weight: 500; cursor: pointer; transition: color 0.2s ease; color: var(--wp-color-charcoal); flex-shrink: 0; }
.wp-quantity-selector__btn:hover { background-color: transparent; }
.wp-quantity-selector__input { flex: 0 0 22px; width: 22px; min-width: 22px; border: none; text-align: center; font-size: 16px; font-weight: 500; color: var(--wp-color-charcoal); -moz-appearance: textfield; appearance: textfield; box-sizing: border-box; padding: 0 2px; background-color: transparent; }
.wp-quantity-selector__input:focus-visible { outline: 2px solid var(--wp-color-accent); outline-offset: -1px; }
.wp-quantity-selector__input::-webkit-outer-spin-button, .wp-quantity-selector__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.variant-stock-level { font-size: 11px; color: var(--wp-color-accent); font-weight: 600; text-align: center; margin-top: 2px; display: block; }
.variant-oos-badge { font-weight: 600; color: var(--wp-color-danger); font-size: 13px; text-align: center; display: block; }

/* Prevent iOS double-tap zoom on quick-shop controls */
.wp-quick-view,
.wp-quick-view__container,
.wp-quantity-selector__control,
.wp-quantity-selector__btn,
.wp-quantity-selector__input { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }

.wp-quick-order-footer { padding: 24px 40px; border-top: 1px solid var(--wp-color-border-light); background-color: var(--wp-color-white); z-index: 5; margin-top: auto; display: flex; justify-content: space-between; align-items: center; }
.wp-quick-order-footer__summary { text-align: left; }
.wp-quick-order-footer__summary .total-price { display: block; font-size: 28px; font-weight: 700; color: var(--wp-color-charcoal); line-height: 1.1; }
.wp-quick-order-footer__summary .total-cases { display: block; font-size: 14px; color: var(--wp-color-charcoal-light); }
.wp-quick-order-footer__actions { display: flex; gap: 12px; }

.wp-quick-view__message-area { font-size: 14px; font-weight: 500; min-height: 1.2em; grid-column: 1 / -1; margin-top: 16px; text-align: right; }
.wp-quick-view-success { color: var(--wp-color-success); }
.wp-quick-view-error { color: var(--wp-color-danger); }

/* Position success message centered above Add button without shifting layout */
.wp-quick-order-footer__actions { position: relative; }
.wp-quick-order-footer .wp-quick-view__message-area {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 100%;
  margin-bottom: 10px;
  text-align: center;
  background: var(--wp-color-white);
  padding: 6px 10px;
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  z-index: 5;
  visibility: hidden;
  opacity: 0;
  transition: opacity 2s ease;
  white-space: nowrap;
}

.wp-quick-order-footer .wp-quick-view__message-area.is-visible {
  visibility: visible;
  opacity: 1;
}

.wp-quick-order-footer .wp-quick-view__message-area.is-visible.is-fading {
  opacity: 0;
}

/* Quick-view primary button should match product card blue */
.wp-quick-view .wp-button.wp-button--primary {
  background-color: #2276FF;
  color: #FFFFFF;
  border: 1px solid #2276FF;
}

.wp-quick-view .wp-button.wp-button--primary:hover {
  background-color: #1A67E0;
  border-color: #1A67E0;
}

/* Subtle/uncolored state for Add button when selection is not sufficient */
.wp-quick-view .wp-button.wp-button--primary.is-subtle,
.wp-quick-view .wp-button.wp-button--primary:disabled {
  background-color: var(--wp-color-steel);
  color: var(--wp-color-gray);
  border-color: var(--wp-color-steel);
}

/* Subtle Clear button inside quick-view */
.wp-quick-view .js-clear-quantities {
  /* Reserve space; fade visibility without shifting layout */
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  background: transparent;
  border: none;
  color: var(--wp-color-charcoal-light);
  min-height: 32px;
  padding: 0 8px;
  font-weight: 500;
}

.wp-quick-view .js-clear-quantities.is-visible {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.wp-quick-view .js-clear-quantities:hover {
  color: var(--wp-color-charcoal);
  background: transparent;
}

.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Scroll lock to prevent background page from scrolling while quick-view is open */
html.wp-scroll-lock, body.wp-scroll-lock { overflow: hidden; }
html.wp-scroll-lock { height: 100%; }
body.wp-scroll-lock { position: fixed; width: 100%; }

@media screen and (max-width: 1024px) {
  .wp-quick-view__content { flex-direction: column; }
  .wp-quick-view__image-wrapper { border-right: none; border-bottom: 1px solid var(--wp-color-steel); padding: 20px; min-height: auto; flex-basis: auto; }
  .wp-quick-view__details { padding: 0; }
  .wp-quick-order-header { padding: 24px 24px 16px; }
  .wp-quick-order-table__header { display: none; }
  .wp-quick-order-table__body { padding: 0 24px; }
  .wp-quick-order-table__row { grid-template-columns: 1fr 1fr; grid-template-areas: "variant qty" "price subtotal"; gap: 8px 16px; }
  .wp-quick-order-table__cell.col-variant { grid-area: variant; }
  .wp-quick-order-table__cell.col-price { grid-area: price; text-align: left; }
  .wp-quick-order-table__cell.col-qty { grid-area: qty; }
  .wp-quick-order-table__cell.col-subtotal { grid-area: subtotal; }
  .wp-quick-order-table__cell:before { content: attr(data-label); display: block; font-size: 11px; color: var(--wp-color-gray); margin-bottom: 4px; text-transform: none; letter-spacing: 0; }
  .wp-quick-order-footer { padding: 16px 24px; }
  .wp-quick-order-footer .wp-quick-view__message-area {
    position: static;
    transform: none;
    order: -1;
    width: 100%;
    margin: 0 0 12px;
    padding: 0;
    text-align: center;
    background: transparent;
    box-shadow: none;
  }
}

@media screen and (max-width: 767px) {
  .wp-quick-order-footer { flex-direction: column; gap: 16px; align-items: stretch; }
  .wp-quick-order-footer__summary { text-align: center; }
  .wp-quick-order-footer__actions { flex-direction: row; justify-content: flex-end; align-items: center; }
}

/* Hide inventory status in product cards */
.wp-product-card .wp-inventory-status { display: none; }

/* Override button styling within product cards */
.wp-product-card .wp-button {
  min-height: 40px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 600;
  text-transform: none;
  border-radius: 6px;
}

/* Remove grid divider lines between product cards (common theme grids) */
.grid--uniform > .grid__item { border: none !important; }
.collection .product-item, .collection .grid__item { border-top: none !important; border-bottom: none !important; }
.collection .grid, .collection .grid--uniform { border-top: none !important; }
/* Remove possible left/right separators some themes add */
.collection .grid__item + .grid__item { border-left: none !important; }
.collection .product-item + .product-item { border-left: none !important; }

/* Primary/select options/add to cart within product cards */
.wp-product-card .wp-button.wp-button--primary {
  background-color: #2276FF;
  color: #FFFFFF;
  border: 1px solid #2276FF;
}

.wp-product-card .wp-button.wp-button--primary:hover {
  background-color: #1A67E0;
  border-color: #1A67E0;
}

/* Keep Sold Out muted */
.wp-product-card .wp-button.wp-button--disabled {
  background-color: var(--wp-color-steel);
  color: var(--wp-color-gray);
  border-color: var(--wp-color-steel);
}

/* 1) Kill the per-card hairlines */
.product-item::after { box-shadow: none !important; }

/* 2) Remove explicit borders that were added to each card */
.product-list .product-item { border-right: 0 !important; border-bottom: 0 !important; }

/* 2b) If you use the "scrollable" or "featured collection" variants, remove their card borders too */
.product-list--scrollable .product-item { border: 0 !important; }
.featured-collection .product-item { border-right: 0 !important; }

/* 3) Remove the outer frame around the grid (desktop) */
@media (min-width: 1000px){
  .product-list::before,
  .product-list--collage::before { border: 0 !important; display: none !important; }
}

/* 3b) Remove the custom left vertical rail and the top border above the grid */
body.template-collection .collection__products-wr::after,
body.template-collection .collection__products-wr::before { display: none !important; }

/* Mobile only: the list itself adds top/bottom borders — remove if you want a totally borderless grid */
.product-list { border: 0 !important; }


/* Reduce spacing between product cards */
.collection .grid,
.collection .grid--uniform,
.product-list {
  gap: 12px !important;
  column-gap: 12px !important;
  row-gap: 12px !important;
}

.collection .product-item {
  margin-bottom: 12px !important;
}

@media screen and (max-width: 767px) {
  .collection .grid,
  .collection .grid--uniform,
  .product-list {
    gap: 8px !important;
    column-gap: 8px !important;
    row-gap: 8px !important;
  }

  .collection .product-item {
    margin-bottom: 8px !important;
  }
}

/* 1) Remove the outer rounded box around the whole collection area */
.template-collection .collection__dynamic-part.card {
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* 2) Kill the thin rule under the title/controls bar */
.collection__toolbar,
.template-collection .collection__toolbar,
.template-collection .collection__toolbar--bordered {
  box-shadow: none !important;   /* those 0 1px / 0 -1px lines */
  border: 0 !important;
}

/* 3) Remove the "section divider" line that appears between card sections */
.template-collection .card__section + .card__section::before {
  display: none !important;
  content: none !important;
}

/* 4) Make sure no frame is drawn around the product grid on desktop */
@media (min-width: 1000px){
  .product-list::before,
  .product-list--collage::before { display: none !important; }
}

/* (already handled earlier, but keep for completeness) remove any per-item grid lines */
.product-item::after { box-shadow: none !important; }
.product-list .product-item { border-right: 0 !important; border-bottom: 0 !important; }

/* If your build adds the left vertical rail/top border around the grid, hide them */
.template-collection .collection__products-wr::before,
.template-collection .collection__products-wr::after { display: none !important; }

/* Tighten collection grid gutters without changing columns */

.collection .grid,
.collection .grid--uniform,
.product-list {
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  margin-left: -6px !important;
  margin-right: -6px !important;
}

.collection .grid__item {
  padding-left: 6px !important;
  padding-right: 6px !important;
  margin-bottom: 10px !important;
}

@media screen and (max-width: 767px) {
  .collection .grid,
  .collection .grid--uniform,
  .product-list {
    margin-left: -4px !important;
    margin-right: -4px !important;
  }

  .collection .grid__item {
    padding-left: 4px !important;
    padding-right: 4px !important;
    margin-bottom: 8px !important;
  }
}

/* Quick‑shop: mobile full‑screen + scrolling and sticky header/footer */
@media (max-width: 1024px) {
  .wp-quick-view { align-items: stretch; padding: 0; }

  .wp-quick-view__container {
    width: 100%;
    max-width: none;
    max-height: none;
    height: 100dvh;
    height: calc(var(--wp-vh, 1vh) * 100);
    border-radius: 0;
    box-shadow: none;
    overflow-y: auto;               /* container is the scroll context */
    -webkit-overflow-scrolling: touch;
    transform: none;                /* allow sticky in Safari */
  }
  .wp-quick-view.active .wp-quick-view__container { transform: none; }

  .wp-quick-view__image-wrapper {
    flex: 0 0 auto;
    padding: 16px;
    max-height: 45dvh;
    overflow: hidden;
    border-bottom: 1px solid var(--wp-color-steel);
  }
  .wp-quick-view__image-container {
    height: 40dvh;
    height: calc(var(--wp-vh, 1vh) * 40);
  }
  .wp-quick-view__image { max-height: 100%; }

  .wp-quick-view__thumbnails {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    margin-bottom: -8px;
  }

  .wp-quick-view__details { flex: 0 0 auto; overflow: visible; }
  .wp-quick-order-table__body { overflow: visible; }

  /* Sticky header (title strip only) */
  .wp-quick-order-header {
    position: sticky;
    top: 0;
    z-index: 12;
    background: linear-gradient(180deg, #EFF3FF 0%, #FFFFFF 100%);
    border-bottom: 1px solid var(--wp-color-border-light);
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
  }

  /* Make the close (X) button stay visible at the top-right while scrolling */
  .wp-quick-view__close {
    position: fixed;
    top: calc(env(safe-area-inset-top, 0) + 12px);
    right: calc(env(safe-area-inset-right, 0) + 12px);
    z-index: 10010; /* above header/footer within the modal */
  }

  /* Sticky footer: bottom when supported, top-fallback when not */
  .wp-quick-order-footer {
    position: sticky;
    bottom: calc(env(safe-area-inset-bottom, 0) + var(--mqs-fab-buffer, 0px));
    top: calc(100dvh - var(--mqs-footer-height, 96px) - env(safe-area-inset-bottom, 0) - var(--mqs-fab-buffer, 0px));
    z-index: 12;
    background: var(--wp-color-white);
    padding-bottom: calc(env(safe-area-inset-bottom, 0) + 16px);
    border-top: 1px solid var(--wp-color-border-light);
    transition: bottom 0.2s ease-out, top 0.2s ease-out;
  }
  :root.has-soft-keyboard .wp-quick-order-footer { bottom: 0; }

  /* Mobile-only visibility of our extra bits */
  .mqs-mobile-link,
  .mqs-choose-price,
  .mqs-selected,
  .variant-info__avatar,
  .wp-button__text-mobile { display: initial !important; }

  /* Header micro layout */
  .mqs-mobile-link {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 500;
    color: var(--wp-color-charcoal-light);
    text-decoration: none;
  }
  .mqs-mobile-link:hover { color: var(--wp-color-accent); }

  .mqs-choose-price {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas: "price case";
    gap: 6px 8px;
    margin-top: 14px;
  }
  .mqs-choose { grid-area: unset; font-size: 14px; font-weight: 600; color: var(--wp-color-charcoal); }
  .mqs-price  { grid-area: price; font-size: 20px; font-weight: 700; color: var(--wp-color-charcoal); }
  .mqs-price__value { font-size: 22px; font-weight: 700; }
  .mqs-price__suffix { font-size: 14px; font-weight: 600; margin-left: 4px; color: var(--wp-color-charcoal-light); }
  .mqs-case-pill {
    grid-area: case;
    justify-self: end;
    align-self: start;
    background: #EEF2FF;
    border: 1px solid #E0E6FF;
    color: #3954D9;
    font-weight: 700;
    font-size: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    white-space: nowrap;
  }

  /* Card stack */
  .wp-quick-order-table__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 20px calc(16px + var(--mqs-fab-buffer, 0px));
    margin-top: 8px;
  }
  .wp-quick-order-table__row {
    background: var(--wp-color-white);
    border: 1px solid var(--wp-color-border-light);
    border-radius: 14px;
    padding: 12px;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.02), 0 6px 16px rgba(0,0,0,0.08);
    grid-template-columns: 1fr auto;
    grid-template-areas: "variant qty" "price qty";
    gap: 6px 12px;
    min-height: 64px;
  }
  .wp-quick-order-table__row.is-oos { opacity: 0.6; background: var(--wp-color-paper); }

  /* Remove per-cell helper labels on mobile; keep only "Qty" caption */
  .wp-quick-order-table__cell:before { display: none !important; content: none !important; }
  .wp-quick-order-table__cell.col-qty { position: relative; }
  .wp-quick-order-table__cell.col-qty:before {
    content: 'Qty';
    display: block;
    position: absolute;
    top: -2px; right: 0;
    font-size: 11px; font-weight: 600; color: var(--wp-color-gray);
  }

  /* Price line under name */
  .wp-quick-order-table__cell.col-price {
    grid-area: price;
    text-align: left;
    margin-left: 0; /* avatar removed; no offset */
  }
  .wp-quick-order-table__cell.col-price .js-variant-price {
    font-size: 14px; font-weight: 600; color: var(--wp-color-charcoal);
  }
  .wp-quick-order-table__cell.col-subtotal { display: none; }

  /* Avatar & chip */
  .variant-info__avatar { display: none; }
  .variant-info__title { font-size: 15px; font-weight: 600; color: var(--wp-color-charcoal); }
  .variant-info__chip {
    margin-left: auto; font-size: 11px; font-weight: 700;
    padding: 4px 8px; border-radius: 999px; background: #E8F6ED; color: #2E7D32; line-height: 1;
  }

  /* Stepper size */
  .wp-quantity-selector__control { height: 34px; width: 92px; border-radius: 12px; }
  .wp-quantity-selector__btn { font-size: 18px; }
  .wp-quantity-selector__input { font-size: 16px; }

  /* Footer contents */
  .wp-quick-order-footer {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
  }
  .wp-quick-order-footer__summary { display: grid; row-gap: 4px; }
  .mqs-selected { font-size: 14px; font-weight: 600; color: var(--wp-color-charcoal-light); }
  .wp-quick-order-footer__summary .total-price { font-size: 24px; text-align: left; }
  .wp-quick-order-footer__summary .total-cases { display: block; }

  .wp-quick-view .wp-button.wp-button--primary { min-height: 46px; border-radius: 12px; padding: 0 16px; }
  .wp-quick-view .wp-button.wp-button--primary .wp-button__icon { display: inline-flex; margin-right: 8px; }
  .wp-quick-view .wp-button.wp-button--primary .wp-button__text { display: none; }
  .wp-quick-view .wp-button.wp-button--primary .wp-button__text-mobile { display: inline !important; }
  /* Mobile: show only long label for secondary (Clear) button */
  .wp-quick-view .wp-button.wp-button--secondary .wp-button__text { display: none; }
  .wp-quick-view .wp-button.wp-button--secondary .wp-button__text-mobile { display: inline !important; text-transform: none; }
}

@media (max-width: 767px) {
  .wp-quick-order-table__body { padding: 0 16px calc(16px + var(--mqs-fab-buffer, 0px)); }
  .wp-quick-order-header { padding: 14px 16px 10px; }
  .mqs-price .mqs-price__value { font-size: 20px; }

  /* Mobile footer redesign */
  .wp-quick-order-footer {
    grid-template-columns: 1fr; /* stack */
    gap: 12px;
  }
  .wp-quick-order-footer__summary {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
  }
  /* Hide duplicate total-cases line on mobile to avoid redundancy */
  .wp-quick-order-footer__summary .total-cases { display: none; }
  .wp-quick-order-footer__summary .total-price {
    font-size: 28px;
    font-weight: 700;
    text-align: right;
  }
  .wp-quick-order-footer__summary .total-cases {
    color: var(--wp-color-charcoal);
    font-weight: 600;
  }
  .wp-quick-order-footer__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .wp-quick-view .wp-button.wp-button--primary {
    min-height: 48px;
    border-radius: 10px;
  }
  .wp-quick-view .js-clear-quantities {
    justify-self: center;
    font-size: 15px;
    text-decoration: underline;
    color: #285EA8;
  }

  /* Tighter alignment for the close button on small phones */
  .wp-quick-view__close {
    top: calc(env(safe-area-inset-top, 0) + 8px);
    right: calc(env(safe-area-inset-right, 0) + 10px);
  }
}

/* --- Mobile add-to-cart toast (no full-screen overlay) --- */
@media (max-width: 1024px) {
  .wp-cart-toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(env(safe-area-inset-bottom, 0) + 12px + var(--mqs-fab-buffer, 0px));
    z-index: 11000; /* above chat bubbles & page UI */
    display: grid;
    grid-auto-flow: column;
    align-items: center;
    gap: 10px;
    max-width: min(560px, 92vw);
    background: var(--wp-color-charcoal);
    color: var(--wp-color-white);
    padding: 10px 14px;
    border-radius: 999px;
    box-shadow: 0 8px 24px rgba(16, 24, 40, 0.24);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease-out, transform .18s ease-out;
    font: 600 14px/1.2 var(--wp-font-body);
  }
  .wp-cart-toast.is-visible {
    opacity: 1;
    pointer-events: auto;
  }
  .wp-cart-toast__text { white-space: nowrap; }
  .wp-cart-toast__link {
    text-decoration: underline;
    font-weight: 700;
    color: var(--wp-color-white);
  }
  .wp-cart-toast__btn {
    border: 0;
    border-radius: 8px;
    padding: 8px 12px;
    background: var(--wp-color-white);
    color: var(--wp-color-charcoal);
    font-weight: 700;
  }
}

@media (min-width: 1025px) {
  .wp-cart-toast { display: none !important; }
}

/* --- Cart / mini-cart purchase limit badge --- */
.cart-limit-badge {
  display: block;
  font-size: 11px;
  color: #c0392b;
  margin-top: 4px;
}

/* --- Purchase limit state --- */
.wp-quick-order-table__row.is-limit {
  opacity: 0.6;
  background-color: var(--wp-color-paper);
  cursor: not-allowed;
}
.wp-quick-order-table__row.is-limit:hover { background-color: var(--wp-color-paper); }
.wp-quick-order-table__row.is-limit .wp-quantity-selector__control,
.wp-quick-order-table__row.is-limit .wp-quantity-selector__btn,
.wp-quick-order-table__row.is-limit .wp-quantity-selector__input {
  pointer-events: none;
}

.variant-limit-badge {
  font-weight: 600;
  color: var(--wp-color-accent);
  font-size: 13px;
  text-align: center;
  display: block;
  margin-top: 2px;
}

/* --- Mobile quick‑shop: button responsiveness & usability upgrades --- */

/* Make all "wp buttons" feel snappy on touch */
.wp-quick-view .wp-button,
.wp-quick-order-footer .wp-button,
.wp-quantity-selector__btn {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  will-change: transform;
}

/* Visual pressed feedback (applies via JS .is-pressed or :active fallback) */
.wp-quick-view .wp-button.is-pressed,
.wp-quick-view .wp-button:active,
.wp-quantity-selector__btn.is-pressed,
.wp-quantity-selector__btn:active {
  transform: translateY(1px) scale(0.98);
  filter: saturate(0.98);
}

/* Larger invisible hit area for +/- buttons (easier to tap) */
.wp-quantity-selector__btn { position: relative; }
.wp-quantity-selector__btn::after {
  content: "";
  position: absolute;
  inset: -8px; /* expand by 8px all around without changing layout */
}

/* Auto-repeat affordance: nudge the control when max reached */
@keyframes wp-shake-x {
  0%, 100% { transform: translateX(0); }
  20% { transform: translateX(-2px); }
  40% { transform: translateX(2px); }
  60% { transform: translateX(-1px); }
  80% { transform: translateX(1px); }
}
.wp-quantity-selector__control.is-max {
  animation: wp-shake-x .28s ease;
}

/* Focus ring that's consistent and accessible */
.wp-quick-view .wp-button:focus-visible,
.wp-quantity-selector__btn:focus-visible {
  outline: 2px solid var(--wp-color-accent);
  outline-offset: 2px;
  border-radius: 12px;
}

/* Loading state for primary action: center spinner, keep size stable */
@keyframes wp-spin { to { transform: rotate(360deg); } }

.wp-quick-view .wp-button.is-loading {
  position: relative;
}
.wp-quick-view .wp-button.is-loading .wp-button__text,
.wp-quick-view .wp-button.is-loading .wp-button__text-mobile {
  opacity: 0; /* preserve layout while hiding text */
}
.wp-quick-view .wp-button.is-loading::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
  border: 2px solid currentColor;       /* white on primary */
  border-right-color: transparent;
  border-radius: 50%;
  animation: wp-spin .6s linear infinite;
  pointer-events: none;
}

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  .wp-quick-view .wp-button.is-pressed,
  .wp-quantity-selector__btn.is-pressed {
    transform: none;
  }
  .wp-quantity-selector__control.is-max { animation: none; }
  .wp-quick-view .wp-button.is-loading::after { animation-duration: 1s; }
}
