/* Q Wholesale storefront. Inherits the theme's fonts; uses the Q purple only as a light accent. */
.qws-price { display: inline-flex; flex-direction: column; gap: 2px; line-height: 1.4; }
.qws-price__label { font-size: .8em; font-weight: 600; opacity: .75; }
.qws-price__retail del { opacity: .6; }
.qws-price__wholesale ins { text-decoration: none; font-weight: 700; }
.qws-price__save { font-size: .85em; color: #157347; font-weight: 600; }
.qws-price__min { font-size: .8em; opacity: .75; }
.qws-tiers { width: 100%; max-width: 420px; margin: 0 0 1.25em; border-collapse: collapse; font-size: .92em; }
.qws-tiers caption { margin-bottom: .4em; text-align: left; font-weight: 700; }
.qws-tiers th, .qws-tiers td { padding: .45em .7em; border-bottom: 1px solid rgba(32, 34, 46, .1); text-align: left; }
.qws-tiers thead th { font-size: .8em; text-transform: uppercase; letter-spacing: .06em; opacity: .7; }
.qws-tiers tr.is-active td { background: #f1edff; font-weight: 700; }
.qws-tiers tr.is-active td:first-child { box-shadow: inset 3px 0 0 #5d2bff; }

/* Registration form */
.qws-register__fields { display: flex; flex-wrap: wrap; gap: 0 4%; }
.qws-register__fields .form-row { float: none; width: 100%; margin: 0 0 1em; }
.qws-register .qws-register__fields .form-row.qws-field--half { width: 48%; margin-right: 0; }
.qws-register__fields label { display: block; margin-bottom: .3em; font-weight: 600; }
.qws-register__fields input.input-text, .qws-register__fields select, .qws-register__fields textarea { width: 100%; box-sizing: border-box; }
.qws-register__fields .description { display: block; margin-top: .3em; font-size: .85em; opacity: .7; }
.qws-register__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.qws-register__login { margin-top: .5em; font-size: .92em; }
.qws-captcha { margin: 0 0 1em; }
.qws-status-card { padding: 1.25em 1.5em; border: 1px solid rgba(32, 34, 46, .1); border-left: 4px solid #9a6700; border-radius: 8px; background: #fff; }
.qws-status-card--approved { border-left-color: #157347; }
.qws-status-card__badge { margin: 0 0 .4em; font-size: .78em; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #9a6700; }
.qws-status-card--approved .qws-status-card__badge { color: #157347; }
.qws-register-link { margin-top: 1em; }
@media (max-width: 600px) { .qws-register .qws-register__fields .form-row.qws-field--half { width: 100%; } }

/* Quick order form */
.qws-order-form__filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 1em; }
.qws-order-form__filters input[type=search] { flex: 1 1 240px; }
.qws-order-form__table-wrap { overflow-x: auto; }
.qws-order-form__table { width: 100%; border-collapse: collapse; }
.qws-order-form__table th, .qws-order-form__table td { padding: .6em .7em; border-bottom: 1px solid rgba(32, 34, 46, .1); text-align: left; vertical-align: middle; }
.qws-order-form__table thead th { font-size: .8em; text-transform: uppercase; letter-spacing: .06em; opacity: .7; }
.qws-order-form.is-loading .qws-order-form__table { opacity: .5; }
.qws-of-product-inner { display: flex; align-items: center; gap: .75em; }
.qws-of-product-inner img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; }
.qws-of-info { display: flex; flex-direction: column; }
.qws-of-name { font-weight: 600; }
.qws-of-sku, .qws-of-tiers { font-size: .8em; opacity: .7; }
.qws-of-tiers { display: block; margin-top: .2em; }
.qws-of-stock { font-size: .8em; color: #b42318; }
.qws-of-price .qws-price { font-size: .95em; }
.qws-of-qty input { width: 5.5em; }
.qws-of-total { text-align: right !important; font-variant-numeric: tabular-nums; white-space: nowrap; }
.qws-of-variation td:first-child { padding-left: 2.5em; }
.qws-of-toggle { padding: .4em .8em; font-size: .85em; cursor: pointer; background: none; border: 1px solid currentColor; border-radius: 6px; }
.qws-of-empty { padding: 2em !important; text-align: center !important; opacity: .7; }
.qws-order-form__pages { display: flex; flex-wrap: wrap; gap: 4px; margin: 1em 0; }
.qws-order-form__pages .is-current { background: #5d2bff; color: #fff; }
.qws-order-form__bar { position: sticky; bottom: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 1em; padding: .8em 0; background: inherit; }
.qws-order-form__summary { margin: 0 auto 0 0; font-weight: 700; }
.qws-order-form__message { margin: 0; }
.qws-of-error { color: #b42318; }
/* Quotes and lists */
.qws-add-to-quote { margin-left: .5em !important; }
.qws-quote__table input.qty { width: 5em; }
.qws-quote__status { display: inline-block; margin-left: .5em; padding: .2em .6em; font-size: .55em; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; vertical-align: middle; border-radius: 999px; background: #f1edff; color: #5d2bff; }
.qws-quote__status--accepted { background: #e9f8f0; color: #157347; }
.qws-quote__status--declined, .qws-quote__status--expired { background: #eff1f4; color: #68778b; }
.qws-quote__note { padding: 1em; background: #f3f5fe; border-radius: 8px; }
.qws-quote__actions, .qws-list__actions { display: flex; flex-wrap: wrap; gap: .5em; }
.qws-save-list { display: flex; flex-wrap: wrap; gap: .5em; margin: 1em 0; }
.qws-save-list input { flex: 1 1 200px; }
.qws-inline-form { margin: 0; }
.qws-muted { opacity: .7; font-size: .9em; }
.qws-list__table input.qty { width: 5em; }

/* Promote wholesale */
.qws-promo-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5em 1em; padding: .6em 3em .6em 1em; position: relative; z-index: 999; background: var(--qws-promo-bg, #20222e); color: var(--qws-promo-fg, #fff); font-size: .92em; line-height: 1.4; text-align: center; }
.qws-promo-banner--fixed { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99999; }
.qws-promo-banner__text { margin: 0; }
.qws-promo-banner__button { display: inline-block; padding: .3em .9em; color: var(--qws-promo-bg, #20222e) !important; background: var(--qws-promo-fg, #fff); border-radius: 999px; font-weight: 700; text-decoration: none !important; white-space: nowrap; }
.qws-promo-banner__close { position: absolute; top: 50%; right: .6em; transform: translateY(-50%); padding: 0 .3em; color: inherit; font-size: 1.4em; line-height: 1; background: none; border: 0; cursor: pointer; opacity: .8; }
.qws-promo-banner__close:hover, .qws-promo-banner__close:focus { opacity: 1; }
.qws-promo-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75em; margin: 1em 0; padding: .9em 1em; border: 1px dashed rgba(32, 34, 46, .25); border-radius: 8px; }
.qws-promo-cta p { margin: 0; flex: 1 1 220px; }
/* Activation */
.qws-activate h3 { margin-top: 1.5em; }
