/* ========================= 
   Filters / Search / Reset
   ========================= */
#psm-filters{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:15px;
}

input.psm-qty.qty {
    border: 1px solid black !important;
}

@media (max-width:768px){
  #psm-filters{ grid-template-columns:1fr; }
  #psm-action-modal{ width:300px !important; }
	input.quote-qty {
    width: 150px !important;
	border-color: white !important;
}
}
select.psm-filter{ width:100% !important; }

#psm-custom-search{
  width:100%;
  padding:10px;
  margin:10px 0;
}

.psm-reset-btn{
  display:block;
  width:100%;
  background:#21759b;
  color:#fff;
  padding:10px;
  border:0;
  margin:10px 0 20px;
  cursor:pointer;
}
.psm-reset-btn:hover{ background:#000; color:#fff; }
.psm-reset-btn:active{ background:#015593; }

/* =========================
   Results Table
   ========================= */
.psm-table-wrapper{ overflow-x:auto; width:100%; }
.psm-product-table{
  width:100%;
  min-width:800px;
  border-collapse:collapse;
  border-radius:8px;
  overflow:hidden;
  box-shadow:0 0 12px rgba(0,0,0,.1);
  margin-top:15px;
}

.psm-product-table th,
.psm-product-table td{
  border-bottom:1px solid #ddd;
  border-top:none; border-left:none; border-right:none;
  padding:12px;
  vertical-align:middle;
  text-align:left;
}

.psm-product-table th{
  background:#015593;
  color:#fff;
}

.psm-product-table tbody tr:last-child td{ border-bottom:none; }

.psm-product-table td img{
  max-width:87px !important;
  width:100%;
  height:auto;
  object-fit:contain;
}

/* --- Qty column sizing (room for 5 digits like 10000) --- */
.psm-product-table th:nth-child(7),
.psm-product-table td:nth-child(7),
.psm-product-table td.psm-qty-col{
  min-width:140px;
  width:140px;
}



/* Action buttons (table) */
.psm-add-to-cart,
.psm-request-quote{
  background:#21759b;
  color:#fff;
  padding:6px 4px;
  border:0;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
  width:100%;
  text-align:center;
}
.psm-add-to-cart:hover,
.psm-request-quote:hover{ background:#000; color:#fff; text-decoration:none; }
.psm-add-to-cart:active,
.psm-request-quote:active{ background:#015593; }

/* =========================
   Pagination
   ========================= */
.psm-pagination-wrapper{
  display:flex; flex-wrap:wrap; gap:6px;
  justify-content:center; margin-top:20px;
}
#psm-pagination{ margin-top:20px; text-align:center; }

.psm-page{
  display:inline-block;
  padding:6px 12px;
  background:#005ca5;
  color:#fff;
  text-decoration:none;
  border-radius:3px;
  cursor:pointer;
  margin:6px 5px !important;
}
.psm-page:hover{ background:#000; }
.psm-page.active{ background:#000; font-weight:700; }

/* =========================
   Spinner
   ========================= */
.psm-loader{ text-align:center; padding:20px; font-weight:700; color:#015593; }
.psm-spinner{
  width:36px; height:36px; margin:20px auto;
  border:4px solid rgba(0,0,0,.1); border-left-color:#3498db;
  border-radius:50%; animation:psmspin 1s linear infinite;
}
@keyframes psmspin{ to{ transform:rotate(360deg); } }

/* =========================
   Centered modal used by JS
   ========================= */
#psm-action-modal{
  position:fixed;
  top:50% !important; left:50% !important;
  transform:translate(-50%,-50%) !important;
  z-index:2147483647;
  width:auto;
}
#psm-action-backdrop{
  position:fixed; inset:0;
  background:rgba(0,0,0,.4);
  z-index:2147483646;
}

/* =========================
   Single Product: Quote row
   - “Quantity” heading ABOVE
   - qty pill + Request a Quote inline
   - qty pill sized to match CTAs
   ========================= */

/* container */
.single-product .psm-quote-box{
  margin:14px 0 6px;
}

/* the heading that sits above the row */
.single-product .psm-quote-box .psm-qty-heading{
  display:block;
  font-weight:700;
  margin:0 0 8px;
  color:#1a1a1a;
}

/* the row (qty + quote button) */
.single-product .psm-quote-box .psm-quote-row{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

/* qty group – keep theme styling but enforce a nice width */
.single-product .psm-quote-box .psm-quote-row .quantity{
  margin:0 !important;
  display:inline-flex; align-items:center;
  min-width:240px;    /* match Add to Cart visual width */
}

/* height & alignment to match pill buttons */
.single-product .psm-quote-box .psm-quote-row .quantity input.qty{
  height:44px; line-height:44px;
  text-align:center; padding:0 10px;
}
.single-product .psm-quote-box .psm-quote-row .quantity .minus,
.single-product .psm-quote-box .psm-quote-row .quantity .plus{
  height:44px; line-height:44px; padding:0 12px;
}

/* quote button uses theme pill sizing */
.single-product .psm-quote-box .psm-quote-row .button.psm-add-to-quote{
  display:inline-flex; align-items:center; justify-content:center;
  height:44px; padding:10px 22px; border-radius:9999px;
}
.single-product .psm-quote-box .psm-quote-row .button.psm-add-to-quote:disabled{
  opacity:.7; cursor:not-allowed;
}

/* =========================
   Misc
   ========================= */
.psm-filter:disabled{ background:#f3f3f3; color:#999; cursor:not-allowed; }
.dots{ padding:6px 12px; color:#999; user-select:none; }


/* ===== table sorting UI (compact up/down inside a small pill) ===== */
.psm-product-table th.psm-sortable{
  position:relative;
  padding-right:34px;       /* room for the pill */
  cursor:pointer;
}
.psm-product-table th.psm-sortable .psm-sortbox{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  width:20px; height:24px;
  border:1px solid #e5e7eb; border-radius:4px; background:#f3f4f6;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  pointer-events:none;       /* clicks bubble to the TH */
}
.psm-product-table th.psm-sortable .psm-sortbox .car{
  width:0; height:0; border-left:4px solid transparent; border-right:4px solid transparent;
}
.psm-product-table th.psm-sortable .psm-sortbox .up   { border-bottom:6px solid #9ca3af; }
.psm-product-table th.psm-sortable .psm-sortbox .down { border-top:6px solid #9ca3af; }

/* active direction highlight */
.psm-product-table th.psm-sortable.is-asc  .psm-sortbox .up   { border-bottom-color:#111827; }
.psm-product-table th.psm-sortable.is-desc .psm-sortbox .down { border-top-color:#111827; }

.psm-step-title{
  margin: 18px 0 10px;
  font-size: 18px;
  font-weight: 700;
  color:#111;
}
.psm-step-title span{ font-weight:600; }

#psm-filters .psm-primary-wrap{ position:relative; }
#psm-filters .psm-primary-wrap .psm-required{
  position:absolute; right:10px; top:-8px;
  color:#e11d48; font-weight:700; font-size:14px;
}

/* Prevent background scroll while modal is open */
.psm-cpn-no-scroll { overflow: hidden; }

/* Overlay */
.psm-cpn-overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.35);
  opacity: 0; visibility: hidden;
  transition: opacity .18s ease, visibility .18s ease;
  z-index: 99998;
}
.psm-cpn-overlay.show { opacity: 1; visibility: visible; }

/* Modal */
.psm-cpn-modal {
  position: fixed; inset: 0;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: opacity .18s ease, visibility .18s ease, transform .18s ease;
  z-index: 99999;
}
.psm-cpn-modal.show { opacity: 1; visibility: visible; }

.psm-cpn-modal__content {
  background: #fff;
  max-width: 360px; width: calc(100% - 40px);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
  padding: 18px 18px 14px;
  transform: translateY(8px);
}
.psm-cpn-modal.show .psm-cpn-modal__content { transform: translateY(0); }

.psm-cpn-modal__title { margin: 0 0 6px; font-size: 18px; }
.psm-cpn-modal__msg { margin: 0 0 12px; font-size: 14px; }
.psm-cpn-modal__actions { text-align: right; }
.psm-cpn-btn {
  appearance: none; border: 1px solid #1e7e34; background: #28a745; color: #fff;
  padding: 3px; border-radius: 6px; font-size: 13px; cursor: pointer;
}
.psm-cpn-btn:hover { filter: brightness(0.95); }

/* CPN inline under SKU */
.psm-sku-cell { vertical-align: top; }
.psm-cpn-inline{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:6px;
}
.psm-cpn-label{ font-size:12px; color:#6b7280; }
.psm-cpn{ width:140px !important; max-width:80%; padding:.5rem .75rem; }
.psm-cpn-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; line-height:1;
  border:1px solid #d1d5db; border-radius:8px;
  background:#111827; color:#fff; cursor:pointer; font-size:16px;
}
.psm-cpn-btn[disabled]{ opacity:.6; cursor:not-allowed; }
.psm-cpn-status{ font-size:12px; color:#059669; }
.psm-cpn-saved{ outline:2px solid #10b981; outline-offset:1px; }

/* ——— Red “Request a Quote” buttons ——— */
.psm-add-to-quote,
.psm-quote-btn,
a.psm-request-quote {
  appearance: none;
  background: #dc2626 !important;   /* red */
  color: #fff !important;
  border: 1px solid #b91c1c !important;
  border-radius: 8px;
  padding: 10px 14px;
  line-height: 1.2;
  text-align: center;
  font-weight: 600;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  transition: background .15s ease, border-color .15s ease, opacity .15s ease;
}

.psm-add-to-quote:hover,
.psm-quote-btn:hover,
a.psm-request-quote:hover {
  background: #b91c1c !important;   /* darker red on hover */
  border-color: #991b1b !important;
  color: #fff !important;
}

/* Don’t let theme’s .button.alt override our red on single product */
.single-product .button.alt.psm-add-to-quote,
.single-product .single_add_to_cart_button.psm-add-to-quote {
  background: #dc2626 !important;
  border-color: #b91c1c !important;
  color: #fff !important;
}

/* Disabled/loading state */
.psm-add-to-quote[disabled],
.psm-quote-btn[disabled],
a.psm-request-quote[disabled] {
  opacity: .6;
  cursor: not-allowed;
}

/* Nice fit on product cards (shop loop) */
.products .product .psm-add-to-quote {
  width: 100%;
  margin-top: .5rem;
}

/* Table action cell looks like a button too */
#filtered-product-table a.psm-request-quote {
  min-width: 140px;
}

/* ——— Red “Request a Quote” buttons ——— */
.psm-add-to-quote,
.psm-quote-btn,
a.psm-request-quote {
  appearance: none;
  background: #dc2626 !important;   /* red */
  color: #fff !important;
  border: 1px solid #b91c1c !important;
  border-radius: 8px;
  padding: 10px 14px;
  line-height: 1.2;
  text-align: center;
  font-weight: 600;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  transition: background .15s ease, border-color .15s ease, opacity .15s ease;
}

.psm-add-to-quote:hover,
.psm-quote-btn:hover,
a.psm-request-quote:hover {
  background: #b91c1c !important;   /* darker red on hover */
  border-color: #991b1b !important;
  color: #fff !important;
}

/* Don’t let theme’s .button.alt override our red on single product */
.single-product .button.alt.psm-add-to-quote,
.single-product .single_add_to_cart_button.psm-add-to-quote {
  background: #dc2626 !important;
  border-color: #b91c1c !important;
  color: #fff !important;
}

/* Disabled/loading state */
.psm-add-to-quote[disabled],
.psm-quote-btn[disabled],
a.psm-request-quote[disabled] {
  opacity: .6;
  cursor: not-allowed;
}

/* Nice fit on product cards (shop loop) */
.products .product .psm-add-to-quote {
  width: 100%;
  margin-top: .5rem;
}

/* Table action cell looks like a button too */
#filtered-product-table a.psm-request-quote {
  min-width: 140px;
}

button.psm-cpn-remove {
    padding: 4px 8px;
    font-size: 20px;
    background-color: red;
}

/* My CPN table — vertically center the input + icons */
.psm-my-cpns .shop_table thead th,
.psm-my-cpns .shop_table tbody td { 
  vertical-align: middle;
}

/* Make the CPN cell a flex row and center its children */
.psm-my-cpns .psm-cpn-cell {
  display: flex;
  align-items: center;     /* ← vertical centering */
  gap: 8px;
}

/* Ensure the icon buttons sit perfectly centered and remove theme margins */
.psm-my-cpns .psm-cpn-cell .psm-cpn-btn,
.psm-my-cpns .psm-cpn-cell .psm-cpn-remove {
  margin: 0 !important;    /* kill any top/bottom margins from theme */
  display: inline-flex; 
  align-items: center; 
  justify-content: center;
}

/* If your input is taller, this keeps it visually centered vs 28px icons */
.psm-my-cpns .psm-cpn-cell .psm-cpn {
  line-height: normal;
}

/* OPTIONAL: if you meant horizontal centering within the column too, add: */
/* .psm-my-cpns .psm-cpn-cell { justify-content: center; } */


/* “10000+ Request a Quote” row */
.psm-quote-row td { border-top: 1px solid #eee; }
.psm-quote-row-qty { white-space: nowrap; font-weight: 600; }
.psm-quote-row-btn {
  display: block;
  text-align: center;
  padding: 12px 16px;
  border-radius: 8px;
  background: #dc2626;     /* red */
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
}
.psm-quote-row-btn:hover { filter: brightness(0.95); }

/* “10000+ Request a Quote” row */
.psm-quote-row td { border-top: 1px solid #eee; }
.psm-quote-row-qty { white-space: nowrap; font-weight: 600; }
.psm-quote-row-btn {
  display: block;
  text-align: center;
  padding: 12px 16px;
  border-radius: 8px;
  background: #dc2626;     /* red */
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
}
.psm-quote-row-btn:hover { filter: brightness(0.95); }

/* Action cell: stack buttons on the right */
.psm-actions-stack{
  display:flex; flex-direction:column; align-items:flex-end; gap:6px;
}

/* Make both buttons the same width (auto-falls back if width can't be read) */
.psm-actions-stack .button{ min-width: 96px; }

/* Red Quote pill */
.psm-quote-chip{
  background:#ef4444!important; border-color:#ef4444!important; color:#fff!important;
  border-radius:6px; padding:6px 10px; font-size:12px; line-height:1.1;
}
.psm-quote-chip:hover{ background:#dc2626!important; border-color:#dc2626!important; }
td.psm-sku-cell {
    width: 220px;
}

.psm-actions-stack .button {
    min-width: 100%;
    border-radius: 0;
}

.psm-add-to-cart {
    font-size: 11px;
    text-transform: Uppercase;
}

/* Product card: full-width blue Add to Cart (if theme doesn't already) */
.woocommerce ul.products li.product .button.add_to_cart_button{
  width:100%;
  border-radius:9999px;
  font-weight:700;
}

/* Product card: smaller red Request a Quote under Add to Cart */
.woocommerce ul.products li.product .psm-card-quote{
  display:block;
  width:78%;                 /* smaller than Add to Cart */
  margin:8px auto 0;         /* centered beneath it */
  padding:10px 14px;
  border-radius:9999px;
  background:#ef4444; border:1px solid #ef4444; color:#fff;
  text-transform:uppercase; font-weight:700; font-size:12px; line-height:1.1;
}
.woocommerce ul.products li.product .psm-card-quote:hover{
  background:#dc2626; border-color:#dc2626;
}

button.button.psm-add-to-quote.psm-card-quote {
    padding: 1px !important;
}

/* === PSM overrides: CTA colors & sizing === */

/* Add To Cart — blue everywhere */
.single-product .single_add_to_cart_button,
.woocommerce a.button.add_to_cart_button,
.woocommerce button.button.add_to_cart_button,
#filtered-product-table a.psm-add-to-cart {
  background: #1d4ed8 !important;      /* blue */
  border: 1px solid #1d4ed8 !important;
  color: #fff !important;
  text-transform: uppercase;
  font-weight: 700;
  padding: 6px 6px;
}
.single-product .single_add_to_cart_button:hover,
.woocommerce a.button.add_to_cart_button:hover,
.woocommerce button.button.add_to_cart_button:hover,
#filtered-product-table a.psm-add-to-cart:hover {
  background: #1e40af !important;      /* darker on hover */
  border-color: #1e40af !important;
}
.single-product .single_add_to_cart_button:active,
.woocommerce a.button.add_to_cart_button:active,
.woocommerce button.button.add_to_cart_button:active,
#filtered-product-table a.psm-add-to-cart:active,
.woocommerce a.button.add_to_cart_button.added,
.woocommerce button.button.add_to_cart_button.added {
  background: #1e3a8a !important;      /* darkest when selected */
  border-color: #1e3a8a !important;
}

/* Request a Quote — red everywhere */
.psm-add-to-quote,
.psm-quote-btn,
a.psm-request-quote,
.woocommerce ul.products li.product .psm-card-quote,
.psm-quote-row-btn {
  background: #dc2626 !important;     /* red */
  border: 1px solid #b91c1c !important;
  color: #fff !important;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 0px;
}
.psm-add-to-quote:hover,
.psm-quote-btn:hover,
a.psm-request-quote:hover,
.woocommerce ul.products li.product .psm-card-quote:hover,
.psm-quote-row-btn:hover {
  background: #b91c1c !important;     /* dark red */
  border-color: #991b1b !important;
}
.psm-add-to-quote:active,
.psm-quote-btn:active,
a.psm-request-quote:active {
  background: #991b1b !important;     /* darkest when selected */
  border-color: #7f1d1d !important;
}

/* Product page sizing + label */
.single-product .psm-quote-box .psm-quote-row .quantity input.qty,
.single-product .psm-quote-box .psm-quote-row .quantity .minus,
.single-product .psm-quote-box .psm-quote-row .quantity .plus {
  height: 46px;
  line-height: 46px;
}
.single-product .psm-quote-box .psm-quote-row .button.psm-add-to-quote {
  height: 46px;
  padding: 0 24px;
}

/* Make table Action column buttons full-width & aligned */
#filtered-product-table .psm-actions-stack .button,
#filtered-product-table a.psm-request-quote,
#filtered-product-table a.psm-add-to-cart {
  width: 120px;
}

/* Optional: ensure small table Add to Cart text size is readable */
#filtered-product-table a.psm-add-to-cart {
  font-size: 12px;
}

/* Always show the Request a Quote button, even if inline style said display:none */
.psm-card-quote.button,
.psm-add-to-quote.button {
  display: inline-block !important;
  width: 100%;
  margin-top: 8px;
  text-align: center;
}

/* Colors you asked for */
.add_to_cart_button.button,
.single_add_to_cart_button.button,
.psm-add-to-cart {
  background: #1976d2;      /* blue */
  border-color: #1976d2;
  color: #fff;
}
.add_to_cart_button.button:hover,
.single_add_to_cart_button.button:hover,
.psm-add-to-cart:hover {
  background: #0d47a1;      /* dark blue */
  border-color: #0d47a1;
}

.psm-card-quote.button,
.psm-quote-btn.button,
.single-product .psm-add-to-quote.button {
  background: #d32f2f;      /* red */
  border-color: #d32f2f;
  color: #fff;
}
.psm-card-quote.button:hover,
.psm-quote-btn.button:hover,
.single-product .psm-add-to-quote.button:hover {
  background: #b71c1c;      /* dark red */
  border-color: #b71c1c;
}

/* Slightly larger buttons on the product page */
.single-product .single_add_to_cart_button.button
{
  font-size: 13px;
  padding: 10px 14px;
}
.single-product .psm-add-to-quote.button {
  font-size: 13px;
}

/* Banner under WholesaleX table */
.psm-10k-banner{
  margin-top:12px; display:flex; align-items:center; gap:12px;
}
.psm-10k-pill{
  display:inline-block; padding:10px 12px; border-radius:9999px;
  background:#f3f4f6; font-weight:600;
}
.psm-10k-quote-btn{
  display:inline-block; padding:10px 16px; border-radius:9999px;
  background:#e11d48; color:#fff; text-decoration:none;
}

/* base */
.visually-hidden{
  position:absolute !important; clip:rect(1px,1px,1px,1px); clip-path: inset(50%);
  height:1px; width:1px; overflow:hidden; white-space:nowrap;
}

.pt1-custom-select{ position:relative; max-width:100%; }
.pt1-trigger{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  background:#f6f6f6; border:1px solid #e5e7eb; border-radius:999px;
  padding:12px 16px; font-weight:600; cursor:pointer;
}
.pt1-caret{ margin-left:8px; }

.pt1-menu{
  display:none; position:absolute; left:0; right:0; top:calc(100% + 8px);
  background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 12px 32px rgba(0,0,0,.12);
  max-height:380px; overflow:auto; padding:8px;
  z-index:99;
}
.pt1-custom-select[aria-expanded="true"] .pt1-menu{ display:block; }

/* option rows */
.pt1-option{
  display:flex; align-items:center; gap:12px;
  padding:10px 12px; border-radius:10px; cursor:pointer;
}
.pt1-option:hover{ background:#f3f4f6; }
.pt1-option[aria-selected="true"]{ background:#eef2ff; }

.pt1-option img{
  width:36px; height:36px; object-fit:contain; border-radius:6px; background:#fafafa;
}
.pt1-option-title{ font-weight:600; font-size:14px; color:#111827; }

/* mobile: full width drop */
@media (max-width:640px){
  .pt1-menu{ position:static; max-height:unset; box-shadow:none; }
}

button.button.psm-add-to-quote.psm-quote-btn {
    padding: 0 10px !important;
    min-height: 36px !important;
}

/* 10k inline strip (2 columns) */
.psm-10k-inline{border:1px solid #E5E5E5;border-radius:8px;overflow:hidden;margin:14px 0;background:#fff}
.psm-10k-grid{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;align-items:center}
.psm-10k-cell{padding:12px 14px}
.psm-10k-inline .qty{background:#F7F7F7;font-weight:600}
.psm-10k-inline .cta{text-align:right}
@media (max-width:480px){
  .psm-10k-grid{grid-template-columns:1fr}
  .psm-10k-inline .cta{text-align:left}
	.psm-10k-cell.rq {
  width: 250px !important;
}
}

.psm-10k-cell.rq {
  text-align: center;
  width: 400px;
}

/* 10k strip — mobile horizontal scroll */
.psm-10k-inline{
  width:100%;
  overflow-x:auto;              /* enable horizontal scroll */
  -webkit-overflow-scrolling:touch; /* momentum scroll on iOS */
}

.psm-10k-inline .psm-10k-grid{
  display:inline-flex;          /* lays cells in a row that can scroll */
  gap:12px;
  min-width:440px;              /* force content wider than small screens */
  padding:8px 6px;
}

.psm-10k-inline .psm-10k-cell{
  flex:0 0 auto;                /* prevent shrinking so they stay side-by-side */
  white-space:nowrap;           /* keep labels on one line */
}

/* On wider screens, disable the scroll behavior */
@media (min-width:640px){
  .psm-10k-inline{ overflow-x:visible; }
  .psm-10k-inline .psm-10k-grid{ min-width:0; }
}

@media (min-width: 992px) {
.woocommerce div.product .summary form.cart .single_add_to_cart_button {
justify-self: center !important;
}
}
@media (min-width: 992px) {
.woocommerce div.product .summary form.cart .psm-add-to-quote {
    justify-self: center !important;
    }
}


.woocommerce-cart .return-to-shop a.button  {
    line-height: 8px !important;
    height: 50px !important;
}

#psm-related-attributes {
  display: none;
}

/* Quantity +/- inside product search table */
.psm-product-table td .psm-qty-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #ccc;
  border-radius: 9999px;
  background: #fff;
  overflow: hidden;
  height: 36px;
  width: 200px;
}

.psm-product-table td .psm-qty-wrap input {
  flex: 1;
  text-align: center;
  border: none;
  outline: none;
  font-size: 14px;
  font-weight: 600;
  background: transparent;
}

.psm-product-table td .psm-qty-wrap button {
  background: none;
  border: none;
  width: 36px;
  height: 36px;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  line-height: 1;
  color: #333;
}

.psm-product-table td .psm-qty-wrap button:hover {
  background: #f3f3f3;
}

/* Quantity +/- inside product search table */
.psm-product-table td .number-button{
  display:inline-flex; align-items:center;
  border:1px solid #ccc; border-radius:200px; overflow:hidden;
  background:#fff; height:36px;
}
.psm-product-table td .number-button input.qty{
  width:56px; text-align:center; border:0; outline:0; font-size:14px; background:transparent;
}
.psm-product-table td .number-button input.minus,
.psm-product-table td .number-button input.plus{
  width:36px; height:36px; font-size:14px;
  border:0;  cursor:pointer; line-height:1;background: white;
}

.psm-qty {
  border: 0px white !important;
}

/* Qty input inside our pill control (table only) */
.psm-product-table td .number-button input.psm-qty {
  width: 56px;           /* fits 5 digits well */
  text-align: center;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  box-sizing: border-box;
}

/* hide native steppers so only – / + show */
.psm-product-table td .number-button input.psm-qty::-webkit-inner-spin-button,
.psm-product-table td .number-button input.psm-qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.psm-product-table td .number-button input.psm-qty { -moz-appearance: textfield; appearance: textfield; }

#filtered-product-table a.psm-request-quote {
    width: 100% !important;
    margin-top: 10px;
}

a.psm-request-quote.psm-add-to-quote {
    padding: 5px;
}