.elementor-1652 .elementor-element.elementor-element-bf92d2a{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}@media(max-width:1024px){.elementor-1652 .elementor-element.elementor-element-bf92d2a{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-1652 .elementor-element.elementor-element-bf92d2a{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS */@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Outfit:wght@100..900&display=swap");

.name-box,
#qof-current-collection,
.quick-order-page thead th {
  font-family: "Outfit", sans-serif !important;
}

/* --- Collections Bar --- */
.name-grid {
  padding-top: 20px;
  display: flex;
  gap: 10px;
}

/* Name Buttons */
.name-box {
  background: white;
  border: 2px solid rgb(210, 209, 209);
  padding: 0.5rem 1rem;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  font-family: "Outfit", sans-serif;
}

.name-box:active {
  transform: scale(0.9);
}

.name-box:hover,
.selected_name {
  border-color: black;
  font-weight: bold;
}

#qof-current-collection {
  padding-block: 20px;
}

.quick-order-page {
  /* width: 100%; */
  padding-block: 2rem;
}

.quick-order-title {
  font-size: var(--title-md);
  margin-bottom: 20px;
}

.qof-search-container {
  border-radius: 15px;
  overflow: clip;
}

.qof-search-container input {
  border-radius: 15px;
  padding-block: 0.7rem;
  padding-inline: 1rem;
  transition: all 0.3s ease-in-out;
  border: 2px solid rgb(210, 209, 209);
  cursor: text;
  outline: none;
  max-width: 20rem;
  width: 20rem;
}

.qof-search-container input:focus {
  border-color: black;
  outline: none;
}

*:focus {
  outline: none;
}

*:focus:not(:focus-visible) {
  outline: none;
}

/* --- Quick Order Table (scoped) --- */

/* wrap the form so it can scroll horizontally */
#quick-order-form {
  width: 100%;
  overflow-x: auto;
  /* allow horizontal scroll */
  -webkit-overflow-scrolling: touch;
  /* smooth scrolling on iOS */
}

/* ensure the table inside is as wide as needed */
#quick-order-form table {
  width: max-content;
  /* let the table size to its content */
  min-width: 100%;
  /* but never smaller than the viewport/form width */
  border-collapse: collapse;
  box-shadow: none;
}

/* optional: hide vertical scrollbar and only show horizontal */
#quick-order-form {
  overflow-y: hidden;
}

/* Header row: single bottom border */
#quick-order-form thead th {
  padding-block: 1rem;
  padding-right: 3.5rem;
  padding-left: 0rem;
  font-size: 0.8rem;
  font-weight: 400;
  text-transform: uppercase;
  border-bottom: 1px solid #e5e5e5;
  text-align: center;
  background-color: transparent;
}

/* Body rows: only horizontal dividers */
#quick-order-form tbody tr {
  border: none;
}

#quick-order-form tbody * {
  font-size: 0.9rem;
}

/* Cells: comfy padding */
#quick-order-form td:not(.variant-indent) {
  padding-top: 1.4rem;
  padding-bottom: 0rem;
  padding-right: 3.5rem;
  padding-left: 0rem;
  vertical-align: middle;
  text-align: center;
  box-sizing: content-box;
}

/* Merge Image + Product into one cell */
#quick-order-form .product-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

#quick-order-form .product-info img {
  width: 100px;
  height: auto;
  border-radius: 4px;
  flex-shrink: 0;
}

#quick-order-form .product-info__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

#quick-order-form .product-info__title {
  font-weight: 500;
}

/* Toggle‐variants button stays inline with product title */
#quick-order-form .toggle-variants {
  margin-left: 0.5rem;
}

/* Variant rows: merge image+title, splice into first column */
#quick-order-form .variant-row .variant-info {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* .quantity_body.elementor-page-1652 {
        max-width: 14rem;
        min-width: 14rem;
        width: 14rem;
      } */
.total {
  max-width: 6rem;
  min-width: 6rem;
  width: 6em;
}

.price {
  max-width: 7rem;
  min-width: 7rem;
  width: 7rem;
}

/* .msg {
        max-width: 18rem;
        min-width: 18rem;
        width: 18rem;
      } */

#quick-order-form .variant-info img {
  width: 60px;
  height: auto;
  border-radius: 4px;
  flex-shrink: 0;
}

#quick-order-form .variant-info__title {
  font-weight: 500;
}

#quick-order-form .variant-info__sku {
  font-weight: 400;
  font-size: 0.7rem;
}

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

/* You can remove the old gray bg on .variant-row if you like */
#quick-order-form .variant-row {
  background: transparent;
}

.toggle-variants {
  padding: 5px;
  font-size: 12px !important;
  cursor: pointer;
  border: 1px solid #333;
  border-radius: 10px;
  background: #fff;
}

.variant-indent {
  padding-block: 0.5rem;
  padding-right: 2rem;
  padding-left: 1.5rem;
  vertical-align: middle;
}

@media (min-width: 678px) {
  .variant-indent {
    padding-left: 2.5rem;
  }
}

.btn {
  display: inline-block;
  padding: 10px 20px;
  background: #000;
  color: #fff;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
}

/* --- Sticky footer --- */
.qof-footer.desktop {
  display: grid;
  grid-template-columns:
    auto
    /* Add to Cart  */
    auto
    /* Remove all   */
    1fr
    /* Total Items  */
    auto
    /* Subtotal     */;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid #ddd;
  position: sticky;
  bottom: 0;
  z-index: 10;
  width: max-content;
  min-width: 100%;
  margin-top: 1.4rem;
  background-color: white;
}

/* “View cart” button style */
.btn-outline {
  padding: 10px 20px;
  border: 1px solid #000;
  background: transparent;
  cursor: pointer;
  text-transform: uppercase;
}

/* “Remove all” link style */
.btn-clear {
  cursor: pointer;
  font-size: 0.9rem;
}

/* Tax message style */
#qof-count {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 5px;
}

.qof-taxmsg {
  font-size: 0.8rem;
  color: #666;
  text-align: right;
}

#qof-subtotal {
  font-size: 1rem;
  color: #000;
}

.align-left {
  text-align: left !important;
  padding-left: 2rem;
}

.align-right {
  text-align: right !important;
  padding-right: 0rem !important;
}

.taxMsg {
  position: relative;
}

.taxMsg .underline {
  position: absolute;
  bottom: -2px;
  left: 0px;
  width: 0px;
  max-width: 0px;
  height: 1px;
  transition: all 0.8s ease-in-out;
  background-color: black;
}

.taxMsg:hover .underline {
  width: 100%;
  max-width: 100%;
}

.qof-footer.mobile {
  display: none;
}

/* by default, mobile cards hidden, desktop table shown */
.qof-mobile {
  display: none;
}

.qof-desktop {
  display: block;
}

/* at small viewports, swap them */
@media (max-width: 1150px) {
  .qof-desktop {
    display: none;
  }

  .qof-mobile {
    display: block;
  }

  .qof-mobile {
    padding: 1rem;
  }

  .qof-mobile-product {
    border-bottom: 1px solid #eee;
    padding: 1rem 0;
  }

  .qof-mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
  }

  .qof-mobile-header > div.image-title {
    display: flex;
    align-items: center;
    gap: 0.7rem;
  }
  .qof-mobile-header > div.image-title img {
    width: 100px;
    height: auto;
    border-radius: 4px;
    flex-shrink: 0;
  }

  #quick-order-form img {
    border-radius: 0.7rem;
    flex-shrink: 0;
  }

  .variant-info img {
    width: 50px;
    height: 50px;
    border-radius: 0.3rem;
    flex-shrink: 0;
  }

  .qof-mobile-meta h3 {
    margin: 0;
    font-size: 1rem;
  }

  .qof-mobile-meta .variant-price {
    font-size: 0.9rem;
    color: #333;
  }

  .toggle-variants {
    margin-top: 0.5rem;
    padding: 0.4rem 0.6rem;
    font-size: 0.85rem;
  }

  .qof-mobile-variants {
    margin-top: 0.75rem;
  }

  .mobile-product-details {
    display: flex;
    gap: 5px;
    justify-content: space-between;
    align-items: start;
  }

  .variant-row {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.7rem 0;
    border-top: 1px solid #eee;
  }

  .variant-info {
    display: flex;
    align-items: start;
    gap: 0.7rem;
  }

  .variant-stock {
    font-size: 0.85rem;
    color: #666;
    margin-left: auto;
  }

  .variant-quantity {
  }

  .variant-price {
    font-size: 0.9rem;
  }

  .variant-total {
    font-weight: bold;
  }

  .mobile-quantity-total {
    display: flex;
    gap: 5px;
    justify-content: space-between;
    align-items: center;
  }

  .qof-footer.desktop {
    display: none;
  }

  .qof-footer.mobile {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
  }

  #qof-subtotal {
    text-align: center;
    padding-bottom: 1rem;
  }

  .button-grp-mobile {
    display: flex;
    align-items: center;
    gap: 1rem;
  }

  #qof-count {
    flex-direction: row;
    align-items: baseline;
  }
}

.disabled {
  color: gray;
  cursor: not-allowed;
}

/* hide the native arrows so only your code quantity buttons ever changes the value */
.quantity__input::-webkit-inner-spin-button,
.quantity__input::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.quantity__input {
  -moz-appearance: textfield !important;
  /* Firefox */
}

#add-to-cart-btn,
#qof-clear {
  padding: 1rem 2rem;
  border: none;
  border-radius: 50px;
  background-color: #ffcc00;
  color: black;
  position: relative;
  overflow: clip;
  font-size: 1rem;
  transition: all 0.4s ease-in-out;
  cursor: pointer;
}
#add-to-cart-btn {
  background-color: #ffcc00;
}
#qof-clear {
  background-color: #1e3c56;
}
#add-to-cart-btn::after,
#qof-clear::after {
  content: "";
  width: 120%;
  height: 120%;
  border-radius: 50px;
  position: absolute;
  left: 100%;
  top: 100%;
  z-index: 1;
  background-color: #1e3c56;
  transition: all 0.4s ease-in-out;
}
#add-to-cart-btn::after {
  background-color: #1e3c56;
}

#qof-clear::after {
  background-color: #ffcc00;
}

#add-to-cart-btn:hover::after,
#qof-clear:hover::after {
  left: -10px;
  top: -10px;
}

#add-to-cart-btn .btn-text,
#qof-clear .btn-text {
  position: relative;
  z-index: 2;
  transition: all 0.4s ease-in-out;
}

#add-to-cart-btn .btn-text {
  color: black;
}

#qof-clear .btn-text {
  color: white;
}
#add-to-cart-btn:hover .btn-text {
  color: white;
}

#qof-clear:hover .btn-text {
  color: black;
}

.quantity-control {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 17px 20px;
  width: fit-content;
  margin: auto;
}

@media (max-width: 1159px) {
  .quantity-control {
    margin: 20px 0;
    padding: 10px 20px;
    font-size: 0.8rem;
  }
}

.qty-btn {
  font-size: 20px;
  background: none;
  border: none;
  cursor: pointer;
  color: #000;
}

.qty-input {
  width: 30px;
  text-align: center;
  border: none;
  background: transparent;
  color: #000;
}

.quantity-control.disabled {
  border-color: #ddd;
  opacity: 0.5;
}
.qty-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.quantity-control.disabled .qty-btn,
.quantity-control.disabled .qty-input {
  color: #999;
  cursor: not-allowed;
}

/* Chrome, Safari, Edge, Opera */
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
.qty-input[type="number"] {
  -moz-appearance: textfield;
}/* End custom CSS */